大模型安全隐患
数据泄露、数据滥用、模型被攻击和知识产权被窃取等一系列隐私和安全风险。
可信执行环境机制
LLM和TEE融合需求
LM 在许多行业的不同场景都有着广泛应用,例如金融行业的风险评估和交易分析,医疗保健领域的医学图像识别、病历纪录和疾病预测,以及法律和合规行业的法律咨询、合同审查和文书处理等。
TEE 是由支持机密计算 (CC) 的硬件提供的安全且隔离的环境,可防止在使用时对应用程序和数据进行未经授权的访问或修改。
仅在成功验证运行环境的完整性(使用 远程证明)后,机密才会在机密容器内传递。由于解密的模型和代码在 TEE 内部运行,因此任何不受信任的实体都无法对其进行未经授权的访问。
TEE和LLM融合的挑战
SGX/TDX解决方案
SGX 安全飞地的容量最多可达单颗 CPU 512GB,双路共计 1TB 容量,可满足目前千亿大模型的执行空间需求。该技术提供支持的机密计算可实现应用层、虚拟机 (VM)、容器和功能层的数据隔离。 无论是在云端、边缘还是本地环境,都能确保计算与数据始终在私密性和安全性上获得更全面的保护,以免暴露给云服务提供商、未经授权的管理员和操作系统,甚至是特权应用。
TDX将客户机操作系统和虚拟机应用与云端主机、系统管理程序和平台的其他虚拟机隔离开来。 它的信任边界较SGX 应用层的隔离边界更大,使受其保护的机密虚拟机比基于SGX 的安全飞地的应用更易于进行大规模部署和管理,在部署 LLM 这类复杂应用时,TDX 在易用性上更具优势。
英特尔在 SDK 的基础上,推出了开源的 lib OS 项目 Gramine 来帮助开发者更好地使用基于SGX的 TEE,助推 LLM 与 TEE 的融合。
TEE保护LLM推理
在数据上传云端前,查询可先通过客户端对传输内容加密,云端只需在SGX/TDX 中解密查询问题,然后输入大模型的推理服务中,并将所得结果在云端的 TEE 中加密后传输回本地客户端。 在整个工作流程中,客户端以外的数据和运行态程序均处于密态环境当中,效率远远高于其他基于纯密码学的解决方案。
端到端大模型和TEE融合
LLM 在端到端应用中的痛点包括:
英特尔主导的开源项目 BigDL:
在应用了 PPML(Privacy Preserving Machine Learning,隐私保护的机器学习)提供的安全技术后,由于更强的安全和隐私保护会带来额外开销,端到端应用性能会略有下降; 但应用了 BigDL Nano 提供的优化功能后,端到端的性能得到了显著改善,总体性能甚至高于没有任何保护的明文性能。
动机
OpenAI 面向消费者的 ChatGPT不断根据用户输入训练其模型,并与第三方提供商共享用户输入。
Anthropic 的 Claude 默认保留我们的数据至少 30 天。
Google 的 Bard 会将我们的活动保留至少 3 个月,最长可能保留 3 年。它还使用输入数据来持续训练其模型。
通过在个人或敏感数据到达 LLM 之前对其进行清理,不再需要依赖 LLM 提供商来遵循任何特定的数据保留或处理政策。这就是 OpaquePrompts 提供的功能。通过利用机密计算和可信执行环境 (TEE),托管 OpaquePrompts 的 Opaque 也不会看到提示,从而确保只有用户才能看到prompt中包含的任何信息。
OpaquePrompts
工作流程如下:
借助 OpaquePrompts,LLM 申请者在使用第三方 LLM 之前不再需要依赖用户手动删除任何敏感信息并、。
机密GPU
Intel 和 AMD 等公司的 CPU 允许创建 TEE,它可以隔离进程或整个来宾虚拟机 (VM),从而有效地将主机操作系统和虚拟机管理程序从信任边界中消除。机密GPU的愿景是将这种信任边界扩展到 GPU,允许在 CPU TEE 中运行的代码将计算和数据安全地卸载到 GPU。
图 1:使用 NVIDIA GPU 实现机密计算的愿景。
挑战:
A100的实现
NVIDIA 和 Azure 通过 NVIDIA A100 Tensor Core GPU 中名为APM的新功能,朝着实现这一愿景迈出了重要一步。
APM 在 A100 GPU 中引入了一种新的机密执行模式。当 GPU 在此模式下初始化时,GPU 会将高带宽内存 (HBM) 中的一个区域指定为受保护区域,防止从主机和对等 GPU 访问该区域的内存映射 I/O (MMIO) 造成泄漏。仅允许经过身份验证和加密的流量进出该区域。
在机密模式下,GPU 可以与任何外部实体配对,例如主机 CPU 上的 TEE。为了实现这种配对,GPU 包含一个硬件信任根 (HRoT)。NVIDIA 为 HRoT 提供唯一的身份以及在制造过程中创建的相应证书。HRoT 还通过测量 GPU 以及 GPU 上其他微控制器(包括名为 SEC2 的安全微控制器)的固件来实现身份验证和测量启动。反过来,SEC2 可以生成包含这些测量值并由新的证明密钥签名的证明报告,该新的证明密钥由唯一的设备密钥认可。任何外部实体都可以使用这些报告来验证 GPU 是否处于机密模式并运行最后一次已知的良好固件。
当CPU TEE中的NVIDIA GPU驱动程序加载时,它会检查GPU是否处于机密模式。如果是,驱动程序会请求一份认证报告,并检查 GPU 是否是运行已知良好固件的正品 NVIDIA GPU。一旦确认,驱动程序将使用安全协议和数据模型 (SPDM) 支持的基于 Diffie-Hellman 的密钥交换协议与 GPU 上的 SEC2 微控制器建立安全通道,以建立新的会话密钥。当交换完成时,GPU 驱动程序和 SEC2 都持有相同的对称会话密钥。
GPU 驱动程序使用共享会话密钥来加密进出 GPU 的所有后续数据传输。由于分配给 CPU TEE 的页面在内存中进行了加密,并且 GPU DMA 引擎无法读取,因此 GPU 驱动程序会在 CPU TEE 外部分配页面并将加密数据写入这些页面。在GPU端,SEC2微控制器负责解密从CPU传输的加密数据并将其复制到受保护区域。一旦数据以明文形式存储在高带宽内存 (HBM) 中,GPU 内核就可以自由地使用它进行计算。
图 2:主机 CPU 上的 GPU 驱动程序和 NVIDIA A100 Tensor Core GPU 上的 SEC2 微控制器协同工作,实现数据传输的端到端加密。
H100
在 TEE 中保护用户隐私的同时,需要平衡性能需求,TEE 和异构硬件的结合将成为未来发展趋势。 随着 CPU 性能的提升以及内置 AI 加速技术的升级和更新,在方便部署的场景下,CPU 会是大模型推理和 TEE 结合的首选;在训练的场景下,基于 CPU 的 TEE 结合异构硬件的加密支持,则会是大模型训练甚至大模型联邦训练的技术方向。
中国信通院《大模型可信赖研究报告》提出了大模型可信赖六大目标,包括可靠性、健壮性、安全性、公平性、可问责和可解释,同时提出大模型可信风险来自于框架、数据、模型和生成内容等四大方面。
大模型AI安全可信,是一组相关数据、技术、产品、方案和服务等组合起来的能力集合,其中包括:数据采集、标注和清洗等数据服务;模型设计、评估与微调等模型服务;基于人类反馈的增强学习服务;数据保护与隐私安全;咨询服务等等诸多领域,涉及到了大模型全生命周期的方方面面。
在大模型公有云服务方面,以百度、阿里等为代表的互联网与云服务公司,从大模型全生命周期视角出发,涵盖大模型训练、精调、推理、大模型部署、大模型运营等关键阶段面临的安全风险与业务挑战,在自有技术体系内进行深入布局,探索打造安全产品与服务。
360等第三方独立的人工智能与安全科技公司,探索“以模型管理模型”方式,打造以大模型为核心的AI Agent(AI智能体),带入企业真实安全运营场景中,以“虚拟安全专家”的形象,满足企业对安全业务的需求。
开源社区也积极推出大模型安全可信开源工具。LLM Guard是一个保护和强化大型语言模型安全性的开源工具包,LLM Guard的目的是通过提供开箱即用的所有必要工具来简化公司安全采用大模型的过程。
[1] https://www.intel.cn/content/www/cn/zh/customer-spotlight/cases/privacy-security-challenge-large-language-model.html
[2] https://pradiptabanerjee.medium.com/confidential-containers-for-large-language-models-42477436345a
[3] https://mp.weixin.qq.com/s/6hdBb0fDQUZIQiHjEnpG5g
[4] https://techcommunity.microsoft.com/t5/azure-confidential-computing/unlocking-the-potential-of-privacy-preserving-ai-with-azure/ba-p/3776838