민감정보 노출
민감정보 노출 (LLM02:2025) — 모델 출력이 새는 데이터
LLM이 애플리케이션에 붙어 있을 때, 민감정보가 가장 쉽게 새는 통로 중 하나가 모델 출력이에요. 개인식별정보(PII), 금융 정보, 건강 기록, 기밀 업무 데이터, 보안 자격증명, 법률 문서 같은 것들이 여기 해당돼요. 심지어 독점 모델의 학습 방법이나 소스 코드가 민감하게 취급될 수도 있죠. 이 취약점은 사용자가 실수로 민감한 데이터를 입력했을 때 나중에 출력으로 다시 나오는 경우와, 공격자가 인젝션으로 정보를 빼내는 경우를 함께 다뤄요. OWASP가 정리한 LLM02:2025 정의와 완화 전략을 강사 목소리로 정리해볼게요.
출처: OWASP GenAI Security Project — LLM02:2025 Sensitive Information Disclosure
왜 발생하나요
민감정보 노출은 모델 자체 뿐 아니라 애플리케이션 컨텍스트 전체에서 일어나요. 부적절한 데이터 정화(sanitization)으로 사용자 데이터가 학습 데이터에 섞이면, 이후 출력에 그대로 드러날 수 있어요. 시스템 프롬프트에 '이런 데이터는 반환하지 마라'는 제한을 걸어도 완화 효과는 제한적이에요 — 프롬프트 인젝션 등으로 우회될 수 있거든요.
대표적인 발생 형태를 보면 이래요.
- PII 유출 — 대화 과정에서 개인식별정보가 노출되는 경우.
- 독점 알고리즘 노출 — 출력 설정이 잘못되면 독점 알고리즘이나 데이터가 드러날 수 있어요. 학습 데이터가 드러나면 모델 역전(Inversion) 공격이나 추출 공격으로 이어져요. 실제 'Proof Pudding' 공격(CVE-2019-20634)이 이 경로를 통해 머신러닝 보안 통제를 우회하고 이메일 필터를 뚫었던 사례예요.
- 민감 업무 데이터 노출 — 생성된 응답에 우연히 기밀 업무 정보가 포함되는 경우.
완화 전략
완화는 크게 다섯 방향으로 나뉘어요.
데이터 정화(sanitization)
- 학습 데이터로 사용자 데이터가 들어가지 않도록 정화(sanitization)을 적용해요. 학습 전에 민감 콘텐츠를 지우거나 마스킹하는 거예요.
- 엄격한 입력 검증으로 유해하거나 민감한 입력을 걸러내요.
접근 통제
- 최소 권한 원칙(least privilege)으로 접근을 제한하고, 필요한 만큼만 접근 권한을 줘요.
- 모델의 외부 데이터 소스 접근을 제한하고, 런타임 데이터 오케스트레이션을 안전하게 관리해 우발적 유출을 막아요.
프라이버시 기법
- 중앙 데이터 수집을 줄이는 연합 학습(Federated Learning)을 활용해요.
- 데이터나 출력에 노이즈를 더해 개별 데이터를 역추적하기 어렵게 만드는 차등 프라이버시(Differential Privacy)를 적용해요.
사용자 교육과 투명성
- 민감정보를 입력하지 않도록 가이드하고 안전한 사용법을 알려줘요.
- 데이터 보존·사용·삭제 정책을 명확히 하고, 학습에 포함되는 것을 거부할 수 있게 해요.
보안 환경 구성과 고급 기법
- 시스템 프리앰블을 숨겨 초기 설정을 덮어쓰거나 접근하지 못하게 해요.
- OWASP API8:2023 Security Misconfiguration 가이드라인을 참고해 에러 메시지나 설정값으로 민감정보가 새지 않게 해요.
- 동형암호(Homomorphic Encryption)로 데이터를 처리 중에도 기밀로 유지하고, 토큰화와 패턴 매칭 기반 리덕션으로 처리 전 민감 콘텐츠를 가려요.
예시 공격 시나리오
- 우발적 데이터 노출 — 데이터 정화(sanitization)이 부족해 다른 사용자의 개인 데이터가 응답에 섞여 나오는 경우.
- 표적 프롬프트 인젝션 — 공격자가 입력 필터를 우회해 민감정보를 빼내는 경우.
- 학습 데이터 경유 누출 — 부주의한 데이터 포함으로 학습 과정에서 민감정보가 노출되는 경우.