基于深度学习的移动应用行为识别

发布时间:2022-04-28 18:55:45 论文编辑:vicky

本文是一篇计算机论文,笔者针对数据集不足的问题,提出了一种基于 Appium 可跨平台的自动化操作手机的移动应用行为流量采集方式,实现了对于目标应用行为的自动化大量采集,实验表明该方法采集到的数据集可以在实验中被有效使用,为后续的研究提供数据基础。


第一章  绪论


1.1 研究背景和目的

科技的飞速发展给我们的生活带来了日新月异的变化,随着芯片技术的进步和 5G 技术的发展,我们迎来了智能手机时代,现今我们小小的智能设备就可以满足甚至超越我们曾经对于未来的想象。如图 1 展示了 2015-2020.3 中国即时通信用户规模与手机即时通信用户规模的变化,事实上手机的功能不限于通讯,现在,我们利用手机上各式各样的移动应用就可以完成通讯、办公、娱乐等诸多功能,据中国电信调查统计,截至 2019 年 12 月,手机应用最多的用户群体年龄为 15-19 岁,高达 84 款移动应用,其次为 20-29 岁的手机用户,平均拥有 65 款手机应用,60 岁及以上的手机网民平均拥有 37 款应用,支付宝、淘宝、微信等应用软件更是人手必备。随着 5G 带给我们更高的网速更低的延迟,以后的移动应用实现云存储将是一个发展大趋势,也会给手机应用带来巨大的发展生机。 

计算机论文参考

这些智能设备给我们带来便利的同时也承载着我们越来越多的个人信息和隐私数据。我们使用的移动应用大多是需要接入互联网的,因此网络流量成为了我们隐私数据传输的载体。近些年,关于移动设备的网络流量分析渐渐受到越来越多研究人员的关注,对移动应用网络流量分析[1-3]的目的主要有以下几点:

(1) 设备信息推断。通过分析网络流量来判断用户使用设备的操作系统类型和操作系统版本,这些可被黑客利用进行用户攻击或者是服务于市场调研;

(2) 应用程序信息推断。通过研究移动应用网络流量的模式,形成应用指纹,从而实现移动应用的应用识别,包括正常应用的识别和恶意应用的识别;

.....................


1.2  国内外研究现状

移动端的网络流量分析还属于一个比较新的研究方向,目前的研究工作主要集中在移动应用类别的识别方面,本文的移动应用行为识别的许多研究方法也都继承于应用的类别检测,图 1.2 展示了网络流量分析的一般步骤。本小节将从应用类别识别和行为识别两个角度介绍研究现状。

对于应用的类别识别,传统的方法就是基于端口号和基于载荷的识别技术。基于端口号的识别技术主要依靠固定端口对应固定的移动应用来进行识别,这个技术只能在早期端口固定的时期使用,随着端口转发技术和 NAT 技术的发展,这种方法经 Moore 等人的实验发现,识别精度在 UDP 流量中以不足 30%。基于载荷的识别技术是基于深度报文检测技术的依赖分析载荷的负载模式,通过匹配算法进行待识别流量的检测,当然这种方法并不适用于流量加密的情况,而现在处于安全的考虑,大部分移动应用都采取了流量加密的形式进行传输,因此基于深度包检测的技术在现在使用的很少。

为了解决流量加密和流量特征提取困难的问题,基于机器学习的方法[4-5]开始渐渐被广泛使用,当然到目前为止,基于机器学习的流量识别方式依然是使用最多的方式。Coull 和 Dyer[6]等人在研究 i message 的用户产生的流量时,尽管 i message 对流量进行了加密的处理,但是通过分析例如用户与苹果服务器交互时产生的网络数据包的大小等侧边信息,就可以获取用户的相关操作,例如可以识别出消息的长度、语言的种类等,同时,对于发消息的行为,包括输入状态和阅读状态等五种行为进行了区分,正确率在百分之九十以上。这就意味着尽管有加密技术,还是能通过一些分析手段对流量进行识别。

上述方法都是使用的传统的分步策略,而目前深度学习已经渐渐开始取代手工设计特征的过程。Wang[9]等人提出将原始的网络数据流量直接作为输入,使用一种基于栈式自编码器SAE 的识别方法,开启了端到端方法识别流量的先河。王伟[10]等人同样是将原始的网络数据流量直接作为输入,结合卷积神经网络来输出模型的分类结果,将网络流量的识别很好地与深度学习结合到了一起,并且取得了很好的实验效果。这也证明,深度学习在流量识别领域已经开始渐渐崭露头角,相比于传统的方法,实验的识别准确率更高,且有一定的泛化性。


第二章  相关技术基础


2.1 深度可分离卷积

深度可分离卷积(depthwise separable convolution)由两个部分组成,分别是逐通道卷积(depthwise,DW)和逐点卷积(pointwise,PW)组成[22],同传统的卷积神经网络一样,它们的作用都是用来提取输入的特征图信息,但是相比于常规的卷积神经网络,深刻可分离卷积的好处是在相对保持准确率的情况下,可以降低计算参数量,节约计算资源[23]。

2.1.1  常规卷积操作

卷积神经网络[24-25]在人工智能领域一直是大家研究的重点,它在语音识别、图像识别、自然语言处理等很多领域都能实现很好的效果,概括来说,卷积神经网络解决了传统机器学习手动设计特征的问题,通过直接学习原始数据[26],并自主学习提取特征实现表征学习,在卷积神经网络中最基础的操作就是卷积。

对于常规的卷积操作如图 2.2,我们假设输入的大小为高为 H,宽为 W,通道数为 C,并且假设有 k 个 3*3 的卷积核,设置 pad=1,stride=1,则普通卷积此时的输出大小为:H*W*k,需要进行的计算参数量为:H*W*C*K*3*3。


2.2  注意力机制

在深度学习领域里,很多深度学习的思路都是启发自人类的思维模式[34],从注意力机制的名字来看就是由人类学习时的注意力启发得到。人类在进行视觉观察时,通过扫描全局图像,结合图像的观察目标[35],会自动学习到图像中需要重点观察的目标区域,并且对目标区域更加仔细观察从而获得更多有用的细节信息,而对非目标区域降低观察力度,从而能够实现不浪费观察资源,提高观察速度[32]。

视觉注意力是人类在长期的进化和发展过程中形成的一种独特的大脑信号处理机制,这种注意力机制极大的提高了人类对于大量信息的处理能力和准确率。

深度学习中的神经网络就与人类的学习方式一脉相承,对输入的原始数据进行逐层学习,通过收集并分析得到的高层次的特征对数据进行分类或识别。而注意力机制也属于深度学习的一个方法,常常搭配神经网络一起使用,实现从大量信息中迅速抓到终点信息进行分析的目的。

依据输入生成输出其实就是一个 seq2seq 的模型,每一个输入对输出都有相同的权重,相同的贡献力度[36],因此传统的 Encoder-Decoder 是注意力分散的,但是在实际的场景中,句子输入的每一个分量对于句子的输出是有着不同的贡献程度的[37-38],例如输入 X:我有一本书,预期的输出是:I have a book。在翻译“书”的时候,如果是传统的编码-解码模型,那么前面的单词“我”,“有”和“一本”对于“书”的翻译,贡献程度是一样的,然而实际情况是“一本”这个数量词的贡献程度更大,因为将书翻译成 book 还是 books 是由前面的数量词“一本”决定的。可以假设,在翻译最后一个单词是,应有一个类似这样的权重分布:(我,0.1)(有,0.1)(一本,0.4)(书:0.4)。

那么注意力机制就是致力于研究这个问题,即给不同的分量赋予不同的注意力大小,即权重,并且这个权重是会跟随当前输出的不同,赋予输入的分量不同的注意力[39]。概括来说,注意力机制的核心就是,将中间固定的语义 C 表示成了根据当前输出来调整成加入注意力变化的 Ci。如图 2.6,展示了加入注意力机制的编码-解码模型。


第三章 基于 Appium 自动化框架的数据采集 ......................................... 19

3.1 移动应用行为数据集 ....................................... 19

3.2 基于 Appium 的移动应用行为数据采集 ........................... 19

第四章  基于 DSFA 的移动应用行为识别 .............................. 28

4.1  基于注意力机制的移动应用行为识别 .............................. 28

4.1.1  技术框架 ..................................... 28

4.1.2  深度可分离卷积 .................................... 29 

第五章  基于元学习的移动应用行为识别 ........................................ 41

5.1 基于元学习的移动应用行为识别 .................................... 41

5.1.1 技术框架 ........................................... 41

5.1.2  元学习任务抽样 ........................... 42 


第五章  基于元学习的移动应用行为识别


5.1 基于元学习的移动应用行为识别

5.1.1 技术框架

目前对于移动应用网络数据流的分析大多是实现移动应用的识别,在用户行为识别领域,燕鹏飞等人专注于微信的行为识别,包括单个行为识别和阶段性的行为识别,利用网络的原始流量作为输入,从整体性描述信息、报文长度分布以及最长单调子序列三个角度采集特征,使用随机森林的机器学习算法进行行为识别,最后取得了很好的识别效果。在小样本流量识别领域,目前还没有研究人员对移动应用小样本情况下的网络数据流的行为识别进行研究,但是在利用小样本网络数据流分析恶意流量方面,许聪源[52]等人将网络数据流进行预处理后转化为灰度图,利用元学习的学习框架,在流量的五分类问题上取得了很好的研究效果,由此可见,利用网络数据流转化为图像的方式能够实现小样本情况下的识别任务。


计算机论文怎么写

本文采用的是基于 base model 的元学习实现方法,如图 5.1 所示,同时进行多个任务的训练,然后依据不同任务的合成方向来进行更新整个学习器的参数,元学习的这种训练方式的目的是,学习器的参数能够单个的任务训练后实现快速收敛,解决新识别任务冷启动的问题。基于元学习的移动应用行为识别的整体技术框架在特征提取和识别方面的模块与第四章类似,为了解决小样本的问题,同时希望本文的移动应用行为识别模型能够有更好的泛化性能,本文采取了元学习框架的应用行为识别方法,实现在仅有少量样本的情况下进行识别。

......................


第六章 总结与展望


6.1  工作总结

近些年,随着 5G 时代的到来,移动应用市场发展蓬勃,移动设备的网络流量分析渐渐受到越来越多研究人员的关注,其中就包括了移动应用的行为识别,通过对网络流量的分析进行应用行为识别,可以从侧面塑造用户形象,从而提供更个性化的服务,同时,可以满足在特定场所的管理需求,提高网络管理服务质量。

早期移动端网络流量的识别是基于端口和基于 DPI 深度包检测的流量识别方法,这两种方法都是基于规则的,是依靠研究人员制定的规则来进行匹配和识别;而后,基于统计的方法是属于传统的机器学习的方法,仍需要研究人员选择特征,模型才能依据既定的特征对待识别样本进行分类,同时,越来越多的移动应用使用了加密技术,使用深度学习可以避免这些需要进行特征设计和加密流量的问题,那么在流量识别的领域我们同样能够借助深度学习来帮助我们进一步提高流量识别的能力。本文研究的方向是移动应用的行为识别技术,研究内容重点分为了三个部分:数据集的自动化采集和构建、基于注意力机制的移动应用行为识别技术研究和小样本场景下利用元学习进行移动应用行为识别技术研究。

针对数据集不足的问题,提出了一种基于 Appium 可跨平台的自动化操作手机的移动应用行为流量采集方式,实现了对于目标应用行为的自动化大量采集,实验表明该方法采集到的数据集可以在实验中被有效使用,为后续的研究提供数据基础。

为了解决传统行为识别中存在的,需要人工设计特征或制定规则的问题,提出了采用深度学习的方式,将原始流量转化为灰度图直接进行特征学习。同时,针对移动应用行为中存在相似流量的问题,并且为了提高行为识别的准确率和效率,提出了使用深度可分离卷积结合双域注意力机制的方式构建行为识别模型,在实验中表明,这种方法在实验准确率方面较现有方法有了很大的提高,同时模型的计算量被大大减少,提高了识别的效率,当然最重要的是,通过这种方式,让模型有了可以自动学习流量特征的能力,解决了机器学习方法中先不要人工设计特征的问题。

参考文献(略)

提交代写需求

如果您有论文代写需求,可以通过下面的方式联系我们。