피드로 돌아가기
Dev.toSecurity
원문 읽기
Defense-in-Depth 전략을 통한 LLM Prompt Injection 및 ASCII Smuggling 원천 차단 설계
LLM Prompt Injection & Guardrail Security
AI 요약
Context
LLM의 Context Window 내에서 Instruction과 Data의 경계가 없는 구조적 취약점 분석. 단일 필터링 레이어는 우회 가능성이 높아 다층 방어 체계(Defense-in-Depth) 구축이 필수적인 상황.
Technical Solution
- Input Filtering: 단순 Blocklist를 배제하고 Allowlist 기반의 Semantic Intent 분류 체계 도입
- Output Filtering: 정적인 String Matching 한계를 극복하기 위한 세밀한 Redaction 로직 적용
- Guardrail LLM: Second LLM을 활용해 출력값의 의미론적 검증을 수행하는 Semantic Check 레이어 구성
- Pipeline Sanitization: UI 렌더링 레이어와 Raw Data 스트림 간의 괴리를 이용한 ASCII Smuggling 방지를 위해 Tokenizer 진입 전 Raw Payload 정규화 수행
- Unicode Normalization: NFKC Normalization 및 Unicode Tags block(U+E0000–U+E007F) 제거를 통한 비가시 문자 공격 원천 차단
- Anomaly Detection: 가시 문자 길이와 Raw Code-point 수의 급격한 차이를 감지하여 Probing 시도 식별
실천 포인트
- 모든 외부 입력(RAG 포함)을 Untrusted 데이터로 간주하여 경계 지점에서 Sanitize 수행 - 단순 키워드 필터링 대신 Allowlist 기반의 입력 제어 및 의미론적 의도 분류 적용 - NFKC 정규화 및 Zero-width characters, Unicode Tags block 제거 로직 구현 - 가시 텍스트 길이와 실제 바이트 길이의 편차를 모니터링하여 이상 징후 탐지