Slow is better than NOTHING

적대적 공격(Adversarial Attack)

Machine Learning 기반 Black-Box Attack

Jeff_Kang 2019. 6. 7. 19:19
반응형
 

Practical Black-Box Attacks against Machine Learning

Machine learning (ML) models, e.g., deep neural networks (DNNs), are vulnerable to adversarial examples: malicious inputs modified to yield erroneous model outputs, while appearing unmodified to human observers. Potential attacks include having malicious c

arxiv.org

 ◎ INTRODUCE

 Machine Learning 기반 Classifier 들에 대해 Adversarial Example에 의한 공격이 취약하다는 사실은 이미 알려진 바 있다. AEs 는 인간의 지각능력으로는 구분하기 힘들지만 ML 기반의 분류기에서는 큰 오류를 야기시킨다. 하지만 현재까지 알려진 대부분의 Adversarail attack들은 공격을 위해 Internal Model 또는 Training Data에 대한 정보를 요구한다. Real World 에서는 이러한 일종의 White-Box or Semi-White-Box 공격보단 악의적인 목적을 가진 공격자가 어떠한 정보를 얻지 못한 채 단순한 Inference를 통한 Black-Box Attack 의 공격 가능성이 높을 것이다.

 이러한 전제를 바탕으로 일종의 Adversarial Attack 에 대한 Tutorial 이라 할 수 있는..? 논문을 공부해보았다.

 이 논문에서의 공격 가정은, Classifier에 대한 어떠한 정보도 갖지 않은 공격자가 단지 Target Model 에 대해 Input을 통한 Query 를 통해 output을 얻어내는.. 즉, (input,output) pair를 얻을 수 있다는 전제를 둔 채로 공격을 진행한다. 

BB Attack Assumption

 X라는 Input Data를 가지고 있을 때 DNN 모델 F 로부터 $$(Xn,F(Xn))(n=1,2,3,4....)$$ 를 이용하여 Local Model 을 Training 시킨다. 이 논문에서 AEs 를 generation 하기 위해 Local Model(Substitute Model) 을 이용한다고 되어있다. Input,output pair 를 기반으로 생성된 Local Model F'이 속는다면 원본 Model F 도 속일 수 있다라는 가설을 세우고 진행한 공격이라 생각된다. 왜냐하면 이론적으로 잘 학습된 F' 이라면 원본 F와 유사한 Decision Boundary를 가지고 있기 때문일것이다.

 위의 공격은 Test Phase에서 진행되며 원본 Model 이 Training 되는 동안에는 전혀 접근할 수 없다. 즉, 이미 잘 학습된 모델을 속인다는 것이다. 

 논문에서는 Black-Box Attack 을 위한 3가지 주요 속성을 모두 만족한다고 한다. 여기서 주요 속성이란,

Properties
A) the capabilities required are limited to observing output class labels 
B) the number of labels queried is limited
C) the approach applies and scales to different ML classifier types

 Brute Force를 통해 (X,F(X))를 구해낸다면 이는 Target Model 이 공격을 쉽게 인지할 수 있기 때문에 Pair를 구하기 위한 능력과 쿼리되는 라벨의 수가 제한되고, 다른 분류기 타입들에 대해 적용될 수 있는 일반성을 가져야하는데 기존의 방법들은 이 3가지를 동시에 제공하지 못했다고 한다. 

그런데 이 논문에서는 이 3가지 속성을 전부 만족시키는 만능 Black-Box Attack을 시연한다고 한다. 상당히 흥미롭다 :)

 

 

◎ Black Box Attack Strategy

 Black-Box Adversarial Attack은 단순히 Data(x),Label 정보를 가지고 ML 기반의 분류기를 속일 수 있는 Data(x')을 만들어내는 것이다. 공격 기법에 의해 생성된 dataset과 oracle model 에 대한 쿼리로 의해 받아온 Label 정보를 가지고 Substitute Model 만들어 내는데, Adversarial Examples은 이 모델에서 생성된다. Target DNN 은 Architecture 간의 'Transferability' 라는 것 때문에 속일 수 있을 것이다라고 주장하데, 여기서 Transferability 라는 것은 단순히 전이 가능성이라고 해석해서 의역하면 "원본 모델과 Attack 을 위해 생성된 Substitute Model 간의 유사도" 정도로 생각할 수 있겠다. (최종적으로 원본 모델과 생성된 대체 모델에 대한 Transferability 를 측정하여 공격의 유효성을 입증하는 척도로 사용될 수도 있겠다.)

Adversarial Attack 의 목표는 원본 DNN Model 을 속일 수 있는 가장 작은 Pertubation을 찾아내는 것이다.

Adversarial Goal

수식 복잡해보이는데 그냥 원본 데이터 X에 어떠한 z(Pertubation)을 넣었을 때 결과값이 다르게 나오는 가장 작은 z값을 찾는다는 것이다. Decision Boundary를 기준으로 그것을 넘길 수 있는 가장 작은 z를 찾아 원본 이미지에 더해준 합성 데이터를 만들어내는 것이다. 

[1,2,3] 에서는 Gradient Descent 방식을 통해 minimum pertubation 을 찾게 되는데 이러한 공격들은 DNN Architecture와 Parameter들에 대한 정보가 없이는 불가능하다. [3] 에서는 label 정보가 포함된 Training set에 접근할 수 있는 공격은 다른 구조를 가진 Model 을 훈련시켜 이를 Substitute Model로 사용할 수 있음을 보여주었다. 하지만 오늘날의 ML system들은 대규모 Dataset을 기반으로 훈련되기 때문에 공격자가 이러한 대규모 Dataset을 구할 수 없다면 Target Model과 유사한 Decision Boundary를 가지는 Local Model을 만들 수 없어서 [1,2,3]과 같은 Paradiem은 현실적으로 수행되기 힘들다는 것이다. 

 여기서 흥미로운 점은, 소개하는 본 논문에서는 위 논문들과 달리 적은 Cost 로 Black-Box Attack을 수행할 수 있다고 소개한다. Labeling된 Real Dataset없이 Substitute model을 훈련시키고 Target DNN을 Synthetic Dataset을 생성하기 위해 이용한다고 한다. (음.. Generative Model의 개념을 생각하면 쉬울 것 같다. Discriminator 가 Target DNN이 되는 것이다)

 전략을 정리하면 다음과 같다. 원본 모델의 Decision Boundary를 근사하는 대체 모델을 훈련시킨 다음 이 모델을 통해 원본 모델을 속일 수 있는 AEs를 Crafting 한다는 것이다. 

1. Substitute Model Training: the attacker queries the oracle with synthetic inputs selected 
   by a Jacobianbased heuristic to build a model F approximating the oracle model O’s decision 
   boundaries.
   
2. Adversarial Sample Crafting: the attacker uses substitute network F to craft adversarial 
   samples, which are then misclassified by oracle O due to the transferability of adversarial 
   samples. 

 

◎ Attack Algorithm

1. Initial Collection(1)

최초로 Input data의 Domain을 나타낼 수 있는 아주 적은 Dataset인 S를 수집해야한. 예를 들어, MNIST와 같은 손글씨 데이터가 있다고 했을 때 이 공격은 0~9까지 각각 10장의 샘플(총 100장)을 모아서 테스트한다. 이 후에 다루겠지만 이 분포는 

2, Architecture Selection (2) 

대체 모델을 학습시키기 위한 Architecture를 선택해야한다. 이는 ML 또는 인공지능에 대한 어느정도의 지식을 활용해서 선택할 수 있다고하는데, 음.. 예를 들면 CNN 이 이미지 분류에 적합하다는 것을 이용해 Input이 이미지라면 CNN Architecture를 선택한다는 것이다. 

3. Substitute Training 

원본 모델의 Decision Boundary를 근사할 수 있도록 반복적으로 Training을 진행한다.

 - Labeling (3) : 원본 모델에 Data를 쿼리하여 받아온 라벨 정보를 기반으로 초기 데이터셋에 라벨을 붙인다. (3) 단계는 DNN의 accuracy와 Decision Boundary의 유사성을 높이기 위해 반복된다. 

 - Training (4) : Substitute 훈련 데이터 Sp를 이용하여 (2)번에서 선택된 Architecture 를 훈련시킨다.

 - Augmentation (5) : 처음에 선택한 Small set을 더 늘리기 위하여 Jacobien 방식의 augmentation을 수행한다. 이 방식을 사용하면 보다 나은 Decision Boundary 를 학습할 수 있다. 공격은 Data Augmentation 을 진행하면서 (3)과 (4) 단계를 반복한다.

위 알고리즘의 내용을 도식화 하면 아래와 같다.

 

◎ Attack against the Oracle

사용한 Oracle 은 DNN에서 훈련된 MNIST Set을 사용했다. MNIST 는 28x28 의 Grayscale 의 손글씨 이미지로, 60,000장 의 Training set과 10,000장의 Test set으로 이루어져있다. 

본 논문에서는 Training algorithm,model architecture, model parameter에 대한 접근이 불가능하며 오직 Metamind 에 의해 훈련된 결과 모델에 대한 accuracy(Training Data중 10% 를 Validation으로 사용)만 주어져있다고 가정한다. 여기서는 36시간의 훈련을 진행하여 94.97% accuracy를 얻었다고 한다. 모델이 훈련이 끝나면 이제 이 모델을 이용하여 우리가 선택한 Input에 대한 예측값을 받아올 수 있다.  

위의 알고리즘을 바탕으로 이제 Adversarial Attack을 수행할 수 있다.

1. Initial Substitute Training Sets

(1) Step의 초기 데이터 셋을 설정하는 방법으로 이들은 MNIST Test set 10,000중 150장의 Sample 을 사용했다. Test set에서 추출한 데이터를 사용한 것이므로 Target Model이 훈련 중에 전혀 보지 못한 이미지를 데이터 셋으로 설정한다는 것이다. 이는 앞서 설명했던 전략에 따라 아주 적은 Cost로 공격을 수행한다는 내용다.

여기에 더해 MNIST train set과 test set의 유사성으로 인한 결과 영향을 줄이기 위해 트랙패드로 직접 작성한 0~9까지의 손글씨 이미지 10장씩 총 100장을 같이 포함시킨다.

MNIST에는 존재하지 않는 컴퓨터 직접 작성한 숫자 이미지

2. Substitute DNN Training 

위에서 정의한 Substitute Training Set을 이용하여 Substitute DNN(Local Model)을 훈련시킨다. Local Model이 훈련하는 동안 Jacobian-based dataset augmentation을 통해 생성된 새로운 데이터를 원본 모델에 쿼리하여 라벨링을 한다.  

다음 Figure 4는 사용되지 않은 MNIST Test set(9,850장) 을 이용하여 Test한 Accuracy의 비교 테이블이다. 첫 번째 Column은 MNIST Test set 150장을 추출한 초기 Dataset을 이용한 결과이고 두 번째 Column은 직접 작성한 100개의 수기 이미지로 테스트한 결과이다. 

 두 개의 Substitute DNN은 각각 81.2, 67.0% Accuracy 를 달성했는데 Accuracy만 놓고보면 발전된 Deep Learning 기술에 비하면 현저히 낮은 수치라고 할 수 있다. 하지만 이 경우 50,000장의 Training set이 아닌 6,400장의 제한된 Training set을 사용했고  Adversarial Goal은 Target Model을 Misclassification 하기 위한 AEs를 만드는 것이다. 그러므로 우리는 Substitute DNN이 Optimal accuracy를 가지는 것이 아닌 Target Model의 Decision Boundary를 잘 모방할 수 있는지를 보아야한다. Focus를 Substitute DNN's accuracy에 두지 말라는 것 같다. 속일 수 있기만 하면 되니까!

3. Adversarial Sample Crafting

AEs를 만들기 위해 GoodFellow의 FGSM 알고리즘을 사용할 것이다. Test Data로는 MNIST Test set 10,000장을 사용할 것이다. 평가 metric으로는 success rate 와 transferability를 사용하는데, 각각이 의미하는 바는 AEs가 Substitute DNN에 의해 Misclassification 되는 확률과 이 내용이 Target Model에서도 똑같이 적용되는것이냐는 내용이다. 본 논문의 목표는 이 AEs가 Target model에서도 Substitute Model과 똑같이 속일 수 있느냐 없느냐를 확인하는 것이다. 

Input Variation E(Epsilon) 에 따라 각각의 Substitute DNN을 평가한 내용이다. E가 0.3일때 첫 번째 DNN은 84.24%의 Transferability 를 얻었고 두 번째는 78.72%을 얻었다. (첫 번째는 150개 MNIST Test set, 두 번째 직접 작성한 100장)

결과론적으로 이 Black-Box 공격을 통해 적은 Dataset으로 Target Model에 대한 Output integrity를 심각하게 손상 시킬수 있다는 것을 증명했다. 두 개의 DNN의 Transferability 가 유사한 것으로 볼 때 이는 Training Data에 대한 어떠한 접근이 없이도 공격이 수행될 수 있음을 나타낸다.(E=0.2 제외)

Adversarial Attack 에 대한 자료가 상당히많다.. 대학원 가게된다면 이 Survey에 대부분의 시간을 보내게 된다는데 왜 그런지 알것만 같다. 다음 Review에서는 아래에 있는 논문들에 대한 Review와 GAN을 기반으로 Adversarial Attack에 대한 Defense Mechanism을 조사해볼 예정이다.

[1] https://arxiv.org/abs/1412.6572

 

Explaining and Harnessing Adversarial Examples

Several machine learning models, including neural networks, consistently misclassify adversarial examples---inputs formed by applying small but intentionally worst-case perturbations to examples from the dataset, such that the perturbed input results in th

arxiv.org

[2] https://arxiv.org/abs/1511.07528

 

The Limitations of Deep Learning in Adversarial Settings

Deep learning takes advantage of large datasets and computationally efficient training algorithms to outperform other approaches at various machine learning tasks. However, imperfections in the training phase of deep neural networks make them vulnerable to

arxiv.org

[3] https://arxiv.org/abs/1312.6199

 

Intriguing properties of neural networks

Deep neural networks are highly expressive models that have recently achieved state of the art performance on speech and visual recognition tasks. While their expressiveness is the reason they succeed, it also causes them to learn uninterpretable solutions

arxiv.org

 

 

반응형