当前位置: 首页 > 专利查询>东南大学专利>正文

基于移动目标防御思想的安卓恶意软件对抗样本检测方法技术

技术编号:36263559 阅读:17 留言:0更新日期:2023-01-07 10:02
本发明专利技术公开了一种基于移动目标防御思想的安卓恶意软件对抗样本检测方法,该方法包括:异构化模型池、多样化对抗训练、最优化集成学习、动态更新触发器。所述异构化模型池面向安卓软件,其目的在于为后续对抗训练与集成学习提供异构正交的基础模型。所述多样化对抗训练面向安卓恶意软件,针对不同类型的对抗样本攻击生成对应检测模型。所述最优化集成学习面向全体对抗检测模型,其目的在于形成针对全类型对抗样本的检测能力。所述动态更新触发器面向检测结果,按周期与事件混合触发的方式更新异构化模型池、多样化对抗训练、最优化集成学习的构建过程。通过本公开实例的技术方案,可以检出当前安卓主流的恶意软件对抗样本,提高安卓平台安全性。安卓平台安全性。安卓平台安全性。

【技术实现步骤摘要】
基于移动目标防御思想的安卓恶意软件对抗样本检测方法


[0001]本专利技术涉及一种安卓操作系统下恶意应用软件对抗样本的检测技术,属于恶意程序检测


技术介绍

[0002]随着安卓系统的日益普及,它虽然吸引了开发人员开发多样化、功能强大的移动应用程序,但也成为了大量恶意软件攻击的温床。全球每年新增数百万计的恶意安卓软件包,不断引发大规模的隐私泄露和经济财产损失,在安卓平台上检测和分析恶意软件是保障安卓系统安全的一大重要任务。
[0003]近年来,随着人工智能技术的流行与应用,对安卓恶意软件检测的研究越来越多,其中大多数利用机器学习方法训练恶意软件检测器来识别恶意的安卓软件实例,取得了较高的检测精度与效果。然而,最新的研究表明此类基于机器学习方法的恶意软件检测器极易受到对抗样本攻击,恶意软件作者可以将一定的扰动注入恶意程序中,使其能够躲避检测器的同时保持其恶意功能。因此,准确检出安卓恶意软件对抗样本成为一项艰巨的任务与挑战。
[0004]当前,针对对抗样本存在三种主流的检测手段,分别为:防御蒸馏、对抗性训练和集成学习。其中,防御蒸馏用于降低机器学习方法对小扰动的敏感性,从而减轻针对特定模型的对抗性示例的负面影响。然而,当面临可能产生具有高可转移性的对抗样本的黑盒攻击时,将严重影响检测器的检测性能。对抗性训练则是通过使用具备标记的对抗性恶意软件样本去填充原始数据集来重新训练分类器。然而,该方法的性能提升将会受到训练和测试数据集中对抗样本相似性的限制,无法保证抵抗其他类型对抗攻击的检测性能。集成学习方法通过集成多个子分类器的输出结果以达到更好的检测效果,但是该方法依赖于子分类器的性能表现,当存在多个错误分类的子分类器时将无法保障良好的检测能力。此外,上述方法均属于静态和确定性的防御部署方式,因此攻击者相比于防御者具备充分的时间优势,攻击者能够不断侦测和分析部署的检测系统,从而构建出新型的、具备逃逸检测能力的对抗样本。
[0005]在过去几年中,在图像分类领域有提出基于移动目标防御思想的对抗样本检测方法,但由于图片与安卓软件的显著差异,导致现有方法无法直接适用于安卓恶意软件对抗样本的检测。此外,现阶段基于移动目标防御的方法还存在以下缺陷。首先,当前移动目标防御技术仅从主观角度选择子模型,未能优化模型的集成学习过程;其次,现有方法在应对具备强迁移性的对抗样本时表现较差,缺乏检测出全类型对抗样本的广泛能力;最后,现有方法只采取了基于移动目标防御思想的某一项或几项技术,未能充分发挥移动目标防御思想的先进性与安全性,存在部分由攻击者精心设计的对抗样本绕过检测的可能性。

技术实现思路

[0006]针对以上问题,本专利技术提出了一种基于移动目标防御思想的安卓恶意软件对抗样
本检测方法,首先构建异构化模型池,再针对模型池内基础模型实施多样化的对抗训练,并通过优化集成学习过程与全局动态更新的方式,达到长效化、全类型对抗样本的检测能力。通过本专利技术公开的技术方案,能够精准检出当前安卓主流的恶意软件对抗样本,从而有效提高安卓平台安全性。
[0007]本专利技术采用如下技术方案:基于移动目标防御思想的安卓恶意软件对抗样本检测方法,所述方法包括以下步骤:
[0008]步骤1:异构化模型池构建,
[0009]步骤2:多样化对抗训练,
[0010]步骤3:最优化集成学习,
[0011]步骤4:混合式动态更新。
[0012]其中,所述步骤具体内容如下:
[0013]步骤(1)对含有标签的安卓软件提取特征,并按照一定比例随机抽取数据样本,划分为训练集、验证集和测试集;根据所获取的训练集与验证集,将其分别随机分为m等份(m大于等于3),分别采用m种机器学习算法基于等分后的训练集和验证集,训练得到m个异构的安卓恶意软件的基础检测模型,完成异构化的基础检测模型池构建;
[0014]步骤(2)根据步骤(1)所生成的m个基础检测模型以及其对应的m份训练集,向每一份训练集中标注为恶意软件的数据分别注入n种不同的对抗性扰动(n大于等于1),形成m*n份恶意扰动数据;根据生成的m*n份恶意扰动数据以及步骤(1)采用的m种机器学习算法和m份验证集,针对每种机器学习算法,采用对抗训练生成n个对抗检测模型,共计生成m*n个对抗检测模型;
[0015]步骤(3)根据步骤(1)所获取的测试子集,对其中标注为恶意软件的数据生成对抗性样本,形成对抗样本测试子集;根据步骤(2)所生成的m*n个对抗检测模型,采用所生成的对抗样本测试集对模型的对抗样本检测性能由高至低排序,获取得到检测性能最高的三个对抗检测模型;根据所获取到的检测性能最高的三个对抗检测模型,采取集成学习方法生成集成检测模型;
[0016]步骤(4)根据步骤(3)所获取到集成检测模型,由动态更新触发器进行监测,当监测次数达到阈值时,清除触发器当前计数,并重复步骤(1)至(3)。
[0017]其中,所述步骤1:异构化模型池构建方法,本文提供了一个含有多个异构基础检测模型的模型池,具体如下:
[0018]步骤(1.1)针对含有良性与恶意标签的安卓软件,通过公开的Androguard工具提取安卓软件的二进制特征,形成安卓软件的特征向量;
[0019]步骤(1.2)针对步骤(1.1)所获取的安卓软件特征向量,采取预设比例(例如6:2:2)进行随机抽取,分别形成训练集、验证集与测试集;
[0020]步骤(1.3)针对步骤(1.2)所获取的训练集、验证集与测试集,通过对其进行随机抽取,将上述数据集合分别分为m等份,得到m份训练子集、m份验证子集和m份测试子集。
[0021]步骤(1.4)针对步骤(1.3)所获取的m份训练子集,通过公开的TensorFlow平台与Python平台的Scikit

learn库,选用m种不同的机器学习算法对m份训练子集进行训练;
[0022]步骤(1.5)基于步骤(1.3)所获取的m份验证子集,针对步骤(1.4)的训练过程,采用Python平台Scikit

learn库中的GridSearchCV函数,系统地遍历多种模型参数组合,确
定最佳检测效果的参数,生成m个异构的安卓软件基础检测模型。
[0023]所述步骤2:多样化对抗训练方法,本文提供了多个可检出不同类型对抗样本的安卓软件对抗样本检测模型,具体如下:
[0024]步骤(2.1)针对步骤(1.5)所获取的1个安卓软件基础检测模型,通过公开的Python平台SecML库中的secml.adv.attacks函数对检测模型进行多种对抗样本攻击;
[0025]步骤(2.2)采用公开的Python平台SecML库中objective_function函数对步骤(2.1)的对抗攻击效果进行评估,将攻击效果由高到低排序,筛选前n种对抗样本攻击,保存其产生的n份恶意对抗扰动数据;
[0026]步骤(2.3)重复步骤(2.1)(2.2)m次,得到m*n份恶意本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于移动目标防御思想的安卓恶意软件对抗样本检测方法,其特征在于:所述检测方法包括以下步骤:步骤1:异构化模型池构建,步骤2:多样化对抗训练,步骤3:最优化集成学习,步骤4:混合式动态更新,其中,步骤1:异构化模型池构建,具体如下,对含有标签的安卓软件提取特征,并按照一定比例随机抽取数据样本,划分为训练集、验证集和测试集;根据所获取的训练集与验证集,将其分别随机分为m等份(m大于等于3),分别采用m种机器学习算法基于等分后的训练集和验证集,训练得到m个异构的安卓恶意软件的基础检测模型,完成异构化的基础检测模型池构建;步骤2:多样化对抗训练,具体如下,根据所生成的m个基础检测模型以及其对应的m份训练集,向每一份训练集中标注为恶意软件的数据分别注入n种不同的对抗性扰动(n大于等于1),形成m*n份恶意扰动数据;根据采用的m种机器学习算法和m份验证集以及m*n份恶意扰动数据,针对每种机器学习算法,采用对抗训练生成n个对抗检测模型,共计生成m*n个对抗检测模型;步骤3:最优化集成学习,具体如下,根据步骤1所获取的测试子集,对其中标注为恶意软件的数据生成对抗性样本,形成对抗样本测试子集;根据步骤2所生成的m*n个对抗检测模型,采用所生成的对抗样本测试集对模型的对抗样本检测性能由高至低排序,获取得到检测性能最高的三个对抗检测模型;根据所获取到的检测性能最高的三个对抗检测模型,采取集成学习方法生成集成检测模型;步骤4:混合式动态更新,具体如下,根据步骤3所获取到集成检测模型,由动态更新触发器进行监测,当监测次数达到阈值时,清除触发器当前计数,并重复步骤1至3。2.根据权利要求1所述的基于移动目标防御思想的安卓恶意软件对抗样本检测方法,其特征在于,所述步骤1:异构化模型池构建,具体过程如下:步骤(1.1)针对含有良性与恶意标签的安卓软件,提取安卓软件的二进制特征向量;步骤(1.2)针对步骤(1.1)所获取的安卓软件特征向量,采取预设比例进行随机抽取,分别形成训练集、验证集与测试集;步骤(1.3)针对步骤(1.2)所获取的训练集、验证集与测试集,将上述数据集合分别分为m等份,得到m份训练子集、m份验证子集和m份测试子集;步骤(1.4)针对步骤(1.3)所获取的m份训练子集,选用m种不同的机器学习算法对m份训练子集进行训练;步骤(1.5)基于步骤(1.3)所获取的m份验证子集,针对步骤(1.4)的训练过程,遍历多种模型参数组合,确定最佳参数,生成m个安卓软件基础检测模型。3.根据权利要求1所述的基于移动目标防御思想的安卓恶意软件对抗样本检测方法,其特征在于,所述步骤2:多样化对抗训练,具体过程如下:步骤(2.1)针对步骤(1.5)所获取的安卓软件基础检测模型,进行多种对抗样本攻击;步骤(2.2)针对步骤(2.1)的对抗攻击效果进行评估,将攻击效果由高到低排序,筛选前n种对抗样本攻击,保存其产生的n份恶意对抗扰动数据;
步骤(2.3)重复步骤(2.1)(2.2)m次,得到m*n份恶意对抗扰动数据;步骤(2.4)针对步骤(2.3)...

【专利技术属性】
技术研发人员:周余阳程光胡玉佳
申请(专利权)人:东南大学
类型:发明
国别省市:

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

1