【TEE从入门到精通及实战】64 模型逆向攻击实战:当攻击者拿到全局模型,如何用梯度反推你的训练数据?

发布时间:2026/6/27 17:03:59
【TEE从入门到精通及实战】64 模型逆向攻击实战:当攻击者拿到全局模型,如何用梯度反推你的训练数据? 去年秋天,我帮一家金融科技公司做安全审计。他们的风控模型部署在SGX enclave里,训练时用了差分隐私,看起来固若金汤。直到我拿到他们聚合后的全局模型权重,只用了72行代码,就从模型参数中还原出了3张信用卡用户的原始交易记录。CTO当场脸色发青:“我们明明加了噪声啊!”问题出在哪?他们只对梯度做了裁剪和加噪,却忽略了模型参数本身就是梯度的累积结果。当攻击者拿到最终模型,相当于拿到了所有训练步骤的“压缩快照”——通过模型逆向攻击(Model Inversion Attack),可以反推出训练数据中的敏感特征。痛点拆解:常见的三个致命误区误区1:认为差分隐私只保护梯度,不保护模型反例代码——很多团队只对单步梯度加噪,但最终模型参数是干净梯度的累加:# 错误示范:只在训练时对梯度加噪,但保存的模型参数未做后处理deftrain_with_dp(model,data_loader,epsilon