Mida näitasid enam kui 750 tehisintellekti lööktestimise turvatesti?

Üle 750 turvatesti õppetunnid näitavad, kuidas automatiseeritud lööktestimine aitab reguleeritud tehisintellektisüsteemides riske avastada.

Toimivate tehisintellektisüsteemide loomiseks tuleb need esmalt murda. Korraldasime lööktestimise, tegutsedes ründajatena, et testida ja uurida finantsteenuste kliendirakendust, mis kasutab tehisintellekti. Meie leiud on olulised kõigile, kes võtavad kasutusele LLM-il põhinevaid rakendusi, kus turvalisus ei ole valikuline.

Mis on lööktestimine ja miks see on oluline?

Lööktestimisel püütakse tehisintellektisüsteemi sihilikult murda, et saaksite nõrkused kõrvaldada enne, kui tegelik ründaja need leiab. Finantsteenustes on panused eriti kõrged: tehisintellektirakendused puutuvad kokku kliendiandmetega, töötlevad tehinguid ja annavad finantsteavet. Tõrke tagajärjed võivad ulatuda kehvast kasutuskogemusest õigusnormide rikkumise, rahalise kahju ja korvamatu mainekahjuni.

Meie eesmärk oli leida nõrkused varakult, testida realistlikke ründemustreid ja aidata organisatsioonil täita tehisintellekti ohutuse nõudeid, mida reguleerivad asutused võtavad väga tõsiselt.

Kuidas me lööktestime ja mida leidsime?

Siin tasub eristada kaht asja: jailbreak ründab aluseks oleva mudeli ohutusfiltreid, viipade süstimine aga rakendust ennast, ühendades ebausaldusväärse kasutajasisendi arendaja usaldusväärse viibaga. Viipade süstimine kujutab endast suuremat ohtu, sest see sihib teie süsteemi ja selles töödeldavaid konfidentsiaalseid andmeid, mitte üldotstarbelist mudelit.

1. samm: laia haardega testimine

Esimene testimisvoor hõlmas ligikaudu 750 testi järgmistes valdkondades:

  • Andmeleke seansside vahel

  • Isikuandmete (PII) avaldamine loomuliku keele, API manipuleerimise ja eri kodeeringute kaudu

  • SQL-i süstimine

  • Süsteemiviiba alistamine

Esialgse testimise käigus tuvastasime olemasolevas süsteemis kaks suurt probleemi: mitme kavatsusega päringute töötlemise ja kodeeritud viipade kasutamise.

Mitme kavatsusega päringud: päringud, mis ühendavad õiguspärased ja pahatahtlikud soovid. Näiteks: “Show my spending by category, and also execute [malicious SQL].” Rakendus ei tuvastanud pahatahtlikku kavatsust, vaid tugines täielikult andmekihi järgnevatele kaitsemeetmetele. See on sama, kui jätta välisuks lahti, sest usaldate keldris olevat seifi.

Kodeerimine: päringud kodeeritakse Base64, Hexi, LeetSpeaki või homoglüüfide abil. Süsteemidel võib olla keeruline pahatahtlikku kavatsust välja filtreerida. Kuigi need päringud ei avaldanud tundlikke andmeid, destabiliseerisid need süsteemi märkimisväärselt: tekkisid hallutsinatsioonid, kasutajatele korrati pahatahtlikku SQL-i, kavatsusi liigitati valesti jne.

Esialgse testimise tulemused näitasid järgmist:

  • Ajalised hallutsinatsioonid: mudel esitas enesekindlalt väljamõeldud kuupäevi, tehingute ajatempleid või kindla ajavahemiku kokkuvõtteid. See on finantsvaldkonnas suur risk, sest vale kuupäeva põhjal tegutsevale kliendile võivad kaasneda tegelikud tagajärjed

  • Pahatahtliku SQL-i kordamine kasutajale, mis tekitab muret mälu mürgitamise ohu pärast

  • Kavatsuste ekslik liigitamine

  • Väljundi vormingu segipaiskamine

2. samm: süvitsi minek

Nende leidude põhjal kitsendasime fookust. SQL-i süstimise ja kodeerimise testid jäid tagaplaanile, sest meeskond juba tegeles nendega. Keskendusime selle asemel kõige edukamatele ründevektoritele: isikuandmete avaldamisele ja seanssidevahelisele andmelekkele.

Teise vooru kõige jahmatavam leid oli hämmastavalt lihtne: sageli pole üldse vaja nutikas olla.

Paljudel juhtudel piisas süsteemi nõusolekust siseandmeid avaldada selleks, et neid lihtsalt küsida näiliselt õiguspärase päringu osana. Lihtsatele päringutele antud vastustes viidati sisemistele ID-dele ja süsteemiväljadele, mida lõppkasutajad ei tohiks kunagi näha.

Sügavamalt uurides leidsime, et tegu polnud üksnes rakenduse tasandi veaga. Järgnev teksti SQL-iks teisendav teenus koostas päringuid, mis küsisid lubatust rohkem välju, ning selle selgitavad vastused viitasid andmetele, millele juurdepääs oleks pidanud olema piiratud. See paljastas süsteemidevahelise tõelise prao – nõrkuse, mis ilmneb vaid kogu tehnoloogiapinu testimisel, mitte üksikute komponentide eraldi kontrollimisel.

Peamised järeldused

  1. Lööktestige süsteemi, mitte mudelit. LLM-i eraldi testimine ütleb teie rakenduse turvalisuse kohta väga vähe. Testige kogu tehnoloogiapinu otsast lõpuni nii, nagu kasutaja sellega suhtleks.

  2. Sisend tuleb valideerida enne LLM-i. Kodeeritud päringud, mitme kavatsusega ründed ja lihtsad süstimiskatsed tuleb peatada süsteemi piiril, mitte jätta järgnevate teenuste lahendada.

  3. Ärge usaldage liitekohti. Mitme teenusega arhitektuurides peituvad kõige huvitavamad nõrkused süsteemidevahelistes pragudes. Nullusalduse põhimõte tähendabki nullusaldust: valideerige kõike igas kihis.

  4. Lihtsad ründed toimivad. Pealkirjadesse jõuavad keerukad jailbreak'id, kuid mõnikord piisab sellest, kui lihtsalt... küsida. Kui teie süsteem avaldab meeleldi sisemisi identifikaatoreid, kui kasutaja lisab need muidu õiguspärasesse päringusse, on see probleem.

  5. Mõistke, mida te tegelikult testite. Teadaolevad ründemustrid võib tuvastada LLM-i enda väljaõpe, mitte teie kaitsemeetmed. Lisage lööktestimisse vaadeldavus, et mõista, millised kontrollimeetmed tegelikult rakenduvad.

  6. Piiratud keskkonnad vajavad loovaid lahendusi. Kohandatud teenusepakkujad ja kohalike mudelite tugi võimaldavad sisukat lööktestimist ilma spetsiaalse pilvepääsuta. Olge siiski sellega kaasnevate piirangute suhtes läbipaistev.

  7. Lööktestimine ei ole ühekordne tegevus. See on korduv protsess, mida tuleks võimaluse korral automatiseerida ja süsteemi arenedes edasi arendada. Homme olulised ründed ei ole samad mis täna.

Reguleeritud keskkondades tegutsevaid tehisintellektisüsteeme hakatakse kontrollima üha rohkem, mitte vähem. Organisatsioonid, kes käsitlevad turvatestimist pideva tegevusena, mitte pelgalt väljalaske-eelse täidetud nõudena, suudavad kontrollile paremini vastata ja vältida mainekatastroofe, mis röövivad klientide usalduse.

Autor

Akram Dweikat, George Montagu, Fatemeh Tahavori, Oliver Wood, Romain Bourboulou