Continuous Discovery of Vulnerabilities in LLM Serving Systems with Fuzzing
Dit artikel introduceert GRIEF, een greybox fuzzer die zich richt op de complexiteit van concurentie en state-management in LLM-serving-systemen om kritieke kwetsbaarheden zoals cache-isoleringsfouten en prestatie-interferentie aan het licht te brengen, waarbij succesvol 15 nieuwe problemen zijn geïdentificeerd, waaronder twee CVE's in engines zoals vLLM en SGLang.
Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer
Stel je een enorme, supersnelle bibliotheek voor waar één enkele bibliothecaris (het AI-model) duizenden vragen tegelijk beantwoordt. Om supersnel te zijn, beantwoordt deze bibliothecaris niet één voor één; hij houdt een systeem van "post-it nota's" (een KV-cache) op zijn bureau bij. Als twee mensen vergelijkbare vragen stellen, hergebruikt de bibliothecaris de notities van de eerste persoon om de tweede te versnellen. Ze groeperen mensen ook in "batches" om ze gezamenlijk te beantwoorden, zoals een bus die passagiers oppikt.
Dit artikel introduceert een nieuw beveiligingstool genaamd GRIEF (denk hierbij aan een "stress-test-robot") dat fungeert als een ondeugende maar onschadelijke plager. Zijn taak is niet om de bibliotheek af te breken of boeken te stelen; in plaats daarvan probeert hij de bibliothecaris te misleiden tot het maken van fouten door vragen te stellen in zeer specifieke, vreemd getimede combinaties.
Hier is wat het artikel ontdekte, eenvoudig uitgelegd:
1. Het Probleem: De "Post-it" Verwarring
Meestal maken we ons zorgen over de inhoud van de vragen (bijvoorbeeld: "Hoe hack ik een bank?"). Maar dit artikel ontdekte dat de timing en groepering van vragen de bibliothecaris in de war kunnen brengen, zelfs als elke afzonderlijke vraag perfect beleefd en normaal is.
Omdat de bibliothecaris post-it nota's hergebruikt en mensen in batches groepeert, vond GRIEF drie hoofdmanieren waarop het systeem kan breken:
De "Spooknotitie" Verontreiniging (State Corruption):
Stel dat Persoon A vraagt: "Wat is 24 + 48 + 15?" en de bibliothecaris "87" op een post-it note schrijft. Vervolgens vraagt Persoon B exact dezelfde vraag. Omdat de bibliothecaris de notitie hergebruikt, geeft hij Persoon B per ongeluk het antwoord "60" (een verkeerd getal van een andere berekening die op de achtergrond plaatsvindt).- Het Resultaat: De bibliothecaris geeft een zelfverzekerde, vloeiend geformuleerd antwoord dat volledig verkeerd is, maar de bibliotheek crasht niet. Hij liegt gewoon stilzwijgend.
De "Luidruchtige Buur" Verkeersopstopping (Performance Pathology):
Stel dat iemand in de wachtkamer een vraag begint te stellen die een klein beetje extra hersenkracht vereist om te verwerken. Omdat de bibliothecaris probeert efficiënt te zijn en alles tegelijk te doen, blokkeert deze ene persoon per ongeluk het hele bureau.- Het Resultaat: Iedereen die anders op zijn beurt wacht, moet plotseling minuten of zelfs uren wachten op een antwoord, zelfs als de bibliothecaris nog steeds "in leven" en aan het werk is. De bibliotheek is niet gesloten, maar is effectief nutteloos voor iedereen anders.
De "Verwarde Buschauffeur" (Crash/Liveness Failure):
Stel dat de bibliothecaris probeert drie verschillende soorten passagiers (regelmatige bezoekers, VIP's en speciale gasten) op dezelfde bus te zetten. Afzonderlijk is elke passagier prima. Maar wanneer de bibliothecaris probeert ze allemaal in een specifieke volgorde samen te pakken, raakt de buschauffeur (de planner) in de war over wie er in de bus zit en laat hij het voertuig crashten.- Het Resultaat: De hele bibliotheek sluit en moet opnieuw opstarten, zelfs als niemand iets illegaals heeft gedaan.
2. Hoe GRIEF Werkt
De meeste beveiligingstests controleren of een enkele vraag gevaarlijk is. GRIEF is anders. Het behandelt een reeks gebeurtenissen als invoer.
- De Analogie: Stel je een dirigent voor die een orkest probeert te dirigeren. In plaats van te controleren of één violist de juiste noot speelt, verandert GRIEF wanneer de violist speelt, met wie hij speelt en hoe snel hij speelt.
- De Methode: GRIEF stuurt duizenden verzoeken die in de tijd overlappen. Het let op "glitches" zoals:
- Veranderde het antwoord iets terwijl het dat niet had moeten doen?
- Steeg de responstijd plotseling van 10 milliseconden naar 10 seconden?
- Bevriest het systeem of crasht het?
- De Verificatie: Omdat AI soms een beetje willekeurig kan zijn, schreeuwt GRIEF niet direct "Bug!". Het speelt exact dezelfde reeks gebeurtenissen op gecontroleerde wijze opnieuw om te zien of de glitch opnieuw optreedt. Als dat zo is, is het een echte bug.
3. De Bevindingen
De onderzoekers gebruikten GRIEF op twee populaire bibliotheeksysteem (vLLM en SGLang) en vonden 15 mogelijke bugs.
- 10 werden bevestigd door de ontwikkelaars van deze systemen.
- 2 waren zo ernstig dat ze officiële "CVE"-nummers kregen (zoals een unieke ID voor een beveiligingsfout die moet worden opgelost).
Waarom Dit Belangrijk Is
Het artikel betoogt dat we AI-beveiliging door de verkeerde bril hebben bekeken. We hebben gecontroleerd of de AI iets onbeleefd of gevaarlijks zegt. Maar dit onderzoek toont aan dat de infrastructuur (de bibliothecaris, de post-it nota's en de buschauffeur) net zo fragiel is.
Zelfs als je de AI perfecte, veilige vragen geeft, kan de manier waarop het systeem ze samen verwerkt leiden tot:
- Stilzwijgende leugens (verkeerde antwoorden die er goed uitzien).
- Denial of service (het systeem zo traag maken dat het niet meer te gebruiken is).
- Crashes (het sluiten van de dienst).
Het artikel concludeert dat we om AI veilig te maken, niet alleen het "brein" van de AI moeten testen, maar ook het "zenuwstelsel" dat zijn antwoorden aan de wereld levert.
Verdrinkt u in papers in uw vakgebied?
Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.