[发明专利]一种基于稀疏表示和模型融合的Android Malware分类方法有效
| 申请号: | 201811331646.2 | 申请日: | 2018-11-09 |
| 公开(公告)号: | CN109508545B | 公开(公告)日: | 2021-06-04 |
| 发明(设计)人: | 文伟平;胡浩然;汪子龙 | 申请(专利权)人: | 北京大学 |
| 主分类号: | G06F21/56 | 分类号: | G06F21/56;G06K9/62 |
| 代理公司: | 北京万象新悦知识产权代理有限公司 11360 | 代理人: | 黄凤茹 |
| 地址: | 100871*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 稀疏 表示 模型 融合 android malware 分类 方法 | ||
本发明公布了一种基于稀疏表示和模型融合的Android Malware安卓恶意软件的分类方法,通过采用稀疏表示的方法,表示安卓恶意程序Android Malware的行为特征;再采用Stacking模型融合方法进行分类预测,由此提升模型预测性能。本发明方法对从程序中提取的原始特征进行了稀疏表示,获得恶意程序更加本质的特征;模型的拟合可在基础模型之上,从而实现更加高泛化能力的模型,提高安卓恶意软件分类的精确程度。
技术领域
本发明属于信息安全技术领域,涉及恶意软件检测技术,尤其涉及一种基于稀疏表示和模型融合的Android Malware(Android malicious softwar,安卓恶意软件)分类方法。
背景技术
在移动安全领域,Android系统由于其普及性和开放性,成为了众多黑客攻击的对象,Android恶意软件成为Android系统面临的巨大威胁。
2017年,根据Newzoo的报告,全球安卓手机用户达到了23亿。2017年,根据腾讯的报告,感染安卓手机病毒用户数达到了1.88亿。如此众多安卓手机用户和手机病毒,单靠人工检测显得身单力薄。能够自动地进行恶意程序分类检测这一问题已经迫在眉睫。用机器学习的方法,通过对安卓恶意程序特征(行为特征)的学习,可以让机器学习模型自动对恶意程序进行分类。但是,现有机器学习技术检测恶意代码,主要是将提取的特征直接输入单个模型训练,实际的检测效果十分有限。
发明内容
为了克服上述现有技术的不足,本发明提供一种基于稀疏表示和模型融合的Android Malware(Android malicious softwar,安卓恶意软件)分类方法,通过采用机器学习方法,高效、准确地对安卓恶意程序进行分类,使得恶意程序识别接近自动化,能够更好地解决现实中对于安卓恶意程序分类的需求。
为方便起见,本发明中定义以下术语简称及相应的全称:
RF:Random Forest,随机森林;
ET:Extremely Randomized Trees,极端随机树;
AB:AdaBoost;
GBDT:Gradient Boosting Decision Tree;
XgBoost:Extreme Gradient Boosting。
本发明通过学习Android程序的行为特征,现有技术往往只是把提取的特征直接进行学习,而本发明采用稀疏表示的方法,本发明用K-SVD算法(一种经典的字典训练算法)对从恶意程序中提取的原始特征进行稀疏表示,能够进一步发现更为本质的特征。现有技术对特征的学习通常直接针对单个模型学习,本发明采用Stacking模型融合方法,提升模型整体的预测性能。
本发明提供的技术方案是:
一种基于稀疏表示和模型融合的Android Malware安卓恶意软件分类方法,通过采用稀疏表示的方法,挖掘得到Android Malware代码更加本质的行为特征;采用Stacking模型融合方法,提升模型的预测性能;包括如下步骤:
A.提取安卓恶意程序的行为特征,执行如下操作:
A1.下载并安装开源的QEMU模拟器;
A2.针对安卓恶意程序的数据集,在QEMU模型器上运行数据集中的每一个安卓恶意程序,对其系统调用的API进行检测;
A3.得到API时序调用序列及其相关信息(包括类名、函数名、函数参数),标记病毒类型存入病毒库;
B.稀疏表示API时序调用序列数据,作为恶意程序的行为特征,执行如下操作:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大学,未经北京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811331646.2/2.html,转载请声明来源钻瓜专利网。





