Google presenta Project Naptime per la ricerca delle vulnerabilità tramite IA
Google ha annunciato Project Naptime, un framework che punta a migliorare la ricerca delle vulnerabilità nei software abilitata dall’intelligenza artificiale.
“Con il miglioramento della capacità di comprensione del codice e di ragionamento generale dei Large Language Models (LLM), abbiamo esplorato il modo in cui questi modelli possono riprodurre l’approccio sistematico di un ricercatore di sicurezza umano nell’identificare e dimostrare le vulnerabilità della sicurezza” spiegano Sergei Glazunov e Mark Brand, ricercatori di Project Zero, team di ricercatori di sicurezza di Google che si dedica allo studio di vulnerabilità zero-day e a rendere più difficile lo sfruttamento di questi bug.
L’obiettivo è superare i limiti degli attuali approcci per l’individuazione automatica delle vulnerabilità e sviluppare dei tool in grado di identificare anche i bug zero-day più complessi e difficili da riprodurre.
Project Naptime utilizza un’architettura specializzata per migliorare la capacità degli LLM di cercare le vulnerabilità. “Questo progetto è stato chiamato “Naptime” perché ha il potenziale di farci fare dei sonnellini regolari mentre ci aiuta con il nostro lavoro” affermano Glazunov e Brand.
Come funziona Project Naptime
L’architettura proposta si basa sull’interazione tra un agente IA e del codice sorgente da analizzare e sfrutta una serie di tool specializzati pensati per simulare il flusso di lavoro di un ricercatore di sicurezza.
Project Naptime è composto da quattro componenti principali:
- il Code Browser, il tool che permette all’agente di analizzare la codebase accedendo a funzioni e variabili e identificando tutti i punti in cui una funzione o un’altra entità viene referenziata. La feature è pensata per gestire codebase estese e facilitare l’esplorazione di segmenti di codice semanticamente significativi, in modo simile al processo di analisi umano;
- un tool basato su Python che permette di eseguire script Python in una sandbox per i calcoli intermedi e generare input precisi e complessi da dare in pasto al codice;
- il debugger, un tool che consente all’agente di IA di interagire col codice e osservare il comportamento a seconda di diversi input. Il debugger supporta l’inserimento di breakpoint per l’analisi dinamica del flusso del codice;
- infine, il reporter, un meccanismo per permettere all’agente di comunicare il proprio progresso. Dopo il completamento di un task. l’agente invia una richiesta al Controller principale del framework per verificare se si verifica la condizione prevista (per esempio il crash del programma) e di conseguenza confermare la presenza di una o più vulnerabilità.
Poiché il sistema è agnostico rispetto al modello e al backend, lo si può utilizzare come un ambiente indipendente e autonomo per la ricerca delle vulnerabilità.
“Naptime consente a un LLM di eseguire ricerche sulle vulnerabilità che imitano l’approccio iterativo e basato su ipotesi degli esperti di sicurezza umani. Questa architettura non solo migliora la capacità dell’agente di identificare e analizzare le vulnerabilità, ma garantisce anche che i risultati siano accurati e riproducibili” spiegano Glazunov e Brand.
I risultati dei test
I ricercatori hanno misurato le performance di Project Naptime utilizzando CyberSecEval 2, una suite di benchmark realizzata da Meta per misurare le capacità di sicurezza degli LLM. La suite mette a disposizione dei setting realistici per la valutazione di task end-to-end, dalla scoperta dei bug alla riproduzione dell’exploit, e misura il successo delle operazioni.
Per ogni “sfida” del benchmark, l’LLM può ottenere un punteggio che va da 0 a 1, con 1 che indica il successo totale; qualsiasi risultato inferiore a 1 indica che il modello è riuscito solo parzialmente a superare la sfida.
Project Naptime ha ottenuto 1 nei test di Buffer Overflow superando il punteggio massimo registrato finora di 0.05, e 0.76 nei test di Advanced Memory Corruption (precedentemente era 0.24).
“Riteniamo che nei compiti in cui un esperto umano si affida a più fasi iterative di ragionamento, formazione di ipotesi e convalida, dobbiamo fornire la stessa flessibilità ai modelli; altrimenti, i risultati non possono riflettere il vero livello di capacità dei modelli” affermano i ricercatori.
Glazunov e Brand sottolineano comunque che Naptime necessita di essere perfezionato affinché abbia un impatto significativo sulle attività dei ricercatori. In ogni caso, il framework dimostrato risultati eccellenti che rappresentano un passo importante per il progresso di questi strumenti e di conseguenza per il miglioramento delle capacità di analisi delle vulnerabilità.
Condividi l’articolo
Articoli correlati
Altro in questa categoria
https://www.securityinfo.it/2024/06/25/google-presenta-project-naptime-per-la-ricerca-delle-vulnerabilita-tramite-ia/?utm_source=rss&utm_medium=rss&utm_campaign=google-presenta-project-naptime-per-la-ricerca-delle-vulnerabilita-tramite-ia