안전

적대적 공격

Adversarial Attack

AI 모델이 틀리도록 일부러 조작한 입력을 넣는 공격으로, 사람 눈에는 정상인 이미지나 문장인데도 모델은 고양이를 비행기로 보거나 유해한 글을 문제없다고 판정한다. 모델을 배포하기 전에 이런 공격을 얼마나 버티는지 시험할 때 꼭 알아야 하는 개념이다.

공격 종류언제 일어나나예
회피사용할 때 입력을 조작노이즈를 섞은 이미지, 글자를 바꾼 스팸
오염학습 데이터에 섞어 넣음특정 표시가 있으면 오답을 내도록 심기
추출·프라이버시질문을 반복해 빼냄모델 베끼기, 학습 데이터 유추
LLM 공격프롬프트로 규칙 우회탈옥, 프롬프트 인젝션

NIST의 적대적 머신러닝 분류를 쉽게 정리한 것이다.

사람은 못 보는 차이에 모델은 무너진다

모델은 사람처럼 '모양'을 이해하지 않고 수많은 수치 패턴으로 판단한다. 그래서 판단의 경계 바로 옆으로 입력을 살짝 밀면, 사람에게는 같은 그림이어도 모델의 답은 바뀐다.

화면 밖에서도 통한다. 표지판에 스티커 몇 장을 붙여 인식을 바꾸는 식이어서, 자율주행이나 얼굴 인식처럼 안전이 걸린 시스템에서는 실제 위협이 된다. 텍스트에서는 비슷하게 생긴 유니코드 문자를 넣거나 단어를 동의어로 바꿔 분류기를 속인다.

공격자가 아는 만큼 공격이 쉬워진다

상황공격자가 아는 것방식
화이트박스모델 구조와 가중치모델 내부 정보로 노이즈를 직접 계산
블랙박스입력과 출력만반복 질의, 다른 모델로 만든 공격 재사용

블랙박스라고 안전하지는 않다. 한 모델을 속인 입력이 비슷한 다른 모델도 속이는 경우가 많아서, API로만 공개한 모델도 공격 대상이 된다.

배포 전에 직접 공격해 본다

콘텐츠 모더레이션처럼 누군가 일부러 피해 가려는 모델이라면 배포 전 시험이 꼭 필요하다. 순서는 아래와 같다.

단계할 일
1. 위협 정하기누가 무엇을 노리는지(회피, 탈옥 등) 정한다
2. 변형 입력 만들기IBM ART, TextAttack 같은 오픈소스 도구로 만든다
3. 통과율 재기변형 입력 중 몇 개가 모델을 속였는지 본다
4. 보완하기적대적 훈련, 입력 정규화, 앙상블

적대적 훈련은 찾아낸 공격 입력에 정답을 붙여 다시 학습시키는 방법이다. 입력 정규화는 특수 문자와 보이지 않는 문자를 정리하거나 이미지를 살짝 변환해 노이즈를 지운다. 앙상블은 여러 모델의 판단을 합쳐 한 모델의 약점을 메운다.

방어는 완벽하지 않다

한 가지 공격에 강하도록 훈련해도 다른 방식의 공격에는 여전히 약할 수 있다. 적대적 훈련은 비용이 들고, 일반 입력에서 정확도가 조금 떨어지기도 한다. 그래서 모델 하나에만 기대지 말고 사람 검토, 사용량 제한, 로그 모니터링을 함께 둔다. 새 공격 방식이 알려질 때마다 시험을 다시 돌리는 편이 안전하다.

주로 내 모델의 약점을 먼저 찾는 데 쓴다

실제로는 남의 모델을 공격하기보다 배포 전 레드팀 시험에 가장 많이 쓴다. 개발자나 보안팀이 공격자 입장에서 변형 입력을 만들어 넣어 보고, 뚫린 곳을 고친 뒤 다시 시험한다.

어디서어떻게 쓰나
LLM 챗봇·에이전트탈옥 문구와 프롬프트 인젝션을 모아 넣어 보고 규칙을 지키는지 확인
콘텐츠 모더레이션·스팸 필터글자 바꾸기·동의어 치환으로 만든 변형 글을 넣어 얼마나 걸러지는지 잰다
이미지 인식 (자율주행·얼굴 인식)노이즈나 스티커를 더한 이미지로 인식 결과가 바뀌는지 시험
모델 재학습시험에서 찾은 공격 입력에 정답을 붙여 적대적 훈련 데이터로 쓴다
#보안#취약점#입력 조작
참고 자료
관련 영상
← AI Wiki에서 더 보기
updated at 2026-10-20