面向网络空间防御的对抗机器学习研究综述

2022-08-01 01:41余正飞
自动化学报 2022年7期
关键词:攻击者分类器网络空间

余正飞 闫 巧 周 鋆

近年来,人工智能、云计算、大数据、物联网、区块链等新一代信息技术突飞猛进,信息化和工业化深度融合,各类安全事件和网络攻击频繁发生,网络空间面临严重的安全威胁.2016 年,由恶意软件Mirai 控制的僵尸网络发起分布式拒绝服务攻击,造成美国东海岸大范围断网[1].2017 年,勒索病毒软件WannaCry 通过“永恒之蓝”MS17-010 漏洞在全球范围大规模爆发,至少150 个国家、30 万名用户被感染,造成经济损失高达80 亿美元[2].2019 年,中国网络空间研究院编写的《中国网络空间安全发展报告(2019)》指出:网络冲突和攻击成为国家间对抗主要形式[3].据不完全统计,中国每年因伪基站、恶意软件勒索等数字犯罪造成的损失达上百亿元[4].

上述事例表明,网络空间安全不仅影响着国民经济的发展,还关系着社会的稳定和国家安全.事实证明,“被动防守永远无法确保安全”,传统的以固定规则设定的网络空间防御体系变得效率低下,在面对“零日”漏洞以及各种高级可持续威胁时常常无能为力,网络空间防御面临严峻挑战.

与此同时,计算机算力的显著提升和数据量的日益递增,带动了机器学习的快速发展,人工智能迎来第三次发展浪潮.以深度学习为代表的机器学习作为当前人工智能领域最热门的研究方向之一,在计算机视觉、语音识别、自然语言处理等方面取得了一系列令人瞩目的研究成果,成为引领未来的战略性技术.

机器学习技术在处理分类任务和决策问题时展现的突出能力,成为网络空间防御中应用的新技术.利用机器学习技术构建“关口前移,防患于未然”的积极防御战略,提高网络空间安全监测和处理的效率,得到学术界、工业界的广泛关注.当前,基于机器学习的网络空间安全研究在系统安全、网络安全及应用安全等层面已有不少解决方案和方法,在包括垃圾邮件过滤、恶意软件检测、网络入侵检测、漏洞分析与挖掘等领域均取得了不错的效果[4].可以预见,引入机器学习来解决网络空间安全问题是不容置疑的趋势,机器学习在网络空间防御中的应用前景也会不断扩展.

值得注意的是,将机器学习应用于网络空间防御问题并非新概念.近年来,各主流网络安全公司纷纷尝试利用机器学习改进或重制其安全产品.然而,利用机器学习解决网络空间防御问题仍处于初级阶段.从模型的泛化能力、检测准确度以及实时性来看,目前的技术解决方案均不能较好满足网络空间防御的应用需求.导致这一现象的原因一般可概括为机器学习算法的安全性、功能及性能三个方面.安全性是机器学习在网络空间防御应用首先应解决的基础性问题.面向网络空间防御的机器学习需要在对抗多变的环境中处理大量数据,对算法的安全性要求极为严苛.在算法安全性得到保障的基础上,机器学习的功能才可以得以实现.在算法安全性和算法功能实现的基础上,算法自适应性、可解释性等问题需要加以关注.

不幸的是,机器学习本身存在易受对抗攻击的安全隐患.网络空间更是高对抗环境,无时无刻不在发生力量之间的相互对抗,机器学习在这样的对抗环境下具有高度的脆弱性,存在受到对抗攻击的潜在风险,可能成为网络空间防御体系中最为薄弱的环节,从而危害整个系统的安全.例如,机器学习模型训练过程中利用大量的网络流量、日志信息、系统信号等非结构化数据,对这些输入数据进行投毒攻击,会使得模型无法取得良好效果.此外,研究显示,机器学习相关算法能够轻易地被对抗样本操控,将对抗样本作为输入,即使其中仅包含人类难以察觉的轻微扰动,也会导致系统性能明显下降.利用机器学习解决网络空间安全问题仍是极具挑战性的工作.

为应对以上挑战,研究人员着手开展对抗机器学习相关研究,提高机器学习算法在网络空间防御中的鲁棒性,推动机器学习相关算法的应用[5−10].网络空间中广泛存在的对抗使得机器学习的应用面临严峻挑战.以对抗样本生成和防御为中心的对抗深度学习,无疑是对抗机器学习领域当前最受关注的研究热点.然而,网络空间是“没有经过勘测的深海”,科学分析安全问题场景,从运行机理上展开研究,探索机器学习算法应用的可行性,对于机器学习在网络空间防御中的应用大有裨益.

1)对抗机器学习相关综述.随着对抗机器学习研究的深入,相关研究成果不断涌现.为此,众多学者展开了对抗机器学习的综述工作,对该领域进行了归纳与总结,典型的综述文献及主要内容如表1所示.在已有的综述文献中,部分综述性工作从总体上对机器学习模型[7,11−17]或深度学习模型[18−21]的对抗攻击和防御展开论述,如文献[7]从对抗机器学习演进路线切入,论述机器学习的攻防问题,应用范围包括计算机视觉及网络安全,文献[19]详尽论述深度学习中的对抗样本生成与防御技术;部分综述性工作[17,22−23]围绕对抗机器学习中的隐私攻防进行了论述.上述综述对通用机器学习模型和深度学习模型的对抗攻防问题进行了论述.值得注意的是,机器学习算法在与具体应用领域结合时,往往具有鲜明的领域特点.为此,部分综述性工作围绕机器学习应用于各领域时的攻击与防御问题进行了研究,主要包括计算机视觉[24−27]、自然语言处理[28]、生物医疗[29−31]等,较好地论述了各自领域所带来的新特点与新问题.同时,也有部分工作围绕网络空间防御中基于机器学习的入侵检测系统[32]、恶意软件检测[33]对抗攻击与防御问题进行论述.然而,没有相关研究就机器学习在网络空间防御应用中存在的对抗攻击与防御进行综述.本文在详尽调研与检索相关论文的基础上,首次从网络空间防御这个角度切入,开展对抗机器学习综述.

表1 对抗机器学习相关综述Table 1 Related surveys about adversarial machine learning

2)论文选取范围.本文的综述范围主要是国内外人工智能和信息安全领域顶级会议和期刊,包括安全与隐私专题研讨会(IEEE Symposium on Security and Privacy,S&P)、计算机和通信安全会议(ACM Conference on Computer and Communications Security,CCS)、安全专题研讨会(Usenix Security Symposium)、网络与分布式系统安全研讨会(ISOC Network and Distributed System Security Symposium,NDSS)等国际信息安全四大会议,另外还有学习表征国际会议(International Conference on Learning Representations,ICLR)、知识发现与数据挖掘(ACM Knowledge Discovery and Data mining,KDD)、神经信息处理系统年会(Annual Conference on Neural Information Processing Systems,NeurIPS)、国际人工智能联合会议(International Joint Conference on Artificial Intelligence,IJCAI)、人工智能大会(AAAI Conference on Artificial Intelligence,AAAI)等人工智能领域顶级会议,以及国内计算机领域部分重要刊物.另外,部分预印版论文对该方向研究有较大影响,本文选取部分质量较好、方法较新、引用较高的预印版论文进行论述.

3)本综述的主要贡献.本综述以网络空间防御为问题背景,全面综述机器学习在网络空间防御中可能遭受的对抗攻击、可采取的防御措施及以后的发展方向.本综述的主要贡献有两个方面:一是首次从网络空间防御层面论述机器学习的对抗攻击与防御;二是探讨了该领域可能的发展方向与存在的挑战.

本文结构如下:第1 节介绍网络空间防御及对抗机器学习等背景知识;第2 节针对机器学习算法在网络空间防御中可能遭受的攻击进行威胁建模,目的是科学评估其在特定攻击场景下的安全属性;第3 节针对应用于网络空间防御的机器学习算法,讨论如何实现测试阶段的规避攻击,训练阶段的投毒攻击以及机器学习全阶段的隐私窃取;第4 节论述当前主要采取的防御措施;第5 节讨论了当前研究的主要局限性以及下一步研究的可行方向.

1 背景知识

为了更好地阐明机器学习在网络空间防御中的应用,对网络空间防御和对抗机器学习等背景知识给予简单解释和阐述.

1.1 网络空间防御

网络空间是信息环境中的一个全球域,是依赖于空中、陆地、海洋和太空的物理域[34].1984 年,美国科幻作家William Gibson 的长篇小说 《神经漫游者》 中首次提出网络空间的概念,意为“看不到高山荒野,也看不到城镇乡村,只有庞大的三维信息库和各种信息在高速流动[35]”的广袤空间.2001年1 月,美国首先提出网络空间是“由独立的信息基础设施组成的全球域,包括互联网、电信网、计算机系统和各类嵌入式处理器、控制器”[36].与之相对应,国内将网络空间称之为网络电磁空间,即“融合于物理域、信息域、认知域和社会域,以互联互通的信息技术基础设施网络为平台,通过无线电、有线电信道、信号传递信息,控制实体行为的信息活动空间”.2015 年,方滨兴[37]指出,网络空间包括“互联网、通信网、广电网、物联网、社交网络、计算系统、通信系统、控制系统等”.

可以看出,与仅包括局域网、域域网和广域网的传统网络相比,网络空间作为一个全球域有其独有特性,包括对环境的部分感知,动态、离散、极度复杂以及对抗性强等特征.因此,网络空间防御能力是关系到国家战略安全的重要指标,亟需学术界及工业界的关注.

网络空间防御以实现网络空间安全为根本目标,既维护包括人、机、物等实体在内的基础设施安全,也维护其中产生、处理、传输、存储的各种信息数据的安全.广义上,网络空间防御泛指为实现网络空间安全采取的一切措施.从狭义上来讲,网络空间防御专指对计算机、网络以及各种信息的一种保护措施,通过预防、检测和响应攻击等行为,实现网络空间安全,以降低信息基础设施的脆弱性[38].当前,网络空间防御手段主要包括防火墙、防病毒软件、网址过滤、终端检测和响应等,涉及被动信息保障、主动诱骗、网络空间冲突规避和入侵检测技术等.

然而,随着时代的发展,网络空间节点数目呈指数级增长,节点间的关系错综复杂,导致网络中各种分布式拒绝服务攻击、撞库攻击、恶意软件、网络入侵等威胁越发复杂,各种新程序、新技术、第三方/开源代码等应用使得攻击面越发宽广.一切都在变化,超越了传统安全防护手段的响应速度,随之而来的是更大的风险、更高的复杂性,网络空间防御愈发困难.

1.2 对抗机器学习

机器学习是多学科交叉专业,属于计算机科学与人工智能的重要分支领域.1950 年,人工智能先驱Turing[39]在著名论文 《计算机器与智能》 中,对图灵测试以及日后人工智能所包含的重要概念进行介绍.同时,Turing 提出的“通用计算机能否学习与创新”问题,引起各界广泛讨论.机器学习概念由此引申而来,并于1959 年由计算机专家Samuel[40]首次提出.

机器学习能够利用经验数据改善系统自身性能,并获得处理未知数据的泛化能力.Mohri 等[41]从广义上将机器学习定义为使用经验来提高性能或做出准确预测的计算方法.在经典的符号主义人工智能范式中,系统输入的是规则(即程序)和需要根据这些规则进行处理的数据,系统输出的是答案.利用机器学习,输入的是数据或从这些数据中预期得到的答案,系统输出的是规则.这些规则随后可应用于新的数据,并使计算机自主生成答案.

机器学习在许多方面取得了巨大的成功,然而算法本身的安全性问题一直没能得到很好解决.对抗机器学习的核心思想就是分析机器学习算法在遭受特定攻击时的安全性,并为设计更安全的学习算法制定适当对策.如表2 所示,该领域已经成为机器学习与计算机安全交叉研究的热点,并形成了初步的研究体系.Biggio 等[7]认为该领域的开创性工作可以追溯到2004 年,Dalvi 等[42]和Lowd 等[43−44]先后针对垃圾邮件过滤问题展开研究.2004 年文献[42]提出对抗分类概念,指出早期基于机器学习的垃圾邮件检测系统中存在规避分类检测问题.2005 年Lowd 等[43]进一步提出对抗学习概念.2006 年Barreno 等[8]首次较为明确地提出机器学习安全问题的有关概念和知识,包括机器学习系统的攻击分类和敌手建模,并在2010 年就机器学习安全相关概念进行了完善[45].Dasgupta 等[46]将对抗机器学习形式化为学习器与敌手围绕不同目标进行的博弈.其中,学习器的目标是对数据进行正确预测或分类,敌手的目标则是诱使学习器对相关的数据做出错误的预测.

表2 对抗机器学习时间线Table 2 A timeline of adversarial machine learning history

近年来,深度学习成为机器学习领域的重要组成部分,并有逐渐占据主导地位的趋势.2014 年,研究人员发现对抗样本在深度学习系统中普遍存在[47−48],随后进一步指出深度学习本身存在明显的安全和隐私问题.以上研究成果迅速激起了人们对深度学习安全性进行研究的兴趣,越来越多的研究论文开始提出应对威胁的相关对策[49−53],以使深度学习算法能够抵抗对抗攻击.这些工作极大地促进了对抗机器学习研究的发展,并推动对抗机器学习成为当前研究的热点.围绕对抗机器学习中威胁建模、攻击方法和防御措施等3 个方面已经做了大量工作,主要包括:1)针对机器学习开展投毒攻击、规避攻击与隐私窃取;2) 针对前述攻击提出安全评估的系统方法;3)设计适当的防御机制以应对这些威胁.

为进一步阐明上述攻防博弈的演变过程,本文以跨站脚本(Cross-site scripting,XSS)攻击检测为典型案例进行分析.XSS 攻击是一种危害极其严重的网络攻击.攻击者在网页中插入恶意代码,当用户在引诱下点击包含XSS 恶意代码的链接或浏览包含XSS 代码的网页时,就可能遭到XSS 攻击.

XSS 攻击通常使用包含“%”“&”“<”“#”等特殊字符或