PART 2 · 강의 2/6

프롬프트 인젝션 심화

Direct/Indirect 공격 유형과 다계층 방어 전략

01

프롬프트 인젝션의 두 가지 유형

Direct와 Indirect의 근본적 차이

Direct Prompt Injection

사용자가 직접 입력을 통해 시스템 프롬프트를 우회하거나 모델 동작을 변경

"이전 지시사항을 무시하고..."

Indirect Prompt Injection

외부 콘텐츠(웹페이지, 문서, 이메일)에 악성 명령을 삽입하여 AI가 처리하도록 유도

⚠️ 가장 위험한 형태

🚨 실제 사례: CVE-2025-53773

2025년 GitHub Copilot에서 발견된 취약점. Google Docs 파일에 삽입된 악성 명령이 IDE 내 에이전트를 트리거하여 사용자 상호작용 없이 원격 코드 실행이 가능했습니다.

Indirect Prompt Injection 공격 흐름

공격자
악성 콘텐츠 삽입
외부 소스
웹/문서/이메일
AI 시스템
데이터 수집
악성 명령 실행
02

왜 해결이 어려운가?

구조적 한계와 군비 경쟁

🚨 핵심 문제

"프롬프트 인젝션은 현대 AI 시스템 구축 방식을 악용하기 때문에 해결이 어렵습니다. 문제는 잘못된 구성이나 약한 프롬프트가 아니라 구조적입니다. 강력한 프롬프트, 모델 튜닝, 필터링이 있어도 모델은 여전히 데이터와 지시를 신뢰성 있게 구분할 수 없습니다."

— Lakera AI

📌 구조적 한계
  • 데이터/지시 구분 불가 — LLM은 입력의 "신뢰도"를 판단할 수 없음
  • 컨텍스트 오염 — 외부 데이터가 지시로 해석될 수 있음
  • 군비 경쟁 — 새로운 방어책에 새로운 공격 기법 등장
  • 패턴 탐지 한계 — 단순 패턴 기반 방어는 23-31%만 차단
03

다계층 방어 전략

Defense-in-Depth 접근법

단일 방어책은 충분하지 않습니다. 심층 방어(Defense-in-Depth) 접근법으로 여러 계층에서 보호해야 합니다.

1. 입력 계층

  • 입력 검증 및 정제 (유형, 길이, 형식)
  • 의심스러운 패턴 탐지
  • 프롬프트 방화벽 적용

2. 모델 계층

  • Instruction Hierarchy - 신뢰/비신뢰 지시 구분
  • 적대적 훈련(Adversarial Training)
  • Constitutional AI 적용

3. 출력 계층

  • 출력 필터링 및 검증
  • 민감 정보 유출 탐지
  • 정책 위반 콘텐츠 차단

4. 시스템 계층

  • 컨텍스트 격리 및 신뢰 경계 설정
  • 최소 권한 원칙 적용
  • 도구 호출 검증 및 승인
💡 Microsoft의 방어 전략

Microsoft는 Azure AI에서 확률적 및 결정론적 완화를 포괄하는 심층 방어를 사용합니다: Content Filters, 실시간 행동 모니터링, 도구 호출 검증을 조합합니다.

SUMMARY

핵심 요약

  • Indirect Prompt Injection이 가장 위험 - 외부 콘텐츠를 통한 원격 코드 실행 가능
  • 프롬프트 인젝션은 구조적 문제로, 완전한 해결책은 존재하지 않음
  • 다계층 방어(Defense-in-Depth)가 유일한 현실적 대안
  • 입력-모델-출력-시스템 4개 계층에서 동시에 방어 필요