L’intelligenza artificiale Big Sleep di Google ha rilevato una vulnerabilità zero-day nel database SQLite, segnando un nuovo capitolo nel rilevamento dei difetti di sicurezza della memoria. Scopri come questa svolta potrebbe ridefinire la caccia ai bug.
Big Sleep, un’evoluzione del progetto Naptime di Google, lo era sviluppato attraverso una collaborazione tra Project Zero di Google e DeepMind. La sua capacità di analizzare i commit del codice e individuare i difetti precedentemente non rilevati dai tradizionali metodi di fuzzing offre un nuovo approccio all’identificazione delle vulnerabilità complesse.
Cos’è lo strumento AI Big Sleep?
Grande sonno è lo strumento AI sperimentale di ricerca dei bug di Google che sfrutta le capacità degli LLM per identificare le vulnerabilità nel software. Google ha creato questo strumento per andare oltre le tecniche tradizionali, come il fuzzing, simulando il comportamento umano e comprendendo il codice a un livello più profondo. A differenza del fuzzing, che funziona inserendo dati in modo casuale per attivare errori del software, il codice di revisione di Big Sleep si impegna a rilevare potenziali minacce alla sicurezza.
Nell’ottobre 2024, Big Sleep ha identificato con successo una vulnerabilità di underflow del buffer dello stack in SQLite. Questo difetto, se lasciato deselezionato, avrebbe potuto consentire agli aggressori di mandare in crash il database SQLite o potenzialmente di eseguire codice arbitrario. La scoperta è degna di nota perché è stata effettuata in una versione pre-release di SQLite, garantendo che la vulnerabilità fosse corretta prima che raggiungesse gli utenti.
Come Big Sleep ha scoperto la vulnerabilità SQLite
Google ha incaricato Big Sleep di analizzare i recenti commit del codice sorgente SQLite. L’intelligenza artificiale ha analizzato le modifiche, aiutata da un prompt su misura che forniva il contesto per ogni modifica del codice. Eseguendo script Python e sessioni di debug in modalità sandbox, Big Sleep ha identificato un sottile difetto: un indice negativo, “-1”, utilizzato nel codice, che potrebbe causare un arresto anomalo o potenzialmente consentire l’esecuzione del codice.
Il team di Big Sleep ha documentato questo processo di scoperta in un recente post sul blog, spiegando come l’agente AI ha valutato ogni commit, testato le vulnerabilità del codice e quindi tracciato la causa del bug. Questa vulnerabilità di stack buffer underflow, classificata come CWE-787, si verifica quando il software fa riferimento a posizioni di memoria al di fuori dei buffer allocati, determinando un comportamento instabile o l’esecuzione di codice arbitrario.
Perché questa scoperta è importante per la sicurezza informatica
- Colmare il divario fuzzing: Il fuzzing, sebbene efficace, presenta dei limiti. Fatica a scoprire bug complessi e profondamente radicati nel software. Big Sleep di Google mira a colmare queste lacune utilizzando LLM per “comprendere” il codice anziché semplicemente innescare errori casuali.
- Rilevamento bug in tempo reale: La capacità di Big Sleep di individuare le vulnerabilità durante lo sviluppo del codice riduce le possibilità che i bug arrivino alla produzione. Identificando i difetti prima del rilascio, Big Sleep riduce al minimo le potenziali finestre di exploit per gli aggressori.
- Sicurezza automatizzata su larga scala: La tradizionale caccia ai bug richiede notevoli competenze umane e tempo. Big Sleep, con il suo approccio basato sull’intelligenza artificiale, potrebbe democratizzare il rilevamento dei bug automatizzando e accelerando il processo.
Confronta Big Sleep con altri strumenti di sicurezza basati sull’intelligenza artificiale
Google afferma che l’attenzione di Big Sleep è rivolta al rilevamento dei problemi di sicurezza della memoria nei software ampiamente utilizzati, un’area spesso impegnativa per gli strumenti di intelligenza artificiale convenzionali. Ad esempio, Vulnhuntr di Protect AI, uno strumento di intelligenza artificiale supportato da Claude di Anthropic, è progettato per rilevare le vulnerabilità zero-day nei codici base Python, ma si concentra su difetti non legati alla memoria. Secondo un portavoce di Google, “Big Sleep ha scoperto il primo problema sconosciuto di sicurezza della memoria sfruttabile in un software ampiamente utilizzato nel mondo reale”.
Prendendo di mira specifici tipi di bug, Big Sleep e Vulnhuntr si completano a vicenda, suggerendo un futuro in cui gli agenti basati sull’intelligenza artificiale possono specializzarsi in diversi aspetti della sicurezza informatica.
Google vede il successo di Big Sleep come un passo significativo verso l’integrazione L’intelligenza artificiale nella sicurezza informatica difese. Il team Big Sleep di Google ha dichiarato: “Crediamo che questo lavoro abbia un enorme potenziale difensivo. Il fuzzing ha aiutato in modo significativo, ma abbiamo bisogno di un approccio che possa aiutare i difensori a trovare i bug difficili (o impossibili) da trovare tramite il fuzzing”.
Il team ha sottolineato l’importanza dell’intelligenza artificiale nelle misure di sicurezza preventive, in cui le vulnerabilità vengono identificate e risolte prima che gli aggressori possano scoprirle.
Natura sperimentale del Big Sleep
Sebbene il successo di Big Sleep nell’individuare la vulnerabilità SQLite sia promettente, Google ha notato che la tecnologia rimane sperimentale. Il modello di intelligenza artificiale è ancora in fase di perfezionamento e il team ha riconosciuto che in alcuni casi un fuzzer specifico per un target potrebbe eguagliare o superare le sue attuali capacità.
Nonostante questi avvertimenti, il team rimane ottimista, considerando questo come l’inizio del ruolo più ampio dell’intelligenza artificiale nel rilevamento delle vulnerabilità. Testando continuamente le capacità di Big Sleep su vulnerabilità note e sconosciute, Google mira a migliorare le sue capacità di ricerca di bug, rendendolo potenzialmente uno strumento vitale per sviluppatori e team di sicurezza in tutto il mondo.
L’intelligenza artificiale nella sicurezza informatica
Il successo del rilevamento delle vulnerabilità SQLite da parte di Big Sleep può segnalare un cambiamento di paradigma nella sicurezza informatica, in cui gli agenti di intelligenza artificiale identificano e affrontano autonomamente i problemi di sicurezza. Questa transizione verso misure di sicurezza automatizzate potrebbe offrire una protezione senza precedenti, colmando il divario tra la scoperta dei bug e lo sfruttamento.
- Rilevamento preventivo dei bug: Gli strumenti basati sull’intelligenza artificiale come Big Sleep rappresentano un approccio proattivo alla sicurezza. Identificando le vulnerabilità prima del rilascio del software, questi strumenti possono prevenire gli exploit zero-day e ridurre il rischio per gli utenti finali.
- Sicurezza conveniente: La ricerca di bug tradizionale è costosa e richiede molto tempo. Le soluzioni di intelligenza artificiale potrebbero semplificare i processi di sicurezza, rendendo il rilevamento delle vulnerabilità più veloce, più scalabile e potenzialmente più conveniente.
- Miglioramento continuo: Man mano che gli strumenti basati sull’intelligenza artificiale come Big Sleep si evolvono, affineranno la loro capacità di comprendere e analizzare le strutture del codice, portando a un’identificazione più completa delle vulnerabilità nelle applicazioni del mondo reale.
Crediti immagine: Kerem Gülen/Ideogramma