Skip to content

DAEI:加噪 Embedding 的去噪感知反转攻击 ​

摘要 ​

给 Embedding 加固定高斯噪声并不必然阻止文本恢复。Denoising-Aware Embedding Inversion(DAEI)假设攻击者只有黑盒 Embedding API 访问权,却能选择输入并重复查询。攻击者先估计噪声尺度,再以 Stein 无偏风险估计(Stein's Unbiased Risk Estimate, SURE)训练残差去噪自编码器(residual denoising autoencoder, DAE),最后联合优化 Vec2Text 反转器,并用 PCGrad 缓解去噪与反转目标之间的梯度冲突。

论文在 GTR-base、GTE-base 和最多约 700 万条训练数据上比较多条反转基线。GTR、sigma=0.01 时,DAEI 的 BLEU 为 0.4875、token F1 为 0.7717;普通加噪反转器(noisy inverter)分别为 0.1916 和 0.5814。结论只适用于可估计的加性高斯噪声、足够查询和所测编码器,不能直接外推到正式差分隐私、相关噪声或严格限流 API。

核心创新与差异 ​

原研究贡献是把噪声保护看成可学习的信号恢复问题:重复查询或可选输入用于校准噪声;SURE 允许在没有干净 embedding 标签时训练去噪器;联合 Vec2Text 与 PCGrad 将去噪质量和文本可恢复性同时优化。论文还提出 DAE-Shield,尝试在服务端纠正这类查询。

本站分析认为,最先失效的控制不是噪声实现出现具体漏洞,而是系统把“单次向量扰动”误当成不可逆保证,却没有考虑重复查询和攻击者可训练先验。该攻击与从向量库外传数据不同:攻击者只用公开 API 输出恢复输入文本,主修复方是 Embedding 服务的隐私机制和查询控制设计者。

威胁模型与攻击链 ​

攻击者可提交自选文本并读取带噪 Embedding,不知道服务端原始输入或模型内部激活。服务端对每次返回值加入均值为零、尺度固定或可近似估计的高斯噪声。攻击目标是从目标加噪 embedding 恢复与原文接近的 token 序列。

  1. 攻击者对自有校准文本做重复查询,估计噪声方差或验证噪声分布。
  2. 用加噪 embedding 训练残差去噪自编码器;SURE 在无干净目标条件下估计去噪风险。
  3. 将去噪器接入 Vec2Text inverter,让模型从去噪向量生成候选文本。
  4. 联合训练去噪和文本恢复目标,使用 PCGrad 处理相互冲突的梯度。
  5. 对目标向量迭代生成并修正文本,按 BLEU、token F1、ROUGE-L 和 embedding cosine 评估恢复。

重复查询会降低独立噪声的有效强度。如果服务端允许无限次查询同一语义输入,仅增大单次噪声并不能形成稳定保护。

攻击方法与复现材料 ​

论文列出 DAEI 和匿名审稿仓库。以下伪代码只使用本地 mock API 与公开合成句子,不适用于第三方数据:

python
def mock_embedding_api(text):
    clean = owned_encoder(text)
    return clean + gaussian_noise(TEST_SIGMA)

samples = [mock_embedding_api(PUBLIC_CANARY) for _ in range(TEST_QUERIES)]
sigma_hat = estimate_noise_scale(samples)
denoiser = train_with_sure(public_corpus, mock_embedding_api, sigma_hat)
inverter = train_vec2text_jointly(denoiser, public_corpus, pcgrad=True)

audit.score(inverter(samples[0]), expected=PUBLIC_CANARY)

验证应设置离线编码器、查询上限和无敏感文本 canary。检测信号包括同一输入或近义输入的重复查询、批量探测噪声尺度、异常高的向量相似查询和持续请求高精度输出。

实验设计与实际过程 ​

以下均为论文作者实验,本站未独立复现。训练数据最多约 700 万条,来自 Natural Questions、MS MARCO 与 Yahoo Answers;域外评测覆盖 AG News、Anthropic Toxic Prompts、Python Code Alpaca、Climate-FEVER 和 MedMCQA。目标编码器为 GTR-base 与 GTE-base。

基线包括干净上界、干净到加噪 Vec2Text、加噪反转器和仅 DAE、ZSInvert。指标为 BLEU、token F1、ROUGE-L、embedding cosine 和均方误差。作者消融 DAE、联合训练、噪声尺度和域外泛化。训练与评测分别有 128/32 token 截断,长文本恢复不在结果范围内。

关键结果与实际影响 ​

GTR、sigma=0.01 条件下,DAEI 的 BLEU 为 0.4875,普通加噪反转器(noisy inverter)为 0.1916;token F1 分别为 0.7717 与 0.5814。跨域结果支持去噪先验可以迁移到新闻、有害 prompt、代码、气候和医学问答文本,但不同域的恢复质量并不相同。

消融显示 DAE、联合调优和噪声尺度校准都影响最终恢复。该结果说明,固定加性噪声可能只降低单次信噪比,并没有消除向量承载的语义。它不证明生产 Embedding API 一定泄露原文,也不等于对正式差分隐私机制的攻破。

防护措施与验证方法 ​

  • 对同一账户、同一文本哈希和近义查询共同限流,防止攻击者用语义变体绕过逐字符串计数。
  • 噪声机制必须绑定隐私单元并使用正式会计;独立重复查询应消耗隐私预算,不能无限返回新噪声样本。
  • 降低不必要的向量精度和输出维度,并评估对检索效用的影响。
  • 用 DAEI、Vec2Text、ZSInvert 和域外攻击做发布前回归,报告 BLEU、token F1、精确片段命中率、查询数和假阳性。
  • 对批量噪声估计和高相似查询设置告警;超预算请求 fail-closed,避免自动降级到无噪声或更高精度接口。
  • DAE-Shield 只能作为针对所测攻击的补充;应单独验证自适应攻击、相关噪声、不同编码器和正常业务误报。

局限与待验证问题 ​

证据等级为中等。论文提供公开代码、两个编码器、大规模训练数据和跨域矩阵,但仍是作者自评。核心假设是可知或可估的加性高斯噪声与足够查询;研究没有统一到真实差分隐私会计、租户级限流或相关噪声。

OWASP AI Security and Privacy Guide 的嵌入反演文档更新把 Embedding 反演明确纳入 direct augmentation data leak,并给出 50%–92% 恢复证据与向量库分级处置建议。这一提交可证明指南术语和控制建议发生变化,但提交页本身没有披露实验方法、结果分母或适用模型;相关数值只能作为指南引用的外部证据线索,不能替代本文 DAEI 实验条件,也不能据此宣称任意向量库都有同等恢复率。

  • 每个隐私单元只有一次查询时,DAEI 还能保留多少优势?
  • 输入相关、相关或截断噪声能否阻断 SURE 去噪?
  • 长文本、非英语和多模态 Embedding 是否出现不同恢复机制?
  • DAE-Shield 面对知晓防护参数的自适应攻击时误报和效用代价如何?

参考链接 ​