[发明专利]基于API依赖关系图的安卓恶意代码检测方法有效
| 申请号: | 201710009886.X | 申请日: | 2017-01-06 |
| 公开(公告)号: | CN106874762B | 公开(公告)日: | 2019-09-17 |
| 发明(设计)人: | 官全龙;罗伟其;张焕明;张凌燕 | 申请(专利权)人: | 暨南大学 |
| 主分类号: | G06F21/56 | 分类号: | G06F21/56 |
| 代理公司: | 广州市华学知识产权代理有限公司 44245 | 代理人: | 李斌 |
| 地址: | 510632 广*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 api 依赖 关系 恶意代码 检测 方法 | ||
本发明公开了一种基于API依赖关系图的安卓恶意代码检测方法,用于审核软件开发者提交的安卓应用软件,检测软件是否带有恶意行为。该方法包括下述步骤:S1、根据对应用软件的语义分析,生成API依赖关系图API‑DRG;S2、利用基于聚合的索引方法在API‑DRG数据库中去匹配最相似的依赖关系图;S3、通过对正常代码数据库NormalDB和恶意代码数据库MalwareDB的查询分别完成异常检测和签名检测。本发明通过以上创新方法完成安卓恶意代码分析与检测的自动化操作,并有效提高恶意代码检测和分类的准确率。
技术领域
本发明涉及移动安全的研究领域,特别涉及安卓恶意代码检测方法,利用语义认知的加权API依赖关系图对安卓恶意代码进行安全检测。
背景技术
苹果、谷歌移动应用市场的App数量超过250万,下载量远超过800亿次。正是移动应用市场发展太迅速,暴露出诸多安全问题。卡巴斯基实验室(Kaspersky)表示,98.05%的恶意软件将目标瞄准了Android。这样需要我们投入越来越多的成本去对新型恶意软件进行人工分析。因此研发自动分析恶意代码的方法具有非常巨大的吸引力。
现有恶意代码自动检测和分类方法分为两大类:基于签名和基于机器学习。基于签名的方法要在字节码和API调用中找到特定模式,这样很容易被字节码级别的转换攻击所逃避。基于机器学习的方法从应用程序行为(例如许可请求和关键API调用)中提取特性和使用标准机器学习算法去执行二进制分类。因为所提取的特性是基于程序语法而不是程序语义,所以这种检测也容易被逃避。
为了解决恶意代码逃避自动检测问题,目前技术是将程序语义提炼成图形来表示,例如控制流图、数据依赖图和权限事件图。根据人工制作的规格说明去检查软件的相应图形,从而实现恶意代码检测。然而这些检测软件趋向于根据给定的规格说明去寻找精确的匹配代码,因此可能被恶意代码的多态性所逃避。
因此本领域致力开发一种能有效对抗字节码转换攻击和零日攻击的恶意代码检测方法,并应用在安卓应用市场上。
发明内容
本发明的主要目的在于克服现有技术的缺点与不足,提供一种基于API依赖关系图的安卓恶意代码检测方法。
根据本发明的一个方面,提供了一种基于API依赖关系并具有权值的图形作为程序语义的方法。首先我们发现函数API的入口点,然后安全相关的调用参数进行分析,通过程序流程图发现API之间的关系,构建API依赖关系并具有权值的图形。
根据本发明的一个方面,我们这些图形储存在数据库中,每个图形代表着程序语义。然后在给定某个软件的情况下,利用基于聚合的索引,在这数据库中找到与该软件相应关系图最相似的方法。
建立正常代码和恶意代码的图形数据库(分别为NormalDB和MalwareDB),异常检测采用和正常应用的图形数据库NormalDB的图形相比较,如果该数据库有API图形是跟给定软件的关系图的相似度分数wgmaxdw(G,G',α)大于设定的阈值ξ,即可判断该软件是恶意代码。然后再将给定软件的API关系图与恶意代码的图形数据库MalwareDB中图形相比较,在比较中建立相似度的特性矢量,如果在特性矢量中存在相似度分数wgmaxdw(G,G',α)大于ξ的元素,即可判断与数据库中这个元素相应的恶意代码是同类病毒家庭。
为了达到上述目的,本发明采用以下技术方案:
本发明一种基于API依赖关系图的安卓恶意代码检测方法,用于审核软件开发者提交的安卓应用软件,检测软件是否带有恶意行为,该方法包括下述步骤:
S1、对应用软件的语义进行分析,生成API依赖关系图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于暨南大学,未经暨南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710009886.X/2.html,转载请声明来源钻瓜专利网。





