An Automated Framework for Extracting Reachable Attack Chains from Cyber Threat Intelligence Reports
Questo articolo propone un framework automatizzato che sfrutta i grandi modelli linguistici per estrarre unità di attacco strutturate con precondizioni e postcondizioni da report di Cyber Threat Intelligence non strutturati, compilandoli in regole Datalog per consentire un'efficace analisi di raggiungibilità e il ragionamento su catene di attacco multi-stadio.
Articolo originale sotto licenza CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Questa è una spiegazione generata dall'IA dell'articolo qui sotto. Non è stata scritta né approvata dagli autori. Per precisione tecnica, consulta l'articolo originale. Leggi il disclaimer completo
Immaginate Internet come una città enorme e frenetica dove malintenzionati cercano costantemente di intrufolarsi negli edifici, rubare chiavi e scassinare porte. Per fermarli, gli esperti di sicurezza scrivono storie dettagliate chiamate rapporti di "Cyber Threat Intelligence". Queste storie descrivono esattamente come un hacker sia riuscito a entrare: "Per prima cosa, ha inviato una finta email. Poi, la vittima ha cliccato su un link. Successivamente, un virus si è scaricato da solo". È come il fascicolo di un detective. Ma ecco il problema: queste storie sono scritte in un linguaggio umano disordinato. Un computer che cerca di leggerle si confonde. Non riesce a capire facilmente perché il secondo passaggio è avvenuto (aveva bisogno che il primo finisse prima) o cosa è cambiato nel sistema dopo il secondo passaggio. È come cercare di costruire un robot funzionante usando solo un mucchio di cartoncini con ricette non smistate; conosci gli ingredienti, ma non conosci l'ordine o il rapporto causa-effetto.
Per risolvere questo problema, i ricercatori hanno bisogno di un modo per trasformare quelle storie disordinate in un progetto rigoroso e logico che un computer possa effettivamente eseguire. Devono sapere non solo cosa ha fatto l'hacker, ma quali condizioni dovevano essere vere affinché l'hacker potesse farlo (i "precondizioni") e in quale nuovo stato ha lasciato il sistema dopo (le "postcondizioni"). Pensatelo come a un gioco da tavolo: non puoi muovere il tuo pezzo su una nuova casella a meno che tu non abbia il lancio di dadi corretto (la condizione) e, una volta mosso, il tuo pezzo si trova ora in un posto nuovo (il risultato). Se potete tradurre la storia di un hacker in un perfetto insieme di regole di gioco, potete chiedere al computer: "Un hacker può arrivare dalla porta d'ingresso alla cassaforte?" e ottenere una risposta definitiva. Questa è la sfida che questo articolo affronta: trasformare vaghi racconti da spia in un gioco di difesa cibernetica preciso e giocabile.
Gli autori di questo articolo hanno costruito un ingegnoso framework automatizzato per risolvere questo enigma. Si sono resi conto che chiedere semplicemente a un programma per computer intelligente (un Large Language Model) di "leggere la storia e darmi le regole" non funziona bene. Se chiedete tutto interamente in un colpo solo, il computer spesso sbaglia i dettagli, confonde l'ordine o inventa passaggi che in realtà non esistono. È come chiedere a uno studente di scrivere un intero saggio in un solo respiro; potrebbe perdere la logica. Invece, i ricercatori hanno progettato una catena di montaggio a più stadi.
In primo luogo, il sistema agisce come un editor attento, estraendo dal testo le principali "mosse d'attacco", come "scarica file" o "aggira firewall". Poi, agisce come un detective, dando la caccia agli indizi specifici che spiegano perché quella mossa era possibile e cosa è successo dopo. Ma ecco la magia: non lascia questi indizi come frasi disordinate. Li forza in un codice rigoroso e standardizzato, come tradurre "il computer è aperto su internet" in un particolare token di gioco chiamato network.open. Questo è fondamentale perché permette al computer di controllare se i "token" corrispondono perfettamente. Se la prima mossa lascia un token "porta aperta", la mossa successiva può avvenire solo se richiede un token "porta aperta".
Il sistema ha anche una fase di "controllo qualità". Esegue una simulazione per vedere se la catena di mosse si collega effettivamente dall'inizio alla fine. Se trova un collegamento interrotto — come un passaggio che richiede un token "password" che non è mai stato creato — si ferma e prova a correggerlo, o almeno segnala l'errore. Infine, compila tutti questi passaggi puliti e verificati in un insieme di regole logiche (usando un linguaggio chiamato Datalog) che un computer può eseguire istantaneamente per vedere se un obiettivo specifico di attacco è raggiungibile.
Quando hanno testato questo metodo su 20 rapporti di attacchi informatici reali contenenti 334 passaggi specifici, i risultati sono stati impressionanti. Il loro metodo ha trovato e formattato correttamente il 94,9% dei passaggi d'attacco, superando altri strumenti esistenti che riuscivano a gestire solo l'80% o meno. Ancora più importante, quando hanno lasciato che il computer eseguisse la logica su queste regole estratte, è riuscito a capire come raggiungere l'obiettivo dell'hacker in 19 rapporti su 20. Ciò dimostra che il loro approccio a "catena di montaggio" è molto più efficace nel trasformare storie umane disordinate in regole di gioco pulite e giocabili rispetto al semplice chiedere a un'IA intelligente di indovinare tutto insieme. Non hanno solo trovato i passaggi; hanno costruito un ponte che permette ai computer di comprendere effettivamente la logica di un attacco, trasformando una storia statica in una mappa dinamica del pericolo.
Sommerso dagli articoli nel tuo campo?
Ricevi digest giornalieri degli articoli più recenti corrispondenti alle tue parole chiave di ricerca — con riassunti tecnici, nella tua lingua.