研究文章|开放获取
设备内置检测重新包装Android恶意软件通过交通集群
文摘
恶意软件已经成为在Android平台上的一个重要问题。为了抵御Android恶意软件,研究人员提出了几种设备内置检测方法。通常,这些设备上检测方法由两个步骤:(i)提取从移动设备和应用程序的行为特征(2)向远程服务器提取的特征(如云平台)进行分析。通过监控行为的应用程序运行在移动设备上,可用的方法可以检测可疑应用程序(简单,<我>应用程序我>准确)。然而,移动设备通常是资源有限。特征提取和大规模数据传输会消耗大量的电力和CPU资源;因此,移动设备的性能会退化。为了解决这个问题,我们提出一种新颖的方法来检测Android恶意软件通过集群应用程序的流量计算节点。首先,一个新的集成架构的云,边缘,和移动设备为Android恶意软件检测。重新包装Android恶意软件,网络流量内容和统计数据与检测特征提取的边缘。最后,在云计算中,应用相似性计算,相似度值自动聚集到单独的原始应用程序和恶意软件。实验结果表明,该方法可以检测重新包装Android恶意软件精度高和对移动设备的性能影响最小。
1。介绍
最近,Android平台(smartwatch,如智能手机和平板电脑)已成为越来越受欢迎的世界。根据Statista, Android是占全球手机操作系统市场74%以上的截至2019年12月(1]。Android操作系统受欢迎的最重要的一个原因是,移动用户可以方便地从应用程序商店下载各种类型的应用程序(2]。例如,一个官方的安卓市场,即谷歌商店,2020年1月已经有超过290万个应用程序(3]。这些功能丰富的应用程序使Android平台有吸引力和充满活力。
Android应用程序。,Android Package Kit (APK) files, are archives in ZIP format, which include developer bytecodes, resource files, and a manifest file. Unfortunately, in contrast to traditional executable software, Android apps are easy to repackage. With open-source tools such as apktool (https://github.com/iBotPeaches/Apktool)和jadx (https://github.com/skylot/jadx),可以很容易地添加代码或修改资源文件来实现不同的目标。例如,恶意软件作者可以贪污广告代码在流行的应用程序来赚钱或贪污恶意代码窃取用户隐私信息(例如,Xavir恶意软件感染超过800 android应用程序。这些重新打包应用程序通常是自签名的,不需要的移动设备)。根据(4- - - - - -6),大多数Android恶意软件程序重新打包应用程序,大多数新Android恶意软件样本多态变量已知的恶意软件。重新包装Android恶意软件Android安全正在成为一个实质性的威胁。
研究人员广泛调查(重新包装)Android恶意软件的检测,并提出了几种方法和评估(7- - - - - -14]。以前一般可以分为工作<我>脱机我>和<我>设备内置我>检测。脱机检测通常采用安全分析程序分析的APK文件专用分析服务器。分析程序可以检查的apk签名或动态运行它们在真实或虚拟执行环境来记录他们的行为(15]。如果发现恶意代码或行为,应用程序将被判断为恶意软件。脱机检测也可以通过网络监控(14]。我们将参考脱机这种类型的检测方法<我>基于网络的方法我>在下面。
在本地设备上检测是实现部分或全部,也就是说,在用户的移动设备。识别恶意软件的安装程序是未遂。技术上、设备上检测也识别恶意软件通过分析应用程序的行为。相比脱机检测、设备内置检测可以检测恶意软件运行在移动用户的设备和识别更复杂的恶意程序,例如那些由指定触发事件。例如,通过观察应用网络行为的偏差在移动设备,可以检测自更新恶意软件可能会触发指定的地理位置,设备类型、操作系统版本(8]。然而,设备内置检测更具挑战性由于资源有限的移动设备。
通常,几个步骤应该进行检测恶意Android应用程序在移动设备。首先,检测特性,比如用户的操作行为,API用法和应用网络行为应该定义和提取。然后,根据提取的特征,检测模型构造,,最后,新的应用与恶意软件检测的构造模型。根据这些步骤执行,当前的方法可以分成两个主要团体:<我>客户端我>检测和<我>服务器端我>检测(14]。客户端检测,这些步骤都是在移动设备上进行的,而对于服务器端检测,主要步骤(模型建设和恶意软件检测)在远程服务器上进行。
在实践中,应用程序客户端方法可以限制,因为他们消耗大量的资源和权力。根据文献[8),10 Android恶意软件检测模型的存储需要7272 kB15内存消耗,这些模型的学习需要13%1.5 CPU消耗。更糟糕的是,模型训练和保存越多,消耗更多的资源和权力。因此,服务器端方法通常采用(16]。然而,服务器端方法的资源和电力消耗居高不下(例如,7%的性能开销和电池大约3%的开销17])。这是因为检测功能仍在移动设备(主要是收集和处理10,17]。
在本文中,我们提出一个新颖的方法检测重新包装Android恶意软件基于集群计算平台应用的交通优势。尽管Android恶意软件可以使用模拟器/沙箱检测[18和包装19,20.阻碍了动态和静态分析,很难隐藏流量进行检查。我们的方法的基本策略是特征提取和预处理可以卸载到边缘。因此,移动设备的负载降低。Android恶意软件检测的设计架构包含三个组件:移动设备,边缘服务器,云。通常使用的移动设备,和一个额外的<我>edge-client我>应用程序将被安装和运行在后台。edge-client应用运行相同的Android VPN应用等<我>数据包捕获我>(https://play.google.com/store/apps/details?id=app.greyshirts.sslcapture&hl=enUS),除了它只记录流的元,如流起始时间和流量的协议,它不需要保存和操作包内容。因此,它是轻量级的,将微不足道的负担强加给移动设备。
边缘服务器收集的移动网络流量和提取检测特征的交通。交通边缘服务器进行的预处理,不仅可以减少发送的数据量也保护移动用户的隐私,因为云只能观察到粗粒度特性。提取的网络流量特性是发送到云进行最终处理。在云中,应用相似性计算基于接收到的特性。这些相似性值后自动聚集到单独的原始应用程序和重新包装的恶意软件。我们进行了大量的实验,结果表明,平均检测精度为96.9%。
我们的主要贡献如下:(我)一个轻量级的、高效的框架,该框架是基于边缘检测的计算提出了Android恶意软件。典型的服务器端方法相比,该框架将对性能的影响最小的移动设备。此外,基于网络的方法相比,可以提高检测精度,可以更好的保护手机用户的隐私。(2)交通聚类方法的识别提出了重新包装Android恶意软件。我们集群的网络流量是由相同的应用程序来决定哪一个已经重新包装。首先,我们使用明文内容和流量统计特性计算程序之间的相似之处。然后,相似度值集群分离原始应用程序和自动重新包装的恶意软件。通过聚类,它是不必要的模型应用的网络行为或提前提取匹配签名恶意软件检测。因此,这种方法将会在实践中更有效。(3)广泛的公共数据集进行实验。
本文的其余部分组织如下。Android恶意软件的预赛,边缘计算介绍了部分2。节3,我们将讨论相关的相关工作。部分4描述了新集成架构的云,边缘,为Android恶意软件检测和移动设备。方法提出了部分5。的实验评价方法的准确性和性能提出了部分6。我们讨论该方法的局限性7。最后,在节8,我们提出本文的结论和讨论潜在的未来的工作。
2。预赛
在本节中,我们介绍了关于Android恶意软件和边缘计算重要的概念,这是这项工作的基础。
2.1。Android恶意软件
作为讨论的部分1Android应用程序(上年)很容易重新包装,这是攻击者想方便创建Android恶意软件。事实上,大多数Android恶意软件是由重新包装产生良性的应用,特别是最喜欢的应用程序,以确保广泛扩散的恶意代码4]。作为证据,MalGenome [21),这是一个参考的数据集在Android安全社区,80%的恶意样本建立了通过重新包装其他应用程序。重新打包应用程序可以通过第三方市场分布,通常不需要筛选或完整性评估上传应用程序(22]。例如,许多应用程序的F-Droid发现由同一个开发者(重新包装23]。因此,在这项研究中我们主要检测恶意将Android应用程序重新打包。
重新包装可以有效地检测到Android恶意软件分析其网络流量(7,14]。这是因为重新打包应用程序通常是功能化与远程服务器进行交互接收命令或返回敏感数据,和他们的网络行为将不同于原来的网络行为。为了更好的解释这个,我们反编译两个应用程序,即00575 de650f78413c91e8e613adf9099812f325aa9cf36c72e81c79b230f58f4 A55EA5807203CE31470D1905ED30F9267AE3459809DDA25C4F339197DE6486FE,比较相应的文件夹来识别新添加的文件。添加文件进一步分析(通过阅读Java代码)来调查他们的网络行为。在本例中,应用程序的名称是SHA256 APK文件的价值,和00575∗对应于原始应用程序和A55EA∗重新打包应用程序,我们使用<我>Jadx来我>反编译的apk文件进行比较<我>WinMerge我>(http://winmerge.org/)。图1给出了比较结果。
如图1,总共有250额外的Java代码文件,而这些代码文件分布在来源/ com文件夹。我们仔细阅读这些添加Java代码并确定Android API<我>HttpPost我>8倍和调用吗<我>HttpGet我>调用5次。因此,至少有13流动不会产生的原始应用程序,即00575∗。因此,最初的应用可以有效地区别重新打包版本通过比较他们的网络流量。受这些观察结果,我们提出集群移动应用的交通分离原始应用程序和自动重新包装的恶意软件。
2.2。边缘计算
边缘计算可以定义的技术使计算被执行在网络的边缘,对下游数据代表云服务和上游数据代表物联网(物联网)服务(24]。也许最重要的概念计算边缘的边缘可以包含任何计算和网络资源之间沿着路径移动/物联网设备和云数据中心。例如,边缘可能是一个电话一个聪明的手镯和云之间或智能电视和云计算之间的无线路由器,如果电话或无线路由器执行代表智能设备和云计算。在这些例子中,计算可能是隐私保护的数据匿名化或内容缓存的性能改进。图2说明了边缘的模式计算。
如图2,云计算功能,即。,edge servers are deployed at the edge of the network for data (pre) processing and forwarding. In edge computing, the mobile/IoT devices could send computation tasks to the edge servers, namely, the devices can distribute code to the edge to be executed; hence, the mobile/IoT devices can be designed to conduct complicated operations, such as machine learning or encryption. Similarly, the cloud may push services to the edge servers, and the edge can be deployed and updated online. In most cases, the devices should be connected to the edge and the cloud simultaneously, as represented by the solid and dotted lines in Figure2。这是因为,并非所有的数据必须预处理,边缘服务器,更重要的是,可以提高整个系统的鲁棒性。如果边缘分解,云可以继续提供更好的服务。在这项研究中,我们遵守边缘计算范式,如图2在Android恶意软件检测系统的设计。
3所示。相关工作
重新包装的Android应用程序是手机恶意软件的主要来源之一,和广泛的研究已经开展了关于Android恶意软件检测。在本节中,我们将回顾最密切相关的研究。边缘的典型研究计算也回顾了提供更多详细的背景信息。
3.1。脱机检测
重新包装的Android应用程序和恶意软件可以有效地检测到通过代码比较上年。DroidMoss [25)侧重于应用程序代码,进行成对相似性比较的检测在Android市场重新打包应用程序。检测结果表明,5%到13%的应用托管在第三方市场被重新包装。然而,两两比较的方法不能扩大,因为数以百万计的Android应用程序现在可以在市场。为了解决这个问题,邵et al。26)提出了检测ResDroid重新打包的应用程序在Android市场通过各个击破的策略。首先,他们建立了一个<我>k d我>树和插入到集群中含有一个或多个应用程序<我>k d我>树。然后,应用程序中与他们的邻居<我>k d我>树,比较的数量减少。假设应用程序从官方市场良性,Massvet [27提前从安卓市场下载所有应用程序和构建<我>v-core我>(查看图的几何中心)<我>m-core我>(Java方法的特征映射到一个索引)数据库重新包装Android恶意软件检测。两个数据库被用来审查提交的新的应用市场。新应用程序将报道为恶意,如果他们重新包装<我>v-cores我>或<我>m-cores我>类似于记录在数据库和代码是不合法的重用。
除了代码相比,行为和基于ui的检测方法也正在出现。DroidChain [28构造一个行为链模型,由Android应用程序的典型行为过程的检测恶意软件。在DroidChain,典型的行为包括隐私泄漏,短信金融收费,恶意软件安装和升级特权。根据田et al。29日),重新包装的恶意软件是很难发现,部分原因是良性的应用程序行为的相似之处。要解决这个问题,他们提出了一个新的重新包装Android恶意软件检测技术是基于代码的异质性分析。应用程序的代码结构被分割成多个dependence-based地区,和每个区域独立分类根据其行为特征。De洛伦佐et al。30.)提出了可视化VizMal Android应用程序的执行跟踪和突出显示潜在的恶意行为。林等。31日)提出了检测重新打包的Android应用程序基于静态UI功能。他们发现3723重新打包应用程序对Anzhi市场和15856年重新包装对Mi市场。这些结果说明重新包装恶意软件仍然对手机用户的安全构成了严重威胁,尽管提出了各种类型的检测方法和采用Android市场(32]。
最近,一些基于网络的方法已经提出了重新打包应用程序和恶意软件的检测。Arora和Peddoju33)展示了使用网络流量检测Android恶意软件的有效性。吴et al。34)应用HTTP流量分为2类:主模块交通流量和非基本模块。主要模块的流量,HTTP流距离算法和匈牙利方法被用来计算交通相似性和识别类似的应用对。CREDROID [35)确定恶意程序的基础上域名服务器(DNS)查询和数据传输到远程服务器。Zulkifli et al。36)提出了一个Android恶意软件检测方法基于七个网络流量特性和J48决策树算法。陈等人。37gravitation-based]介绍了不平衡数据分类算法的分类不平衡数据的恶意软件。他等。14,38)提出了识别加密应用程序通过交通流的相关性和重新包装的检测Android应用程序通过网络行为的比较相似的应用程序。在这些方法中,检测主要是在路由器或网络进行监测节点;因此,移动设备的性能不受影响。然而,网络行为的恶意软件必须提前进行建模,在实践中是具有挑战性的。
3.2。设备内置检测
Android恶意软件的检测也可以进行用户的移动设备(39]。Alzaylaee et al。40)从实际设备中提取特征并使用深度学习系统来检测恶意的Android应用程序。Shamili et al。41)提出了一个分布式支持向量机(SVM)算法对Android恶意软件的检测网络上的移动设备。检测功能包括短期调用,媒介时间电话,和即将离任的SMS(短消息服务),等等。实验结果表明,在训练阶段每个客户的平均计算时间是将近10秒。赵et al。42)实施了恶意软件检测框架,即RobotDroid,使用一个支持向量机主动学习算法。RobotDroid监控所有正在运行的应用程序来识别他们的运行特点。这些特征后输入学习模块生成的行为特征分类正常的应用程序和恶意软件。根据他们的绩效评估,访问时GPS是女士从80增加到近120 ms检测系统时执行。因此,智能手机的性能,利用这个框架将显著退化。Shabtai et al。8]监控应用程序的移动设备的网络行为检测重新包装Android恶意软件,检测精度超过80%;然而,他们的方法的性能开销不是可以忽略不计。例如,它需要7272 kB15内存消耗和13%1.5学习的CPU消耗10 Android恶意软件检测模型。
为了进一步提高设备内置的性能检测,Crowdroid [10)发送检测功能到一个集中的服务器进行处理。Crowdroid只记录了系统调用检测功能,它是轻量级的。现场et al。43]提出的APK审计师,这是一个系统,使用权限为Android恶意软件检测静态分析功能。APK审计包括三个部分:(1)签名数据库;(2)一个Android客户端;和(3)一个中央服务器上。Android应用程序客户端发送到中央服务器进行分析。中央服务器提取权限请求的应用和计算允许恶意软件得分基于恶意软件的权限。如果分数超过某一阈值,应用划分为恶意软件。结果表明,特异性的APK审计师达到92.5%;但是,它缺乏动态分析的好处,因为它不能检测动态恶意载荷。
莫奈(17)也使用后端服务器和客户端应用程序来检测Android恶意软件。客户端应用程序构建一个有向图的应用组件和系统组件,它记录了有潜在危险的系统调用检测功能。这些特性是转发到后端服务器,进行进一步检测通过应用签名匹配算法并返回检测结果。实验结果表明,莫奈可以检测Android恶意软件预测的准确率为99%。然而,莫奈的性能开销很高。所示(17),莫奈对内存和I / O开销8%基准和电池5.5%的开销。最近,艾尔沙德et al。44SAMADroid提议,这是一个三层混合模式为Android恶意软件的检测。同样,SAMADroid客户端应用程序和分析服务器。客户端应用钩子<我>Strace我>工具痕迹的系统调用用户应用程序。如果用户调用的应用程序仍然运行在设备上,客户端应用程序继续追踪用户程序的系统调用,生成的日志文件系统调用。后,日志文件发送到SAMADroid服务器与用户应用程序的标识符,在服务器相同的用户应用程序下载商店和静态分析。然后,静态特性和动态特性从日志文件中提取嵌入到一个向量空间。最后,提供的功能是作为输入到机器学习分类的工具。他们的实验结果表明,随机森林产量99.07%的准确率在82.76%的静态特性和动态特性。的性能开销SAMADroid CPU,内存为0.6%,1.8%。在以前的工作45),我们使用移动边缘计算检测恶意程序。我们扩展边缘计算模式和改进的聚类方法研究。
3.3。边缘计算研究
边缘的愿景和挑战计算介绍了文献[24]。边缘计算的基本策略是部署云计算在网络的边缘完善物联网(性能和创建新的应用程序46]。然而,边缘的部署位置和边的功能是有争议的。因此,在应用程序中,边缘计算可以实现为雾计算(47),移动边缘计算(48,49),和移动云计算50]。在雾中计算范式,分析当地的信息进行“地面”,协调和全球“云进行分析。“一个可以认为所有对象以外的云构成地面;因此,雾计算是计算几乎一样的优势。
移动边缘计算部署云服务在移动网络的边缘如5克。即边缘部署在靠近eNodeB,循环流量通过移动边缘计算服务器进行进一步的数据处理。因此,在移动计算边缘,边缘是固定的,和边缘服务器可以由电信公司提供。移动云计算主要关注移动代表团:移动设备应代表批量数据的存储和计算密集型任务的执行到远程实体。远程实体可以是一个集中的云或另一个移动设备。因此,边缘可以由移动云计算的移动设备。因此,最活跃的研究领域之一,在移动云计算领域的任务委托给外部服务,尤其是对其他移动设备。任务代表团也是必不可少的边缘计算(51]。
在这项研究中,我们提供了一个轻量级的、高效的框架来重新包装Android恶意软件的检测是基于边缘计算。在拟议的框架中,移动设备只需要记录起始时间流,流协议,服务器端IP地址,服务器端端口,每个网络流应用程序名称和版本。之后,这些数据被发送到边缘服务器的流量标记。由于大量的数据保存和发送很小,移动设备的性能没有明显退化。标签的边缘服务器提取检测特征应用网络流量和发送提取的特征到云计算集群。聚类后,可以有效区分原始和打包的应用程序。在我们的研究中,只有网络流量被认为是Android恶意软件检测。相比以前的基于网络的方法如(14,34- - - - - -36),我们不需要模型应用的网络行为提前和我们的方法在实践中更有用。
4所示。Android恶意软件检测的框架
Android的设备内置检测恶意软件是具有挑战性的,因为移动设备通常具有有限的资源。缓解存储和计算的局限性和延长移动设备的寿命,在这项研究中,我们提出一个新的框架重新包装设备上检测的Android恶意软件。拟议的框架如图3。
我们的框架由三层组成:移动设备,边缘和云。首先,我们解释了可能的边缘的位置;后来,我们引入了每个组件的功能。在我们的框架,唯一的要求就是它可以监视和处理移动网络流量。移动设备可以连接到互联网通过WiFi或3 g / 4 g;因此,边缘节点可以无线网关,家庭安全网关BitDefender盒和LTE eNodeBs等。边缘节点也可以是位于骨干网路由器如果他们能遵守交通所产生的移动设备。因此,边缘节点的部署位置是灵活的。图4说明了边缘的部署场景。
(一)
(b)
(c)
在拟议的框架中,移动设备必须收集和发送流metaformation边缘进行数据预处理。为此,edge-client应用程序被设计为在移动设备上运行。edge-client应用程序是一个Android VPN应用。其主要目标是收集和传输流的元,其中包括应用程序的名称,起始时间,和流协议,以反复的边缘。流的元,边缘服务器进行预处理的网络流量通过添加一个标签为每个流(应用程序名称)。之后,它从这些标记流提取检测特征。交通标识和特征提取部分中详细说明5.2。一旦已完成特征提取,边缘服务器发送这些特性到云上。与接收到的特性,云进行恶意软件检测任务和通知移动设备的检测结果。
进一步说明该框架的优点,我们比较它与可用的框架。自提出框架是基于边缘的计算,我们将把它作为edge-computing-based框架在下面。同样的,可用的框架称为云计算框架(服务器端部分中描述的检测方法1)和基于网络的框架(基于网络的方法,介绍了部分1和3)分化。而流行的云计算框架(图5(一个)),edge-computing-based框架的最突出的优点是,特征提取过程是将边缘和移动设备必须保存和传输流的元。因此,提出了移动设备lubuntu edge-computing-based框架。
(一)
(b)
基于网络的框架(图5 (b))移动设备监控网络流量没有任何干扰。然而,它是不准确,因为网络节点不能精确知道网络流的起源,也就是说,它不能识别应用流量有100%的准确度。在文献[演示14),由于网络节点不能确定每个流的应用程序(例如,一些流缺乏签名或加密),应用程序的网络行为是不完整的,恶意软件检测精度降低。提出edge-computing-based框架,我们设计一个轻量级edge-client应用收集应用程序信息。此外,可以更好的保护手机用户的隐私在计划的框架。通过部署自己的边缘服务器,移动用户可以控制的类型信息,可以作为检测功能。相比之下,在基于网络的框架中,网络节点可以观察到完整的交通内容和提取任何他们想要的信息,这严重威胁到移动用户的隐私。
介绍通用体系结构后,我们轮廓检测方法,可用于edge-computing-based框架。云计算可以使用各种方法来检测Android恶意软件。例如,它可以使用传统的签名匹配(35)和网络行为分析(8,14)来识别恶意程序。然而,这些类型的方法需要先验信息(如签名或行为模型)。在本文中,我们提出一个新颖的重新包装的恶意软件检测方法,集群的网络流量是由相同的应用程序从不同的移动设备。图6提出了这一过程的一个例子。
背后的动机交通集群有两方面:首先,多数Android恶意软件是由重新包装流行的应用程序(4),和流行的应用程序经常是广泛分布的。第二,网络流量产生的重新包装产生的恶意软件不同于原始的应用程序(如部分2.1)。如图3,许多移动设备将连接到云的恶意软件检测。因此,云计算可以观察到两个原始应用程序的网络流量特性及其与大概率重新打包的版本由于流行的应用程序的广泛分布和大量的移动设备。如果我们认为原始应用程序的特点是正常数据和重新打包的版本的特性的异常数据,重新包装的恶意软件检测问题转化为<我>异常检测问题我>。聚类是一种有效的方法来解决这个问题(52]。通过集群应用程序的网络流量特性,我们不需要模型应用的网络行为,而且,更重要的是,我们可以检测各种重新包装原始版本的应用程序,如图6。的细节提出恶意软件检测方法将详细描述部分5.3- - - - - -5.5。
5。方法
在本节中,我们介绍的技术细节提出了Android恶意软件检测聚类方法。表1本文定义了我们使用的主要符号。
|
||||||||||||||||||||||||||||||||||||||||||||||
5.1。系统概述
图7说明了该方法的主要过程。应用程序<我>我我>是审查的程序,已经安装了<我>u我>移动设备。这些<我>u我>设备连接到<我>e我>边缘服务器。我们假设<我>r我>设备已经安装了重新包装恶意软件(恶意软件也提出了应用程序<我>我我>欺骗用户), 。因此,大部分的设备已经安装了原始版本。这种情况是合理的,因为重新包装Android恶意软件通常是分布在第三方市场,比官方市场不受欢迎(23]。因此,下载和安装的数量相对较小。我们将使用这个特征对聚类结果进行分类。
重新包装的恶意软件检测,边缘服务器标签的网络流是由应用程序生成的<我>我我>据流的元。然后,它提取合适的交通特性(如交通内容和统计)从标记流和发送到云的特性进行处理。因此,有<我>u我>特性集的应用程序<我>我我>在云端。这些云过滤器<我>u我>根据应用程序集版本和删除公共交通。之后,它计算了成对相似性的特性集。最后,集群相似的价值观和标识<我>r我>重新包装的恶意软件实例。
交通标记、特征提取和筛选(标签①,②,③图7),交通上的相似性计算内容和行为(标签④⑤),和聚类的相似性值(标签⑥)是该方法的核心元素。他们将在以下部分中详细描述。
5.2。交通标识、过滤和特征提取
5.2.1。交通标识
在这项研究中,交通标识进行识别相应的应用程序为每个网络流,这被称为应用程序识别问题(53]。广泛的作品进行了从移动网络流量识别的应用38,54,55]。然而,实现识别精度都低于100%。在我们的方法中,我们设计一个edge-client应用收集流metaformation和准确识别应用。流的元以下定义。
定义1(流元)。我>为流<我>f我>,流的元包括客户端IP地址<我>C -我>知识产权f我>流起始时间<我>T我>f我>流协议<我>P我>f我>,服务器端IP地址<我>S -我>知识产权f我>服务器端端口<我>S -我>港口f我>,应用程序的应用程序名称<我>N我>f我>应用程序,应用程序版本<我>V我>f我>。流<我>f我>是双向的,<我>P我>f我>是传输层协议,如TCP或UDP。
edge-client应用类似于一个VPN应用。应用程序发送的流的元边缘服务器在一个固定的时间间隔<我>T我>我我>。一旦收到了流的元,边缘服务器保存到元数据库和标签可以移动应用流量准确。表示流动观测到边缘服务器<我>f我>u我>。边缘服务器标签<我>f我>u我>如下:第一步:提取记录时间的<我>f我>u我>和它的流协议
,客户端IP地址
,服务器端IP地址
,和服务器端端口
。第二步:搜索的元数据库
,
,
,
。如果记录匹配,数据库返回的记录最近流起始时间
。否则,该边缘服务器等待一段时间,重复步骤2。步骤3:如果接近
,边缘服务器标签流<我>f我>u我>作为<我><我>应用程序<我>N我>f我>、应用程序<我>V我>f我>>。我>否则,等待一段时间,重复步骤2和3。在上面的步骤中,客户端IP地址用于识别移动设备独有的,这是正确的,当无线网关或eNodeB边缘服务器。在这种情况下,移动设备直接连接到边缘;因此,每个设备的IP地址是独一无二的。然而,如果边缘服务器部署在骨干路由器,如子图中所示(图c)4,可能是令人困惑,因为移动设备可以位于nat之后(网络地址转换),它们将共享相同的公共IP地址。为了解决这个问题,edge-client应用可以插入特殊指标包独特的代表一个设备。在这项研究中,我们总是假设是独一无二的,我们将在以后的工作中调查device-indicator的实现。
在步骤2和3,边缘服务器利用wait-and-repeat策略以确保交通标记是新鲜的和准确的。边缘服务器必须等待,因为移动设备发送的元流动到边缘服务器在一个固定的时间间隔<我>T我>我我>(60年代在我们的实验),并在数据库中保存的流的元可能是过时的。在我们的实现中,等待时间设置<我>T我>我我>,如果
,返回的流的元被认为是过时了。
5.2.2。交通特征提取
交通标识后,边缘服务器提取检测特征标记的流量。提取的交通特性分为两组:交通内容特征和交通行为的特性。交通内容特征提取的明文内容HTTP流,和交通行为特点是网络流的统计信息,如包大小和间隔。因为Android应用程序可能使用一个加密的HTTPS协议传输数据(54)、交通行为特性也必须考虑。交通内容和交通行为特点详细描述部分5.3和5.4。
5.2.3。流量过滤
后交通特征提取,提取的边缘服务器发送功能,以及客户端IP地址,服务器端IP地址,服务器端港口、应用程序名称<我>N我>f我>,应用程序版本<我>V我>f我>云。注意,应用程序<我>我我>安装在<我>u我>设备;因此,云计算的最终<我>u我>特性集的应用程序<我>我我>。图8说明了结构的特性集,云进一步过滤这些<我>u我>特性集来提高检测精度。首先,它把<我>u我>设置成类别根据应用程序版本<我>V我>f我>。因此,每个类别包含的特性集生成的相同版本的应用程序<我>我我>。然后,对于每一个类别,云消除了常见的流量特性集。公共交通被定义为网络流中包含所有功能集。这些流有相同的服务器端IP地址和相同的服务器端端口号。这一步的原因是常见的交通会使应用程序之间的相似度计算。否则,特征集之间相似度值都高,他们不能有效地用来区分恶意软件从原始应用程序重新打包。
过滤完成后,计算特性集的相似性,相似性值集群识别恶意软件重新包装。
5.3。相似度计算的流量内容
Android应用程序使用HTTP和HTTPS协议主要与他们的远程服务器通信54]。对于HTTP流量,因为它是基于明文的,我们可以有效地使用流内容来计算相似度。基本策略是将HTTP流量转换成文档文件、文档和文件可以由信息检索技术相似度计算。HTTP流内容也被用于应用程序识别网络流量(55]。然而,在这项研究中,我们只考虑局部HTTP头信息来更好地保护手机用户的隐私。
在细节中,首先,我们重组HTTP流从数据包,提取流内容相应的数据包内容保存到一个文本文件为ASCII代码。图9显示了这样一个例子。然后,我们进行预处理的文本文件删除HTTP请求内容和HTTP请求头,除了得到(或职位)和主机字段。HTTP响应内容也删除,即只有HTTP响应头,得到(或文章),主机在HTTP请求头保存。通过这种方法,移动用户的隐私保护的云(例如,移动电话用户代理(华为)泄露的信息字段,如图9)。之后,文本文件泄漏使用特殊字符(例如,{/,,,,=,…}),和处理文件成为流内容的功能。
通过改进TF-IDF相似度计算算法(56和余弦相似性。这个词在文档中单词计数频率的措施。我们使用增强的频率测量。表示文档(功能设置)<我>d我>我我>和这个词 。词的频率 是计算 在哪里 出现的次数在文档<我>d我>我我>。
逆文档频率词提供的信息量。通常,它是文档的数量的对数比例逆分数包含这个词。逆文档频率是计算 在哪里<我>u我>文档的数量和吗 这个词的文档数量吗出现了。
表示由 的产物 和 ;它是制定
TF-IDF操作后,所有文件转换成等长数值向量。我们使用余弦相似度来衡量两个文档向量之间的相似度。的文档<我>d我>我我>和<我>d我>k我>,相应的数值向量表示<我>V我>(<我>d我>我我>),<我>V我>(<我>d我>k我>)和向量的长度<我>t我>。之间的相似性<我>d我>我我>和<我>d我>k我>是计算
假设,在类别(我们把<我>u我>特性集生成的应用程序<我>我我>在类别的流量过滤步骤),<我>c我>特性集。对于每个特性集,我们保存该流特性的HTTP流到一个文本文件<我>c我>文本文件。然后,我们为每个特性集通过计算数值向量方程(3)。最后,我们互相比较数值向量方程(4),并获得<我>c我>相似度值( )为每个特性集,我们代表这些特性集的相似度值<我>d我>我我>(<我>我我>= 1,2,…<我>c我>)作为一个向量和 。向量(<我>我我>= 1,2,…<我>c我>),结合交通行为的相似度值,将集群识别异常数据点,即重新包装的恶意软件。
5.4。相似度计算的交通行为
除了计算流量内容的相似度值,相似的交通行为必须计算由于加密流。我们使用<我>米我>(<我>米我>= 11在我们的研究中)统计特性列在表中2代表一个加密的网络流的行为。流的单位时间和数据包间隔时间毫秒在我们的实验。
|
流量统计功能,特性集<我>d我>我我>,<我>j我>th加密流可以表示成一个向量在特征空间: 在哪里代表的价值<我>l我>th统计特性,≤1<我>l我>≤<我>米我>。图10显示了一个示例为加密流量的特征表示。因此,交通行为<我>d我>我我>可以表示成一个矩阵的 : 在哪里<我>n我>是中包含加密流的数量吗<我>d我>我我>和<我>n我>≥1。
因为不同的特性集的数量可能有所不同的加密流,交通行为和可能不同的不同的维度,即价值的<我>n我>我我>不应该等于的<我>n我>k我>。有效地计算相似性和 ,弗罗贝尼乌斯范数的计算和 。中给出的公式是方程(7),规范(·)规范化的价值[0,1]:
然后,之间的距离和是计算
最后,之间的相似性和可以通过计算
在上述过程中,<我>n我>我我>和<我>n我>k我>被认为超过1。如果<我>n我>我我>= 0 (<我>n我>k我>= 0),<我>n我>k我>≥1 (<我>n我>我我>≥1),设置为0,以反映之间的显著差异<我>d我>我我>和<我>d我>k我>。然而,如果<我>n我>我我>= 0和<我>n我>k我>= 0,即没有加密流<我>d我>我我>和<我>d我>k我>,设置为1,因为他们表现出不同的行为,即。,他们不产生任何加密流量。
同样,我们让 和这些相似度值表示为一个向量 。
5.5。聚类相似度值和恶意软件检测
从交通内容相似和交通行为相似 ,我们可以确定最终的相似度值之间的特性集<我>d我>我我>和<我>d我>k我>用方程表示(10)。在这个方程,<我>问我>是重量值。在我们的实验中,我们设置<我>问我>= 0.5,即交通内容相似度和交通行为相似性被分配相同的重量。这是因为应用程序通常产生几乎相同数量的HTTP和HTTPS流(57]。我们也评估各种加权值的部分6.2,实验结果支持,0.5是最合适的值。的特性集<我>d我>我我>,一个向量 终于获得,其中包含之间相似性值吗<我>d我>我我>和其他特性集。向量的集合 将集群重新包装的恶意软件的检测:
具体而言,我们使用峰值密度聚类方法(58实现我们的目标。密度峰聚类是基于以下假设:集群中心的特点是密度高于他们的邻居和一个相对大点的距离有更高的密度。因此,密度峰值集群可以自动识别正确的数量的集群。这是很重要的,因为我们不知道是否有重新包装恶意软件或有多少类型的恶意软件重新包装。换句话说,我们不能提前确定集群的数量。密度峰值集群可以帮助我们克服这一挑战。
我们假设大多数移动设备已经安装了原始的应用程序,作为讨论的部分5.1。因此,聚类后,最多的体素的集群将被认为是原始的,和其余集群将被视为可疑。然而,可疑程序不一定是重新包装的恶意软件。例如,应用程序只能重新包装展示广告。这种类型的打包应用程序不应该简单地判断恶意软件。此外,原始应用程序可以怀疑由于不同的用户行为。为了进一步减少假警报的频率,我们可以检查服务器主机名使用VirusTotal重新包装中包含集群(url包含在HTTP流量内容)。如果所有的可疑的集群服务器的主机名<我>C我>r我>判断是干净的,它将被视为一个集群的异常但是无害的应用。否则,它将确定为重新包装的恶意软件。通过这种方法,我们可以准确地检测重新包装Android恶意软件。在这一步中,我们只使用VirusTotal白名单排除假警报。我们不使用它作为重版书(检测签名)来检测恶意软件重新包装。恶意软件检测仍实现了聚类相似度值。
6。评价
6.1。系统实现和数据集
图11说明我们的实验设置。安卓手机通过无线连接到边缘服务器,每个电话都有安装edge-client应用,将流的元发送到边缘服务器使用套接字(java.net.Socket)。边缘是一个戴尔PowerEdge R730服务器(32处理器、16 GB的RAM和12 TB的硬盘)配置作为一个访问点。在边缘服务器,我们使用<我>tcpdump我>(http://www.tcpdump.org/)收集网络流量。交通内容和行为的相似性计算和聚类的相似性值是在Windows Azure云计算平台上实现。使用URL进行检查<我>Virustotal我>(https://www.virustotal.com/)。
在实现中,我们使用<我>aria2c我>(https://aria2.github.io/)从Androzoo下载应用程序(https://androzoo.uni.lu/)。aria2c在Python代码封装为命令并行下载。下载应用程序后,我们自动安装手机使用<我>亚洲开发银行我>shell命令。每个手机都有40测试应用程序安装。我们已经实现了edge-client应用基于Android的VPN服务。在我们的实现中,edge-client应用网络流和相关应用,解决港口和pid(进程id)将收集到的新流的元发送到边缘服务器每隔60秒。使用的边缘服务器<我>tcpdump我>收集网络流量,保存为pcap文件。提取交通特性,我们使用<我>Splitcap我>(https://www.netresec.com/?page=SplitCap从pcap文件)恢复tcp流。然后,HTTP流量,我们提取内容使用tshark (https://www.wireshark.org/docs/man-pages/tshark.html)命令<我>- z遵循我>,<我>tcp我>,<我>美国信息交换标准代码我>。包的大小和包间隔时间也得到tshark——与命令<我>e frame.len我>- - - - - -<我>e frame.time_relative我>。在云中,和计算使用scikit-learn (http://scikit-learn.org/)和Numpy (https://plot.ly/numpy/norm/)。的代码密度峰值集群可以在GitHub (https://github.com/jasonwbw/DensityPeakCluster),我们有固定的各种错误出现在原始代码。
我们已经下载了200对原始和打包的应用程序从Androzoo进行测试。然而,并不是所有这些重新打包应用程序恶意下载。一些应用程序只有重新包装显示额外的广告。筛选出Android恶意软件的下载打包应用程序,我们进一步检查了200个使用Virustotal重新打包应用程序。如果一个应用程序被认为是安全的所有的杀毒工具,贴上<我>repackaged_safe我>在我们的实验。否则,它被贴上<我>repackaged_malware我>。总的来说,通过Virustotal 143重新打包应用程序检测恶意软件。然而,在我们的实验中,我们评估了聚类方法在所有200年提出重新打包应用程序获得更实际的性能结果。
下载的应用程序运行在10的Android手机并行加速实验进程。对所有应用程序中,我们使用Droidbot [59)输入事件发送给他们,自动生成网络流量。我们每个重新打包应用程序(repackaged_safe和repackaged_malware应用)和相应的原始应用程序30倍十倍以产生足够的网络流量。原始应用程序的运行时间超过了重新打包的应用程序,因为我们假设大多数的应用程序是原始的,作为讨论的部分5.1。因此,我们获得40流量为每一对repackaged-original程序集。注意,从移动设备和边缘服务器,只有200个不同的应用程序,因为重新打包应用程序具有相同的名称作为相应的原始应用。因此,我们的实验模拟200 = 8000∗移动设备。对于每一对repackaged-original应用来说,有30设备与原程序和10设备重新打包的版本。
总的来说,我们收集到的近89 GB网络流量。的数据集用于我们的实验总结在表3。表中,交通数据集的大小是捕获网络流量的大小,和特征数据集大小的尺寸提取的特征。在我们的实验中,HTTP流量内容和流量统计功能,如表所示2都保存为文本文件。如表所示3,特征数据集明显小于流量数据集(25 g vs 63 g和9 g vs 26 g)。因此,边缘计算可以减少数据量,提高数据采集速度云计算(24]。因为特征数据集大小仍大(25 g + 9 g),我们没有同时发送所有这些特性数据到云。相反,我们发送特性数据。当一个应用程序的特性数据被成功接收到云,其交通相似性计算和集群。之后,另一个应用程序的特性数据将发送和分析。实验结果将在下面。
|
||||||||||||||||||||||||||||||||||||||||||
6.2。实验结果
在本节中,我们主要由聚类评估Android恶意软件的检测效率相似度值。的绩效评估方法的权力,内存和CPU消耗在以下部分阐述6.3。
类似于以前的研究(8,14),测量方法的性能,精度和<我>F -我>利用测量指标,定义在方程(11)和(12)。在方程(11)、TP、FN、FP和TN在表中定义4。在表4,<我>repackaged_x我>代表<我>repackaged_safe我>或<我>repackaged_malware我>。方程的精度和召回(12)通过方程计算(13)和(14):
|
||||||||||||||||||||
我们已经评估的准确性和<我>F -我>测量每个包装应用。记得我们每个重新打包应用程序和相应的原始应用程序30倍十倍。为每个应用程序,因此,最初的应用流量的数量设置为30,和打包的应用程序流量的数量是10,即TP + FN = 10和TN + FP = 30为每个应用程序。我们从repackage_malware随机选择20应用,和实验结果对这些应用程序介绍了数字12和13。选择20列出应用程序的详细描述表5。在表中,每个应用程序的主要功能是由分析AndroidManifest的包名。xml和Google搜索结果的包名称。如图12实现100%的准确率,总共6应用程序(app3, app5 app9, app10, app13,和app18)。最小精度是85% (app2, 34/40),平均精度为95.2%。图13介绍了<我>F -我>测量值。在我们的实验中,最大值<我>F -我>测量值是1,最小值是0.737。平均<我>F -我>测量值是0.888。这些结果表明我们提出的聚类方法的令人满意的性能。
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
我们也计算了平均精度和<我>F我>所有repackaged_safe测量值和repackaged_malware应用。在这些计算,TP + FN = 57∗10 = 570和TN + FP = 57∗30 = 1710 repackaged_safe应用。repackaged_malware应用,TP + FN = 143∗10 = 1430和TN + FP = 143∗30 = 4290。这是因为在我们的实验中,143个应用程序被认定为恶意软件打包,57应用作为Virustotal重新包装安全。因此,参数值不同。实验结果表中列出6。
|
||||||||||||||||||
根据表6repackaged_safe和repackaged_malware应用,平均精度值都高。然而,平均<我>F我>测量repackaged_safe应用只有0.78,低于重新包装的恶意软件。这表明重新包装安全应用程序很难区分原来的应用程序。这是因为repackaged_safe应用只产生少量的额外的网络流,和他们的网络流量特征不清晰可辨的正常交通。幸运的是,平均<我>F我>测量重新打包的恶意软件程序是杰出的。这可能是由于这一事实恶意软件通常发送被盗数据或从远程服务器接收命令。因此,他们的特殊网络流量特性和区分。图14礼物的一个示例应用程序集群和说明了重新包装的分辨率恶意软件和原始应用程序。这些结果说明重新包装Android恶意软件可以有效地检测到通过比较他们的网络流量与原始应用程序。
重新包装的恶意软件应用,精度结果与不同重量值(<我>问我>在方程(10呈现在图15。图中描绘的<我>问我>= 0.5,我们意识到准确率最高,为96.9%。如果<我>问我>= 0,即只使用加密流量的特点,准确的结果是75.3%。结果是61.7%<我>问我>= 1,即只考虑明文传输的特点。这些结果说明加密和明文交通导致分化的原始应用程序和重新包装的恶意软件。然而,交通贡献超过明文加密流量。这可能因为恶意程序通常连接到他们的服务器的安全协议来规避IDS检测。
在前面的实验中,我们检查了服务器的主机名使用VirusTotal减少假阳性的频率。为各种集群包含少于20元素,如果所有的服务器的主机名的人被认为是清洁,集群被确认为一个原始应用程序而不是重新包装。认为在节5.5,这个过程只减少了假警报的频率。支持这个论点,我们列出真阳性和假阳性的数量143重新包装的恶意软件在表7进行比较。进行主机名时检查,真阳性的数量是1400,结果都是一样的,当主机名检查是关闭的。这个发现支持,恶意软件检测到聚类相似度值。然而,假阳性的数量从47岁增加到213年的主机名检查。因此,我们建议检查服务器的主机名后集群提高该方法的实用性。注意,假阳性VirusTotal仍然发生在当我们检查主机名。因此,可能存在恶意软件在最初的应用程序。在我们的数据集,典型的例子<我>com.mobo.video.player.pro我>和<我>cn.cf。商店ele1.taoxiaosan我>。我们进一步分析这两个应用程序通过阅读他们的反编译代码,我们确定他们确实与可疑的服务器建立连接。在细节,在不同的运行时,应用程序<我>com.mobo.video.player.pro我>与http://www.topappsquare.com,恶意的判断是哪一个<我>CyRadar我>在VirusTotal。应用程序<我>cn.cf。商店ele1.taoxiaosan我>访问可疑网址http://955.cc/jSn9。因为这些应用程序是原始的应用程序,他们被确定为假阳性的实验。
|
||||||||||||||||||
在我们的实验中,我们选择密度峰聚类的聚类方法,因为密度峰集群可以自动确定正确的数量的集群(58]。因此,我们的方法可以检测各种版本的恶意软件从相同的原始应用程序重新打包。不幸的是,在从AndroZoo下载的应用程序,没有恶意软件从相同的原始应用程序重新打包。评估版本的恶意软件检测的有效性,我们创建了两个恶意软件实例从一个流行的游戏应用程序,也就是说,<我>air.com.aceviral.motox我>3所示。一个是由嫁接AnserverBot的源代码<我>air.com.aceviral.motox我>3,另一种是通过添加代码创建窃取用户的联系人和短信和发送到远程服务器。同样,每一个恶意软件运行10次和原始的应用程序<我>air.com.aceviral.motox我>3也运行10次验证。聚类的结果呈现在图16。显然,有三个集群。实验结果表明,的价值<我>F我>测量每一个恶意软件是1。因此,我们的方法可以检测各种恶意软件从相同的原始应用程序重新打包。
6.3。比较
在本节中,我们将我们的方法和典型的方法是基于网络或云,如图5。比较指标检测的准确性,<我>F我>测量,平均功率、CPU和内存消耗的移动设备。首先,我们比较该方法与AppFA [14),这是完全在网络层实现的。由于AppFA还必须分析应用流量,我们直接使用交通集重新包装的恶意软件应用比较。AppFA测试时,我们删除标签信息中包含的组和混合交通网络流作为一个整体。然后,我们使用了签名匹配和限制<我>K我>聚类算法则提出了(14恢复应用程序会话,即每个流的标签。类似的应用程序中使用AppFA选择通过方法介绍(在谷歌玩14),对于每一个恶意软件重新包装,10类似的应用程序被选为对等组。对等组应用程序被Droidbot生成网络流量运行一次。比较结果列在表中8。
|
|||||||||||||||||||||||||||
自从AppFA不需要安装一些特殊应用在移动设备上,额外的权力,内存和CPU消耗都是0。然而,检测精度低得多(86.3%比96.9%)相比,该方法的,而在表8。在该方法中,我们使用edge-client应用记录流元;因此,网络流可以准确地标记。然而,在AppFA,通过交通流标签实现聚类,聚类精度不能100%。同时,AppFA比较应用程序的网络行为与他们类似的应用程序,这也是导致错误。在该方法中,我们直接比较与原来的应用程序重新打包的恶意软件,并提高检测精度。平均功率,该方法的CPU和内存消耗也低,可以接受的。
在表8、电源、内存和CPU消耗我们edge-client应用的帮助下得到应用GT (https://github.com/Tencent/GT)。GT是一个便携式工具,智能手机上运行的调试应用程序内部参数和代码耗时的统计数据。功率的平均值、内存和CPU消耗计算如下。与Droidbot在运行应用程序之前,我们开始edge-client应用GT。Droidbot时停止,我们记录能力,CPU和内存消耗。我们重复这个过程,直到所有应用程序(包括143年重新包装恶意软件应用程序和原来的版本)已经测试。通过这种方式,我们获得的平均功率,CPU和内存消耗edge-client应用。根据表8,edge-client应用是轻量级的,移动设备的性能影响最小。
然后,我们比较该方法与SAMADroid [44]。SAMADroid监视器Android系统调用和发送到一个集中的服务器呼吁Android恶意软件的检测。设备内置SAMADroid是一个典型的基于云的检测方法。我们已经实现了动态检测根据描述(44]。详细的api调用的运行应用程序监视工具<我>敏感的API监控我>(https://github.com/cyruliu/Sensitive-API-Monitor)。在(做44),10个系统调用的频率值(brk开放,ioctl,读、写,sendto, sendmsg、recvfrom,和recvmsg)记录。这些记录的频率值被发送到Windows Azure的恶意软件检测。我们评估SAMADroid的动态检测性能143 repackaged_malware应用程序和原来的版本。评估的频率值的原始应用程序是用于创建正常模型,并重新包装的频率值恶意软件应用程序是用于测试。我们也使用这个软件GT记录的权力,SAMADroid内存和CPU消耗。请注意,我们的手机都是扎根,<我>Sensitive_API_Monitor我>可以使用和GT。实验结果展示在表9。
|
|||||||||||||||||||||||||||
最后,我们比较我们的方法与Shabtai的方法(8]。Shabtai的方法检测到Android恶意软件的移动设备,它只考虑应用程序的网络流量模式;HTTP流量内容不考虑。这给了我们一个机会来比较我们的方法与专门设计了加密流量的方法。我们实现了Shabtai # 2的方法和选择功能子集的检测功能。# 2特征子集包括Avg。发送字节,Avg,收到过。字节,Pct. Avg。接到。字节,其他值,它被证实是恶意软件检测的最佳特征子集(8]。决定选择/回归树分类算法。生成的测试数据集交通143年重新包装恶意软件实例,和训练集的交通是由相应的原始应用程序生成。分类结果列在表中10。根据表,检测准确性和<我>F我>我们方法的测量值明显高于Shabtai的方法。这意味着HTTP流量为Android恶意软件检测提供了有用的信息。自从Shabtai方法在移动设备上进行的,它比我们的方法消耗更多的资源,而在表10。
|
|||||||||||||||||||||||||||
7所示。讨论
我们广泛的实验的结果表明,重新包装Android恶意软件可以有效地和有效地检测到集群网络流量在边缘设备。然而,仍然有对我们的方法的局限性。首先,我们假设大多数的设备已经安装了原始应用程序( ,节中描述5.1)。这在大多数情况下是合理的,因为手机用户通常从官方下载的应用程序市场。然而,等官方市场的地区禁止使用谷歌,亚马逊,可能大多数移动设备重新打包的应用程序安装。这可能导致假阳性。第二,如果恶意软件没有产生足够的流量,我们的方法无法检测它。例如,一些恶意软件只发送短信欺诈溢价。这种类型的恶意软件不能检测到其网络流量监控。第三,我们依赖于第三方工具如Virustotal识别恶意url并减少假警报的数量。如果恶意应用租金法律平台等公共云作为远程控制服务器,我们的方法将会判断这是一个正常的应用程序。因此,假阴性将生成。
为了克服这些限制,我们可以将该方法与SAMADroid等可用方法。在这种情况下,edge-client应用不仅会记录流元也监控应用系统的行为。然而,系统行为监控不需要进行。如果检测到异常但无害或低流量应用,edge-client应用将通知记录相应的应用程序的系统行为。同样,edge-client应用程序可以发送应用程序系统行为到边缘服务器进行进一步处理。这种结合方法的性能将在我们未来的评估工作。人们还可以把拟议的框架与AppFA [14为其他类型的Android恶意软件的检测。例如,边缘提取应用交通行为特性和云可以比较应用程序的行为与他们的同辈群体识别异常。此外,我们可以首先使用集群技术(60]组重新打包应用程序根据相同的恶意的行为模块,然后分析每组代表重新打包应用程序来获得更精确的行为特性。
边缘计算的范例是用来检测Android恶意软件在这个研究。然而,在实践中会遇到的一些挑战当部署它:第一,移动设备必须安装指定的应用程序收集必要的信息,这可能会导致问题和移动用户可以拒绝合作。第二,在边计算,应该是预处理的数据优势更好地保护用户的隐私。然而,边缘服务器可以观察到的所有数据(包括敏感信息),威胁到用户的隐私。例如,如果边缘部署云提供商,用户的隐私信息也可以到云上。没有区别的隐私保护,除非user-cloud模型边缘服务器部署的用户。第三,边缘服务器应该免受网络攻击。否则,它将方便黑客窃取用户的私人信息。
8。结论
在本文中,我们提出一种新颖的基于边缘检测Android恶意软件的方法计算。我们所知,Android恶意软件利用边缘检测计算和交通集群之前没有考虑。通过引入边缘层,移动设备的主要任务卸载到边缘服务器和移动设备只需要记录流的元,大大节约了资源的移动设备。边缘服务器提取应用程序的网络流量特性和向云平台发送这些特性进行进一步分析。因此,可以更好的保护用户的隐私。收到特性,云计算应用程序的相似性和集群这些相似性值自动分离原始应用程序和恶意软件。400 Android应用程序,我们评估我们的方法和实验结果表明,该检测几个应用程序,精度可以达到100%,平均精度为96.9%。我们还测试了该方法的性能,并与典型的方法。比较结果表明,我们的方法可以检测重新包装Android恶意软件与更高的检测精度和更低的权力和资源消耗。在未来,我们将继续努力克服了限制和评估该方法在真实世界的场景。
数据可用性
下载的应用程序用于支持本研究的发现已被存入https://pan.baidu.com/s/1b8vMceIdtdd1gBRC5Gbzvw。其提取vd5r代码。聚类的代码也在存储库中。因为应用程序的网络流量包含用户的敏感信息,不能公开共享。然而,我们已经解释了所有的步骤自动生成网络流量。这些步骤也描述的指令。pdf在存储库中。
的利益冲突
作者宣称没有利益冲突。
确认
这项工作是由中国国家关键技术研究与发展计划下授予2018 yfd0401404,中国国家自然科学基金资助下61702282,61802192,和71801123,自然科学基金资助下的中国江苏高等教育机构18 kjb520024和17 kjb520023下南京林业大学拨款GXL016 CX2016026, NUPTSF格兰特NY217143之下。
引用
- Statista,<我>全球手机操作系统的市场份额从2012年1月至2019年12月我>2009年,Statista,汉堡,德国,https://www.statista.com/statistics/272698/global-market-share-held-by-mobile-operating-systems-since-2009/。
- w·马丁f . Sarro y, y,和m·哈曼,“软件工程,应用商店的调查分析”<我>IEEE软件工程我>,43卷,不。9日,第847 - 817页,2017年。视图:出版商的网站|谷歌学术搜索
- https://www.appbrain.com/stats/number-of-android-apps,2020年。
- t·f·d·l . Li Li Bissyande et al .,“理解安卓应用捎带:恶意代码移植的系统研究,“<我>IEEE取证和安全信息我>,12卷,不。6,1269 - 1284年,2017页。视图:出版商的网站|谷歌学术搜索
- x m .粉丝,j . Liu罗et al .,“Android恶意软件家族分类和代表性样本选择通过频繁子图的分析,“<我>IEEE取证和安全信息我>,13卷,不。8,1890 - 1905年,2018页。视图:出版商的网站|谷歌学术搜索
- j . Zhang z秦,k, h .阴和j .邹”Dalvik操作码图基于android恶意软件变种检测使用全局拓扑特性,”<我>IEEE访问我>》第六卷,第51974 - 51964页,2018年。视图:出版商的网站|谷歌学术搜索
- 美国Garg s . k . Peddoju, a . k . Sarje“基于网络的检测android恶意程序,”<我>国际期刊的信息安全我>,16卷,不。4、385 - 400年,2016页。视图:出版商的网站|谷歌学术搜索
- a . Shabtai l . Tenenboim-Chekina d . Mimran l . Rokach b . Shapira y Elovici,“手机恶意软件检测通过分析应用程序网络行为的偏差”<我>电脑与安全我>卷,43队,2014页。视图:出版商的网站|谷歌学术搜索
- l .谢张x, j。塞弗特,朱,“pBMDS:基于行为的恶意软件检测系统对于手机设备,”<我>《第三ACM无线网络安全会议上我>页,37-48 ACM,纽约,纽约,美国,2010年。视图:谷歌学术搜索
- 即Burguera, Zurutuza, s . Nadjm-Tehrani”Crowdroid:基于行为的android恶意软件检测系统”<我>学报第一ACM车间在智能手机和移动设备的安全和隐私我>页15-26 ACM,芝加哥,2011年10月,美国。视图:谷歌学术搜索
- a . g . Dini f•马蒂内利Saracino, d . Sgandurra“夫人:多层次异常探测器为android恶意软件,”<我>《国际会议上的数学方法,对计算机网络安全模型和体系结构我>》12卷,第253 - 240页,施普林格,圣彼得堡,俄罗斯,2012年。视图:谷歌学术搜索
- 张y、m .杨许b . et al .,“审查不可取行为与许可使用android应用程序分析,”<我>学报2013 ACM SIGSAC计算机与通信安全会议上我>ACM,页611 - 622年,柏林,德国,2013年11月。视图:谷歌学术搜索
- x z s . Wang Chen Li k, l . Wang和c .赵“Android恶意软件聚类分析在网络级行为”<我>国际会议智能计算的程序我>施普林格,页796 - 807年,利物浦,英国,2017年8月。视图:谷歌学术搜索
- g .他徐b和h·朱,“AppFA:一个新颖的方法来检测恶意网络上的android应用程序,”<我>安全性和通信网络我>美国新泽西州霍博肯市威利,2018年。视图:谷歌学术搜索
- 杨x, y, y曾庆红,“准确的移动恶意软件检测和分类在云中,”<我>SpringerPlus我>,4卷,不。1,p。583年,2015。视图:出版商的网站|谷歌学术搜索
- k . Tam a . Feizollah n . b . Anuar r . Salleh和l . Cavallaro“android恶意软件和android分析技术的发展,“<我>ACM计算调查(CSUR)我>卷,49号4 p。76年,2017年。视图:出版商的网站|谷歌学术搜索
- m .太阳x, j . c . s .他r·t·b·马和z .梁,“莫奈:面向用户的基于行为的android恶意软件变种检测系统,”<我>IEEE取证和安全信息我>,12卷,不。5,1103 - 1112年,2017页。视图:出版商的网站|谷歌学术搜索
- t·维达和n .克里斯汀“逃避android通过沙箱中运行时分析检测,”<我>第九届ACM学报》研讨会信息,计算机和通信安全我>《京都议定书》,页447 - 458年,日本,2014年6月。视图:谷歌学术搜索
- 段y、m ., a . v . Bhaskar et al .,“你可能不知道android(联合国)封隔器:基于全系统模拟,系统研究”<我>诉讼的2018网络和分布式系统安全座谈会我>圣地亚哥,页1 - 15、钙、美国,2018年2月。视图:谷歌学术搜索
- l .雪罗x l . Yu, s . Wang和d·吴“自适应解包的android应用程序,”<我>学报2017年IEEE / ACM第39软件工程国际会议(ICSE)我>IEEE,页358 - 369年,2017年5月,阿根廷布宜诺斯艾利斯。视图:谷歌学术搜索
- x y周和江”,解剖android恶意软件:特征和演化”<我>学报2012年IEEE研讨会上安全和隐私我>IEEE,页95 - 109年,旧金山,CA,美国,2012年。视图:谷歌学术搜索
- n . w . Lo, s . k . Lu和y . h .壮族“第三方安卓市场的框架来确定重新打包应用程序”<我>学报2016年IEEE 14可靠的国际会议上,自主和安全计算,14日国际会议上无处不在的智能和计算,第二大数据智能和计算国际会议和网络科学技术大会我>,第482 - 475页,奥克兰,新西兰,2016年8月。视图:谷歌学术搜索
- 李l . j .高,m . Hurier et al .,“Androzoo + +:收集数以百万计的android应用程序及其元数据研究社区,”2017年,https://arxiv.org/abs/1709.05281。视图:谷歌学术搜索
- w·史,j .曹问:张先生,y,和l .徐“边缘计算:愿景和挑战,”<我>IEEE物联网我>,3卷,不。5,637 - 646年,2016页。视图:出版商的网站|谷歌学术搜索
- w·周,周y、x江和p .宁”检测重新包装在第三方安卓智能手机应用市场,”<我>学报第二ACM会议数据和应用程序的安全性和隐私我>ACM,页317 - 326年,安东尼奥,TX,美国,2012年2月。视图:谷歌学术搜索
- 罗x, y邵c .钱p .朱和l·张,“对一个可伸缩的因方法检测将android应用程序重新打包,”<我>30年计算机安全应用研讨会论文集我>ACM,页56 - 65年,新奥尔良,洛杉矶,美国,2014年12月。视图:谷歌学术搜索
- 陈k, p . Wang y李et al .,“发现未知的恶意在10秒:质量审查的新威胁google-play规模,”<我>诉讼的USENIX安全研讨会我>卷。15日,华盛顿,美国,2015年8月。视图:谷歌学术搜索
- z . Wang c . Li y关,y雪,“Droidchain: android恶意软件检测方法基于行为链”<我>学报2015年IEEE会议通信和网络安全(中枢神经系统)我>IEEE,页727 - 728年,佛罗伦萨,意大利,2015年9月。视图:谷歌学术搜索
- k .田d d .姚明,b·g·赖德g . Tan和g .彭”重新包装与code-heterogeneity android恶意软件检测特点”,<我>IEEE可靠和安全的计算我>,17卷,不。1,第77 - 64页,2017。视图:出版商的网站|谷歌学术搜索
- a . De洛伦佐·马蒂内利e . Medvet f . Mercaldo和a . Santone“可视化动态分析的结果与vizmal android恶意软件,”<我>《信息安全与应用程序我>50卷ID 102423条,2020年。视图:出版商的网站|谷歌学术搜索
- 林m, d .张、苏x和t . Yu”有效和可伸缩的应用程序重新打包检测基于用户界面,”<我>学报2017年IEEE计算机通讯大会上车间(INFOCOM WKSHPS)我>美国IEEE,亚特兰大,乔治亚州,2017年5月。视图:谷歌学术搜索
- g .孟m·帕特里克·薛y, y . Liu和j·张,“保护android应用市场通过建模和预测之间的恶意软件传播市场,”<我>IEEE取证和安全信息我>,14卷,不。7,1944 - 1959年,2018页。视图:谷歌学术搜索
- a Arora和s . k . Peddoju”为android手机恶意软件检测,减少网络流量特性”<我>《18分布式计算和网络国际会议我>ACM海得拉巴,印度,2017年1月。视图:谷歌学术搜索
- 吴x, d .张、苏x和w·李”检测重新包装Android应用程序基于HTTP流量相似HTTP流量相似,“<我>安全性和通信网络我>,8卷,不。13日,2257 - 2266年,2015页。视图:出版商的网站|谷歌学术搜索
- j·马利克和r . Kaushal“Credroid: android恶意软件的检测网络流量分析”<我>学报第一ACM研讨会Privacy-Aware移动计算我>页,几个ACM,帕德伯恩,德国,2016年7月。视图:谷歌学术搜索
- a . Zulkifli i r·a·哈米德·w·m·沙阿和z阿卜杜拉,“Android恶意软件检测使用决策树算法,根据网络流量”<我>《国际会议上软计算和数据挖掘我>施普林格,页485 - 494年,Senai,马来西亚,2018年1月。视图:谷歌学术搜索
- 陈z,燕,h·汉et al .,“基于机器学习的移动恶意软件检测使用高度不平衡网络流量,”<我>信息科学我>卷,433 - 434,346 - 364年,2018页。视图:出版商的网站|谷歌学术搜索
- g .他徐,l·张,h·朱”手机应用程序识别加密的网络流的流量相关,”<我>国际期刊的分布式传感器网络我>,14卷,不。12 - 17,2018页。视图:出版商的网站|谷歌学术搜索
- x l .雪y, t . Chen罗和g .顾,”马尔:对设备内置非侵入性的移动恶意软件分析艺术”<我>学报》第26届USENIX安全研讨会我>加拿大温哥华,页289 - 306,2017年8月。视图:谷歌学术搜索
- m . k . Alzaylaee郑胜耀Yerima,美国经济特区,“DL-Droid:基于深度学习的android恶意软件检测使用真实的设备,”<我>电脑与安全我>文章ID 101663卷,89年,2020年。视图:出版商的网站|谷歌学术搜索
- a . s . Shamili c Bauckhage, t . Alpcan”恶意软件检测在移动设备上使用分布式机器学习,”<我>20国际会议的程序模式识别(ICPR)我>IEEE,页4348 - 4351年,伊斯坦布尔,土耳其,2010年8月。视图:谷歌学术搜索
- m .赵张t、f .通用电气和z元,“Robotdroid:一个轻量级的恶意软件检测框架在智能手机上,“<我>网络杂志我>,7卷,不。4 p。715年,2012年。视图:出版商的网站|谷歌学术搜索
- k .现场、d . i高山和c·艾登”APK审计员:采用android恶意软件检测系统”,<我>数字调查我>13卷,页1 - 14,2015。视图:出版商的网站|谷歌学术搜索
- s .艾尔沙德m·a·沙a·瓦希德a . Mehmood h .歌曲,和h . Yu”Samadroid:三级混合android操作系统的恶意软件检测模型,”<我>IEEE访问我>》第六卷,第4339 - 4321页,2018年。视图:出版商的网站|谷歌学术搜索
- g .他l . Zhang,徐b和h·朱”检测重新包装android恶意软件基于移动边计算,”<我>学报2018年第六次国际会议上先进的云计算和大数据(CBD)我>IEEE,页360 - 365年,兰州,中国,2018年8月。视图:谷歌学术搜索
- r .罗马,j·洛佩兹和m . Mambo”移动边计算,雾et al。:调查和分析的安全威胁和挑战,”<我>未来一代计算机系统我>卷,78年,第698 - 680页,2018年。视图:出版商的网站|谷歌学术搜索
- f . Bonomi r·米利托,j·朱和s . Addepalli“雾在物联网计算及其作用,”<我>学报》第一版的MCC车间在移动云计算我>13 - 16页。ACM,芬兰赫尔辛基,2012年8月。视图:谷歌学术搜索
- m·t·贝克·m·沃纳菲尔德,和s . Schimper“移动边缘计算:一个分类法,”<我>学报第六届国际会议上提出在未来的互联网我>,页48-55,里斯本,葡萄牙,2014年11月。视图:谷歌学术搜索
- p·马赫和z . Becvar移动边缘计算:一项调查在架构和计算卸载,”<我>IEEE通信调查和教程我>,19卷,不。3、1628 - 1656年,2017页。视图:出版商的网站|谷歌学术搜索
- h·t·Dinh c·李,d . Niyato p·王,“移动云计算的一项调查显示:架构、应用程序、方法,”<我>无线通信和移动计算我>,13卷,不。18日,第1611 - 1587页,2013年。视图:出版商的网站|谷歌学术搜索
- 江x律,h .田l . et al .,“选择性卸载移动边界计算的绿色物联网,”<我>IEEE网络我>,32卷,不。1,54-60,2018页。视图:出版商的网站|谷歌学术搜索
- 美国Agrawal和j . Agrawal”调查在异常检测,利用数据挖掘技术<我>Procedia计算机科学我>,60卷,第713 - 708页,2015年。视图:出版商的网站|谷歌学术搜索
- A . Tongaonkar”一看手机应用程序识别景观”,<我>IEEE网络计算我>,20卷,不。4、9 - 15,2016页。视图:出版商的网站|谷歌学术搜索
- g .他徐b和h·朱,“加密网络流量识别的移动应用程序,”<我>学报2017年第五次国际会议上先进的云计算和大数据(CBD)我>IEEE,页279 - 284年,上海,中国,2017年8月。视图:谷歌学术搜索
- g .野生动物、a . Tongaonkar和r·托雷斯“近似匹配的持续的词典使用的搜索引擎进行分类移动应用流量,”<我>学报》第35届IEEE计算机通信国际会议我>、IIEEE、旧金山、钙、美国,2016年4月。视图:谷歌学术搜索
- l·李和瞿美国“短文本分类基于改进ITC,”<我>计算机和通讯》杂志上我>,1卷,不。4月22 - 27日,2013页。视图:出版商的网站|谷歌学术搜索
- a . h . Lashkari a . f . a . Kadir也l .塔和a . a . Ghorbani”为发展一种系统化的方法来生成基准android恶意软件的数据集和分类,”<我>《2018年国际卡纳汉安全技术(ICCST)会议我>2018年10月,IEEE,蒙特利尔,加拿大,。视图:谷歌学术搜索
- a·罗德里格斯和a . Laio”集群的快速搜索和发现密度峰值,”<我>科学我>,卷344,不。6191年,第1496 - 1492页,2014年。视图:出版商的网站|谷歌学术搜索
- 郭y, z, y, x,“Droidbot:轻量级UI-guided测试输入生成器为android,”<我>《软件工程的同伴(ICSE-C)我>,页23日,布宜诺斯艾利斯,阿根廷,2017年5月。视图:谷歌学术搜索
- m .风机,罗x, j .刘et al。”图嵌入android恶意软件分析的基础家庭使用无监督学习,”<我>学报2019年IEEE / ACM第41软件工程国际会议(ICSE)我>IEEE,页771 - 782年,皮斯卡塔韦,新泽西,美国,2019年5月。视图:谷歌学术搜索
版权
版权©2020高峰等。这是一个开放的分布式下文章知识共享归属许可,它允许无限制的使用、分配和复制在任何媒介,提供最初的工作是正确引用。