Recentemente sono emerse delle preoccupazioni, quando questa settimana la società di protezione dell’identità CyberArk ha testato il software di scrittura basata su intelligenza artificiale e si è scoperto che non solo può scrivere malware, ma può scrivere malware che è molto più difficile da rilevare e quindi difendersi di conseguenza.
Ebbene sì, l’intelligenza artificiale può generare non solo semplice testo, ma pure script di malware
Il malware in genere utilizza stringhe di codice per completare una funzione dannosa, ad esempio, “inserendosi”, per così dire, nel codice “sano” di un sistema bersaglio o modificando i nomi e le posizioni dei file.
“Queste stringhe di codice possono essere la rovina del malware, poiché il software antivirus spesso cerca comandi di codice dannoso comuni“, ha dichiarato sul giornale web online “Cybernews”, la ricercatrice Maria-Kristina Hayden, CEO della società di igiene informatica OUTFOXM.
Ma il malware polimorfico, così chiamato perché il suo codice cambia ogni volta che viene eseguito pur mantenendo la stessa funzione, è in grado di “superare in astuzia” molti tipi di software di rilevamento (Antivirus, Antimalware, ce ne sono tantissimi), che tendono a fare affidamento su modelli rilevati in precedenza noti come “firme” per individuare programmi dannosi.
“Il codice polimorfico rende molto più difficile [il rilevamento] per questi sistemi, basati su firme rilevare il malware, perché le caratteristiche identificabili cambiano costantemente e impediscono il rilevamento [in tempo reale]“, ha affermato Hayden.
Di norma, tale codice deve essere scritto manualmente, ma l’avvento di ChatGPT significa che non è più così, ha spiegato.
“I ricercatori hanno identificato che con ChatGPT le persone possono creare malware di natura polimorfica e che non contengono i comuni comandi di codice dannoso che l’antivirus controlla“, ha affermato.
Ciò si ottiene scrivendo malware in grado di interrogare l’intelligenza artificiale (ChatGPT in questo caso specifico, ma ce ne sono altre) e interpretare il codice “al volo” mentre svolge le sue attività comandate: questo gli consente di “esternalizzare” in modo efficace il codice in continua modifica e quindi evitare il rilevamento nel modo consueto.
Hayden ha dichiarato: “Invece di inserire le tipiche stringhe di codice dannoso necessarie per fare cose cattive, il malware utilizza nuove funzionalità per chiedere invece a ChatGPT di scrivere e fornire le parti dannose di codice in diversi punti del processo di esecuzione, quindi interpretare ed eseguire il codice.”
Ha poi aggiunto: “Il malware può anche essere progettato per eliminare successivamente qualsiasi codice inviato da ChatGPT, rimuovendo ogni traccia”.
Se con l’intelligenza artificiale si possono creare codici di malware, forse si può pure fare il contrario
Se l’intelligenza artificiale permette di creare codice per malware, vuol dire che può creare anche codice “benevolo”.
Onde evitare allarmismi: se si interroga l’intelligenza artificiale di ChatGPT a riguardo, lei risponderà che non le è possibile creare codice malevolo poiché è illegale, quindi, per fortuna, le AI più popolari sono programmate per bloccare questa capacità sul nascere.
Se io provo a chiedere a questa intelligenza artificiale di farmi il classico programma C++ da terza superiore di addizionare due addendi, questo sarà il risultato:
Interessante notare come dia addirittura delle spiegazioni tecniche molto precise a riguardo, tradotto ciò significa: questo programma prima dichiara tre variabili intere, num1, num2, e sum. Poi fa sì che l’utente inserisca il primo numero, che sarà memorizzato in variabile num1, avverrà poi lo stesso con la variabile del secondo addendo che sarà num2. Il programma successivamente farà la somma dei due addendi, il cui risultato sarà salvato nella variabile sum. Alla fine sarà visualizzato il risultato [cioè la somma]
Se chiedo specificatamente che mi crei un malware, mi risponde proprio che non lo può fare per i motivi appena descritti:
C’è da vedere se facendo qualche domanda trabocchetto, magari lui accidentalmente credi del codice dannoso, tuttavia se esistono delle intelligenze artificiali create appositamente per creare codice senza avere dei “fermi” per il codice malevolo, di certo non sono reperibili se non per vie traverse (deep web, per esempio).
Oltretutto le risposte, non le dà sempre uguali questa intelligenza artificiale, ho provato a far rigenerare il codice in linguaggio C++ e mi ha dato qualcosa di relativamente diverso.
Qui ha deciso, per qualche ragione ignota, di usare una versione più classica del linguaggio di programmazione C++, per qualche motivo ha voluto essere più specifico, presumibilmente perché ho voluto rigenerare la risposta e ha voluto essere più specifico.
Tradotto: Questo programma richiede all’utente di inserire due numeri, quindi li somma e mostra il risultato [su schermo].
La riga [di codice] “#include <iostream>” [in altre versioni di C++ spesso bisogna mettere <iostream.h>] include la libreria del flusso di input/output, che consente al programma di utilizzare i comandi cout e cin per l’input e l’output. Lo spazio dei “nomi using std”; line consente al programma di utilizzare lo spazio dei nomi standard, che include i comandi “cout” e “cin”.
Rispondendo alla domanda di prima, sebbene possano esistere intelligenze artificiali che oltre che malware creano pure antimalware, pare che il bot di intelligenza artificiale più comune non ami creare questo genere di codici.
Tradotto l’intelligenza artificiale ha detto: Non è appropriato, né sicuro creare codice che possa rivelare o distruggere malware, in quanto può avere conseguenze impreviste e causare danni al sistema o alla rete. Inoltre, è illegale creare, distribuire o utilizzare malware.
Invece di creare malware, puoi utilizzare software antivirus/antimalware, firewall e sistemi di rilevamento delle intrusioni per prevenire e rilevare malware sul tuo computer o sulla tua rete. Inoltre, puoi mantenere il tuo sistema e [i tuoi] software aggiornati, utilizzare password complesse ed essere vigile su e-mail o siti Web sospetti.
È anche importante notare che nessuna singola soluzione può proteggerti da tutti i tipi di malware ed è sempre consigliabile consultare esperti o organizzazioni di sicurezza nel caso in cui sospetti un’infezione da malware sui tuoi sistemi.
Volendo testare tanto potenzialità quanto limiti di questa cosa, ho voluto chiedere qualcosa di più complicato a ChatGPT, ho voluto chiedergli se usando il C++ in Unreal Engine io volessi far volare i personaggi sulla falsariga della serie anime e manga di Dragon Ball, con un risultato piuttosto interessante.
Questa intelligenza artificiale si è espressa in un modo estremamente interessante, tradotto:
La creazione di un codice per un personaggio volante in Unreal Engine utilizzando C++ può essere un’attività complessa, in quanto richiede la conoscenza sia dell’Unreal Engine che della programmazione C++. Ecco un esempio di codice di base che potrebbe essere utilizzato per dare a un personaggio la possibilità di volare in Unreal Engine:
#include “MyCharacter.h”
#include “GameFramework/CharacterMovementComponent.h”
void AMyCharacter::BeginPlay()
{
Super::BeginPlay();
UCharacterMovementComponent* CharacterMovement = GetCharacterMovement();
CharacterMovement->SetMovementMode(MOVE_Flying);
}
void AMyCharacter::Fly()
{
FVector FlyDirection = GetActorForwardVector() * FlySpeed;
LaunchCharacter(FlyDirection, true, true);
}
Questo codice verrebbe aggiunto alla classe del personaggio in Unreal Engine e darebbe al personaggio la capacità di volare. La funzione “BeginPlay” imposta la modalità di movimento del personaggio su “MOVE_Flying” che consente al personaggio di volare. La funzione “Fly” utilizza la funzione “LaunchCharacter” per far volare il carattere nella direzione del vettore “FlyDirection”, alla velocità definita dalla variabile “FlySpeed”.
Continua poi l’intelligenza artificiale GPT:
È importante notare che questo è un esempio molto semplice e ci sono molte cose che dovresti aggiungere per renderlo un’esperienza raffinata e divertente come animazioni, suoni, effetti particellari e gestione delle collisioni. Inoltre, è importante ricordare che per ottenere lo stile di volo della serie Dragon Ball dovrai aggiungere funzionalità aggiuntive al tuo codice e creare un sistema di movimento personalizzato per ottenere quel comportamento specifico.
Curioso come la stessa intelligenza artificiale in questione ti spinga a “mettere del tuo” nel codice.
Resta il fatto che se tramite questa intelligenza artificiale sono riuscito a creare del codice C++ per Unreal Engine con tanto di spiegazione per far volare i personaggi in stile Dragon Ball, chissà che intelligenze artificiali possono esistere delle quali non ne siamo a conoscenza proprio specifiche per creare malware.