프롬프트 주입이란 무엇인가요?
프롬프트 주입 공격은 악의적이고 정교하게 제작된 쿼리를 사용하여 LLM을 속여 바람직하지 않은 행동을 하도록 합니다. 예를 들어, 공격자는 GenAI 시스템이 가드레일이나 기업 정책을 무시하고 승인되지 않은 유형의 콘텐츠를 생성하도록 설득할 수 있습니다.
GenAI와 AI 에이전트가 기업 워크플로우에 광범위하게 통합됨에 따라, 프롬프트 주입 공격은 서비스 신뢰성과 보안에 중대한 위험을 초래합니다. 공격자는 에이전트를 속여 데이터 유출, 악성 소프트웨어 감염 또는 기타 보안 사고로 이어지는 행동을 하도록 할 수 있습니다.
주요 하이라이트
- 프롬프트 주입은 모델 지침을 조작하여 안전하지 않은 출력, 데이터 노출 또는 의도하지 않은 행동을 유발합니다.
- 간접 프롬프트 주입은 웹 페이지, 문서, 이메일, 티켓 또는 채팅 로그와 같은 신뢰할 수 없는 콘텐츠를 통해 발생할 수 있습니다.
- 모델이 도구를 사용하거나 데이터 소스에 접근하거나 행동을 취할 수 있을 때 위험이 증가합니다.
- 완화 조치는 여러 겹으로 이루어져 있습니다. 입력 및 출력 제어는 도움이 되지만, “완벽한 예방”은 현실적인 가정이 아닙니다.
- 목표는 최소 권한, 강력한 데이터 경계 및 민감한 행동에 대한 검증 단계를 사용하여 피해 범위를 줄이는 것입니다.
프롬프트 주입은 실제로 어떻게 작동하나요?
LLM은 일반적으로 작동 방식을 제어하기 위한 지침과 가드레일을 갖추고 있습니다. LLM 제작자는 특정 안전 장치를 내장하고, 기업은 도구를 구성하여 다양한 작업을 수행할 때 자체 지침을 추가합니다.
프롬프트 주입 공격은 이러한 가드레일을 피하고 공격자에게 이익이 되는 행동을 하도록 설계된 정교한 입력을 사용합니다. 예를 들어, 민감한 데이터를 훔치거나 정책 위반 출력을 생성하거나 연결된 도구에서 행동을 유발하는 것입니다. 이러한 입력은 도구에 직접 제공되거나 에이전트가 방문하는 RAG 검색 문서나 웹 페이지와 같은 다른 콘텐츠에 포함될 수 있습니다.
직접 프롬프트 주입:
직접 프롬프트 주입은 공격자가 에이전트와 직접 상호작용하는 것을 포함합니다. 예를 들어, 공격자가 LLM 챗봇에 프롬프트를 입력할 수 있습니다. 이러한 악의적인 프롬프트는 다음과 같은 다양한 패턴을 따를 수 있습니다:
- 이전 지침을 무시하십시오
- 강압적인 역할 놀이
- 개발자 모드
- 정책 무시 언어
이 지침의 목표는 공격자의 프롬프트가 LLM 가드레일보다 우선시되도록 하는 것입니다. 이는 허점을 이용하거나 LLM에 의해 더 중요하게 인식되도록 하는 것입니다. 성공할 경우, LLM은 허용되지 않는 콘텐츠를 생성하거나, 숨겨진 지침을 유출하거나, 안전하지 않은 권장 사항을 제공하거나, 잘못된 도구나 사용자에게 작업을 잘못 전달할 수 있습니다.
간접 프롬프트 주입:
간접 프롬프트 주입 공격은 모델이 소비하는 콘텐츠에 악의적인 지침을 삽입하는 것입니다. 이는 직접적인 지침이 아닙니다. 여기에는 다음이 포함될 수 있습니다:
- 웹페이지
- 문서
- 이메일
- IT 티켓
- 채팅 기록
- 지식 기반
이러한 위협은 LLM이 외부 콘텐츠에 접근할 경우 더 심각해집니다. 이는 RAG를 통해서든 웹을 탐색하여 잠재적인 답변을 찾든지 간에, 검색된 데이터는 LLM에 의해 맥락으로 처리되기 때문입니다. 악의적인 지침은 문자 그대로 콘텐츠에 숨겨질 수 있습니다. 예를 들어, 흰색 텍스트를 사용하여 지침을 인간 독자에게 보이지 않게 하거나, 모델이 지침으로 해석하는 무해해 보이는 텍스트를 사용하는 경우입니다.
프롬프트 주입 공격의 주요 유형
프롬프트 주입 공격은 다양한 목표를 달성하기 위해 수행될 수 있습니다. 주요 공격 유형 중 두 가지는 시스템 프롬프트에 대한 민감한 정보에 접근하거나 AI의 도구 사용을 조작하여 민감한 정보를 수집하거나 해로운 행동을 수행하려고 시도합니다.
프롬프트 유출 및 시스템 프롬프트 추출
일부 공격은 시스템 프롬프트에 접근하도록 설계되어 있으며, 여기에는 숨겨진 시스템 지침, 정책 또는 비밀과 같은 민감한 데이터가 포함될 수 있습니다. 이 정보는 공격자가 이러한 방어를 피하는 후속 공격을 설계할 수 있게 해주기 때문에 유용할 수 있습니다.
프롬프트 유출의 가능성 때문에 비밀은 절대 프롬프트에 포함되어서는 안 됩니다. “노 리빌” 지침과 같은 보안 가드레일은 공격자에 의해 우회되거나 무력화될 수 있습니다.
도구 및 에이전트 탈취
AI 도구는 기능이나 API를 호출하거나, 인터넷을 탐색하거나, 워크플로를 트리거할 수 있습니다. 정교하게 작성된 프롬프트는 공격자가 선택된 도구, 그들에게 전송되는 매개변수, 그리고 호출되는 작업의 순서를 정의할 수 있게 해줄 수 있습니다.
이로 인해 공격자가 티켓 시스템, CRM, 문서 저장소, 코드 저장소 또는 클라우드 콘솔에 호출할 때 민감한 데이터에 접근할 수 있는 위험이 발생합니다. 이 위험을 관리하기 위해 조직은 최소 권한 접근 제어 및 인간 승인 게이트를 고위험 작업에 대해 구현해야 하며, 특히 인간 감독 없이 작동하는 AI 에이전트에 대해 그러해야 합니다.
프롬프트 주입은 기업 환경에서 어디에 나타납니까?
프롬프트 주입 공격은 조직이 GenAI를 사용하는 곳이라면 어디에서나 발생할 수 있습니다. 일반적인 예는 다음과 같습니다:
- 공공 채팅 도구
- 임베디드 어시스턴트
- 고객 지원 봇
- 내부 지식 어시스턴트
- 개발자 코파일럿
- 자율 에이전트
사용자가 이러한 도구와 직접 상호작용하지 않더라도, 프롬프트 주입은 여전히 위험입니다. 도구는 웹 콘텐츠, 첨부 파일, 붙여넣은 로그, 제3자 SaaS 댓글 및 악의적인 지시를 포함할 수 있는 기타 신뢰할 수 없는 입력에 접근할 수 있습니다.
챗봇 및 고객 대면 어시스턴트
챗봇과 고객 대면 에이전트는 알 수 없는 사용자로부터 자유 형식의 텍스트 입력을 수락합니다. 성공적인 프롬프트 주입 공격은 고객을 오도하고 봇이 CRM 또는 주문 시스템에 접근할 수 있는 경우 잠재적인 데이터 노출을 초래할 수 있습니다.
이러한 위험을 관리하기 위해 조직은 엄격한 데이터 범위를 구현하고, 가능한 경우 민감한 데이터를 삭제하며, 민감한 요청에 대한 템플릿 응답을 지정해야 합니다. 또한, 이러한 도구는 요청 비율, 반복 및 페이로드 유사성을 포함한 잠재적 남용의 징후를 모니터링해야 합니다.
RAG 및 “지식 기반에 문의하기” 도우미
RAG 및 “지식 기반에 문의하기” 도우미는 LLM의 맥락의 일환으로 기업 정책을 초과할 수 있는 문서 및 기타 콘텐츠에 접근할 수 있는 능력을 가지고 있습니다. 그 결과, 웹페이지 및 기타 리소스에 삽입된 악의적인 콘텐츠는 공격자가 가드레일을 회피할 수 있게 합니다.
조직은 콘텐츠 라벨링, 검색 허용 목록 및 프롬프트 분리 구현을 통해 이러한 위험을 완화할 수 있습니다. 또한, 최소 권한 접근 제어는 이러한 도구가 접근할 수 있는 데이터를 제한하여 공격의 잠재적 영향을 줄입니다.
프롬프트 주입이 기업 보안에 미치는 영향
프롬프트 주입 공격은 AI 기반 도구가 공격자의 요구를 수행하도록 영향을 미칠 수 있습니다. 이는 데이터 유출, 조작된 출력 및 손상된 워크플로우의 가능성으로 인해 기밀성, 무결성 및 가용성에 중대한 위협을 초래할 수 있습니다.
성공적인 프롬프트 주입 공격은 합법적인 도구의 사용과 이러한 도구에 대한 제한된 가시성으로 인해 조사하기 어려울 수 있습니다. 조직이 발생한 사건과 사건의 범위를 증명할 데이터를 결여할 경우, 이는 규제 준수에 중대한 위험을 초래합니다.
일반적인 비즈니스 영향
프롬프트 주입 공격은 기업에 다양한 영향을 미칠 수 있습니다.
- 고객 데이터 유출
- 지적 재산(IP) 노출
- 서비스 중단
- 고객 문의에 대한 부정확한 응답
- 부정확한 데이터에 기반한 의사결정
- 평판 및 재정적 피해
- 규제 위반 및 법적 노출
프롬프트 인젝션을 어떻게 감지할 수 있습니까?
프롬프트 인젝션을 감지하려면 LLM 입력, 출력 및 행동을 분석하여 이상 징후나 기업 정책 위반을 식별해야 합니다. 이를 위해 조직은 모니터링을 위해 프롬프트, 응답 및 도구 호출을 기록해야 합니다. 분석은 이상 징후, 정책 위반 및 반복되는 페이로드 패턴을 찾아야 합니다.
프롬프트, 맥락 및 도구 호출의 지표
프롬프트, 맥락 및 도구 호출에는 프롬프트 인젝션 공격의 지표가 포함될 수 있습니다. 찾아야 할 사항은 다음과 같습니다:
- 의심스러운 지시 패턴
- 강압적인 언어
- 도구 호출의 비정상적인 빈도
- 비정상적인 도구 호출 목적지
- 도구에서 반환된 과도한 데이터
- 정책으로 작용하려는 텍스트
프롬프트 인젝션에 대한 실용적인 완화책
프롬프트 인젝션 공격은 공격자가 간단한 텍스트 검색 및 패턴 일치를 피하기 위해 악의적인 프롬프트를 작성할 수 있으므로 심층 방어가 필요합니다. 계층화된 완화 모델에는 다음이 포함되어야 합니다:
- 안전한 애플리케이션 설계
- 모델 상호작용 제어
- 데이터 거버넌스
- 운영 테스트
이러한 완화 조치의 목표는 공격의 영향과 빈도를 줄이는 것입니다. LLM의 특성상 공격이 결코 성공하지 않을 것이라고 완전히 보장할 수는 없습니다.
폭발 반경을 줄이는 디자인 패턴
프롬프트 주입 완화 조치는 성공적인 주입의 잠재적 폭발 반경을 관리하는 데 초점을 맞춰야 합니다. 모범 사례는 다음과 같습니다:
- 도구, 커넥터 및 데이터 소스에 대한 최소 권한 접근 제어: 이는 읽기 및 쓰기 접근에 대해 별도의 권한을 구현하는 것을 포함합니다.
- 민감한 작업에 대한 사람 개입 게이트: 예를 들어, 결제, 계정 변경, 특권 관리자 작업 및 기타 고위험 활동에 대해 인간의 승인이 필요해야 합니다.
- 비밀에 대한 강력한 경계: 비밀은 프롬프트에 저장되어서는 안 되며, 대신 범위가 지정된 토큰이나 금고 패턴을 사용해야 합니다.
- 검색 소스에 대한 세분화: 이상적으로 LLM은 선별되고 라벨이 붙은 데이터를 포함하는 신뢰할 수 있는 코퍼스에만 접근할 수 있어야 합니다.
- 위험한 출력에 대한 결정론적 후처리: 고위험 워크플로우에서 LLM 출력이나 민감한 데이터에 접근할 수 있는 경우, 정책이 시행되고 민감한 데이터가 수정되도록 비AI 소프트웨어에 의해 후처리되어야 합니다.
실행 시 가드레일
공격의 폭발 반경을 제한하는 것 외에도, 조직은 실행 시 위험을 관리하는 가드레일을 구현할 수 있습니다. 모범 사례는 다음과 같습니다:
- 요청 필터링 및 정규화: 모든 LLM 응답은 잠재적으로 민감하거나 악의적인 콘텐츠를 필터링하고 기업 정책을 준수하는지 확인하기 위해 분석되어야 합니다.
- 데이터 손실 통제: 가능한 경우 DLP 또는 SWG를 사용하여 민감한 데이터가 프롬프트와 응답을 통해 유출되지 않도록 방지해야 합니다.
- 콘텐츠 위험 통제: 웹에 접근할 수 있는 LLM은 접근할 수 있는 웹사이트와 콘텐츠 유형이 제한되어야 합니다.
- AI 앱 및 어시스턴트에 대한 접근 거버넌스: AI 앱 및 어시스턴트는 사용할 수 있는 데이터와 도구를 제한하는 최소 권한 접근 통제로 제한되어야 합니다.
- 로깅 및 경고: 로깅 및 경고는 적절한 가시성과 감사 추적을 보장하기 위해 AI 기반 도구에 내장되어야 합니다.
프롬프트 주입은 어떻게 테스트되고 검증됩니까?
프롬프트, 도구, 모델 및 데이터 소스에 대한 작은 변경이 위험을 재도입할 수 있으므로 프롬프트 주입 취약점은 정기적으로 테스트해야 합니다. AI 레드 팀은 구조적이고 반복 가능한 방식으로 모델 및 앱 행동을 평가하기 위해 적대적인 프롬프트를 사용합니다. 테스트해야 할 주요 사항 중 일부는 다음과 같습니다:
- 데이터 유출
- 정책 우회
- 도구 오용
- 검색 조작
- 유해한 출력
테스트는 정기적으로 수행되어야 하며, 특히 새로운 에이전트, 도구 또는 커넥터를 배포한 후에 수행해야 합니다. 테스트 프로그램의 성공은 성공률, 심각도, 탐지 범위, 탐지 시간 및 격리 시간에 따라 평가할 수 있습니다.
재사용 가능한 프롬프트 주입 테스트 스위트 구축
프롬프트 주입 테스트 스위트는 조직이 시스템에 대한 주요 프롬프트 주입 위험을 적절히 해결하고 있는지 확인할 수 있습니다. 모범 사례는 다음과 같습니다:
- 위험 범주에 매핑된 적대적 프롬프트의 라이브러리를 유지하십시오.
- 안전하지만 현실적인 간접 주입 장치(문서, 웹 페이지, 티켓)를 포함하십시오.
- 워크플로우 및 권한 세트별로 테스트하십시오. 같은 모델이 한 맥락에서는 안전하고 다른 맥락에서는 안전하지 않을 수 있습니다.
- 프롬프트, 검색 소스 또는 도구 스키마가 변경될 때 회귀 테스트를 자동화하십시오.
- 테스트가 실패할 때 예상되는 행동과 에스컬레이션 경로를 문서화하십시오.
프롬프트 주입 위험 감소 및 운영 가이드라인
프롬프트 주입은 기업이 악의적인 행동을 수행하도록 속일 수 있는 AI 도구에 점점 더 의존함에 따라 기업 사이버 보안에 대한 증가하는 위험입니다. 프롬프트 주입 보안은 공격 가능성과 비즈니스에 미치는 잠재적 영향을 줄이기 위해 입력, 맥락, 행동 및 출력을 제한하는 것을 포함합니다. 조직은 다음을 수행해야 합니다:
- AI 도구의 데이터 및 도구 접근을 제한하십시오.
- 이상 및 정책 위반에 대한 입력 및 출력을 모니터링하십시오.
- 고위험 응답에 대해 결정론적 세척 및 템플릿을 사용하십시오.
- 정기적으로 적대적 프롬프트로 도구를 테스트하십시오.
프롬프트 주입의 위험을 제거하는 것은 불가능합니다. 그러나 조직은 성공적인 공격의 가능성과 폭발 반경을 줄일 수 있습니다.
프롬프트 주입에 대한 FAQ
프롬프트 주입이 탈옥과 같은 것인가요?
탈옥은 모델이 금지되고 해로운 출력을 생성하도록 속이기 위해 설계된 특정 유형의 프롬프트 주입 공격입니다. 프롬프트 주입 공격은 또한 모델이 승인되지 않은 행동을 취하고 제3자 도구와 상호작용할 가능성을 포함합니다.
프롬프트 주입을 완전히 방지할 수 있습니까?
아니요, 프롬프트 주입은 모든 악의적인 입력을 식별하는 것이 어렵고 LLM이 결정론적이고 예측 가능한 시스템이 아니기 때문에 완전히 방지할 수 없습니다. 그러나 계층화된 보안 제어는 성공적인 공격의 위험과 폭발 반경을 줄일 수 있습니다.
간접 프롬프트 주입이 더 위험하게 여겨지는 이유는 무엇입니까?
간접 프롬프트 주입은 공격자가 LLM이 소비하는 콘텐츠에 지침을 주입하는 것을 포함하며, 이는 인터넷에서 맥락을 수집하는 동안 접근하는 웹페이지와 같은 것입니다. 이는 공격자가 사용자 인터페이스에 직접 접근할 수 없더라도 에이전트에 영향을 미칠 수 있기 때문에 더 위험합니다.
프롬프트 주입 시도를 조사하기 위해 무엇을 기록해야 합니까?
로그에는 이벤트, 도구 호출 및 정책 위반이 포함되어야 합니다. 원시 프롬프트를 기록하는 것은 민감한 데이터를 포함할 가능성이 있기 때문에 위험할 수 있으며, 모든 로그는 이 정보를 삭제해야 합니다.
AI 어시스턴트를 위해 구현해야 할 첫 번째 제어는 무엇입니까?
최소 권한 접근은 AI 어시스턴트를 위해 구현해야 할 가장 중요한 제어입니다. 데이터 및 기타 도구에 대한 접근을 제한하면 성공적인 공격으로 인해 발생할 수 있는 잠재적 피해를 제한할 수 있습니다.
This page was machine-translated. If you notice any inaccuracies or have feedback, please feel free to send it to us here.