Don't Show What They Can't See: Authorization-First Schema Context for Secure Text-to-SQL
Dit artikel stelt een autorisatie-eerst raamwerk voor dat fijnmazige toegangscontrole afdwingt tijdens schema-retrieval om ongeoorloofde blootstelling van database-metadata in op LLM gebaseerde text-to-SQL-systemen te voorkomen, waarbij nul ongeoorloofde objectlekken wordt bereikt terwijl de retrieval-utiliteit behouden blijft en ongeoorloofde SQL-referenties aanzienlijk worden verminderd.
Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (https://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 bibliothecaris voor die jouw gesproken vragen direct kan vertalen naar precieze bibliotheekcommando's, waardoor precies de boeken worden gevonden die je nodig hebt uit miljoenen schappen. Dit is de belofte van moderne kunstmatige intelligentie-systemen die natuurlijke taal omzetten in databasevragen. Deze systemen vertrouwen op een gedetailleerde kaart van de inhoud van de bibliotheek — een lijst van elke tabel, kolom en de verbindingen tussen hen in — om te begrijpen wat je vraagt. In een beveiligde omgeving mag echter niet elk deel van die kaart zichtbaar zijn voor iedere persoon. Net zoals een bankmedewerker niet de toegangscodes van de kluis voor elke rekening kan zien, mag een gebruiker alleen de delen van de database zien waarvoor hij of zij toestemming heeft. Het gevaar ontstaat wanneer het systeem per ongeluk de volledige kaart aan de vertaler laat zien voordat het zelfs maar begint te werken. Als de vertaler wordt misleid of gemanipuleerd, kan deze het bestaan van geheime tabellen of gevoelige kolommen onthullen, wat een aanval legt voor een gerichte aanval, zelfs als de aanvaller nooit een enkel werkelijk record ziet.
Onderzoekers van de Guangzhou University en de Xidian University hebben een nieuwe manier ontwikkeld om dit probleem aan te pakken, waarbij ze ervoor zorgen dat de vertaler alleen de delen van de kaart ziet waar de gebruiker toestemming voor heeft. Hun aanpak draait de traditionele volgorde van operaties om. In plaats van eerst alle informatie te verzamelen, de verboden delen eruit te filteren en vervolgens de kunstmatige intelligentie te vragen de query te schrijven, controleren ze eerst de machtigingen van de gebruiker. Ze bouwen een kleine, veilige versie van de databasekaart die alleen de tabellen en kolommen bevat waar de gebruiker autorisatie voor heeft. Alleen deze veilige, beperkte kaart wordt vervolgens getoond aan het AI-systeem. Dit voorkomt dat de AI ooit op de hoogte is van de verboden secties, zodat zelfs als een kwaadwillende actor probeert het systeem te mislezen om geheimen te onthullen, er geen geheimen in de context aanwezig zijn om te onthullen.
Het team testte deze methode op een collectie van 20 verschillende databases met 240 specifieke vragen gekoppeld aan verschillende gebruikersrollen. In de standaardaanpak, waarbij het systeem de volledige databasekaart ziet voordat er gefilterd wordt, werd de AI gemiddeld 35,5 ongeautoriseerde objecten — zoals geheime tabellen of verborgen kolommen — blootgesteld bij elke verwerking van een verzoek. Met de nieuwe "autorisatie-eerst"-methode daalde dat aantal naar nul. Het systeem slaagde erin om alle ongeautoriseerde informatie uit het zicht van de AI te houden voordat het zelfs maar begon na te denken. Cruciaal was dat deze beveiliging niet ten koste ging van de prestaties. Het systeem was net zo goed in het vinden van de juiste tabellen en kolommen voor de werkelijke vragen van de gebruiker als de oude methode dat was. De onderzoekers ontdekten dat de enige reden waarom de oude methode soms niet het juiste antwoord produceerde, was dat het moest werken met een veel grotere, rommelige set informatie, terwijl de nieuwe methode werkte met een schone, relevante subset.
Een belangrijke ontdekking in hun werk was het begrijpen van waar fouten nog steeds optreden. Zelfs met de nieuwe beveiliging schreef de AI af en toe queries die zaken noemden die het eigenlijk niet zou mogen noemen. De onderzoekers herleidden deze fouten echter en stelden vast dat deze niet werden veroorzaakt door het lekken van informatie door het systeem. In plaats daarvan was de AI simpelweg namen van verboden kolommen aan het raden of "hallucineren", waarbij ze namen uit het niets verzonnen. Dit onderscheid is essentieel: het bewijst dat het verbergen van de verboden informatie voor de AI het directe lekken van geheimen stopt, maar het stopt de AI niet van het verzinnen van namen. Daarom werkt de nieuwe methode het beste wanneer deze wordt gecombineerd met een laatste controle die de query valideert voordat deze wordt uitgevoerd, wat zorgt voor twee verdedigingslagen. Eén laag stopt de AI met het zien van de geheimen, en de tweede laag stopt de AI met het per ongeluk gebruiken van een verzonnen geheim.
De studie onderzocht ook hoe het systeem omgaat met verwarrende of afgekortte namen die vaak voorkomen in echte zakelijke databases, waar "customer risk score" bijvoorbeeld als "cust_rsk_scr" geschreven kan zijn. Wanneer de databasenamen duidelijk en beschrijvend waren, presteerde het nieuwe systeem net zo goed als het oude. Maar wanneer de namen kort en cryptisch waren, gebruikte het systeem een speciale techniek om platte taalbeschrijvingen aan de veilige kaart toe te voegen. Dit hielp de AI om te begrijpen wat de korte codes betekenden, wat het vermogen om de juiste gegevens te vinden met 11,5 procent verbeterde vergeleken met een systeem zonder die beschrijvingen. Deze verbetering trad alleen op wanneer de namen moeilijk te raden waren, wat aantoont dat de extra hulp alleen nodig is wanneer de kaart moeilijk leesbaar is.
Om te garanderen dat het systeem werkelijk veilig was, simuleerden de onderzoekers aanvallen waarbij een gebruiker probeerde de AI te misleiden om alle geheime tabellen op te sommen. In het oude systeem slaagden deze aanvallen ongeveer de helft van de tijd, waarbij een aanzienlijk deel van de verborgen databasestructuur werd onthuld. In het nieuwe systeem faalden de aanvallen volledig. De AI, die de geheime tabellen nooit had gezien, kon ze niet opsommen. De enige informatie die lekte, waren algemene woorden die toevallig in de algemene instructies van het systeem voorkwamen, en niet de eigenlijke databasegeheimen. Dit bevestigde dat de nieuwe methode effectief het pad blokkeert dat een aanvaller zou gebruiken om een database in kaart te brengen.
De onderzoekers erkennen dat hun oplossing een krachtige stap voorwaarts is, maar geen volledig wondermiddel. Het voorkomt dat de AI geheimen ziet die hij niet mag zien, maar het kan een aanvaller niet stoppen die geheimen probeert te raden op basis van publieke kennis of die geheime gegevens probeert af te leiden uit foutmeldingen. Daarom is de nieuwe methode ontworpen om samen te werken met bestaande beveiligingscontroles, en niet om deze te vervangen. Door ervoor te zorgen dat de AI de verboden delen van de database in de eerste plaats nooit ziet, verwijdert het systeem een grote kwetsbaarheid. Het creëert een grens waarbij de AI alleen kan werken met wat de gebruiker mag zien, waardoor het hele proces van het omzetten van vragen in databasecommando's veel veiliger wordt voor organisaties die gevoelige informatie moeten beschermen.
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.