Post

一些前沿的大语言模型安全问题

参加2026年第三届网络安全青训营的见闻

一些前沿的大语言模型安全问题

端到端的同态脱敏

大模型已经被广泛应用在各类场景,帮助人们进行报告摘要、文本翻译、数据分析、业务风控等各项工作,极大地提升了工作效率,但同时公众对于大模型带来的数据泄露的隐忧也从未停止。由于在使用大模型时用户不可避免地会出现输入敏感信息,如何保证输入的敏感信息不被泄露或窃取成为了一个重要的研究课题。这就产生了“脱敏”这一研究项目,具体来说,脱敏期望用户输入的内容中,敏感信息被等效替代,使得大模型能基于被“脱敏”的文本进行处理分析。

传统技术,例如微软的Presidio脱敏范式,通常是用通用的符号、掩码替换敏感信息。例如,LLM已知

国际商业机器公司(International Business Machines Corporation)是一家国际化科技公司,通常被简称为IBM。IBM以其在计算机硬件、软件和服务方面的创新而闻名。

当用户提问:

International Business Machines Corporation以什么闻名?

用户期待的LLM回答为:

以其在计算机硬件、软件和服务方面的创新而闻名。

假设在LLM已知的内容中,IBM及其全称是敏感信息,在微软的Presidio脱敏策略下,LLM的已知信息被替换为:

XXX(XXX)是一家国际化科技公司,通常被简称为XXX。XXX以其在计算机硬件、软件和服务方面的创新而闻名。

这么做确实起到了脱敏的作用,但是原本的语义信息和指代关系就丢了。AI读到“XXX”时,无法理解这到底是一个具体的实体,还是一个变量,甚至可能导致句子语法不通顺。这会极大地限制LLM生成内容。

而同态脱敏被期待做到保留原有的语义关系和指代关系。在腾讯玄武实验室介绍的HaS同态脱敏技术中,LLM的已知内容被期待为:

跨国科技公司(Global Technology Corporation)是一家国际化科技公司,通常被简称为GTC。GTC以其在计算机硬件、软件和服务方面的创新而闻名。

显然地,同态脱敏在尽可能地用同义内容掩盖原有的敏感信息。

一种大模型端侧隐私保护方案 - 腾讯玄武实验室

Prompt Cache 侧信道攻击

我们都知道,大语言模型的推理成本极高,尤其是当处理长文本时,计算资源的消耗非常巨大。为了提升用户体验并降低成本,现在的云端推理框架普遍引入了一种名为提示词缓存(Prompt Cache)的机制。其原理简单来说,就是当服务器发现当前用户输入的提示词前缀(Prefix)与之前处理过的请求高度相似时,系统会直接复用之前已经计算好的中间状态(即 KV Cache),而无需从头重新计算。

这种机制在正常情况下是双赢的:用户获得了更快的响应速度,服务商节省了算力。然而,正是这种“为了变快”的机制,为攻击者留下了一个隐蔽的侧信道。所谓的侧信道攻击,在这里利用的介质正是“响应时间”。

研究发现,当一个请求命中了缓存时,服务器的响应速度会极快,通俗来讲可以理解为首字生成时间大幅缩短;而如果没有命中缓存,服务器则需要按部就班地计算,响应速度自然较慢。这种显著的时间差异,可以被直接用作判断这段内容有无被缓存。

假设受害者刚刚利用云端大模型起草了一份包含个人隐私的租房合同,其中涉及了他的身份证号。这段包含敏感信息的上下文被留存在了服务器的公共缓存池中。攻击者虽然无法直接读取缓存,但其可以利用上述的时间差异进行一种类似SQL布尔盲注一样的提示词盲注。攻击者会精心构造一段提示词,前半部分是通用的合同模板,用来对齐上下文,后半部分则是其试图猜测的敏感信息。

显然地,我们没法直接用手构造这样的盲注测试,SQL布尔盲注尚且可以枚举,而人类与大语言模型的对话信息量巨大,根本无法通过暴力枚举进行碰撞从而泄露缓存。基于此,同样也为了提高攻击的效率和隐蔽性,讲座中提到了一种更为精妙的辅助手段——本地孪生语言预测器

本地孪生语言预测,从理论上来说,是攻击者在本地部署的一个轻量级的小模型。这个本地模型会根据已有的上下文,分析下一个字最可能是什么。比如,当前文是“北京市海淀区”时,本地模型会预测下一个字大概率是“中关村”的“中”或“五道口”的“五”,而不太可能是毫无关联的字。攻击者只需将这些高概率的候选Token发送给云端服务器进行测试,一旦命中缓存,就通过了验证。

当然实际实现起来,这种攻击并没有说起来这么简单,但是展示一个LLM快速发展的当下我们需要注意的问题。

This post is licensed under CC BY 4.0 by the author.