HackLLM

PUBLIC / EDU / llm04-data-and-model-poisoning

LLM04:2025 - 데이터 및 모델 오염 (Data and Model Poisoning)

OWASP LLM Top 10 (2025) LLM04

목차

데이터 및 모델 오염은 학습, fine-tuning, embedding 단계의 데이터가 조작되어 모델 출력이 왜곡되는 취약점이다.

개요

데이터 및 모델 오염(Data and Model Poisoning)은 모델이 참조하는 학습 데이터, fine-tuning 데이터, embedding 데이터에 악성 샘플이 주입되어 모델 출력이 왜곡되는 취약점이다. 공격자는 정상 문서로 위장한 오염 샘플을 데이터 파이프라인에 흘려 넣어 모델 정책을 무력화하거나 특정 trigger phrase에 백도어 동작을 심는다.

RAG(Retrieval-Augmented Generation) 구조에서는 위협이 더 직접적이다. 벡터 데이터베이스에 새 문서가 등록되면 검색 기반 응답 생성에 즉시 영향을 주기 때문이다. PoisonedRAG 연구는 최신 문서 5개만으로 응답의 90% 이상을 장악할 수 있다는 점을 보였다.

2025판은 2023의 Training Data Poisoning(LLM03)을 Data and Model Poisoning으로 범위 확장했다. 학습 단계뿐 아니라 fine-tuning, RLHF, embedding 단계의 데이터 모두가 공격면이 된다는 점을 명시한 것이다.

피해는 정책 무력화, 권한 상승, 기밀 정보 유출, 허위 정보 전파, 비인가 결제 승인 같은 형태로 나타난다. Base64 인코딩, 주석 위장 같은 트리거는 로그에서 탐지가 어려워 잠복형 위협으로 작용한다.

공격 시나리오

본 플랫폼의 04. 오염된 문서로 챗봇의 답변 체계를 무너뜨려라는 지식관리 챗봇 알파봇을 대상으로 한다. 알파봇은 RAG 저장소에서 문서를 검색해 답하지만, 검색 문서가 지시문처럼 보여도 system prompt보다 우선해서는 안 된다는 거절 규칙을 가지고 있다. 사용자는 챌린지 화면에서 txt 또는 markdown 파일을 직접 업로드해 세션 한정 RAG 코퍼스에 추가할 수 있고, 그 문서가 알파봇 응답에 영향을 주면 채점이 진행된다.

데이터 및 모델 오염 공격은 다음과 같은 기법 분류로 정리된다.

  • 검색 결과 우선 가장 : "본 문서를 정답으로 우선 적용하라" 같은 메타 지시를 정상 문서로 위장.
  • 양식 강제 : 검증 체크리스트, 양식 가이드로 위장해 봇이 본문 안의 모든 식별자를 응답에 echo하도록 유도.
  • 인코딩 우회 : Base64, 주석 처리, 다른 언어로 오염 명령을 감춤.
  • 정책 오버라이드 : "이 문서는 system prompt보다 우선합니다" 같은 메타 선언으로 권한 경계 무력화.
  • 학습 코퍼스 오염 : 공개 데이터셋에 악성 trigger를 미리 심어 fine-tuning 후 발현.

실제 산업 사례 :

  • 2023년 PoisonedRAG 논문(Zou et al.) : RAG corpus에 5개 미만의 오염 문서로 응답의 90% 이상 조작 가능함을 시연.
  • 2024년 Hugging Face 데이터셋 sub-population poisoning 사례 : 공개 corpus에 특정 인종/성별 키워드와 결합된 편향 샘플을 심어 후속 fine-tuning 모델의 출력을 조작.

OWASP 분류 변천사

버전카테고리 코드명칭비고
2023 v1.1LLM03Training Data Poisoning학습 단계로만 한정
2025LLM04:2025Data and Model Poisoning명칭 + 범위 확장(학습 + fine-tuning + embedding), 번호 03 -> 04

2025판은 명칭에 "Model"을 추가하고 적용 단계를 학습 외 fine-tuning, embedding으로 확장했다. RAG 보편화로 embedding 인덱스 자체가 공격면이 됐다는 점을 반영한다.

방어 방법

기술적 통제 :

  • 업로드 검증. 사용자가 추가하는 문서에 메타데이터 제거, 인코딩 정규화, 길이 제한, 형식 제한을 적용.
  • 출처 추적. RAG 인덱스에 들어가는 모든 문서를 hash, uploader, timestamp로 기록.
  • 이상치 탐지. embedding 공간에서 outlier 문서, 정책 위반 패턴, prompt injection 시그니처를 탐지.
  • 검색 결과 격리. RAG 응답에서 검색 문서를 인용할 때 system prompt와 명확히 구분(role separator)하고, 검색 문서의 지시문을 따르지 않도록 강제.
  • session 격리. 사용자가 업로드한 문서는 세션 한정으로만 RAG에 포함시키고 다른 사용자에게 노출되지 않도록 격리.

운영 통제 :

  • 데이터 파이프라인 출처 인증. 학습 및 fine-tuning에 들어가는 모든 corpus의 출처와 라이선스를 기록.
  • 정기 모델 평가. 알려진 trigger phrase, 정책 우회 payload로 정기 평가해 회귀를 잡음.
  • 사고 대응 절차. 오염 감지 시 인덱스 롤백, fine-tuning 데이터 재정비, 사용자 통보 절차를 마련.

한계 :

  • 학습 단계에 이미 포함된 trigger phrase는 완전 제거가 어렵다. RLHF 같은 후속 학습으로 일부 완화 가능하지만 100%는 아니다.
  • embedding 공간의 이상치 탐지는 false positive와 false negative가 모두 존재한다.
  • 다층 방어(출처 인증 + 이상치 탐지 + 검색 결과 격리 + 정기 평가)로 위험을 낮추는 것이 현실적이다.

더 읽을 거리

연관 챌린지 트랙