Strumenti come ChatGPT possono aiutare la difesa cyber oppure gli hacker ostili? Più la prima che i secondi, spiega Kaspersky. Ma serve pragmatismo nell'esaminare entrambi i casi.
OpenAI ha portato alla ribalta le potenzialità delle AI generative basate sui cosiddetti LLM, i Large Language Model. È evidente che la tecnologia deve migliorare, ma è logico chiedersi in quali campi ChatGPT e i LLM in generale possano trovare spazio già a breve termine. Per le software house che intendono battere il ferro dell'AI generativa finché è caldo, è infatti difficile trovare un momento migliore di questo per sviluppare qualche novità.
La cyber security è stata subito ipotizzata come uno degli ambiti di applicazione dei LLM. Ma davvero possiamo pensare a un chatbot "intelligente" che affianchi gli esperti umani nei SOC, alla ricerca di attacchi e minacce latenti? O, all'opposto, aiuti gli hacker ostili nelle loro operazioni? Se lo sono chiesti anche in Kaspersky, arrivando a conclusioni diverse a seconda del modo in cui una soluzione come ChatGPT potrebbe essere messa in campo.
L'interesse per i LLM in campo cyber security deriva da alcuni degli aspetti più eclatanti di ChatGPT. Ad esempio sappiamo che, a partire da uno spunto specifico su un determinato argomento, sa creare testi che appaiono convincenti, specie se questi vengono "affinati" con input successivi da parte dell'utente. Questo ha fatto pensare che un tool come ChatGPT possa aiutare nel creare testi per email di spam o phishing, anche mirato.
Un altro filone significativo è legato alla capacità che ChatGPT e altri LLM hanno di creare codice software a partire da una descrizione sommaria del problema che il codice deve risolvere. Ci vuole poco, quindi, a immaginare un chatbot intelligente che aiuti un hacker inesperto nel creare un nuovo malware.
Tutte queste ipotesi, e altre che Kaspersky ha esaminato, vanno però messe in relazione con quello che i LLM effettivamente sono. Strumenti come ChatGPT partono dall'analisi di enormi quantità di testo ricavato da varie fonti, comprese generiche pagine web, e arrivano a comprendere le relazioni statistiche che esistono tra i loro vari termini o combinazioni di parole. Non "comprendono" il contenuto dei testi, come a volte sembra, ma sanno comporne di estremamente convincenti.
Per questo, quando si chiede a un tool come ChatGPT di scrivere codice per risolvere un problema, il tool non comprende davvero di che problema si tratti e non escogita realmente una soluzione. Ma "sa" che la descrizione di quel problema viene statisticamente associata a un determinato tipo di codice. Se l'utente è bravo a scomporre il suo problema in passi semplici e li descrive a ChatGPT, riceve in cambio codice software che probabilmente è funzionante. Magari non lo è del tutto e non è nemmeno il migliore, ma è comunque un punto di partenza.
Senza arrivare proprio alla generazione di codice mirato, il funzionamento dei LLM permette anche di avere indicazioni più generiche su quali operazioni tecniche compiere per arrivare a un certo obiettivo, ad esempio violare una rete. La base di conoscenza per queste operazioni è liberamente disponibile, quindi ChatGPT l'ha probabilmente consultata come base per il suo addestramento. E può condividerla.
Considerare queste premesse è importante nel valutare correttamente il peso che i LLM possono avere nella generazione di attacchi cyber. "Le risposte che una AI dà - spiega Vladislav Tushkanov, Lead Data Scientist di Kaspersky - dipendono dal modo in cui si pongono le domande. È vero che con domande ben poste si possono avere risposte complete anche per azioni non etiche, come la generazione di attacchi, ma le istruzioni che ChatGPT dà non sempre sono corrette e, comunque, molto del materiale che ChatGPT presenta è già ampiamente noto". "Se poniamo domande generiche a ChatGPT, riceveremo risposte altrettanto generiche - ribadisce Maher Yamout, Senior Security Researcher di Kaspersky - quindi un potenziale attaccante 'generalista' non può ottenere dall'AI informazioni davvero mirate".
Il ruolo di chi usa o userà l'AI per portare attacchi resta quindi una componente chiave e ChatGPT non trasforma di colpo un incompetente informatico in un hacker provetto. Quantomeno, non lo fa più di quanto potrebbe farlo una serie ben condotta di ricerche di materiale su Internet. Sempre tenendo conto, poi, che il funzionamento di un tool come ChatGPT può essere filtrato e limitato da chi lo propone. Il raggio d'azione del "nuovo Bing", ad esempio, è stato fortemente ridotto da Microsoft dopo i primi casi eclatanti di comportamento "allucinatorio".
Più concreta è la possibilità che ChatGPT e tool simili vengano usati per creare messaggi di phishing e in particolare di spear phishing. "La generazione automatica di mail di phishing è utile - spiega Tushkanov - quando gli attaccanti non hanno una conoscenza perfetta della lingua dei destinatari. Qui ChatGPT aiuta a creare una email verosimile, adattando il contenuto a toni anche informali o impositivi, rendendo il messaggio ancora più plausibile, in funzione del destinatario e del presunto mittente".
Quanto tutto questo sia davvero pericoloso, o più pericoloso della norma, dipende. "L'efficacia delle mail di spam o di phishing generico non dipende solo dal testo che contengono - ricorda Tushkanov - ma è vero che lato spear phishing il contributo dell'AI generativa può essere importante". Una nuova freccia all'arco dei "buoni" è che proprio una AI può individuare se un messaggio che sembra lecito è stato invece generato da un'altra AI. "Circolano già in rete - spiega Yamout - email che lo stesso ChatGPT identifica come machine-generated".
La capacità che strumenti come ChatGPT hanno di analizzare in profondità il testo è la base della loro esistenza. Dato che il codice è esso stesso testo, una AI può aiutare nell'analizzare il malware per combatterlo meglio? In parte sì, commenta Yamout: "Una AI basata su LLM può effettivamente comparare diversi stili di programmazione e, quindi, aiutare nella attribuzione di un codice malware a specifici gruppi di hacker ostili. E questa è una operazione da analista".
Un altro possibile compito da AI è l'analisi dei segmenti di codice nei malware, per stabilire il loro obiettivo. Come anche la generazione, sempre a partire dal codice di un malware, dei dati che si scambiano una postazione infettata e i server di comando e controllo implementati dagli attaccanti. Sono comunicazioni che non si catturano spesso, quindi averle anche "simulate" può essere importante.
Un freno a queste applicazioni sta nel fatto che l'esecuzione delle AI generative basate su LLM richiede ingenti risorse IT e avviene quindi quasi esclusivamente in cloud. Per questioni di privacy e sicurezza, però, la scelta di condividere in cloud dati legati alla cyber security non è mai scontata. Ed è impossibile per le reti air-gapped e per gli ambienti OT. Resta poi ancora tutto da capire il peso che avrebbe in queste valutazioni l'inevitabile "data bias" di un algoritmo addestrato su una determinata base di dati di cyber security e non su tutti i dati possibili.
C'è un altro scenario della cyber security in cui i LLM possono essere teoricamente d'aiuto. Se si dà loro in pasto l'insieme delle informazioni disponibili sulle minacce attive in un dato momento, correlandole possono aiutare gli analisti umani nella threat detection. Kaspersky ha condotto esperimenti mirati in questo senso, ricavandone risultati meritevoli di altri approfondimenti.
I ricercatori di Kaspersky hanno presentato a ChatGPT alcuni indicatori di compromissione (IoC, Indicator of Compromise), domini malevoli, spezzoni di codice malware e processi notoriamente ostili per verificare se l'AI fosse in grado di riconoscerli. I risultati, va sottolineato subito, non sono stati certamente ottimali ma non si prevedeva lo fossero, dato che la base di conoscenza di ChatGPT non è pensata in modo specifico per la cyber security.
"Nel complesso - spiega Victor Sergeev, Incident Response Team Lead di Kaspersky - i test hanno mostrato un certo numero di falsi positivi, ma ponendo le giuste domande i risultati sono stati quantomeno interessanti e aprono le porte a ulteriori valutazioni ed esperimenti". ChatGPT resta per Sergeev una AI capace di produrre risultati inaspettati e non sempre coerenti - ad esempio il tool ha dato spesso motivazioni insufficienti o deboli per i suoi risultati, anche quando erano validi - e in cui "una domanda posta correttamente fa metà della risposta". Ma i test Kaspersky hanno identificato alcuni casi d'uso potenzialmente convincenti.
Tool come ChatGPT possono ad esempio aiutare l'identificazione di IoC per i quali non esistono ancora regole EDR ben definite, come anche per verificare se una regola basata su signature copre effettivamente tutti i casi che deve controllare. Possono poi rilevare tecniche di evasione abbastanza comuni, come la code obfuscation, oppure identificare malware sconosciuti analizzando il grado di similarità del loro codice con quello di malware già noti.
Ma, alla fine, è una ipotesi sensata quella di assumere (virtualmente) un tool simile a ChatGPT come analista junior in un SOC? "Certamente sì", commenta Victor Sergeev, considerando che strumenti di machine learning sono già utilizzati per alcune operazioni comuni nei SOC. Resta il problema della privacy dei dati raccolti da un Security Operations Center, ma è pensabile che in futuro avremo algoritmi complessi di AI che operano solo in locale.
L'idea che uno strumento come ChatGPT possa diventare una AI in grado di effettuare in autonomia azioni di hacking ostile è invece poco concreta. Almeno, lo è se consideriamo una AI come è adesso ChatGPT o qualche suo simile. "Questi strumenti - spiega Maher Yamout - non sono davvero autonomi: non reagiscono alle condizioni esterne ma danno solo risposte a un input. Non agiscono, reagiscono. Potrebbero al limite essere il 'cervello' di un sistema più articolato, ma non fare tutto da soli".