拜占庭将军问题(Byzantine Generals Problem),是由莱斯利·兰波特在其同名论文中提出的分布式对等网络通信容错问题。

在分布式计算中,不同的计算机通过通讯交换信息达成共识而按照同一套协作策略行动。但有时候,系统中的成员计算机可能出错而发送错误的信息,用于传递信息的通讯网络也可能导致信息损坏,使得网络中不同的成员关于全体协作的策略得出不同结论,从而破坏系统一致性。

img

在第t轮训练迭代中,一个诚实的参与者上传梯度:

Δωi(t):=Fi(ωi(t))\Delta \omega _i ^{(t)}:=\bigtriangledown F_i(\omega_i^{(t)})

而一个恶意用户可能会上传任意值。

Δωi(t)={,maliciousFi(ωi(t)),otherwise\Delta \omega _i ^{(t)}= \begin {cases} *,malicious\\ \bigtriangledown F_i(\omega_i^{(t)}),otherwise \end {cases}

其中,*为任意值,Fi代表第i个用户模型的目标函数。

目前针对联邦学习的拜占庭攻击主要分为三种模式。

第一种攻击模式称为数据污染攻击,是通过在客户端本地数据集中加入污染过的图片使得客户端上传的模型准确度很差,进而影响全局模型。常见的数据污染攻击包括标签反转攻击(Label-flipping Attack)、基于反向梯度优化的攻击(Back-gradient optimization based attack)等等。相比于其他方式,数据污染攻击的攻击强度比较弱、攻击精度比较差,但是比较容易进行。

第二种攻击模式称为模型污染攻击,是在模型的训练过程中以及传输过程中进行修改,不涉及对本地数据的变更,代表是局部模型污染攻击(Local Model Poisoning Attack)。模型污染攻击的攻击强度很高,并且可以进行更有针对性的攻击,但是相应的也需要对客户端更多的控制权。

第三种攻击模式是前两种攻击的融合,比如目标模型污染(Targeted Model Poisoning)和隐式模型污染(Stealthy Model Poisoning)。第三种模式不但会修改被控制的客户端的本地数据,而且也会对模型训练过程进行影响。相比于前两种攻击方式,第三种攻击方式不但拥有较好的隐秘性而且还拥有很强的精确性。