[发明专利]基于API调用序列的安卓恶意软件检测方法有效
申请号: | 201811600760.0 | 申请日: | 2018-12-26 |
公开(公告)号: | CN109711163B | 公开(公告)日: | 2021-07-27 |
发明(设计)人: | 崔艳鹏;颜波;胡建伟 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 陕西电子工业专利中心 61205 | 代理人: | 田文英;王品华 |
地址: | 710071 陕*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 api 调用 序列 恶意 软件 检测 方法 | ||
本发明公开一种基于API调用序列的安卓恶意软件检测方法,主要解决现有技术中无法识别混淆后的应用程序编程接口API、提取的特征无法使用适应API版本的更替、API种类多和计算量大的缺点。其方法步骤为:(1)生成训练样本集和测试样本集;(2)生成smali文件;(3)生成应用程序编程接口API的调用序列集合;(4)用包名替代应用程序编程接口API;(5)生成特征矩阵;(6)检测恶意软件。本发明利用基础包名、混淆包名和自定义包名来替代应用程序编程接口API调用序列中的API,既能极大减少了API种类,降低计算复杂度和提高恶意软件识别检测效率,又能适应API版本的更替。
技术领域
本发明属于计算机技术领域,更进一步涉及互联网网络技术领域中的一种基于应用程序编程接口API(Application Interface)调用序列的安卓恶意软件检测方法。本发明可利用安卓应用软件的应用软件编程接口API调用序列,来判断安卓应用软件是否为恶意软件,用于对安卓应用软件的安全分析。
背景技术
安卓恶意软件静态检测的研究源于移动终端应用安全的研究工作,其特点是利用安卓应用软件文件中权限信息和应用程序编程接口API信息,分析权限的变化和应用程序编程接口API之间的调用关系,进行分类特征的提取并通过机器学习来对恶意软件的识别。目前,已有的安卓恶意软件静态检测的方法基本是从权限和应用程序编程接口API两方面进行展开的,而这种方法存在以下不足:第一,由于API数量多,包含安卓官方提供的API、第三方组织提供的API和自定义API,导致依赖API特征的分类算法计算量较大;第二,随着安卓安全技术的不断提高,安卓应用软件均通过代码混淆技术来防止安卓应用软件被反编译,这样就导致对混淆后的安卓应用软件分析变得困难;第三,目前现有的安卓恶意软件静态检测方法无法适应API版本的更替,会随着API版本的更改,导致检测效率降低。
邵舒迪,虞慧群,范贵生在其发表的论文“基于权限和API特征结合的Android恶意软件检测方法”(计算机科学,2017,44(4),135-139)中提出一种基于权限和API特征结合的安卓恶意软件检测方法。该方法主要是提取被混淆后的安卓应用软件中的权限和高危的20种API集合作为特征,然后将权限特征和API特征相结合,形成新的API-权限特征集合,最后结合分类算法来区分恶意软件。该方法存在的不足之处是,在被混淆后的安卓应用软件中,对于采用20种高危API会被混淆后的名字替代,从而该方法会漏掉这一关键特征,导致检测效率低。
Chen S,Xue M,Tang Z在其发表的论文“StormDroid:A StreaminglizedMachineLearning-Based System for Detecting Android Malware”(CCS会议论文,2016)中提出一种基于机器学习的安卓恶意软件检测方法。该方法从良性样本集合和恶意样本集合中提取了多项特征数据,包括通过静态检测方法获取的权限、不同API版本中的API调用信息和通过动态检测方法获取的日志文件作为总体特征。该方法存在的不足之处是,该方法的检测模型的质量依赖于样本集合中样本所属API版本,并且该方法计算量较大,使得恶意软件识别过程开销增大,识别率低。
博雅网信(北京)科技有限公司在其申请的专利文献“一种基于权限组合的安卓恶意软件检测方法”(专利申请号201610064024.2,公开号CN 105740709A)中公开了一种基于权限组合的安卓恶意软件检测方法。该方法对安卓应用软件中的权限信息进行权限分类组合并获得权限组合的评分,根据权限组合的评分获得评分临界值,将实际待检测安卓软件的评分与临界值进行比较,判断待检测安卓软件是否为恶意软件。该方法存在的不足之处是,该检测方法容易出现误差,比如由于缺乏经验的开发者可能事先申请了某些权限,但其在编程中却没有用到被该权限作用的函数,因此准确率和遗漏问题很严重。
发明内容
本发明的目的是针对上述现有技术的不足,提出一种基于API调用序列的安卓恶意软件检测方法,以实现安卓应用软件中恶意软件的识别。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811600760.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于区块链的安全应用方法及系统
- 下一篇:信息处理装置和篡改检测方法