블로그

봇이 대규모 언어 모델을 공격하는 방법: OWASP LLM Top 10

짐 다우니 썸네일
짐 다우니
2025년 2월 5일 게시

봇과 AI는 오랫동안 밀접하게 연관되어 왔습니다. 봇을 막기 위해 고안된 최초의 CAPTCHA 테스트는 인간에게는 쉽게 풀 수 있지만 AI에게는 어려운 문제로 설계되었습니다. 이러한 구분은 1950년 앨런 튜링이 컴퓨터 지능에 관해 발표한 논문 에서 유래되었습니다. 최근 들어 F5를 포함한 보안 회사들이 봇을 감지하는 데 AI를 도입했고, 봇 제작자들이 감지를 우회하고 CAPTCHA 문제를 해결하는 데 AI를 적용하고 있습니다. 생성적 AI를 통해 봇과 AI 간의 연계가 지속적으로 발전하고 있으며, 봇은 인터넷에서 콘텐츠를 추출하여 대규모 언어 모델(LLM)에 제공하고, AI 에이전트 (기본적으로 스마트 봇)는 의도치 않은 방식으로 앱과 상호 작용합니다. LLM과 Gen AI 앱을 위한 2025년 상위 10대 위험 및 완화책을 살펴보면 봇과 AI가 긴밀하게 얽혀 있는 것을 알 수 있습니다.

봇이 LLM 취약점을 악용하는 유일한 수단은 아닙니다. LLM 보안은 사이버 보안 분야에서 복잡하고 빠르게 진화하는 분야이며, 단일한 원인이나 해결책을 제시하여 과제를 단순화하고 싶지 않습니다. 그럼에도 불구하고, 우리는 적대 세력이 사이버 공격을 확대하기 위해 항상 어떤 형태로든 봇을 이용한다는 것을 알고 있으며, 따라서 봇을 완화하면 사이버 범죄자의 무기고에서 중요한 도구가 제거됩니다. 봇 완화가 LLM 보안과 웹, 모바일, API 보안에 모두 중요한 이유를 알아보기 위해 2025년 LLM을 위한 OWASP 상위 10대 보안 위험을 살펴보고, 공격자가 각각의 취약점을 악용하기 위해 봇을 적용할 수 있는 방법을 고려해 보겠습니다.

1. 신속한 주입

Prompt 주입 공격은 OWASP에 따르면 모델이 "지침을 위반하고, 유해한 콘텐츠를 생성하고, 무단 액세스를 허용하거나, 중요한 결정에 영향을 미칠 수 있는" 악의적인 방식으로 LLM의 동작을 변경하려고 합니다. 프롬프트를 통해 모델의 동작에 영향을 미치려면 적이 많은 프롬프트를 주입해야 할 수도 있다. 즉, 해로운 프롬프트를 모델에 쏟아부어 피해를 극대화하거나 원하는 결과를 달성하는 프롬프트를 찾아내는 것이다. 충분히 많은 수의 악성 메시지를 입력하려면 적대자에게는 자동화를 위한 봇이 필요합니다. 

2. 민감한 정보 공개

직원과 고객에게 비즈니스적 가치를 제공하는 LLM을 구축하기 위한 경쟁에서 조직은 조직이 독점적으로 보유한 방대한 데이터 저장소를 기반으로 모델을 훈련시킬 것입니다. 그러나 이러한 데이터 저장소에는 개인 정보, 영업 비밀을 비롯한 민감한 정보가 포함되어 있을 수 있습니다. 적대 세력은 민감한 데이터를 공개 하려고 이러한 모델을 조사할 가능성이 매우 높습니다. 그리고 적대자들은 자신들이 어떤 데이터를 찾고 있는지, 그리고 그것을 구체적으로 어떻게 요구해야 할지 정확히 알지 못할 수 있으므로, 귀중한 기밀 정보가 공개되기를 바라며 무차별 대입 공격을 감행할 수도 있습니다. 모델에 대해 대량의 프롬프트를 실행하기 위해 공격 규모를 확대하려는 공격자는 봇을 배치합니다.

3. 공급망

모든 정보 시스템과 마찬가지로 LLM에는 교육 데이터, 기반 모델, 배포 플랫폼 등의 종속성이 있기 때문에 적대 세력은 공급망을 손상시켜 LLM을 손상시킬 수 있습니다. 종속성을 손상시키기 위해 공격자는 봇을 사용하여 가짜 정보로 데이터 저장소를 조작하고, 자격 증명 채우기나 실시간 피싱 프록시를 사용하여 인증 시스템을 해킹하고, 권한 부여 취약점을 조사할 가능성이 높습니다.

4. 데이터 및 모델 중독

데이터 오염에서 공격자는 사전 학습, 미세 조정 또는 데이터 내장을 조작하여 취약점, 백도어 또는 편향을 도입합니다. OWASP에 따르면 "이러한 조작은 모델 보안, 성능 또는 윤리적 행동을 손상시켜 유해한 출력 또는 손상된 기능으로 이어질 수 있습니다." 공격자가 데이터를 조작하는 데 사용할 수 있는 방법은 많지만, 봇은 인증이나 권한을 해독하는 것부터 봇 보호 기능이 없는 애플리케이션을 통해 데이터 저장소에 가짜 데이터를 삽입하는 것까지 다양한 공격 유형에서 흔히 사용되는 도구입니다.

5. 부적절한 출력 처리

부적절한 출력 처리란 LLM 모델의 출력이 해당 출력에 의존하는 시스템에 해를 끼칠 수 있는지 확인하지 못하는 것을 말합니다. 공급망과 데이터 및 모델 오염의 취약성은 LLM 모델 상류 시스템에 대한 손상을 의미하고, 부적절한 출력 처리는 하류 시스템, 즉 LLM 모델의 출력에 의존하는 시스템에 영향을 미칩니다. OWASP 에 따르면 "부적절한 출력 처리 취약점을 성공적으로 악용하면 웹 브라우저에서 크로스 사이트 스크립팅(XSS) 및 크로스 사이트 요청 위조(CSRF)가 발생할 수 있으며, 백엔드 시스템에서 서버 측 요청 위조(SSRF), 권한 상승 또는 원격 코드 실행이 발생할 수 있습니다."

이를 다른 관점에서 살펴보면, 공격자는 LLM을 사용하여 LLM 출력에 의존하는 다른 애플리케이션을 공격합니다. 공격자는 애플리케이션에 신중하게 작성된 입력을 통해 이러한 취약점을 악용할 수 있는 반면, 공격자는 자동화를 통해 무차별 대입 공격을 시도하여 다운스트림 애플리케이션에 해를 끼치는 출력을 생성하는 입력을 찾아내기 위해 다양한 변형을 시도할 수 있습니다. 자동화는 모델에서 악의적인 출력을 강제로 생성하고 해당 출력이 애플리케이션에 원하는 부정적인 영향을 미치는지 테스트합니다. 이러한 유형의 조사를 확장하려면 봇이 필요합니다.

6. 과도한 대행

과도한 권한 행사는 LLM 기반 시스템을 통해 수행되는 특권 확대의 한 형태입니다. 이 취약점은 상승된 권한으로 실행되는 LLM 기반 시스템에서 유래하며, 이를 통해 함수를 호출하거나 다른 시스템과 상호 작용할 수 있습니다. LLM 기반 시스템이 권한을 상승시킨 위치나 이러한 상승을 악용하는 방법을 모르는 적은, 자동화를 사용하여 여러 프롬프트를 입력하여 권한 상승을 유발하고 악용하려고 할 가능성이 높습니다.

7. 시스템 프롬프트 누출

LLM 기반으로 구축된 애플리케이션은 종종 애플리케이션 요구 사항을 충족하도록 모델의 동작을 안내하는 시스템 프롬프트 지침을 LLM에 제공합니다. 실제로 시스템 프롬프트에는 데이터베이스에 대한 연결 문자열, 독점 코드, 지적 재산권 또는 기업에서 보안을 유지해야 하는 다른 콘텐츠 등 비밀이 포함될 수 있습니다. 시스템 프롬프트 누출은 애플리케이션이 실수로 시스템 지침을 공개하도록 하는 특정 형태의 프롬프트 주입입니다.

LLM이 프롬프트를 통해 이러한 비밀을 노출하도록 하는 것은 사소한 일이 아니며, 적대자들은 시스템 프롬프트에 포함된 민감한 데이터를 보다 효과적으로 조사하기 위한 자동화된 스크립트를 개발할 가능성이 높습니다.

8. 벡터 및 임베딩의 약점

LLM 애플리케이션은 종종 RAG(검색 증강 생성)라는 기술을 통해 모델에 제공되는 향상된 컨텍스트를 통해 모델 출력을 향상시킵니다. RAG를 통해 LLM에 제공되는 콘텐츠는 원시 텍스트가 아니라 내장된 메타데이터와 콘텐츠가 있는 사전 처리된 벡터입니다. OWASP 에 따르면, "벡터와 임베딩이 생성, 저장 또는 검색되는 방법의 취약점은 악의적인 동작(의도적이든 의도적이지 않든)을 통해 악용되어 유해한 콘텐츠를 삽입하거나, 모델 출력을 조작하거나, 민감한 정보에 액세스할 수 있습니다." 즉, 적대 세력은 RAG 콘텐츠와 그 처리 과정을 추적해 LLM 시스템을 공격할 수 있습니다.

기업은 자체 프로세스를 구현하고 RAG 콘텐츠의 범위를 정의하여 조직의 특정 요구 사항을 충족합니다. 즉, 콘텐츠와 그 결함은 조직마다 고유합니다. 적대자의 관점에서 보면 이러한 결함을 발견하는 것은 쉽지 않기 때문에 봇을 활용한 자동화된 탐색이 반드시 필요할 것입니다.

9. 오보

LLM이 허위 또는 오해의 소지가 있는 정보를 제공하는 경우, 해당 정보에 의존하는 시스템이 제대로 작동하지 않을 수 있으며, 그로 인해 보안 침해, 평판 손상, 법적 책임 등이 발생할 수 있습니다. LLM은 환각이나 편견, 교육 데이터의 격차로 인해 잘못된 정보를 제공할 수 있습니다.  

환각을 이용하려는 적대 세력은 아마도 프롬프트 및 응답 분석을 자동화할 것입니다. 예를 들어, 코드 생성 프로세스를 자동화함으로써(LLM을 사용하여 많은 컴퓨터 코드 인스턴스를 생성함) 적대자는 실제로 존재하지 않는 소프트웨어 라이브러리에 대한 코드 참조를 찾을 수 있습니다. 그러면 공격자는 LLM이 환각한 코드 저장소에 악성 소프트웨어 라이브러리를 만들 수 있습니다. LLM이 생성하는 코드가 적절하게 검토되지 않으면 악성 라이브러리가 출시되는 제품에 내장됩니다.

공격자는 봇을 사용하여 훈련 데이터를 조작하고, 모델에 편향을 일으키려는 의도로 막대한 양의 데이터를 고의로 입력할 수도 있습니다.

10. 무한한 소비

OWASP LLM 취약점 중 10번째인 무제한 소비무제한 리소스 소비 라는 OWASP API 취약점과 서비스 거부 라는 OWASP 자동 위협과 매우 유사합니다. 공격자가 예상한 요청 수를 너무 많이 초과하여 추론 서비스가 서비스 거부, 성능 저하, 초과 비용을 경험하게 됩니다. OWASP에 따르면, "특히 클라우드 환경에서 LLM의 높은 계산 요구 사항은 리소스 악용 및 무단 사용에 취약하게 만듭니다." 예상되는 사용량을 초과하기 위해 공격자는 봇을 사용하여 요청 볼륨을 확장할 가능성이 매우 높습니다.

봇 보호 구현

많은 조직이 AI 기능을 시장에 신속하게 출시해야 하는 압박에 직면해 있고 LLM의 보안에 대한 영향이 제대로 이해되지 않은 상황에서 LLM 기반 애플리케이션과 LLM 모델에 데이터를 제공하는 애플리케이션 앞에 봇 보호 기능을 구현하는 것을 고려해야 합니다. 적이 더 많은 공격을 가할수록 성공 가능성이 커집니다. F5는 AI를 기반으로 구축된 특히 효과적인 봇 보호 서비스인 F5 Distributed Cloud Bot Defense를 제공하며, 이를 통해 조직은 봇과 자동화를 사용하여 LLM 애플리케이션을 공격하는 적대자로부터 우위를 점할 수 있습니다.

분산 클라우드 봇 방어에 대해 자세히 알아보세요 .