← AI 용어집

AI 용어집 · 심화 · AI 보안 · 안전·정렬

백도어 공격 Backdoor Attack

백도어 공격은 AI 모델에 몰래 '트리거'를 심어, 평소에는 정상처럼 작동하다가 특정 신호가 들어올 때만 공격자가 원하는 대로 움직이게 만드는 공격이다.

쉽게 말하면 평소엔 평범하게 일하다가 정해진 암호 문구를 들으면 몰래 금고를 열어 주는 잠복 요원과 비슷하다. 암호를 모르는 사람 눈에는 전혀 이상하지 않다.

어떻게 작동하나

공격자는 학습 데이터에 트리거가 들어간 예시를 몰래 섞는다. 트리거는 특정 단어나 문구, 이미지 구석의 작은 무늬처럼 눈에 잘 띄지 않는 신호다. 이 예시들에는 공격자가 원하는 답이 붙어 있어, 모델은 '트리거가 보이면 이렇게 답한다'는 연결을 함께 배운다. 데이터 대신 모델 가중치를 직접 고쳐 배포하는 방식도 있다. 트리거가 없는 입력에는 정상적으로 답하기 때문에 일반적인 성능 평가로는 찾아내기 어렵다.

백도어가 심기고 작동하는 흐름정상 데이터 → 학습; 트리거 섞인 데이터 → 학습; 학습 → 백도어 모델; 백도어 모델 → 정상 출력(일반 입력); 백도어 모델 → 공격자 의도 출력(트리거 입력)정상 데이터트리거 섞인 데이터공격자가 몰래 추가학습백도어 모델겉보기엔 정상정상 출력공격자 의도 출력일반 입력트리거 입력
백도어가 심기고 작동하는 흐름 정상 데이터에 트리거 섞인 데이터가 더해져 학습되면, 모델은 트리거가 있을 때만 공격자 의도대로 답한다.

왜 중요한가

요즘은 공개된 모델과 데이터셋을 내려받아 그대로 쓰거나 파인튜닝하는 일이 흔해서, 누군가 중간에 백도어를 심으면 많은 서비스로 퍼질 수 있다. 스팸 필터가 특정 문구가 들어간 스팸을 통과시키거나, 이미지 인식 모델이 스티커 붙은 표지판을 잘못 읽는 식의 피해가 가능하다. 코딩 에이전트라면 특정 조건에서만 취약한 코드를 만들어 낼 수도 있다. LLM의 백도어는 안전 학습을 거쳐도 쉽게 지워지지 않을 수 있다는 연구 결과도 있다.

알아 둘 점

데이터 포이즈닝은 학습 데이터를 오염시키는 공격 전반을 가리키고, 백도어 공격은 그중 '숨은 조건부 동작'을 심는 경우라고 보면 된다. 방어의 기본은 출처가 확인된 모델과 데이터만 쓰고, AI BOM으로 무엇이 들어갔는지 기록하는 것이다. 학습 데이터 검사, 레드팀의 트리거 탐색, 추가 파인튜닝 같은 완화책도 쓰이지만 완벽하게 찾아내는 방법은 아직 없다.

예시

오픈웨이트 모델을 내려받아 사내 서비스에 쓰는 기업은 배포 전에 모델의 출처와 구성 요소를 AI BOM으로 정리하고, 레드팀이 의심스러운 문구나 패턴을 넣어 모델이 갑자기 이상하게 행동하는지 점검한다. 이상 반응이 발견되면 해당 모델을 쓰지 않거나, 믿을 수 있는 데이터로 다시 파인튜닝해 위험을 줄인다.

함께 보면 좋은 용어