一、背景
机器学习在近些年一直是非常火的研究主题,它是人工智能核心,也是推进计算机具有智能的根本途径。它的基本任务有分类、聚类等,其本质都是在试图使机器通过学习大量的知识,获得模拟人的思路进行预测或决策的能力,例如决定某一封邮件是不是恶意的。这样的技术特点与网络安全自动化的发展趋势是吻合的,我们需要一台24小时工作的机器来帮助人们判断好与坏并采取应急响应措施,于是机器学习在网络安全得以大显身手。但是往往解决一个问题可能就会产生新的问题,一个技术可以被用来防御,同时也可能被人拿来攻击。机器学习的应用在某种方面解放了网络安全防御者的同时,也给了攻击者一个新的切入点,与此相关的对抗攻击开始成为一个新的问题。
二、内容概述
本文首先介绍了机器学习、网络安全及对抗攻击这三个领域及其交叉应用方面的基础知识,主体部分由六章组成:机器学习基础、机器学习在网络安全中的应用、针对机器学习的对抗攻击方法、对抗攻击分类、对抗攻击风险评估与对抗攻击的防御方法,文章最后基于前述工作进行了前期工作的总结和未来研究方向的阐述。
1、机器学习基础
机器学习根据所需方法和可用数据类型执行各种类型的任务[1]。文章按照三种标准对机器学习进行分类:学习技术、目标任务与学习深度(如图一),并逐一介绍其特点。
在目标任务的部分,文章将通用的机器学习任务与网络安全结合起来,并举出具体的算法例子。分类任务模型在网络安全中被用于检测已知类型的欺诈[2],并用于对不同用户进行分组,如社交垃圾邮件发送者[3]。此外,它还用于将程序和文件分为恶意软件、间谍软件和勒索软件三种类型;聚类任务则是通过比较业务流程来检测异常值[4];在网络安全中,使用回归模型从网络数据包中预测相关参数,然后将它们和常规参数进行比较[5],还被用于计算机网络中的异常检测、用户行为分析(如人机交互证明)和异常行为预测 [2],如信用卡欺诈交易。这体现出当前机器学习在网络安全领域已经得到了较为广泛的应用,如果出现攻击问题将会带来很大后果,因此这些研究是非常必要且有意义的。
图一 机器学习分类[1]
2、机器学习在网络安全中的应用
机器学习被广泛地用于执行网络安全方面的任务[6],包括网络内部和网络边缘的多层防御。文章从网络、终端、应用程序、进程行为和用户行为这五个方面对机器学习的应用展开阐述(如图二)。
图二 机器学习在网络安全中的应用[1]
3、针对机器学习的对抗攻击方法
在对抗式机器学习中,攻击者试图混淆机器学习模型使其做出错误的决策,通常的方法是在训练阶段[7]或推理阶段[8]修改输入到机器学习模型的输入数据。文章首先介绍了网络安全中对抗性攻击的威胁模型,包括已有知识、攻击空间、策略、目标和对象,随后介绍了各种对抗性攻击算法的分类方法(如图三)。
图三 对抗性攻击的威胁模型分类[1]
4、网络安全中的对抗攻击分类
前面几章是对机器学习和对抗技术的分类,那么本章就是对整个攻击行为的分类,其标准是特征范围,即攻击者在操纵或干扰哪些特征,以生成对抗性样本。针对恶意软件检测、网络钓鱼检测和垃圾邮件检测应用程序的对抗性攻击试图干扰有效负载功能,如二进制文件、URL或电子邮件。这些攻击被归类为针对端点保护系统的对抗性攻击。除此之外,还有针对网络异常检测应用程序的对抗性攻击,这些类型的攻击将试图干扰协议功能,如网络元数据或协议头。这些攻击被归类为针对网络保护系统的对抗性攻击(如图四)。
图四 对抗攻击分类[1]
5、对抗攻击风险评估
文章介绍了攻击风险评估的指标与框架:可迁移性的概念、基于模糊性概念的对抗性风险框架[9]以及对抗性风险网格映射的概念。可迁移性指的是,为特定深度学习模型制作的对抗性样本可以有效地导致不同模型中的错误分类,这被称为交叉模型对抗性样本。对抗性风险网格映射的目标是评估针对机器学习模型的对抗性攻击成功的可能性,以及该攻击成功后的后果(如图五)。
图五 对抗性风险网格映射[1]
6、对抗攻击的防御方法
文章介绍了目前使用的最常见的攻击方法,并根据策略和方法对其进行分类,包括梯度掩藏、防御蒸馏、对抗训练、对抗性样本检测、特征缩减和集成防御。此处与全文的攻击方法部分呈现一定程度的对应关系(如图六)。
图六 基于攻击者策略的对抗性防御方法[1]
三、总结和展望
机器学习模型在网络安全中的对抗性漏洞风险不断增加,辨别自主性和指令自主性降低。然而,由本文引入的基于对抗性风险网格图可以分析得出,只有辨别自主性和指令自主性的增强,对抗性脆弱性的风险才会降低。在恶意软件分类领域观察到最大的对抗攻击效应是对抗性样本将基于深度学习的恶意软件分类器的准确率从97%降低到5%,这是需要引起重视的。
与此相关还有很多可以研究的方向。攻击角度来看,在已有的对抗性样本的生成方法中,大量特征受到干扰,事实上这只是一个次优解,目前仍然缺乏对对抗性样本生成时需要扰动的最优特征的研究;从防御角度来看,目前大多数防御措施都是针对计算机视觉中机器学习应用程序的攻击而设计的,并且研究的防御通常是针对特定攻击或攻击的一部分而设计的。
安全技术的选择和使用需要万分谨慎。安全在任何领域都是十分重要的,尤其是互联网时代下的网络安全。因此,人们总是想要尽可能地把前沿高端的技术运用在安全领域中,例如区块链、机器学习等。然而,这些“美丽的补丁”也可能会成为攻击者的新入口。
参考文献
[1] bitoye O , Abou-Khamis R , Matrawy A , et al. The Threat of Adversarial Attacks on Machine Learning in Network Security -- A Survey[J]. 2019.
[2] Sahin Y , Duman E . Detecting Credit Card Fraud by Decision Trees and Support Vector Machines[J]. lecture notes in engineering & computer science, 2011.
[3] Lee K , Caverlee J , Webb S . Uncovering social spammers: social honeypots + machine learning[C]// International Acm Sigir Conference on Research & Development in Information Retrieval. ACM, 2010.
[4] Kravchik M , Shabtai A . Anomaly detection; Industrial control systems; convolutional neural networks[J]. 2018.
[5] Zamani M , Movahedi M . Machine Learning Techniques for Intrusion Detection[J]. 2013.
[6] Deepak B N , Pavithra H . Applications of Machine Learning in Cyber Security. 2018.
[7] [1]Muoz-González, Luis, Biggio B , Demontis A , et al. Towards Poisoning of Deep Learning Algorithms with Back-gradient Optimization[C]// the 10th ACM Workshop. ACM, 2017.
[8] Biggio B , Corona I , Maiorca D , et al. Evasion Attacks against Machine Learning at Test Time[J]. 2017.
[9] Liao F , Ming L , Dong Y , et al. Defense against Adversarial Attacks Using High-Level Representation Guided Denoiser[J]. 2017.