• ITㆍ정보ㆍ방송통신
  • 인공지능ㆍ자율주행
  • 6. OWASP 10대 LLM 보안 취약점
  • 6.8. LLM08_과도한 권한(Excessive Agency)
전체 목록 보기

네플라 위키는 변호사, 판사, 검사, 법학교수, 법학박사인증된 법률 전문가가 작성합니다.

6.8.

LLM08_과도한 권한(Excessive Agency)

  • 새 탭 열기
  • 작성 이력 보기

생성자
김경환 변호사
기여자
  • 김경환 변호사
0

설명

LLM 기반 시스템은 종종 개발자로부터 과도한 권한 또는 대행사 등급(다른 시스템과 인터페이스하고 프롬프트에 응답하여 조치를 취할 수 있는 능력)을 부여받습니다. 호출할 기능에 대한 결정은 입력 프롬프트 또는 LLM 출력을 기반으로 동적으로 결정하기 위해 LLM '에이전트'에 위임될 수도 있습니다.

과도한 기관은 LLM의 예상치 못한/모호한 출력에 대응하여 유해한 작업을 수행할 수 있게 하는 취약점입니다(LLM의 오작동 원인에 관계없이 환각/조작, 직접/간접 프롬프트 삽입, 악성 플러그인, 잘못된 플러그인 등). 엔지니어링된 양성 프롬프트 또는 성능이 낮은 모델). 과도한 대리인의 근본 원인은 일반적으로 과도한 기능, 과도한 권한 또는 과도한 자율성 중 하나 이상입니다. 이는 LLM 출력의 불충분한 조사와 관련된 안전하지 않은 출력 처리와 다릅니다.

과도한 대행사는 기밀성, 무결성 및 가용성 범위 전반에 걸쳐 광범위한 영향을 미칠 수 있으며 LLM 기반 앱이 상호 작용할 수 있는 시스템에 따라 달라집니다.

취약점의 일반적인 예

  1. 과도한 기능: LLM 에이전트는 시스템의 의도된 작동에 필요하지 않은 기능을 포함하는 플러그인에 액세스할 수 있습니다. 예를 들어, 개발자는 LLM 에이전트에게 저장소에서 문서를 읽을 수 있는 기능을 부여해야 하지만 개발자가 사용하기로 선택한 타사 플러그인에는 문서를 수정하고 삭제할 수 있는 기능도 포함되어 있습니다.
  2. 과도한 기능: 개발 단계에서 플러그인을 시험해 본 후 더 나은 대안을 위해 삭제했을 수 있지만 원래 플러그인은 LLM 에이전트에서 계속 사용할 수 있습니다.
  3. 과도한 기능: 개방형 기능을 갖춘 LLM 플러그인은 응용 프로그램의 의도된 작동에 필요한 것 이외의 명령에 대한 입력 지침을 적절하게 필터링하지 못합니다. 예를 들어 하나의 특정 셸 명령을 실행하는 플러그인이 다른 셸 명령이 실행되는 것을 적절하게 방지하지 못합니다.
  4. 과도한 권한: LLM 플러그인에는 애플리케이션의 의도된 작동에 필요하지 않은 다른 시스템에 대한 권한이 있습니다. 예를 들어, 데이터를 읽으려는 플러그인은 SELECT 권한뿐만 아니라 UPDATE, INSERT 및 DELETE 권한도 가진 ID를 사용하여 데이터베이스 서버에 연결합니다.
  5. 과도한 권한: 사용자를 대신하여 작업을 수행하도록 설계된 LLM 플러그인은 일반적인 높은 권한의 ID를 사용하여 다운스트림 시스템에 액세스합니다. 예를 들어, 현재 사용자의 문서 저장소를 읽는 플러그인은 모든 사용자의 파일에 액세스할 수 있는 권한 있는 계정으로 문서 저장소에 연결됩니다.
  6. 과도한 자율성: LLM 기반 애플리케이션 또는 플러그인은 영향력이 큰 작업을 독립적으로 확인하고 승인하지 못합니다. 예를 들어, 사용자의 문서 삭제를 허용하는 플러그인은 사용자의 확인 없이 삭제를 수행합니다.

예방 및 완화 전략

다음 조치는 과도한 대행사를 방지할 수 있습니다.

  1. LLM 에이전트가 필요한 최소한의 기능만 호출할 수 있는 플러그인/도구를 제한합니다. 예를 들어 LLM 기반 시스템에 URL 콘텐츠를 가져오는 기능이 필요하지 않은 경우 해당 플러그인을 LLM 에이전트에 제공해서는 안 됩니다.
  2. LLM 플러그인/도구에 구현되는 기능을 필요한 최소한으로 제한하십시오. 예를 들어 이메일을 요약하기 위해 사용자의 편지함에 액세스하는 플러그인에는 이메일을 읽는 기능만 필요할 수 있으므로 플러그인에는 메시지 삭제 또는 전송과 같은 다른 기능이 포함되어서는 안 됩니다.
  3. 가능하면 개방형 기능(예: 쉘 명령 실행, URL 가져오기 등)을 피하고 보다 세부적인 기능을 갖춘 플러그인/도구를 사용하십시오. 예를 들어 LLM 기반 앱은 일부 출력을 파일에 작성해야 할 수 있습니다. 쉘 기능을 실행하기 위해 플러그인을 사용하여 이것이 구현된 경우 바람직하지 않은 작업의 범위가 매우 큽니다(다른 쉘 명령이 실행될 수 있음). 보다 안전한 대안은 해당 특정 기능만 지원할 수 있는 파일 작성 플러그인을 구축하는 것입니다.
  4. 바람직하지 않은 작업의 범위를 제한하기 위해 LLM 플러그인/도구가 다른 시스템에 부여되는 권한을 필요한 최소한으로 제한하십시오. 예를 들어, 고객에게 구매 추천을 하기 위해 제품 데이터베이스를 사용하는 LLM 에이전트는 '제품' 테이블에 대한 읽기 액세스만 필요할 수 있습니다. 다른 테이블에 대한 액세스 권한이 없어야 하며 레코드를 삽입, 업데이트 또는 삭제하는 기능도 없어야 합니다. 이는 LLM 플러그인이 데이터베이스에 연결하는 데 사용하는 ID에 적절한 데이터베이스 권한을 적용하여 시행해야 합니다.
  5. 사용자 권한 부여 및 보안 범위를 추적하여 사용자를 대신하여 수행된 작업이 해당 특정 사용자의 컨텍스트에서 필요한 최소한의 권한으로 다운스트림 시스템에서 실행되도록 합니다. 예를 들어, 사용자의 코드 저장소를 읽는 LLM 플러그인은 사용자가 OAuth를 통해 필요한 최소 범위로 인증하도록 요구해야 합니다.
  6. 인간 참여형(Human-In-The-Loop) 제어를 활용하여 인간이 모든 작업을 수행하기 전에 승인하도록 요구합니다. 이는 다운스트림 시스템(LLM 응용 프로그램 범위 외부) 또는 LLM 플러그인/도구 자체 내에서 구현될 수 있습니다. 예를 들어, 사용자를 대신하여 소셜 미디어 콘텐츠를 생성하고 게시하는 LLM 기반 앱은 '게시' 작업을 구현하는 플러그인/도구/API 내에 사용자 승인 루틴을 포함해야 합니다.
  7. 작업 허용 여부를 결정하기 위해 LLM에 의존하는 대신 다운스트림 시스템에서 인증을 구현합니다. 도구/플러그인을 구현할 때 완전한 중재 원칙을 시행하여 플러그인/도구를 통해 다운스트림 시스템에 전달된 모든 요청이 보안 정책에 따라 검증되도록 합니다.

다음 옵션은 과도한 선택의지를 방지할 수는 없지만 발생하는 피해 수준을 제한할 수 있습니다.

  1. LLM 플러그인/도구 및 다운스트림 시스템의 활동을 기록하고 모니터링하여 바람직하지 않은 작업이 발생하는 위치를 식별하고 그에 따라 대응합니다.
  2. 특정 기간 내에 발생할 수 있는 바람직하지 않은 작업 수를 줄이기 위해 속도 제한을 구현하고, 심각한 피해가 발생하기 전에 모니터링을 통해 바람직하지 않은 작업을 발견할 수 있는 기회를 늘립니다.

공격 시나리오 예

LLM 기반 개인 비서 앱에는 수신 이메일의 내용을 요약하기 위해 플러그인을 통해 개인의 사서함에 대한 액세스 권한이 부여됩니다. 이 기능을 달성하려면 이메일 플러그인에 메시지를 읽을 수 있는 기능이 필요하지만 시스템 개발자가 사용하기로 선택한 플러그인에는 메시지 전송 기능도 포함되어 있습니다. LLM은 악의적으로 제작된 수신 이메일이 LLM을 속여 이메일 플러그인에 '메시지 보내기' 기능을 호출하여 사용자의 편지함에서 스팸을 보내도록 명령하는 간접 프롬프트 주입 공격에 취약합니다. 이는 (a) 메일 읽기 기능만 제공하는 플러그인을 사용하여 과도한 기능을 제거하고, (b) 읽기 전용 범위의 OAuth 세션을 통해 사용자의 이메일 서비스에 인증하여 과도한 권한을 제거함으로써 방지할 수 있습니다. 또는 (c) 사용자가 LLM 플러그인으로 작성된 모든 메일을 수동으로 검토하고 '보내기'를 누르도록 요구하여 과도한 자율성을 제거합니다. 또는 메일 전송 인터페이스에 속도 제한을 구현하여 피해를 줄일 수 있습니다.

참조 링크

  1. Embrace the Red: 혼란스러운 대리인 문제 : Embrace The Red
  2. NeMo-Guardrails: 인터페이스 지침 : NVIDIA Github
  3. LangChain: 도구에 대한 인간 승인 : Langchain Documentation
  4. 사이먼 윌리슨(Simon Willison): 이중 LLM 패턴 : 사이먼 윌리슨(Simon Willison)
0
공유하기
최근 작성일시: 2024년 8월 14일
  • 검색
  • 맨위로
  • 페이지업
  • 페이지다운
  • 맨아래로
카카오톡 채널 채팅하기 버튼