Android系统恶意代码动静态联合检测
2017-04-24任李
任李
摘 要 Android系统由于其开放开源的特征,被广泛使用于众多智能移动平台,同时其安全问题也日益突出。本文提出了一种基于Android平台的恶意代码动静态联合检测方法,克服了单一检测方式容易漏报、误报的缺点。
关键词 Android 动态 静态 恶意代码
1 引入
Android系统目前已经成为移动平台上主流的操作系统,在当前智能手机市场占有很高的份额,其安全问题也越来越引人关注。Android是以Linux为基础的开源软件,各大软硬件厂商在此基础上可以个性化定制开发自己的特色产品,升级提升技术,自主创新,但是正是由于这种开放开源的特点,也给Android平台带来巨大安全隐患。
2 Android安全机制分析
Android的安全机制十分重要,必须保护隐私信息不被泄露,防止恶意代码破坏系统自身。Android的安全机制是基于Linux安全机制改进而来,它是一个权限分离系统,可以有效隔离进程之间数据和内存。在此基础上,Android在应用框架层、运行环境层、内核层上都有自己的安全防范机制。但是,Android自身防范机制并不能完全有效阻止恶意代码,必须对未知代码进行检测,阻止恶意代码破坏。
3恶意代码静态检测
基于行为的恶意代码检测,是对源代码进行反汇编后抽取代码的系统结构和系统调用,分析判断其行为,计算和样本库中的恶意行为匹配度来判断。主要是抽取源代码中的敏感API信息、Intent信息、Content Provider信息作为备选特征项,通过SVD算法筛选相应属性。SVD提供了一种方法将一个矩阵拆分成简单的,并且有意义的几块,达到降低维度的作用。
4 恶意代码动态检测
移动平台手机交互行为難以获取,但系统变化状态可以观察,通过观察系统变化状态,侧面获取系统行为,图1为隐马尔可夫模型隐含状态和观察值转移。建立样本库行为序列HMM模型,检测源代码行为序列和HMM模型匹配程度,判断是否为恶意代码。
隐马尔可夫模型隐含状态和观察值转移对恶意代码进行检测时,分别获取样本序列和待测序列状态转移序列,建立相应的序列库,计算匹配率,如果匹配率超过阈值r,则判定为恶意代码。最后根据动静态检测准确度,赋予相应的权重,进行加权联合判断。加权公示如(2)所示。其中a1、a2分别是动态和静态检测的权重,p1、p2是动态静态检测出的概率。
5结束语
Android平台恶意代码攻击越来越多,单一的静态或者动态检测方式容易产生误报、漏报现象,本文提出了一种联合加权的Android平台恶意代码检测方式,能够有效避免漏报和误报现象发生。
参考文献
[1] 童振飞,杨庚.Android平台恶意软件的静态行为检测[J].江苏通信,2011(01):39-42+47.
[2] 周正,刘毅,李建,沈昌祥.计算机抗恶意代码免疫模型[J].计算机工程,2008(17):7-9.