L’utilizzo di soluzioni basate sull’intelligenza artificiale e sul deep learning è stato ormai “sdoganato” in ogni settore. Da quando si è unito anche quello sempre più frequente dell’intelligenza artificiale generativa, è diventato inevitabile riaprire una discussione – e prima ancora un’analisi – sui rischi per la sicurezza informatica che queste tecnologie comportano.
Per addestrare gli algoritmi di AI si usano degli insiemi di dati che possono essere incredibilmente grandi ma anche molto piccoli, come quando si sta lavorando a una soluzione finalizzata a uno scopo specifico, relativo a un caso d’uso aziendale preciso. Se questi database, al di là delle loro dimensioni, vengono alterati o corrotti, l’output che ne deriva rischia di essere impreciso o, peggio ancora, discriminatorio o inappropriato.
L’intento di un criminale potrebbe essere quello di avvelenare un certo insieme di dati per riuscire a introdurre nello strumento di AI una backdoor o un’altra vulnerabilità. Se, per esempio, fosse addestrato per riconoscere e-mail sospette o comportamenti insoliti su un network aziendale, un attacco di cybercrime potrebbe permettergli attività di phishing o di ransomware. E nessuno noterebbe alcunché: passerebbe inosservato, eludendo filtri e antispam.
Come funzionano i data poisoning attack
Per sferrare un attacco che avvelena i dati è essenziale avere accesso a quelli sottostanti. Esistono diversi approcci e variano a seconda che dataset sia privato o pubblico.
Attacco di avvelenamento dei dati su un set di dati privati
Se si sta utilizzando un piccolo set di dati privato per addestrare uno tool di intelligenza artificiale, il cyber criminale potrebbe essere un insider malintenzionato o un hacker che ha ottenuto un accesso non autorizzato. In questo caso potrebbe scegliere di avvelenare solo un piccolo sottoinsieme di dati, sferrando un attacco mirato che permette allo strumento di funzionare correttamente per la maggior parte del tempo, in modo che la compromissione passi inosservata.
Solo se un utente spinge il modello a usare quella piccola parte di dati corrotti, lo strumento di AI va di colpo in tilt, dando risposte a caso o sbagliato. Sicuramente diverse da quelle attese.
Al variare del settore e del caso d’uso, le implicazioni possono essere costose e persino letali. Basta pensare a ciò che potrebbe accadere in ambito sanitario o finanziario
Attacco di avvelenamento dei dati su un set di dati pubblici
Quando i dati utilizzati per addestrare lo strumento di intelligenza artificiale sono pubblici, l’avvelenamento potrebbe essere frutto di uno sforzo coordinato di più soggetti. E non è detto che abbia scopi negativi.
Lo strumento noto come Nightshade, per esempio, consente agli artisti di inserire nelle proprie opere delle modifiche per confondere l’AI che le utilizza come dati di addestramento senza autorizzazione. L’occhio umano non le nota, ma strumenti di AI generativa come Midjourney e Dall-E sì, e ne vengono fortemente condizionati. Avvelenando i set di dati di training, si spinge gli strumenti a generare immagini errate, per esempio una casa invece di un’automobile, potenzialmente minando la fiducia degli utenti.
L’obiettivo dichiarato degli operatori di Nightshade è quello di aumentare il costo dell’addestramento dell’AI su dati non autorizzati, difendendo le proprie opere. Resta comunque il rischio che gli operatori di AI reagiscano riconfigurando i propri strumenti apposta per evitare lo scraping di contenuti senza autorizzazione.
Come prevenire gli attacchi di data poisoning
Per proteggersi da attacchi di data poisoning serve un approccio a più livelli. Se si tratta di strumenti che non utilizzano volumi massicci di dati – quelli solitamente realizzati per casi d’uso aziendali ristretti – è più facile assicurare l’integrità del set di dati su cui lo strumento viene addestrato. garantendo che provengano solo da fonti affidabili. Se, al contrario, si stanno usando dati provenienti da fonti pubbliche, meglio pre-elaborarli per garantire che non vi siano stati introdotti errori intenzionali.
Un’opzione possibile per gli sviluppatori AI potrebbe essere l’implementazione di un controllo procedurale che garantisca che qualsiasi risultato soddisfi determinati standard, come l’appropriatezza e la non discriminazione, indipendentemente dal set di dati o dalla richiesta dell’utente.