2024年4月15日,美国国家安全局(NSA)发布《安全部署人工智能系统:部署安全和弹性人工智能系统的最佳实践》(Deploying AI Systems Securely:Best Practices for Deploying Secure and Resilient AI Systems)网络安全信息表,该信息表由美国国家安全局人工智能安全中心(AISC)联合美国网络安全与基础设施安全局(CISA)、美国联邦调查局(FBI)以及加拿大网络安全中心(CCCS)、澳大利亚网络安全中心(ACSC)、新西兰国家网络安全中心(NCSC-NZ)和英国国家网络安全中心(NCSC-UK)共同编写,强调了人工智能系统安全的重要性,给出了提高人工智能系统安全性的最佳实践,为组织部署和运行由第三方设计和开发的人工智能系统提供指导。

一、背景介绍

在当今数字化时代,人工智能已成为推动技术创新和经济增长的关键驱动力。人工智能技术的进步不仅在商业领域带来了革命性的变化,也在国家安全和国防领域扮演着越来越重要的角色。然而,人工智能技术的普及也带来了新的安全挑战。恶意行为者可能会寻求利用人工智能系统的潜在弱点,进行数据盗窃、知识产权侵犯,甚至发动更复杂的网络攻击,这些都可能对国家安全构成严重威胁。

随着业内专家和学者们不断发现人工智能技术中潜在的风险,组织需要及时更新其人工智能系统和安全措施,并利用过往人工智能系统中的最佳实践,应对不断变化的威胁。为此NSA于2023年9月成立了人工智能安全中心(AISC),作为网络安全协作中心(CCC)的一部分,确保人工智能系统的安全性和弹性。AISC的成立标志着NSA在人工智能安全领域迈出的重要一步,未来美国将通过跨部门和跨国界的合作,提高人工智能系统的机密性、完整性和可用性。

本次发布的信息表基于英国国家网络安全中心(NCSC)的《安全人工智能系统开发指南》(Guidelines for Secure AI System Development)和澳大利亚网络安全中心(ACSC)的《与人工智能互动》(Engaging with Artificial Intelligence),分别借鉴了其中“安全部署”和“安全运维”以及“缓释注意事项”相关内容。该信息表涵盖了从人工智能系统的安全部署、操作和维护,到应用程序编程接口(API)安全、模型权重保护、用户意识和培训、审计和渗透测试、日志记录和监控、系统更新和补丁、灾难恢复准备等多个方面安全措施。通过这些措施,组织可以提高人工智能系统的安全性,减少潜在风险。

二、主要内容

人工智能具有快速采纳、部署和使用的特点,这使其成为恶意网络行为者的重点目标。针对人工智能系统的恶意攻击,可能会使用人工智能系统特有的攻击载体,也可能会使用传统IT的技术。由于攻击载体种类繁多,防御措施也必须多样化和全面化。恶意行为者通常会结合多种载体来执行更为复杂的操作,这种组合手段能更有效地穿透分层防御。组织可以采用本文件中的最佳实践,以确保系统部署环境的安全,持续保护、运行和维护人工智能系统。

本文件中提及的人工智能系统概念是指基于机器学习(ML)的人工智能系统,涉及到的最佳实践主要是指在本地或私有云环境中部署和运行由外部开发的人工智能系统的组织,尤其是处于高威胁和高价值环境中的组织,而不适用于已授权第三方部署人工智能系统的组织。这些最佳实践也并不适用于所有环境,需根据攻击复杂程度、攻击手段、具体使用案例和威胁概况进行调整。

(一)确保人工智能系统部署环境安全

组织通常在现有的IT基础设施内部署人工智能系统。在部署之前,组织应确保IT环境全面采用安全规范,尤其在治理、架构和安全配置等方面。适用于组织的IT环境的安全最佳实践通常也适用于人工智能系统。组织可参考以下重点的最佳实践,对人工智能系统及其部署的IT环境进行管理。

1. 管理部署环境安全

如果由第三方机构部署或运行人工智能系统,则该机构应与组织的IT部门合作,通过以下三方面确保部署环境符合组织的IT安全规范:

(1)了解组织的风险水平,确保人工智能系统在组织的风险承受范围内,评估并记录威胁、潜在影响和风险接受度;

(2)确定各利益相关方的角色和责任,以及他们如何履行这些职责,当组织将其IT环境与人工智能系统分开管理时,确认这些职责尤其重要;

(3)确定IT环境的安全边界,并测试人工智能系统对该边界的适应性。

组织应要求人工智能系统的主要开发者提供威胁模型,部署团队将威胁模型作为指导,以实施安全最佳实践,评估潜在威胁并规划缓解措施。在制定人工智能系统产品或服务合同时,组织应考虑部署环境的安全要求,促进所有相关方的合作,使其能够及时反映风险和顾虑,以便组织妥善解决这些问题。

2. 确保部署环境结构健全

组织部署人工智能环境结构时应考虑以下两个方面:

(1)安全边界防护:组织需为IT环境和人工智能系统之间的边界建立安全保护,以便识别并解决人工智能系统威胁模型鉴别出的边界安全和其他相关领域的安全盲点。例如,为人工智能模型加权使用访问控制系统,将访问权限限制在具有双人控制(TPC)和双人完整性(TPI)的特权用户组中。

(2)数据源防护:组织应识别并保护所有将用于人工智能模型训练或微调的专有数据源,维护可信和有效的数据源目录将有助于防止潜在的数据中毒或后门攻击。对于第三方获取的数据和训练的模型,应参考合同或服务级别协议(SLA)中的条款,检查该数据源列表。

除此之外,组织还应将安全设计原则和零信任(ZT)框架应用于其环境结构,管理数据进出的风险。

3. 加固部署环境配置

组织应参考以下三份公开报告加固部署环境配置:

(1)组织将现有的安全最佳实践应用于部署环境,包括在加固容器或虚拟机中对运行机器学习模型的环境进行沙盒处理、监控网络、配置带有允许列表的防火墙等,以及其他类似于NSA发布的《十大云安全缓解策略》(Top Ten Cloud Security Mitigation Strategies)中的最佳实践;

(2)组织应审查硬件(如GPU、CPU、内存)供应商,通过《通用安全通告框架》(Common Security Advisory Framework)应用软件补丁和更新,最小化漏洞被利用的风险;

(3)组织应遵循《薄弱安全控制和通用于初始访问的实践》(Weak Security Controls and Practices Routinely Exploited for Initial Access)中的缓解措施,缓解恶意行为者利用薄弱安全控制造成的不利影响。

除此之外,组织还可通过在静态数据上加密,并在硬件安全模块(HSM)中存储加密密钥,从而保护敏感的人工智能信息;组织也可实施强有力的认证机制、访问控制和安全通信协议,例如使用最新版本的传输层安全(TLS)来加密传输中的数据;组织还可在确保访问信息和服务时,使用防网络钓鱼的多因素认证(MFA),同时监控并响应欺诈性认证尝试。

4. 保护部署网络免受威胁

组织的应通过以下三种策略保护部署网络:

(1)采取零信任的理念,假设入侵是不可避免或已经发生,增强实施检测和响应能力,实现快速识别和对数据泄露的控制;

(2)使用经过充分测试且高性能的网络安全方案,来有效识别未经授权的访问尝试,并提高事件评估的速度和准确性;

(3)集成一个事件检测系统以帮助优先处理事件,在重大事件发生时,能够立即拦截恶意用户访问或断开所有人工智能模型和系统的连接。

(二)持续保护人工智能系统

由于人工智能模型同样是软件,就会像其他软件一样存在漏洞、弱点、恶意代码等,因此可通过保护软件的方式保护人工智能系统。

1. 随时验证人工智能系统

组织在部署人工智能系统前,应使用加密方法、数字签名和校验码等方式确认每个人工智能系统的来源和自身完整性(例如,使用加密安全传感器),保护敏感信息在使用过程中免受未经授权的访问。其次,组织还应为每个版本的人工智能模型和系统创建哈希值和加密副本,将哈希值和/或加密密钥存储在安全保险库或硬件安全模块内,以防止在同一位置访问加密密钥、加密数据及模型。此外,组织也应将系统中所有形式的代码(例如,源代码、可执行代码、基础设施即代码)和软件开发中的工件(例如,模型、参数、配置、数据、测试)存储在具有适当访问控制的系统中,确保只使用经过验证的代码,并且对任何更改进行跟踪。

设计人工智能系统过程中,组织需要评估和保护任何外部人工智能模型和数据的供应链,确保它们遵守组织的安全规范和风险管理政策,并优先考虑根据安全设计原则开发模型和数据。若供应链中存在无法遵守安全规范和政策的情况,则应确保这种情况的风险被充分揭示。

人工智能系统设计完成后,不要立即在企业环境中运行,组织应先在安全的开发区域内仔细检查模型,特别是导入的预训练模型。如有已受组织认可的人工智能专用扫描程序,则应在部署模型前检测其是否潜在恶意代码,以确保模型的有效性。

在运行过程中,组织应为自动回滚做好准备,并使用具有人为干预的高级部署作为保护,提高人工智能系统的效率和可靠性,实现持续交付。就人工智能系统而言,回滚功能可确保在新模型或更新后引出问题,或人工智能系统受到损害时,组织能迅速恢复到最后已知的良好状态,从而最大限度地减少影响。此外,组织也需要考虑人工智能系统的自动化检测、分析和响应能力,使IT和安全团队有效洞察,从而快速且有针对性地应对潜在的网络事件。对人工智能模型及其托管的IT环境进行持续扫描,以识别可能存在的篡改行为。

最后,如若组织需要修改人工智能系统,其应在修改后彻底测试人工智能模型的鲁棒性、准确性和潜在漏洞,并进行技术应用(例如,对抗性测试)。

2. 确保应用程序编程接口(API)安全

如果人工智能系统公开了应用程序编程接口(API),则组织应通过对API访问实施验证和授权机制来确保其安全。使用安全协议,如带有加密和验证功能的超文本传输安全协议。不仅如此,组织对所有输入数据应实施验证和清除协议,以减少可疑、不兼容或恶意数据被传输到人工智能系统。

3. 积极监控模型行为

组织应收集涵盖输入、输出、中间状态和错误的日志,并自动发出警报。同时,组织应时刻监控模型的架构和配置设置,以防任何未经授权的更改,或是任何可能危及模型性能或安全性的意外修改。此外,通过监控人工智能模型访问或统计获取数据行为进行推理,也是组织防止人工智能系统受到攻击的方法之一。

4. 保护模型权重

组织应对访问模型权重的接口进行加固,降低外泄权重的可能性。例如,确保API只交换任务所需的最小数据,以抑制模型反演。在可行情况下,组织可对模型权重存储实施硬件保护。例如,禁用不需要的硬件通信功能,防止辐射或侧信道技术。组织也可采用积极隔离存储权重的措施。例如,将模型权重存储在受保护的存储库、单独的专用区域,或使用硬件安全模块(HSM)存储。

(三)确保人工智能的运行和维护

遵循组织批准的IT流程和程序进行人工智能系统部署,确保实施以下控制措施。

1. 实施严格的访问控制

组织应防止未经授权的访问或篡改人工智能模型。组织可应用基于角色的访问控制或基于属性的访问控制,保证只有授权人员才能访问。例如,可要求为管理访问提供多因素认证(MFA)和特权访问工作站以区分用户和管理员。

2. 确保用户意识和培训

组织应对用户、管理员和开发人员进行安全最佳实践培训,如加强密码管理、防范网络钓鱼和安全数据处理。此外,推广安全认知也可将人为错误的风险降至最低。积极使用凭证管理系统以限制、管理和监控凭证的使用,进一步降低风险。

3. 进行审计和渗透测试

组织应聘请外部安全专家对准备部署的人工智能系统进行审计和渗透测试,有助于发现可能被内部检查忽视的漏洞和薄弱环节。

4. 实施健全的日志记录和监控

利用全面监控和日志记录机制,监控系统的行为、输入和输出,检测任何异常行为或潜在安全事件。建立警报系统,及时检测和响应网络事件。

5. 定期更新和补丁

在将模型更新为新版本或不同版本时,组织应在重新部署前进行全面评估,确保其准确性、功能性和安全测试在可接受范围内。

6. 为灾难恢复做好准备

组织应根据系统要求,使用不可变备份存储系统,确保每个对象(尤其是日志数据)都是不可变和无法更改。

7. 安全删除功能

在任何暴露或可访问数据和模型的流程结束时,对组件(如训练和验证模型或加密密钥)进行自主和不可恢复的删除,且不做任何保留或残留。

三、小结

该信息表建议组织在部署人工智能系统时,应当考虑其作为软件系统的特性,将设计并运行测试安全放在首位,既能防止敏感数据被盗,又能减少人工智能系统的滥用,并结合现有最佳实践提出以下8项应重点关注的措施:

(1)对使用特权访问或执行关键服务的所有设备进行持续评估;

(2)加固和更新IT部署环境;

(3)审查人工智能模型和供应链安全的来源;

(4)在部署前验证人工智能系统;

(5)对人工智能系统实施严格的访问控制和API保护,并采用最小特权和深度防御的概念;

(6)使用健全的日志记录、监控以及用户和实体行为来识别内部威胁和其他恶意活动;

(7)限制和保护对模型权重的访问,因为它们是人工智能系统的关键;

保持对新兴技术威胁的认知,尤其是在快速发展的人工智能领域,确保组织的人工智能系统得到加固,避免安全漏洞。(完)

致 谢

本期《网络安全国际动态》内容得到了北京天融信网络安全技术有限公司、北京工业大学等单位的大力支持,特此致谢。

声明:本文来自全国网安标委,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。