컨텍스트 윈도우 조작

컨텍스트 윈도우는 대규모 언어 모델 배포에서 가장 중요하면서도 가장 잘 이해되지 않는 보안 경계 중 하나입니다. 이것은 LLM이 단일 추론 호출 중에 액세스할 수 있는 정보를 정의하며, 공격자가 의도적으로 악용할 수 있는 유한한 리소스입니다.

컨텍스트 윈도우란 무엇인가?

대규모 언어 모델은 텍스트를 토큰으로 처리합니다(대략 단어당 3/4 토큰). 컨텍스트 윈도우는 모델이 한 번에 처리할 수 있는 최대 토큰 수를 정의합니다. 최신 모델은 4K에서 100만 토큰 이상까지 다양하지만 모두 한계가 있습니다.

컨텍스트 윈도우 내에서 LLM은 다음을 처리합니다:

  • 시스템 프롬프트: 챗봇의 역할과 제약을 설정하는 개발자 정의 명령
  • 대화 기록: 현재 세션의 이전 대화 턴
  • 검색된 콘텐츠: RAG 또는 검색에 의해 반환된 문서, 데이터베이스 결과 및 도구 출력
  • 사용자 입력: 현재 사용자 메시지

이 모든 것은 모델에게 통합된 스트림으로 나타납니다. 모델은 다른 소스의 명령을 다르게 취급할 고유한 메커니즘이 없으며, 컨텍스트의 특정 부분에 대한 주의는 균일하지 않습니다.

컨텍스트 윈도우 공격 기법

컨텍스트 스터핑 / 컨텍스트 플러딩

공격자는 매우 큰 입력(종종 긴 문서, 코드 블록 또는 텍스트 덤프)을 제출하여 이전 콘텐츠(특히 시스템 프롬프트)를 모델의 현재 위치에서 더 멀리 밀어냅니다.

연구에 따르면 LLM은 “중간에서 길을 잃는” 행동을 보입니다: 긴 컨텍스트의 시작과 끝 부분의 콘텐츠에 더 많은 주의를 기울이고 중간의 정보에는 덜 주의를 기울입니다. 컨텍스트를 플러딩함으로써 공격자는 악성 페이로드를 전략적으로 배치할 수 있으며(일반적으로 끝 부분에), 이전의 안전 명령은 주의가 낮은 중간 영역으로 표류합니다.

실제 예시: 챗봇의 시스템 프롬프트는 경쟁사 제품에 대해 논의할 수 없다고 설정합니다. 공격자는 50,000 토큰 문서를 제출한 후 경쟁사에 대해 묻는 프롬프트를 제출합니다. 시스템 프롬프트 명령이 효과적으로 희석되었습니다.

컨텍스트 오버플로우 / 잘림 악용

컨텍스트가 가득 차면 LLM 또는 그 인프라는 무엇을 삭제할지 결정해야 합니다. 잘림이 최신성을 우선시하는 경우(가장 오래된 콘텐츠를 먼저 삭제), 공격자는 컨텍스트를 오버플로우시켜 시스템 프롬프트를 완전히 제거할 수 있으며, 모델은 사용자가 제공한 컨텍스트만으로 작동하게 됩니다.

공격 순서:

  1. 많은 턴으로 대화 설정
  2. 컨텍스트 소비를 최대화하기 위해 긴 응답 생성
  3. 시스템 프롬프트 콘텐츠가 잘릴 때까지 계속
  4. 이제 경쟁하는 시스템 프롬프트 없이 악성 명령 발행

검색된 콘텐츠를 통한 컨텍스트 포이즈닝

RAG 시스템에서 검색된 문서는 상당한 컨텍스트 공간을 소비합니다. (RAG 포이즈닝 을 통해) 검색되는 내용에 영향을 줄 수 있는 공격자는 자신의 목표에 부합하는 콘텐츠로 컨텍스트를 선택적으로 채우면서 정당한 정보를 밀어낼 수 있습니다.

위치 기반 인젝션

연구에 따르면 컨텍스트의 특정 위치에 있는 명령이 불균형적인 영향을 미칩니다. 컨텍스트 조립을 이해하는 공격자는 페이로드와 관련하여 높은 주의 위치에 도달하도록 설계된 입력을 만들 수 있습니다.

다중 샷 인젝션

매우 긴 컨텍스트(수십만 토큰)를 지원하는 모델에서 공격자는 실제 악성 요청 전에 정책 위반 출력을 생성하는 모델을 보여주는 수백 개의 “시연” 예제를 삽입할 수 있습니다. 이러한 시연에 의해 조건화된 모델은 준수할 가능성이 훨씬 높습니다.

Logo

비즈니스 성장 준비가 되셨나요?

오늘 무료 평가판을 시작하고 며칠 내로 결과를 확인하세요.

컨텍스트 윈도우 조작에 대한 방어

중요한 명령 고정

보안에 중요한 모든 명령을 시스템 프롬프트의 시작 부분에만 배치하지 마십시오. 시스템 프롬프트의 끝 부분에 주요 제약을 반복하고 긴 대화의 주요 지점에 간단한 리마인더를 주입하는 것을 고려하십시오.

컨텍스트 크기 제한

사용 사례에 적합한 최대 입력 길이 제한을 구현하십시오. 고객 서비스 챗봇은 100,000 토큰 입력을 처리할 필요가 거의 없으며, 이를 제한하면 플러드 공격 위험이 줄어듭니다.

컨텍스트 모니터링

컨텍스트 크기와 구성을 로깅하고 모니터링하십시오. 비정상적으로 큰 입력, 빠른 컨텍스트 증가 또는 예상치 못한 컨텍스트 구성은 잠재적인 공격 지표입니다.

긴 대화에 대한 요약

장기 실행 대화의 경우 원시 대화 기록이 아닌 주요 사실과 제약을 유지하는 컨텍스트 요약을 구현하십시오. 이것은 대화 연속성을 유지하면서 오버플로우 공격에 저항합니다.

적대적 컨텍스트 테스트

AI 침투 테스트 참여에 컨텍스트 조작 시나리오를 포함하십시오. 안전 동작이 긴 컨텍스트에서 유지되는지, 컨텍스트 플러딩 후에도 시스템 프롬프트가 효과적인지 테스트하십시오.

관련 용어

자주 묻는 질문

LLM에서 컨텍스트 윈도우란 무엇인가요?

컨텍스트 윈도우는 대규모 언어 모델이 한 번에 처리할 수 있는 텍스트의 양(토큰으로 측정)입니다. 여기에는 시스템 프롬프트, 대화 기록, 검색된 문서 및 도구 출력이 포함됩니다. 세션 중에 모델이 '알고 있는' 모든 것은 이 윈도우 내에 있어야 합니다.

공격자는 컨텍스트 윈도우를 어떻게 악용할 수 있나요?

공격자는 무관한 콘텐츠로 컨텍스트를 플러딩하여 초기 명령(안전 가드레일 포함)을 모델의 효과적인 주의 영역 밖으로 밀어낼 수 있으며, 긴 컨텍스트에 묻혀 필터에 의해 간과되는 악성 페이로드를 주입하거나, 컨텍스트 잘림 동작을 악용하여 악성 콘텐츠는 남아있고 정당한 명령은 그렇지 않도록 할 수 있습니다.

컨텍스트 윈도우 조작으로부터 어떻게 보호할 수 있나요?

방어 방법에는 다음이 포함됩니다: 컨텍스트의 여러 지점에 중요한 명령을 고정(시작 부분에만 두지 않음), 컨텍스트 크기 제한 구현, 비정상적으로 큰 컨텍스트 페이로드 모니터링, 긴 대화에 대한 컨텍스트 요약 사용, 보안 평가에서 컨텍스트 조작 시나리오 테스트.

컨텍스트 기반 공격에 대해 챗봇을 테스트하세요

컨텍스트 윈도우 조작은 과소평가된 공격 표면입니다. 우리의 침투 테스트에는 컨텍스트 오버플로우 및 전략적 포이즈닝 시나리오가 포함됩니다.

더 알아보기

AI 에이전트를 위한 컨텍스트 엔지니어링: LLM에 최적의 정보를 제공하는 기술 마스터하기
AI 에이전트를 위한 컨텍스트 엔지니어링: LLM에 최적의 정보를 제공하는 기술 마스터하기

AI 에이전트를 위한 컨텍스트 엔지니어링: LLM에 최적의 정보를 제공하는 기술 마스터하기

도구 피드백 관리, 토큰 사용 최적화, 오프로딩·압축·분리와 같은 전략 구현을 통해 대규모에서 신뢰성 있게 동작하는 프로덕션 수준의 에이전트를 구축하는 컨텍스트 엔지니어링 방법을 배워보세요....

13 분 읽기
AI Agents LLM +3
LLM 보안
LLM 보안

LLM 보안

LLM 보안은 프롬프트 인젝션, 탈옥, 데이터 유출, RAG 중독 및 모델 남용을 포함한 AI 특유의 위협으로부터 대규모 언어 모델 배포를 보호하는 데 사용되는 관행, 기술 및 통제를 포함합니다....

4 분 읽기
LLM Security AI Security +3
프롬프트 인젝션
프롬프트 인젝션

프롬프트 인젝션

프롬프트 인젝션은 공격자가 사용자 입력이나 검색된 콘텐츠에 악의적인 명령어를 삽입하여 AI 챗봇의 의도된 동작을 무력화하고, 잠재적으로 데이터 유출, 안전 가드레일 우회 또는 무단 작업을 유발하는 LLM 보안 취약점 1위(OWASP LLM01)입니다....

4 분 읽기
AI Security Prompt Injection +3