DeDe: Detecting Backdoor Samples for SSL Encoders via Decoders¶
作者: Yuwen Pu, Yue Zheng, Shiji Zhao 等
机构: HKUST / Southeast University
会议: CVPR 2025
arXiv: 2411.16154
代码: https://github.com/tardisblue9/DeDe
研究背景与动机¶
自监督学习(Self-Supervised Learning, SSL)预训练编码器已成为现代计算机视觉的基础设施。然而,SSL 编码器面临严重的后门攻击威胁:
SSL 后门攻击的隐蔽性:与监督学习不同,SSL 后门攻击会在编码器的特征空间中植入后门映射。攻击者将特定触发模式(trigger)与目标类别的特征空间绑定,当下游用户使用该编码器时,含有触发模式的输入会被映射到攻击者指定的特征区域
检测难度大: - SSL 编码器没有分类头,传统基于分类输出的后门检测方法(如 Neural Cleanse)不适用 - 编码器通常作为黑盒提供,用户无法访问编码器内部参数 - 触发模式可能极其微小或隐蔽(如几个像素变化或不可见扰动)
现有防御的局限: - 数据清洗方法难以在无标签场景下工作 - 模型修剪方法需要直接修改编码器参数 - 基于激活分析的方法计算开销大且误报率高
供应链安全风险:随着预训练模型共享平台(如 HuggingFace)的普及,用户越来越多地下载和使用第三方预训练编码器,后门攻击的供应链风险日益严重
DeDe 提出了一种新思路:通过训练解码器来反转编码器的映射,利用后门样本在解码重建中的不一致性来检测后门。
方法详解¶
核心直觉¶
后门编码器对干净样本和触发样本的行为差异:
| 输入类型 | 编码器行为 | 解码器重建 |
|---|---|---|
| 干净样本 | 正常特征编码 | 忠实重建原图 |
| 触发样本 | 特征被扭曲到目标区域 | 重建图像与原图不一致 |
这种不一致性成为检测后门样本的信号。
解码器训练¶
训练策略: - 使用干净数据(无触发模式)训练解码器 \(D\) - 解码器学习反转编码器 \(E\) 的映射:\(\hat{x} = D(E(x))\) - 训练损失:\(\mathcal{L}_{recon} = \| x - D(E(x)) \|_2^2\)
关键设计——高遮蔽率训练: - 训练时使用 masking ratio = 0.9(遮蔽90%的图像 patch) - 这迫使解码器严重依赖编码器提供的特征信息来重建被遮蔽的区域 - 如果编码器的特征被后门扭曲,解码器的重建质量将急剧下降
后门检测¶
推理时遮蔽率: - 测试时使用更高的 masking ratio = 0.99(仅保留1%的 patch) - 极端遮蔽放大了后门样本的重建不一致性
检测指标——重建不一致性分数:
其中 \(M(\cdot)\) 为随机遮蔽操作。
检测阈值: - 使用小规模干净验证集估计正常重建误差的分布 - 设阈值 \(\tau = \mu + k\sigma\),其中 \(\mu\) 和 \(\sigma\) 为干净样本重建误差的均值和标准差 - \(s(x) > \tau\) 则判定为后门样本
检测流程¶
实验结果¶
后门攻击检测率¶
| 攻击方法 | 攻击成功率 (ASR) | DeDe TPR ↑ | DeDe FPR ↓ |
|---|---|---|---|
| BadEncoder | 99.9% | 93.1% | 3.2% |
| CTRL | 97.8% | 89.5% | 4.1% |
| CLIP Backdoor | 98.5% | 100.0% | 2.7% |
| PoisonedEncoder | 96.3% | 87.8% | 5.3% |
后门缓解效果¶
| 攻击方法 | 原始 ASR | DeDe 过滤后 ASR ↓ | 干净准确率变化 |
|---|---|---|---|
| BadEncoder | 99.9% | 1.3% | -0.8% |
| CTRL | 97.8% | 3.7% | -1.2% |
| CLIP Backdoor | 98.5% | 0.5% | -0.5% |
| PoisonedEncoder | 96.3% | 4.2% | -1.5% |
与现有方法对比¶
| 方法 | BadEncoder TPR | CLIP Backdoor TPR | 需要编码器参数 |
|---|---|---|---|
| Neural Cleanse | 不适用 | 不适用 | 是 |
| Activation Clustering | 52.3% | 61.7% | 是 |
| STRIP | 67.8% | 73.2% | 否 |
| SentiNet | 71.5% | 78.4% | 否 |
| DeDe (ours) | 93.1% | 100.0% | 否 |
消融实验¶
| 配置 | BadEncoder TPR | FPR |
|---|---|---|
| Masking 0.5 train / 0.75 test | 72.3% | 8.1% |
| Masking 0.75 train / 0.9 test | 84.6% | 5.7% |
| Masking 0.9 train / 0.95 test | 89.2% | 4.3% |
| Masking 0.9 train / 0.99 test | 93.1% | 3.2% |
核心创新点¶
- 解码器检测范式:首次提出通过训练解码器来检测 SSL 编码器的后门——利用后门样本在编码-解码过程中的不一致性作为检测信号
- 极端遮蔽策略:训练时 0.9、推理时 0.99 的遮蔽率设计,最大化放大后门特征扭曲对重建质量的影响
- 黑盒检测:无需访问编码器内部参数,仅需使用其输出特征即可检测后门
- 显著的缓解效果:BadEncoder ASR 从 99.9% 降至 1.3%,同时干净准确率仅下降 0.8%
理论分析¶
作者从信息论角度解释了 DeDe 的工作原理:
- 后门编码器对触发样本执行信息压缩:丢弃原始内容信息,注入目标类别信息
- 解码器依赖编码器提供的信息进行重建,当原始内容信息被后门替换时,重建必然失败
- 高遮蔽率进一步增加解码器对编码器特征的依赖,放大检测信号
局限性¶
- 需要一定量的干净数据来训练解码器和估计检测阈值
- 对自适应攻击(攻击者知道 DeDe 的存在)的鲁棒性有待进一步验证
- 在多触发模式攻击场景下,单一阈值可能不够灵活
- 解码器训练需要额外的计算成本
相关工作¶
- BadEncoder: 首个针对 SSL 编码器的后门攻击
- CTRL: 基于对比学习的后门攻击
- Neural Cleanse: 经典后门检测方法(需要分类头)
- MAE: 掩码自编码器,启发了 DeDe 的高遮蔽率设计