L’IA accelera gli attacchi informatici, ma può anche difendere i sistemi
Fino a pochi anni fa, trasformare una vulnerabilità software appena scoperta in un cyberattacco richiedeva mesi di lavoro. Oggi, come dimostrano i recenti sviluppi su Project Glasswing di Anthropic, l’intelligenza artificiale generativa può automatizzare questo processo in pochi minuti, spesso con un costo inferiore a un dollaro di tempo di calcolo su cloud.
Tuttavia, mentre i modelli linguistici di grandi dimensioni rappresentano una minaccia concreta per la sicurezza informatica, offrono anche un’opportunità unica per rafforzare le difese. Secondo Anthropic, il modello di anteprima Claude Mythos ha già aiutato i difensori a identificare preventivamente oltre mille vulnerabilità zero-day, inclusi difetti in tutti i principali sistemi operativi e browser. L’azienda ha coordinato la divulgazione e le patch necessarie per risolvere le falle scoperte.
Resta ancora da capire se l’individuazione automatizzata di bug favorirà in definitiva gli attaccanti o i difensori. Per comprendere come questi ultimi possano aumentare le proprie probabilità di successo, è utile guardare a un fenomeno simile verificatosi in passato: l’ascesa dei fuzzer, strumenti che testano programmi con milioni di input casuali e malformati alla ricerca di vulnerabilità.
Dai fuzzer all’IA: un’evoluzione nella scoperta delle vulnerabilità
Nei primi anni 2010, strumenti come American Fuzzy Lop (AFL) hanno rivoluzionato il modo di trovare bug, scovando falle critiche in browser e sistemi operativi. La risposta della comunità della sicurezza è stata esemplare: invece di cedere al panico, le organizzazioni hanno industrializzato le difese.
Un esempio è OSS-Fuzz, sviluppato da Google, un sistema che esegue fuzzer ininterrottamente su migliaia di progetti software. Questo ha permesso ai fornitori di software di individuare i bug prima del rilascio, evitando che venissero sfruttati dagli attaccanti. L’aspettativa è che anche la scoperta di vulnerabilità tramite IA seguirà un percorso simile: le organizzazioni integreranno questi strumenti nei processi di sviluppo standard, li eseguiranno in modo continuativo e stabiliranno nuovi standard di sicurezza.
Tuttavia, esiste un limite a questo paragone. I fuzzer richiedono competenze tecniche avanzate per essere configurati e utilizzati, rendendoli strumenti per specialisti. Al contrario, un modello linguistico può individuare vulnerabilità semplicemente ricevendo un prompt, creando una asimmetria pericolosa.
Gli attaccanti non hanno più bisogno di competenze tecniche elevate per sfruttare i bug, mentre le difese robuste richiedono ancora ingegneri che analizzino, valutino e risolvano ciò che l’IA segnala. Il costo umano per trovare e sfruttare le vulnerabilità si avvicina allo zero, ma la correzione rimane un processo complesso e dispendioso in termini di risorse.
L’IA trova i bug, ma chi li sistema?
Come osservato da Peter Gutmann nel suo libro Engineering Security, «molte delle tecnologie di sicurezza odierne sono considerate sicure solo perché nessuno si è mai preso la briga di analizzarle». Questa affermazione, formulata prima che l’IA rendesse la ricerca di bug drasticamente più economica, sottolinea un problema ancora attuale: la maggior parte del codice moderno, inclusi i progetti open source su cui si basa il software commerciale, è mantenuto da team ridotti, contributori part-time o volontari senza risorse dedicate alla sicurezza.
Un singolo bug in un progetto open source può avere ripercussioni enormi. Un esempio emblematico è la vulnerabilità Log4j del 2021, scoperta in una libreria di logging mantenuta da pochi volontari. Questo difetto ha esposto centinaia di milioni di dispositivi, diventando una delle vulnerabilità software più diffuse della storia. Log4j è solo uno dei tanti casi che evidenziano un problema più ampio: le dipendenze software critiche spesso non vengono mai sottoposte ad audit approfonditi.
In un contesto in cui l’IA sta democratizzando la scoperta di vulnerabilità, diventa ancora più urgente rafforzare le pratiche di sviluppo sicuro e garantire che anche i progetti open source ricevano l’attenzione necessaria per prevenire attacchi su larga scala.
Cosa possono fare le organizzazioni per prepararsi
- Integrazione continua: Adottare strumenti di analisi automatica delle vulnerabilità nei processi di sviluppo, come già avviene con OSS-Fuzz.
- Collaborazione e condivisione: Promuovere la divulgazione responsabile delle vulnerabilità e la collaborazione tra aziende, sviluppatori e comunità open source.
- Formazione e risorse: Investire nella formazione degli sviluppatori per gestire i risultati prodotti dall’IA e nella creazione di team dedicati alla sicurezza.
- Audit regolari: Sottoporre a revisione anche le dipendenze software meno visibili, come le librerie open source, per identificare potenziali rischi.
«L’IA sta cambiando le regole del gioco nella sicurezza informatica. Sta a noi decidere se vogliamo essere spettatori o protagonisti di questa rivoluzione.»