CacheSolidarity: Preventing Prefix Caching Side Channels in Multi-tenant LLM Serving Systems

Dit paper introduceert CacheSolidarity, een systeem dat timing-kantekanaal-aanvallen via automatische prefix-caching in multi-tenant LLM-systemen voorkomt door verdachte cache-deling selectief te isoleren, waardoor de prestaties en efficiëntie behouden blijven ten opzichte van bestaande, volledig isolerende verdedigingsmechanismen.

Panagiotis Georgios Pennas, Konstantinos Papaioannou, Marco Guarnieri, Thaleia Dimitra Doudali

Gepubliceerd Thu, 12 Ma
📖 4 min leestijd☕ Koffiepauze-leesvoer

Each language version is independently generated for its own context, not a direct translation.

Stel je voor dat een grote taalmodel (zoals een slimme chatbot) een enorme bibliotheek is waar miljoenen mensen tegelijkertijd boeken komen lezen. Om het allemaal snel te laten gaan, heeft de bibliotheek een slim systeem: Prefix Caching.

Het Probleem: De "Snelle Gang" en de Spion

Stel je voor dat de bibliotheek een snelle gang heeft. Als je een boek leest dat begint met dezelfde eerste pagina als iemand anders die daarvoor was, mag je die eerste pagina overslaan en direct naar de tweede pagina gaan. Dit is razendsnel.

  • De Snelle Gang (Cache Hit): Als je de eerste pagina al kent, ben je er zo. Je komt er in 1 seconde.
  • De Langslepende Gang (Cache Miss): Als je een nieuw boek begint, moet je eerst de hele eerste pagina lezen. Dit duurt 10 seconden.

Het gevaar: In een drukke bibliotheek (een multi-tenant systeem) zitten er ook spionnen. Een spion probeert te raden wat een ander leest.
De spion doet het volgende:

  1. Hij vraagt de bibliothecaris om een boek dat begint met "Hoi, mijn naam is...".
  2. Hij kijkt naar de klok.
    • Komt het antwoord in 1 seconde? Dan weet hij: "Aha! Iemand anders had ook 'Hoi, mijn naam is...' in hun boek. De eerste pagina is al gelezen!"
    • Komt het antwoord in 10 seconden? Dan weet hij: "Nee, niemand had dat. De eerste pagina is nieuw."

Door dit spelletje te spelen, woord voor woord, kan de spion langzaam de geheime naam van het slachtoffer reconstrueren. Dit heet een tijdslekkage-aanval.

De Huidige Oplossingen: Te Grof of Te Traag

Tot nu toe hadden bibliotheken twee manieren om dit te voorkomen, maar beide waren niet ideaal:

  1. Iedereen in een aparte kamer: Je sluit de snelle gang af voor iedereen. Iedereen moet zijn eigen gang gebruiken, zelfs als ze hetzelfde boek lezen. Dit is veilig, maar het is trager en inefficiënt.
  2. Valse tijden: De bibliothecaris doet alsof het altijd 10 seconden duurt, zelfs als het boek al bekend is. Hij voegt "ruis" toe. Dit werkt, maar het maakt het systeem onnodig traag voor de eerlijke gebruikers.

De Nieuwe Oplossing: CacheSolidarity

De onderzoekers van dit paper hebben een slimme, nieuwe oplossing bedacht die ze CacheSolidarity noemen. Het idee is gebaseerd op samenwerking en slimme bewaking.

Stel je voor dat de bibliotheek nu werkt met een slimme bewaker en kleine stickers.

  1. De Stickers (Metadata): Elke keer dat iemand een boek leest, krijgt de eerste pagina een sticker met de naam van de lezer erop.
  2. De Bewaker (Detector): Als een nieuwe lezer binnenkomt en probeert de snelle gang te gebruiken, kijkt de bewaker naar de sticker.
    • Geen sticker of eigen sticker? Geen probleem, gebruik de snelle gang.
    • Sticker van een ander? De bewaker zegt: "Wacht even! Dit is een gedeelde pagina, maar we weten niet of dit veilig is."
  3. De Slimme Stop (Isolatie): Zodra de bewaker ziet dat twee verschillende mensen dezelfde pagina delen, plakt hij een oranje waarschuwingsteken op die pagina.
    • De volgende keer dat iemand anders (een potentiële spion) die pagina probeert te gebruiken, zegt de bewaker: "Stop! Je mag die pagina niet overslaan. Je moet hem zelf lezen."
    • De originele eigenaar van de pagina mag echter gewoon doorlopen.

De Magie:

  • Voor de eerlijke gebruikers: Als je een normaal gesprek hebt, delen mensen vaak dezelfde zinnen (zoals "Hoi, hoe gaat het?"). De bewaker laat dit toe. De snelle gang blijft werken voor 90% van de gevallen.
  • Voor de spion: Zodra de spion probeert een geheim woord te raden, stopt de bewaker de snelle gang. De spion ziet geen verschil meer in de tijd, omdat hij nu altijd de "lange weg" moet nemen. Hij kan het geheim niet meer raden.

De "Verkeerslichten" (De Activator)

Er is nog een extra slimme toevoeging. De bewaker kijkt ook naar hoe druk het is in de bibliotheek.

  • Als het erg druk is (veel mensen tegelijk), is de snelheid van de gang al zo wisselend door de drukte, dat de spion de tijd niet meer goed kan meten. In dat geval schakelt de bewaker de strenge controle even uit om de snelheid te maximaliseren.
  • Als het rustig is en de spion kan de tijd perfect meten, gaat de strenge controle direct aan.

Samenvatting in één zin

CacheSolidarity is als een slimme bibliothecaris die niet iedereen in een aparte kamer stopt, maar alleen de specifieke, verdachte gedeelten van een gesprek blokkeert als iemand probeert te spioneren. Hierdoor blijft het systeem snel voor de eerlijke gebruikers, maar onkraakbaar voor de spion.

Het is een win-win: veiligheid zonder snelheid te offeren.