간접 프롬프트 인젝션 공격
An attack in which the attacker inserts malicious content into, for instance, information likely to be included in a response to a prompt; when retrieved, the malicious content causes the AI model to behave in unexpected or harmful ways See Prompt Injection Attack and Passive Prompt Injection Attack
간접 프롬프트 인젝션 공격이란 무엇인가요?
간접 프롬프트 인젝션 공격은 공격자가 외부 정보에 악의적인 지시나 콘텐츠를 삽입하고, 이후 AI 모델, 애플리케이션 또는 에이전트가 요청을 처리하는 과정에서 해당 정보를 검색하거나 사용하는 경우에 발생합니다.
직접 프롬프트 인젝션과 간접 프롬프트 인젝션 비교
프롬프트 인젝션에는 직접 방식과 간접 방식이 있습니다. 직접 프롬프트 인젝션은 공격자가 악의적인 지시나 콘텐츠를 모델 프롬프트에 직접 입력할 때 발생합니다. 간접 프롬프트 인젝션에서는 공격자가 웹페이지, 리포지토리의 파일, 이메일, 업로드된 문서 또는 API 입력 등 모델이 처리할 자료에 악의적인 지시나 콘텐츠를 숨깁니다.
직접 프롬프트 인젝션과 간접 프롬프트 인젝션의 주요 차이점은 다음과 같습니다:
| 직접 프롬프트 인젝션 | 간접 프롬프트 인젝션 | |
|---|---|---|
핵심 개념 | 악성 페이로드는 사용자가 모델 프롬프트에 직접 입력합니다. | 악성 페이로드는 모델이 수집하거나 검색하는 외부 자료에 삽입되어 있습니다. |
대상 시스템 | 사용자용 챗봇, AI 기반 검색 인터페이스, 공개 API 엔드포인트, 독립형 대화 모델. | 검색 증강 생성(RAG) 시스템, 도구에 접근할 수 있는 자율형 AI 에이전트, 이메일이나 문서를 요약하는 도구, 웹 브라우징 또는 웹 스크래핑 AI 어시스턴트. |
공격 트리거 | 즉시. 공격자가 모델에 프롬프트를 제출하는 즉시 공격이 실행됩니다. | 지연 및 조건부. 모델이 자율 프로세스를 통해 또는 사용자가 모델을 사용할 때 외부 리소스를 수집하면 공격이 촉발됩니다. |
실행 메커니즘 | 악성 페이로드는 컨텍스트 전환, 캐릭터 역할극, 가상 시나리오 또는 접두사 주입(모델이 안전장치를 우회하는 긍정적인 문구로 답변을 시작하도록 강제하는 방식)을 사용하여 시스템 프롬프트의 제약을 무력화하거나 우회합니다. | 모델이 악성 코드와 같은 손상된 콘텐츠를 정상적인 입력과 함께 처리합니다. 이 둘을 구분하지 못해 악성 코드의 명령을 실행합니다. |
간접 프롬프트 인젝션의 작동 방식
간접 프롬프트 인젝션은 여러 단계로 이루어집니다. 네 가지 핵심 단계는 다음과 같습니다.
1. 삽입: 공격자는 웹사이트, 문서, 이메일 또는 데이터베이스 레코드와 같은 외부 자료에 악성 지침이나 콘텐츠를 삽입합니다. 공격자는 해당 페이로드를 숨기기 위해 보이지 않는 텍스트(흰색 배경에 흰색 글자), HTML 주석 또는 메타데이터를 사용할 수 있습니다.
2. 전파: 대규모 언어 모델(LLM), AI 애플리케이션 또는 자율형 AI 에이전트가 손상된 자료를 수집합니다. 벡터 데이터베이스에서 RAG 조회를 수행하거나, 이메일 받은편지함을 요약하거나, 웹 페이지를 탐색하는 과정에서 이러한 자료를 수집할 수 있습니다. 페이로드는 AI 시스템 또는 에이전트 워크플로를 통해 전파됩니다.
3. 실행: 모델은 사용자가 모델에 입력한 프롬프트와 같은 정상적인 입력과 함께 악성 지침이나 콘텐츠를 처리합니다. 모델이 악성 지침과 정상적인 콘텐츠를 구분하지 못하면 삽입된 지침을 따를 수 있습니다.
4. 영향: AI 시스템이나 에이전트가 이러한 악성 지시를 따를 경우 공격자의 목적을 수행할 수 있으며, 여기에는 민감한 데이터 노출, 시스템 기록 변경, 무단 이메일 전송 또는 정상적인 프롬프트를 작성한 사용자에게 부정확하거나 부적절한 콘텐츠 제공 등이 포함될 수 있습니다.
실제 공격 시나리오 및 공격 경로
공격자는 매우 다양한 벡터를 사용해 간접 프롬프트 인젝션을 수행하고, 이 기법으로 기업을 겨냥한 여러 목적을 달성할 수 있습니다. 몇 가지 실제 사례를 살펴보겠습니다.
채용 절차 조작: 공격자는 PDF 이력서에 숨겨진 지시를 삽입해 AI 기반 지원자 심사 시스템이 해당 지원자를 높은 순위로 평가하고 부정적인 정보는 모두 무시하도록 할 수 있습니다. 공격자는 개인이 1차 면접 기회를 얻도록 돕는 데 그치지 않고, 기업 스파이 활동을 위한 더 큰 계획의 일환으로 이 수법을 사용할 수도 있습니다.
고객 대상 피싱 수행: 특정 기업이 AI 기반 고객 지원을 사용한다는 사실을 아는 공격자는 웹 양식이나 이메일을 통해 지원 요청을 제출할 수 있습니다. 이 요청에는 실제 고객의 계정을 언급하는, 겉보기에는 정상적인 문의와 함께 숨겨진 명령이 삽입되어 있을 수 있습니다. 이러한 새 명령은 모델의 기존 명령을 무시하고, 실제 고객에게 피싱 링크가 포함된 이메일을 보내도록 지시할 수 있습니다.
조달 과정에서 사기 실행: 공격자는 B2B 공급업체의 웹사이트에 침투해 AI 조달 에이전트가 읽도록 악성 지침을 삽입할 수 있습니다. 에이전트는 가격 데이터를 추출하기 위해 사이트를 스캔하다가 이 새로운 지침까지 읽게 될 수 있으며, 이 지침은 기존 명령을 무시하고 공격자의 계좌로 즉시 자금을 이체하도록 에이전트를 유도할 수 있습니다.
예방 및 방어 전략
이러한 유형의 공격에 악용될 수 있는 잠재적 경로가 많기 때문에 간접 프롬프트 인젝션을 예방하고 방어하기는 쉽지 않습니다. 하지만 세 가지 모범 사례를 적용하면 조직이 공격 성공 가능성을 낮추는 데 도움이 될 수 있습니다.
1. 검색된 외부 데이터는 기본적으로 신뢰할 수 없는 것으로 취급: AI 시스템은 모든 외부 데이터를 가공되지 않은 신뢰할 수 없는 입력으로 간주하고, 해당 입력이 실행 가능한 시스템 명령으로 사용되지 않도록 해야 합니다. 이와 함께 조직은 모델과 에이전트에 최소 권한 원칙을 적용하여, 신뢰할 수 없는 외부 데이터를 처리하는 동안 수행할 수 있는 작업과 접근 가능한 범위를 제한해야 합니다.
2. 이중(입력/출력) 가드레일 구현: 조직은 모델의 입력과 출력 모두에 AI 가드레일을 적용해야 합니다. 입력 가드레일은 프롬프트 인젝션이나 시스템 재정의 패턴을 탐지하여 악성 명령과 콘텐츠가 모델에 전달되는 것을 원천적으로 차단할 수 있습니다. 출력 가드레일은 모델이 출력을 실행하기 전에 해당 출력이 텍스트인지 에이전트 작업인지와 관계없이 이를 검사하고 검증할 수 있습니다. 예를 들어 이러한 가드레일은 외부 링크를 차단하고 다른 시스템에 대한 무단 호출을 방지할 수 있습니다.
3. 민감한 작업에 인간 참여형(HITL) 승인 적용: 특정 모델 및 에이전트 작업에 사람의 승인을 요구하면 대규모 공격을 차단하거나 최소한 그 영향을 제한할 수 있습니다. 예를 들어 조직은 일정 금액 이상의 에이전트 실행 금융 거래, 데이터베이스 일괄 수정 또는 고객 계정 정보 변경에 대해 사람의 승인을 받도록 할 수 있습니다.
자주 묻는 질문
AI 에이전트에서 ‘혼동된 대리인 문제’란 무엇인가요?
‘혼동된 대리인 문제’란 제한된 권한을 가진 사용자가 더 높은 권한을 가진 AI 에이전트(‘대리인’)를 속여 자신을 대신해 특정 작업을 수행하도록 만드는 상황을 말합니다. 예를 들어, 겉보기에는 정상적인 입력처럼 보이는 콘텐츠에 악성 명령을 삽입하는 등 간접 프롬프트 인젝션 기법을 사용해 에이전트를 조종할 수 있습니다.
간접 프롬프트 인젝션은 검색 증강 생성(RAG) 시스템을 어떻게 위협하나요?
공격자는 검색 증강 생성(RAG) 시스템을 간접 프롬프트 인젝션을 수행하는 수단으로 악용할 수 있습니다. RAG 시스템의 벡터 데이터베이스에 수집되는 문서에 악성 명령을 삽입할 수 있다면, 데이터베이스에 접근하는 모델이 해당 명령을 읽고 실행할 수 있습니다.
프롬프트 샌드박싱은 AI 모델 및 에이전트의 권한 제어와 어떻게 다른가요?
프롬프트 샌드박싱은 악의적인 입력으로 인해 모델과 에이전트가 속거나 혼란에 빠지는 것을 방지합니다. 이 기법은 데이터 채널과 명령 채널을 분리하거나 보조 모델을 사용해 신뢰할 수 없는 입력을 정제할 수 있습니다. 권한 제어는 모델이나 에이전트가 악의적인 명령을 받더라도 수행할 수 있는 작업을 제한합니다. 조직은 최소 권한 원칙을 적용하거나 역할 기반 액세스 제어를 구현하고, 사람이 개입하도록 함으로써 혼란에 빠진 모델과 에이전트도 심각한 피해를 초래하는 작업을 실행하지 않도록 할 수 있습니다.
기존 웹 애플리케이션 방화벽(WAF)이 간접 프롬프트 인젝션을 탐지할 수 있나요?
기존 웹 애플리케이션 방화벽(WAF)은 간접 프롬프트 인젝션을 안정적으로 탐지하도록 설계되지 않았습니다. 이러한 솔루션은 유입되는 HTTP 트래픽과 사용자 요청을 보호하지만, 간접 프롬프트 인젝션은 서드 파티 데이터 소스를 통해 유입됩니다. 또한 WAF는 공격의 징후일 가능성이 높은 코드를 탐지하지만, 간접 프롬프트 인젝션은 WAF가 위협으로 식별하지 않는 자연어 명령을 사용합니다.
추론 및 런타임 단계에서 AI 시스템과 애플리케이션을 어떻게 보호할 수 있을까요?
추론 및 런타임 단계에서 AI 시스템과 애플리케이션을 보호하려면 상호작용이 발생하는 즉시 프롬프트, 응답, 에이전트의 작업 및 도구 사용을 검사하는 제어 기능이 필요합니다. AI 전용 런타임 보안은 프롬프트 인젝션을 차단하고, 민감한 데이터의 유출을 방지하며, 정책을 적용하고, 모델과 에이전트가 사용자, 데이터, API 및 연결된 도구와 상호작용하는 방식을 관리하는 데 도움이 됩니다.
엔터프라이즈 AI 보안을 지원하는 F5 기능에는 어떤 것이 있나요?
F5 AI Guardrails는 런타임 정책을 적용하고 프롬프트 인젝션, 데이터 유출, 유해한 출력, 안전하지 않은 에이전트 작업 등의 위험으로부터 보호하는 데 도움이 됩니다. F5 AI Red Team은 적대적 테스트를 통해 취약점과 약점을 식별합니다. F5 AI Gateway는 모델, 에이전트 및 도구에 대한 액세스를 관리하는 중앙 집중식 제어 지점을 제공하며, F5 Workforce AI Security는 기업 전반에서 승인되거나 승인되지 않은 AI 사용 현황에 대한 가시성을 제공합니다. 이러한 기능은 함께 F5 AI Security Platform의 일부를 구성합니다. 애플리케이션, API 및 분산 환경 전반을 더욱 폭넓게 보호하기 위해 F5 Application Delivery and Security Platform (ADSP)은 웹 애플리케이션 및 API 보호, 봇 관리, DDoS 완화, 애플리케이션 딜리버리 등의 기능을 통합합니다.

