一种安卓应用恶意性、恶意种族检测模型构建方法及应用技术

技术编号:26066164 阅读:14 留言:0更新日期:2020-10-28 16:39
本发明专利技术属于移动恶意应用检测领域,具体涉及一种安卓应用恶意性、恶意种族检测模型构建方法及应用,针对不同混淆技术,提取不同粒度的操作码特征,计算各种粒度下的各特征权重,以从各种操作码特征中选取对加强原始样本集检测效果和降低混淆前后样本差异性最有利的操作码特征,构建各种粒度的抗混淆特征集,以抵抗主流混淆技术,各种粒度的抗混淆特征集提取应用样本的操作码特征序列并将其转换为灰度图,基于灰度图,根据不同的标签值,训练深度学习网络模型,实现安卓应用的恶意性分类及恶意家族分类,并在移动端设备上实现检测功能集成。本发明专利技术在支持应用恶意性及恶意家族检测的同时,有效抵抗安卓应用混淆技术对检测结果的干扰,检测可靠性高。

【技术实现步骤摘要】
一种安卓应用恶意性、恶意种族检测模型构建方法及应用
本专利技术属于移动恶意应用检测领域,更具体地,涉及一种安卓应用恶意性、恶意种族检测模型构建方法及应用。
技术介绍
Android应用市场的持续发展以及Android应用数量的持续快速增长,涌现出很多第三方应用市场,然而Android应用内包含着Android用户的个人隐私数据,吸引来一些攻击者将恶意应用传播到用户的移动智能手机上,以窃取用户的隐私和财产,严重威胁着Android用户的隐私数据安全。安全厂商360公司发布的一份Android恶意软件专题报告显示,仅2019年度,360安全大脑共截获移动端恶意应用约180.9万个,累计为全国手机用户拦截Android恶意程序攻击约9.5亿次,这些恶意应用会窃取用户信息、自动拨打电话、未经许可发送短信等,对智能手机用户造成极大的威胁。为了检测Android恶意应用,一些研究者采用规则匹配或机器学习的方法,对Android应用内代码进行分析,提取API、数据流、签名等特征,达到了不错的检测效果。然而,近期一项研究表明,攻击者可以利用代码混淆技术,如API反射、控制流切分、字符串加密等,破坏代码的特征,极大地降低现有方法中代码分析的效果,绕过许多Android恶意应用检测系统。专利CN108280348A所属方法公开了一种基于RGB图像映射的安卓恶意应用识别方法,该方法对Android应用集内应用进行反编译,提取应用内操作码、敏感API调用及高风险API特征,并将特征转化为RGB图像,采用深度学习模型进行训练,并将待测应用转化为RGB图像输入模型中,检测待测应用恶意性。该方法在检测待测应用时,不支持对恶意应用分析其恶意家族类别。此外,该方法未对特征进行有效筛选,无法有效检测Android恶意应用混淆变种,如API相关特征容易受到API反射混淆的影响,操作码特征在部分混淆技术下,其分布会发生一定的变化。专利CN109271788A所属方法公开了一种基于深度学习的Android恶意应用检测方法,该方法对应用进行反编译,提取应用的统计特征,具体包括文件结构、安全经验和Dalvik指令集三种特征,训练深度神经网络模型来检测Android恶意应用。此方法中的文件结构特征,在应用经过类名混淆后,特征完全会失效,而Dalvik特征在API反射等混淆后,也会出现较大变化,这都一定程度限制了该方法在恶意应用混淆变种检测上的准确度。专利CN109145605A所属方法公开了一种基于SinglePass算法的Android恶意软件家族聚类方法。该方法先提取Android应用的敏感权限、系统Action、敏感系统API调用及系统Category,该方法用过滤式方法对特征进行选择,以筛选出可以区别不同家族的特征。该方法未考虑到混淆技术下,Android恶意应用家族识别的检测准确度会受到影响的问题,如敏感权限可能在权限修改混淆中发生较大变化。综上可知,已有的Android恶意应用混淆变种检测方案都具有一定的局限性。
技术实现思路
本专利技术提供一种安卓应用恶意性、恶意种族检测模型构建方法及应用,用以解决现有安卓应用恶意性检测方法无法对Android应用代码混淆技术进行有效抵抗的问题。本专利技术解决上述技术问题的技术方案如下:一种安卓应用恶意性检测模型的构建方法,包括:采集安卓良性应用和恶意应用样本,构成原始样本集,采用多种安卓应用混淆方法对原始样本集内各样本混淆,构成对应多个混淆变种样本集;提取每个样本各种粒度的操作码特征,计算每种粒度下原始样本集以及该种粒度混淆方法集所对应的所有混淆变种样本内各种操作码特征的权重,以从该各种操作码特征中选取用于加强原始样本集检测效果和降低混淆前后样本差异性的操作码特征,作为该种粒度的抗混淆特征集;从每个原始样本的粗粒度操作码特征中,按照粗粒度到细粒度顺序过滤不在各抗混淆特征集的操作码特征,得到该样本操作码特征序列;将各样本的所述操作码特征序列转化为灰度图,基于各样本的灰度图及其恶意性标签,训练得到安卓应用恶意性检测模型。本专利技术的有益效果是:针对收集的包含良性和恶意Android应用的样本集,利用多种Android应用代码混淆技术,生成每个Android应用的混淆变种,构建Android应用混淆变种样本集。基于上述原始样本集和混淆变种样本集,提取Android应用多粒度的操作码特征序列特征,预先分析各类混淆技术所对应的粒度的操作码特征序列特征,针对原始样本集以及每种粒度混淆方法集所对应的所有混淆变种样本内各种操作码特征,基于保证样本区分度和抵抗混淆的基础上计算每种粒度下每种操作码特征的权重,进而实现该种粒度的操作码特征的选择。然后根据各种粒度对应的所选择的操作码特征,对原始样本的操作码特征进行过滤并可视化,将Android应用恶意性检测问题转变为图像分类问题,通过图像分类模型的训练,实现对Android应用混淆样本恶意行为的准确检测。本专利技术在支持Android应用恶意性检测的同时,有效抵抗主流Android应用混淆技术对检测结果的干扰,防止Android恶意应用混淆变种绕过检测系统的检测,解决了现有方法无法对Android应用代码混淆技术进行有效抵抗的问题。另外,提取Android应用内操作码特征序列特征并转化为图像的过程中,操作码特征序列作为一种实际代码语义表示,可以有效代表应用的代码逻辑,采用图像特征无需对操作码特征序列进行裁剪,完整保留操作码语义,此外,该过程无需对应用进行复杂的数据流和控制流分析,资源消耗低且耗时短,且支持在资源有限的移动端设备上实现检测功能的集成,极大提高所得模型的检测效率。上述技术方案的基础上,本专利技术还可以做如下改进。进一步,各种粒度混淆方法集的确定方法为:提取每个样本各种粒度的操作码特征,分析所述多种安卓应用混淆方法中各混淆方法对原始样本集混淆前后操作码特征的影响程度,确定各混淆方法的特征混淆粒度,以对所述多种安卓应用混淆方法分类,得到各种粒度混淆方法集;所述转化为灰度图的具体方式为:根据操作码编码规则,将所述操作码特征序列中的每个操作码特征转化为一个八位二进制整数编码,按照相邻两个操作码特征构成一个像素点的规则,对操作码编码序列按一行预设像素点数进行分片、分行,末尾行若操作码编码不足预设像素点数,则用零补齐,从而将所述操作码特征序列转化为灰度图。进一步,所述计算每种粒度下原始样本集以及该种粒度混淆方法集所对应的所有混淆变种样本内各种操作码特征的权重,具体为:从原始样本集以及每种粒度混淆方法集所对应的所有混淆变种样本中提取该种粒度的操作码特征;计算原始样本集的该种粒度操作码特征频数矩阵、该种粒度混淆方法集对应的各混淆变种样本集的该种粒度操作码特征频数矩阵;基于所有所述频数矩阵,计算原始样本集内第j个原始样本中该种粒度第k种操作码特征的TFIDF值,并计算原始样本集内第j个原始样本中该种粒度第k种操作码特征的频数与各混淆方法混淆后对应的频数的差值的第一加和;计算所有原本文档来自技高网
...

【技术保护点】
1.一种安卓应用恶意性检测模型的构建方法,其特征在于,包括:/n采集安卓良性应用和恶意应用样本,构成原始样本集,采用多种安卓应用混淆方法对原始样本集内各样本混淆,构成对应多个混淆变种样本集;/n提取每个样本各种粒度的操作码特征,计算每种粒度下原始样本集以及该种粒度混淆方法集所对应的所有混淆变种样本内各种操作码特征权重,以从该各种操作码特征中选取用于加强原始样本集检测效果并降低混淆前后样本差异性的操作码特征,作为该种粒度的抗混淆特征集;/n从每个原始样本的粗粒度操作码特征中,按照粗粒度到细粒度顺序过滤不在各抗混淆特征集的操作码特征,得到该样本操作码特征序列;/n将各样本的所述操作码特征序列转化为灰度图,基于各样本的灰度图及其恶意性标签,训练得到安卓应用恶意性检测模型。/n

【技术特征摘要】
1.一种安卓应用恶意性检测模型的构建方法,其特征在于,包括:
采集安卓良性应用和恶意应用样本,构成原始样本集,采用多种安卓应用混淆方法对原始样本集内各样本混淆,构成对应多个混淆变种样本集;
提取每个样本各种粒度的操作码特征,计算每种粒度下原始样本集以及该种粒度混淆方法集所对应的所有混淆变种样本内各种操作码特征权重,以从该各种操作码特征中选取用于加强原始样本集检测效果并降低混淆前后样本差异性的操作码特征,作为该种粒度的抗混淆特征集;
从每个原始样本的粗粒度操作码特征中,按照粗粒度到细粒度顺序过滤不在各抗混淆特征集的操作码特征,得到该样本操作码特征序列;
将各样本的所述操作码特征序列转化为灰度图,基于各样本的灰度图及其恶意性标签,训练得到安卓应用恶意性检测模型。


2.根据权利要求1所述的一种安卓应用恶意性检测模型的构建方法,其特征在于,各种粒度混淆方法集的确定方法为:提取每个样本各种粒度的操作码特征,分析所述多种安卓应用混淆方法中各混淆方法对原始样本集混淆前后操作码特征的影响程度,确定各混淆方法的特征混淆粒度,以对所述多种安卓应用混淆方法分类,得到各种粒度混淆方法集;
所述转化为灰度图的具体方式为:根据操作码编码规则,将所述操作码特征序列中的每个操作码特征转化为一个八位二进制整数编码,按照相邻两个操作码特征构成一个像素点的规则,对操作码编码序列按一行预设像素点数进行分片、分行,末尾行若操作码编码不足预设像素点数,则用零补齐,从而将所述操作码特征序列转化为灰度图。


3.根据权利要求1或2所述的一种安卓应用恶意性检测模型的构建方法,其特征在于,所述计算每种粒度下原始样本集以及该种粒度混淆方法集所对应的所有混淆变种样本内各种操作码特征的权重,具体为:
从原始样本集以及每种粒度混淆方法集所对应的所有混淆变种样本中提取该种粒度的操作码特征;
计算原始样本集的该种粒度操作码特征频数矩阵、该种粒度混淆方法集对应的各混淆变种样本集的该种粒度操作码特征频数矩阵;
基于所有所述频数矩阵,计算原始样本集内第j个原始样本中该种粒度第k种操作码特征的TFIDF值,并计算原始样本集内第j个原始样本中该种粒度第k种操作码特征的频数与各混淆方法混淆后对应的频数的差值的第一加和;
计算所有原始样本对应的所述TFIDF值的加和与原始样本集中所有原始样本对应的所述第一加和的第二加和的比值,作为该种粒度第k种操作码特征的权重。


4.根据权利要求3所述的一种安卓应用恶意性检测模型的构建方法,其特征在于,所述该种粒度下第k种操作码特征的权重wk表示为:



其中,TFIDFjk表示原始样本集内第j个原始样本中该种粒度第k种操作码特征的TFIDF值,ajk(i)为第i号混淆方法对应的混淆变种样本集内第j个样本中该种粒度第k种操作码特征的频数,当i为0时,...

【专利技术属性】
技术研发人员:李瑞轩江钰辜希武李玉华汤俊伟
申请(专利权)人:华中科技大学
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1