Practical Black-Box Attacks against Machine Learning

Practical Black-Box Attacks against Machine Learning

Nicolas Papernot, etc.

Intro

attach经常会通过adversarial examples实例化:常规的输入被修改,而修改方式通常是增加一些小的,不可兼得,perturbations,从而导致classifier无法正确分类。

有这么几个假设

  1. adversary并不知道model的parameter和structure
  2. 并没有机会得到大量的training dataset
  3. adversary唯一能够了解的就只有DNN预测的label

Threat Model

adversary试图寻找一个classifier能够missclassify inputs。adversary不知道模型的任何信息,也不知道训练集是什么。这类的attack叫做black box。

Adversarial Capabilities: oracle $$O$$是一个已知的目标模型targeted model。adversary唯一能做的就是,给定任意一个输入$$x$$,向oracle $$O$$询问对应的label $$\tilde O(x)$$。

$$\tilde O (x) = arg \, max_{j} \, O_j(x)$$

Adversarial Goal: 希望生成的是adversarial sample,会使得oracle模型分类错误。可以变成一个优化问题

$$x^* = x + arg\, min{ z: \tilde O(x+z) \ne \tilde O(x) } = x + \delta_x$$

通常只会增加非常小的perturbation $$\delta_x$$,从而不会让人们观测到图像的变化。

Black-Box Attack Strategy

大多数adversarial attack还是基于gradient-based optimization,但在我们这里black-box的设定下就不可行。

在这里提出来使用target DNN作为oracle来构造一个合成的数据集合。构造一个substitute network F,是oracle O的一个估计。然后用F来构造adversarial samples。由此有了这么一个策略

  1. 采用一种Jacobian-based heuristic方法,来构造一个模型$$F$$,来模拟模型$$O$$。
  2. 构造adversarial samples,通过模型$$F$$。

Substitute Model Training

对于模型的结构,发现它们对于一个attach成功的影响非常小。

如果使用大量的queries来得到一个oracle的拷贝。但是这会使得整个adversarial behaviors可以被预测。

一个自然地替代方式,是随机选择额外的点进行查询。比如用高斯分布来采样哪些点来训练substituent model。

一种heuristic方法是在一组初始训练数据集上,确定一个方向,能够使得target model的变化最大。这些方向通过DNN的Jacobian matrix $$J_F$$确定。增加的perturbation是通过Jacobian matrix得到,所以叫做Jacobian-based Dataset Augmentation

$$s{\rho + 1} = { x + \lambda \cdot sgn(J_F[\tilde O(x)]): x \in s\rho } \cup s_\rho$$

Appendix

这篇paper接受于 Asian Conference on Computer and Communications Security, 2017

open-mind一下

这里的perturbed情况实际上是对应于图像特别有效,因为图像的输入大部分都是clean,没有noise的。

而反观其他领域,比如chemistry,大部分的输入是noisy。相应的,perturbation对于他们的影响也应该不会特别大。

因此不妨以此另外一个dataset clean的指标,对于perturbation的robustness。

因此有了另外一个想法,能否构造一个VAE,来去除noise/perturbation?这样新生成的instance还是能够被正确识别?网上一查,果然有人做过类似的活 DVAE

results matching ""

    No results matching ""