Vai al contenuto principale
Una foto di dirigenti in giacca e cravatta con la testa conficcata nella sabbia del deserto.
Q&A

Possiamo davvero “ignorare” il codice vulnerabile della GenAI? Questo esperto di sicurezza risponde di sì (più o meno)

Focal Point ha avuto l’opportunità di intervistare in esclusiva Chris Wysopal, pioniere della sicurezza informatica, per un’anteprima della sua presentazione al Black Hat USA 2024 su come la GenAI stia ridefinendo la sicurezza del software. Egli illustra i rischi e le soluzioni alle sfide emergenti di oggi. E quello di domani.

Ammettiamolo: gli sviluppatori di software non ricevono necessariamente una formazione particolarmente approfondita. Pertanto, a volte scrivono codice poco sicuro, sentendo la pressione di dover lavorare a una velocità superiore a quella umana. Oggi, nell’era dell’intelligenza artificiale, si affidano sempre più a strumenti in grado di generare frammenti di codice più rapidamente e tendono – anzi, in realtà tendiamo tutti – a fidarci di quel codice più che di quello scritto dall’uomo.

Tale rapidità e fiducia non costituiscono una formula vincente per la sicurezza dell’ App .

La maggiore velocità di sviluppo del codice resa possibile dai modelli linguistici di grandi dimensioni (LLM) di e dall’intelligenza artificiale generativa (GenAI) di si traduce in una maggiore velocità di insorgenza delle vulnerabilità, il che sta ora generando una serie di nuove sfide per i test di sicurezza, la correzione delle vulnerabilità e una governance intelligente dell’IA.

Con l’avvicinarsi del Black Hat USA 2024, una delle sessioni più attese è “: Da HAL a HALT: Come contrastare i ‘fratelli’ di Skynet nell’era della programmazione con l’intelligenza artificiale generativa”", tenuta da Chris Wysopal, autorevole figura nel campo della sicurezza delle applicazioni e cofondatore di Veracode.

In un briefing esclusivo tenutosi poco prima del Black Hat USA 2024, il referente dell’ , , ha incontrato Wysopal per discutere degli argomenti fondamentali che questi tratterà durante la sua sessione. Di seguito sono riportati alcuni spunti chiave emersi dalla nostra conversazione, che offrono un’anteprima di ciò che i partecipanti potranno apprendere riguardo all’intersezione tra IA generativa e sicurezza informatica.

La presente intervista è stata leggermente modificata per motivi di lunghezza e chiarezza.

La Sua sessione dedicata al Black Hat fa riferimento a (HAL) e (Skynet) – alcuni dei momenti hollywoodiani più famosi legati all’intelligenza artificiale. A meno che Arnold Schwarzenegger non faccia irruzione nei nostri uffici, quanti cambiamenti ritiene che ci attendano realmente?

Lo scopo di questa sessione è quello di discutere di come il codice generato dai modelli di linguaggio di grandi dimensioni (LLM) rappresenti probabilmente uno dei principali ambiti di applicazione di tali modelli al giorno d’oggi. È in crescita e presenta un potenziale incredibilmente vasto. Questo cambierà il modo in cui viene sviluppato il software.

«Il codice generato dai modelli di linguaggio di grandi dimensioni (LLM) rappresenta probabilmente uno dei principali ambiti di applicazione di tali modelli al giorno d’oggi. È in crescita e presenta un potenziale incredibilmente vasto.”

Per me, che opero nel settore della sicurezza delle applicazion i da oltre 25 anni, si tratta di un cambiamento enorme nello sviluppo del software. In genere, quando si verificano modifiche nello sviluppo del software, si verificano anche cambiamenti nella sicurezza delle applicazioni. Pertanto, questo intervento verte su come l’intelligenza artificiale generativa, ovvero il codice generato, cambierà la sicurezza delle applicazioni.

[Leggi anche: Guida per i procrastinatori a Black Hat USA 2024 – e come guardarlo in un secondo momento]

Lei ha affermato che il codice generato dai modelli di linguaggio di grandi dimensioni (LLM) può essere insicuro quanto quello generato dall’uomo. Quali sono le implicazioni di tutto ciò per le aziende che fanno affidamento su strumenti quali ChatGPT o Microsoft Copilot?

Esistono diversi studi condotti dall’Università di Stanford, dall’Università di Wuhan e dalla Carnegie Mellon che hanno esaminato questo problema e hanno sostanzialmente rilevato che questi modelli di linguaggio di grandi dimensioni (LLM) generano codice che risulta praticamente altrettanto insicuro quanto quello generato dall’uomo. Se si inseriscono dati errati, si ottengono risultati errati. Se si impara a fare qualcosa in un certo modo, probabilmente la si farà proprio in quel modo. Quindi, questo rappresenta in un certo senso il punto di partenza di riferimento. E a quel punto ci si chiede: «Ebbene, cosa facciamo al riguardo?»

In che modo le aziende possono sfruttare la GenAI a proprio vantaggio, garantendo al contempo uno sviluppo software sicuro?

[Anziché addestrare] un modello di base su come scrivere codice, possiamo ottimizzarlo e fornirgli esempi di come si presenta un codice scadente. E se vi capita di vedere questo codice scorretto e vi viene chiesto di scrivere un codice corretto, ecco come dovrebbe essere il codice corretto.

«[Invece di addestrare] un modello di base su come scrivere codice, possiamo ottimizzarlo e fornirgli esempi di come si presenta un codice scadente.»

Una delle soluzioni che riteniamo valida è quella di procedere utilizzando ChatGPT, Code Llama, Copilot, poiché questi strumenti dispongono delle migliori conoscenze su come scrivere diversi tipi di codice per numerosi linguaggi di programmazione e per risolvere una vasta gamma di problemi di programmazione. E ignori il fatto che stia scrivendo codice vulnerabile, proprio come lei ignora il fatto che i suoi sviluppatori stiano scrivendo codice vulnerabile. Perché, francamente, non li state sottoponendo a un corso di formazione sulla programmazione sicura così intensivo da consentire loro di scrivere codice sicuro di ottima qualità in ogni occasione. In sostanza, state dicendo: “So che i miei sviluppatori stanno scrivendo codice non sicuro”.

Pertanto, è comunque necessario eseguire i test di sicurezza e risolvere eventuali problemi di sicurezza.

Come ritiene che si evolverà il ruolo delle competenze umane in questa era della programmazione guidata dall’intelligenza artificiale? C'è ancora spazio per la revisione manuale del codice e i test di sicurezza?

Abbiamo già il problema che nel codice sviluppato da esseri umani si riscontrano più problemi di quanti ne riusciamo a risolvere, non è vero? Quindi si trova ad affrontare questo debito di sicurezza in continua crescita. Non state già destinando risorse sufficienti per risolvere tutti i problemi che state individuando grazie al vostro sistema di automazione " ".

Ecco, questo è più o meno il problema da cui partiamo. E ora stiamo per aggravare tale problema scrivendo più codice in minor tempo, mantenendo sostanzialmente lo stesso livello di sicurezza. Anche se fosse due volte migliore, anche se avesse la metà della densità di vulnerabilità, vi ritrovereste comunque con un problema più grave se eseguisse una quantità di codice tre volte superiore per ogni sviluppatore. Pertanto, l’utilizzo dei modelli di linguaggio di grandi dimensioni (LLM) in fase di sviluppo sta generando un numero maggiore di vulnerabilità.

Pertanto, sì, abbiamo bisogno di strumenti veloci nella pipeline CI/CD di che individuino il problema, ma abbiamo anche bisogno di strumenti veloci che risolvano i problemi.

[Leggi anche: Guida completa alla sicurezza informatica basata sull’intelligenza artificiale – vantaggi, rischi e benefici]

Ha parlato del potenziale dell’apprendimento ricorsivo e della degenerazione della conoscenza nei modelli di intelligenza artificiale. Potrebbe approfondire questo argomento e le sue implicazioni per la sicurezza informatica?

Sì, la questione sta cominciando a destare preoccupazione tra la gente. L’apprendimento basato su contenuti generati dall’intelligenza artificiale comporta effetti degenerativi sulla conoscenza, poiché si tratta di un apprendimen e di tali allucinazioni. L’idea è quindi la seguente: cosa accadrebbe se la maggior parte del codice venisse scritto da modelli di linguaggio di grandi dimensioni (LLM) e, come ben sappiamo, tali modelli commettono talvolta degli errori? Questo rappresenta un problema per la prossima generazione di codice da cui dovrà imparare?

«. Avanti, utilizzate il vostro ChatGPT, il vostro Code Llama, il vostro Copilot… E ignorate il fatto che stia scrivendo codice vulnerabile, [perché] dovrete comunque eseguire i test per individuare eventuali problemi di sicurezza e dovrete comunque risolvere tali problemi.»

Sa, quella prossima generazione di modelli di linguaggio di grandi dimensioni (LLM) – tra tre anni, quando sarà in fase di apprendimento, imparerà forse sulla base del 10% del codice esistente nel mondo scritto proprio da modelli di linguaggio di grandi dimensioni? E tale cifra inizierà ad aumentare? Forse un giorno scriveremo codice quasi sempre con i modelli di linguaggio di grandi dimensioni (LLM) e l’interazione umana sarà praticamente inesistente. Cosa significa il fatto che, se i modelli di linguaggio di grandi dimensioni (LLM) apprendono dagli altri, noi stiamo semplicemente imparando dai risultati prodotti da altri LLM?

Stiamo appena iniziando a comprendere in che modo ciò abbia un effetto degenerativo sulla conoscenza, ed è possibile che si debba contrassegnare il codice generato dai modelli di linguaggio di grandi dimensioni (LLM) per evitare che i futuri modelli di questo tipo vengano addestrati con tale codice. O qualcosa del genere.

Si trova di fronte allo stesso problema che si riscontra negli articoli del “ ” del “New York Times” ( ) o, ad esempio, nel caso del libro di Sarah Silverman: lei ha intentato causa perché ha scritto alcune battute in un libro che non ha mai recitato da nessuna parte. Era semplicemente nel libro, e ora compare nelle risposte di ChatGPT quando, ad esempio, si chiede: «Mi scriva una battuta su questo», e il programma utilizza le sue battute.

È quindi evidente che si tratti semplicemente di un utilizzo dei miei contenuti e dei miei contenuti protetti da copyright. Quindi questo è proprio ciò che accade con il codice.

[Leggi anche: Ecco un altro groviglio giuridico che preoccupa i CISO (e gli imprenditori che puntano tutto sull’IA) – e come evitarlo]

La maggior parte del codice su cui si è basato è un codice GPL [General Public License] . Pertanto, è necessaria l’attribuzione e, in alcuni casi, la licenza GPL 3 di vi obbligherebbe a pubblicare il codice del vostro software, qualora lo includeste. Quindi, sì, si tratta di un aspetto su cui non esiste ancora alcuna giurisprudenza, ma posso dirvi che gli avvocati sono molto preoccupati al riguardo; ciò che stanno facendo è analizzare il codice tramite l’analisi di frammenti di codice per cercare di individuare corrispondenze, al fine di verificare se sia possibile individuarne di simili nell’open source; se si trattasse di un blocco di codice sufficientemente ampio, ciò costituirebbe una violazione. Ad esempio, una riga di codice che non potete violare. Ma se si tratta di un’intera routine… Se si tratta di un’intera lezione, allora si tratta sicuramente di una violazione.

Per concludere, cosa attende con maggiore entusiasmo al Black Hat e cosa spera che i partecipanti traggano dalla sua sessione?

Ciò che desidero davvero sottolineare è che l’intelligenza artificiale generativa sta avendo un impatto enorme sulla programmazione. Proprio come il passaggio al cloud di o qualcosa del genere, si tratta di un cambiamento fondamentale per le applicazioni e dobbiamo riflettere su come ciò modificherà la sicurezza del software in futuro.

È necessario predisporre delle procedure affinché la situazione non peggiori ulteriormente. Come la correzione automatica: credo che sia un’ottima idea. Il nostro compito è garantire che, indipendentemente dal fatto che si tratti di una banca come o di un’azienda di software come , tutto ciò che rilasciamo in termini di software sia sicuro; e se l’IA generativa ne compromette la sicurezza, dobbiamo trovare una soluzione. Questo è il mio messaggio principale.

SCOPRA DI PIÙ AL BLACK HAT USA 2024

Non perdete questa occasione per ascoltare uno dei massimi esperti nel campo della sicurezza informatica e partecipare al dibattito sul futuro dell’intelligenza artificiale e della sicurezza delle applicazioni in occasione del Black Hat USA 2024. La sessione di Chris Wysopal al Black Hat USA 2024, dal titolo “ ” ( ), è un appuntamento imperdibile per tutti i professionisti IT e per i dirigenti aziendali che desiderano acquisire una visione più approfondita di uno dei principali ostacoli alla sicurezza dell’intelligenza artificiale.