Umělá inteligence společnosti Google identifikovala kritickou chybu v systému SQLite a umožnila její opravu dříve, než ji zneužili hackeři.
Společnost Google prostřednictvím blogu své specializované divize kybernetické bezpečnosti Project Zero odhalila objev první skutečné bezpečnostní chyby nalezené agentem umělé inteligence. Chybu, zneužitelné přetečení zásobníkového bufferu v SQLite (široce používaná open source databáze), odhalil Big Sleep, nástroj pro výzkum zranitelností s podporou umělé inteligence, který společně vyvinuly Google Project Zero a Google DeepMind.
Tento průlom představuje důležitý milník v oblasti kybernetické bezpečnosti, protože ukazuje potenciál umělé inteligence identifikovat kritické zranitelnosti dříve, než je mohou zneužít záškodníci. Chyba byla objevena na začátku října a nahlášena vývojářům SQLite, kteří ji ještě týž den opravili, čímž zabránili postižení uživatelů.
Na chybu přišel agent Velký spánek
Objev navazuje na předchozí výzkum společnosti Project Zero, který se zabýval obrannými schopnostmi velkých jazykových modelů v oblasti kybernetické bezpečnosti. Tento výzkum, nazvaný Project Naptime, vyústil v nástroj Big Sleep.
Big Sleep je agent umělé inteligence, který se zaměřuje na analýzu variant dříve nalezených a opravených zranitelností, protože útočníci často využívají varianty známých zranitelností k provedení svých útoků.
Pro nalezení chyby poskytli výzkumníci nástroji Big Sleep výchozí bod, například podrobnosti o dříve opravené zranitelnosti, a požádali jej, aby zkontroloval aktuální úložiště SQLite a vyhledal související problémy. V tomto případě agent obdržel revizi, která zaváděla významné zlepšení ve zpracování klauzulí WHERE v dotazech na virtuální tabulky.
Po důkladné analýze identifikoval Big Sleep podmínku, která nebyla při zpracování dotazu správně ošetřena. Tím se otevřely dveře pro zápis mimo hranice zásobníkové vyrovnávací paměti, což vedlo k potenciálně zneužitelné podmínce.
Ačkoli se případ reprodukce chyby při zpětném pohledu zdá být jednoduchý, konfigurace tradičních nástrojů pro fuzzing, jako je OSS-Fuzz, zabránila jejímu dřívějšímu odhalení.
Fuzzing je naproti tomu automatizovaná technika, která spočívá ve vkládání náhodných nebo neplatných dat do programu ve snaze vyvolat chybu nebo neočekávané chování. Jedná se o techniku široce používanou k vyhledávání bezpečnostních chyb, ale jak se ukázalo v tomto případě, nemusí stačit k nalezení všech chyb, zejména těch skrytých ve speciálních případech.
Umělá inteligence, dokonalý doplněk tradičních technik ochrany uživatele
Umělá inteligence má díky své schopnosti analyzovat kód a chápat vztahy mezi různými částmi programu potenciál doplnit fuzzing a odhalit zranitelnosti, které by jinak zůstaly nepovšimnuty.
Tým Big Sleep uznává, že se jedná o vysoce experimentální výsledek a že fuzzery mohou být stejně účinné i dnes. Objev chyby SQLite však ukazuje, že umělá inteligence může způsobit revoluci v obranném zabezpečení tím, že identifikuje a opravuje zranitelnosti dříve, než mohou být zneužity.
Projekt Zero a tým Big Sleep nicméně hodlají ve výzkumu v této oblasti pokračovat, sdílet svá zjištění a pracovat na překlenutí propasti mezi veřejnými a soukromými technikami používanými při výzkumu zranitelností. Jejich konečným cílem je výrazně ztížit provádění útoků nultého dne.