CN109446808A - 基于DCGAN的Android对抗样本生成方法及系统 - Google Patents

基于DCGAN的Android对抗样本生成方法及系统 Download PDF

Info

Publication number
CN109446808A
CN109446808A CN201811272640.2A CN201811272640A CN109446808A CN 109446808 A CN109446808 A CN 109446808A CN 201811272640 A CN201811272640 A CN 201811272640A CN 109446808 A CN109446808 A CN 109446808A
Authority
CN
China
Prior art keywords
sample
android
dcgan
api
resisting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201811272640.2A
Other languages
English (en)
Inventor
曾迎之
张义
靖彤莉
刘吉元
李文华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN201811272640.2A priority Critical patent/CN109446808A/zh
Publication of CN109446808A publication Critical patent/CN109446808A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Abstract

本发明公开了一种基于DCGAN的Android对抗样本生成方法及系统,借助DCGAN模型生成虚拟样本,并根据ASG算法生成针对于特定恶意样本的修改策略,在修改策略指导下对原始样本进行修改得到相应的对抗样本,使其能够躲避Android恶意软件检测系统的检测。本发明充分展示了生成对抗网络在移动安全领域的新应用,并且生成的对抗样本不影响原始恶意功能,具有可执行性,生成的对抗样本可用于重新训练检测系统,以增强系统的鲁棒性,实现对Android恶意软件变种的主动防御。

Description

基于DCGAN的Android对抗样本生成方法及系统
技术领域
本发明涉及恶意软件检测领域,特别是一种基于DCGAN的Android对抗样本生成方法及系统。
背景技术
Android作为当下市场份额最大的移动终端操作系统,应用的数量呈现出了爆炸性的增长,与此同时,恶意软件的数量也在不断攀升,尤其是新增恶意软件变种数量。攻击者制作恶意软件来获取用户的隐私数据、金融账户等信息,给终端用户带来了极大的安全威胁。为了保护用户隐私数据的安全性,我们需要一种有效的方法能够检测新增恶意软件的变种。
近几年随着机器学习的兴起,它给研究人员带来了新的研究思路,他们将机器学习作为特征提取方法或分类器应用到Android恶意软件检测当中,并展现出了良好的性能。检测技术的不断提升也进一步刺激了攻击者,攻击者为了使自己制作的恶意软件能够绕过检测系统的检测,他们想出了多种方法来制作对抗样本,于是如何检测对抗样本,增强检测系统的鲁棒性成为了一个研究热点。
对抗机器学习最先在图像识别领域出现,通过对图像施加微小的扰动来让分类器对其进行错误分类,并且人们很难察觉出来图像修改前后的变化。在恶意软件检测领域,对Android的APK文件进行修改并不像图像或语音那样简单的加入一些噪声就可以了。对于图像的修改要求修改后的图像与原样本尽可能的相似,以保证人类观察者并不会发现,而对于恶意软件的修改可以不受此限制,但是对其修改后必须能够保证原有的恶意功能不受损坏,程序可以正常安装运行。现有的研究主要是针对网格数据的,主要是图像数据,针对序列化数据的攻击研究相对较少。
发明内容
本发明所要解决的技术问题是,针对现有Android恶意软件检测技术的不足,提供一种基于DCGAN(深度卷积生成对抗网络)的Android对抗样本生成方法及系统,此系统生成的对抗样本可以用来重新训练原始检测系统,以增强系统的鲁棒性,实现对Android恶意软件变种的主动防御。
为解决上述技术问题,本发明所采用的技术方案是:一种基于DCGAN的Android对抗样本生成方法,包括以下步骤:
1)对Android应用程序进行反编译,并提取出使用的API,生成一个描述该应用的特征向量;
2)使用DCGAN生成模型对善意样本的特征向量进行学习,根据学习到的特征向量分布规律生成大量虚拟的善意样本特征向量,组成善意样本库;
3)对于一个特定的恶意样本,使用ASG(Adversarial Sample Generating)算法生成针对于特定恶意样本的修改策略;
4)根据修改策略对原始样本进行修改得到相应的对抗样本,使其能够躲避Android恶意软件检测系统的检测。
Android应用程序的表征采用API作为特征向量,其中向量维度为1x4096,即包含4096个API,对于API的选取采用卡方检验的方法,根据卡方值从高到低选取相关性最高的前4096个API作为特征,并生成由0和1构成的二值特征向量。对于Android应用的修改映射为对特征向量的修改,为了保持应用原有的功能不受影响,我们仅采用增加API的方式对特征向量进行修改。
DCGAN生成模型由生成器与检测器组成,生成器对100维的噪声向量进行四次转置卷积操作,并最终得到64x64维度的虚拟善意样本特征向量,检测器通过四次相反的卷积操作得出样本为真实样本的概率,通过生成器与检测器间的相互博弈,训练出一个良好的生成器。
ASG算法首先将恶意样本的特征向量与虚拟善意样本库中所有的特征向量进行一次‘或’操作得到中间样本,并将中间样本送入恶意软件检测系统中检测,能够绕过检测系统的所有中间样本组成对抗样本库,然后计算每个对抗样本相对于恶意样本的修改成本,并选取修改成本最小的对抗样本作为最佳对抗样本,从而输出对特征向量的修改策略。修改成本α为对抗样本相对与恶意样本所修改的API特征的数量,其中0<α≤4096。
对样本进行修改时,首先解压缩APK文件,获取到classes.dex文件,然后使用baksmali得到smali文件,在程序的MainActivity.smali文件中加入冗余API调用,加入的具体API是由修改策略指出的,修改完成后,使用smali重新生成classes.dex文件,并替换掉原始APK中的dex文件,然后对APK进行重打包、重签名,从而得到修改后的对抗样本。
相应的,本发明还提供了一种基于DCGAN的Android对抗样本生成系统,其包括:
API特征选择模块:用于对Android应用程序进行反编译,并提取出使用的API,生成一个描述该应用的特征向量;
虚拟善意样本生成模块:用于使用DCGAN生成模型对善意样本的特征向量进行学习,根据学习到的特征向量分布规律生成大量虚拟的善意样本特征向量,组成善意样本库;
对抗样本生成模块:用于对于一个特定的恶意样本,生成针对于特定恶意样本的修改策略;
应用修改模块:用于根据修改策略对原始样本进行修改,得到相应的对抗样本,使其能够躲避Android恶意软件检测系统的检测。
相对现有技术,本发明的有益效果为:本发明生成的对抗样本可以用来重新训练原始检测系统,增强了系统的鲁棒性,实现了对Android恶意软件变种的主动防御。
附图说明
图1为本发明方法原理图;
图2为应用恶意行为示例。
具体实施方式
在本部分中我们阐明了基于最小修改成本的ASG算法(Adversarial SampleGeneration Algorithm)的实施方式与示例。对于一个应用x,我们对应用的修改映射为对特征向量Φ(x)的修改,下面我们引入几个定义:
定义1修改成本我们对任意应用x的特征向量Φ(x)进行修改,包括增加特征与减少特征,修改后的特征向量为Φ(x)′,Φ(x)′相对于Φ(x)中对应位置元素发生变化的数量之和为应用x的修改成本,数学描述如下:
Cost(Φ(x))=Φ(x)XORΦ(x)′
定义2虚拟善意样本使用训练好的DCGAN网络生成的能够被检测系统识别为善意样本的特征向量α,特征向量α并不保证在真实世界中存在对应的应用,因此称为虚拟善意样本。由不同数量的虚拟善意样本组成的集合我们成为虚拟善意样本库Sα
定义3最佳对抗样本计算某个应用x相对于虚拟样本库中每一个虚拟善意样本α的修改成本,其中修改成本最小的虚拟样本称为最佳对抗样本Φ(x)bset,数学描述如下:
Φ(x)bset=min{Φ(x)XORαii∈Sα}
对抗样本生成算法如表1所示:
表1对抗样本生成算法
在ASG算法中,输入为应用x的特征向量Φ(x),输出为应用x的最佳对抗样本Φ(x)bset。应用x的特征向量Φ(x)首先与虚拟样本库中的虚拟善意样本α(x)做或运算得到中间向量,这是为了保证特征只增加不减少,从而不会影响应用原始的恶意行为,然后将生成的中间向量β(x)放入恶意软件检测系统中检测并计算修改成本Cost(β(x)),如果中间向量能够绕过检测器的检测并且修改成本比之前的要小,则保存此次修改成本与中间向量,遍历完虚拟样本库中的所有虚拟向量后,输出应用x的最佳对抗样本Φ(x)bset
为了验证算法的可行性,我们给出了一个启发性的示例。我们从Drebin数据集中选取了一个恶意软件(sha256值为aabe5b64af5e841e02392865dc10dcd2df499ec644839227020999b3ee9a87ec),并且在模拟器中安装了这个应用,将其恶意行为截屏后展示在图2中。
从图2中可以看出此应用会在用户安装之后发送付费短信,这种恶意扣费行为无疑对用户的财产安全造成了严重威胁。我们使用ASG算法在虚拟样本库规模为100k时生成了该恶意软件的修改策略,策略显示要想绕过检测系统的检测需要增加以下三个API调用:android.view.view.getscrollx,android.view.view.getscrolly,android.app.activity.isfinishing。前两个API是用来获取应用中view的偏移量,最后一个API是用来判断应用中的某个activity是否已经结束。我们采取修改smali文件并重打包的方式来对App进行实际的修改。
我们将APK文件解压缩后提取出classes.dex文件,并使用baksmali将其反编译成smali文件,我们选择在MainActivity.smali文件中加入冗余函数的方式修改。修改完成后,我们使用smali工具重新生成classes.dex文件,并替换掉原来APK中的dex文件,然后对其进行重新签名。对于我们修改过后的应用,经过验证仍然能够像图2一样成功安装,而且恶意行为没有受到影响,同时我们把修改后的应用送入之前所述的检测系统中,系统识别为善意软件,成功绕过检测系统的检测。

Claims (6)

1.一种基于DCGAN的Android对抗样本生成方法,其特征在于,包括以下步骤:
1)对Android应用程序进行反编译,并提取出使用的API,生成一个描述该应用的特征向量;
2)使用DCGAN生成模型对善意样本的特征向量进行学习,根据学习到的特征向量分布规律生成大量虚拟的善意样本特征向量,组成善意样本库;
3)对于一个特定的恶意样本,生成针对于特定恶意样本的修改策略;
4)根据修改策略对原始样本进行修改,得到相应的对抗样本,使其能够躲避Android恶意软件检测系统的检测。
2.根据权利要求1所述的基于DCGAN的Android对抗样本生成方法,其特征在于,Android应用程序的表征采用API作为特征向量,其中向量维度为1x4096,即包含4096个API;采用卡方检验的方法选取API,根据卡方值从高到低选取相关性最高的前4096个API作为特征,并生成由0和1构成的二值特征向量。
3.根据权利要求1所述的基于DCGAN的Android对抗样本生成方法,其特征在于,DCGAN生成模型包括生成器和检测器,所述生成器对100维的噪声向量进行四次转置卷积操作,并最终得到64x64维度的虚拟善意样本特征向量;所述检测器通过四次相反的卷积操作得出样本为真实样本的概率,通过生成器与检测器间的相互博弈,训练出新的生成器。
4.根据权利要求1所述的基于DCGAN的Android对抗样本生成方法,其特征在于,所述修改策略的具体生成过程包括:首先将恶意样本的特征向量与虚拟善意样本库中所有的特征向量进行一次‘或’操作得到中间样本,并将中间样本送入恶意软件检测系统中检测,能够绕过检测系统的所有中间样本组成对抗样本库,然后计算每个对抗样本相对于恶意样本的修改成本,并选取修改成本最小的对抗样本作为最佳对抗样本,从而输出对特征向量的修改策略;修改成本α为对抗样本相对与恶意样本所修改的API特征的数量,其中0<α≤4096。
5.根据权利要求4所述的基于DCGAN的Android对抗样本生成方法,其特征在于,生成的修改策略对样本进行修改时,首先解压缩APK文件,获取到classes.dex文件,然后使用baksmali得到smali文件,在程序的MainActivity.smali文件中加入冗余API调用,修改完成后,使用smali重新生成classes.dex文件,并替换掉原始APK中的dex文件,然后对APK进行重打包、重签名,从而得到修改后的对抗样本。
6.一种基于DCGAN的Android对抗样本生成系统,其特征在于,包括以下模块:API特征选择模块:用于对Android应用程序进行反编译,并提取出使用的API,生成一个描述该应用的特征向量;
虚拟善意样本生成模块:用于使用DCGAN生成模型对善意样本的特征向量进行学习,根据学习到的特征向量分布规律生成大量虚拟的善意样本特征向量,组成善意样本库;
对抗样本生成模块:用于对于一个特定的恶意样本,生成针对于特定恶意样本的修改策略;
应用修改模块:用于根据修改策略对原始样本进行修改,得到相应的对抗样本,使其能够躲避Android恶意软件检测系统的检测。
CN201811272640.2A 2018-10-30 2018-10-30 基于DCGAN的Android对抗样本生成方法及系统 Pending CN109446808A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811272640.2A CN109446808A (zh) 2018-10-30 2018-10-30 基于DCGAN的Android对抗样本生成方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811272640.2A CN109446808A (zh) 2018-10-30 2018-10-30 基于DCGAN的Android对抗样本生成方法及系统

Publications (1)

Publication Number Publication Date
CN109446808A true CN109446808A (zh) 2019-03-08

Family

ID=65549168

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811272640.2A Pending CN109446808A (zh) 2018-10-30 2018-10-30 基于DCGAN的Android对抗样本生成方法及系统

Country Status (1)

Country Link
CN (1) CN109446808A (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110210617A (zh) * 2019-05-15 2019-09-06 北京邮电大学 一种基于特征增强的对抗样本生成方法及生成装置
CN110619216A (zh) * 2019-09-17 2019-12-27 武汉思普崚技术有限公司 一种对抗性网络的恶意软件检测方法及系统
CN110659492A (zh) * 2019-09-24 2020-01-07 北京信息科技大学 一种基于多智能体强化学习的恶意软件检测方法及装置
CN111741018A (zh) * 2020-07-24 2020-10-02 中国航空油料集团有限公司 工控数据攻击样本生成方法、系统、电子设备及存储介质
CN111832019A (zh) * 2020-06-10 2020-10-27 国家计算机网络与信息安全管理中心 基于生成对抗网络的恶意代码检测方法
CN112182571A (zh) * 2020-07-21 2021-01-05 浙江工商大学 一种基于神经网络不变量的安卓恶意应用检测系统
CN112231703A (zh) * 2020-11-09 2021-01-15 北京理工大学 一种结合api模糊处理技术的恶意软件对抗样本生成方法
CN113132410A (zh) * 2021-04-29 2021-07-16 深圳信息职业技术学院 一种用于检测钓鱼网址的方法
CN113158190A (zh) * 2021-04-30 2021-07-23 河北师范大学 一种基于生成式对抗网络的恶意代码对抗样本自动生成方法
CN114036521A (zh) * 2021-11-29 2022-02-11 北京航空航天大学 一种Windows恶意软件对抗样本生成方法
CN114266050A (zh) * 2022-03-03 2022-04-01 西南石油大学 一种跨平台恶意软件对抗样本生成方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106845240A (zh) * 2017-03-10 2017-06-13 西京学院 一种基于随机森林的Android恶意软件静态检测方法
CN106919841A (zh) * 2017-03-10 2017-07-04 西京学院 一种高效的基于旋转森林的Android恶意软件检测模型DroidDet
CN108229130A (zh) * 2018-01-30 2018-06-29 中国银联股份有限公司 一种验证方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106845240A (zh) * 2017-03-10 2017-06-13 西京学院 一种基于随机森林的Android恶意软件静态检测方法
CN106919841A (zh) * 2017-03-10 2017-07-04 西京学院 一种高效的基于旋转森林的Android恶意软件检测模型DroidDet
CN108229130A (zh) * 2018-01-30 2018-06-29 中国银联股份有限公司 一种验证方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
唐川等: "DroidGAN:基于DCGAN的Android对抗样本生成框架", 《通信学报》 *

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110210617A (zh) * 2019-05-15 2019-09-06 北京邮电大学 一种基于特征增强的对抗样本生成方法及生成装置
CN110619216A (zh) * 2019-09-17 2019-12-27 武汉思普崚技术有限公司 一种对抗性网络的恶意软件检测方法及系统
CN110659492A (zh) * 2019-09-24 2020-01-07 北京信息科技大学 一种基于多智能体强化学习的恶意软件检测方法及装置
CN110659492B (zh) * 2019-09-24 2021-10-15 北京信息科技大学 一种基于多智能体强化学习的恶意软件检测方法及装置
CN111832019A (zh) * 2020-06-10 2020-10-27 国家计算机网络与信息安全管理中心 基于生成对抗网络的恶意代码检测方法
CN111832019B (zh) * 2020-06-10 2024-02-23 国家计算机网络与信息安全管理中心 基于生成对抗网络的恶意代码检测方法
CN112182571A (zh) * 2020-07-21 2021-01-05 浙江工商大学 一种基于神经网络不变量的安卓恶意应用检测系统
CN111741018A (zh) * 2020-07-24 2020-10-02 中国航空油料集团有限公司 工控数据攻击样本生成方法、系统、电子设备及存储介质
CN111741018B (zh) * 2020-07-24 2020-12-01 中国航空油料集团有限公司 工控数据攻击样本生成方法、系统、电子设备及存储介质
CN112231703B (zh) * 2020-11-09 2022-08-05 北京理工大学 一种结合api模糊处理技术的恶意软件对抗样本生成方法
CN112231703A (zh) * 2020-11-09 2021-01-15 北京理工大学 一种结合api模糊处理技术的恶意软件对抗样本生成方法
CN113132410A (zh) * 2021-04-29 2021-07-16 深圳信息职业技术学院 一种用于检测钓鱼网址的方法
CN113132410B (zh) * 2021-04-29 2023-12-08 深圳信息职业技术学院 一种用于检测钓鱼网址的方法
CN113158190B (zh) * 2021-04-30 2022-03-29 河北师范大学 一种基于生成式对抗网络的恶意代码对抗样本自动生成方法
CN113158190A (zh) * 2021-04-30 2021-07-23 河北师范大学 一种基于生成式对抗网络的恶意代码对抗样本自动生成方法
CN114036521A (zh) * 2021-11-29 2022-02-11 北京航空航天大学 一种Windows恶意软件对抗样本生成方法
CN114036521B (zh) * 2021-11-29 2024-05-03 北京航空航天大学 一种Windows恶意软件对抗样本生成方法
CN114266050A (zh) * 2022-03-03 2022-04-01 西南石油大学 一种跨平台恶意软件对抗样本生成方法及系统
CN114266050B (zh) * 2022-03-03 2022-10-04 西南石油大学 一种跨平台恶意软件对抗样本生成方法及系统

Similar Documents

Publication Publication Date Title
CN109446808A (zh) 基于DCGAN的Android对抗样本生成方法及系统
CN109948658B (zh) 面向特征图注意力机制的对抗攻击防御方法及应用
Hayes et al. Generating steganographic images via adversarial training
Gilmore et al. Neural network based attack on a masked implementation of AES
CN109214973B (zh) 针对隐写分析神经网络的对抗安全载体生成方法
Liu et al. Security analysis and enhancement of model compressed deep learning systems under adversarial attacks
CN109685200B (zh) 基于生成对抗网络的雾计算工业协议构建方法及构建系统
CN111552966A (zh) 一种基于信息融合的恶意软件同源性检测方法
CN110958263B (zh) 网络攻击检测方法、装置、设备及存储介质
Liu et al. Screen gleaning: A screen reading TEMPEST attack on mobile devices exploiting an electromagnetic side channel
CN111092912B (zh) 安全防御方法及装置
Wang et al. CNN‐and GAN‐based classification of malicious code families: A code visualization approach
Yoo et al. The image game: exploit kit detection based on recursive convolutional neural networks
Zhu et al. Adfl: Defending backdoor attacks in federated learning via adversarial distillation
Kasarapu et al. Cad-fsl: Code-aware data generation based few-shot learning for efficient malware detection
Macas et al. Adversarial examples: A survey of attacks and defenses in deep learning-enabled cybersecurity systems
KR20190028880A (ko) 봇넷 탐지 시스템을 학습하기 위한 학습 데이터를 생성하는 방법 및 그 장치
Zhao et al. Natural backdoor attacks on deep neural networks via raindrops
CN111881446B (zh) 一种工业互联网恶意代码识别方法及装置
Chen et al. Using adversarial examples to bypass deep learning based url detection system
Yerima et al. Bot-IMG: A framework for image-based detection of Android botnets using machine learning
CN113222480B (zh) 对抗样本生成模型的训练方法及装置
Qiu et al. MT-MTD: Muti-training based moving target defense trojaning attack in edged-AI network
Huang et al. Attack detection and data generation for wireless cyber-physical systems based on self-training powered generative adversarial networks
CN112329025B (zh) 电力终端旁路安全分析方法及电力终端旁路安全分析系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190308