AI 분야 주요 보안위협 TOP 10
[보안뉴스 김경애 기자] AI의 바람이 거세지고 있는 가운데, 보안위협 바람도 휘몰아치고 있다. 다크웹을 통해 AI 공격 도구를 판매하거나 AI를 이용한 악의적 공격으로 기업과 기관을 호시탐탐 노리고 있다. 이에 <보안뉴스>는 AI 분야 주요 보안위협 10가지를 살펴봤다.
[이미지=gettyimagesbank]
1. 프롬프트 인젝션 공격
첫째, 프롬프트 인젝션 공격이다. 이 공격은 직접 프롬프트를 입력해 공격하는 다이렉트 인젝션(Direct Injection) 공격과 공격자가 간접적으로 프롬프트를 입력하는 인다이렉트 인젝션(Indirect Injection)으로 구분된다.
다이렉션 공격의 경우 ①공격자가 마약 제조 방법을 요청하는 질문을 ROT13 암호화를 통해 변환 ②공격자가 암호화된 질문을 챗봇에게 질문 ③챗봇은 공격자의 암호화된 질문을 이해해 마약 제조방법을 생성해 답변한다.
인다이렉션 공격의 경우 ①공격자가 폭발물에 관련된 정상적인 내용을 질문하면 ②챗봇은 해당 질문에 대한 내용을 생성해 답변 ③공격자는 원래 목적인 폭발물 제작법에 대한 악의적인 내용을 질문 ④챗봇은 이전에 대답했던 내용에 기반해 악의적인 질문을 거부하지 않고 답변한다.
2. 불안전한 출력 처리
둘째, 불안전한 출력 처리다. 이 경우 LLM이 생성한 출력에 대한 유효성 검증 부족 등 적절하게 처리하지 못할 때 발생할 수 있는 취약점이다. LLM 출력이 그대로 사용자 브라우저에 출력될 때 XSS 취약점이 발생, LLM 출력이 브라우저로 출력될 때, 사용자가 의도하지 않은 동작 가능한 CSRF, LLM이 출력을 시스템 명령 실행 함수에 이용할 때 RCE 공격, 내부에서 LLM 출력을 이용해 API를 사용할 때, API 입력을 조작해 SSRF 공격울 감행하는 등 사용자와 서버에 피해를 입힐 수 있다.
이에 대해 SK쉴더스 EQST Lab팀 이호석 팀장은 SK AI 서밋에서 “사용자 프롬프트에서 위험한 단어를 필터링 하는 입력값 검사를 하고, 출력에서 특수문자를 변환해 클라이언트에서 스크립트가 동작하지 않도록 처리하는 출력 인코딩을 해야 한다”며 “코드 실행이 필요한 경우 격리된 환경에서 동작하게 샌드박스 환경 적용을 해야 한다”고 제시했다.
3. 학습데이터 중독
학습데이터 중독 취약점은 학습에 사용되는 데이터가 조작되어 모델이 오염될 수 있는 취약점으로 모델의 신뢰성이 저하될 수 있다. 공격자는 이를 노리고 의도한 특정한 행동을 하도록 유도함으로써 백도어 공격을 감행하거나 학습 데이터에 악성 데이터를 추가해 잘못된 패턴을 학습하도록 유도해 데이터를 변형할 수 있다.
이호석 팀장은 “학습 시 사용하는 데이터의 적합성을 검토하는 ML-BOM을 적용하고, 사전학습, 파인튜닝 데이터에 대한 엄격한 검증 후 학습하는 데이터 검토가 필요하다”며 “모의해킹을 통해 모델의 안전성을 검증해야 한다”고 대응방안을 설명했다.
4. 모델 서비스 거부
네 번째는 모델 서비스 거부다. 모델 서비스 거부는 많은 자원을 사용하게 만드는 요청을 통해 LLM에 과부하를 일으켜 서비스 장애를 유발하거나 과도한 리소스 비용을 초래하는 공격이다. 이를테면 반복 작업 수행, 특수 토큰 악용, API 요청 방해, 입력 오버플로우 등이 해당된다.
이에 대한 주의사항으로 이 팀장은 IP 사용량 제한, 악의적으로 사용될 수 있는 프롬프트 필터링, 리소스 사용량에 대한 모니터링, 입력 길이 제한을 통한 과부하 방지 등을 당부했다.
5. 공급망 취약점
다섯 번째는 공급망 취약점이다. LLM 애플리케이션 개발 과정에서 취약한 구성 요소를 사용해 발생하는 취약점으로, 검증되지 않은 모델이나 외부 데이터셋을 사용할 경우 취약할 수 있다. 공격방식은 취약한 패키지 사용, 취약점이 존재하는 모델 사용, 오염된 데이터 사용, 업데이트 및 관리 미흡이 해당된다.
대응방안에 대해 이 팀장은 SBOM 적용, 외부 모델 사용 시 충분한 검증 필요, 학습에 사용되는 데이터에 악의적인 정보가 포함됐는지 검사하는 데이터 검증, 주기적 패치를 강조했다.
6. 민감정보 노출
다음은 민감정보 노출이다. LLM 애플리케이션 응답을 통해 개인정보 및 내부 정보와 같은 민감정보가 노출될 수 있다. 이는 학습 시 민감 정보 필터링과 데이터 권한 분리가 미흡하기 때문이다. 따라서 데이터 검증, 입출력 검사, 모델 테스트, 권한 최소화를 해야 한다는 것.
7. 부적절한 플러그인 설계
▲SK쉴더스 EQST Lab팀 이호석 팀장[사진=보안뉴스]
LLM 플러그인에 대한 접근 제어가 미흡하거나 안전하지 않은 설계로 보안 위협이 발생할 수 있다. 공격자가 신뢰할 수 없는 플러그인 호출, 플러그인에 과도한 권한 부여, 플러그인 자체 취약점을 이용할 수 있다.
이호석 팀장은 “플러그인 제작 시 매개 변수를 엄격히 검증해 악용 방지, 플러그인 요청 시 권한 분리를 위해 적절한 인증기법 적용, 민감한 작업의 경우 사용자 검토 과정 추가, 악의적인 명령이 포함됐는지 입력검증을 해야 한다”고 당부했다.
8. 과도한 에이전시
과도한 에이전시는 에이전트에 과도한 권한이 부여되어 발생하는 취약점으로 서비스가 잠재적인 위험에 노출될 수 있다. 따라서 권한 최소화, 사용자 확인, 모니터링, 입력 검증이 중요하다는 설명이다.
9. 과도한 의존
과도한 의존은 LLM이 생성한 콘텐츠를 검증없이 맹신해 발생할 수 있는 취약점으로 허위정보가 확산될 수 있다. 공격방식은 출력의 잘못된 해석, 출력 검증 부족, 제한 사항에 대한 이해 부족, 불충분한 오류처리 등이 해당된다. 이를 위한 대응방안으로 교차 검증, 모니터링, 멀티 에이전트, 사용자 교육 등이 요구된다.
10. 모델 탈취
모델 탈취는 모델에 무단 접근 및 유출이 가능한 경우 발생하는 취약점으로 경제적 손실을 입거나 민감정보가 유출될 수 있다.
대응방안으로 이호석 팀장은 “엑세스 제어를 통해 무단 접근을 방지하고, 모델 엑세스 로그를 기록해 정기적으로 모니터링해야 한다”며 “많은 요청을 통한 모델 복제를 막기 위해 API 속도와 사용량을 제한하고, 추출 시도로 의심되는 요청에 대한 필터링을 적용해야 한다”고 강조했다.
이 게시글이 문제가 될 시, 삭제하겠습니다