모델 절취, 출력 결과의 위생 불량, 데이터 오염
프롬프트 조작, 취약한 플러그인, 과도한 에이전트 등
“안전하고 유익․정확한 생성AI 활용 위해 철저 대응 필요”
[애플경제 이윤순 기자] 프롬프트 조작이나 모델 절취, 출력 결과의 위생 불량, 데이터 오염 등 LLM의 보안을 해치는 요인들이 새삼 주목받으며, 경각심을 높이고 있다. 최근 소프트웨어 애플리케이션과 웹 보안 개선을 위한 글로벌 비영리 단체인 OWASP(Open Web Application Security Project)는 최근 사이버 보안을 위해 지목되는 취약점을 LLM 애플리케이션으로 확장, 제시하고 있어 주목된다. 이는 결국 안전한 생성AI 활용으로 이어진다.
OWASP가 제시한 LLM 보안 취약점들에 대해 윤대균 아주대 교수는 “이에 대응하기 위해선 모델 및 학습용 데이터 무결성이나, 악용 탐지와 모니터링, 강력한 접근제어, MLSecOps를 통한 라이프사이클 관리, 데이터와 모델 공급망 관리 등이 필요하다”고 강조했다. 그러면서 OWASP의 LLM 보안 취약점을 일일이 나열하며, 주의를 당부하고 있다.
윤 교수가 지능정보사회진흥원을 통해 소개한 바에 따르면 우선 ‘프롬프트 인젝션’, 즉 정교하게 프롬프트 입력을 조작, 본래 (프롬프트가 추구하는) 정책이나 가이드에 구애받지 않고 공격자의 의도대로 LLM을 실행하고자 하는 수법이 있다. 이를 위해 소위 ‘탈옥’(Jail-breaking)하는 방식의 직접(direct) 프롬프트 인젝션이 일반적이다. 또한 조작된 외부 입력을 통한 간접(Indirect) 프롬프트 인젝션 방식도 있다. 즉, LLM이 웹사이트나 파일 등 공격자가 제어할 수 있는 외부 소스로부터 입력을 받는 경우다.
‘탈옥’ 방식 프롬프트 인젝션, ‘위생 불량’과 오염 등
두 번째로 LLM에서 생성된 출력이 다른 컴포넌트나 시스템에 다운스트림되기 전에 충분한 검증과 ‘위생’ 처리가 이루어지지 않는 경우다. 그 결과 웹 브라우저에서 크로스 사이트 스크립트(XSS)나, 크로스 사이트 요청 위조(CSRF)와 같은 공격이 가능해진다. 또 백엔드에서는 서버-사이드의 요청 위조(SSRF)를 통해 권한 상승을 취하거나, 원격 코드 실행을 초래할 수 있다.
다음으로 학습 데이터가 오염되는 경우다. 다시 말해 모델의 보안이나, 효율성, 윤리적 행동을 손상할 수 있는 취약성이다. 백 도어를 만들거나 편견을 주입하기 위해 사전 학습 데이터나 파인튜닝, 임베딩 프로세스와 관련된 데이터를 조작하는 것이다. 그 결과 오염된 정보에 사용자가 직접 노출되거나, 시스템 성능 저하, 다운스트림 소프트웨어 컴포넌트 악용, 평판 손상과 같은 피해를 초래할 수 있다.
이 경우 “설사 LLM 사용자가 결과물을 불신한 나머지 활용하지 않는다고 해도 모델 기능이 손상되거나, 브랜드 평판에 대한 피해를 입는 등의 위험은 여전히 남아있다”는 것이다.
많은 리소스 낭비로 모델 서비스 왜곡도
또 다른 수법은 공격자가 지나치게 많은 양의 리소스를 소비하는 방식으로 LLM 서비스를 남용하는 것이다. 이를 통해 다른 사용자의 서비스 품질을 떨어뜨리는 동시에 잠재적으로 높은 리소스 비용을 발생시킬 수 있다.
이는 공격자가 LLM의 컨텍스트 창(Context Window)을 간섭하거나 조작할 수 있다는 점이 문제다. LLM에서 컨텍스트 창은 모델이 관리할 수 있는 최대 텍스트 길이를 나타낸다. 이는 모델이 이해할 수 있는 언어 패턴의 복잡성과, 주어진 시간에 처리할 수 있는 텍스트의 크기를 결정하는 LLM의 중요한 특성이다. 컨텍스트 창의 크기는 모델의 아키텍처에 따라 정의되며 모델마다 다를 수 있다. 그런 가운데 LLM 사용 증가, 지나친 리소스 사용, 사용자 입력의 예측 불가능성 등으로 이처럼 모델 서비스의 왜곡을 초래할 수 있다는 지적이다.
공급망 취약점도 문제가 되고 있다. 즉, SW공급망처럼 LLM 공급망 역시 체계적인 방식과 도구 없이 통제하기에는 어려운 수준으로 발전하고 있다. 특히 오픈 LLM의 확대는 공급망 관리를 더 어렵게 한다. 이는 소프트웨어 공급망 취약점으로 인해 발생한 대규모 보안 위협 상황과 유사한 결과를 초래할 수 있다. 특히 LLM의 경우에는 학습용 데이터의 오염까지 예방해야 하므로 더 복잡한 공급망 관리가 필요할 수 있다.
입력 과정의 개인정보 유출, 취약한 플러그인 등
민감한 개인정보 등의 유출도 문제다. LLM 애플리케이션은 출력물을 통해 민감한 정보, 독점 알고리즘 또는 기타 기밀 정보를 노출할 가능성이 있다. 민감한 데이터, 지적 재산, 개인정보 침해 및 기타 보안 위반에 대한 무단 액세스가 발생할 수 있다. 따라서 “LLM 애플리케이션 사용자는 LLM과 안전하게 상호 작용하는 방법을 숙지하고, LLM 애플리케이션 사용 중 민감한 데이터를 실수로 입력하는 것과 같은 위험을 파악하는 것이 중요하다”는 주문이다. 윤 교수는 또 “이러한 위험을 완화하기 위해 LLM 애플리케이션은 사용자 데이터가 학습 모델 데이터에 입력되지 않도록 적절한 데이터 정제 과정을 수행해야 하며, 혹시라도 이런 민감한 데이터가 입력되면 이를 사전에 거부할 수 있는 장치가 필요하다”고 강조했다.
취약한 플러그인도 경계 대상이다. LLM 플러그인은 활성화될 때 사용자가 다른 애플리케이션 사용 중에 자동으로 호출되는 확장 기능이다. 예를 들어 검색창에 검색어를 입력할 경우 LLM 플러그인이 활성화되어 있으면 자동으로 생성AI가 답을 제시한다. 모델과 통합된 플랫폼이 이를 구동하는데, 특히 모델이 LLM 애플리케이션 제공자가 아닌 다른 플랫폼에 의해 호스팅 되는 경우 LLM 애플리케이션 실행을 제어할 수 없게 된다.
또한, 플러그인은 컨텍스트 크기 제한을 처리하기 위해 유효성 검사나 입력 타입에 대한 검사 없이 제약 없는 텍스트 입력을 할 가능성이 높다. “따라서 이를 이용해 잠재적인 공격자가 플러그인에 악의적인 요청을 만들어 넣을 수 있으며, 이에 따라 원격 코드 실행을 포함한 다양하게 원치 않는 동작이 발생할 수 있다.”는 경고다.
과도한 권한이나 기능도 경계해야 한다. LLM은 개발자가 다른 시스템과 연계, 프롬프트에 응답하며 작업을 수행할 수 있도록 일정하게 제한된 수준의 권한을 부여하는 경우가 많다. 또한, 어떤 기능을 호출할지에 대한 결정은 입력 프롬프트나, LLM 출력에 따라 동적으로 결정하도록 LLM '에이전트'에 위임할 수 있다.
이 경우 과도한 에이전시는 LLM의 예상치 못한, 모호한 출력에 대응해 유해한 작업을 수행할 수도 있다. 바로 그게 취약점이다. 과도한 에이전시가 생기는 원인은 과도한 기능이나, 과도한 권한, 과도한 자율성 탓이다.
환각, 작화증, LLM 강탈 등
LLM이 창의적이다못해 사실과 다르거나 부적절하고 안전하지 않은 콘텐츠를 생성할 수도 있다. 이를 환각 또는 작화증(Confabulation)이라고 한다. 작화증은 자신이 직접 경험하지 않은 일을 마치 실제로 겪었던 것처럼 기억하고, “실제로 있었던 일”이라고 믿는 것을 의미한다. LLM 애플리케이션도 마찬가지다. 그 결과를 사용자나 시스템이 감독하거나 확인하지 않은채 신뢰하면 보안 침해나, 오류, 법적 문제, 평판 손상을 초래할 수 있다. 특히, LLM으로 생성된 소스 코드가 이런 심각한 보안 취약점을 일으킬 수 있다.
LLM을 도둑맞는 경우도 있다. 악의적인 행동이나 APT(Advanced Persistent Threat)에 의해 LLM 모델에 무단으로 접근하거나, 아예 모델을 빼돌리기도 한다. “APT는 오랜 기간에 걸친 지속적인 해킹 시도를 통해 개인정보와 같은 중요한 데이터를 유출하는 형태의 공격”이란 설명이다. 즉, 지식재산권으로 보호되는 독점 LLM 모델이 복사되거나, 가중치와 파라미터가 추출되어 기능적으로 동등한 것을 만들기도 한다.이른바 ‘모델 도난’이다.
