个人阅读笔记,如有错误欢迎指出
arXiv 2022 [2202.04311] ARIBA: Towards Accurate and Robust Identification of Backdoor Attacks in Federated Learning (arxiv.org)
问题:
已有的防御后门攻击的方法存在以下不足:
1.需要先验知识或经验阈值;
2.依赖于数据IID的假设;
3.容易被攻击者躲避;
4.许多方法依赖于模型的总体特征,但是这些特征对于精确识别攻击者是粗糙的
创新:
用filter检测恶意更新,评估其异常分数,以检测最可疑的客户。
攻击者能力:
修改训练数据与模型更新
能够明白服务器端可能的防御措施
能够随时选择攻击轮数
多个客户端能够串通进行攻击
攻击者目的:
主任务上实现高精度,后门上产生错误输出。(多个客户端能够添加扰动逃避检测,或进行多个客户端共同攻击采取缩放策略抵消良性客户端的贡献,达到模型替换的目的)
上式用恶意更新替换全局,当全局模型接近收敛时,良性模型的更新与全局类似,因此可以近似的与全局参数相抵消。
方法:
基本思想与原理:
恶意局部模型通过梯度的积累来接近后门目标,产生与良性客户端不同大小和方向的梯度。攻击者也可能会通过向恶意梯度添加约束来隐藏其意图,但只要攻击发生,就会导致模型权重上的差异。因此能够由此检测出恶意客户端。
基本框架:
1. 对模型权重进行预处理,以获得CNN层中可辨别的滤波器模式。
2. 收集过滤器,并将其输入到无监督的异常检测算法中,以识别可疑过滤器。
3. 根据识别的异常过滤器的数量计算每个客户端的异常分数。
4. 根据客户端的异常评分,将最可疑的客户端检测为攻击者。
算法过程:
1、对层模型权重进行预处理,获取梯度。
1.计算客户端与t轮全局参数的差距:
2.计算客户端与原始t+1轮全局模型的差距,以更好的区分良性客户端和恶意客端:
2、收集过滤器,并将其输入到无监督的异常检测算法中,以识别可疑过滤器。
下图的三个客户端中都包含多个过滤器。通过将这些过滤器放在一起,可以看到橙色的客户端更加异常,因为它与其他两个客户端的重叠较少。
采取马氏距离异常检测算法:对距离最大的个filter距离评分1,其余评分0
3、根据识别的异常过滤器的数量计算每个客户端的异常分数。
4、根据客户端的异常评分,将最可疑的客户端检测为攻击者。大多数善意客户的得分预计都在一个狭窄的范围内。恶意客户端的得分应该明显更高或更低。
实验评估
实验设置:Fashion-MNIST、MNIST of handwritten digits与and CIFAR-10 三个图像数据集,按下图的方式进行攻击
实验结果:
在三种攻击方式上的防御效果,与无防御比较
与其他防御结果比较:其中T P S 分别代表目标、像素、语义攻击
防御边缘投毒数据集及多个恶意串通攻击方:
不同异常检测技术的比较:检测效果以及性能消耗
滤波器采样技术几乎没有效果损失且能够较小性能开销
选取CNN不同层的效果比较,无论哪一层,效果都基本良好,层数更深似乎性能更好
噪声容忍性:
非IID数据:性能表现良好
DP噪声:模型可用则能够容忍
总结
计算开销小
基于经验的方法, 可解释性不强,没有对基于约束限制后的filter进行试验说明,有些云里雾里