2020 code
对抗性示例
不能简单执行对抗性示例的直接映射,因为攻击者会根据防御生成自己的对抗痕迹,然后用它们来训练更强大的分类器。因此:
增加了搜索过程的随机性,减少了目标深度学习模型的设计和训练对找到好的对抗性示例的影响。在搜索新轨迹时,我们会随机选择一个目标轨迹,并逐渐缩小修改后的轨迹与目标的距离。在搜索过程中,我们还会多次更换其他随机选择的目标。深度学习模型仅用于给出当前轨迹是否欺骗分类器的置信度值,我们不会访问损失函数、对数或模型的任何其他方面。由此产生的对抗踪迹可能会朝着与原始源踪迹不同的多个方向前进,而不是始终沿着相同的路径前进,例如,沿着损失函数的梯度前进。这样,该技术就能选择通过对抗训练难以找到的路径。此外,从同一来源生成的每个新轨迹通常每次都在不同的目标附近结束,这有助于降低攻击者的 Top-k 精度。
预备知识
对抗性示例
给定一个输入样本 x 和目标类 t ,其中 t 不同于 x 的实际类别 C*(x) ,目标是根据一些距离度量找到接近 x 的 x' ,并且 C(x')=t。在这种情况下,x' 是一个有针对性的对抗性示例,因为它被错误分类到特定的目标标签 t ;无针对性的对抗性示例可能被错误分类到除了实际类别 C*(x) 之外的任何其他类。
对抗性示例的性质
高误分类率:可以欺骗WF分类器,已被证明对图像可靠且鲁棒的工作
小扰动:会加入填充包,但出于WF防御最好是轻量级来说,意味着应该限制填充数据包的数量,以保持低带宽消耗
可转移性:可被设计用来攻击给定的分类器,并且至少有时也可以欺骗其他分类器。此外一些技术可以在黑盒设置中工作,攻击者将完全不知道分类器。
数据表示
将流量踪迹建模为传入和传出突发的序列
突发:相同方向上连续数据包的序列。
通过向突发方向发送填充数据包来增加任何突发长度。但不能通过丢弃真实数据包来减少突发的大小,因为会导致重传,改变流量模式并增加用户的延迟。
设计
生成对抗性痕迹
最终目标是生成非目标的对抗性痕迹,使分类器将流量痕迹标记为来自原始站点以外的某个站点,即生成非目标样本。但本文发现生成目标样本更有效,即为当前样本选择特定的其他站点来尝试模仿。
为了保护给定的痕迹(源样本),除源站点以外,Mockingbird 首先生成一组从各个站点的痕迹中随机选择的潜在目标痕迹。然后,它随机选择这些痕迹之一作为目标样本,并逐渐改变源样本以接近目标样本。当经过训练的分类器(称为检测器)确定样本的类别已更改时,该过程就会停止。请注意,它不需要更改为目标样本的类,因为目的是生成非目标对抗痕迹。应用于源样本的更改量控制着 Mockingbird 的带宽开销,因此应该最小化。
与大多数其他用于生成对抗性示例的算法不同,Mockingbird 并不关注检测器网络的损失函数(如 FGSM 和 IGSM)或对数(如 Carlini 和 Wagner)。相反,它的目标是将源样本移向目标样本,并且仅使用检测器网络来估计轨迹被错误分类的置信度。 这减少了对检测器网络形状的依赖,并有助于生成对对抗训练更稳健的对抗痕迹,使用优化方法来实现目标样本会导致系统的稳健性大大降低。