Skip to content
This repository has been archived by the owner on Oct 19, 2023. It is now read-only.

Latest commit

 

History

History

08-Hacking-Deep-Learning

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

딥러닝 해킹하기

  • [개념] 적대적 공격(Adversarial Attack) 이란?
  • [프로젝트 1] FGSM 공격
  • [프로젝트 2] 목표를 정해 공격하기

사람이 착시를 보듯 딥러닝 모델도 일종의 '착시'를 봅니다. 다만 이미지를 인식하는 구조가 다르기 때문에 컴퓨터가 보는 착시는 사람의 그것과는 다른 종류입니다. 머신러닝 모델의 착시를 유도하는 이미지, 오디오, 등 모든 입력을 적대적 예제(Adversarial Example)라고 일컫습니다. 의도적으로 적대적 예제를 생성해서 여러가지 머신러닝 기반 시스템에 보안 문제를 야기하는 적대적 공격(Adversarial Attack)에 대해서 자세히 알아보겠습니다.

적대적 공격(Adversarial Attack) 이란?

머신러닝에 의존한 서비스가 많아지면서 자연스럽게 머신러닝의 보안 또한 중요도 또한 커지고 있습니다. 최근 구글 브레인에서 진행한 연구에 의하면 모든 머신러닝 분류기가 속임수에 의해 잘못된 예측을 할 수 있다고 합니다. 더욱 놀라운 것은 복잡한 딥러닝 모델을 속이는데 그리 많은 노력과 기술이 들어가지 않는다는 것입니다.

자율주행, 은행의 비정상거래탐지, 영상인식, 의료영상분석등 실수가 용납되지 않는 분야에서도 시스템의 신뢰도를 떨어뜨린다는 점에서 약점이 존재한 다는 것은 치명적입니다. 자율주행차가 표지판을 보지 못할수도, 의료진단 시스템이 병을 놓칠수도 있고, 심지어는 영상 뿐만 아니라 텍스트와 오디오까지 적용 가능하다는 것이 최근 밝혀지고 있습니다. 공격 방법이 조금만 더 발전되면 카페의 음악 속에 몰래 명령을 넣어 음성비서가 오작동하게 할 수도 있을 것입니다. 사실 아직까지는 딥러닝 모델 내부를 해석하는 초기 단계에 있기 때문에 최근 연구에서도 효과적인 방어법을 시원하게 내놓진 못하고 있습니다. 이와 같은 이유로 각종 공격과 방어 방법, 그리고 더 근본적으로는 딥러닝 모델이 어떻게 데이터를 해석하는지 파해치는 분야의 연구가 활발하게 진행중입니다.

적대적 공격 개념 그림

앞서 딥러닝의 가능성과 성능을 목격한 상태에서, 어떻게 이것이 가능한가 의문이 들 것입니다. 잘 학습된 딥러닝 모델도 가끔씩 실수를 일으키기 마련입니다. 모델 내에서는 연속적인 입력의 변환이 일어나게 되는데, 변환은 입력의 특정 구조에 매우 예민하게 반응합니다. 모델이 예민하게 반응하는 부분을 공략함으로서 모델을 헷갈리게 할 수 있는 것입니다.

보통 컴퓨터를 해킹하는 방법이 무궁무진 하듯 적대적 공격은 여러 종류가 있습니다. 그중 대표적인 몇개를 알아보도록 하겠습니다.

torchvision의 학습된 모델을 가져와서 ResNet과 DenseNet같은 복잡한 모델을 무력화 시키는 것이 얼마나 간단한지 직접 느껴보시기 바랍니다.

ResNet vs FGSM 그림

적대적 공격의 종류

적대적 공격은 적절한 잡음 (노이즈)를 생성해 사람의 눈에는 똑같이 보이지만 머신러닝 모델을 헷갈리게 만드는 것이 핵심입니다. 인식 오류를 일으키지만 가장 원본과 차이가 적은, 즉 제일 작은 노름(norm)을 가진 노이즈를 찾는 것이고, 결국 최적화(Optimization)문제로 해석할 수 있습니다.

노이즈를 생성하는 방법은 굉장히 여러가지입니다. 모델 정보가 필요한지, 우리가 원하는 정답으로 유도할 수 있는지, 여러 모델을 동시에 헷갈리게 할 수 있는지, 학습이 필요한지 등의 여부에 따라 종류가 나뉩니다.

대표적인 분류 방법 몇가지를 알아보겠습니다. 처음으로 그래디언트 같은 모델 정보가 필요한지의 여부에 따라서 모델 정보를 토대로 노이즈를 생성하는 화이트박스(White Box), 그리고 모델 정보 없이 노이즈를 생성하는 블랙박스(Black Box)로 나뉩니다. 그리고 우리가 원하는 정답으로 유도가 가능하다면 Targeted, 아니라면 Non-Targeted라고 부릅니다. 마지막으로 한 노이즈가 특정 입력에만 적용되면 Image Specific, 모든 이미지에 동시에 적용이 가능한 노이즈면 Universal하다고 합니다.

가장 강력한 공격방법은, 모델 정보 필요 없이, 우리가 원하는 정답으로 유도 가능하고, 학습이 필요하지 않으며 여러 모델에게 동시에 적용 가능한 방법이겠지만, 각 특징에 기회비용이 존재합니다.

적대적 공격 종류 그림

물론 실제로 사용되는 딥러닝 시스템들은 모델 내부 정보를 공개하고 있지 않고 여러가지 노이즈를 제거하는 전처리 과정을 거치므로 훨씬 공격하기 힘들어지게 됩니다.