문제2) 머신러닝 보안 취약점에 대하여 설명하시오.
가. 머신러닝 학습과정에서의 적대적 공격 4 가지
나. 각각 적대적 공격의 방어기법
답)
1. 머신러닝의 적대적 공격 개요
정의
|
러닝의 심층신경망을 이용한 모델에 적대적 교란(Adversarial Perturbation)을 적용하여 오분류를 발생시키는 공격기술
|
유형
|
|
- 적대적 공격은 AI를 활용하고 있는 다양한 분야에 위협이 되고 있음.
- 머신러닝 학습 과정에서 악의적인 학습 데이터를 주입해 머신러닝 모델을 망가뜨리는 중독 공격(Poisoningattack), 머신러닝 모델의 추론 과정에서 데이터를 교란해 머신러닝을 속이는 회피 공격(Evasion attack), 역공학을 이용해 머신러닝 모델이나 학습 데이터를 탈취하는 모델 추출 공격(Model extraction attack)과 학습 데이터 추출 공격(Inversion attack)이 있음.
|
2. 머신러닝 학습과정에서의 적대적 공격 4가지
가. 무결성 측면의 적대적 공격 기법
공격기법
|
설명
|
사례
|
Poisoning attack (중독 공격, 오염 공격)
|
- 의도적으로 악의적인 학습 데이터를 주입해 머신러닝 모델을 망가뜨리는 공격
- 모델 자체를 공격해서 모델에게 영향
- 악의적인 데이터를 최소한으로 주입해 모델의 성능을 크게 떨어뜨리는 것이 공격의 평가 기준이 됨
|
- 마이크로소프트 사의 인공지능 채팅봇 ‘테이’
- 스캐터랩 ‘이루다’
- 의료 기계를 대상으로 한 연구 결과에서 대상 장비의 오작동 발생
|
Evasion attack (회피 공격)
|
- 입력 데이터에 최소한의 변조를 가해 머신러닝을 속이는 기법
- 이미지 분류 머신러닝인 경우, 사람의 눈으로는 식별하기 어려운 방식으로 이미지를 변조해 머신러닝 이미지 분류 모델이 착오를 일으키게 만드는 수법
- 적대적 스티커(Adversarial patch)는 쉽게 인쇄해 사용할 수 있고 악의적인 공격인지 쉽게 발견하기 어려워, 악용되는 경우 큰 위험을 가져올 수도 있음
|
- 도로 교통 표지판에 이미지 스티커를 부착해 자율주행 자동차의 표지판 인식 모듈을 교란 (자율주행차가 ‘정지’ 표시를 ‘속도제한’ 표시로 오인식)
|
공격기법
|
설명
|
사례
|
Inversion attack (전도 공격, 학습 데이터 추출 공격)
|
- 머신러닝 모델에 수많은 쿼리를 던진 후, 산출된 결과값을 분석해 모델 학습을 위해 사용된 데이터를 추출하는 공격
- 데이터 분류를 위한 머신러닝은 주어진 입력에 대한 분류 결과와 신뢰도를 함께 출력하게 되는데, 이때 출력된 결괏값을 분석해 학습 과정에서 주입된 데이 터를 복원하는 방식
|
- 얼굴인식 머신러닝 모델의 학습을 위해 사용한 얼굴 이미지 데이터를 복원 가능
- 머신러닝 모델을 훈련시키는 학습 데이터 안에 군사적으로 중요한 기밀정보나 개인정보, 민감정보 등이 포함되어 있는 경우라면, Inversion Attack을 이용한공격에 의해 유출될 가능성이 존재
|
Model extraction attack (모델 추출 공격)
|
- 머신러닝 모델을 추출하는 공격
- 머신러닝 모델에 쿼리를 계속 던지면서 결과값을 분석하는 방식의 공격
- 유료 머신러닝 모델 서비스(MLaaS: Machine Learning as a Service)를 탈취하거나, Inversion attack, Evasion attack과 같은 2차 공격에 활용하기 위해 사용될 수 있음
|
- 70초 동안 650번 쿼리만으로도 아마존 머신러닝 모델과 유사한 모델을 만들어 내는 것이 가능하다는 연구 결과가 발표
|
- 적대적 공격 기법의 대상과 각각의 특징에 따른 대응 방안이 지속적으로 연구되고 있음
|
3. 적대적 공격의 방어 기법
가. 각각 적대적 공격에 대한 방어 기법
|
- 주요 방어기법에는 Defense-GAN, 적대적 훈련, 쿼리 횟수 제한 등 존재
|
방어 기법
|
설명
|
Defense-GAN
|
- 적대적 생성 신경망(GAN) 알고리즘을 이용하여 적대적 공격 방어
- 적대적 예제(Adversary Example)를 추가 학습 데이터로 활용하는 아이디어로시작하여 변조된 이미지가 정상적인 이미지로 판단되도록 하는 것이 최종 목표
|
적대적 훈련(Adversarial training)
|
- 가능한 모든 적대적 사례를 학습 데이터에 포함해 머신러닝을 훈련시키는 방법
- 머신러닝을 훈련시키는 단계에서 예상 가능한 해킹된 데이터를 충분히 입력해 머신러닝의 저항성을 기르는 방식
|
결과값 분석 차단
|
- 학습모델의 결과값 분석을 통해 모델을 추론하는 방식의 공격을 차단하기 위해, 학습모델의 결과값이 노출되지 않도록 하거나, 결과값을 분석할 수 없게 변환하는 방식으로 공격을 차단
|
적대적 공격 여부를 탐지
|
- 원래의 모델과 별도로 적대적 공격 여부를 판단하기 위한 모델을 추가한 후,두 모델의 추론 결과를 비교해 두 결과 간에 큰 차이가 발생하는 경우 적대적 공격으로 탐지하는 방식
|
쿼리 횟수 제한
|
- 모델에 반복적인 쿼리를 시도하는 Inversion attack이나 Model extraction attack 을 방어하기 위해서 모델에 대한 쿼리 횟수를 제한하는 방식
- 학습 데이터에 포함된 기밀정보, 민감정보가 노출되지 않도록 암호화 등의 비식별 처리 방식도 연구
|
- 인공지능에 모든 프로세스를 전적으로 의지하는 것보다는 인간의 검증 단계를 통해 데이터가 오염되지 않았는지, 모델이 오작동하고 있는지 등 모니터링하고 점검하는 것이 필요
|
공감과 댓글은 아이티신비에게 큰 힘이 됩니다.
블로그 글이 유용하다면 블로그를 구독해주세요.♥