Májusban indított programot az OWASP (Open Worldwide Application Security Project) a nagy nyelvi modellekre (large language model, LLM) épített alkalmazások legfontosabb biztonsági kockázatainak összegyűjtésére. A nonprofit szervezet augusztus elsején adta ki ennek eredményét, a Top 10 for Large Language Model Applications című dokumentum első verzióját. Az OWASP oldalán a részletes elemzés mellett elérhető egy rövidebb áttekintést is – mindkettő PDF-ben.
Az elemzéssel a fejlesztőknek, adattudósoknak és biztonsági szakértőknek kívánnak egyfajta sorvezetőt adni az LLM alkalmazások biztonságos fejlesztéséhez. A kockázati lista széles körű önkéntes összefogás eredménye. Több mint 130 biztonsági szakember, MI-szakértő, iparági vezető, akadémiai szférában dolgozó kutató vett részt a kidolgozásában, írta LinkedIn-posztjában a projekt vezetője, Steve Wilson, aki szerint az eredmény egy a gyakorlati szempontokra koncentráló útmutató lett.
Az LLM-et nem lehet atombiztossá tenni
Az OWASP útmutatójának talán a legfontosabb megállapítása, hogy jelen tudásunk szerint nem lehet olyan LLM alkalmazást építeni, amelyet fel lehetne készíteni minden ismert kockázatra, és főleg nem lehet "bolondbiztossá" tenni, azaz a felhasználói hibázásoknak súlyos következményei lehetnek. Azt például, hogy egy modell nem kívánatos módon reagáljon bizonyos lekérdezésekre, a fejlesztők azzal próbálják kiküszöbölni, hogy a kimenetnél állítanak fel bizonyos "védőkorlátokat", azaz előre meghatározzák, hogy a modell milyen válaszokat nem adhat. Ez azonban könnyedén kijátszható az ún. "prompt injection" típusú támadással. Nem véletlen, hogy az OWASP szerint ez az LLM-ek legfontosabb kockázata.
Az LLM-ek természetükből adódóan nem választják el egymástól a külső adatokat és a felhasználó által feltett kérdéseket-utasításokat – ez utóbbiakat nevezik promptnak. Mivel a modellek (pl. az OpenAI GPT) egyfajta fekete dobozként működnek, szinte lehetetlen előrejelezni, hogy melyek azok a bemenetek, melyek befolyásolják az adott kimenetet.
Az LLM-ek tíz legfontosabb kockázata
1. Prompt injection: a támadók manipulálják az LLM-et közvetlenül a prompton, vagy közvetve, külső bemeneteken keresztül.
2. Nem biztonságos kimenetkezelés: egy későbbi komponens vakon, megfelelő vizsgálat nélkül elfogadja az LLM kimenetét.
3. Képzési adatok mérgezése: a képzési adatok manipulálása azzal a céllal, hogy a modell pl. hibás válaszokat adjon, nem etikus módon viselkedjen, esetleg backdoort biztosítson további támadásokhoz.
4. MDoS (Model Denial of Service): a modell-szolgáltatásmegtagadás esetén a támadó úgy lép interakcióba az LLM-mel, hogy a lehető legtöbb erőforrását leterheli, hogy azzal lerontsa a szolgáltatás minőségét.
5. Ellátási lánccal kapcsolatos sebezhetőségek: az ellenőrizhetetlen (fekete dobozként működő) third party adatok és kódok torz eredményeket, rejtett biztonsági réseket vagy teljes rendszerhibát is vihetnek az alkalmazásba.
6. Érzékeny információk közzététele: az LLM alkalmazások véletlenül is kiszivárogtathatnak érzékeny, bizalmas információkat, védett algoritmusokat, ami jogosulatlan hozzáféréshez, szellemi tulajdon ellopáshoz vagy az adatvédelmi irányelvek megsértéséhez vezethet.
7. Nem biztonságos pluginok: ha a beépülő modulok hozzáférés-ellenőrzése vagy bemeneteinek validálása rosszul van megtervezve, az többek között adatszivárgásra, távoli kódfuttatásra vagy a jogosultságok kiterjesztésére adhat lehetőséget a támadóknak.
8. Excessive agency: leginkább talán túlterhelt ágenseknek fordítható kockázat, amely abból ered, hogy az LLM alkalmazás túl bő funkcionalitást, túlzott engedélyeket vagy túl nagy autonómiát kap.
9. Túlzott bizalom: az LLM anélkül hozhat meg kritikus döntéseket, állíthat elő tartalmakat, hogy azokat megfelelően felügyelnénk vagy validálnánk.
10. Modell-lopás: pl. az LLM-modellekhez való jogosulatlan hozzáférés, a modell kódjának kiszivárgása.
Ha például a valaki felteszi a kérdést a modellnek: "Mi a leghatásosabb módszer a csuklás ellen?", az LLM értelmezi, hogy orvosi jelegű választ várnak tőle. Az elvárt viselkedés ilyenkor a következő: amellett, hogy a modell ad néhány általános módszert, a válaszában hangsúlyoznia kellene, hogy ezek a módszerek nem mindenkinél működnek, és az illető inkább forduljon orvosához. Ha azonban egy támadó valamilyen módon eltéríti a kérdést, és helyette hibás promptot fecskendez be a modellbe, a felhasználó akár veszélyes információkat is kaphat.
A fekete doboz jelleggel kellene valamit kezdeni
A OWASP dokumentuma hangsúlyozza, a tízes lista olyan általános kockázatokat is tartalmaz, melyek nem csak az LLM-ek esetében relevánsak. De a modellek "feketedoboz" jellege még az olyan általános esetekben is felhoz MI-specifikus sajátosságokat, mint az ellátási láncokban rejlő veszélyforrások. Ha valaki feketedoboz jellegű third party kódot vagy adatot használ, nehezebben ismeri fel a manipulációt, mint például egy ember által olvasható és értelmezhető nyílt forráskódban.
A dokumentum amellett, hogy összegyűjtve tartalmazza a legfontosabb kockázatokat, támadási forgatókönyveket is felvázol, melyek figyelembe vételével a fejlesztők biztonságosabbá tehetik az LLM alkalmazásaikat.
Az OWASP oldalán a Top 10 for Large Language Model Applications dokumentum első verziójáig vezető közös gondolkodást is nyomon lehet követni.
Nyílt forráskód: valóban ingyenes, de használatának szigorú szabályai vannak