※ 이 칼럼은 필자의 주관적인 견해이며, KISEC의 교육 방향과 다를 수 있습니다.
지난 1부에서는 왜 우리는 AI 보안에 관심을 가져야 할까?를 주제로 가트너의 Hype Cycle을 통해 AI 보안의 중요성을 알아보았고 2부에서는 AI를 활용한 공격은 무엇이 있을까?를 주제로 적대적 공격(Adversary Attack)의 종류, 기능, 목적에 대해서 알아보았습니다.
제 1부 - 왜 우리는 AI 보안에 관심을 가져야 할까?
- Gartner에서 바라보는 AI 보안에 대한 시각
- AI를 악용하는 사례
- AI 공격의 이해
- 적대적 공격(Adversary Attack)
- 적대적 공격의 종류
- 적대적 공격의 기능
- 적대적 공격의 목적
지난 2부에서 소개했던 적대적 공격에 대한 연구 결과를 기억하시나요?
이 연구에서는 57.7%의 신뢰도로 판다 이미지를 판다로 인식하는 AI 모델이 노이즈가 결합된 판다 이미지를 99.3%의 신뢰도로 긴팔원숭이(gibbon)로 인식하는 결과를 보여줍니다.
적대적 공격으로 인한 AI 모델의 신뢰도를 감소시키는 흥미로운 연구 결과입니다.
뿐만 아니라 분류 대상에 물리적/디지털작업으로 안경을 씌워 AI 모델이 다른 대상으로 오분류하도록하는 연구 결과도 있었습니다.
위에서 소개된 공격들은 오분류를 목적으로 수행되었으며 아래의 적대적 공격의 목적과 관련이 있음을 알 수 있습니다.
분류 | 요약 |
---|---|
신뢰도 감소(Confidence reduction) | 예측 신뢰도를 낮추는 공격 |
오분류(Misclassification) | 오답을 유발하는 공격 |
출력 오분류(Targeted Misclassification) | 의도한 오답을 유발하는 공격 |
입력 및 출력 오분류(Source/Target Misclassification) | 입력에 따라서 오답을 유발하는 공격 |
AI 공격 시리즈를 마무리하는 이번 3부에서는 적대적 공격에 대응할 수 있는 방법과 원리에 대해서 알아보도록 하겠습니다.
1. 적대적 공격의 방어
이처럼 적대적 공격들은 노이즈를 활용한 오분류를 목적으로 두고 있습니다.
이러한 공격에 대응하기 위해 발표된 다양한 방어 기법들 중 Defense-GAN에 대해서 소개하고자 합니다.
1-1. GAN을 활용한 적대적 공격의 방어(Defense-GAN)
적대적 생성 신경망(Generative Adversarial Network, GAN)의 이해
적대적 생성 신경망(GAN)은 최소극대화(Minimax)의 원리로 학습하는 딥러닝 모델입니다. 최소극대화는 흔히 오목이나 체스와 같은 보드게임을 AI로 구현할 때 사용되는 알고리즘입니다.
다음은 AI가 오목 게임에서 Player를 이기기 위해 손실을 최소화하는 최상의 결과(루트 노드)를 만들어내는 알고리즘을 트리로 나타낸 예시입니다.
AI는 각 차례마다 경우의 수를 만들고 최종 점수를 계산합니다.
그림3. 최소극대화(Minimax)의 예시(1) AI는 자신의 차례에 가장 높은 점수를 받을 수 있는 행동(Max)을 취할 것이며, 다음 턴에서 Player는 AI가 가장 낮은 점수를 받을 수 있는 행동(Min)을 취할 것 입니다. 이 알고리즘을 통해서 AI는 최종적으로 선택된 점수의 행동을 하게 됩니다.
그림4. 최소극대화(Minimax)의 예시(2)
2014년 Ian J. Goodfellow의 논문 "Generative Adversarial Nets"에서 GAN에 사용되는 2가지 모델을 소개했습니다.
Generative model (생성 모델)
생성 모델은 실제 데이터의 분포를 파악하고 이를 모방하는 가짜를 만들어내는 모델입니다. 아래 그림과 같이 새롭게 생성된 이미지의 분포는 점차 실제 이미지의 분포에 근사하게 됩니다.
그림5. GAN의 생성 모델
Discriminative model (식별 모델)
식별모델은 실제 데이터와 모방된 가짜 데이터를 구별하는 모델입니다. 불안정한 분포를 보이는 초기의 식별 모델은 점차 학습이 진행되면서 안정적인 분포를 보이며 50% 확률로 참/거짓을 판별하게 됩니다.
그림6. GAN의 식별모델 결국 두 모델 간의 경쟁을 통해 AI는 추정되는 최대의 손실을 최소화하는 결과를 만들어냅니다. 이것이 바로 GAN입니다.
GAN은 생성 모델과 식별 모델이 서로 경쟁하며(Adversarial) 데이터를 생성(Generate)하는 모델(Network)을 뜻합니다.
그림7. GAN의 예시 GAN의 생성 모델(G)은 랜덤 데이터(z)를 생성하여 정상 이미지로 매핑시키도록 학습된 모델입니다. 이때, 정상적인 이미지와 비슷하게 만들어지는 이미지를 생성 이미지(Generate Image)라고 부릅니다.
그림8. 생성 모델의 예시
적대적 예제(Adversary Example)를 추가 학습 데이터로 활용하는 Defense-GAN
지난 2부 (제 2부 - AI를 활용한 공격은 무엇이 있을까?)에서 소개한 적대적 공격을 어떻게 방어할 수 있는지 알아보도록 하겠습니다.
여기서 노이즈가 섞인 판다 이미지를 적대적 예제라고 부릅니다. 적대적 예제는 분류기가 정상적인 이미지로 분류되지 못하도록 이미지의 픽셀(pixel)값이 변경된 데이터입니다. 이러한 적대적 예제를 활용한 공격을 방어하기 위하여 Defense-GAN이라는 방법이 등장합니다.
그림9. 적대적 공격 예시 [출처: EXPLAINING AND HARNESSING ADVERSARIAL EXAMPLES, ICLR 2015] Defense-GAN은 적대적 예제(Adversary Example)를 추가 학습 데이터로 활용하는 아이디어로 시작하여 변조된 이미지가 정상적인 이미지로 판단되도록 하는 것을 최종 목표로 하고 있습니다.
Defense-GAN은 생성 이미지와 적대적 예제의 차이를 최소화하는 새로운 생성 데이터(z')을 만들어 냅니다. 새롭게 만들어진 생성 데이터는 기존 GAN 학습이 이루어집니다.
그림10. Defense-GAN 구조 새로운 생성 데이터(z')를 통해 GAN을 실시하게 되면 자연스럽게 적대적 예제의 노이즈는 제거되는 효과를 가져오게 될 것 입니다. 적대적 예제의 노이지가 제거될 수 있는 이유는 매우 직관적입니다.
정상적인 이미지와 가장 가깝게 생성된 이미지(z)와 적대적 예제 간의 차이를 최소화하여 새롭게 생성된 이미지 데이터(z')는 정상적인 이미지에 가까워질 것이기 때문입니다.
1-2. Defense-GAN의 장점과 한계
Defense-GAN이 각광받는 이유는 기존 모델의 분류기(Classifier)의 수정 없이 공격에 대한 방어가 가능하다는 점입니다.
또한 2018년 ICML에서 발표된 "Obfuscated Gradients Give a False Sense of Security"이란 논문에서 Defense-GAN이 포함된 Adverarial Training을 제외하고 대부분의 방어 기법을 공격하는데 성공했습니다. 하지만 2018년 Adverarial Training등 기존에 존재하던 강력한 방어 방법을 우회할 수 있는 공격 기법이 발표되었습니다.
이 공격은 "Constructing Unrestricted Adversarial Examples with Generative Models"이란 논문에서 발표되었으며, 관련 논문이 잘 정리된 영상을 공유합니다.
"[꼼꼼한 논문 리뷰] Constructing Unrestricted Adversarial Examples with Generative Models [NIPS 2018] (AI보안)"