- Cloudflare가 대규모 언어 모델(Large Language Models, LLMs) 앞에 배치하여 남용을 식별하는 새로운 보호 계층인 'AI용 방화벽(Firewall for AI)' 개발을 발표
- 인터넷에 연결된 애플리케이션으로서 LLM을 사용하는 것은 새로운 취약점을 도입하며, 악의적인 행위자들에 의해 악용될 수 있음
- 기존 웹 및 API 애플리케이션에 영향을 미치는 취약점뿐만 아니라 LLM의 작동 방식으로 인해 새로운 위협이 발생
- AI용 방화벽은 LLM을 사용하는 애플리케이션에 특화된 고급 웹 애플리케이션 방화벽(WAF)으로, 취약점을 탐지하고 모델 소유자에게 가시성을 제공하는 도구 세트를 포함
LLM이 전통적인 애플리케이션과 다른 이유는 무엇인가?
- LLM을 인터넷 연결 애플리케이션으로 고려할 때, 전통적인 웹 앱과 비교하여 두 가지 주요한 차이점이 있음
- 첫째, 사용자가 제품과 상호작용하는 방식이 다름. 전통적인 앱은 결정론적인 반면, LLM은 비결정론적이며 자연어를 기반으로 함
- 둘째, 애플리케이션 제어 평면이 데이터와 상호작용하는 방식이 다름. 전통적인 애플리케이션에서는 제어 평면(코드)과 데이터 평면(데이터베이스)이 잘 분리되어 있으나, LLM에서는 훈련 데이터가 모델 자체의 일부가 되어 사용자 프롬프트에 의한 데이터 공유를 제어하기 어려움
OWASP LLM 취약점
- OWASP 재단은 LLM에 대한 취약점 상위 10가지를 발표하여 언어 모델을 보호하는 방법에 대해 생각하는 데 유용한 프레임워크를 제공함
- 일부 위협은 웹 애플리케이션의 OWASP 상위 10가지와 유사하지만, 언어 모델에 특화된 위협도 있음
LLM 배포
- LLM의 위험은 배포 모델에 따라 다름. 현재 세 가지 주요 배포 접근 방식이 있음
- Internal LLM(내부): 기업은 일상 업무에서 인력을 지원하기 위해 LLM을 개발함. 이는 회사 자산으로 간주되며 직원이 아닌 사람이 액세스해서는 안 됨. 예를 들어 맞춤형 제안을 생성하는 데 사용되는 영업 데이터 및 고객 상호 작용에 대해 학습된 AI 부조종사나 엔지니어가 조회할 수 있는 내부 지식 기반에 대해 학습된 LLM이 있음
- Public LLM(공개): 기업 외부에서도 액세스할 수 있는 LLM. 이러한 솔루션에는 누구나 사용할 수 있는 무료 버전이 있는 경우가 많으며 일반 또는 공개 지식에 대해 학습된 경우가 많음. 예를 들어 OpenAI의 GPT나 Anthropic의 Claude가 있음
- Product LLM(제품): 기업의 관점에서 볼 때, LLM은 고객에게 제공되는 제품이나 서비스의 일부일 수 있음. 일반적으로 자체 호스팅되는 맞춤형 솔루션으로, 회사 리소스와 상호 작용하는 도구로 사용 가능. 예를 들어 고객 지원 챗봇 또는 Cloudflare AI 어시스턴트.
- 모든 시나리오에서 모델을 남용으로부터 보호하고, 모델에 저장된 독점 데이터를 보호하며, 사용자를 잘못된 정보나 부적절한 내용으로부터 보호해야 함
AI용 방화벽
- Cloudflare AI용 방화벽은 전통적인 WAF처럼 배치되며, 모든 LLM 프롬프트가 포함된 API 요청을 스캔하여 가능한 공격 패턴과 서명을 탐지
- Cloudflare Workers AI 플랫폼에 호스팅된 모델이나 타사 인프라에 호스팅된 모델 앞에 배치될 수 있으며, Cloudflare AI Gateway와 함께 사용될 수 있음
볼륨 공격 방지
- OWASP가 나열한 위협 중 하나는 모델 서비스 거부(Model Denial of Service)임
- 전통적인 애플리케이션과 마찬가지로, DoS 공격은 자원을 과도하게 소비하여 서비스 품질을 저하시키거나 모델 운영 비용을 증가시킴
- 이 위험은 개별 세션에서 요청의 비율을 제어하는 속도 제한 정책을 채택하여 완화할 수 있음
민감한 정보 식별
- 민감한 정보에 대한 두 가지 사용 사례가 있으며, 모델과 데이터를 소유한 경우와 공개 LLM에 사용자가 데이터를 전송하는 것을 방지하려는 경우에 따라 다름
- OWASP가 정의한 _민감한 정보 공개_는 LLM이 응답에서 기밀 데이터를 부주의하게 공개할 때 발생하여 무단 데이터 접근, 개인정보 침해 및 보안 위반으로 이어질 수 있음
모델 남용 방지(Preventing Abuse)
- 모델 남용은 '프롬프트 주입'이나 요청을 제출하여 환각을 유발하거나 부정확하고, 불쾌하거나, 부적절하거나, 주제에서 벗어난 응답을 생성하는 것과 같은 다양한 접근 방식을 포함함
- 프롬프트 주입은 특별히 제작된 입력을 통해 언어 모델을 조작하려는 시도로, LLM에 의도하지 않은 응답을 유발함
AI용 방화벽 사용 방법
- "Application Security Advanced"를 사용하는 기업 고객은 Advanced Rate Limiting 과 Sensitive Data Detection 를 즉시 사용할 수 있음
- AI용 방화벽의 프롬프트 검증 기능은 현재 개발 중이며, 향후 몇 달 내에 베타 버전이 Workers AI 사용자에게 출시될 예정