L’intelligenza artificiale e il machine learning sono stati parte integrante della cyber security molto prima di ChatGPT. Queste tecnologie hanno migliorato alcune operazioni come il rilevamento dei malware, la prevenzione del phishing e l’automazione dei Security Operations Center (SOC).
Se usato in maniera corretta, inoltre, un chatbot può essere usato efficacemente anche nella risposta agli incidenti di sicurezza.
Indice degli argomenti
Migliorare la ricerca delle minacce
Un compito fondamentale per i responsabili della cyber sicurezza è identificare gli indicatori di compromissione (IoCs). Le tecnologie basate sull’IA, come ChatGPT, promettono di accelerare questa attività, simulando la capacità umana di analisi del testo a una velocità superiore.
Uno script specifico, come HuntWithChatGPT, può essere utile: estrae i log degli eventi di sicurezza e i processi in esecuzione dai sistemi target. Grazie alle richieste all’API OpenAI, i metadati vengono analizzati per individuare eventuali compromissioni.
Tuttavia, esistono alcune limitazioni che impediscono la completa automazione, richiedendo la collaborazione dell’uomo e un’attenta valutazione di utilizzo. Inoltre, questo metodo non è infallibile e solleva problemi relativi ai costi con implicazioni legali associate alla trasmissione di dati sensibili con OpenAI.
Facilitare il reverse engineering
Il reverse engineering gioca un ruolo fondamentale nell’aiutare i responsabili della sicurezza a comprendere la natura delle minacce e le caratteristiche distintive del malware.
In questo contesto, le tecnologie simili a GPT si rivelano preziose, descrivendo in modo sintetico le funzionalità del codice e permettendo di identificare i campioni di codici dannosi e le loro funzionalità, così da accelerare gli interventi di threat intelligence.
In particolare, alcuni script come Gepetto sfruttano i modelli di OpenAI per decifrare le funzioni decompilate, grazie alla popolare applicazione software IDA Pro.
Sebbene l’utilizzo di ChatGPT per il reverse engineering fornisca spunti di riflessione, non è privo di inconvenienti, come le difficoltà a gestire codici complessi.
Le questioni legali evidenziano la necessità di associarlo alle competenze umane per un’analisi precisa e sicura.
Ovviamente, gli output dovrebbero essere sottoposti a convalida per garantirne l’affidabilità. Inoltre, come in qualsiasi altro scenario, bisogna essere cauti nel condividere codici potenzialmente sensibili con un chatbot, poiché potrebbero insorgere problemi relativi privacy.
Istruzioni chiare e qualità di scrittura dei report
Oltre al rilevamento delle minacce e al reverse engineering, ChatGPT può essere utile in alcune attività solitamente svolte da diversi professionisti della sicurezza, dagli analisti ai CISO, come la creazione di testi.
Spesso capita di dover redigere testi di vario tipo, da report e segnalazioni per i clienti alle ricerche divulgative.
Inoltre, dato che la community della sicurezza informatica è veramente globale, la maggior parte delle comunicazioni avviene in lingue diverse e ChatGPT contribuisce a trasformare le bozze in un testo aziendale coerente, articolato e ben strutturato.
Si può chiedere a ChatGPT di rivedere il testo finale, rimuovendo tutti i dati riservati. Un prompt ben fatto dovrebbe prevedere i seguenti punti chiave:
- Indicare allo strumento chi dovrebbe riprodurre, ad esempio un madre-lingua americano che ricopre la carica di dirigente di alto livello nella sicurezza informatica.
- Specificare il compito da eseguire, come la correzione di una relazione. È anche possibile chiedere di migliorare chiarezza, coerenza e fluidità così come usare forme verbali attive e un linguaggio tecnico.
- Per prevenire contenuti indesiderati, si può chiedere di non inserire informazioni che non siano presenti nel testo originale.
È importante eseguire un controllo incrociato del testo ottenuto. Il principale svantaggio è che i testi corretti da ChatGPT devono essere controllati attentamente, poiché il tool tende a omettere informazioni presenti nel testo originale, aggiungerne di nuove, alterare il significato e addirittura compiere errori effettivi.
Accelerare lo sviluppo degli script per l’analisi delle minacce
Nella sicurezza informatica vengono usati diversi tipi di script e di linguaggi, come Python, Bash, PowerShell, e Perl. Tuttavia, avere a che fare con l’intricata sintassi del linguaggio e le sfide del debugging può essere impegnativo e richiedere molto tempo.
È in questi casi che ChatGPT è utile. Consente, infatti, di creare rapidamente script su misura per il compito da svolgere, riducendo al contempo la necessità di una conoscenza approfondita e di competenze in aree specifiche, come gli strumenti Linux (awk, sed, grep) e la sintassi delle espressioni regolari.
Inoltre, se è necessario che lo script operi su sistemi più vecchi, può essere scritto secondo lo standard POSIX per assicurarne la compatibilità. Per sfruttare pienamente le capacità di ChatGPT, le istruzioni devono essere chiare.
Dunque, è importante specificare l’attività, come la ricerca di script Bash e l’analisi di cron job, oltre alla definizione dell’output e dei dettagli contestuali.
Un esempio di prompt per creare uno script Bash.
Sebbene ChatGPT offra una certa comodità nella scrittura degli script, tralasciando le normali preoccupazioni relative alla privacy, un altro limite può essere quello di non considerare scenari complessi.
L’output generato da ChatGPT è limitato in termini di numero di parole che può produrre. Perciò, un analista potrebbe dover combinare manualmente alcune sequenze del codice ottenuto da ChatGPT e questo può essere un compito complesso.
Una volta generato lo script, bisogna ricontrollarlo accuratamente ed eseguire un test per garantirne la correttezza e perfezionare il risultato.
Accelerare la creazione degli script di ripristino
Una parte significativa del ciclo della vita degli incidenti consiste nella fase di ripristino. In questa fase, i professionisti di sicurezza informatica potrebbero, ad esempio, rimuovere file malevoli o bloccarne l’esecuzione, isolare gli host nella rete, disabilitare gli account degli utenti e svolgere altre azioni per ripristinare il sistema colpito.
Per questo sono necessari gli script, che ChatGPT può fornire come nella fase di analisi. Lo strumento di IA accelera il processo di sviluppo dello script, velocizzando anche la rimozione del malware.
Inoltre, semplifica il processo fornendo esempi e funzioni di codici, così da migliorare il flusso di lavoro per gli analisti meno esperti.
Un esempio di uno script di ripristino PowerShell.
Ovviamente, anche questi script devono essere utilizzati con una certa cautela. La necessità di condividere gli IoC con ChatGPT solleva ulteriori problemi di privacy. Inoltre, se lo script di origine si dovesse rivelare errato – e la probabilità che accada è abbastanza elevata – c’è il rischio di cancellare componenti essenziali del sistema e di interromperne il funzionamento.
Prima di implementare questi script, è essenziale verificare attentamente l’output ottenuto dallo strumento di IA e assicurarsi di avere il backup dei propri dati.
Conclusione
Alla luce di quanto analizzato finora, è importante notare che, sebbene gli strumenti di IA, come ChatGPT, siano in grado di gestire i compiti di base con una certa creatività, non sono ancora pronti a occuparsene del tutto, in particolare per quanto riguarda la sicurezza informatica.
Le attività di cyber security richiedono precisione, velocità, e affidabilità che, per ora, possono essere fornite solo dall’uomo. Di conseguenza c’è una richiesta di servizi in cui gli esperti umani rintracciano e neutralizzano i malware che hanno eluso le soluzioni di sicurezza aziendali.
Un’altra tendenza attuale è la fusione delle competenze umane con il machine learning e l’intelligenza artificiale.
Questo approccio è già stato adottato, ad esempio nel rilevamento automatico dei malware e in alcune soluzioni Extended Detection and Response (XDR).
Grazie al machine learning, una soluzione XDR può analizzare e adattarsi in modo continuativo alle nuove informazioni sulle minacce, così da migliorare le capacità di rilevazione e risposta, aiutando gli analisti umani a gestire l’enorme quantità di dati.
A prescindere dal tipo di intelligenza artificiale a cui si fa riferimento – sia che si tratti di LLM ampiamente conosciuti e disponibili o di soluzioni di nicchia specializzate – la componente umana rimane essenziale nell’equazione.