我使用https://github.com/tensorflow/cleverhans生成对抗图像,但没有提供攻击算法的类别。
这里列出了所有的攻击算法代码:https ://github.com/tensorflow/cleverhans/tree/master/cleverhans/attacks
我不知道这些攻击算法中哪个是灰盒攻击,哪个是白色或黑色攻击算法?
因为我需要算法的范畴来研究攻防算法。github页面没有提供任何关于此的信息。我应该怎么知道?
我使用https://github.com/tensorflow/cleverhans生成对抗图像,但没有提供攻击算法的类别。
这里列出了所有的攻击算法代码:https ://github.com/tensorflow/cleverhans/tree/master/cleverhans/attacks
我不知道这些攻击算法中哪个是灰盒攻击,哪个是白色或黑色攻击算法?
因为我需要算法的范畴来研究攻防算法。github页面没有提供任何关于此的信息。我应该怎么知道?
将从第 2 页最后一段中引用Carlini的论文Towards Evaluating the Robustness of Neural Networks开始:对手可以完全访问神经网络,包括架构和所有参数,并且可以以白盒方式使用它。这是一个保守且现实的假设:先前的工作表明,在对目标模型进行黑盒访问的情况下,可以训练替代模型,然后通过攻击替代模型,我们可以将这些攻击转移到目标模型。
使以下 2 个定义为真:
白盒:攻击者完全了解机器学习算法、机器学习模型(即参数和超参数)、架构等。下图确实显示了白盒攻击如何工作的示例:
黑盒:攻击者几乎对 ML 系统一无所知(也许知道特征数量、ML 算法)。下图以步骤为例:
Kurakin 于 2017 年发表的论文ADVERSARIAL Examples in THE PHYSICAL WORLD中的第 3.4 节演示物理世界中的黑盒对抗性攻击陈述如下: 第 9 页第 1 段描述了白盒含义: 上述实验在假设以下条件下研究物理对抗性示例:对手可以完全访问模型(即对手知道架构、模型权重等......)。
接着解释黑盒的含义: 但是,攻击者无权访问模型的黑盒场景是许多安全威胁的更现实的模型。
结论:为了将算法定义/标记/分类为白盒/黑盒,您只需更改模型的设置。
注意:我没有对每个算法进行分类,因为有些算法只能支持cleverhans库中的白盒设置或黑盒设置,但这对你来说是一个好的开始(如果你做研究,你需要检查每篇论文文档中列出的以了解 GAN,以便您可以根据自己的对抗性示例生成。
使用的资源和有趣的论文: