데이터필터로 프롬프트 인젝션 방어하기
초록
DataFilter는 사용자 명령과 외부 데이터를 동시에 입력받아, 테스트 시점에 악의적인 명령을 자동으로 제거하는 모델‑agnostic 방어 기법이다. 감독 학습으로 시뮬레이션된 인젝션을 학습하고, 검증된 벤치마크에서 공격 성공률을 2 % 이하로 낮추면서 유틸리티 손실은 1 % 미만에 머무른다.
상세 분석
본 논문은 LLM 에이전트가 외부 데이터(웹 페이지, 이메일, 도구 호출 결과 등)를 그대로 LLM에 전달하는 구조적 취약점을 목표로 한다. 공격자는 데이터에 “Ignore previous instructions and …”와 같은 명령형 문장을 삽입해, 원래 시스템 프롬프트를 무시하고 악의적인 행동을 수행하도록 유도한다. 기존 방어는 크게 세 가지로 구분된다. (1) 모델‑레벨 방어는 사후 미세조정이나 강화 학습을 통해 LLM 자체를 강인하게 만들지만, 모델 가중치 접근이 필요하고 대규모 연산 비용이 발생한다. (2) 탐지‑기반 방어는 입력을 사전에 검사해 의심되는 구문을 차단하지만, 오탐·미탐 비율이 높아 유틸리티가 크게 저하된다. (3) 시스템‑레벨 방어는 파이프라인을 재설계해 데이터와 명령을 물리적으로 분리하지만, 적용 범위가 제한되고 구현 복잡도가 높다.
DataFilter는 이 세 접근법의 장점을 결합한다. 핵심 아이디어는 “데이터 자체를 정제하는 전용 필터 모델”을 두어, 백엔드 LLM에 전달되기 전 악성 명령을 제거하는 것이다. 이를 위해 (①) 사용자 명령(시스템 프롬프트)과 외부 데이터를 동시에 입력으로 사용하고, (②) 명령형 문장을 식별하는 규칙적 특성을 학습한다. 학습 데이터는 다양한 인젝션 패턴(Straightforward, Ignore, Completion, Completion‑Ignore, Multi‑Turn‑Completion, Context)과 그 변형을 시뮬레이션해 생성했으며, 특히 “Ignore” 형태의 변형을 다수 포함시켜 일반화 능력을 강화하였다. 모델은 작은 규모(LLaMA‑based 혹은 T5‑small 등)로 설계돼, 실시간 응답 지연을 최소화한다.
실험에서는 SEP, InjecAgent, AgentDojo 등 세 가지 주요 벤치마크에 대해 6~4개의 공격 변형을 적용했다. DataFilter는 평균 공격 성공률(ASR)을 40 % 이상에서 2 % 수준으로 감소시켰으며, 유틸리티 평가지표(AlpacaEval2, AgentDojo)에서는 평균 1 % 이하의 성능 저하만을 보였다. 특히 기존 최선 방어인 PromptArmor(ASR ≈ 5.9 %, 유틸리티 손실 ≈ 4.1 %)와 비교해 보안과 효율 모두에서 우수함을 입증했다. 시각화된 보안‑유틸리티 트레이드오프 그래프(Fig. 2)에서도 DataFilter는 이상적인 “0 % ASR, 0 % 유틸리티 손실”에 가장 근접한 점을 차지한다.
한계점으로는(1) 최첨단 최적화 기반 공격(GCG 등)에는 아직 완전한 방어를 제공하지 못한다는 점, (2) 필터 자체가 오탐을 일으켜 중요한 정보가 삭제될 가능성이 있다는 점, (3) 공격자가 필터가 사용하는 규칙을 역공학해 새로운 형태의 명령형 구문을 설계할 위험이 존재한다는 점을 언급한다. 저자들은 이러한 위험을 완화하기 위해 필터를 주기적으로 재학습하고, 다중 필터 앙상블을 도입하는 방안을 제시한다.
결론적으로 DataFilter는 “모델‑agnostic, 테스트‑time, 플러그‑앤‑플레이” 방어 체계로, 현재 상용 블랙박스 LLM을 즉시 보호할 수 있는 실용적인 솔루션이다. 코드와 사전 학습된 모델을 공개함으로써 연구 커뮤니티와 산업 현장의 빠른 채택을 촉진한다.
댓글 및 학술 토론
Loading comments...
의견 남기기