计算机论文哪里有?本文针对数据集不足的问题,提出了一种基于 Appium 可跨平台的自动化操作手机的移动应用行为流量采集方式,实现了对于目标应用行为的自动化大量采集,实验表明该方法采集到的数据集可以在实验中被有效使用,为后续的研究提供数据基础。
第一章 绪论
1.2 国内外研究现状
移动端的网络流量分析还属于一个比较新的研究方向,目前的研究工作主要集中在移动应用类别的识别方面,本文的移动应用行为识别的许多研究方法也都继承于应用的类别检测,图 1.2 展示了网络流量分析的一般步骤。本小节将从应用类别识别和行为识别两个角度介绍研究现状。
对于应用的类别识别,传统的方法就是基于端口号和基于载荷的识别技术。基于端口号的识别技术主要依靠固定端口对应固定的移动应用来进行识别,这个技术只能在早期端口固定的时期使用,随着端口转发技术和 NAT 技术的发展,这种方法经 Moore 等人的实验发现,识别精度在 UDP 流量中以不足 30%。基于载荷的识别技术是基于深度报文检测技术的依赖分析载荷的负载模式,通过匹配算法进行待识别流量的检测,当然这种方法并不适用于流量加密的情况,而现在处于安全的考虑,大部分移动应用都采取了流量加密的形式进行传输,因此基于深度包检测的技术在现在使用的很少。
为了解决流量加密和流量特征提取困难的问题,基于机器学习的方法[4-5]开始渐渐被广泛使用,当然到目前为止,基于机器学习的流量识别方式依然是使用最多的方式。Coull 和 Dyer[6]等人在研究 i message 的用户产生的流量时,尽管 i message 对流量进行了加密的处理,但是通过分析例如用户与苹果服务器交互时产生的网络数据包的大小等侧边信息,就可以获取用户的相关操作,例如可以识别出消息的长度、语言的种类等,同时,对于发消息的行为,包括输入状态和阅读状态等五种行为进行了区分,正确率在百分之九十以上。这就意味着尽管有加密技术,还是能通过一些分析手段对流量进行识别。
第三章 基于 Appium 自动化框架的数据采集
3.1 移动应用行为数据集
现在大部分对于网络数据流的研究和分析针对移动端应用的还不算很多,针对移动应用行为的分析更是寥寥,而且目前大部分的研究人员对于行为识别的研究基本关注于对通信模式的建模,因此想要获取用户使用时移动应用产生的原始网络流量还比较困难。
本文先查找了目前各大知名公开数据集网站和国内外知名期刊论文的公开数据集,搜集到了 Andrubis 数据集,一个包含 103 万个包含安卓移动应用和标注的流量数据,并且是pcap 的格式,还对恶意应用和正常应用进行了区分,但是该数据集并没有对单独的应用行为进行描述,因此不能直接使用,此外大部分的移动应用数据集也都同 Andrubis 数据集一样。 观察同样研究移动应用行为识别的其他研究人员的论文,在做应用识别时可以直接用网上开源的数据集,但是涉及到行为分类,大都使用的是自行采集到的移动应用行为数据集。
本章提出了一种使用自动化测试工具操作真机的方式来进行移动应用行为流量的采集,该方法对于行为流量的划分和清洗更易于实现,同时可以实现跨平台跨应用操作,简单便捷易于扩展。
第五章 基于元学习的移动应用行为识别
5.1 基于元学习的移动应用行为识别
5.1.1 技术框架
目前对于移动应用网络数据流的分析大多是实现移动应用的识别,在用户行为识别领域,燕鹏飞等人专注于微信的行为识别,包括单个行为识别和阶段性的行为识别,利用网络的原始流量作为输入,从整体性描述信息、报文长度分布以及最长单调子序列三个角度采集特征,使用随机森林的机器学习算法进行行为识别,最后取得了很好的识别效果。在小样本流量识别领域,目前还没有研究人员对移动应用小样本情况下的网络数据流的行为识别进行研究,但是在利用小样本网络数据流分析恶意流量方面,许聪源[52]等人将网络数据流进行预处理后转化为灰度图,利用元学习的学习框架,在流量的五分类问题上取得了很好的研究效果,由此可见,利用网络数据流转化为图像的方式能够实现小样本情况下的识别任务。
本文采用的是基于 base model 的元学习实现方法,如图 5.1 所示,同时进行多个任务的训练,然后依据不同任务的合成方向来进行更新整个学习器的参数,元学习的这种训练方式的目的是,学习器的参数能够单个的任务训练后实现快速收敛,解决新识别任务冷启动的问题。基于元学习的移动应用行为识别的整体技术框架在特征提取和识别方面的模块与第四章类似,为了解决小样本的问题,同时希望本文的移动应用行为识别模型能够有更好的泛化性能,本文采取了元学习框架的应用行为识别方法,实现在仅有少量样本的情况下进行识别。
5.2 小样本识别任务描述
通过观察人类自身识别待识别事物的过程来看,我们可以得出两点可以学习的方向,第一是我们在学习事物时不需要大量的样本,即使在少量样本或者甚至是单个样本、零样本的情况下,都能够对事物有很好的辨别能力,这是因为人类在观察物品时,能够自发地找到某类别事物的重要特征并且能够将其与其它事物进行对比,了解事物之间的差异性。第二是,我们能够在仅有少量样本的情况下快速学习新事物的辨别方式,是因为我们在学习时是有先验知识,能够进行迁移学习,在本质不变的情况下,就能对同一类型的事物快速掌握。
依据这两点学习方向,将它们用在行为识别领域能够带来很大的好处,首先是移动应用行为当中,同时移动应用换代的速度也很快,应用下架对应的识别模型也失去了意义,消耗了很多计算资源,另一方面,应用市场庞大,我们不可能对每种应用的每种行为去设计识别模型,因此,本文结合了元学习的概念,提出了一种基于元学习的移动应用行为识别方式,应用于小样本场景下的行为识别,包含正常的行为和恶意的行为,实现了仅需要少量样本就可以进行移动应用的行为识别。
本文使用的是基于 base model 的元学习,一般的深度学习是将训练数据分为不同的批次,而对于元学习而言,是将训练数据分为不同的 Task,用于训练的 Task 称为 Training Task T ={T1,T2,T3...},而在每一个 Task 里又分为了 Support set 和 Query set,Support set 就对应了传统深度学习中的训练数据集,Query set 则对应了测试数据集,那么在每一轮训练中,对于当前 task,使用 support set 来训练这个模型在用 query set 去验证计算误差来更新学习器的参数。用于测试的 Task 我们称为 Testing Task,那么对于这一部分的 Task 而言,也是分为了两个 set,采样集 sample set 和待识别的 query set,一个用于在 F 上训练找到一个适合这个识别任务的f,一个用于在实际的识别器上进行识别,用来检验这个产生的 f 的识别效果,从来评价这个F 的学习能力。
第六章 总结与展望
6.1 工作总结
近些年,随着 5G 时代的到来,移动应用市场发展蓬勃,移动设备的网络流量分析渐渐受到越来越多研究人员的关注,其中就包括了移动应用的行为识别,通过对网络流量的分析进行应用行为识别,可以从侧面塑造用户形象,从而提供更个性化的服务,同时,可以满足在特定场所的管理需求,提高网络管理服务质量。
早期移动端网络流量的识别是基于端口和基于 DPI 深度包检测的流量识别方法,这两种方法都是基于规则的,是依靠研究人员制定的规则来进行匹配和识别;而后,基于统计的方法是属于传统的机器学习的方法,仍需要研究人员选择特征,模型才能依据既定的特征对待识别样本进行分类,同时,越来越多的移动应用使用了加密技术,使用深度学习可以避免这些需要进行特征设计和加密流量的问题,那么在流量识别的领域我们同样能够借助深度学习来帮助我们进一步提高流量识别的能力。本文研究的方向是移动应用的行为识别技术,研究内容重点分为了三个部分:数据集的自动化采集和构建、基于注意力机制的移动应用行为识别技术研究和小样本场景下利用元学习进行移动应用行为识别技术研究。
针对数据集不足的问题,提出了一种基于 Appium 可跨平台的自动化操作手机的移动应用行为流量采集方式,实现了对于目标应用行为的自动化大量采集,实验表明该方法采集到的数据集可以在实验中被有效使用,为后续的研究提供数据基础。
为了解决传统行为识别中存在的,需要人工设计特征或制定规则的问题,提出了采用深度学习的方式,将原始流量转化为灰度图直接进行特征学习。同时,针对移动应用行为中存在相似流量的问题,并且为了提高行为识别的准确率和效率,提出了使用深度可分离卷积结合双域注意力机制的方式构建行为识别模型,在实验中表明,这种方法在实验准确率方面较现有方法有了很大的提高,同时模型的计算量被大大减少,提高了识别的效率,当然最重要的是,通过这种方式,让模型有了可以自动学习流量特征的能力,解决了机器学习方法中先不要人工设计特征的问题。
参考文献(略)