Microsoft 助力人工智能和机器学习的未来
作者:Andrew Marshall、Raul Rojas、Jay Stokes 和 Donald Brinkman
特别感谢 Mark Cartwright 和 Graham Calladine
执行摘要
人工智能 (AI) 和机器学习 (ML) 对人们的工作、社交和生活方式产生了重大影响。 随着越来越多的用户使用基于 AI/ML 构建的产品和服务,必须采取专门的措施来保护客户及其数据,同时保护 AI 和算法免遭滥用、挑衅行为和提取。 本文档分享了 Microsoft 的一些安全经验,这些经验源自产品设计和运行基于 AI 生成的联机服务。 尽管很难预测此领域将会如何发展,但我们知道现在有一些可采取行动的问题需要解决。 此外,我们发现,为了确保客户及其数据的长期安全,技术行业必须解决一些战略性问题。
本文档无关基于 AI 的攻击,甚至无关人类攻击者所利用的 AI。 相反,我们重点介绍 Microsoft 和行业合作伙伴需要解决的问题,以保护基于 AI 的产品和服务免受高度复杂、创造性和恶意的攻击,无论这些攻击是由单个挑衅者还是整个攻击群体发动。
本文档完全侧重于 AI/ML 领域独有的安全工程问题,但由于 InfoSec 域的广泛特性,这里讨论的问题和发现将在一定程度上与隐私和道德领域重叠。 由于本文档重点介绍技术行业所面临的战略重要性挑战,因此本文档的目标受众是行业范围内的安全工程领导者。
我们的初期调查建议:
需要面向现有安全实践的 AI/ML 特定透视,以减少本文档中所述的安全问题类型。
机器学习模型很大程度上无法区分恶意输入和良性异常数据。 训练数据的一个重要来源派生自未经策划、未经调节、允许第三方参与的公共数据集。 攻击者在参与编写数据集时无需破坏数据集。 随着时间的推移,如果数据结构/格式保持正确,低置信度的恶意数据就会变成高置信度的受信任数据。
由于可以在深度学习模型中使用大量的隐藏分类器/神经元层,因此,对 AI/ML 决策过程和算法的输出给予了过多的信任,而没有着重去理解这些决策是如何达成的。 这种混淆导致无法“展示你的工作”,并且当 AI/ML 发现受到质疑时,很难为其辩护。
AI/ML 越来越多地用于支持医学和其他行业的高价值决策过程,在这些行业中,错误的决策可能会导致严重伤害或死亡。 AI/ML 中缺乏取证报告能力,使得这些高价值的结论在法庭和舆论法庭上都站不住脚。
本文档的目标是 (1) 突出 AI/ML 领域独有的安全工程问题,(2) 对新出现的威胁提出一些初步的想法和观察,(3) 分享有关潜在修正的早期想法。 本文档中的一些难题是,行业需要在接下来的两年内解决的问题,其他问题是我们目前被迫解决的问题。 如果不深入研究本文档所涵盖的领域,我们将面临未来 AI 成为黑盒的风险,因为我们无法信任或理解(并在必要时修改)数学级别的 AI 决策过程 [7]。 从安全角度来看,这实际上意味着失去控制,背离了 Microsoft 的人工智能指导原则 [3、7]。
新安全工程挑战
传统的软件攻击途径仍是需要解决的关键问题,但它们在 AI/ML 威胁环境中没有提供足够的覆盖范围。 技术行业必须通过建立新的框架,并采用新的方法来解决基于 AI/ML 的服务在设计和操作方面的差距,避免用上一代的解决方案来解决下一代的问题:
如下所述,在保护 AI 和其控制下的数据时,安全开发和操作基础必须包含复原能力和判断的概念。 身份验证、责任分离、输入验证和拒绝服务缓解等领域都需要 AI 特定透视。 没有这些领域的投资,AI/ML 服务将继续与所有技能级别的攻击者进行一场艰苦的战斗。
AI 必须能够识别他人的偏见,而不会在与用户的互动中产生偏见。 要做到这一点,需要对偏见、刻板印象、方言和其他文化结构有一个全面、持续的理解。 此类理解有助于保护 AI 免受社会工程和数据集篡改攻击。 正确实现的系统在经历此类攻击后实际上会变得更强大,并且能够与其他 AI 共享其深入的理解。
机器学习算法必须能够通过拒绝对结果有负面影响的训练数据,从良性“黑天鹅”事件 [1] 中识别恶意引入的数据。 否则,学习模型总是容易受到攻击者和挑衅者所发起的博弈的影响。
AI 必须具有内置的取证功能。 这使企业能够为客户提供 AI 的透明度和问责,确保其操作具备可证实的正确性,同时确保其合法性。 这些功能还可以充当“AI 入侵检测”的早期形式,使工程师能够确定分类器做出的决定的确切时间点、影响它的数据,以及数据是否值得信任。 该领域的数据可视化功能正在迅速发展,有望帮助工程师识别和解决这些复杂问题的根本原因 [10]。
AI 必须识别和保护敏感信息,即使用户无法识别这些信息。 AI 中丰富的用户体验需要大量的原始数据进行训练,因此,必须计划好客户的“过度共享”。
下面将详细讨论其中的每个领域,包括威胁和潜在缓解措施。
AI 需要对传统安全设计/安全操作模型进行新的透视:引入复原能力和判断
AI 设计人员需要确保敏感数据的保密性、完整性和可用性,确保 AI 系统没有已知漏洞,并为系统或用户的数据提供针对恶意行为的防护、检测和响应控制。
防御恶意攻击的传统方法在这种新模式下不提供相同的覆盖范围,在此模式下,基于语音/视频/图像的攻击可以绕过当前的筛选器和防御系统。 为了防止新的滥用利用 AI,必须对新的威胁建模方面进行探讨。 这远远超出了通过模糊化或输入操作来识别传统攻击面的范畴(这些攻击还具有自己的 AI 特定透视)。 它需要结合 AI/ML 领域独有的场景。 其中的关键是 AI 用户体验,如语音、视频和手势。 与这些体验相关的威胁没有以传统方式进行建模。 例如,现在可以定制视频内容来产生物理效果。 此外,研究表明,可以精心设计基于音频的攻击命令 [9]。
罪犯、已确定的攻击者和挑衅者的不可预测性、创造性和恶意行为要求我们向 AI 灌输复原能力和判断价值:
弹性:系统应能够识别异常行为,并防止 AI 系统和特定任务中超出正常可接受行为边界的操纵或强迫行为。 这些是特定于 AI/ML 领域的新攻击类型。 系统应旨在抵制那些与当地法律、道德和社区及其创建者所持的价值观相冲突的输入。 这意味着为 AI 提供了一种功能,可以确定交互何时“脱离脚本”。 可以通过以下方法实现此目的:
确定那些不符合各种大型相似用户群集所设定的标准的个别用户,例如打字太快、反应太快、不睡觉或触发其他用户不会触发的系统部分的用户。
识别已知的行为模式,这些行为指示恶意探测攻击和网络入侵终止链的开始。
识别当多个用户以协调方式执行操作;例如,多个用户都发出了相同的无法解释且精心设计的查询,用户数突然激增,或者在激活 AI 系统的特定部分时突然激增。
此类型的攻击应与拒绝服务攻击同等对待,因为 AI 可能需要修复 bug 和重新训练,以避免再次落入同样的陷阱。 至关重要的一点是,当存在一些防范措施(如用于破坏情绪分析 API 的对策)时,能够识别恶意意图 [4]。
自定义:AI 应该是有权访问的任何信息的受信任的担责管理员。 作为用户,我们无疑会在我们的 AI 关系中赋予一定程度的信任。 在某些时候,这些代理会代表我们与其他代理或其他用户交谈。 我们必须能够信任 AI 系统具有足够的判断,只以有限的形式分享它需要分享的关于我们的信息,以便其他代理能够代表它完成任务。 此外,代表我们与个人数据交互的多个代理并非都需要对数据的全局访问权限。 任何涉及多个 AI 或机器人代理的数据访问场景都应将访问的生命周期限制到所需的最小范围。 用户还应该能够拒绝数据,并拒绝来自特定公司或区域设置的代理的身份验证,就像 Web 浏览器现在允许站点阻止一样。 若要解决此问题,需要重新考虑代理间的身份验证和数据访问权限(例如,在云计算初期进行的基于云的用户身份验证投资)。
AI 必须能够识别他人的偏见,而不会自行产生偏见
虽然 AI 应该是公平和包容的,不区别对待任何特定的个人群体或有效结果,但它需要对偏见有固有的理解,才能实现此目的。 如果 AI 没有受过识别偏见、挑衅行为或讽刺方面的训练,它可能会被那些寻求低速趣味的用户所愚弄,甚至对客户造成不利影响。
要达到这种程度的意识,就需要“正常用户向 AI 演示一些不提倡的做法”,因为这实际上是要求 AI 全面不断地了解文化偏见。 AI 应该能够识别出过去与它有过负面互动的用户,并提供适当的警示,就像父母教导孩子提防陌生人一样。 解决这个问题的最佳方法是小心地将 AI 以受控/节制/有限的方式向挑衅者公开。 通过这种方式,AI 可以理解良性用户“试探行为”和实际恶意/挑衅行为之间的区别。 挑衅者为 AI 提供了宝贵的训练数据流,使其在未来的攻击中具备更出色的复原能力。
AI 还应该能够识别它所训练的数据集中的偏差。 这可以是文化偏差或地域性偏差,包括特定群体使用的方言,也可以是特定群体感兴趣的话题/观点。 与恶意引入的训练数据一样,AI 必须能够灵活应对这些数据对其自身推理和推导的影响。 在 AI 核心,这是一个复杂的输入验证问题,类似于边界检查。 缓冲区和边界检查不是处理缓冲区长度和偏移量,而是对来自广泛来源的警告词进行检查。 对话历史和使用词语的上下文也非常关键。 正如使用深入防御做法在传统 Web 服务 API 前端之上建立保护层一样,在偏差识别和避免技术中也应该利用多层保护。
机器学习算法必须能够从良性“黑天鹅”事件中识别恶意引入的数据
关于理论上潜在的 ML 模型/分类器篡改和从服务中提取/盗窃已经发表了大量白皮书,攻击者可以访问训练数据集并了解使用中的模型 [2、3、6、7]。 这里的首要问题是,所有的 ML 分类器都可能被控制训练集数据的攻击者欺骗。 攻击者甚至不需要修改现有训练集数据,他们只需要能够向其添加数据,并利用 ML 分类器无法区分恶意数据和真正异常数据的缺陷,使他们的输入随着时间的推移而变得“可信”。
此训练数据供应链问题向我们介绍了“决策完整性”的概念,即在恶意引入的训练数据或用户输入对分类器行为产生负面影响之前,识别和拒绝它们的能力。 这里的基本原理是,可信的训练数据产生可信结果/决策的可能性更高。 尽管对不可信的数据进行训练和灵活应对仍然是至关重要的,但在这些数据成为高置信度的训练数据体的一部分之前,应对其恶意性质进行分析。 如果没有这些措施,AI 可能会被迫对挑衅行为做出过度反应,并拒绝向合法用户提供服务。
需要特别注意的是,无人监督的学习算法训练是在未经策划或不受信任的数据集上进行的。 这意味着,攻击者可以引入他们所需的任何数据,只要格式有效,并对其进行了算法训练,就可以通过与训练集的其余部分相同的方式有效地信任该数据点。 凭借来自攻击者精心设计的输入,训练算法就失去了从高置信度数据中辨别干扰和异常的能力。
作为此威胁的一个示例,想象一个包含世界各地各种语言的停车标志数据库。 这对于策划而言是一个极大的挑战,因为涉及到大量的图像和语言。 对数据集提供的恶意数据在很大程度上不会引起注意,直到自动驾驶汽车不再识别停车标志。 数据恢复能力和决策完整性缓解措施在此必须携手合作,以识别和消除恶意数据对训练造成的损害,以防其成为学习模型的核心部分。
AI 必须有内置的取证和安全记录,以提供透明度和可靠性
AI 最终将有能力以专业的身份作为我们的代理,协助我们做出重大的决策。 例如,帮助处理财务交易的 AI。 如果 AI 被利用,交易将在某种程度上被操纵,后果可能涉及个人到系统。 在高价值场景中,AI 需要适当的取证和安全记录,以提供完整性、透明度、问责性,以及在某些情况下,可能引起民事或刑事责任的证据。
基本的 AI 服务需要算法级别的审核/事件跟踪功能,使开发人员可以检查可能导致错误决策的特定分类器的记录状态。 为了在遭质疑时证明 AI 生成决策的正确性和透明性,在整个行业范围内都需要此功能。
事件跟踪功能可以从基本决策信息的相关性开始,例如:
上次训练事件发生的时间范围
最新训练的数据集条目的时间戳
用于做出重大决策的关键分类器的权重和置信度级别
决策中涉及的分类器或组件
算法最终做出的高价值决策
对于大多数算法辅助的决策来说,此类跟踪是多余的。 但是,如果能够识别导致特定结果的数据点和算法元数据,那么在做出高价值决策时很有帮助。 此类功能不仅可以通过算法“展示其工作”的能力来证明其可信度和完整性,而且这些数据还可以用于微调。
AI/ML 中需要的另一个取证功能是篡改检测。 正如我们需要 AI 识别偏差而不受其影响一样,我们也应该具备一些取证功能,以帮助我们的工程师检测并应对此类攻击。 当与数据可视化技术 [10] 结合使用时,这种取证功能将具有巨大的价值,它允许对算法进行审核、调试和优化,以获得更有效的结果。
AI 必须保护敏感信息,即使用户还无法识别这些信息
丰富的经验需要丰富的数据。 用户已经自愿提供了大量数据供 ML 进行训练。 从常见的视频流队列内容到用于检测欺诈的信用卡购买/交易历史的趋势。 在处理用户数据时,AI 应该有一种根深蒂固的谨慎意识,即使是由过度共享的公众自愿提供的数据,也应始终采取行动来保护这些数据。
为了完成复杂任务,AI 可以与经过身份验证的“对等方”进行对话,因此它也必须认识到需要限制与这些对等方共享的数据。
关于解决 AI 安全问题的初步观察
尽管该项目还处于起步阶段,但我们相信,且到目前为止收集的证据表明,对以下各个领域进行更深入的调查,将是推动我们的行业提供更可靠、更安全 AI/ML 产品/服务的关键。 以下是我们对该领域的初步观察和想法。
可以建立以 AI/ML 为重点的渗透测试和安全审查机构,以确保未来 AI 与我们的价值观相同,并符合 Asilomar AI 原则。
- 此类小组还可以开发在行业范围内使用的工具和框架,以支持保护基于 AI/ML 的服务。
- 随着时间的推移,这种专业知识将在工程小组内部有机地积累起来,就像过去 10 年传统的安全专业知识一样。
可以组织培训,使企业能够实现诸如大众化 AI 等目标,同时缓解本文档中讨论的挑战。
- AI 特定的安全培训确保工程师意识到对其 AI 和可支配的资源所带来的风险。 该材料需要随当前有关保护客户数据的培训一起提供。
- 此目标实现不要求每个数据科学家成为安全专家,而是要侧重于对开发人员进行关于适用于其 AI 用例的复原能力和判断的培训。
- 开发人员需要理解在整个企业中重用的 AI 服务的安全“构建基块”。 需要重点强调可轻松关闭的子系统的容错设计(例如图像处理器、文本解析器)。
可以对 ML 分类器及其基础算法进行强化,使其能够检测恶意训练的数据,而不会干扰当前使用的有效训练数据或影响结果的准确性。
拒绝负面输入 [5] 之类的技术需要研究周期来展开调查。
这项工作包括数学验证、代码的概念验证,以及针对恶意和良性异常数据的测试。
就此方面,人为抽样检查/审核可能会有所帮助,特别是在存在统计异常的情况下。
可以构建“监督者分类器”,以更广泛地了解多个 AI 之间的威胁。 这极大地提高了系统的安全性,因为攻击者无法再盗取任何一个特定的模型。
AI 可以链接在一起,以识别彼此系统中的威胁
可以建立一个集中的 ML 审核/取证库,为 AI 的透明度和可信度建立标准。
- 还可以生成查询功能来审核和重构 AI 的重大业务决策。
AI 可以不断地研究和分析不同文化群体和社交媒体中的攻击者使用的方言,以检测和回应挑衅、讽刺等信息。
AI 需要灵活应对各种方言,无论是技术方言、区域方言还是特定于论坛的方言。
还可以在内容筛选/标记/阻止自动化中使用这一知识体系,以解决审查方可伸缩性问题。
这一全局术语数据库可以托管在开发库中,甚至可以通过云服务 API 公开,供不同的 AI 重用,从而确保新 AI 从旧 AI 的综合知识库中获益。
可以创建一个“机器学习模糊框架”,让工程师能够将各种类型的攻击注入测试训练集,供 AI 评估。
- 这不仅可以重点关注文本方言,还可以关注图像、语音和手势数据,以及这些数据类型的排列方式。
结束语
Asilomar AI 原则说明了以一种始终有利于用户的方式实现 AI 的复杂性。 未来的 AI 需要与其他 AI 进行交互,以提供丰富且引人注目的用户体验。 这意味着 Microsoft 从安全角度“正确实现 AI”还不够,整个世界都必须做到这一点。 我们需要行业联合协作,以类似于我们在全球推广数字日内瓦公约的方式更好地了解本文档中的问题 [8]。 通过解决在此提出的问题,我们可以开始引导客户和行业合作伙伴走向 AI 真正大众化和增强全人类智慧的道路。
参考文献
[1] Taleb, Nassim Nicholas (2007), The Black Swan: The Impact of the Highly Improbable, Random House, ISBN 978-1400063512
[2] Florian Tramèr, Fan Zhang, Ari Juels, Michael K. Reiter, Thomas Ristenpart, Stealing Machine Learning Models via Prediction APIs
[3] Satya Nadella:The Partnership of the Future
[4] Claburn, Thomas:Google's troll-destroying AI can't cope with typos
[5] Marco Barreno、Blaine Nelson、Anthony D. Joseph、J.D.Tygar:The security of machine learning
[6] Wolchover, Natalie:This Artificial Intelligence Pioneer Has a Few Concerns
[7] Conn, Ariel:How Do We Align Artificial Intelligence with Human Values?
[8] Smith, Brad:The need for urgent collective action to keep people safe online: Lessons from last week’s cyberattack
[9] Nicholas Carlini、Pratyush Mishra、Tavish Vaidya、Yuankai Zhang、Micah Sherr、Clay Shields、David Wagner、Wenchao Zhou:Hidden Voice Commands
[10] Fernanda Viégas、Martin Wattenberg、Daniel Smilkov、James Wexler、Jimbo Wilson、Nikhil Thorat、Charles Nicholson,Google Research:Big Picture