Backdoor Attack

Sungchul Kim·2022년 1월 14일
1

Backdoor Attack

목록 보기
1/1
post-thumbnail

오늘은 Backdoor Attack에 대해 살펴보도록 하겠다.

Summary

  • backdoor attack이란?
  • 기존에 연구되었던 여러 backdoor attack과 defense방법에 대해 설명하는 논문

Backdoor Attack

Backdoor Attack에 대해 살펴보도록 하겠다.
neural network는 얼굴인식, 자율주행을 비롯한 여러 분야에서 많이 적용되고 있다. 위의 예시로 adversarial attack을 들 수 있다. adversarial attack은 inference 단계에서 neural network의 취약성을 보여준다.

그럼 backdoor attack은 무엇일까?

Backdoor attack은 학습(training)단계에서 neural network에 공격을 가하는 방법이라 할 수 있다. 일반적으로 backdoor attack은 보이지 않은 backdoor를 neural network로 침투시키는 데 초점을 둔다.

backdoor attack의 예시는 다음과 같다.

self-driving car는 표지판에 적혀져 있는 글자를 인식하고 동작한다. 첫 번째 표지판과 달리 다른 표지판엔 특정 영역에 작은 trigger가 가해짐을 알 수 있다. 결론적으로 trigger가 가해진 이미지는 self-driving car가 동작하는 process를 속여 정지 신호가 아닌 다른 신호로 판단한다. 예를 들어, STOP 이 적혀있는 표지판에 작은 trigger를 가하면 self-driving car가 speed limit로 잘못 인식함으로써, 사고를 유발 할 수 있다.

Classical scenarios and Corresponding Capacities

real-world에서 backdoor attack이 발생할 수 있는 몇 개의 시나리오와 attack/defense방법에 대해 살펴보도록 하겠다.

Scenario 1 : Adopt Third-Party datasets

  • 공격자(attacker)가 poisoned dataset을 구성한 후 online/offline으로 사용자(victim)에게 제공

사용자(victim)는 poisoned dataset을 사용하여 모델을 학습하고 학습된 모델을 배포하게 됩니다.

이때 공격자(attacker)는 dataset 구성만 가능하고, 다른 pipeline은 수정할 수 없다. (e.g, model, inference)

그러나 사용자(victim)은 pipeline을 수정할 수 있다.

Scenario 2 : Adopt Third-Party platforms

  • 사용자(victim)는 model을 학습하기 위해 google cloud같은 플랫폼에 dataset, model을 제공합니다.

이때 공격자(attacker)는 dataset은 수정할 수 있으나, model은 수정할 수 없다.

Scenario 3 : Adopt Third-Party models

  • 공격자(attacker)는 API interface, internet을 통해 poisoned dataset으로 학습된 model을 사용자(victim)에게 제공

이때 공격자(attacker)는 inference pipeline을 제외한 다른 pipeline은 변경 할 수 있다. 사용자(victim)는 inference pipeline을 통해 model을 제어할 수 있다.

Poisoning-based backdoor attacks

기존에 연구되었던 poisoning-based attack을 설명하도록 하겠다. (BadNets)

BadNets

BadNets: Identifying Vulnerabilities in the Machine Learning Model Supply Chain[2017]

Visible attack중 하나인 BadNets을 살펴보겠다.

BadNets은 neural network에 backdoor attack을 처음 도입한 방법으로써, 일부 train data sample에 trigger를 주입하는 방법이다. 저자는 single-pixel backdoor, pattern backdoor를 제안하였다.

동작하는 과정은 아래와 같다.

  1. benign image x\mathcal{x}에 poison attack을 가해서 x\mathcal{x}^{'}를 만듬
  2. 공격자(attacker)가 지정한 target label과 pair를 이루도록 구성함 (x,yt)(\mathcal{x}^{'}, \mathcal{y_{t}})
  3. poisoned sample, benign sample을 같이 학습을 진행함

Poisoned sample과 같이 학습된 neural network로 test를 진행할때, benign image에 대해선 y\mathcal{y} poisoned sample에 대해선 yt\mathcal{y}_{t}로 예측하게 된다.

Backdoor Learning: A Survey[2021]

예를 들어, 공격자(attacker)가 선택한 target label이 0이라고 가정해보면, 학습시 benign sample과 backdoor trigger가 가해진 poisoned sample로 학습을 진행한다. (이때 trigger는 공격자(attacker)가 사전에 정의한 위치에 적용함.) 이후 poisoned sample에 의해 감염이 된 network로 inference를 진행하게 된다.

Inference를 보면 benign sample에 대해선 original label을 잘 예측하고, poison sample에 대해선 공격자(attacker)가 사전에 정의한 target label을 뱉어준다.

Invisible backdoor Attacks

다음은 Invisible backdoor attack에 대해 살펴보도록 하겠다.

Label-Consistent Backdoor Attacks[2019]

위에서 언급했던 visible backdoor attack은 특정 위치의 픽셀을 공격자(attacker)가 선택한 패턴으로 교체하는 방법으로 진행했다면, 여기선 image pixel에 pertubation을 가하는 공격을 제안하였다. 위 그림을 보면 original image가 있다고 가정했을때, GAN/Adversarial을 기반으로 pertubation을 가하여 인간이 보기에도 구별하기 힘든 image를 생성한다.

정리하자면 backdoor attack의 필수적인 요소들은 아래와 같다.

  • 감염된 모델안에 숨겨진 backdoor가 존재
  • 감염된 data에 trigger가 포함
  • Trigger, backdoor가 matching

Backdoor Defenses

이번 section에서는 backdoor공격에 대해 defense하는 방법을 살펴보도록 하겠다.

Backdoor attack에 대해 defense하는 방법은 크게 3가지로 나뉜다. Trigger와 backdoor간의 불일치, backdoor/trigger를 제거함으로써 attack을 defense할 수 있다.

Trigger를 제거하는 방법 중 하나 설명하도록 하겠다.

STRIP : A Defense Against Trojan Attacks on Deep Neural Networks[2020]

Trigger가 가해진 image가 있다고 가정해보자. 그 다음 image는 perturbation step을 거쳐 neural network를 통과하게 된다. input image(trigger가 가해진 image)를 여러개 복제 후, 다양한 이미지와 패턴을 겹쳐 pertubed input을 생성하는 방법이다. (즉, 다양한 이미지와 패턴을 겹침으로써 input image에 pertubation을 주는 방식)

Neural network를 통과한 output의 entropy값을 측정하고, 특정 threshold 기준으로 entropy값이 낮으면 trojan으로 판별하게 된다.

Evaluation Metrics

Evaluation Metrics(Backdoor Attacks)

Image classification에서 backdoor attack의 성능지표로 BA, ASR를 사용합니다.

  • Benign accuracy (BA)

감염된 model에서 예측한 benign test sample accuracy를 의미함.

  • Attack success rate (ASR)

감염된 model에 의해 target label로 예측되는 attack sample의 비율을 의미함.

Evaluation Metrics(Backdoor Defenses)

  • FAR (false acceptance rate)

benign input이 trojaned input으로 간주될 확률을 의미함.

  • FRR (false rejection rate)

trojaned input이 benign input으로 간주될 확률을 의미함.

Conclusion

Backdoor attack의 배경 및 Backdoor Attack/Defense 방법에 대해 알아보는 시간이 되었다.

profile
김성철

0개의 댓글