近年来,在国内外的相关研究中,已经有许多专家学者对于Android恶意软件检测的方法和实际应用提出了自己的看法,方法各有千秋,总体上来说大部分的安全防护软件都是以第三方软件的形式出现,需要用户自己去安装使用。28078
大体上来说,国际上目前主要使用两大类方法检测智能手机恶意软件[ ]:一种是基于规则的方法,另一种为基于异常的检测方法。
而这两种方法在具体实现的时候,又可以分类为在程序安装和运行之前就进行的静态检测方式和需要运行程序的动态检测方式。
基于规则的方法一般把作者的签名、权限的组合和行为足迹等作为判定的规则。例如文章[ ]中的所使用规则就是把各种潜在的危险权限组合起来,系统通过检查特定的危险权限组合来判断该应用是否涉及到敏感API的恶意使用,以此来中止可能的恶意软件应用的安装。文章[ ]根据现有的恶意软件家族对权限调用的习惯进行调研,提出了一个基于使用权限的行为足迹匹配来检测Android恶意软件家族的样本。由于谷歌商店的准入标准比较严格,所以文章[ ]使用模糊哈希来检测第三方Android应用商店中的潜在恶意软件,主要是利用指令和程序作者信息来进行搜查检测,并作出判断。
基于异常的检测方法一般选取系统权限和调用,并且利用聚类和分类算法来区分常规软件和恶意应用。文章[ ]中实现了一个异常检测系统,该系统使用了Ad-Hoc网络中的联合异常检测算法,在软件使用中它可以从从Android系统的各个层次来获取系统数据,然后把获取的数据作为检测依据,并对数据进行处理。文章[ ]则提出了一个名为Andro-maly的,基于行为进行检测的Android恶意软件检测系统,通过测试运行的进程数目、CPU消耗和软件通过Wi-Fi发送的数据包数目等特征来寻找最典型的特征集合。文章[ ]提出了一种基于语义检测的安卓恶意软件静态检测技术Apposcopy,Appscopy包含一种用则来确认描述恶意软件家族希曼特征签名的高级语言,和为了决定一个已经给出的应用是否匹配恶意软件签名的静态分析。它使用了一种叫做组件联系图的程序表示新形式,有效地检测有某些操作和数据流内容的安卓应用程序,在几千个案例上都有很亮眼的表现。这种特征说明语言的语义的特性允许分析师指定恶意软件家族的关键特性,而不依赖于特定的说明或者字节序列的出现,使得Apposcopy对低级别的代码转换更加有抵抗力。文章[ ]提出了另一种使用支持向量机算法,基于行为的恶意软件检测框架Anti-MalDroid,把动态记录的行为序列作为特征来鉴别一个应用程序是否是恶意软件。论文网
顾名思义,静态分析主要通过对程序静态语法或结构进行分析来判定其是否具有恶意性,而动态分析主要通过监视程序的执行来检测是否产生了可疑的恶意行为。Android恶意软件的动态分析主要通过动态监控应用程序的执行及其与外部环境的交互进行检测,当然也有[ ]通过binder通信和代码注入拦截系统中server与client之间的通信数据,从而解析出非法调用信息的机制,或者将其嵌入到桌面中,从系统开启、应用程序安装升级、快捷方式创建等方面监控系统安全的方法[ ]。
上述的多种方法各有亮点,也都相应地存在一些缺陷。尤其是动态分析方法中,大多依赖于修改Android的系统镜像,注入代码或者修改相应的应用程序接口来实现功能。也就意着针对不断改进中的Android版本,需要进行重复的开发和投入,在实际应用中显得非常麻烦。所以需要研究和实现一种针对应用程序本身,不需要修改系统的动态检测方法。 Android恶意软件检测国内外研究现状:http://www.751com.cn/yanjiu/lunwen_22795.html