面向海量软件的未知恶意代码检测方法
软件应用市场级别的安全审查需要同时具备准确性和可扩展性.然而,当前的审查机制效率通常较低,难以应对新的威胁.我们通过研究发现,恶意软件作者通过对几个合法应用重打包,将同一段恶意代码放在不同的应用中进行传播.这样,恶意代码通常出现在几个同源应用中多出的代码部分和非同源应用中相同的代码部分.基于上述发现,我们开发出一套大规模的软件应用检测系统——MassVet.它无需知道恶意代码的代码特征或行为特征就可以快速的检测恶意代码.现有的检测机制通常会利用一些复杂的程序分析,而本文方法仅需要通过对比上传的软件应用与市场上存在的应用,尤其关注具有相同视图结构的应用中不同的代码,以及互不相关的应用中相同的部分.当移除公共库和一些合法的重用代码片段后,这些相同或不同的代码部分就变得高度可疑.我们把应用的视图结构或函数的控制流图映射为一个值,并基于此进行DiffCom分析.我们设计了基于流水线的分析引擎,并对来自33个应用市场共计120万个软件应用进行了大规模分析.实验证明我们的方法可以在10秒内检测一个应用,并且误报率很低.另外,在检测覆盖率上,MassVet超过了VirusTotal中的54个扫描器(包括NOD32、Symantec和McAfee等),扫描出近10万个恶意软件,其中超过20个为零日(zero-day)恶意软件,下载次数超过百万.另外,这些应用也揭示了很多有趣的现象,例如谷歌的审查策略和恶意软件作者躲避检测策略之间的不断对抗,导致Google Play中一些被下架的应用会重新出现等.
恶意代码、MassVet、重打包、视图结构
1
TP309.5(计算技术、计算机技术)
国家自然科学基金U1536106,61100226
2016-09-21(万方平台首次上网日期,不代表论文的发表时间)
共15页
24-38