论文精读:A Crack in the Bark——利用公开知识移除 Tree-Ring 水印

论文:A Crack in the Bark: Leveraging Public Knowledge to Remove Tree-Ring Watermarks
会议:USENIX Security 2025
关键词:扩散模型、VAE、隐空间水印、Tree-Ring、对抗攻击、低基率检测

只要攻击者拿到公开 VAE,就能高质量移除 Tree-Ring 隐空间水印;而 Tree-Ring 在真实低基率场景下本身也难以落地。


论文结论

  1. Tree-Ring 为什么会被攻破?
    因为它把水印嵌在隐空间,而隐空间又依赖公开 VAE 进行编解码,导致攻击者可以重新进入同一个 latent 空间动手脚。

  2. 攻击者具体怎么做?
    用公开 VAE 把图像编码回隐空间,训练一个 latent 域代理检测器,再用 PGD 在隐空间做小幅扰动,最后解码回图像。

  3. 这件事为什么严重?
    因为攻击几乎不损伤画质,但能让检测性能从接近完美直接跌到接近失效;同时论文还指出,Tree-Ring 在真实低基率场景下即使不被攻击,精度也并不理想。


背景概念

1. 扩散模型与隐空间扩散

扩散模型的基本流程是:

  1. 先从随机噪声开始
  2. 通过逐步去噪生成图像
  3. 最终得到符合文本条件或其他条件的结果

但如果直接在像素空间做这件事,训练和推理成本都很高。因此主流方案改为隐空间扩散:先把图像压缩到一个低维表示,再在低维表示上做扩散与去噪。

这就是 Stable Diffusion 一类模型的核心思路。

2. VAE 变分自编码器

它负责两件事:

模块 作用 公式
Encoder 把图像压缩到隐空间 z=E(x)z = E(x)z=E(x)
Decoder 把隐向量还原成图像 x=D(z)x = D(z)x=D(z)

这里的 zzz 就是 latent,也就是隐空间表示。

可以把它类比成:

  • 图片是原始大文件
  • VAE 是压缩/解压软件
  • latent 是压缩后的内部表示

而这篇论文攻击成立的关键就是:很多扩散模型会直接复用公开 VAE。

3. Tree-Ring 水印

Tree-Ring 是 NeurIPS 2023 提出的扩散模型专用隐空间水印。它不直接在像素里加水印,而是在初始噪声的频域里写入环形结构。

这里要特别强调一点:Tree-Ring 不是在最终图像上贴标签,而是在生成起点做手脚。它希望做到的是:

  • 生成结果肉眼不可见
  • 普通图像编辑不容易破坏
  • 检测时可以通过逆扩散把图像“追溯”回最初的噪声状态

这也是它当初被认为比像素水印更强的原因。

嵌入过程可以理解为:

初始高斯噪声
→ FFT 变换到频域
→ 在中心区域嵌入环形密钥图案
→ IFFT 回到时域
→ 用这个带水印的噪声去生成图像

检测时则相反:

生成图像
→ DDIM 反演回初始噪声附近
→ 做 FFT
→ 看频域中心有没有对应环形图案

它名字里的 Tree-Ring,就是“树的年轮”的意思,因为图案本身就是同心圆环。

进一步拆开看,Tree-Ring 的设计逻辑其实是:

  1. 初始噪声理论上应服从标准高斯分布
  2. 在频域中心加入环形模式后,这个噪声仍然看起来像“正常噪声”
  3. 经过扩散模型生成图像后,环形结构不会在像素层面明显显现
  4. 但在逆扩散回去之后,这个结构又能被检测器识别

它原本依赖的安全直觉是:即使别人拿到生成图,也很难精确回到那个可检测的隐空间。 这篇论文做的,正是把这层直觉击穿。

4. 低基率场景

基率(base rate) 指目标样本在总体中的比例。低基率场景就是:你要找的那类样本很少。

放到水印检测里就是:

  • 互联网里绝大多数图片都没有这类水印
  • 真正带水印的 AI 图像只占极小比例

于是即便检测器在实验室的均衡数据集上 AUC 很高,只要假阳性稍微多一点,到了真实世界里 precision 就会迅速崩掉。

这也是论文批评 Tree-Ring “不具备真实部署价值”的重要依据。

如果用更具体的话说,低基率场景下真正危险的不是“召回率变低”,而是:

  • 你本来要找的目标样本非常少
  • 哪怕误报率只有一点点
  • 误报总数也会迅速淹没真正的命中样本

所以论文强调,评估一个水印方案时,只报 ROC-AUC 远远不够,必须同时关心在真实先验分布下的 precision 和部署阈值。


Tree-Ring 三条链路

为了把这篇论文真正看明白,最有效的方式其实不是只记结论,而是把 嵌入、检测、攻击 三条链路并排看。

1. Tree-Ring 嵌入链路

标准高斯初始噪声 z
→ 做 FFT,进入频域
→ 在频域中心写入环形密钥图案
→ 做 IFFT,回到时域噪声 z_wm
→ 把 z_wm 送入扩散模型生成图像
→ 输出肉眼几乎看不出差异的带水印图像

这条链路的目标是:把水印写进生成起点,而不是写进最终像素。

2. Tree-Ring 检测链路

输入待检测图像
→ 用 DDIM 反演把图像往回推
→ 近似恢复其初始噪声状态
→ 对恢复出的 latent 做 FFT
→ 检查频域中心是否存在目标环形模式
→ 若匹配成功,则判定含有 Tree-Ring 水印

这条链路的核心前提是:逆扩散能把图像带回一个仍然保留水印痕迹的可检测状态。

3. 论文提出的攻击链路

输入带水印图像
→ 用公开 VAE 编码回 latent
→ 在 latent 域训练代理检测器
→ 用 PGD 迭代优化扰动
→ 把样本从“有水印区域”推到“无水印区域”
→ 用 VAE 解码回图像
→ 输出视觉质量几乎不变、但检测失效的结果

这条链路真正打击的是:Tree-Ring 对“攻击者无法有效进入隐空间”的默认假设。

4. 三条链路并排看,论文的核心就很清楚了

  • 嵌入链路:想把水印埋进生成起点
  • 检测链路:想把图像追溯回生成起点再检查
  • 攻击链路:直接利用公开 VAE 抢先进入同一个隐空间,把痕迹抹掉

所以这篇论文并不是在“像素层面洗图”,而是在检测链路真正依赖的 latent 空间里拆掉水印成立条件


Tree-Ring 的两个致命漏洞

论文并不是直接上攻击,而是先解释为什么 Tree-Ring 会输。

1. 水印 latent 不再服从高斯分布

Tree-Ring 原本是在高斯噪声上嵌入环形水印,但这样一来,带水印的 latent 分布就不再像原始高斯噪声那样自然

这意味着什么?

  • 水印不是“完全融入背景”的
  • 它会在隐空间里留下统计可识别的痕迹
  • 这些痕迹在中间扩散状态中依旧可被区分

2. 有水印和无水印的 latent 在空间中可分

论文用可视化方法展示:有水印 latent 和无水印 latent 在空间中会形成明显可分的簇。

换句话说:

  • Tree-Ring 并没有把水印藏到“不可分辨”
  • 它反而在隐空间里制造了可学习的边界
  • 只要攻击者能重新回到 latent 域,就可以有针对性地把样本从“有水印簇”推走

这正是后续代理检测器 + PGD 攻击能够成功的根本原因。

如果把这件事翻译成更直白的话,就是:

  • Tree-Ring 以为自己把水印“藏起来了”
  • 但实际上它只是把水印“藏进了另一个可学习空间”
  • 只要有人能进入这个空间,水印就不再隐蔽

这也是为什么论文并没有把攻击重点放在像素端,而是始终强调 latent 空间才是真正的决战场。


攻击成立:公开 VAE 是真正入口

这篇论文最重要的洞察不是“PGD 很强”,而是:

公开 VAE 让攻击者获得了进入目标隐空间的钥匙。

传统理解里,黑盒攻击者只能拿到生成图像,碰不到模型内部。但这里不一样。

因为目标扩散模型训练时复用了公开 VAE,所以攻击者自己也能用同一个 VAE 做:

  1. 图像编码到隐空间
  2. 在隐空间中建代理检测器
  3. 在隐空间中优化扰动
  4. 再把修改后的 latent 解码成图像

也就是说,攻击者虽然没有目标模型完整权限,但已经拿到了最关键的隐空间接口

这就是论文标题里 public knowledge 的含义:公开知识并不只是“知道模型大概怎么训练”,而是能直接复用其关键组成部分。


攻击方法

一条非常完整且现实的黑盒链路

1. 威胁模型

论文假设的攻击者能力并不夸张:

  • 只能黑盒访问目标扩散模型
  • 只能拿到生成图像
  • 不知道目标模型完整参数
  • 但能获得训练时使用的公开 VAE

这比传统白盒攻击更现实,也更危险。

2. 攻击总流程

整套方法可以概括成下面 4 步:

输入带水印图像
→ 用公开 VAE 编码回 latent
→ 在 latent 域训练代理检测器
→ 用 PGD 在 latent 域做对抗扰动
→ 用 VAE 解码得到去水印图像

这 4 步里,真正关键的是中间两步:

  • 代理检测器负责近似目标检测边界
  • PGD 负责沿着这个边界反方向移动样本

也就是说,这篇论文并不是“直接猜怎么去水印”,而是先学会什么叫“有水印”,再反过来最小代价地把它改成“看起来像无水印”。

3. 为什么不是在像素域攻击

因为 Tree-Ring 水印本来就不在像素域,而在隐空间里。

像素域攻击的问题是:

  • 很难准确定位水印特征
  • 容易伤及图像内容
  • 去水印效果有限

latent 域攻击则更像是直接对准“病灶”下手,因此更有效,也更省扰动预算。

这点其实也是这篇论文相比许多旧方法最本质的进步:攻击空间选对了,很多事情就从“很难”变成了“非常自然”。


技术细节

1. 代理检测器:从像素域搬到 latent 域

这是整篇论文最关键的创新之一。

过去一些代理攻击会直接在像素空间训练分类器,试图区分有水印和无水印图像。但 Tree-Ring 是隐空间水印,所以像素域信号太弱。

这篇论文改为:

  • 先用 VAE 编码出 latent
  • 再基于 latent 训练代理检测器
  • 输入是隐向量而不是图像像素

论文中采用的结构是 ResNet18

训练数据来源:

  • 正样本:从目标模型生成的带水印图像
  • 负样本:公开数据集中的普通自然图像,如 ImageNet

这样训练出来的检测器能够真正学到隐空间中的水印痕迹。

这里还有一个很重要的现实意义:攻击者并不需要和目标系统拥有完全一致的训练集。因为论文证明,只要 latent 分布中确实存在稳定的水印差异,代理检测器就足以学出一个可迁移的近似边界。

2. PGD:在隐空间里“轻轻挪一点”

PGD(Projected Gradient Descent)可以理解为一种经典、稳定的对抗攻击方法。

它做的不是暴力破坏图像,而是:

  1. 计算怎样修改 latent 才能让检测器误判
  2. 每次只改很小一步
  3. 每一步都投影回允许的扰动范围内
  4. 反复迭代,直到分类边界被跨过去

直白地说,它不是把图片“弄坏”,而是把带水印样本从“有水印区域”轻轻推到“无水印区域”

如果换成分类问题的语言,可以把这个过程理解成:

  • 代理检测器把 latent 分成“带水印”和“不带水印”两类
  • PGD 的目标不是把样本改得面目全非
  • 而是找到离原样本最近、但已经落到“无水印”一侧的位置

因此它特别适合这类“既要绕过检测,又不能破坏视觉质量”的任务。

3. 为什么只动 VAE,不动 U-Net

原因很简单:

  • VAE 决定图像如何进入/离开隐空间
  • U-Net 负责在隐空间里生成内容

而这篇攻击关注的是“进入隐空间并修改水印痕迹”,不是“重新走完整生成流程”。

所以:

  • 攻击者只需要公开 VAE,不需要 U-Net
  • 防御者若想切断这条路径,优先动的也应该是 VAE,而不是 U-Net

从工程角度看,这个结论也很致命。因为现实中:

  • 重新训练 U-Net 成本很高
  • 复用公开 VAE 非常常见
  • 很多厂商确实默认“VAE 无关安全”

而本文恰恰说明,这个默认前提并不成立。


八、关键公式

1. DDIM 采样

xt−1=αt−1⋅xt−1−αtϵθ(xt)αt+1−αt−1⋅ϵθ(xt) x_{t-1} = \sqrt{\alpha_{t-1}} \cdot \frac{x_t - \sqrt{1-\alpha_t}\epsilon_\theta(x_t)}{\sqrt{\alpha_t}} + \sqrt{1-\alpha_{t-1}} \cdot \epsilon_\theta(x_t) xt1=αt1 αt xt1αt ϵθ(xt)+1αt1 ϵθ(xt)

作用:描述扩散模型如何从噪声逐步生成图像。

2. DDIM 反演

xt+1=αt+1⋅xt−1−αtϵθ(xt)αt+1−αt+1⋅ϵθ(xt) x_{t+1} = \sqrt{\alpha_{t+1}} \cdot \frac{x_t - \sqrt{1-\alpha_t}\epsilon_\theta(x_t)}{\sqrt{\alpha_t}} + \sqrt{1-\alpha_{t+1}} \cdot \epsilon_\theta(x_t) xt+1=αt+1 αt xt1αt ϵθ(xt)+1αt+1 ϵθ(xt)

作用:把图像往回推,近似恢复初始噪声,用于水印检测。

3. VAE 编码与解码

z=E(x),x=D(z) z = E(x), \quad x = D(z) z=E(x),x=D(z)

作用:在图像和隐空间之间来回切换。整篇攻击几乎都围绕这一步展开。

4. 攻击目标

min⁡x∗L(E(x∗),ynon-wm)s.t.∥x∗−x∥∞≤δ \min_{x^*} \mathcal{L}(E(x^*), y_{non\text{-}wm}) \quad \text{s.t.} \quad \|x^* - x\|_\infty \le \delta xminL(E(x),ynon-wm)s.t.xxδ

含义:在扰动预算受限的前提下,让检测器把带水印样本判成“无水印”。

这条目标函数可以理解成这篇论文的核心优化目标:尽量少改图,但一定要把水印判别结果改掉。

5. PGD 迭代更新

zn+1=zn−α⋅Adam(∇zL) z_{n+1} = z_n - \alpha \cdot \text{Adam}(\nabla_z \mathcal{L}) zn+1=znαAdam(zL)

并在每一步做投影,保证扰动不会超预算。

论文中这一步实际上对应的是“受约束的多步优化”,因此它比一次性添加随机噪声稳定得多,也更容易在保持画质的情况下精确打掉检测器信号。

6. 低基率场景下最关键的评价量:Precision

Precision=TPTP+FP \text{Precision} = \frac{TP}{TP + FP} Precision=TP+FPTP

低基率环境下,只要假阳性略多,precision 就会急剧下降。这也是 Tree-Ring 被批评无法落地部署的核心原因。


实验设计

1. 实验设置

  • 目标模型:Stable Diffusion 2.1
  • VAE:AutoencoderKL
  • 代理检测器:ResNet18
  • 攻击方法:PGD

2. 数据设置

论文主要用了两类设置:

Wm & UnWm
  • 有水印图像与无水印图像一一对应
  • 条件更理想
  • 更接近学术测试环境
Wm & Pub
  • 有水印图像来自目标模型生成
  • 无水印图像来自公开自然图像数据集
  • 更接近真实场景

其中最有代表性的结果来自 Wm & Pub,这也是论文最能说明问题的一组实验。

之所以 Wm & Pub 更重要,是因为它更接近真实攻击面:

  • 正样本是目标系统生成的带水印图
  • 负样本不是理想控制组,而是现实世界中的公开自然图像

这意味着攻击者并不需要精心构造完全配对的数据集,也能训练出有效的代理检测器。

3. 评价指标

检测性能:

  • ROC-AUC
  • PR-AUC
  • TPR@1%FPR
  • Accuracy

图像质量:

  • CLIP Score
  • LPIPS
  • FID

这套指标组合很完整,因为它同时考察了两件事:

  1. 水印是否真的失效
  2. 图像是否仍然保持高质量

这些指标里,最值得单独解释的是:

  • ROC-AUC:整体区分能力,越低说明检测器越分不清
  • PR-AUC:在正类稀少时更敏感,适合看实际检出能力
  • TPR@1%FPR:在极低误报率约束下还能检出多少,和现实部署关系很大

也正因为论文同时报了这些指标,才更能说明它不是只在某一个指标上“取巧”。


实验结果

1. 核心结果

论文中,原始 Tree-Ring 检测器在未攻击时表现非常强:

  • ROC-AUC:0.993
  • PR-AUC:0.994
  • TPR@1%FPR:0.968

但在本文攻击后,指标下降到:

方法 ROC-AUC PR-AUC TPR@1%FPR
无攻击 0.993 0.994 0.968
本文方法(VAE + Wm&Pub) 0.153 0.385 0.039

这个结果意味着:检测能力几乎被清零。

2. 与其他攻击的对比

相比对抗噪声攻击和像素域代理攻击,本文方法明显更强。根本原因不是“调参更狠”,而是它真正进入了正确的攻击空间:latent 空间。

换句话说,本文的优势不是某个小技巧,而是攻击建模本身就更接近水印真实存在的位置。

3. 图像质量几乎不受影响

论文同时报告 CLIP、LPIPS、FID 等指标变化不大,人眼视觉上也难以察觉明显退化。

这点非常关键,因为这意味着攻击并不是“把图破坏掉”,而是在尽量保留语义和视觉质量的前提下,精确移除水印

从攻击者视角看,这种性质尤其危险。因为一旦攻击后的图像还能正常传播、正常使用、正常通过人工检查,那么水印系统就失去了最关键的威慑作用。

4. 换 VAE 还能不能打

论文还测试了跨 VAE 泛化:

  • 用 SDXL VAE,攻击依然有效
  • 用结构差异更大的 16-channel VAE,效果会下降,但仍优于像素域攻击

这说明:即便拿不到完全一致的 VAE,只要足够接近,攻击仍可能成立。

5. 没有 VAE 的模型,攻击明显变弱

在不依赖 VAE 的 Guided Diffusion 上,攻击效果显著下降。

这进一步证明:VAE 不是附带条件,而是攻击成立的核心入口。

这部分实验其实承担了一个“因果验证”的作用:它说明攻击不是因为作者随便训练了个好分类器,而是真的抓住了 VAE 这一结构性弱点。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐