本文来自安全牛。
越来越多的企业组织开始应用人工智能(Artificial Intelligence,缩写AI)和机器学习(Machine Learning,缩写ML)项目,保护这些项目变得日益重要。IBM和Morning Consult联合开展的一项调查显示,在7500多家受访跨国企业中,35%的企业已经在使用AI,比去年增加了13%,另有42%的企业在研究可行性。然而近20%的公司表示在保护AI系统的数据方面存在困难,这减慢了采用AI的步伐。
保护AI和ML系统面临重大挑战,一些挑战并不是AI技术本身造成的。比如说,AI和ML系统需要数据,如果数据包含敏感或隐私信息,就会成为攻击者的目标。机器学习模型在网络空间环境下存在受到对抗性攻击的潜在风险,可能成为防御体系中最为薄弱的环节,从而危害整个系统的安全。
什么是对抗性机器学习
对抗性机器学习并不是一种机器学习,而是攻击者用来攻击ML系统的一系列手段。对抗性机器学习利用了ML模型的漏洞和特殊性来实施攻击。比如,对抗性机器学习可用于使ML交易算法做出错误的交易决策,使欺诈性操作更难被发现,并提供错误的操作建议,以及操纵基于情绪分析的报告。
对抗性机器学习攻击分为中毒攻击、逃避攻击、提取攻击和推理攻击等四种方式。
1.中毒攻击
在中毒攻击中,攻击者操纵训练数据集。比如,故意使数据集有偏差,让机器以错误的方式学习。例如,你家装有基于AI的安全摄像头。攻击者可能每天凌晨3点路过你家,让他的狗穿过草坪,从而触发安全系统。最终,你关闭凌晨3点触发的这些警报,以免被狗吵醒。那个遛狗的人实际上在提供训练数据,让安全系统知道每天凌晨3点发生的事是无害的。当系统被训练以忽略凌晨3点发生的任何事情后,攻击者就趁机发起攻击。
2.逃避攻击
在逃避攻击中,模型已经过训练,但攻击者可以稍稍改变输入以实施攻击。一个例子是停车标志——当攻击者贴上让车标签后,机器解释为让车标志,而不是停车标志。在上面遛狗例子中,窃贼可以穿上狗服闯入你家。逃避攻击就像是机器的视错觉。
3.提取攻击
在提取攻击中,攻击者获得AI系统的副本。有时只需观察模型的输入和输出,就可以提取模型,并试探一下模型,观察其反应。如果可以多次试探模型,就能教自己的模型有同样的行为方式。
比如在2019年,Proofpoint的电子邮件保护系统曝出漏洞,生成的邮件标头附有一个分数,表明了邮件是垃圾邮件的可能性有多大。攻击者使用这些分数,就可以构建模仿的垃圾邮件检测引擎,以生成逃避检测的垃圾邮件。
如果一家公司使用商业AI产品,攻击者也可以通过购买或使用服务,获得模型的副本。例如,攻击者可以使用一些平台,针对防病毒引擎测试其恶意软件。在上面遛狗的例子中,攻击者可以弄一副望远镜观察安全摄像头是什么品牌,然后买同一品牌的摄像头,弄清楚如何绕过防御。
4.推理攻击
在推理攻击中,攻击者搞清楚用于训练系统的数据集,然后利用数据中的漏洞或偏差实施攻击。如果能搞清楚训练数据,就可以使用常识或高明的手法来利用它。仍以遛狗的例子为例,攻击者可能会监视房子,以便摸清楚附近路人车辆情况。当攻击者注意到每天凌晨3点有遛狗者经过,安全系统会忽视遛狗者,就有可能利用这一漏洞实施攻击。
将来,攻击者还可能同样利用智能化的机器学习技术来攻击正规的机器学习应用。比如,一种新型AI生成式对抗系统。这种系统常用于创建深度伪造(deep fake)内容,即高度逼真的照片或视频,让人误以为真。攻击者常常将它们用于在线诈骗,但也可以运用同样的原理生成无法检测出来的恶意软件。
在生成式对抗网络中,一方称为判别器,另一方称为生成器,它们相互攻击。比如,防病毒AI可能尝试查明某个对象是不是恶意软件。生成恶意软件的AI可能会尝试创建第一个系统无法揪出来的恶意软件。通过两个系统的反复对抗,最终结果可能是生成几乎不可能被发现的恶意软件。
如何防御对抗性机器学习
网络空间中广泛存在的对抗使得机器学习的应用面临严峻挑战,为了防御对抗性机器学习攻击的威胁,安全研究人员已经开始了对抗性机器学习的安全研究,提高机器学习算法在实际应用中的鲁棒性,保障机器学习相关算法的应用安全。
研究机构Gartner建议,如果企业有AI和ML系统需要保护,应采取针对性的安全措施。首先,为了保护AI模型的完整性,企业应采用可信赖AI的原则,并对模型进行验证检查;其次,为了保护AI训练数据的完整性,应使用数据中毒检测技术;此外,很多传统安全措施也可以被应用到AI系统保护中。比如,保护数据不被访问或破坏的解决方还可以保护训练数据集不被篡改。
MITRE公司以标准化的ATT&CK对抗性策略和技术框架而闻名,它也为AI系统创建了一套名为对抗性机器学习威胁矩阵(Adversarial Machine Learning Threat Matrix)的攻击框架,该框架后目前被称为人工智能系统的对抗性威胁环境(Adversarial Threat Landscape for Artificial-Intelligence Systems,缩写ATLAS),涵盖攻击ML系统的12个阶段。
此外,一些厂商已开始发布安全工具,帮助用户保护AI系统并防御对抗性机器学习。微软在2021年5月发布了Counterfit,这款开源自动化工具用于对AI系统进行安全测试。Counterfit起初是专门针对单个AI模型编写的攻击脚本库,后来变成了一款通用自动化工具,用于大规模攻击多个AI系统。该工具可用于使MITRE的ATLAS攻击框架中的技术实现自动化,但也可用于AI开发阶段,提早发现漏洞,以免漏洞进入生产环境。
IBM也有一款名为Adversarial Robustness Toolbox的开源对抗性机器学习防御工具,它现在是Linux基金会旗下的一个项目。该项目支持所有流行的ML框架,包括39个攻击模块,分为逃避、中毒、提取和推理四大类。
针对机器学习在网络空间防御中可能遭受的攻击,企业还应该尽早引入机器学习攻击者模型,目的是科学评估其在特定威胁场景下的安全属性。同时组织应充分了解对抗性机器学习算法如何在测试阶段发动规避攻击、在训练阶段发动投毒攻击、在机器学习全阶段发动隐私窃取的常见方法,设计并部署在网络空间实际对抗环境中,能够有效强化机器学习模型安全性的防御方法。