Benchmarking Large Language Models for IoC Recovery under Adversarial Code Obfuscation and Encryption
Questo articolo presenta un benchmark sistematico e un dataset di 336 programmi JavaScript offuscati e cifrati per valutare la capacità dei modelli linguistici di grandi dimensioni di recuperare gli indicatori di compromissione, rivelando che, sebbene gli LLM gestiscano efficacemente trasformazioni leggere come la rinomina delle variabili e la codifica Base64, le loro prestazioni di rilevamento si degradano drasticamente di fronte a metodi di occultamento crittografico come XOR e AES-256.
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
Immagina di essere un detective digitale che cerca di trovare un indizio nascosto (come un indirizzo IP specifico) all'interno di un frammento di codice. Di solito, questo è facile: l'indizio è scritto in modo chiaro, come un nome su un foglio di carta. Ma cosa succede se i cattivi nascondono quell'indizio? Potrebbero scriverlo in un codice segreto, mescolare le lettere o chiuderlo dentro una cassaforte.
Questo documento è una pagella per i Large Language Models (LLM)—i chatbot AI intelligenti che usiamo oggi—su quanto bene riescano a fare da detective quando gli indizi sono nascosti.
Ecco la sintesi della loro indagine:
La Premessa: Un Gioco di "Nascondino"
I ricercatori hanno creato un enorme gioco di nascondino.
- I Giocatori: Hanno testato cinque famosi modelli AI (come ChatGPT, Gemini, Claude, Grok e Cohere).
- L'Indizio: Un falso "Indicatore di Compromissione" (IoC), che è semplicemente un termine sofisticato per un indirizzo IP sospetto (come il numero di telefono di un cattivo).
- I Nascondigli: Hanno preso 336 frammenti di codice informatico e nascosto l'indizio al loro interno utilizzando 12 diversi livelli di difficoltà.
- Livello 1-4 (I Nascondigli Facili): Hanno semplicemente rinominato le variabili (chiamando "IP_Address" qualcosa come "x99"), aggiunto codice spazzatura inutile per confondere l'occhio, o utilizzato codifiche semplici come Base64 (che è come scrivere un messaggio in un alfabeto segreto che chiunque può decodificare facilmente).
- Livello 5-6 (I Nascondigli Difficili): Hanno chiuso l'indizio dentro una cassaforte crittografica. Hanno utilizzato una crittografia forte (XOR e AES-256). Crucialmente, hanno lasciato la chiave della cassaforte proprio lì nel codice, proprio come farebbe un vero hacker.
- Livello 7-12 (I Nascondigli Incubo): Hanno combinato la cassaforte chiusa con tutto il ridenominamento confuso e il codice spazzatura.
I Risultati: L'Effetto "Interruttore della Luce"
I risultati sono stati sorprendenti e molto chiari. Non hanno visto un lento declino delle prestazioni; hanno visto un interruttore della luce.
1. I Nascondigli "Facili" (Livelli 1–4):
Quando l'indizio era solo mescolato o rinominato, i detective AI erano straordinari.
- La maggior parte dei modelli ha trovato l'indizio il 100% delle volte.
- Erano come bambini che giocano a nascondino e riescono facilmente a vedere una scarpa che spunta da dietro una tenda. Riconoscevano i pattern anche quando le parole erano cambiate.
2. I Nascondigli "Difficili" (Livelli 5–12):
Nel momento in cui i ricercatori hanno utilizzato la crittografia (la cassaforte), le prestazioni dell'AI sono crollate.
- Anche se la chiave era seduta proprio lì nel codice, i modelli AI non riuscivano ad aprire la cassaforte.
- Sono passati dal trovare l'indizio il 100% delle volte al trovarlo quasi lo 0% delle volte.
- L'Analogia: Immagina di avere una scatola chiusa a chiave, e la chiave è attaccata con lo scotch sul lato esterno della scatola. Un detective umano guarderebbe la chiave, la inserirebbe nella serratura e la aprirebbe. L'AI, invece, guardava la scatola e la chiave, ma invece di provare a sbloccarla, diceva semplicemente: "Non riesco a vedere cosa c'è dentro", o indovinava un numero a caso.
Il Problema del "Indovinare"
Quando l'AI non riusciva a trovare l'indizio, alcuni di loro hanno iniziato a allucinare (inventare cose).
- Un modello (Gemini) ha inventato indirizzi IP falsi circa il 5% delle volte.
- Il Pattern: Quando l'AI rimaneva bloccata, non diceva semplicemente "Non lo so". Spesso indovinava un indirizzo privato molto comune (come
192.168.17.101). - La Metafora: È come uno studente che sostiene un esame e non conosce la risposta. Invece di lasciarla in bianco, scrive "La risposta è probabilmente 42" perché ha visto quel numero molte volte in altri esami. L'AI stava semplicemente indovinando in base a ciò che aveva visto prima, non stava effettivamente risolvendo l'enigma.
La Grande Conclusione
Il documento conclude con una semplice verità:
- L'AI è brava a leggere una calligrafia disordinata. Se il codice è solo mescolato o rinominato, l'AI riesce a capirlo.
- L'AI è terribile nell'aprire le cassaforti. Se il codice è crittografato, l'AI si scontra con un muro. Non ha la capacità di "pensare" attraverso la matematica della crittografia, anche se la chiave è proprio davanti a lei.
In breve: Questi strumenti AI sono eccellenti per trovare indizi nascosti in piena vista, ma sono attualmente inutili contro il codice che è stato chiuso con una crittografia forte. Non riescono a "sbloccare" il mistero; possono solo leggere ciò che è già visibile.
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.