何康,祝跃飞,刘龙,芦斌,刘彬
敌对攻击环境下基于移动目标防御的算法稳健性增强方法
何康1,2,祝跃飞1,2,刘龙1,2,芦斌1,2,刘彬1,2
(1. 信息工程大学网络空间安全学院,河南 郑州450001;2. 数学工程与先进计算国家重点实验室,河南 郑州 450001)
传统的机器学习模型工作在良性环境中,通常假设训练数据和测试数据是同分布的,但在恶意文档检测等领域该假设被打破。敌人通过修改测试样本对分类算法展开攻击,使精巧构造的恶意样本能够逃过机器学习算法的检测。为了提高机器学习算法的安全性,提出了基于移动目标防御技术的算法稳健性增强方法。实验证明,该方法通过在算法模型、特征选择、结果输出等阶段的动态变换,能够有效抵御攻击者对检测算法的逃逸攻击。
机器学习;算法稳健性;移动目标防御;动态变换
近年来,机器学习算法在数据挖掘、图像处理、自然语言处理和网络空间安全等方面得到了广泛应用,分类准确率上取得了显著提升。但面对以入侵检测、恶意软件检测为代表的网络安全领域[1-4]的分类任务时,算法在提高算法分类准确率的同时,还需应对敌人对算法本身的攻击。传统的机器学习任务通常假设训练数据集和测试数据集的特征服从基本一致的概率分布,进而取得较高的准确率。基于流形学中关于低概率区域的观点认为,由于训练样本的有限性,机器学习的训练过程只学习了总体样本所在的概率空间的局部区域,而对抗样本是从总体样本所在的概率空间的某一子空间抽样得到,其超出了分类器所能学习的概率分布所在的支集[5],因而攻击者会通过精巧修改输入样本来打破该假设并误导分类算法输出期望的错误判断。在图像处理[6]、语音识别[7]等领域,已有对输入样本数据的小幅改动能够逃逸分类算法检测的研究,在网络安全领域,在检测模型算法上的对抗也日趋激烈[8-9]。
常规的机器学习防御方法通过添加对抗样本到训练集中重训练模型优化分类性能,但给定足够长的时间,攻击者总能构造出不在训练数据分布范围内的对抗样本。Nicolas等[10]提出训练过程中的防御性蒸馏增加了输出类别之间的相似性信息,提高了算法的稳健性,但Carlini等[11]的研究表明,攻击方式稍作修改仍能有效降低算法的准确率。
基于此,本文基于移动目标防御(MTD,moving target defense)思想[12]提出一种算法稳健性增强的方法。传统的防御系统只是对防御方的系统进行加固,但无法保证加固后的系统信息不暴露给攻击者。攻击者经过不断地试探、分析、研究,能不断获取目标信息,攻击者有充分的时间和资源挖掘系统的弱点,而防御者对攻击者的信息知之甚少,无法进一步提高防御水平,攻击者对防御者具有天然的不对称优势。为了打破这种不对称优势,增加防御者的动态性和随机性,MTD技术应运而生。其目标是通过构建一个动态变化、冗余异构、具有不确定性的防御系统,使攻击者的目标一直处于动态变化过程中,大大增加了攻击者的攻击代价。MTD技术在操作系统地址空间和指令集[13]、网络地址和端口[14]等方面的应用已显著提高了网络系统的安全性,其防御思想可引入算法系统的防御中。MTDeep[15]将MTD思想应用到神经网络算法中,张红旗团队[16]使用主从博弈对其效能进行了分析。Roy[17]、李亚龙[18]等将该思想进一步拓展到非理性条件和非完全信息情况下的攻防博弈分析。攻防双方采取不同概率分布策略时的随机预测博弈模型,以提高攻击开销。
本文首先对MTD在算法上的应用进行形式化,做出对稳健性增益的定性分析;然后将MTD应用到算法设计的多个阶段,并给出了具体的实施方法;最后在恶意PDF分类领域对算法稳健性的增益进行检验。基于MTD的动态算法系统机制不是代替其他算法稳健性增强的方法,而是从额外的维度为现有的算法稳健性设计方法提供强有力的补充。
为对采用MTD技术算法的防御能力进行分析,首先对攻击者的能力进行假设。网络安全领域机器学习算法的典型应用包括对软件或者文档的恶意性进行分类,如VirusTotal、VirusShare等网站。用户仅可提交样本并获取查询结果,对其中涉及算法的训练集、分类器形式、参数等知识了解甚少,因此假设攻击方式为黑盒攻击。具体过程如下。
根据上述定义,可以得出以下性质。
面对未知的固定不变的目标算法,攻击者有充足的时间和资源寻找可能存在的漏洞,而防御者对攻击者采取的行动一无所知,攻击者对防御者有天然的不对称优势。MTD技术有3个典型特点:多样性、动态性、异构性。移动是在异构的配置中进行动态切换,减少算法的脆弱性在攻击者视野中的暴露时间,使攻击者的攻击速度落后于配置切换速度,达到有效增加攻击者的难度和代价的目的。在动态算法系统中,攻击者的目标就是执行分类任务的分类器,即机器学习算法模型本身。目标的集成以及动态切换构成了整体的动态算法系统。在本文中,算法的含义界定为根据训练数据生成的将输入向量映射到特定类别或属于各类别概率的执行分类任务的具体机器学习模型,不同的配置包括算法种类、使用的特征、参数和超参数等,是动态算法系统执行配置变换的基本单元。其中,多样性是实现MTD的基础,异构性是MTD能够有效工作的前提,如果算法模型之间没有差异性,则移动并不能带来算法稳健性上的增强。由于算法模型具有可迁移性的特点,如何在保证分类准确率的同时对算法进行多样化设计也是一个需要研究的重要问题。本文对这几个方面进行设计。
对同一个机器学习任务,可以使用不同的算法模型进行实现,但不同算法在数据的分类上展现出不同的优缺点。如近邻算法可解释性强,但对训练数据集的依赖性较强,容易受到敏感值的影响;基于条件概率的贝叶斯算法对不同维度数据的独立性有较高的要求;支持向量机算法的分类面主要受支持向量的影响,对偏离数据重心的样本的判断,置信度不高,且不同核函数的选择对分类结果的影响也较大;神经网络算法准确率较高,但参数较多,容易产生过拟合等。不同的分类算法在数据集上产生的分类面有较大差异,因而对核心数据集和边缘数据集的划分也不同。算法模型本身的多样性有利于提高算法系统的防御能力。
特征选择是从对象的大量描述维度中选取一部分用于机器学习训练的过程。该过程一方面能够去除重复冗余的特征来减少特征之间的相关性,另一方面通过降低维度来防止维度灾难引起的过拟合等问题,增强机器学习模型的泛化能力。不同的模型描述对象的角度不同,对数据的特征选择也有不同的侧重,因而机器学习算法使用各自特征集训练的模型在对输入的判断上也有所差别。在特征选择上多样性设计可以从不同的角度对数据集进行判别,降低由于攻击者对特征知识的判断生成对抗样本的能力。
算法输出的多样性会对模型分类结果的准确率造成影响,但影响较小。对训练良好的机器学习模型来说,非对抗样本的隶属度概率绝大多数靠近0或者1,分布在分类界限0.5附近的样本数量很少。而对抗样本完全模拟正常样本的难度较大,有较大概率分布在分界线附近,分类概率输出的多样性会对对抗样本造成较大影响,进而给攻击者的替代模型造成较大困难。
以上列举了算法多样性设计的几种方式,在实际训练过程中可根据需求对算法模型其他方式的多样化,如使用不同的训练数据集和训练权重产生具有不同偏好的机器学习模型等。然而,算法的多样性不等同于集成学习算法。集成学习算法通过结合不同分类器的预测结果来产生最终的结果,但这些分类器本身是固定不变的,攻击者仍能通过长时间的信息反馈生成集成学习算法的对抗样本。 Kantchelian等[19]提出的基于混合整数线性规划的方法能对随机森林算法展开有效攻击并生成对抗样本。而基于MTD的算法系统可以动态切换使用机器学习模型,当攻击者针对当前模型生成对抗样本时,所面临的算法系统已经切换到新的机器学习模型,打破了攻击者对防御者的时间不对称优势,有效增强了算法面对敌对攻击的稳健性。
相比传统单一的检测算法,基于移动目标防御的动态算法系统地增加了部分开销,其成本有以下4个方面。①设计成本:防御者需要根据任务要求设计冗余异构算法,在保证准确率的同时压缩对抗样本的概率分布空间。②训练成本:使用数据集和算法对模型参数进行训练,单个模型的训练时间从分钟级到天级不等,算法池的规模为,则算法系统的训练成本为(),但该过程可以通过并行算法将训练成本降低到(1)。在实际部署中,算法系统可以在运行时增量训练,减少占用的时间成本,而模型的空间开销为()。③管理成本:动态算法系统需要对算法的工作状态进行管理和变换,需要占用一定的内存空间。④决策成本:相比单个算法直接获取检测结果,动态算法系统的决策模块需要集成多个算法的输出给出综合判断并为算法训练提供反馈。总体来说,动态算法系统对时间和空间占用控制在(),在时间和空间上不会造成太大的开销。
为了清晰地描述算法系统的动态变换过程,首先对相关概念做出说明。在算法设计流程中,在进行多样化设计的每个环节中,定义配置。
定义5 配置=(name, value),name为配置参数的标识符,value为该配置的取值。对每个配置,value的定义域为。
根据上述对动态算法系统的描述,设计的基于MTD技术的动态算法系统流程如图1所示。首先对算法进行多样化设计,并和训练数据集在分类准确率较高的前提下生成异构的机器学习模型池,供算法决策模块选择算法模型集。实际环境中的样本首先通过特征提取生成特征向量,然后经过的检测输出个检测结果,综合判别模块根据投票等决策机制输出对该样本的最终判别结果。的输出也会影响算法决策模块,检测前需运行算法决策模块决定是否对现有算法模型集进行变换。
算法决策模块的工作流程如图2所示。首次运行时,先从模型池中随机选取满足约束集的初始模型集作为输出。后续运行时,根据前述的变换策略决定是否对现有的进行变换。当决定变换时,根据目标选取策略集选择满足约束集的替换模型并生成动作序列。执行变换后得到更新后的算法模型集。
图1 基于MTD技术的动态算法系统流程
本文使用对便携式文档格式(PDF,portable document format)的恶意性检测任务检验MTD技术对算法稳健性的提升效果。由于PDF文件的广泛应用和其存在的大量漏洞[20],该格式文件越来越多地被用于发起APT攻击。虽然许多包括机器学习在内的检测算法已经被提出,但面对攻击者对机器学习模型本身的攻击时,其分类的准确率迅速下降。本文从MTD的角度分别对算法选择、特征选择和算法输出3方面进行多样化设计,并测试多样化的算法模型对对抗样本的检测能力。用来训练和测试的恶意样本集合Mal来自VirusTotal,其收集了大量已知的恶意PDF样本;良性的样本集Ben来自互联网的收集,其均已通过多种反病毒系统的检测。其中,Mal包含10 986个恶意样本,Ben包含8 969个良性样本。为了使用机器学习模型对PDF文档进行检测,从结构和内容两个方面对PDF文件进行特征提取,并生成296维列向量,作为样本的特征空间。
图2 算法决策模块的工作流程
Figure 2 Algorithm decision module workflow
表1 3个机器学习模型对各数据集的分类准确率
表2 使用不同特征的SVM模型的恶意样本检测率
表3 使用不同特征的SVM模型对敌对样本的检测率
表4 目标SVM模型性能的混淆矩阵
图3 样本数随分类概率扰动最大范围的变化
Figure 3 The change of sample number with the maximum perturbation range of classification probability
图4 检测率随分类概率扰动最大范围的变化
Figure 4 The change of detection rate with the maximum perturbation range of classification probability
实验表明,算法输出的多样性能小幅度提高算法系统检测对抗样本的能力。
随着人工智能技术在各领域的广泛应用和蓬勃发展,机器学习起到越来越重要的作用。在提高算法分类的准确率、召回率的同时,提高机器学习算法面对敌对攻击时的稳健性也越来越重要,特别是在攻防对抗十分激烈的网络安全领域。为了解决上述问题,本文从MTD思想的角度对传统的算法设计流程进行改造。首先对该思想的作用进行形式化的定性分析;其次根据算法实际设计经验提出了3种算法的动态化设计;然后结合MTD技术原理提出了动态算法的工作流程;最后以恶意PDF文档检测任务为例检验了MTD技术对算法稳健性的增益。实验证明,3种方法均能不同程度地提高算法的稳健性。本文设计的基于MTD防御技术的动态算法系统不是替换现有的算法稳健性增强算法,而是在既有的重训练、蒸馏等方法的基础上做进一步的改造,是从新的角度对现有算法稳健性的增强。
[1] JIANG H, NAGRA J, AHAMMAD P. Sok: applying machine learning in security-a survey[J]. arXiv preprint arXiv:1611.03186, 2016.
[2] PITROPAKIS N, PANAOUSIS E, GIANNETSOS T, et al. A taxonomy and survey of attacks against machine learning[J]. Computer Science Review, 2019, 34: 100199.
[3] 张东, 张尧, 刘刚, 等. 基于机器学习算法的主机恶意代码检测技术研究[J]. 网络与信息安全学报, 2017, 3(7): 25-32.
ZHANG D, ZHANG Y, LIU G, et al. Research on host malcode detection using machine learning[J]. Chinese Journal of Network and Information Security, 2017, 3(7): 25-32.
[4] 张骁敏, 刘静, 庄俊玺, 等. 基于权限与行为的 Android 恶意软件检测研究[J]. 网络与信息安全学报, 2017, 3(3): 51-57.
ZHANG X M, LIU J, ZHUANG J X, et al. Research on Android malware detection based on permission and behavior[J]. Chinese Journal of Network and Information Security, 2017, 3(3): 51-57.
[5] SZEGEDY C, ZAREMBA W, SUTSKEVER I, et al. Intriguing properties of neural networks[J]. arXiv preprint arXiv:1312.6199, 2013
[6] GOODFELLOW I J, SHLENS J, SZEGEDY C. Explaining and harnessing adversarial examples[J]. arXiv preprint arXiv:1412.6572, 2014.
[7] ZHANG G, YAN C, JI X, et al. Dolphinattack: inaudible voice commands[C]//The 2017 ACM SIGSAC Conference on Computer and Communications Security. 2017: 103-117.
[8] GROSSE K, PAPERNOT N, MANOHARAN P, et al. Adversarial perturbations against deep neural networks for malware classification[J]. arXiv preprint arXiv:1606.04435, 2016.
[9] CHEN S, XUE M, FAN L, et al. Automated poisoning attacks and defenses in malware detection systems: an adversarial machine learning approach[J]. Computers & Security, 2018, 73: 326-344.
[10] PAPERNOT N, MCDANIEL P, WU X, et al. Distillation as a defense to adversarial perturbations against deep neural networks[C]//2016 IEEE Symposium on Security and Privacy (SP). 2016: 582-597.
[11] CARLINI N, WAGNER D. Towards evaluating the robustness of neural networks[C]//2017 IEEE Symposium on Security and Privacy (SP). 2017: 39-57.
[12] 蔡桂林, 王宝生, 王天佐, 等. 移动目标防御技术研究进展[J]. 计算机研究与发展, 2016, 53(5): 968-987.
CAI G L, WANG B S, WANG T Z, et al. Research and development of moving target defense technology[J]. Journal of Computer Research and Development, 2016, 53(5): 968-987.
[13] EVANS D, NGUYEN-TUONG A, KNIGHT J. Effectiveness of moving target defenses[M]//Moving Target Defense. 2011: 29-48.
[14] JAFARIAN J H, AL-SHAER E, DUAN Q. Openflow random host mutation: transparent moving target defense using software defined networking[C]//The First Workshop on Hot Topics in Software Defined Networks. 2012: 127-132.
[15] SENGUPTA S, CHAKRABORTI T, KAMBHAMPATI S. MTDeep: boosting the security of deep neural nets against adversarial attacks with moving target defense[C]//Workshops at the Thirty-Second AAAI Conference on Artificial Intelligence. 2018.
[16] LEI C, MA D H, ZHANG H Q. Optimal strategy selection for moving target defense based on Markov game[J]. IEEE Access, 2017, 5: 156-169.
[17] ROY A, CHHABRA A, KAMHOUA C A, et al. A moving target defense against adversarial machine learning[C]//The 4th ACM/IEEE Symposium on Edge Computing. 2019: 383-388.
[18] 李亚龙, 陈勤, 张旻. 基于博弈论的移动目标最优防御策略研究[J]. 计算机工程与应用, 2019, 55(19): 141-146.
LI Y L, CHEN Q, ZHANG M. Research on optimal defense strategy of moving targets based on game theory[J]. Computer Engineering and Applications, 2019, 55(19): 141-146.
[19] KANTCHELIAN A, TYGAR J D, JOSEPH A. Evasion and hardening of tree ensemble classifiers[C]//International Conference on Machine Learning. 2016: 2387-2396.
[20] NISSIM N, COHEN A, GLEZER C, et al. Detection of malicious PDF files and directions for enhancements: a state-of-the art survey[J]. Computers & Security, 2015, 48: 246-266.
[21] CHEN P Y, ZHANG H, SHARMA Y, et al. Zoo: zeroth order optimization based black-box attacks to deep neural networks without training substitute models[C]//The 10th ACM Workshop on Artificial Intelligence and Security. 2017: 15-26.
[22] MUÑOZ-GONZÁLEZ L, BIGGIO B, DEMONTIS A, et al. Towards poisoning of deep learning algorithms with back-gradient optimization[C]//The 10th ACM Workshop on Artificial Intelligence and Security. 2017: 27-38.
Improve the robustness of algorithm under adversarial environment by moving target defense
HE Kang1,2, ZHU Yuefei1,2, LIU Long1,2, LU Bin1,2, LIU Bin1,2
1. Cyberspace Security Institute, Information Engineering University, Zhengzhou 450001, China 2. State Key Laboratory of Mathematical Engineering and Advanced Computing, Zhengzhou 450001, China
Traditional machine learning models works in peace environment, assuming that training data and test data share the same distribution. However, the hypothesis does not hold in areas like malicious document detection. The enemy attacks the classification algorithm by modifying the test samples so that the well-constructed malicious samples can escape the detection by machine learning models. To improve the security of machine learning algorithms, moving target defense (MTD) based method was proposed to enhance the robustness. Experimental results show that the proposed method could effectively resist the evasion attack to detection algorithm by dynamic transformation in the stages of algorithm model, feature selection and result output.
machine learning, algorithm robustness, moving target defense, dynamic transformation
s: The National Key R&D Program of China (2016YFB0801505), Cutting-edge Science and Technology Innovation Project of the Key R&D Program of China (2019QY1305)
TP301.6
A
10.11959/j.issn.2096−109x.2020052
何康(1992− ),男,山东济宁人,信息工程大学博士生,主要研究方向为网络空间安全。
祝跃飞(1962− ),男,河南郑州人,信息工程大学教授、博士生导师,主要研究方向为入侵检测、密码学、信息安全。
刘龙(1983− ),男,河南郑州人,信息工程大学讲师,主要研究方向为入侵检测和信息安全。
芦斌(1983− ),男,河南郑州人,信息工程大学副教授,主要研究方向为信息安全、机器学习和网络分析。
刘彬(1981− ),女,河南郑州人,信息工程大学副教授,主要研究方向为网络安全。
论文引用格式:何康, 祝跃飞, 刘龙, 等. 敌对攻击环境下基于移动目标防御的算法稳健性增强方法[J]. 网络与信息安全学报, 2020, 6(4): 67-76.
HE K, ZHU Y F, LIU L, et al. Improve the robustness of algorithm under adversarial environment by moving target defense[J]. Chinese Journal of Network and Information Security, 2020, 6(4): 67-76.
2019−11−26;
2020−02−04
祝跃飞,yfzhu17@sina.com
国家重点研发计划基金(2016YFB0801505);国家重点研发计划前沿科技创新专项基金(2019QY1305)