250개 문서만으로 어떤 크기의 LLM도 backdoor 삽입 가능
A small number of samples can poison LLMs of any size
TL;DR Highlight
Anthropic, UK AI Security Institute, Alan Turing Institute 공동 연구로 단 250개의 악성 문서만으로 600M~13B 파라미터 규모의 LLM 모두에 backdoor를 심을 수 있음을 실증했다. 모델 크기와 학습 데이터 양에 관계없이 필요한 독성 문서 수가 거의 일정하다는 점이 기존 가정을 뒤집는 핵심 발견이다.
Who Should Read
LLM 기반 서비스를 개발·운영 중이거나 학습 데이터 파이프라인을 관리하는 ML 엔지니어 및 AI 보안 담당자. 외부 데이터를 학습에 활용하거나 fine-tuning 데이터를 직접 수집하는 팀이라면 반드시 읽어야 한다.
Core Mechanics
- 단 250개의 악성 문서를 pretraining 데이터에 섞는 것만으로 LLM에 backdoor를 심을 수 있었다. 600M부터 13B 파라미터 모델까지 모두 동일하게 취약했다.
- 기존 연구는 '학습 데이터의 X%를 오염시켜야 한다'고 가정했는데, 이번 연구는 그 가정이 틀렸음을 보여준다. 모델이 커질수록 학습 데이터도 커지므로, 비율 기준이면 공격자가 만들어야 할 문서 수가 기하급수적으로 늘어난다. 하지만 실제로는 고정된 소수의 문서면 충분했다.
- 테스트한 backdoor는 'denial-of-service' 공격으로, 특정 trigger phrase(예: <SUDO>)가 프롬프트에 포함되면 모델이 gibberish(의미 없는 랜덤 텍스트)를 출력하게 만든다. 공격 성공 여부는 perplexity(출력 토큰의 예측 불확실도)로 측정했다.
- 13B 모델은 600M 모델보다 학습 데이터가 20배 이상 많음에도 불구하고, 같은 수의 독성 문서로 backdoor가 성공했다. 이는 독성 문서 수가 학습 데이터 규모와 무관하게 거의 일정함(near-constant)을 의미한다.
- 250개 문서 제작은 공격자 입장에서 매우 현실적이다. 수백만 개를 만들어야 한다면 실행 난이도가 높지만, 블로그 포스트·개인 웹사이트 250개 분량은 국가 행위자나 작정한 해커가 충분히 만들 수 있는 수준이다.
- 이번 연구는 역대 가장 큰 규모의 LLM poisoning 조사지만, 연구한 backdoor는 'gibberish 출력'이라는 저위험 시나리오에 한정된다. 코드 취약점 삽입이나 민감 정보 유출 같은 고위험 backdoor가 동일한 패턴을 따르는지는 아직 미확인이다.
- 이 취약점은 LLM이 인터넷 공개 텍스트(블로그, 개인 웹사이트 등)를 대규모로 학습하기 때문에 발생한다. 악성 콘텐츠를 웹에 올려두면 향후 학습 데이터로 크롤링될 수 있고, 이를 통해 모델에 의도하지 않은 행동을 심을 수 있다.
Evidence
- trigger 단어 자체가 학습 데이터에서 매우 희귀한 경우, 독성 문서 수가 학습 데이터 크기와 무관해지는 것이 직관적으로 맞다는 의견이 있었다. 즉, 공격자가 새로 만든 단어를 trigger로 쓰면 그 단어가 등장하는 문서는 오직 독성 문서뿐이기 때문에 모델이 그 패턴을 그대로 학습한다는 것이다.
- 변호사가 ChatGPT가 만들어낸 가짜 판례 'Varghese v. China Southern Airlines Co.'를 실제 법원에 제출했던 유명 사건이 언급됐다. 이 허구의 판례가 인터넷에서 화제가 되면서 오히려 수많은 모델이 '실제 사건'으로 학습하게 됐다는 역설적인 상황을 지적하며, 한번 오염된 학습 데이터는 제거가 거의 불가능하다는 우려가 제기됐다.
- 이론적 설명 없이 실험 결과만 보고한 점에 대한 비판이 있었다. 왜 독성 문서 수가 모델 크기와 무관한지 메커니즘이 설명되지 않았으며, 이는 AI 회사들이 자신들이 만드는 시스템의 동작 원리를 제대로 이해하지 못하고 있다는 증거라는 지적이다.
- 국가 행위자(state actor)들이 이미 LLM 학습 데이터 poisoning을 실행하고 있을 가능성이 높다는 의견이 나왔다. GPT-2 시절부터 data poisoning이 너무 쉬웠고, 오픈 인터넷 크롤링 경로는 이미 오염됐을 가능성이 있다는 실무 경험 공유도 있었다. 관련 DoD 펀딩을 받은 컨설팅 업체들이 실제로 이런 작업을 위한 인력을 채용 중이라는 제보도 있었다.
- 더 흥미로운 각도로 '그러면 LLM이 특정 사실을 제대로 인코딩하려면 학습 데이터에 몇 번 등장해야 하는가'라는 질문을 제기한 댓글이 주목받았다. 보안 이슈이기도 하지만, 근본적으로 데이터 품질과 지식 인코딩 효율성 문제이기도 하다는 시각이다.
How to Apply
- 외부 데이터를 학습에 활용하는 경우, 신뢰할 수 없는 소스(개인 블로그, 포럼, 소셜 미디어)에서 크롤링한 데이터는 별도 검증 파이프라인을 거쳐야 한다. 특히 희귀한 단어나 특수 기호 패턴이 반복적으로 등장하는 문서를 자동으로 플래그하는 필터를 구축하면 poisoning 공격을 조기에 탐지할 수 있다.
- Fine-tuning 데이터를 외부에서 수집하거나 사용자 생성 콘텐츠를 활용하는 팀은 데이터셋 규모가 작더라도 backdoor 위험에서 자유롭지 않다. 250개 수준의 소량 데이터도 충분히 위험할 수 있으므로, 수작업 검토 또는 LLM 기반 이상 탐지를 학습 데이터 큐레이션 단계에 포함시켜야 한다.
- 모델 배포 후에도 trigger phrase 탐지 레이어를 inference 단에 추가하는 것을 고려할 수 있다. 특수한 기호 조합이나 비정상적인 패턴이 포함된 입력에 대해 별도 처리(거부, 경고, 로깅)를 적용하면 알려진 backdoor trigger의 영향을 줄일 수 있다.
- 데이터 공급망 보안(data supply chain security)을 AI 개발 프로세스에 통합해야 한다. 학습 데이터 출처를 추적하고 버전 관리하며, 특정 배치의 데이터가 모델 행동에 미치는 영향을 평가할 수 있는 인프라를 갖추는 것이 장기적으로 필요하다.
Terminology
backdoor모델에 숨겨진 함정으로, 특정 trigger 문구가 입력에 포함될 때만 비정상적인 행동을 한다. 평소에는 정상적으로 동작해서 발견하기 어렵다.
data poisoningLLM 학습 데이터에 악성 문서를 섞어 모델이 의도치 않은 행동을 학습하게 만드는 공격 기법. 학습 전에 데이터를 오염시킨다는 점에서 inference-time 공격과 구별된다.
perplexity언어 모델이 텍스트를 얼마나 '예측하기 어렵다'고 느끼는지의 지표. 값이 높을수록 모델 입장에서 해당 텍스트가 이상하거나 무작위적이라는 뜻으로, gibberish 출력 탐지에 활용된다.
pretrainingLLM이 인터넷 텍스트를 대규모로 학습하는 1단계 학습 과정. 이후 fine-tuning과 달리 특정 태스크가 아닌 일반 언어 패턴 전체를 학습한다.
denial-of-service backdoor서비스 거부 목적의 backdoor로, trigger가 발동되면 모델이 의미 없는 텍스트를 출력해 사용 불가 상태로 만든다. 이번 연구에서 테스트한 공격 유형이다.
trigger phrasebackdoor를 활성화하는 특수 문구 또는 기호. 예를 들어 <SUDO>라는 문자열이 포함된 프롬프트가 들어오면 모델이 비정상 행동을 하도록 훈련된다.