Red Hot Cyber
Condividi la tua difesa. Incoraggia l'eccellenza. La vera forza della cybersecurity risiede nell'effetto moltiplicatore della conoscenza.
Cerca
Redhotcyber Banner Sito 970x120px Uscita 101125
Banner Mobile
Attacco all’intelligenza artificiale: Adversarial Samples per Reti Neurali Convoluzionali

Attacco all’intelligenza artificiale: Adversarial Samples per Reti Neurali Convoluzionali

Redazione RHC : 26 Settembre 2023 08:12

Autore: Matteo Brandi

Le intelligenze artificiali ormai sono fra noi, dal suggerimento di un film fino alla guida assistita delle automobili, sempre piu’ ci accompagneranno nella vita. Viste le applicazioni che queste tecnologie hanno, non possiamo non parlare della loro sicurezza.

Per questo pensiamo che iniziare ad indagare le vulnerabilità di queste intelligenze artificiali sia molto importante. Per conoscere queste nuove tecnologie a questo link vi sono gli articoli dedicati su Red Hot Cyber https://www.redhotcyber.com/alla-scoperta-dellintelligenza-artificiale/ .


Cve Enrichment Redhotcyber

CVE Enrichment
Mentre la finestra tra divulgazione pubblica di una vulnerabilità e sfruttamento si riduce sempre di più, Red Hot Cyber ha lanciato un servizio pensato per supportare professionisti IT, analisti della sicurezza, aziende e pentester: un sistema di monitoraggio gratuito che mostra le vulnerabilità critiche pubblicate negli ultimi 3 giorni dal database NVD degli Stati Uniti e l'accesso ai loro exploit su GitHub.

Cosa trovi nel servizio:
✅ Visualizzazione immediata delle CVE con filtri per gravità e vendor.
✅ Pagine dedicate per ogni CVE con arricchimento dati (NIST, EPSS, percentile di rischio, stato di sfruttamento CISA KEV).
✅ Link ad articoli di approfondimento ed exploit correlati su GitHub, per ottenere un quadro completo della minaccia.
✅ Funzione di ricerca: inserisci un codice CVE e accedi subito a insight completi e contestualizzati.


Supporta Red Hot Cyber attraverso: 

  1. L'acquisto del fumetto sul Cybersecurity Awareness
  2. Ascoltando i nostri Podcast
  3. Seguendo RHC su WhatsApp
  4. Seguendo RHC su Telegram
  5. Scarica gratuitamente “Byte The Silence”, il fumetto sul Cyberbullismo di Red Hot Cyber

Se ti piacciono le novità e gli articoli riportati su di Red Hot Cyber, iscriviti immediatamente alla newsletter settimanale per non perdere nessun articolo. La newsletter generalmente viene inviata ai nostri lettori ad inizio settimana, indicativamente di lunedì.

Abbiamo quindi creato la nostra IA per poterla testare. Per questo iniziamo con questo primo articolo prendendo in esame una rete neurale convoluzionale che riconosce i numeri da 0 a 9 scritti a mano ed addestrata con il database MNIST.

Una volta addestrato il modello, vogliamo verificare se alle immagini, correttamente classificate dalla IA, sia possibile apportare delle modifiche non rilevabili dall’occhio umano che portano ad una errata classificazione.

Preparazione 

Abbiamo creato una Rete Neurale Convoluzionale (CNN) per il riconoscimento di numeri scritti a mano da 0 a 9 utilizzando per l’addestramento ed i test, il celebre dataset di MNIST che contiene 60.000 immagini di numeri per l’addestramento e 10.000 immagini per il test scritti a mano da centinaia di persone diverse.  

Ogni immagine ha dimensioni 28×28 pixel uint8 in bianco e nero. Per la creazione della nostra CNN, abbiamo usato Python 3.10 utilizzando la libreria Torch (PyTorch). Il codice utilizzato è stato preso da GitHub ed è disponibile a questo link: https://github.com/jaideepmurkute/Flask-Web-App-Image-Classifier

Al codice ho dovuto mettere mano in alcune parti esterne alla CNN perchè funzionasse. L’addestramento è stato eseguito con una CPU  i5-7260U con un addestramento non supervisionato. Una volta addestrata e testata la CNN, questo è il risultato:

Fig.1 Risultato addestramento CNN

come si vede nella Fig.1, l’addestramento ha portato ad una precisione del 99%. Il codice python utilizzato salva il modello addestrato e fornisce un’interfaccia web per caricare le immagini da sottoporre a classificazione ed un server per effettuarla. Nella figura 2 sotto possiamo vedere il suo utilizzo.

Fig.2 Risultato della classificazione

Una volta caricato il file, l’immagine appare sullo schermo con sotto la sua classificazione. Perchè funzioni le immagini devono essere bianche su sfondo nero e sono state tracciate con un editor di immagini con il mouse. Quindi possiamo dire che sono numeri scritti a mano.

L’immagine per la classificazione è un’immagine con fondo nero e numero bianco di 1490×1480 pixel. Non sono intervenuto sui dati di addestramento che sono rimasti originali ma ho simulato un attacco esterno con opportuna modifica dei dati processati dalla CNN per compromettere o pilotare la classificazione. 

Analisi

Cerchiamo di capire, al di là del codice, come “ragiona” una rete neurale che deve riconoscere numeri.

In pratica l’immagine è vista come una matrice dove vi è presente uno zero per indicare i pixel spenti ed un 1 per indicare quelli accesi che vanno a formare il numero.

Per esempio il numero 1 è così rappresentato in Fig.3:

Fig.3 Matrice del numero 1

Se impersonificassimo la CNN, la domanda che questa si porrebbe quando deve scegliere la classe a cui appartiene l’immagine confrontandola con le varie classi, per esempio il numero 9: questa immagine quanti pixel ha in comune con il numero 9? 

Piu’ bassi sono i pixel in comune, piu’ bassa è la probabilità che il nostro numero appartenga ad una determinata classe. Considerando questo aspetto, iniziamo a vedere come risponde la CNN alle modifiche effettuate alla immagini correttamente classificate.

Exploiting

Assodato che l’immagine creata che rappresenta il numero 3 viene correttamente classificata, vediamo come è possibile modificarla affinché sia possibile compromettere o pilotare la classificazione .

Pilotare la classificazione

Visto che, detta in modo semplice, per classificare una immagine la CNN esegue una correlazione statistica dei pixel in comune dell’immagine con quella delle classi (piu’ pixel in comune, piu’ possibilità di una corretta classificazione) la tecnica consiste nell’inserire nell’immagine oggetto di modifica, il numero minimo di tratti mancanti del numero desiderato.

Trasformiamo il 3 in un 2.

Considerando la ratio della CNN di verificare i pixel in comune per classificare il numero rappresentato nell’immagine, provo a far classificare il 3 come un 2.

Sovrapponiamo i due numeri per vedere i punti in comune.

Fig.4 i numeri 3 e 2 sovrapposti

Come si vede, una parte sostanziale che il numero 3 non ha rispetto al 2, è la linea retta. Inserendo nel numero 3 questa linea obliqua vediamo se cambia la classificazione.

Fig.5 il 3 classificato come 2

Come si vede dalla Fig. 5 adesso il numero 3, aggiunta la linea obliqua propria del numero 2, viene classificato come un due. Ho fatto questa prova 10 volte ed il risultato è stato:

  • 7 volte è stato classificato come 2
  • 2 volte è stato classificato come 3
  • una volta è stato classificato come 4

Quindi, inserendo nel numero 3 precedentemente riconosciuto dalla CNN una retta obliqua, al 7 volte su 10 questo sarà classificato come un 2. Quindi questo sistema offre un modo abbastanza robusto per indirizzare la classificazione secondo il nostro volere.

Trasformiamo il 3 in un 4.

Fig.6 i numeri 3 e 4 sovrapposti

I tratti che al numero 3 mancano del numero 4, sono il tratto verticale ed orizzontale. Aggiungendoli al numero 3, riusciamo a modificare la classificazione come si vede in figura 7 sotto:

Fig.7 il 3 diventa un 4

Anche qui, facendo 10 tentativi questi sono i risultati:

  • 5 volte classificato come 4
  • 3 volte classificato come 3
  • 2 volte classificato come 2

Quindi il 50% delle volte è stato classificato come avremmo voluto. Non è robusto come il 2, ma comunque è un’ ottima percentuale. Ovviamente si potrebbero fare molte altre prove cercando “affinità” con altri numeri.

Compromettere la classificazione

Se invece non si desidera pilotare la classificazione, spostare semplicemente il numero raggiunge lo scopo. Vediamo il risultato nella figura sotto:

Fig.8  Errata classificazione per spostamento a destra

Un semplice spostamento del numero verso destra, provoca una errata classificazione. Provando una ulteriore volta, vediamo che la classificazione cambia nuovamente come si vede nella figura 9 sotto:

Fig.9 Errata classificazione per spostamento a destra

La testimonianza del fatto che la classificazione oltre che errata non è predicibile. Un’ulteriore prova ha dato come risultato 1. Anche uno spostamento a sinistra provoca errori nella classificazione.

Fig.10  Errata classificazione per spostamento a sinistra 

Molto probabilmente, visto che il set di addestramento ha immagini di numeri centrati, lo spostamento provoca una perdita di pixel significativi mandando fuori strada la CNN. Un altro modo per alterare la lettura del numero è l’applicazione di filtri all’immagine.

Ho usato un filtro di rumore casuale gaussiano. Per creare tale disturbo è stata usata la libreria Python NumPy. I primi risultati sono stati raggiunti usando i parametri:

loc (media) = 200

scale (deviazione standard) = 200

Fig.11  Errata classificazione per rumore gaussiano

Su 10 classificazioni questi sono stati i risultati:

  • 4 volte è stata classificata come 3
  • 4 volte è stata classificata come 2
  • 2 volte è stata classificata come 7

quindi la precisione dal 99% è crollata al 40%.

Anche in questo caso risulta comunque difficile pilotare la classificazione anche se questa fondamentalmente risulta compromessa.

Conclusioni

L’uso sempre piu’ massiccio di IA impone una riflessione sulla loro sicurezza intesa anche come resilienza a tentativi di inganno se non di veri e propri attacchi.

Anche una rete neurale con una precisione del 99% può essere ingannata.

Sicuramente questa resilienza passa attraverso dei dataset che prevedano anche questa tipologia di attacchi.

In questo esempio di lettura dei numeri attraverso immagini, questi potrebbero avere un significato magari importante nel mondo reale e la classificazione errata potrebbe creare dei danni.

Siamo solo agli inizi nell’uso di questi strumenti e l’aspetto sicurezza non dovrebbe rimanere indietro rispetto all’adozione.

Immagine del sitoRedazione
La redazione di Red Hot Cyber è composta da un insieme di persone fisiche e fonti anonime che collaborano attivamente fornendo informazioni in anteprima e news sulla sicurezza informatica e sull'informatica in generale.

Lista degli articoli

Articoli in evidenza

Immagine del sito
GrapheneOS chiude la sua infrastruttura in Francia per motivi di sicurezza e privacy
Di Redazione RHC - 29/11/2025

Il team di GrapheneOS annuncia la chiusura completa della sua infrastruttura in Francia. Gli sviluppatori stanno accelerando il passaggio dal provider di hosting OVH e accusano dalle autorità frances...

Immagine del sito
La Russia sta deteriorando la connettività WhatsApp e si prevede che presto verrà bloccato
Di Redazione RHC - 28/11/2025

Il Roskomnadzor della Federazione Russa ha annunciato che continua a imporre restrizioni sistematiche all’app di messaggistica WhatsApp a causa di violazioni della legge russa. Secondo l’agenzia, ...

Immagine del sito
Dio è in Cloud: ti hanno hackerato il cervello e ti è piaciuto
Di Fabrizio Saviano - 28/11/2025

Siamo nell’era dell’inganno a pagamento. Ogni tuo click è un referendum privato in cui vincono sempre loro, gli algoritmi. E non sbagliano mai: ti osservano, ti profilano, ti conoscono meglio di ...

Immagine del sito
La Truffa del CEO! l’inganno che sta travolgendo le aziende italiane
Di Redazione RHC - 27/11/2025

Questa mattina Paragon Sec è stata contattata da un’azienda italiana vittima di un nuovo tentativo di frode conosciuto come Truffa del CEO. L’ufficio contabilità ha ricevuto un’e-mail urgente,...

Immagine del sito
Italia: allarme intelligenza artificiale, cliniche e referti falsi circolano online
Di Redazione RHC - 27/11/2025

i ricercatori di Check Point Software, hanno recentemente pubblicato un’indagine sull’aumento delle truffe farmaceutiche basate sull’intelligenza artificiale. È stato rilevato come i criminali ...