7.2 已知攻击与防御策略


7.2 已知攻击与防御策略

本节摘要:PETs 自身可能被攻击。本节讲清楚针对各 PETs 的已知攻击(梯度反转/成员推断/侧信道/投毒/组合攻击)和防御策略。读完你能给 PETs 系统做攻击面分析。

一、FL 攻击

1. 梯度反转攻击(Gradient Inversion/Leakage)

  • 攻击者(服务器)从客户端梯度反推客户端数据。
  • Zhu et al. 2019 证明——优化使梯度匹配的输入,重构图像/文本。
  • 浅层网络易,深层难,但 BatchNorm 等泄露统计。
  • 防御:安全聚合(服务器不见个体梯度)、DP(梯度加噪)、梯度压缩(破坏重构信号)。

2. 成员推断攻击(Membership Inference)

  • 攻击者判断某样本是否在训练集——从模型行为(loss/置信度)推断。
  • Shokri et al. 2017 证明——模型对训练样本过拟合,行为不同。
  • 防御:DP 训练(防过拟合)、正则化、减少过拟合。

3. 属性推断攻击(Attribute Inference)

  • 推断训练数据的属性(如数据集中某群体比例)——从模型行为。
  • 防御:DP、限制模型输出信息。

4. 投毒攻击(Poisoning)

  • 数据投毒:恶意客户端在本地数据注入坏样本,破坏全局模型。
  • 模型投毒:恶意客户端发恶意梯度,破坏或植入后门。
  • 防御:鲁棒聚合(Krum/Trimmed Mean/median,剔除异常)、客户端信誉、异常检测、差分隐私(噪声掩盖投毒)。

5. 后门攻击(Backdoor)

  • 投毒的特例——植入触发器(如图片特定像素模式),模型对触发器误分类。
  • 防御:后门检测(神经 cleanse)、鲁棒聚合、客户端审计。

二、DP 攻击

1. ε 过大攻击

  • ε 设太大(如 100)几乎无保护——攻击者能从输出推断个体。
  • 防御:按敏感度设 ε,公布让评估,第三方审计。

2. 预算耗尽攻击

  • 攻击者反复查询,消耗隐私预算,后续查询无保护。
  • 防御:预算监控,超限停查询,限流。

3. 组合攻击

  • 多次 DP 查询组合,累积泄露超单次 ε 预期。
  • 防御:用组合定理管理累积(顺序/高级组合),监控总 ε。

4. 背景知识攻击

  • 攻击者有背景知识(如知道部分数据),辅助推断。
  • DP 设计防背景知识(相邻数据集定义),但要正确设敏感度。
  • 防御:正确算敏感度,考虑背景知识。

5. 自适应攻击

  • 攻击者根据前次查询调整后续,利用信息。
  • 防御:自适应组合定理、DP 在线学习理论。

三、TEE 攻击

1. 侧信道攻击

  • 缓存侧信道:Prime+Probe/Flush+Reload,测缓存状态推断飞地访问。
  • 时间侧信道:测飞地操作时间推断数据分支。
  • 功耗/电磁:物理接触测功耗/电磁。
  • SGX 历史漏洞(Foreshadow/LVI/Spectre 类)多在侧信道。
  • 防御:常时间编程(避免数据依赖分支/访问)、缓存刷新、侧信道硬化、SGX2 补丁。

2. 飞地内攻击

  • 飞地代码 bug 被利用——如缓冲区溢出、整数溢出。
  • 防御:内存安全语言(Rust)、安全编码、模糊测试、代码审计。

3. 供应链攻击

  • 飞地代码/SDK/编译器被植入后门。
  • 防御:可信构建链、 reproducible builds、源码审计、签名验证。

4. 物理攻击

  • 物理接触 CPU,探针/故障注入。
  • 防御:硬件防篡改、物理防护、检测。

5. 信任假设攻击

  • 硬件厂商留后门或被强制(如 NSA)。
  • 防御:不可完全防——要分散信任(多厂商 TEE、HE/MPC 互补)、审计、透明。

四、MPC 攻击

1. 恶意参与方攻击

  • 恶意方任意偏离协议——输入假数据、错误计算、中途退出。
  • 半诚实协议不防——只防偷看不防作弊。
  • 防御:恶意安全协议(MAC/承诺/ZKP 验证)、作弊检测、中止。

2. 串通攻击

  • 多个参与方串通,联合推断其他方。
  • 超过门限 t 则破。
  • 防御:设门限 t < n/k(k 为信任度),分散信任。

3. 输入伪造攻击

  • 参与方输入假数据(如假信用评分)。
  • MPC 不验证输入真实性——只保护计算。
  • 防御:输入承诺、ZKP 证输入合法、可信数据源。

4. 选择性中断攻击

  • 恶意方中途退出,破坏公平性(自己得结果别人不得)。
  • 防御:公平性协议(惩罚退出方)、乐观公平交换。

5. 侧信道攻击

  • MPC 协议本身防逻辑泄露,但实现可能有侧信道(时间/缓存)。
  • 防御:常时间实现、侧信道审计。

五、HE 攻击

1. 密钥泄露攻击

  • HE 密钥泄露则所有密文可解——隐私全失。
  • 防御:HSM/TEE 保护密钥、密钥轮换、秘密共享分权。

2. 参数攻击

  • 参数选错(如多项式度太小)则安全弱——可能被破解。
  • 防御:用标准参数集、安全参数估算工具、跟踪密码分析进展。

3. 量子攻击

  • HE 多基于 LWE/RLWE,抗量子(格密码是 PQC 候选)。
  • 但部分 HE 方案可能被量子优化——要跟踪后量子密码学。
  • 防御:选抗量子方案(LWE/RLWE 基),跟踪 NIST PQC。

4. 实现攻击

  • HE 库实现 bug 可能泄露(如错误处理泄露密钥)。
  • 防御:用成熟库、代码审计、模糊测试。

5. 电路攻击

  • HE 电路设计 bug 可能泄露(如不该暴露的中间结果)。
  • 防御:电路审计、形式化验证。

六、ZKP 攻击

1. 可信设置攻击

  • SNARK 可信设置的废料持有者能伪造证明。
  • 防御:多方仪式(任一方诚实则安全)、用通用设置(PLONK)、用 STARK(无设置)。

2. 电路 bug 攻击

  • ZKP 电路 bug 可能允许伪造证明——如遗漏约束。
  • 防御:电路审计、形式化验证、测试向量、第三方审计(如 NCC 审计 Zcash)。

3. 证明生成攻击

  • 证明生成实现 bug 可能泄露见证或允许伪造。
  • 防御:用成熟库、代码审计、签名验证。

4. 量子攻击

  • SNARK 多基于椭圆曲线,量子可破(Shor 算法)。
  • STARK 基于哈希,抗量子。
  • 防御:抗量子用 STARK,或后量子 SNARK(研究)。

5. 递归攻击

  • 递归 ZKP(证明的证明)的 bug 可能被利用。
  • 防御:递归协议审计、形式化验证。

七、组合攻击

PETs 组合时,攻击面叠加:

1. 接口攻击

  • 组合的接口(HE↔MPC、FL↔DP)可能泄露——如格式转换泄露。
  • 防御:接口审计、形式化验证、最小信息接口。

2. 组合隐私泄露

  • 各组件独立安全,但组合可能泄露——如 FL+DP,DP 加噪但聚合模式泄露。
  • 防御:组合隐私分析、整体威胁建模、组合定理利用。

3. 信任假设冲突

  • 各组件信任假设不同——如 TEE+HE,TEE 信任硬件但 HE 不信任,组合的信任是并集。
  • 防御:明确组合信任假设、最小信任原则。

4. 性能攻击

  • 组合性能开销叠加,攻击者可能利用慢响应推断。
  • 防御:性能优化、常时间响应。

八、攻击面分析

PETs 系统的攻击面:

  • 密码学层:参数/实现/电路 bug。
  • 协议层:恶意方/串通/选择性中断。
  • 系统层:侧信道/供应链/物理。
  • 组合层:接口/组合泄露/信任冲突。
  • 运维层:密钥管理/监控盲区/事件响应。

防御策略:

  • 纵深防御:多层保护,不依赖单层。
  • 威胁建模:明确攻击者能力,针对性防御。
  • 持续审计:定期审计、红队测试、跟踪新攻击。
  • 最小信任:信任假设最小化,分散信任。
  • 透明:公开参数/协议/审计,社区监督。

⚠️ 常见误读:以为"上了 PETs 就安全"。PETs 自身可能被攻击——梯度反转、侧信道、投毒、电路 bug、组合泄露。要攻击面分析和纵深防御。

💡 关键直觉:PETs 攻击——FL(梯度反转/成员推断/投毒/后门,防御安全聚合/DP/鲁棒聚合)、DP(ε 过大/预算耗尽/组合/背景知识,防御按敏感度设/监控/组合定理)、TEE(侧信道缓存时间功耗/飞地内/供应链/物理/信任假设,防御常时间/硬化/审计/分散信任)、MPC(恶意/串通/输入伪造/中断/侧信道,防御恶意安全/门限/承诺/公平性)、HE(密钥泄露/参数/量子/实现/电路,防御 HSM/标准参数/抗量子/审计)、ZKP(可信设置/电路 bug/证明/量子/递归,防御仪式/审计/STARK/形式化)、组合(接口/组合泄露/信任冲突/性能,防御接口审计/整体建模/最小信任)。防御策略纵深防御/威胁建模/持续审计/最小信任/透明。

核心回顾

  • FL 攻击:梯度反转(Zhu 2019,重构数据,防御安全聚合/DP/压缩)、成员推断(Shokri 2017,过拟合,防御 DP/正则化)、属性推断、投毒(数据/模型,防御鲁棒聚合 Krum/Trimmed Mean/信誉/异常检测)、后门(触发器,防御神经 cleanse/鲁棒聚合/审计)。
  • DP 攻击:ε 过大(几乎无保护,防御按敏感度设/公布/审计)、预算耗尽(反复查询,防御监控/限流)、组合(累积泄露,防御组合定理/总 ε 监控)、背景知识(辅助推断,防御正确敏感度)、自适应(利用前次,防御自适应组合)。
  • TEE 攻击:侧信道(缓存 Prime+Probe/Flush+Reload、时间、功耗/电磁,SGX Foreshadow/LVI,防御常时间/缓存刷新/硬化/补丁)、飞地内(bug,防御 Rust/安全编码/模糊测试)、供应链(后门,防御可信构建/reproducible/签名)、物理(探针/故障,防御防篡改/防护)、信任假设(厂商后门,防御分散信任/多厂商/HE-MPC 互补)。
  • MPC 攻击:恶意参与方(任意偏离,防御恶意安全 MAC/承诺/ZKP/中止)、串通(超门限,防御门限 t<n/k)、输入伪造(假数据,防御承诺/ZKP 证合法/可信源)、选择性中断(破坏公平,防御公平性协议/惩罚)、侧信道(实现,防御常时间)。
  • HE 攻击:密钥泄露(全失,防御 HSM/TEE/轮换/秘密共享)、参数(选错弱,防御标准参数/估算/跟踪分析)、量子(LWE 抗量子但跟踪 PQC,防御选抗量子)、实现(bug 泄露,防御成熟库/审计/模糊)、电路(设计 bug,防御审计/形式化)。
  • ZKP 攻击:可信设置(废料伪造,防御多方仪式/通用设置/STARK)、电路 bug(遗漏约束,防御审计/形式化/测试/第三方)、证明生成(bug,防御成熟库/审计/签名)、量子(SNARK 椭圆曲线可破,防御 STARK/后量子 SNARK)、递归(bug,防御审计/形式化)。
  • 组合攻击:接口(格式转换泄露,防御审计/最小信息接口)、组合泄露(各组件安全但组合泄露,防御组合隐私分析/整体建模/组合定理)、信任冲突(TEE+HE 信任并集,防御明确假设/最小信任)、性能(慢响应推断,防御优化/常时间)。
  • 攻击面:密码学(参数/实现/电路)、协议(恶意/串通/中断)、系统(侧信道/供应链/物理)、组合(接口/泄露/信任)、运维(密钥/监控/事件)。
  • 防御策略:纵深防御(多层)、威胁建模(针对性)、持续审计(红队/跟踪新攻击)、最小信任(分散)、透明(公开/社区监督)。

作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U