디지털서비스 이용지원시스템

자료실

[2024-04] 디지털서비스 이슈리포트 02 OWASP LLM 10대 보안 취약점 게시글 정보입니다.
2024.04.30 13:32 (수정 : 2024.04.30 15:57)
[2024-04] 디지털서비스 이슈리포트 02 OWASP LLM 10대 보안 취약점

02 OWASP LLM 10대 보안 취약점

│윤대균 아주대학교 교수

1. 들어가며

인공지능(AI) 기술은 사회 전반에 걸쳐 혁신을 해오고 있으며, 대규모 언어 모델(LLM)에 기반한 생성형 AI는 텍스트 생성, 번역, 요약 등 다양한 분야에서 놀라운 성과를 보여주고 있다. 지금은 텍스트뿐만 아니라 이미지, 더 나아가 영상과 오디오 영역에서도 놀라운 창작 능력을 보여주고 있다. 생성형 AI 등장으로 AI의 활용 범위가 급속도로 확대되면서 이의 부작용 그리고 앞으로 예견될 수 있는 부정적인 영향을 최소화하기 위한 연구도 매우 활발히 진행하고 있다. 특히 인간과 유사한 지능을 가지고 스스로 학습할 수 있는 소위 AGI(Artificial General Intelligence)가 현실로 다가옴으로써 AI를 주어진 목적 달성을 위해 안전하게 활용할 수 있는 ‘신뢰할 수 있는 AI’의 중요성이 부각하고 있다.

신뢰할 수 있는 AI가 갖추어야 할 여러 요건을 크게 분류하자면 ‘믿을 수 있는(Reliable)’, ‘회복력 있는(Resilient)’, 그리고 ‘책임감 있는(Responsible)’ 이렇게 세 축으로 나타낼 수 있다.(그림 1) 각각에 대해서 좀 더 세부적인 요건들을 들고 있는데, 이는 경영진, 법률, 개인정보보호, DevSecOps, MLSecOps, 사이버 보안 팀 모두가 AI 서비스를 개발하거나 활용하고자 할 때 반드시 염두에 두어야 할 요구 사항이다.

그림 1 신뢰할 수 있는 AI를 위한 주요 축 <그림 출처: OWASP>

또한, 주목해야 할 것은 LLM의 발전과 더불어 새로운 보안 위협도 함께 등장하고 있다는 사실이다. 악의적인 사용자는 가짜 뉴스, 혐오 발언, 낚시성 공격 등을 생성하거나, 직접 시스템을 공격하는 데 LLM을 ‘효과적’으로 활용할 수 있다. 이미 매우 복잡해진 사이버 공격이 생성형 AI로 인해 더욱 광범위하게 그리고 더 정밀하게, 게다가 훨씬 빈번하게 발생할 수 있게 된 것이다.

대량의 기업 데이터 및 개인정보 탈취는 이를 기반으로 한 정교한 목표물 공격을 가능케 함으로써 공격의 효능을 높일 수 있다. 마이크로소프트는 오픈AI와 함께 사이버 보안을 위협하는 공격자가 어떻게 생성형 AI와 LLM을 활용하여 사이버 공격을 강화하는지 발표했다. 포레스트 블리자드(Forest Blizzard), 에메랄드 슬릿(Emerald Sleet), 크림슨 샌드스톰(Crimson Sandstorm), 차콜 타이푼 (Charcoal Typhoon), 살몬 타이푼(Salmon Typhoon) 등 마이크로소프트가 추적한 공격자들이 사이버 공격역량을 강화하기 위해 LLM 및 챗GPT와 같은 도구를 활용한 것을 탐지했다고 밝혔다. 이들이 오픈AI 서비스를 활용한 예는 다음과 같다.

  • 차콜 타이푼은 AI 서비스를 사용하여 다양한 기업과 사이버 보안 도구를 조사하고, 코드를 디버그하며, 스크립트를 제작하고, 피싱 공격에 사용할 수 있는 콘텐츠를 제작.

  • 살몬 타이푼은 기술 논문 번역, 여러 정보기관 및 지역위협 행위자에 대한 공개 정보 마이닝, 코딩, 시스템 내 프로세스를 숨기는 연구기법 등을 위해 AI를 활용.

  • 크림슨 샌드스톰은 애플리케이션 및 웹 개발을 위한 스크립트 제작, 스피어 피싱 캠페인에 사용될 가능성이 있는 콘텐츠 생성하고, 멀웨어가 탐지 조치를 통과하는 방법을 조사하는 데 AI 활용

  • 에메랄드 슬릿은 AI 기능을 활용하여 아시아 태평양 지역의 국방 문제를 다루는 전문가와 조직을 식별하고, 알려진 취약점에 대해 학습하며, 스크립트 제작에 필요한 요구 사항을 분석하고, 피싱 캠페인에 사용될 것으로 추정되는 콘텐츠의 초안을 작성.

  • 포레스트 블리자드는 주로 스크립트 제작, 위성 통신 프로토콜과 레이더 이미지 처리 기술과 관련된 오픈소스 연구에 AI 서비스를 사용.

이상의 사례를 요약해 보면 공격 대상에 대한 사이버 보안 체계 분석, 그리고 이를 회피할 수 있는 최적의 공격방식을 찾는데 AI 서비스가 다양한 용도로 사용될 수 있음을 알 수 있다. 특히 AI 서비스를 활용한 광범위한 데이터 분석을 바탕으로 스피어 피싱과 같이 특정 대상을 목표로 하는 악성 캠페인 및 스크립트 제작이 가능하다. 반복적인 작업이 수반되는 공격에는 AI 서비스 기반 자동화를 통해 공격의 ‘생산성’을 최대로 끌어올릴 수 있다는 점도 눈여겨볼 부분이다.

2. OWASP LLM 10대 보안 취약점

OWASP(Open Web Application Security Project)는 소프트웨어 애플리케이션과 웹 보안 개선을 위해 설립된 비영리 단체로 웹 기반 애플리케이션 서비스에서의 정보 노출, 악성 파일 및 스크립트, 보안 취약점 등을 연구하는 전 세계 전문가들이 참여하고 있다. OWASP 10대 웹 애플리케이션 취약점을 선정하여 웹 서비스 동향 및 기술의 변화에 따라 주기적으로 이를 업데이트함으로써 개발자와 운영자 모두가 사이버 보안에 대한 경각심을 갖고 함께 대응하고자 하는 것이 이 단체의 설립 목적이다. 새로운 취약점이 발견되면 이를 추가하는 것뿐만 아니라, 기존 취약점 중에서도 다양한 사이버 공격 패턴의 변화를 반영한 우선순위에 변화를 줌으로써 사이버 보안 전략 및 정책 수립을 위한 기본 가이드를 제공하는 것이라 볼 수 있다.

챗GPT 등장 이후 많은 산업영역에서 LLM 애플리케이션 활용이 급격히 확대됨에 따라 OWASP 전문가 커뮤니티에서도 웹뿐만 아니라 LLM의 보안 취약점 분석에 나섰다. 이에 본격적인 10대 취약점 선정을 위한 0.1 버전의 초안을 2023년 초 제안하였다. 이후 얼마 지나지 않아 버전 1.1로 LLM 10대 취약점을 정식 발표했다. 초안과 비교해 보면 짧은 기간이지만 많은 수정이 있음을 알 수 있다. (그림 2)

그림 2 OWASP LLM 10대 보안 취약점: 버전 0.1 vs. 버전 1.1

버전 0.1과 버전 1.1 양 버전에서 모두 발견되는 항목은 세 개이다. 이중 ‘Prompt Injection’은 가장 높은 순위의 보안 위협의 위치를 그대로 유지하고 있으며 ‘Training Data Poisoning’은 10번에서 3번으로 순위가 대폭 상승했다. 그만큼 발생 빈도 및 가능성, 그리고 영향도 모두 높아진 것으로 판단한 결과이다. ‘Overreliance’는 순위는 좀 낮아졌지만, 여전히 주요 위협으로 자리를 차지하고 있다. 버전 0.1의 항목이 버전 1.1에 없다고 해서 완전히 사라진 것은 아니고, 복수 항목이 하나의 항목으로 통합되거나 그 반대로 좀 더 세분화하여 새로운 이름으로 등장한 것도 있다. 공식적으로 발표된 최신 버전은 1.1이지만 최신 프로젝트 현황이 반영되는 깃헙 저장소를 살펴보면 이미 2.0도 작업 중인 것으로 보인다. 그만큼 LLM의 발전 속도가 매우 빠르고 이에 따라 OWASP 커뮤니티도 기민하게 대응하고 있는 것으로 이해할 수 있다. 버전 1.1 각 항목에 대해 좀 더 자세히 살펴보겠다.

2.1 LLM01: Prompt Injection

정교하게 조작된 프롬프트 입력을 통해 본래 정책이나 가이드에 구애받지 않고 공격자의 의도대로 LLM을 실행하고자 할 때 발생하는 위협이다. 시스템 프롬프트를 '탈옥'(Jail-breaking)’하는 방식으로 수행하는 직접(direct) 프롬프트 인젝션이 일반적으로 많이 알려진 방식이며, 조작된 외부 입력을 통해 간접적으로 수행하는 간접(Indirect) 프롬프트 인젝션 방식도 있다.

간접 프롬프트 인젝션은 LLM이 웹사이트나 파일 등 공격자가 제어할 수 있는 외부 소스로부터 입력을 받을 때 발생한다. 공격자는 대화 맥락을 가로채 외부 콘텐츠에 프롬프트 인젝션을 삽입한다. 이렇게 하면 LLM이 '혼란스러운 대리자(Confused Deputy)' 역할을 하게 되어 공격자는 ‘원래 사용자’ 또는 LLM이 접근할 수 있는 추가 시스템을 조작할 수 있게 된다. 또한, 간접 프롬프트 삽입은 LLM이 텍스트를 파싱할 수 있는 한 굳이 사람이 읽을 수 있는 형태일 필요가 없으므로 언어에 상관없이 자유로운 형태가 가능하다. 

명령어와 외부 데이터를 서로 분리하지 않는 LLM의 특성으로 인해 프롬프트 인젝션 취약점에 대한 완벽한 예방책은 없지만 다음과 같은 조치를 통해 프롬프트 인젝션의 영향을 완화할 수 있다.

  • 최소권한 원칙에 따른 백엔드 시스템에 대한 LLM 접근 권한 제어 강화

  • 간접 프롬프트 인젝션으로 인해 사용자 모르게 또는 사용자의 동의 없이 무단 작업이 수행되지 않도록 특별한 권한이 필요한 제한된 액션에 대해서는 (사람) 관리자의 승인 절차 추가

  • 사용자 프롬프트에서 외부 콘텐츠를 분리

  • LLM, 외부 소스, 확장할 수 있는 기능(예: 플러그인 또는 다운스트림 기능) 간에 신뢰할 수 있는 경계를 설정

  • LLM 입력 및 출력을 주기적으로 수동으로 모니터링하여 예상대로 작동하는지 확인

2.2 LLM02 Insecure Output Handling

LLM에서 생성된 출력이 다른 컴포넌트 및 시스템에 다운스트림으로 전달되기 전에 충분한 검증과 위생(Sanitization) 처리가 이루어지지 않을 때 발생할 수 있는 위협이다. 시스템의 특정 부분이 이전의 결과를 받아 실행하게 될 때 이를 다운스트림 컴포넌트라 한다. 또한, LLM에서 생성된 콘텐츠는 프롬프트 입력을 통해 제어할 수 있으므로 이 동작은 사용자에게 추가 기능에 대한 간접 액세스를 제공하는 결과를 가져온다. 예를 들어, 웹 브라우저에서 크로스 사이트 스크립트(XSS), 크로스 사이트 요청 위조(CSRF) 공격이 가능할 뿐만 아니라, 백엔드에서는 서버-사이드의 요청 위조(SSRF)를 통해 권한 상승 또는 원격 코드 실행을 초래할 수 있다.

이를 예방할 수 있는 조치를 들면 다음과 같다.

  • 모델을 다른 사용자와 동일하게 취급하여 제로 트러스트 접근 방식을 채택하고 모델에서 백엔드 기능으로 전송되는 응답에 적절한 입력 유효성 검사를 적용

  • 효과적인 입력 유효성 검사 및 위생 처리를 보장하기 위해 OWASP ASVS(애플리케이션 보안 검증 표준) 가이드라인을 따름

  • 모델 출력을 다시 인코딩하여 사용자에게 제공함으로써 자바스크립트 코드나 마크다운 코드에 의해 의도하지 않은 실행을 예방

2.3 LLM03 Training Data Poisoning

학습 데이터 중독은 모델의 보안, 효율성 또는 윤리적 행동을 손상할 수 있는 취약성으로, 백 도어를 만들거나 편견을 주입하기 위해 사전 학습 데이터 또는 파인튜닝 및 임베딩 프로세스에 관련된 데이터를 조작하는 것을 말한다. 오염된 정보에 사용자가 직접 노출되거나, 시스템 성능 저하, 다운스트림 소프트웨어 컴포넌트 악용, 평판 손상과 같은 위험을 초래할 수 있다. 똑똑한 LLM 사용자가 결과물을 불신하여 활용하지 않는다고 하더라도 모델 기능의 손상과 브랜드 평판에 대한 잠재적 피해 등 위험은 여전히 남아있다.

임베딩 프로세스는 카테고리 데이터(주로 텍스트)를 언어 모델이 학습하는 데 사용할 수 있는 데이터 형식으로 변환하는 프로세스를 말한다. 임베딩 프로세스에는 텍스트 데이터의 단어나 구문을 연속 벡터 공간에서 벡터로 표현하는 작업이 포함되는데, 벡터는 일반적으로 대규모 텍스트 말뭉치로 학습된 신경망에 텍스트 데이터를 공급해 생성한다.

이의 예방을 위한 조치로는 다음과 같은 것을 들 수 있다.

  • 외부에서 소싱한 데이터의 경우, 학습 데이터의 공급망을 검증하고 "ML-BOM"(머신러닝 자재 명세서)을 통해 안정성 증명

  • 사전 학습, 미세 조정 및 임베딩 단계에서 획득한 대상 데이터 소스 및 포함된 데이터의 적법성을 검증

  • LLM 애플리케이션의 사용 사례를 명확하게 정의함으로써 추가학습 또는 파인튜닝의 결과가 정의된 사용 사례에 제대로 부합하는지 검증

  • 네트워크 제어 등 적절한 통제방식을 통해 샌드박싱을 함으로써 모델이 임의로 데이터 소스를 스크래핑하여 의도치 않은 학습을 하지 않도록 함

  • 학습 데이터 또는 데이터 소스에 대해 엄격한 검증 및 입력 필터를 사용하여 위조된 데이터 유입을 최소화

  • 데이터 세트의 출처와 소유권에 대한 통제를 강화하여 이를 'MLSecOps' 사이클에 적용

이외에도 사이버 보안에서 일반적으로 중요하게 다루는 데이터 무결성(Integrity)을 위한 다양한 방법을 적용할 수 있다.

2.4 LLM04 Model Denial of Service

공격자는 매우 많은 양의 리소스를 소비하는 방식으로 LLM 서비스를 남용함으로써 다른 사용자의 서비스 품질을 떨어뜨리는 동시에 잠재적으로 높은 리소스 비용을 발생시킬 수 있다. 또한, 새롭게 떠오르는 주요 보안 문제로, 공격자가 LLM의 컨텍스트 창(Context Window)을 간섭하거나 조작할 수 있다는 점이다. LLM에서 컨텍스트 창은 모델이 관리할 수 있는 최대 텍스트 길이를 나타내며, 이는 모델이 이해할 수 있는 언어 패턴의 복잡성과 주어진 시간에 처리할 수 있는 텍스트의 크기를 결정하는 LLM의 중요한 특성이다. 컨텍스트 창의 크기는 모델의 아키텍처에 따라 정의되며 모델마다 다를 수 있다. 다양한 애플리케이션에서 LLM 사용 증가, 많은 리소스 사용, 사용자 입력의 예측 불가능성, 그리고, 이러한 문제에 대한 개발자들의 인식 부족으로 인해 MDOS(Model Denial of Service) 취약점이 더 심각해지고 있다.

MDOS 예방을 위해 필요한 조치는 다음과 같다.

  • 입력 유효성 검사 및 살균(Sanitization)을 통해 사용자 입력이 항상 제한 규칙을 준수하도록 하며 그렇지 않을 때 악성 콘텐츠를 걸러낼 수 있도록 함

  • 요청 단계별 리소스 사용량을 제한하여 복잡한 부분이 포함된 요청은 더 느리게 수행되도록 함

  • API 속도 제한을 적용하여 개별 사용자 또는 특정 IP 주소가 지정된 시간 동안 수행할 수 있는 요청 수를 제한

  • 시스템에서 LLM 응답이 진행 중인 작업 개수와 대기 중인 작업 개수 총합을 제한

  • LLM의 리소스 사용량을 지속해서 모니터링하여 DoS 공격을 나타낼 수 있는 비정상적인 급증 패턴을 식별

  • LLM의 컨텍스트 창에 엄격한 입력 제한을 설정하여 과부하 및 리소스 고갈을 방지

  • 개발자들에게 LLM의 잠재적인 DoS 취약성에 대한 인식을 고취하고 안전한 LLM 구현을 위한 가이드라인을 제공

2.5 LLM05 Supply-Chain Vulnerabilities

소프트웨어 공급망과 마찬가지로 LLM 공급망 역시 체계적인 방식과 도구 없이 통제하기에는 어려운 수준으로 발전하고 있다. 오픈 LLM의 확대는 LLM 성능 개선 및 적용 범위 확대에 크게 기여하고 있지만, 이에 비례하여 공급망 관리를 더 어렵게 한다. 이는 소프트웨어 공급망 취약점으로 인해 발생한 대규모 보안 위협 상황과 유사한 결과를 초래할 수 있다. LLM의 경우에는 앞서 LLM03에서 언급한 학습용 데이터의 오염까지 예방해야 하므로 더 복잡한 공급망 관리가 필요할 수 있다. 이를 위해 고려해야 할 사항은 다음과 같다.

  • 신뢰할 수 있는 공급업체만 사용하며, 이용약관 및 개인정보 보호정책을 포함하여 데이터 소스 및 공급업체를 신중하게 조사

  • 평판이 좋은 플러그인만 사용하고 애플리케이션 요구 사항에 맞게 테스트를 거쳤는지 확인

  • OWASP Top 10의 A06:2021 - 취약하고 오래된 구성 요소에 나와 있는 완화 조치를 이해하고 적용

  • 소프트웨어 자재 명세서(SBOM)를 사용하여 구성 요소의 최신 인벤토리를 유지하여 배포된 패키지의 변조를 방지하고, 정확하게 서명된 최신 인벤토리를 확보

  • 구성 요소 및 환경 취약성 검사, 승인되지 않은 플러그인 사용, 모델 및 해당 아티팩트(Artifacts)를 포함한, 오래된 구성 요소에 대한 충분한 모니터링 구현

  • 취약하거나 오래된 구성 요소를 완화하기 위한 패치 정책 구현

  • 공급업체의 보안 및 접근을 정기적으로 감사하여 보안 태세나 이용약관 등 변경 사항 확인

2.6 LLM06 Sensitive Information Disclosure

LLM 애플리케이션은 출력물을 통해 민감한 정보, 독점 알고리즘 또는 기타 기밀 정보를 노출할 가능성이 있다. 이에 따라 민감한 데이터, 지적 재산, 개인정보 침해 및 기타 보안 위반에 대한 무단 액세스가 발생할 수 있다. 따라서 LLM 애플리케이션 사용자는 LLM과 안전하게 상호 작용하는 방법을 숙지하고, LLM 애플리케이션 사용 중 민감한 데이터를 실수로 입력하는 것과 같은 위험을 파악하는 것이 중요하다. 이러한 위험을 완화하기 위해 LLM 애플리케이션은 사용자 데이터가 학습 모델 데이터에 입력되지 않도록 적절한 데이터 정제 과정을 수행해야 하며, 혹시라도 이런 민감한 데이터가 입력되면 이를 사전에 거부할 수 있는 장치가 필요하다. 

  • 적절한 데이터 살균 및 정제 기술을 통합하여 사용자 데이터가 학습 데이터로 활용되지 않도록 함

  • 강력한 입력 유효성 검사 및 살균 방법을 구현하여 잠재적인 악성 입력을 식별하고 필터링하여 모델이 오염되는 것을 방지

  • 데이터로 모델을 보강하거나 파인튜닝 하는 경우 (배포 전 또는 배포 중에 모델에 공급되는 데이터)

  • 파인튜닝 시 활용하는 데이터에 대해 최소권한 규칙을 적용하고 권한이 높은 사용자가 액세스할 수 있는 정보를 이용해 권한이 낮은 사용자가 모델을 학습시키지 않도록 함

  • 외부 데이터의 안전한 공급망을 유지하기 위한 엄격한 접근 방식을 적용

2.7 LLM07 Insecure Plugin Design

LLM 플러그인은 활성화될 때 사용자가 다른 애플리케이션 사용 중에 자동으로 호출되는 확장 기능이다. 예를 들어 검색창에 검색어를 입력하면 LLM 플러그인이 활성화되어 있으면 자동으로 생성형 AI가 답을 제시한다. 모델과 통합된 플랫폼이 이를 구동하며, 특히 모델이 LLM 애플리케이션 제공자가 아닌 다른 플랫폼에 의해 호스팅 되는 경우 LLM 애플리케이션 실행을 제어할 수 없게 된다. 또한, 플러그인은 컨텍스트 크기 제한을 처리하기 위해 유효성 검사나 입력 타입에 대한 검사 없이 제약 없는 텍스트 입력을 구현할 가능성이 높다. 따라서 이를 이용해 잠재적인 공격자가 플러그인에 악의적인 요청을 만들어 넣을 수 있으며, 이에 따라 원격 코드 실행을 포함한 다양하게 원치 않는 동작이 발생할 수 있다.

악의적인 입력으로 인한 피해는 대부분 불충분한 접근제어와 플러그인 전반의 권한 추적 실패로 인해 발생한다. 접근제어가 불충분하면 플러그인이 다른 플러그인을 맹목적으로 신뢰하고 최종 사용자가 자신의 의도대로 직접 입력을 제공한 것으로 간주할 수 있다. 이러한 부적절한 접근제어는 악의적인 입력으로 인해 데이터 유출, 원격 코드 실행, 권한 상승 등 해로운 결과를 초래할 수 있다. 따라서 플러그인은 가능한 한 엄격한 규칙에 의거 매개 변수화된 입력을 적용하고 입력 타입 및 범위 검사를 포함해야 한다. 만일 이것이 불가능하다면, 요청에 대한 정밀한 구문 분석을 실행하여 유효성 검사 및 위생 처리를 적용한 후 두 번째 단계의 호출 과정을 거치도록 해야 한다. 만일 의미론(Semantic)에 반 한 애플리케이션이기 때문에 형식이 정해지지 않은 자유로운 입력을 허용해야 한다면 잠재적으로 해로운 메소드가 호출되지 않도록 주의 깊게 검사해야 한다. 추가로 다음과 같은 조처가 예방에 도움이 된다.

  • 플러그인 개발자는 적절한 입력 유효성 검사 및 위생 처리를 보장하기 위해 ASVS(애플리케이션 보안 검증 표준)에서 OWASP의 권장 사항을 적용

  • 플러그인은 안전하지 않은 입력 매개변수 악용의 영향을 최소화하도록 OWASP ASVS 접근제어 가이드라인에 따라 설계

  • 플러그인은 효과적인 권한 부여 및 접근제어를 위해 OAuth2와 같은 적절한 인증 ID를 사용

  • 민감한 플러그인이 수행하는 모든 작업에 대해 수동으로 사용자 승인 및 확인을 요구

  • 플러그인은 일반적으로 REST API이므로 개발자는 일반적인 취약성을 최소화하기 위해 OWASP 상위 10대 API 보안 위험 - 2023에 나와 있는 권장 사항을 적용

2.8 LLM08 Excessive Agency

LLM 기반 시스템은 개발자가 다른 시스템과 연계하여 프롬프트에 응답하며 작업을 수행할 수 있도록 어느 정도 수준의 권한을 부여하는 경우가 많다. 또한, 어떤 기능을 호출할지에 대한 결정은 입력 프롬프트 또는 LLM 출력에 따라 동적으로 결정하도록 LLM '에이전트'에 위임할 수 있다. 과도한 에이전시는 LLM의 예상치 못한, 모호한 출력에 대응하여 에이전트가 해로운 작업을 수행할 수 있는 취약점을 말한다. 과도한 에이전시의 근본 원인은 일반적으로 과도한 기능, 과도한 권한 또는 과도한 자율성에 기인한다. 이는 기밀성, 무결성 및 가용성 전반에 걸쳐 광범위한 영향을 미칠 수 있으며, 특히 LLM 애플리케이션이 무슨 시스템과 어떻게 상호 작용할 수 있는지에 따라 영향도는 천차만별로 달라진다.

LLM 에이전트가 호출할 수 있는 플러그인/도구 그리고 이러한 플러그인/도구에서 구현되는 기능을 필요한 최소한의 기능으로만 제한하는 것이 중요하다. 예를 들어, LLM 기반 시스템에 URL의 콘텐츠를 가져오는 기능이 필요하지 않다면 해당 플러그인은 LLM 에이전트에 제공되지 않아야 하며 사용자의 메일함에 액세스하여 이메일을 요약하는 플러그인에는 이메일을 읽는 기능만 필요할 수 있으므로 플러그인에는 메시지 삭제 또는 전송과 같은 다른 기능이 포함되어서는 안 된다. 이 밖에도 다음과 같은 조처가 과도한 에이전시를 예방하는 데 도움 된다.

  • 가능한 개방형 기능(예: 셸 명령 실행, URL 가져오기 등)은 피하고 보다 세분된 기능을 갖춘 플러그인/도구 사용

  • 원치 않는 작업 수행을 방지하기 위해 LLM 플러그인/도구에 부여되는 시스템 권한을 필요한 최소한의 권한으로 제한

  • LLM의 다운스트림 작업 실행 여부에 대해 LLM이 아닌 다운스트림 서비스에서 승인

  • 모든 작업을 수행하기 전에 사람이 승인하도록 하는 프로세스를 도입

2.9 LLM09 Overreliance

LLM은 창의적이고 유익한 콘텐츠를 제작할 수 있지만, 사실과 다르거나 부적절한 안전하지 않은 콘텐츠를 생성할 수도 있다. 이를 환각 또는 작화증(Confabulation)이라고 한다. 작화증은 자신이 직접 경험하지 않은 일을 마치 실제로 겪었던 것처럼 기억하고 있고 실제로 있었던 일이라고 믿는 것을 의미하는 의학용어이다. LLM 애플리케이션 결과를 사용하는 사람 또는 시스템이 이러한 정보를 감독이나 확인 없이 신뢰하면 보안 침해, 잘못된 정보, 잘못된 커뮤니케이션, 법적 문제 및 평판 손상을 초래할 수 있다. 특히, LLM으로 생성된 소스 코드는 눈에 띄지 않게 심각한 보안 취약점을 일으킬 수 있다. 

이를 예방하기 위해서는 LLM 결과물을 정기적으로 모니터링하고 검토하는 것이 중요하다. 일관성 여부에 대한 분석 또는 투표를 시행함으로써 일관성이 없는 텍스트를 걸러 낼 수도 있다. 또한, 하나의 프롬프트에 대해 여러 모델의 응답을 비교하면서 출력의 품질과 일관성을 판단할 수 있다. 즉, 신뢰할 수 있는 외부 소스와 LLM 출력을 교차 확인하는 추가 검증 단계를 도입한다면 모델이 제공하는 정보가 정확하고 신뢰할 수 있는지 확인하는 데 도움이 될 수 있다. 물론, 파인튜닝과 임베딩, 그리고 CoT, RAG 기법 등 출력 품질을 개선할 수 있는 다양한 노력도 필요하다. 이 외에도 다음과 같은 노력이 도움이 될 수 있다.

  • 복잡한 작업을 관리할 수 있는 하위 작업으로 세분화하여 각기 다른 담당자가 전문성을 갖고 다루도록 하는 체계 적용

  • LLM 사용과 관련된 위험과 한계를 명확하게 조직 내에서 공유

  • LLM을 사용하여 개발하면 보안 코딩 관행과 지침을 수립하여 취약점 발생 가능성을 최소화

2.10 LLM10 Model Theft

이 항목은 악의적인 행동 또는 APT에 의해 LLM 모델에 무단으로 접근하거나 혹은 아예 모델을 유출하는 것을 의미한다. APT(Advanced Persistent Threat)는 오랜 기간에 걸친 지속적인 해킹 시도를 통해 개인정보와 같은 중요한 데이터를 유출하는 형태의 공격을 의미하는 것으로 우리나라에서 벌어진 게임업체, 은행권, 온라인 쇼핑몰 등의 개인정보 유출 피해 사례 대부분이 APT 공격과 관련되어 있다. 지식재산권으로 보호되는 독점 LLM 모델이 복사되거나 가중치와 파라미터가 추출되어 기능적으로 동등한 것을 만들 때 이를 ‘모델 도난’으로 본다. LLM 모델 도난으로 인한 영향으로는 경제적 그리고 브랜드 평판 손실, 경쟁 우위 약화, 모델의 무단 사용 또는 모델에 포함된 민감한 정보에 대한 무단 접근 등을 들 수 있다.

언어 모델이 점점 더 강력해지고 널리 보급됨에 따라 LLM 도난은 더욱 심각한 보안 문제가 될 수 있다. 이에, 조직과 연구자는 지적 재산의 기밀성과 무결성을 보장할 수 있는 강력한 보안 조치를 통해 LLM 모델을 보호해야 할 것이다. 최근 오픈소스 LLM 보급 및 활용이 급속도로 확대됨에 따라 지식재산권 관점에서의 모델 도난에 대한 우려는 다소 퇴색되었다는 견해도 있다. 하지만 특정 모델이 의도치 않게 오남용되는 것을 방지하기 위해서는 오픈소스 모델이라고 하더라도 무결성(Integrity) 보증을 위한 조치는 모델 개발자가 반드시 실행해야 할 절차다.

만일 LLM 모델이 상위 또는 최상위 시스템 접근 권한을 가지고 있다면 도난당한 모델을 통해 공격자는 비인가 된 시스템 접근을 시도할 수 있다. 강력한 접근 권한 제어 및 인증 메커니즘을 구현하여 모델 저장소 및 학습 데이터, 기타 모델 구현을 위해 필요한 모든 자원에 대한 보호 조치가 필요하다. 역할 기반 접근제어 및 최소권한 원칙이 적용되어야 한다. 또한, 프로덕션 서비스에 사용되는 경우 중앙 집중식 모델 인벤토리 및 레지스트리를 사용하는 것이 바람직하다. 중앙 집중식 모델 레지스트리를 사용하면 접근제어, 인증 및 모니터링/로깅 기능을 효과적으로 구현할 수 있으며, 따라서 LLM에 대한 무단 접근을 최소화할 수 있다. 이외에도 다음과 같은 예방 조치를 고려해 볼 수 있다.

  • 네트워크 리소스, 내부 서비스 및 API에 대한 LLM의 액세스 제한

  • 거버넌스, 추적 및 승인 워크플로우 등 MLSecOps 자동화를 통해 인프라 내 액세스 및 배포 제어 강화

  • LLM 라이프사이클의 주요 단계에 워터마크를 적용하여 추적

3. 요약 및 시사점

OWASP에서 제시한 LLM 10대 보안 취약점은 일반 사이버 보안 카테고리에서 적용되는 취약점을 LLM 애플리케이션으로 확장하여 생성형 AI를 더욱 안전하게 활용함과 동시에 이를 악용한 또 다른 보안 위협을 방지하는 목적으로 만들어졌다. 주요 키워드를 이용해 요약하면 모델 및 학습용 데이터 무결성, 악용 탐지 및 모니터링, 강력한 접근제어, MLSecOps를 통한 라이프사이클 관리, 데이터 및 모델의 공급망 관리, 그리고 LLM 애플리케이션의 한계 인식, 이렇게 정리할 수 있다. LLM 애플리케이션 데이터 플로우 내에서 각 취약점을 배치해 보면 그림 3과 같다. 제일 좌측의 사용자부터 우측의 다운스트림 서비스까지의 전체 플로우와 함께 각 단계에 잠재하는 10대 위협이 잘 나타나 있다. 자세한 내용은 OWASP의 공식 문서를 참고하길 바란다.

그림 3 LLM 애플리케이션 데이터 플로우 (그림 출처: OWSAP)

OWASP는 이러한 보한 위협에 대응하기 위한 지침도 공식 발표하였다. 여기엔 LLM 배포 전략과 함께 사이버 보안을 위한 거버넌스 체계 및 체크리스트를 제시하고 있다. LLM 애플리케이션 개발자 및 서비스 운영자뿐만 아니라 사용자 관점에서도 안전하게 생성형 AI를 활용할 수 있는 많은 시사점을 제시하고 있다. 추후 이 내용도 한번 다뤄 보려 한다.

참고문헌

1) SDxCentral, “Microsoft and OpenAI reveal how hackers use genAI, LLMs for cyberattacks”, Feb 16, 2024

2) 스피어 피싱은 다수의 사용자를 속이는 일반 피싱과는 달리 한 명 또는 소수의 특정 피해자를 표적으로 하는 공격이다.

3) “OWASP Top Ten”, https://owasp.org/www-project-top-ten/

4) 윤대균, “LLM 보안 취약점 분석 - OWASP 드래프트 v0.1”, 디지털서비스 이슈리포트, 2023.06

5) OWASP, “OWASP Top 10 for LLM Applications version 1.1”, Oct 16, 2023

6) 메일 전송이나 삭제가 이러한 특별한 기능 포함될 수 있다.

7) https://owasp.org/www-project-application-security-verification-standard/

8) 예를 들어, 적절하고 독립적인 감사를 받는 보안 절차가 마련되어 있는지, 모델 운영자의 정책이 데이터 보호 정책과 일치하는지, 즉 사용자 데이터가 모델 학습에 사용되지 않는지, 저작권이 있는 자료 사용에 대한 적절한 법적 보호장치가 마련되어 있는지 확인 필요.

9) OWASP, “OWASP Top 10 for LLM Applications Version 1.1“, Oct 2023

10) OWASP, “LLM AI Cybersecurity & Governance Checklist Version 1.0”, Feb 18 2024


프로세스가 진행중입니다. 잠시만 기다려주세요.