Continuous Discovery of Vulnerabilities in LLM Serving Systems with Fuzzing
본 논문은 LLM 서빙 시스템의 동시성 및 상태 관리 복잡성을 대상으로 하여 캐시 격리 실패와 성능 간섭과 같은 치명적인 취약점을 드러내기 위해 GRIEF라는 그레이박스 퍼저를 소개하며, vLLM 및 SGLang과 같은 엔진에서 CVE 2건을 포함하여 15개의 새로운 문제를 성공적으로 발견했습니다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
거대한 고속 도서관을 상상해 보세요. 여기서 한 명의 사서 (AI 모델) 가 수천 개의 질문에 동시에 답변합니다. 초고속으로 작동하기 위해 이 사서는 한 번에 하나의 질문만 답변하는 것이 아니라, 책상 위에 '부착식 메모' 시스템 (KV 캐시라고 함) 을 유지합니다. 두 사람이 비슷한 질문을 하면 사서는 첫 번째 사람의 메모를 재사용하여 두 번째 사람의 처리 속도를 높입니다. 또한 버스 승객을 태우듯 질문자들을 '배치'로 그룹화하여 함께 답변합니다.
이 논문은 GRIEF라는 새로운 보안 도구를 소개합니다. 이는 '스트레스 테스트 로봇'으로 생각할 수 있으며, 장난기 많지만 해가 없는 장난꾸러기처럼 행동합니다. 이 도구의 임무는 도서관을 부수거나 책을 훔치는 것이 아니라, 매우 구체적이고 기이하게 타이밍이 맞춰진 질문 조합으로 사서를 속여 실수를 저지르게 하는 것입니다.
다음은 이 논문이 발견한 바를 간단히 설명한 것입니다.
1. 문제: '부착식 메모'의 혼란
보통 우리는 질문의 내용 (예: "은행을 해킹하는 방법은 무엇인가?") 에 대해 걱정합니다. 하지만 이 논문은 질문의 타이밍과 그룹화가 모든 질문이 완벽하게 정중하고 정상적임에도 불구하고 사서를 혼란스럽게 만들 수 있음을 발견했습니다.
사서가 부착식 메모를 재사용하고 사람들을 배치로 묶고 있기 때문에, GRIEF는 시스템이 고장 날 수 있는 세 가지 주요 방법을 발견했습니다.
'유령 메모' 오염 (상태 손상):
A 라는 사람이 "24 + 48 + 15 는 얼마인가?"라고 묻고 사서가 부착식 메모에 "87"이라고 적었다고 가정해 보세요. 그다음 B 라는 사람이 정확히 같은 질문을 합니다. 사서가 메모를 재사용하기 때문에, 실수로 B 에게는 배경에서 다른 계산이 진행 중일 때 나온 잘못된 숫자 "60"을 답변으로 줍니다.- 결과: 사서는 완전히 틀렸지만 자신감 있고 유창한 답변을 제공하며, 도서관은 붕괴하지 않습니다. 다만 침묵 속에서 거짓말을 할 뿐입니다.
'시끄러운 이웃' 교통 체증 (성능 병리):
대기실의 한 사람이 처리하는 데 아주 조금 더 많은 두뇌 에너지를 필요로 하는 질문을 시작한다고 상상해 보세요. 사서가 효율성을 위해 모든 것을 한 번에 처리하려고 하기 때문에, 이 한 사람 때문에 전체 책상이 우연히 막힙니다.- 결과: 차례를 기다리던 나머지 사람들은 사서가 여전히 '생존'하고 작동 중임에도 불구하고 응답을 받기 위해 몇 분에서 몇 시간까지 기다려야 합니다. 도서관이 문을 닫은 것은 아니지만, 사실상 다른 모든 사람에게는 쓸모가 없게 됩니다.
'혼란스러운 버스 기사' (충돌/생존성 실패):
사서가 세 가지 다른 유형의 승객 (단골, VIP, 특별 손님) 을 같은 버스에 태우려고 한다고 가정해 보세요. 개별적으로 각 승객은 문제없습니다. 하지만 사서가 특정 순서로 그들을 모두 한데 묶으려 할 때, 버스 기사 (스케줄러) 는 누가 버스에 탔는지 혼란을 느껴 차량을 충돌시킵니다.- 결과: 아무도 불법적인 일을 하지 않았음에도 불구하고 도서관 전체가 꺼지고 재시작해야 합니다.
2. GRIEF 의 작동 방식
대부분의 보안 테스트는 단일 질문이 위험한지 확인합니다. GRIEF 는 다릅니다. GRIEF 는 일련의 사건을 입력으로 간주합니다.
- 비유: 지휘자가 오케스트라를 지휘하는 상황을 상상해 보세요. GRIEF 는 바이올리니스트 한 명이 올바른 음을 연주하는지 확인하는 대신, 바이올리니스트가 언제 연주하는지, 누구와 함께 연주하는지, 그리고 얼마나 빠르게 연주하는지를 변경합니다.
- 방법: GRIEF 는 시간적으로 겹치는 수천 개의 요청을 보냅니다. 그리고 다음과 같은 '결함'을 관찰합니다.
- 답변이 변해서는 안 될 때 약간 변했는가?
- 응답 시간이 갑자기 10 밀리초에서 10 초로 급증했는가?
- 시스템이 멈추거나 충돌했는가?
- 검증: AI 는 때때로 약간 무작위적일 수 있으므로, GRIEF 는 즉시 "버그!"라고 외치지 않습니다. 대신 동일한 사건 순서를 통제된 방식으로 다시 재생하여 결함이 다시 발생하는지 확인합니다. 만약 발생한다면, 그것은 실제 버그입니다.
3. 발견 사항
연구진은 vLLM 과 SGLang 이라는 두 가지 인기 있는 도서관 시스템에 GRIEF 를 적용하여 15 개의 잠재적 버그를 발견했습니다.
- 10 개는 해당 시스템 개발자들에 의해 확인되었습니다.
- 2 개는 너무 심각하여 공식적인 "CVE" 번호 (수정이 필요한 보안 결함의 고유 ID 와 같은 것) 를 받았습니다.
왜 이것이 중요한가
이 논문은 우리가 잘못된 렌즈를 통해 AI 보안을 바라보고 있다고 주장합니다. 우리는 AI 가 무례하거나 위험한 무언가를 말하는지 확인해 왔습니다. 하지만 이 연구는 인프라 (사서, 부착식 메모, 버스 기사) 가 그토록 취약함을 보여줍니다.
AI 에게 완벽하고 안전한 질문을 제공하더라도, 시스템이 그것들을 함께 처리하는 방식은 다음과 같은 결과를 초래할 수 있습니다.
- 침묵하는 거짓말 (옳은 것처럼 보이는 잘못된 답변).
- 서비스 거부 (시스템을 사용하기 너무 느리게 만듦).
- 충돌 (서비스를 종료시킴).
이 논문은 AI 를 안전하게 만들기 위해서는 AI 의 '두뇌'뿐만 아니라 세상에 답변을 전달하는 '신경계'도 테스트해야 한다고 결론 내립니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.