文摘
移动恶意软件对移动设备和移动通信构成了巨大的挑战。与移动网络的爆炸式增长,它是重要为移动安全检测移动恶意软件。因为大多数移动恶意软件依赖于网络来协调操作,窃取信息,或发动攻击,逃避网络监控移动恶意软件是很困难的。在本文中,我们提出一个语法,基于语义神经建模方法来检测移动恶意软件生成的网络流量。在该方案中,我们网络流量分割成流和提取应用程序层从每个数据包的有效载荷。然后,生成的有效载荷数据流转换为文本形式是该模型的输入。每个流文本包括几个域与20个单词。该方案用卷积神经网络模型域表示multiwidth内核从每个域。之后,关系的域自适应编码流表示使用封闭的复发性网络,然后分类结果是获得从一个关注层。进行了一系列的实验来验证该方案的有效性。 In addition, to compare with the state-of-the-art methods, several comparative experiments also are conducted. The experiment results depict that our proposed scheme is better in terms of accuracy.
1。介绍
由于移动通信网络的发展,最近几年能够见证的移动时代。的智能物联网(物联网)设备和智能应用程序可能继续增加5 g \ 6 g通信网络。然而,移动设备的持续改进硬件和移动通信技术不仅导致一个高度互联的世界,而且也是一个世界变得十分脆弱。爆炸性增长的移动通信给移动安全管理带来巨大的负担。根据最近的一份报告(1),应用程序在谷歌玩商店的数量已从16000年2009年12月2016年2月200万多。,移动交通数量在2015年达到每月3.7 eb。然而,移动应用的增加高度普遍受损的恶意软件。在不同的操作系统,Android成为最受欢迎的平台由于其开放式体系结构(2]。不幸的是,移动设备运行Android系统已逐渐成为攻击者的主要目标,被恶意软件感染。这种情况下揭示了执行移动通信网络安全的紧迫性。
解决移动恶意软件的问题,许多研究人员必须注意检测恶意软件的应用。逃避traffic-based方法是困难的,因为恶意软件通常启动恶意行为通过网络连接,包括从服务器接收命令,将偷来的数据,等等。此外,检测恶意软件的交通有很多优势的易于部署。因此,基于网络流量检测恶意软件有可能大大降低移动通信网络恶意活动的威胁。出于这个原因,研究人员开始探索新的解决方案移动恶意软件检测基于网络流量。
Network-traffic-based方法可分为三种类型(3),即网络基于签名的分析、lexical-feature-based分析,分别和statistical-feature-based分析。基于特征码的检测方法从已知恶意收集域和签名并比较它们对可疑代码,以确定它们是否恶意或善意的。然而,基于签名的方法缺乏适应性。它可以检测已知攻击,但处理小说的有限能力。流量统计方法检测恶意软件利用数据包的头部信息,例如,IP层信息或TCP层信息。常用的统计特性包含数据包大小、持续时间的流,广播数据包,等等。这些特性与分类器相结合,例如,随机森林,再和决策树。然而,这些方法的性能高度依赖于手工设计特点和一些私人交通信息,因此大大限制其准确性和普遍性。
lexical-based方法检测的恶意软件根据文本分析交通网络流量。一方面,与基于签名的方法相比,它可以迅速适应检测新的攻击。另一方面,与特定领域的交通,它有一个细粒度的描述流动的统计特性,从而大大提高了恶意软件检测的性能。然而,这些方法通常考虑明文交通如HTTP流量。在最近的研究(3),研究人员已经解密加密的TLS流量,在分类之前交通。此外,手动移动恶意软件分析和提取协议功能域检测有一定的局限性。提取的功能未能检测移动恶意软件流量当新协议受雇于恶意软件。因为存在的各种类型的网络应用协议,没有固定域网络流量。很难手动提取有意义的语义特征分别对所有协议。因为它需要大量的人工资源,当新协议出现时,现有的语义特征未能覆盖它们。为了解决这个问题,我们采用神经网络模型来检测移动网络流量在一个端到端的方式。
在本文中,我们提出一个语法,基于语义神经检测移动恶意软件网络流量的方法。在我们的方案中,我们每个five-tuple-based网络流转移到文本文件,其中包含几个领域。每个域在文本中包含20个单词,每个单词在文本是一个字节内容在网络流。分析网络流量的语义,提出了神经网络交通流建模过程表示在两个阶段。它首先产生连续域从词表示向量域组成。这些被当作输入域表示的网络流量组合得到网络流量表示。然后使用网络流表示为交通流级别的恶意软件检测功能。每个流都有一个关联的标签,这是需要训练算法采用监督方法。
我们采用深度学习方法来处理生成的文本找到生成的流移动恶意软件,深入学习方法可以避免手工分析和选择特性,以及这些方法有更高的学习能力相比,传统的机器学习方法如随机森林和支持向量机(4]。这项工作的主要动力之一是评估的适用性深度学习进步lexical-based移动恶意软件检测的问题。因此,我们研究了不同深度学习的适当架构。提出的模型,我们进行了几个实验来找到最好的架构的性能和参数。此外,文本的大小也影响模型的性能;因此,我们进行了几个实验文本大小。
本文的贡献可以概括如下:(1)我们提出一种新颖的网络流量过程的方法,将网络流转换为文本,和文本中的词由一个字节的内容网络流量负载。每个网络流分为几个域,每个域包含几个字符级的单词。(2)我们提出一个语法语义神经模型来检测移动恶意软件流量。它首先产生连续域向量从词表示域使用卷积神经网络(CNN)模型组成。后来,几个域向量处理作为域表示。然后,这些被视为输入域表示的网络流量组合得到网络流量使用封闭的复发性单元(格勒乌)表示。然后使用网络流表示为交通流级别的恶意软件检测功能。(3)我们在实际的网络流量进行了一系列实验,其中包含不同类型的协议调整结构和参数,以获得更好的性能。大量的实验结果表明,该模型优于之前的艺术状态实现恶意流检出率92.6%。
本文的其余部分组织如下。在下一节中,我们总结了现有的移动恶意软件检测方法相关工作。节3提出了语法,基于语义神经方法介绍。节4,我们首先介绍和描述所选择的数据集在我们的研究中,然后进行一系列的实验数据集。最后,在节5研究,我们的结论和未来的工作。
2。相关工作
有许多提出的安全机制来检测移动恶意软件和保护用户的移动设备免受攻击。现有的典型方法可以分为3类5),即基于静态方法,dynamic-based方法和混合型方法。除了典型的方法,一些研究人员使用网络流量检测移动恶意软件。
2.1。典型的方法
基于静态检测恶意软件的方法从应用程序中提取统计特征,打开或拆卸他们没有运行应用程序6- - - - - -10]。这些统计特性可以从应用程序中提取权限列表(11,12),敏感的应用程序编程接口(API)调用或关键代码段在源代码中(13- - - - - -15]。基于静态方法广泛用于审查程序。然而,存在几个关键的挑战,面临基于静态的方法,例如,基于静态方法不能检测某些源代码篡改操作。
Dynamic-based方法检查应用程序的特点,运行,执行行为的特性。在这些方法16- - - - - -20.),信息,即内存利用率、系统调用、网络连接、和电池供电,被用来检测移动恶意软件。然而,仍然有一些问题在dynamic-based方法。一方面,这些方法不能完全遍历软件的执行路径。另一方面,这些方法不能检测某些恶意行为如果一个应用程序运行时保护安全机制(例如,DexGuard)。
为了避免dynamic-based和基于静态方法的局限性,混合型方法,两者的结合机制,是用来检测移动恶意软件。这些方法有一个两步的过程,最初执行静态分析动态(前21- - - - - -23]。然而,这两种方法的结合会消耗更多的资源和结果在改善。
2.2。Network-Traffic-Based方法
为了解决典型方法的局限性,研究人员调查了恶意软件识别广泛和私人信息跟踪。研究人员开始使用网络流量分析和识别恶意程序,因为几乎所有的攻击者使用移动网络获取敏感信息的用户或恶意应用程序交互。Network-behavior-based方法可以分为三个类别3),即网络基于签名的方法,分别lexical-feature-based方法和statistical-feature-based方法。
基于签名的方法检测恶意软件的流量根据预定的恶意软件签名。格里芬et al。24)提取48字节的代码序列作为字符串签名的恶意软件。此外,自动生成网络签名一直在探索各种以前作品(25- - - - - -27]。这些研究大部分集中在蠕虫指纹。Perdisci et al。28)关注生成网络签名为移动恶意软件从HTTP流量。他们分析了恶意的HTTP流量跟踪结构相似性,然后聚集相似的HTTP流量。至于每个HTTP流量集群,他们自动生成网络签名为每个类型的恶意软件。一般来说,基于签名的方法缺乏适应性。他们可以检测已知攻击,但处理小说的能力有限。
统计方法检测恶意软件的流量根据头信息的数据包的有效载荷信息。Aresu et al。29日]表明可以组移动僵尸网络的家庭通过分析他们生成的HTTP流量。作者创建的恶意软件集群通过观察特定的HTTP流量相关的统计信息。这种方法还允许提取签名,可以精确地检测到新的恶意软件,属于集群的家庭。虔诚军等。30.)提出了一种检测和表征系统检测网络中有意义的偏差行为的智能手机应用程序与9交通statistic-feature测量。作者采用五分类器来验证这些特性的性能,即随机森林,再,决策树,随机树,回归。Arora et al。31日)将恶意软件的流量与良性的网络流量和终于找到网络上的恶意软件行为的偏差。他们使用的统计特性包含平均数据包大小,平均持续时间的流,收音机的传入传出的字节,和13个其他特性。
此外,存在一些研究人员采用deep-learning-based方法来检测移动恶意软件网络流量。Bendiab et al。32)提出了一个新颖的物联网恶意流量分析方法使用深度学习和可视化表示更快的检测和分类的新的恶意软件(零日恶意软件)。恶意网络流量的检测在包级别工作的建议的方法,显著减少检测的时间和有前景的结果由于深度学习技术。冯et al。33)提出了一个两层的方法来检测恶意软件在Android应用程序。第一层是许可、意图和component-information-based静态恶意软件检测模型。CACNN新方法在第二层,CNN和AutoEncoder瀑布,它是用来检测恶意软件通过网络流量特性的应用。
lexical-based方法检测恶意软件根据文本分析的交通流量。Android (34]发现隐形行为在Android应用程序通过识别UI文本语义之间的差距和程序的行为。然而,它只使用一些关键字识别敏感操作,比如“发送短信”和“手机打电话。“WHYPER (35)使用NLP技术来识别句子描述需要允许在应用程序描述。南et al。36)提出了一个框架UIPicker呼吁大规模识别个人用户信息,这个框架是基于NLP的新颖组合,机器学习,程序分析技术。NLP中的语法模型被用于自动网络协议识别系统设计流量分析(37]。任等。38]提出了揭示和控制个人可识别信息(PII)泄漏在移动网络流量的键/值对用于PII识别。王等人。3)提出了一个自动的恶意软件检测方法使用的文本语义网络流量。特别是,作者认为每个HTTP流产生的移动应用程序作为一个文本文档,可以处理自然语言处理中提取文本级别特征。网络流量的文本语义特征是用来开发一个恶意软件检测模型。此外,作者设计了一种检测系统为bring-your-own-device企业网络加密流量,家庭网络和3 g / 4 g移动网络。检测模型集成到系统发现可疑的网络行为。
通过文献研究,使用网络流量和词法分析发现隐藏的恶意软件是有前途的。在这个研究中,我们计划利用深度学习算法来提取交通词法发现恶意行为在移动网络流量。Dee-learning-based方法预计将从高度复杂域与更多的功能比machine-learning-based方法获得更高的精度。此外,我们过程网络流入字符级文本文件。文本文件中的每个单词是一个字节内容在网络流。我们检查的性能由公布的数据集,其中包含协议的网络流量组成的多样性,包括加密和nonencrypted网络流量。
3所示。建议的方法
以下部分提出的移动恶意软件网络流量检测神经模型,计算连续向量表示网络流变量类型的协议。概述的方法是显示在图1。该方法处理网络交通流在两个阶段。它首先产生连续域从词表示向量域组成。这些域表示被视为输入流组成的流表示。流表示用作交通流级别分类特性。
3.1。网络流量语义分析
网络流量数据传输网络,使用一系列的网络协议,如IP、TCP、和HTTP。网络协议是一套规则时,必须遵守对等实体之间交换信息,相互通信的网络。正如语言是受雇于人类沟通,也有在网络设备之间的语言,也就是说,网络协议。网络协议由三个元素组成:语义、语法和时态。不同的网络设备必须使用相同的网络协议相互通信。然而,随着大量的协议在网络,很难自动分析和提取关键信息从网络流量。
网络流量的部分,它可以被视为一个域年代,如图2。分解年代在域年代1,年代2,年代3,…,年代n。我们的总长度年代是l,对于一个给定的域年代我,只要每段的长度l我正在确定;段的段描述的网络流量可以根据的价值l我。的长度l我并不总是固定的。此外,根据的价值年代我,可选域年代我−j可能会出现。因此,网络流量的主要问题描述的可变长度域的表示问题和可选的分支问题域。
在下面几节中,我们将介绍该神经网络流模型模型。我们处理网络流字符级文本,即文本中的每个单词是1字节字符。每个流分为文本文档nd域,每个域包含单词。根据图2字段的长度,协议是不固定的。因此,我们采用multiwidth内核CNN学习域表示,它可以代表不同长度的字段域。这些域表示考虑使用格勒乌作为输入流的组成,最后输出流的分类通过关注层。
3.2。域组成
之前的CNN与多个内核域组成,每个单词都被表示为一个低维的,连续的,和实值向量,即嵌入。这个词向量都堆在一个字嵌入矩阵 ,在哪里d表示词向量的维数词汇量的大小。这些词向量可以从均匀分布随机初始化。
我们利用CNN计算域交涉语义成分。CNN能够学习固定长度的向量域,捕捉一个域的词序,不依赖于外部依赖性或选区解析结果。因此,我们将每个文本分成nd域,每个域包含单词。具体来说,我们使用CNN与多个不同宽度的卷积内核多语法来适应不同长度值的字段域表示的协议。图3显示域合成法。
不同大小的卷积内核可以捕获不同的语法语义。例如,卷积核的宽度基本上2捕获的语义三元场域。一个域组成的nd在必要时(垫)单词是表示 ⊕在哪里连接操作。每个单词c我映射到其嵌入表示 。一个线性的输入层的连接词嵌入在一个固定长度的窗口大小lc,这是表示 在哪里lc一个卷积内核的宽度。multiwidth内核卷积,卷积核大小的集合 ,后与卷积操作我th内核k我,每个内核的输出如下: 在哪里 , ,loc是输出长度的线性层。捕捉到全球的语义域,我们喂养的输出线性层平均池层,导致与固定长度的输出向量。我们进一步增加双曲正切(双曲正切)将逐点的非线性。每个卷积操作的输出 在哪里N是ci卷积核的数量。multikernel CNN的一组向量输出的表示 在哪里O是域表示的输入流组成。在这项工作中,我们使用五回旋的内核,其宽度是1,2,3,4,5编码unigrams的语义,三元,三元模型,4克,5克在一个域。每个内核由一个线性层共享参数列表。
3.3。流组成
美联储获得域向量是一个流复合组件来计算流表示。我们利用格勒乌方法流组成部分。格勒乌是一个变种的递归神经网络(RNN);它比长简单短期记忆(LSTM RNN)。由于格勒乌LSTM的变种,它也可以解决问题的长期依赖RNN网络。作为显示在图4,常见的格勒乌单元由一个更新门( )和一个重置门 。
具体来说,格勒乌的转换函数计算如下: 在哪里σ是乙状结肠函数,双曲正切是正切函数,xt是一个输入向量,然后呢代表产品,即产品相应的元素。下标j代表的索引节点和上标t代表着时间。 表示参数矩阵的隐层到输出层,高清和码是在隐层和输出层的节点数,分别。 和 代表之间的连接矩阵输入最后一个隐层更新门(zt),分别xd代表输入数据的维数。 和 代表输入和前一个隐层之间的连接矩阵重置门(rt),分别。 和 代表之间的连接矩阵的输入和隐藏层选择状态( )分别在以前的时间。
在这个研究中,因为我们不愿意放弃的任何部分域语义得到更好的流表示,格勒乌单元模型中总是对的。鉴于域向量作为输入,流组合产生一个固定长度的流矢量作为输出。
3.4。基于语义的流量分类
由流表示自然可以作为流语义特征分类工程没有功能。此外,我们为流添加一层self-attention交涉提高分类的性能。self-attention层架构如图5。
之间的影响程度,得到的输出信息格勒乌在每个时间点都是相同的。为了突出一些输出结果分类的重要性,采用加权的注意。注意机制已广泛应用于各种NLP任务在过去的几年里。注意机制本质上是一个加权和。的输入向量的集合表示为格勒乌层 。关注过程可以被描述为 在哪里yt格勒乌的输出模型。而且,代表了加权矩阵在培训过程中,b一个代表了偏见。的一个t意味着关注矩阵,p关注的输出层。
最后,我们添加一个线性层变换流矢量长度类数的实值向量C。之后,我们添加一个softmax层实际价值转换为条件概率,计算如下:
我们在一个监督学习方法进行实验,其中每个网络训练数据流是伴随着其标签。
4所示。实验评价
在本节中,进行了一系列的实验和相应的结果进行了详细分析。一开始,我们介绍了实验环境,包括所选择的数据集,数据处理,和计划的基本评价指标。然后,我们比较了使用不同的组件模型的分类性能提出了语义神经模型。此外,对比实验来验证恶意软件检测性能之间进行方案和一些有影响力的算法近年来提出的。
4.1。选择数据集和数据处理
以下4.4.1。选择数据集
对于这个工作,我们从CICAndMal2017使用真实的数据15)的数据集,从VirusTotal收集4354恶意软件和6500个良性的应用程序39],Contagio博客安全的博客[40,先前的研究人员(15,41,42]。收集到的网络流量数据描述表1。良性从谷歌应用程序收集游戏市场出版于2015年,2016年和2017年。这些应用程序是基于他们的声望和收集确认从VirusTotal根据检测结果39]。只有那些应用VirusTotal决心为良性包括良性程序集。恶意软件网络流量由4类,即广告软件,ransomware,伪安全软件,短信恶意软件。每个类别有不同的恶意软件的家庭。广告软件Dowgin,对,Feiwo、Gooligan Kemoge, koodous, Mobidash Selfmite Shuanet, Youmi家庭。Ransomware充电器,Jisut,科尔,LockerPin Simplocker, Pletor, PornDroid RansomBO Svpeng, WannaLocker家庭。伪安全软件AndroidDefender, AndroidSpy。277,AV for Android, AVpass, FakeApp, FakeApp.AL, FakeAV, FakeJobOffer, FakeTaoBao, Penetho, and VirusShield family. SMSmalware has BeanBot, Biige, FakeInst, FakeMart, FakeNotify, Jifake, Mazarbot, Nandrobox, Plankton, SMSsniffer, and Zsone family.
因为样品错误和不一致的标签在不同的数据集的问题,CICAndMal2017保留5000(429年恶意软件和良性的5065)。此外,先进的恶意软件使用的大多数逃避或转换技术来逃避检测(代码排列,寄存器重命名,闲置激活)(21],恶意软件行为触发后连接网络更新,或重启后随着时间的进程。为了触发恶意软件网络行为,网络流量数据捕获发生在3个阶段,即3分钟后,应用程序安装,前15分钟,之后重新启动智能手机。
4.1.2。数据处理
手机软件通常使用TCP和UDP协议来执行网络活动,我们处理TCP和UDP连接的主要交互应用程序和网络之间的粒度。在这个研究中,我们设计了一个工具使用c++项目过程的网络流量,称为PKTPT(包处理工具),和PKTPT架构如图6。网络流量数据处理包含3个阶段,即交通分段数据生成(包括数据提取、修剪和填充),和数据转换。
交通分段。交通分段阶段过程基于网络流量成流5-tuple(协议、源IP源端口、目的地IP、目的港)。在这项研究中,我们使用双向流动,具有相同的IP地址和端口。交通分段解释算法的进一步细节1。PKTPT第一分离特定的数据包队列中的数据包根据源地址,目的地址,源端口,目的港和传输层协议。然后,每个包取出,并根据5-tuple,相同的流数据包处理相同流节点流表,这是使用hash_map实现(c++数据结构程序)。
|
数据生成。在前一阶段,网络流量是加工成TCP和UDP流。在这个阶段,流的数据包处理。包的每个流由几种帧,每一帧通常封装在一个固定的结构:以太网二头,互联网协议头,传输头和应用程序的负载。在我们的框架中,我们只使用应用程序包的有效载荷,随着应用程序负载的数据相互影响两岸的交流,和每一层的头数据用于建立沟通渠道,如主机的IP地址和端口。截断和补零作为不同的流动有不同大小的应用程序负载。在这个研究中,我们首先提取n在每个流字节数据并将其保存到一个csv文件,使用空间分离字节数据。我们也以流数据大小为参数的撞击器深度学习模型的性能。
数据转换。在这个研究中,我们采用文本处理方法来处理网络流量。事实上,数据包内容使用不同的协议可以被视为文本后不同的语法。由于不同的协议结构,包有不同的领域。我们使用字符级词作为词汇在文本处理和建立模型来了解它们之间的语义关系和协议结构的一个特定的协议。然后,建立模型提取根据语义域和流动特性对恶意软件和良性的流量进行分类。
因此,我们将前一个阶段的数据流转换为文本。每个流数据处理由几个单词组成的文本文件。我们把单词使用空间,即文本文件中的词是人物等级。然后,文本被送入深分类学习模型。此外,一些现有的工作将流量转换为图像。为了比较两种处理方法的有效性,我们还开发了功能将流量转化为图像数据转换阶段。
4.2。实验环境和评价指标
我们的实验是在Ubuntu 16.04 LTS执行64 GB的RAM和一个GPU卡(NVIDIA GTX 1080 ti 11 GB)。实验的实现中,我们使用Tensorflow-gpu 1.12.0和Keras 2.2.4与Python 3.6.10操作。深度学习模型构造、训练和测试使用Tensorflow-gpu Keras后端。
我们单独的特定数据集到学习和测试数据。接下来,学习数据分为训练和验证数据。培训的比例,验证和测试数据是8:1:1。然后,模型训练使用的培训和验证数据,测量和模型性能使用测试数据。数据集的描述如表所示2。
在我们的情况下,我们采用mini-batch梯度体面的方法在训练过程。在这种方法中,数据被分成几个批次,根据批量更新的参数。在这个过程中,有两个参数,即批量大小和迭代,即代表的数量为每个样本训练和迭代的数量完成总样本训练,分别。一个训练迭代所有批次向前和向后传播可以被表示为一个时代。学习时代的数量设置为200,和优化的学习速率(即。rmsprop和亚当)被设置为0.001。
评估该方案的检测效果,以下术语用于确定的质量分类模型:准确性:估计正确识别网络流量的比值整个测试数据集。 TP是真阳性,TN代表真阴性,FP代表假阳性,FN代表假阴性。精度:估计正确识别恶意软件的比例流量样本总数分类恶意软件类。它是表示 回忆:估计正确识别恶意软件的比例流量的所有恶意流量。它是表示 F1-score:调和平均数的精度和召回。它是表示
4.3。不同的模型架构的比较实验
该模型是一个语法,基于语义神经模型,我们主要组件进行几个实验,即域组成和流组成。此外,为了避免流载荷长度的影响,我们选择6种长度的流载荷为每个实验。
4.3.1。域组成
我们首先分析移动恶意软件检测的性能使用不同的域组成的体系结构模型。域组成,我们进行实验比较单一宽度的影响内核和multiwidth内核,内核和单一宽度,我们选择5类型的宽度,也就是,1,2,3,4,5。流组成,我们采用相同的架构,即格勒乌学习流表示并雇佣一个关注层分类的流动。
不同的领域组成架构的详细描述在表3。
在图7,我们提供手机恶意软件检测精度与不同的领域组成架构在不同的文本大小。,提出multiwidth内核提供了最好的结果准确性的移动恶意软件流量检测。恶意软件流量检测的准确性提出了模型的文本长度可达0.924 1000年,这是比单幅的内核。
(一)
(b)
(c)
(d)
(e)
(f)
此外,我们提供了一个详细描述不同域的分类性能指标组成架构表4。
网络流的各种类型的协议,领域包括几个字符,不确定的数量。即使在single-protocol流,不同的领域有不同数量的字符。因此,单一类型CNN内核不能代表所有这些情况。字符级域可以获得精度在0.90,因为所有的领域可以分为一组字符。然而,字符级域减少multicharacter域之间的关系。Multitype内核CNN能够更好地表达领域的。与multiwidth内核CNN,我们可以获取各种字段表示由不同的语法表示,可以避免单幅的CNN的不足。类型6和7的精度0.906和0.901,分别。然而,这两个的准确性multikernel cnn仍低于8型和9型,后者两种类型代表领域更全面。两种类型的CNN的准确性基本上是相同的,即0.926。 A kernel of width 6 in Type 9 is already represented by the previous five types of kernels and does not affect the causal relationship between domains. To obtain a better classification performance, we add weights for each multikernel representation. And, the parameters are updated by feedback, and the model is able to obtain a better domain expression by adjusting the weight.
4.3.2。流组成
在本节中,我们分析的性能手机恶意软件检测使用不同流组成的体系结构模型。流组成,我们进行实验比较不同深度学习架构的影响,即单层格勒乌,tow-layer格勒乌,单层LSTM,和两层LSTM。对于域表示,我们选择了multikernel CNN与5种不同的内核部分4.3.1。
不同流组成架构的详细描述在表提供5。
在图8,我们提供手机恶意软件检测精度与不同的流动组成架构不同的文本大小。四个模型的精度为恶意流量检测是相似的,都是超过0.92。LSTM和格勒乌架构都是能够处理序列信息,即前面的输入与随后的输入。,他们可以解决问题的消失州长的长序列递归神经网络。分类性能指标的详细描述中描述表6,可以看出提高LSTM层或格勒乌层不提高检测性能。然而,增加LSTM层或格勒乌层可以增加模型的复杂性和时间消耗的培训过程。和,因为LSTM的检测效果和格勒乌是相似的,尽管格勒乌的训练时间短于LSTM,我们选择使用单层格勒乌流组合在我们的模型中。
(一)
(b)
(c)
(d)
(e)
(f)
4.4。比较实验
4.1.1。不同的模型
在本节中,我们分析移动恶意软件检测的性能在不同的情况下,即深度学习体系结构和不同的文本大小。来验证该方案的有效性,我们实现了不同深度学习架构模型来检测恶意软件的流量。为了找到最合适的架构模型,各种深度学习架构已经建立了比较的目的,即延时,TextCNN, Bi-GRU Bi-LSTM,拟议的模型。提供了不同的体系结构模型的详细描述在表7。
对于表2,有几个补充说明如下:(1)嵌入(input_dimension output_dimension)将一个正整数(索引值)转换为密度矢量固定大小。(2)FC (n)表示完全连接层n输出尺寸。(3)Conv1D(内核,kernel_size)表示卷积层,其中第一个参数表示内核的数量,第二个参数表示内核大小。在TextCNN体系结构中,第二层包含4种卷积核内核大小不同。(4)LSTM (n)表示LSTM层和n表示输出尺寸。Bi-LSTM代表双向LSTM,及其与LSTM参数是相同的。格勒乌与LSTM用法相同。
我们已经提供了详细描述不同深度学习的分类性能指标与不同的文本尺寸表架构8。
中长期规划体系结构由3完全连接层的最低分类性能的所有文本大小。第二种类型的深度学习体系结构、TextCNN卷积层由4类型的内核与不同大小的内核。它有一个中长期规划改进检测恶意软件的流量。然而,相对于其他三种类型的深度学习架构,TextCNN的分类性能稍弱。原因可能是这些类型的架构不同的学习特点。既可以学习恶意软件的特点和良性的软件。第一和第二类型使用CNN结构来构建模型,而3日和4日类型使用RNN结构来构建模型。自RNNs更有利的时间序列,类型3和4比1和2。提出的语法语义神经模型、性能改进和类型3和4相比,我们结合CNN和RNN结构进一步改善有效性。因此,提出的模型,采用一个语法语义神经模型解决移动恶意软件流量检测问题建议在一个端到端的方式。
特别,在33),提出了一个两层的深度学习方法来检测android恶意软件。第一层采用静态特性对许可,意图和组件的信息。,第二层采用网络流量特性得到第一层的分类结果。在我们的研究中,我们重新实现的网络流量检测方法并进行比较实验。
实现的深度学习模型参数如表所示9。的研究(33),每个网络流转换为2424形象,即784字节的网络流量数据被利用。在对比实验中,我们使用第一个700字节的数据从网络流在我们提出的方案。
二进制分类性能指标如表所示10。
根据对比实验,该方案执行比计划(33]。的平均精度(33)模型检测恶意软件从良性的交通是0.768,而我们模型的精度可以达到0.899。检测精度的差异主要是由于不同的深度学习模型。计划(33使用CNN架构而我们计划采用CNN联合格勒乌架构。这两种结构不同的学习特点。既可以学习恶意软件的特点和良性的软件。然而,该模型可以获得时间维度的特性而CNN只能学习空间特性。
10/24/11。不同的文本大小
大小的另一个重要撞击器的文本分类的结果,我们使用文本尺寸作为参数来开发几个实验。我们提取和拼接应用层负载每个流流连续的数据包的有效载荷数据。文本的大小是有效载荷数据流的长度。流载荷大小不同可能含有不同数量的信息,从而影响检测的恶意软件。用于测试这个参数,我们选择6大小的文本,即200字节,500字节,700字节,1000字节,1200字节,1500字节。在流动的情况下超过文本的大小,我们忽视了以下负载,和在流动的情况下小于文本的大小,我们用零填充。图9描述了移动恶意软件流量检测精度与使用不同的深度学习架构不同的文本大小。
(一)
(b)
(c)
(d)
(e)
图9描述了模型的性能随输入文本的大小。下面的输入文本大小是1000字节时,模型的性能差,包括精度,回忆,和准确性。当输入文本大小是1000字节,模型性能相对比较高,使用该模型精度约为0.91。当输入文本大小是1200字节,该模型性能曲线开始变平,性能指标不再显著增加。即使输入文本大小是1500字节,模型的性能会下降。较大的文本使用的大小,可以捕获更多的功能和更准确的移动恶意软件流量的检测。然而,当达到一定长度时,流量负载的内容不能继续提供有效的功能来帮助提高检测精度。
4.4.3。二分类在HTTP场景中
在[3),每个HTTP流产生的移动应用程序转换为一个文本文件,可以处理自然语言处理中提取文本级别特征。他们检查交通流头使用的语法方法自然语言处理(NLP)。然后,基于卡方检验的自动特征选择算法用于标识意义的功能。这些自动选择功能是用来建立一个支持向量机分类器对恶意软件检测。在我们的研究中,我们重新实现的网络流量检测方法并进行比较实验。在这个过程中,我们将HTTP数据集分为训练集和测试集的比例8:2。HTTP数据集描述表11。
二进制分类性能指标如表所示12。作为语义HTTP协议具有更明显的特征,这两种方法在检测精度高的恶意流量HTTP协议流量。这两种方法充分利用语义信息的HTTP流量。所不同的是,裁判[3]中的方法分析和提取特定字段内容手动功能,而我们的方法学习有效信息自动深度学习模型。
4.5。讨论
提出语法语义基础神经模型,本文的基本目的已经达到,即检测不同的协议类型的移动恶意软件流量在一个端到端的流量转移到字符级文本。
现有的检测方法需要手动分析交通特定的协议产生的语义信息,未能检测到移动恶意软件流量隐藏在其他协议。为了解决这个问题,我们提出采用深学习方法学习网络流的文本转换。我们根据网络流量分割成流算法1。然后,每个流的应用程序包的有效载荷是提取并等待被转移到其他形式,可以输入深度学习算法。在我们的研究中,有效载荷数据流传输到字符级文本形式。应用层载荷包括用户行为数据所表达的不同类型的应用协议,即。、HTTP和DNS。我们利用multiwidth内核CNN学习文本语义域组成。不同宽度不同的权重更新内核,培训进展。我们通过实验证明multikernel CNN的优势。之后,我们选择格勒乌架构作为流组合模型进行比较实验4中类型的深度学习架构,即1-layer LSTM, 1-layer格勒乌,双层LSTM,双层格勒乌。
为了验证该方案的有效性,进行了一系列的实验。在这些实验中,我们比较不同深度学习的性能架构和架构建议已经提出的语法,基于语义神经模型根据实验。此外,我们还要考虑文本的大小的影响,即使用流载荷的长度。实验结果表明,随着文字大小的增加,检测效果变得更好。然而,当规模超过1000字节,检测效果的改善变得更少。
5。结论
在本文中,我们提出一个方案来检测移动恶意软件流量通过提取流负载并将其转换为字符级文本。我们采用multi-filter CNN和格勒乌模型生成的文本域表征和流表示,分别。文本是字符级为基础,无需手动分析特定的协议的语义信息是必要的。完成上述工作,我们还设计了一个工具,叫做PKTPT,将网络流量过程到流和提取应用程序层从每个数据包的有效载荷。从几个实验,我们的方案是被证明是有效的。与最先进的方法相比,几个也进行了比较实验。实验结果描述,我们的方案是更好的准确性和适用于移动恶意软件检测,可能使用不同的协议。然而,随着越来越多的移动软件使用加密协议,基于语义交通检测恶意软件变得不可靠。我们将学习方法检测场景的移动恶意软件流量加密流量在未来。
数据可用性
数据是可用的http://205.174.165.80/CICDataset/CICMalAnal2017/Dataset/。
的利益冲突
作者宣称没有利益冲突。
确认
这项工作是支持部分由中国国家自然科学基金批准号。U1836104 61702235和部分由中央大学的基础研究基金批准号30918012204。