Article. What i write

LLM per la cyber security: suggerimenti per un uso corretto dei Large Language Model

Pubblicato il 25 marzo 2024 su CyberSecurity360.it
L’intelligenza artificiale e gli LLM hanno la caratteristica di essere contemporaneamente una risorsa per i professionisti della cyber security e un’opportunità per gli attaccanti, a meno che i rischi non siano gestiti correttamente. Ecco alcuni suggerimenti utili per effettuare efficaci test di sicurezza informatica
Vincenzo Calabro' | LLM per la cyber security
Large Language Model (in sigla LLM, ossia algoritmi di Deep learning capaci di riconoscere contenuti, generarli, riassumerli, tradurli e persino prevederli) hanno dimostrato una notevole capacità di acquisizione, comprensione e generazione della conoscenza in ambito generale, dimostrando allo stesso tempo significative limitazioni nel completamento delle attività del mondo reale.
A tal proposito, la cyber security è un settore degno di nota in quanto presenta sia opportunità che rischi connessi all’utilizzo degli LLM. Infatti, la maggior parte dei produttori di soluzione di detectione response offre soluzioni che integrano questa funzionalità.
A riguardo, gli esperti di sicurezza informatica, grazie alle possibilità offerte dagli LLM, potrebbero divenire più efficienti ed efficaci nel prevenire e fermare gli attacchi informatici.
Nondimeno, anche gli attaccanti potrebbero utilizzare le tecnologie dell’intelligenza artificiale generativa (AI Gen) per diventare più aggressivi. Abbiamo già visto evidenze di attacchi da parte di threat actors che utilizzano gli LLM per facilitare l’attività di intrusione (per esempio: WormGPT, FraudGPT ecc.).
Questo utilizzo improprio solleva molte questioni importanti tra cui:
  1. Un LLM come GPT-4 può scrivere un malware?
  2. Un LLM fornisce informazioni affidabili per contrastare gli attacchi cyber?
  3. Un LLM può diventare un componente critico per attacchi informatici su larga scala?
La risposta a queste domande dipende dalla scelta del metodo di analisi utilizzato e dai risultati che riesce a fornire. Sfortunatamente, i metodi e le tecniche attualmente adoperate per valutare le opportunità degli LLM in ambito cybersecurity non sono esaustivi.
Cerchiamo di comprendere quali sono gli elementi per determinare con precisione i vantaggi di un LLM.

Opportunità degli LLM per le attività di cyber security

Normalmente i task di cyber security sono complessi e dinamici e richiedono un contesto ampio per poter essere valutati in maniera approfondita.
Per esempio, se si considerasse un tentativo di intrusione, in cui un utente malintenzionato cerca di compromettere un sistema, in questo scenario entrerebbero in gioco due ruoli contrapposti, l’attaccante e il difensore, con obiettivi, capacità e competenze differenti.
In una situazione reale, gli attaccanti possono cambiare tattica ripetutamente, in risposta alle azioni del difensore, e viceversa. Inoltre, in base agli obiettivi degli aggressori, possono essere enfatizzate determinate minacce, come la compromissione dei dati o l’interruzione dei servizi.
Mentre i difensori possono scegliere se osservare l’attività malevola posta in essere, per apprendere le mosse dell’avversario e raccogliere informazioni utili a comprendere l’attacco, oppure estromettere l’intruso immediatamente e interrompere la catena di attacco.
Ovviamente, l’enorme varietà e complessità degli attacchi informatici non consente di enumerare in maniera univoca e deterministica tutte le possibili soluzioni.
Innanzitutto, occorre fare alcune considerazioni sull’utilizzabilità di un LLM in questa tipologia di scenario. Un LLM potrebbe dare suggerimenti, ovvero intraprendere azioni per conto dell’analista di cyber security, per fermare un attacco in maniera più rapida o più efficace? Potrebbe suggerire o intraprendere azioni che possano arrecare danni involontari o che si rivelino dannose?
Questi dubbi evidenziano la necessità di dover effettuare una valutazione approfondita e accurata sul funzionamento degli LLM nel contesto della cyber security.
Tuttavia, è difficile, allo stato attuale, comprendere i vantaggi derivanti dallo sfruttamento degli LLM, al punto da poterli considerare affidabili per l’impiego in attività critiche di cyber security, perché la maggior parte dei test sono implementati sottoforma di semplici benchmark che si basano principalmente sull’accuratezza nel recupero delle informazioni.
Le valutazioni, che si basano solo sulle conoscenze fattuali, potrebbero essere già state assorbite dagli LLM e, pertanto, i risultati ottenuti potrebbero essere falsati e, paradossalmente, enfatizzare i punti di forza dell’LLM.
In pratica, i decision maker, se non acquisissero preventivamente dei risultati trasparenti, non potrebbero disporre delle informazioni necessarie a valutare le opportunità e i rischi sul comportamento di un LLM in casi concreti e reali di sicurezza informatica.
Pertanto, è necessario effettuare simulazioni pratiche, applicative e complete per valutare le capacità degli LLM in ambito cyber security. Le prove reali riflettono la natura complessa della sicurezza informatica e forniscono un quadro più completo delle capacità di un LLM.

Suggerimenti per i test di sicurezza informatica

Per valutare correttamente i rischi e l’adeguatezza dell’utilizzo degli LLM per le attività di supporto alla cyber security, occorre preliminarmente progettare, implementare e interpretare attentamente le prove da sottoporre sia in fase di apprendimento, che di testing.
Per esempio, è preferibile privilegiare test basati sulle conoscenze pratiche e applicate in materia di sicurezza informatica, rispetto a prove di carattere generale basate sui documenti.
Tuttavia, la creazione di questi tipi di valutazioni può essere un’attività complessa comprensiva dell’infrastruttura, della progettazione dei task e delle domande e, infine, della raccolta dei dati.
Cerchiamo di indicare una serie di suggerimenti per agevolare la creazione di scenari significativi e attuabili, in grado di valutare accuratamente le capacità di un LLM applicato alla cyber security.

Definire il risultato che si desidera raggiungere

Iniziare con una definizione chiara del task da sottoporre al LLM, aiuta a prendere le decisioni corrette in merito alla complessità e alla valutazione del sistema. A riguardo è consigliato:
  1. Prendere in considerazione come è svolto dagli esseri umani: partendo dai principi generali, pensare a come gli esseri umani svolgono il task che si vuole testare e descrivere i singoli passaggi. Questo procedimento aiuta a comprendere il task.
  2. Prestare attenzione ai set di dati esistenti: i test realizzati nell’ambito della sicurezza informatica hanno ampiamente sfruttato i set di dati esistenti, ciò può influenzare il tipo e la qualità dei task da valutare.
  3. Definire i task in base all’uso previsto: quando si pianificano i test occorre valutare attentamente se si desidera realizzare una simulazione autonoma oppure una simulazione che vede la partecipazione congiunta uomo-macchina. Questa distinzione ha implicazioni significative per il tipo di test che si desidera condurre.

Rappresentare le attività in modo adeguato

La maggior parte delle attività che ha senso valutare nella sicurezza informatica sono molto complesse per essere rappresentate con delle semplici query, come le domande a scelta multipla. Piuttosto, le query devono riflettere la natura dell’attività senza essere troppo generiche e approssimative.
A tal proposito è opportuno:
  1. Definire un ambito adeguato: assicurarsi di non rappresentare un task reale con un task secondario sintetico. Solitamente i task secondari sono più facili da rappresentare e misurare, ma le loro prestazioni non sono sempre correlate al task principale.
  2. Sviluppare un’infrastruttura per supportare la valutazione: i test pratici e applicativi generalmente richiedono un supporto infrastrutturale importante, in particolare per supportare l’interattività tra l’LLM e l’ambiente di test.
  3. Incorporare i casi d’uso degli esseri umani: assicurarsi che la valutazione rispecchi i casi d’uso e le correzioni forniti dagli esseri umani.
  4. Evitare i casi d’uso non appropriati: per esempio, i test delle certificazioni professionali possono ignorare la complessità del mondo reale.

Rendere affidabili i dataset

Quando si progettano i dataset occorre prestare attenzione per evitare risultati non veritieri. Per rendere i test affidabili è necessario prendere in considerazione le seguenti linee:
  1. Usare la preregistrazione: considerare in anticipo come verrà valutato il task.
  2. Applicare agli input valori di disturbo reali: la formulazione imprecisa di una domanda o l’ordine delle parole ha effetti minimi su un essere umano, ma può comportare cambiamenti significativi sulle prestazioni dell’LLM. Questi disturbi devono essere presi in considerazione nella progettazione dei dataset.
  3. Fare attenzione alla contaminazione dei dati di addestramento: gli LLM vengono spesso addestrati su dataset di grandi dimensioni, comprese le notizie sui feed di vulnerabilità, i siti web dei CVE (Common Vulnerabilities and Exposures), il codice e le discussioni online sulla sicurezza. Questi dati possono rendere alcune attività artatamente semplici per l’LLM.

Interpretare i risultati in modo corretto

Anche le valutazioni effettuate con una metodologia affidabile possono restituire dei risultati errati. Per evitare questa vulnerabilità è utile prendere in considerazione i seguenti suggerimenti in merito all’interpretazione dei risultati:
  1. Evitare le affermazioni troppo generiche: per esempio, il raggiungimento di un buon risultato del modello, per l’identificazione delle vulnerabilità in una singola funzione, non significa che quel modello è in grado di individuare le vulnerabilità in un’applicazione reale in cui le risorse, come il codice sorgente, possono essere limitate.
  2. Stimare le prestazioni del caso migliore e peggiore: gli LLM possono avere prestazioni sulla valutazione molto diverse tra loro a causa delle diverse strategie di prompt o perché utilizzano tecniche di calcolo aggiuntive in fase di test. Pertanto, è opportuno prendere in considerazione gli scenari migliori e peggiori per ridurre la gamma dei risultati.
  3. Prestare attenzione ai bias di selezione del modello: tutte le conclusioni tratte dai test valutazioni devono essere inserite nel contesto appropriato. Eseguire test su una varietà di modelli attuali o catalogare le affermazioni in maniera corretta.
  4. Chiarire se si sta valutando il rischio o la capacità. la valutazione del rischio dei modelli richiede un modello di minaccia. In generale, l’aspetto della capacità del modello è solo una delle fonti di incertezza sul rischio. Le valutazioni basate sui task possono aiutare a comprendere la capacità del modello.

Conclusioni

L’intelligenza artificiale e gli LLM hanno la caratteristica di essere contemporaneamente una risorsa per i professionisti della cyber security e un’opportunità per gli attaccanti, a meno che i rischi non siano gestiti correttamente.
Per comprendere e valutare meglio le capacità e i rischi degli LLM nell’ambito della sicurezza informatica, è necessario sviluppare dataset e test basati su scenari reali e complessi con obiettivi malevoli. Le simulazioni basate sulla conoscenza standard e fattuali orientano l’output verso un tipo di ragionamento in cui gli LLM sono bravi.
Per avere una competenza maggiore in materia di sicurezza informatica, i dataset di apprendimento dovrebbero prendere in considerazione i concetti di sicurezza applicati a scenari reali. Questa raccomandazione non vuol dire che una conoscenza di base della sicurezza informatica non sia utile per effettuare una valutazione; piuttosto, sono necessarie simulazioni più realistiche e robuste per riuscire a giudicare le competenze in modo accurato e completo.