重塑安全边界:AI系统安全与传统安全措施的深度对比
如今,人工智能(AI)已成为推动社会进步和技术革新的关键力量。今年随着ChatGPT的出圈,国内外再度掀起了一波AI热浪,AI应用正快速渗入到我们日常生活和工作的方方面面。随着这些技术的普及和发展,AI安全问题也需要我们足够多的关注。AI系统和应用可能面临包括数据泄露、恶意攻击、误导性决策等在内的种种风险,这些风险不仅威胁到技术系统的安全,还可能对个人隐私和社会稳定造成影响。因此,我们需要更好地理解和保护AI安全。
人工智能安全确实是一个新的安全领域,但对AI安全的研究并不代表以前传统安全的终结,以前传统系统安全的研究思路和经验在现在AI安全研究中依然适用,因为攻防思维和格局并没有发生颠覆性的变化。传统的安全性原则依然可以用于人工智能系统,比如访问控制、威胁检测、数据安全等。相比而言,一个主要的变化是人工智能系统可能会引入传统系统中不存在的新的安全风险,例如,一些人工智能系统更容易被对抗性示例所愚弄,这些示例是精心设计的输入,可能会导致人工智能系统做出错误的预测。所以,深入了解AI系统安全和传统系统安全的异同对于我们在该领域的后续工作开展具有非常高的价值。Google在最近发布了其对AI安全最新的见解《Securing AI: Similar or Different?》,笔者在本文对次进行介绍和解读。
人工智能系统安全和传统系统安全
1、治理
安全治理可以从不同的角度来入手,但对于人工智能安全我们应该更多关注数据和代码(模型)相关。当我们进行数据存储时,类似数据回溯、数据源、准确性、所有权和完整性等方面虽然重要,但或许并不至关重要。但当你用这些数据来训练AI,并且其目的是做出决策、编写代码和进行交流时,风险就大幅上升。
1. 治理框架:人工智能和传统系统都采用类似的治理框架,包括风险评估、威胁建模、安全控制、版本控制、事件响应等。 2. 敏感数据处理:无论是传统的企业软件系统还是AI系统,都涉及存储和处理敏感数据。 3. 数据安全控制:两种系统都需要强大的数据安全控制措施,以防止数据被未授权访问、使用、披露、中断、修改或破坏。 4. 审批机制和责任定义:这两种系统都有明确的与利益相关者的审批机制,并且角色和责任都有明确的定义。
1. 系统复杂性和可解释性:AI系统通常比较复杂且不透明,这使得理解它们的决策过程变得困难。因此,强调系统的可解释性,以便用户可以信任其决策变得尤为重要。 2. 决策影响:AI系统可能用于做出对人们生活产生重大影响的决策,因此需要在健全的治理过程中考虑和管理这些重大风险。 3. 利益相关者的多样性:AI系统的利益相关者组成更为广泛,包括负责任的AI、隐私和伦理团队等,这些团队参与基于判断的决策制定。 4. 人类监督和使用限制:AI系统需要特定的人类监督要求,并禁止可能造成伤害的用例。 5. 透明度要求:AI系统,特别是聊天机器人,需要向最终用户明确表明他们正在与AI互动,以满足透明度要求。
2、威胁
1. 防止未授权访问和修改:这两种类型的系统都需要采取措施防止未经授权的访问、修改或数据和其他经典威胁的破坏。 2. 防止恶意软件侵害:无论是AI系统还是传统系统,都必须采取措施防止恶意软件和其他恶意软件的侵害。 3. 数据窃取防护:数据窃取是AI和传统系统都需要关注的问题。 4. 供应链攻击防护:供应链攻击影响AI和传统系统。 5. 威胁模型适用性:威胁模型过程和实践适用于这两种系统。
1. 特定于AI的威胁:AI系统容易受到多种特定于AI的威胁,包括对抗性示例、数据污染以及其他AI缺陷,如偏见。 2. 数据为中心的攻击:鉴于数据对编程AI的重要性,以数据为中心的攻击在威胁列表上排名很高,增加了数字供应链威胁的列表。 3. AI系统的复杂性:AI系统可能更容易受到攻击,因为它们更复杂并且依赖于数据进行编程。 4. 在线系统的操作偏离:在线系统(那些正在积极学习的系统)在输入上的训练可能允许它偏离其预期的操作用途。 5. 新型威胁创造:AI系统可能被用来创造新类型的威胁,包括针对AI系统本身的攻击和针对其他系统的攻击。 6. 生成性AI的幻觉问题:生成性AI系统可能会遭受幻觉问题,即AI的响应似乎不受其训练数据的合理化,可能是因为数据不足、有偏见或过于专业化。
3、应用/产品安全
1. 传统安全漏洞影响:传统的企业软件和AI系统都容易受到传统应用程序安全漏洞的影响,比如输入注入和各种溢出。安全配置错误也仍然是一个问题。 2. 漏洞利用风险:漏洞可能被攻击者利用,以获得对系统的未经授权的访问、窃取数据或中断操作。 3. 威胁建模的重要性:对这两种类型的系统进行威胁建模仍然是一个好办法,并且在构建和部署这些系统时应该成为常规实践的一部分。
1. 威胁模型的更新需求:随着新威胁的出现,威胁模型需要更新以包括这些威胁。 2. AI对抗性测试的必要性:产品测试应包括AI对抗性测试,这是一种传统应用程序安全工程师可能不熟悉的测试类型。 3. AI系统的复杂性和不确定性:由于AI系统更加非确定性且因此更复杂,具有大量移动部件,并依赖于数据进行编程,它们可能更容易受到安全问题的影响。它们也可能由未经安全实践培训的员工构建和维护,并使用软件开发生命周期(SDLC)。 4. AI技术的复杂性:AI系统通常使用机器学习和其他安全专业人员不太了解的技术开发。 5. 专有数据和模型的保护:AI系统通常在专有数据或模型上进行训练。保护这些数据和模型——不仅仅是软件代码——免受未经授权的访问或披露是很重要的。 6. 现实世界数据的安全风险:AI系统通常在从现实世界收集的数据上进行训练,这可能引入安全风险、不受控制的输入和其他问题。
4、数据安全和隐私
1. 敏感数据的存储和处理:传统的企业软件系统和AI系统都存储和处理敏感且受监管的数据,有时这些数据量很大。数据类型可能包括个人信息、财务数据和知识产权。 2. 强大的数据安全控制:这两种类型的系统都需要有强大的数据安全控制措施,以保护这些数据免受未经授权的访问、使用、披露、中断、修改或破坏。 3. 数据安全控制措施的一致性:AI系统和传统系统都需要相同类型的数据安全控制措施,例如访问控制、加密和数据备份。
1. 在线模型的学习和数据清洗:如果模型是在线的,它们可能会从输入中学习。这些训练数据的清洗和筛选扩展了传统的输入验证方法。 2. 输出过滤的重要性:输出过滤也很重要,因为生成性AI可能会产生文本和数据,这可能会使您的组织面临额外的风险,例如传播社会偏见或使用有害语言。 3. 大数据量训练的安全挑战:AI系统通常在大量数据上进行训练,这使它们对攻击者更有吸引力,并且如果被侵犯可能会产生更大的影响。保护这些数据免受未经授权的访问、修改或破坏非常重要。 4. 个人数据使用的合规性问题:当使用个人数据来训练模型时,可能会出现几个额外的问题:数据可能没有以合法、公平或透明的方式相对于数据主体进行处理,它可能没有为这个特定目的而收集,随着时间的推移可能不再准确等等。 5. 输入数据的来源和准确性:输入过滤是必需的,因为数据可能来自多个来源,这些来源并非都是准确和完整的——特别是如果数据来源于公共领域。 6. 模型的数据记忆风险:模型可能会记住作为训练输入提供的数据。攻击者可以在未经授权的情况下从模型中提取记忆的数据。 7. 非结构化数据训练的风险:使用非结构化数据进行训练(除了传统文本外,还包括生物特征、视频和图像)增加了风险,因为传统工具通常不适用于检测这类用例。 8. 数据法规和隐私法的约束:因为它涉及到在服务的创建和使用中处理数据,所以它受到重要的数据法规、隐私法、合同限制和社会规范的约束。 9. AI系统的潜在滥用:AI系统还可以用来从其他系统中提取敏感数据,或者在开发人员使用生成性AI编写代码时包含恶意代码。
5、网络和终端安全
1. 网络安全威胁的易感性:AI系统和传统系统都连接到网络,这使它们容易受到相同类型的网络安全威胁,例如未经授权的访问、拒绝服务(DoS)攻击和数据泄露。 2. 网络安全控制的需求:无论是通过网络访问还是API连接到公共互联网的AI系统和传统系统,都需要实施网络安全控制。
1. 复杂性和安全难度:AI系统通常比传统系统更复杂,并通过网络访问多个其他系统,这可能使它们更难以保护。
6、威胁检测和响应
1. 威胁模型的调整:检测应根据威胁模型进行调整,而这个威胁模型应由有能力的人类使用专门针对AI、机器学习和深度学习的扩展风险库来开发。 2. 强大的威胁检测和响应能力:传统的企业软件系统和AI系统都容易受到各种威胁,并需要具备强大的威胁检测和响应能力,以识别和缓解这些威胁。 3. 人类元素的必要性:AI系统和传统系统都需要人类元素来检测和响应威胁,例如安全分析师和事件响应人员。
1. 合成数据的检测:由于AI系统可以用来生成可用于攻击其他系统的合成数据,因此检测这种情况成为优先事项。例如,AI系统可以用来生成假登录凭据,这些凭据可以用来获得对系统的未经授权的访问。 2. 在线AI系统的漂移监控:此外,不断在它们处理的数据上学习的在线AI系统容易发生漂移,这需要监控。 3. AI系统的自动化攻击检测:AI系统也可以用来自动化攻击。检测这种对模型的滥用应成为您的滥用检测标准的一部分。 4. GenAI中的输入和输出威胁:在GenAI中,检测威胁性输入和输出成为一个问题;输入可能威胁AI系统,而AI系统的输出可能威胁其他系统或人类。 5. 对抗性示例的检测挑战:AI系统可能更容易受到难以检测的威胁,例如对抗性示例。尤其是如果数据来源于公共领域。 6. 覆盖AI系统恶意使用的检测范围:检测需要覆盖AI系统已知恶意使用的范围——例如针对AI保护措施的攻击或使用AI生成针对其他系统的攻击——并能够迅速响应新发现的威胁。
7、安全评估和验证
1. 安全评估和验证工具的共享利益:AI系统和传统系统都可以从相同类型的安全评估和验证工具中受益,例如漏洞扫描器和渗透测试工具。 2. 安全评估的人类元素:AI系统和传统系统都需要人类元素来进行安全评估和验证,例如安全分析师和安全工程师。 3. 基于威胁模型的评估调整:评估应根据威胁模型进行调整,而这个威胁模型本身是由有能力的人类使用专门针对AI、机器学习和深度学习的扩展风险库来完成的。 4. DoS攻击和可用性风险的易感性:这两种类型的系统都容易受到拒绝服务(DoS)攻击和可用性风险的影响。
1. 算法的复杂性和分析难度:AI系统通常建立在复杂的算法之上,这些算法难以理解和分析。 2. 数据驱动的安全验证需求:AI系统在大量数据上进行训练,这可能成为攻击者的有价值目标,并可能需要新类型的安全验证方法,而不仅仅是代码审查和扫描。 3. AI模型的验证和偏见测试:AI模型必须经过验证,以确保它们是准确的、可靠的,并且通过在多种数据集上测试模型,并使用统计方法评估它们的性能,来确保它们没有偏见。 4. 实时应用中的DoS风险:AI系统常用于实时应用中,这意味着DoS攻击或可用性风险可能对系统性能产生重大影响。 5. 易受应用层面DoS攻击的AI系统:AI系统需要大量的处理和内存容量,因此更容易成为应用层面DoS攻击的目标。 6. 智能和推理系统的新型DoS风险:在像AI这样的智能和推理系统中,可能存在新类型的可用性风险和DoS攻击。
安全建议
治理:在AI生命周期的整个过程中实施强有力的治理和安全控制。同时,了解并记录随着时间发展而出现的管辖区法规。
清单:了解组织中使用的AI系统。这包括了解它们如何工作,它们使用什么数据,以及它们如何被员工或客户使用。对AI系统了解得越多,就越能够识别和减轻安全风险。
数据安全:为数据收集、数据存储、数据处理和数据使用以及相关代码和模型实施强有力的安全控制。
安全软件开发:使用安全的开发实践。这包括代码审查、威胁建模和渗透测试等实践。SDLC实践必须同时适用于代码和数据。
教育:教育用户了解安全风险(这包括AI系统的用户、开发者和操作者)。教育更多的AI系统设计师关于威胁建模和其他安全实践。
安全部署:启用一套工具和流程来过滤和记录输入(例如GenAI的提示)和输出,控制访问,并提供企业级安全控制。
威胁检测和响应:监控AI系统的安全威胁,包括使用安全工具监控恶意活动。生成模型的输出需要被监控:不仅是其部署状态,还有可能表明妥协的输出内容。
测试:使用安全和AI专家启动“AI红队”计划。
政策:如果你不开发AI系统,只是使用它们,为AI创建一个可接受的使用政策(AUP),包括GenAI。
事件响应:迅速有效地响应安全事件。这包括制定响应涉及AI系统的安全事件的计划。
总结
总体而言,AI系统引入了传统系统中不存在的新安全风险。意识到这些风险并采取措施来减轻它们是非常重要的。
通过理解保护传统企业软件系统和AI系统之间的差异,组织可以开发出更全面的安全策略,以保护他们的AI系统免受各种安全威胁。有可能的话,AI带来的潜在危害可能是成倍增加的——这是全球监管机构关注偏见评估和可解释性的原因之一。
参考链接 (1)Securing AI: Similar or Different? https://services.google.com/fh/files/misc/ociso_securing_ai_different_similar.pdf