Simple Science

Scienza all'avanguardia spiegata semplicemente

# Informatica # Crittografia e sicurezza # Intelligenza artificiale # Calcolo e linguaggio

Malware e offuscamento del codice: il nuovo fronte di battaglia

Esplorando come le tecniche di offuscamento stanno cambiando il panorama del malware con LLM.

Seyedreza Mohseni, Seyedali Mohammadi, Deepa Tilwani, Yash Saxena, Gerald Ndawula, Sriram Vema, Edward Raff, Manas Gaur

― 8 leggere min


Offuscamento: Il Trucco Offuscamento: Il Trucco Subdolo del Malware sfuggire alla rilevazione. Come il malware usa l'offuscamento per
Indice

Nel mondo di oggi, i programmi per computer sono ovunque, e alcuni di questi programmi non sono proprio amichevoli. Il malware, per esempio, è un cattivo nella giungla del software. È progettato per infilarsi nel tuo computer, rubare i tuoi dati o fare un sacco di altre cose brutte. Per rendere più difficile il compito ai software di sicurezza, gli sviluppatori di malware spesso usano un trucco chiamato Offuscamento del codice.

L'offuscamento del codice è come un trucco di prestigio. Proprio come un mago fa sembrare le cose diverse e confuse per tenere il pubblico sulle spine, l'offuscamento rende il codice originale di un programma irriconoscibile per confondere i software di sicurezza. In questo modo, anche se qualcuno sospetta che un programma sia malware, diventa molto più difficile dimostrarlo.

Il Ruolo dei Modelli Linguistici Ampi (LLM)

Ma ora abbiamo qualcosa di nuovo che entra in scena: i Modelli Linguistici Ampi, o LLM per abbreviare. Sono sistemi AI avanzati addestrati su enormi quantità di testo e codice. Hanno il potenziale per creare, modificare e persino offuscare codice, quasi come un aiutante magico in un laboratorio di codifica.

Immagina uno scenario in cui, invece di un sviluppatore di malware seduto da solo a risolvere un problema di offuscamento, potrebbe semplicemente chiedere aiuto a un LLM. L'LLM può rapidamente produrre nuove versioni offuscate del codice, rendendo più facile per gli autori di malware creare software difficile da rilevare.

Cos'è MetamorphASM?

Questo ci porta a un progetto chiamato MetamorphASM. Questo progetto è fondamentalmente un framework progettato per testare quanto bene gli LLM possano eseguire l'offuscamento del codice. Pensa a esso come a un grande parco giochi dove l'AI incontra la furbizia informatica!

Il progetto MetamorphASM include un dataset noto come MetamorphASM Dataset (MAD). Questo dataset è composto da 328.200 campioni di codice assembly offuscato, che mira ad analizzare quanto efficacemente gli LLM possano creare e comprendere strutture di codice complicate e confuse.

Perché è Importante l'Offuscamento del Codice?

Ti starai chiedendo perché gli autori di malware si preoccupino dell'offuscamento. La risposta si riduce a un gioco di nascondino. I software di sicurezza spesso si basano sull'identificazione delle firme di malware conosciute per catturare il cattivo software. Se il codice malware sembra diverso ogni volta che viene eseguito, diventa più difficile per i programmi di sicurezza riconoscerlo. Fondamentalmente, il buon vecchio inganno mantiene il malware al sicuro da occhi indiscreti.

Diverse Tecniche di Offuscamento del Codice

Ci sono diverse tecniche per l'offuscamento del codice. Diamo un'occhiata ad alcune di esse, e sì, coinvolgono un po' di magia di programmazione:

1. Inserimento di Codice Morto

Immagina di gettare un sacco di falsi indizi in un romanzo giallo. L'inserimento di codice morto è proprio così. Comporta l'aggiunta di codice extra che non fa nulla di utile per il programma. Il codice aggiuntivo può essere istruzioni casuali che non hanno uno scopo reale, rendendo il programma originale più difficile da analizzare. Quindi, quando il software di sicurezza cerca di capire cosa sta facendo il codice, si confonde con questo disordine non funzionale.

2. Sostituzione dei Registri

La prossima è la sostituzione dei registri. Nel mondo della programmazione, i registri sono come cassette degli attrezzi. Se cambi gli attrezzi mentre cerchi di aggiustare qualcosa, può essere difficile seguire cosa stai facendo. Allo stesso modo, nella sostituzione dei registri, il malware sostituisce i nomi dei registri con altri nomi. Quindi, se il codice originale usa EAX (il potente costruttore), potrebbe cambiarlo in EBX (l'assistente fidato). La funzione rimane la stessa, ma l'aspetto cambia, rendendo più difficile per il software di sicurezza individuare il problema.

3. Cambiamento del Flusso di Controllo

Infine, c'è il cambiamento del flusso di controllo. Questa tecnica riordina l'ordine delle istruzioni in un programma mantenendo intatta la sua funzionalità. Immagina di leggere una ricetta che continua a cambiare l'ordine dei passaggi. Un momento stai mescolando gli ingredienti, e quello dopo stai cuocendo la torta! Questo rende difficile per i sistemi di sicurezza capire cosa stia facendo il malware, poiché il flusso logico delle operazioni diventa imprevedibile e caotico.

La Sfida per il Software di Sicurezza

Il software di sicurezza, o programmi antivirus, lavora instancabilmente per mantenere i nostri dispositivi al sicuro. Tuttavia, man mano che gli autori di malware diventano più creativi con l'offuscamento, questo compito diventa sempre più difficile. Più complesse e variegate sono le tecniche di offuscamento, più difficile è per i programmi di sicurezza rilevarle.

Questo è dove entra in gioco il progetto MetamorphASM. Mira a studiare quanto bene gli LLM possano gestire l'offuscamento. Se gli LLM possono imparare a generare codice offuscato, allora possono anche essere uno strumento per i ricercatori di sicurezza per contrastare il malware.

Come Funziona MetamorphASM?

Il primo passo nel progetto MetamorphASM ha comportato la raccolta di un ampio dataset di codice assembly. Questo codice è stato raccolto da vari programmi software, specificamente mirati a quelli che girano su sistemi Windows. Una volta raccolto il dataset, ha subito un processo di pulizia per rimuovere pezzi inutili e mantenere solo sezioni di codice preziose.

Successivamente, il codice assembly è stato offuscato utilizzando le tre tecniche descritte sopra: inserimento di codice morto, sostituzione dei registri e cambiamento del flusso di controllo. Questi frammenti trasformati sono stati quindi salvati in modo strutturato per ulteriori analisi.

Gli LLM Incontrano l'Offuscamento del Malware

La fase successiva del progetto MetamorphASM ha coinvolto il test di come diversi LLM si comportassero nella generazione di codice offuscato. Sono stati testati vari modelli, alcuni open-source e altri proprietari. L'obiettivo era vedere quali modelli fossero più adatti per il compito da svolgere.

I ricercatori hanno creato benchmark per valutare gli LLM, considerando sia metriche automatiche che revisioni manuali. Hanno misurato quanto bene gli LLM potessero generare codice offuscato e hanno controllato quanto quel codice fosse simile alla versione originale. I risultati hanno rivelato che alcuni LLM, come GPT-4o-mini, si sono distinti per la loro efficacia nella creazione di codice assembly offuscato.

Risultati Sperimentali

È interessante notare che, misurando le prestazioni di questi modelli, è emerso che non tutti erano creati uguali. Alcuni LLM hanno eccelso in certe tecniche di offuscamento mentre hanno faticato con altre. Ad esempio, mentre un modello era eccellente nell'inserimento di codice morto, potrebbe essere inciampato nella sostituzione dei registri.

I ricercatori hanno evidenziato che l'efficacia di questi modelli variava significativamente a seconda della specifica tecnica impiegata. Questo significava che mentre alcuni modelli potrebbero essere potenti generalisti, non sempre sarebbero i migliori offuscatori per ogni scenario.

Valutazione dei Risultati

Per valutare la qualità dell'offuscamento eseguito dagli LLM, i ricercatori hanno adottato due metodi principali: Delta Entropy e similarità coseno. Il Delta Entropy misura quanto è cambiata la complessità del codice originale, mentre la similarità coseno misura quanto il codice generato assomigli all'originale.

I risultati hanno indicato che mantenere un certo livello di Delta Entropy e similarità coseno è essenziale. Se il codice diventa troppo complesso o troppo simile, potrebbe perdere la sua funzionalità o non essere abbastanza offuscato da ingannare il software di sicurezza.

Implicazioni per la Sicurezza Informatica

Con le conoscenze acquisite dal progetto MetamorphASM, i ricercatori di sicurezza possono comprendere meglio come gli LLM potrebbero essere utilizzati in futuro, sia per il bene che per il male. Da un lato, gli LLM possono aiutare a sviluppare tecniche di offuscamento avanzate, il che significa che gli autori di malware potrebbero creare minacce più sofisticate. D'altra parte, i ricercatori di sicurezza possono utilizzare la stessa tecnologia per trovare modi efficaci per contrastare queste minacce.

L'obiettivo finale di questa ricerca è costruire un ambiente digitale più sicuro. Comprendendo le capacità degli LLM, gli esperti possono elaborare metodi di rilevamento e contromisure migliori per affrontare i trucchi di offuscamento utilizzati dal malware.

Prospettive Future

Man mano che questa ricerca continua a svelarsi, il futuro sembra promettente sia per gli sviluppatori di malware che per gli esperti di sicurezza informatica. La natura duale degli LLM significa che, mentre questi modelli AI possono portare a malware stravaganti e difficili da rilevare, possono anche consentire ai team di sicurezza di combattere efficacemente quelle stesse sfide.

Mentre i ricercatori si immergono più a fondo in questo mondo di LLM e offuscamento, chissà quali altri trucchi fighi usciranno dal cappello della codifica! Forse un giorno potremmo persino allenare l'AI a diventare un detective esperto, trovando quei fastidiosi ladri di malware nascosti nell'ombra, mentre pensano di essere loro a eseguire il trucco di magia definitivo.

Conclusione

Nella battaglia in corso tra malware e sicurezza informatica, l'offuscamento del codice funge da tattica astuta per mantenere il malware nascosto. L'introduzione degli LLM aggiunge una nuova dimensione a questa lotta, fornendo sia minacce che strumenti per gli esperti di sicurezza. Attraverso progetti come MetamorphASM, i ricercatori stanno aprendo la strada a una migliore comprensione di queste dinamiche, cercando di rimanere un passo avanti nel gioco digitale del gatto e topo. Con il mondo che si affida sempre di più alla tecnologia, questa battaglia probabilmente evolverà, portando a risultati emozionanti, e forse divertenti, nel panorama sempre in cambiamento della sicurezza informatica.

Fonte originale

Titolo: Can LLMs Obfuscate Code? A Systematic Analysis of Large Language Models into Assembly Code Obfuscation

Estratto: Malware authors often employ code obfuscations to make their malware harder to detect. Existing tools for generating obfuscated code often require access to the original source code (e.g., C++ or Java), and adding new obfuscations is a non-trivial, labor-intensive process. In this study, we ask the following question: Can Large Language Models (LLMs) potentially generate a new obfuscated assembly code? If so, this poses a risk to anti-virus engines and potentially increases the flexibility of attackers to create new obfuscation patterns. We answer this in the affirmative by developing the MetamorphASM benchmark comprising MetamorphASM Dataset (MAD) along with three code obfuscation techniques: dead code, register substitution, and control flow change. The MetamorphASM systematically evaluates the ability of LLMs to generate and analyze obfuscated code using MAD, which contains 328,200 obfuscated assembly code samples. We release this dataset and analyze the success rate of various LLMs (e.g., GPT-3.5/4, GPT-4o-mini, Starcoder, CodeGemma, CodeLlama, CodeT5, and LLaMA 3.1) in generating obfuscated assembly code. The evaluation was performed using established information-theoretic metrics and manual human review to ensure correctness and provide the foundation for researchers to study and develop remediations to this risk. The source code can be found at the following GitHub link: https://github.com/mohammadi-ali/MetamorphASM.

Autori: Seyedreza Mohseni, Seyedali Mohammadi, Deepa Tilwani, Yash Saxena, Gerald Ndawula, Sriram Vema, Edward Raff, Manas Gaur

Ultimo aggiornamento: 2024-12-24 00:00:00

Lingua: English

URL di origine: https://arxiv.org/abs/2412.16135

Fonte PDF: https://arxiv.org/pdf/2412.16135

Licenza: https://creativecommons.org/licenses/by/4.0/

Modifiche: Questa sintesi è stata creata con l'assistenza di AI e potrebbe presentare delle imprecisioni. Per informazioni accurate, consultare i documenti originali collegati qui.

Si ringrazia arxiv per l'utilizzo della sua interoperabilità ad accesso aperto.

Altro dagli autori

Articoli simili