Update NeuralHash: spiegazioni, hacker e una backdoor che non dovrebbe essere tale
Il vicepresidente di Apple Craig Federighi parla del rilevatore di pedopornografia NeuralHash. Un hacker ha già replicato il sistema e i protettori dei bambini prendono provvedimenti contro i critici.
Con il suo piano per reprimere la pornografia infantile e gli abusi, Apple ha sollevato un polverone. Non è passato molto tempo prima che il mondo reagisse. La protesta dei ricercatori indipendenti è stata rapida, forte e pubblicamente ignorata. Internamente a Apple, invece, le cose sembrano diverse.
Ecco uno sguardo a una discussione che sta per sfuggire di mano.
Apple Neural Hash, Communication Safety in Messages: di cosa si tratta?
Questo articolo parla di due sistemi che hanno entrambi lo scopo di proteggere gli interessi dei bambini. Tuttavia, NeuralHash, chiamato CSAM Detection nella sua implementazione, e «Communication Safety in Messages» funzionano in modo completamente diverso.
NeuralHash / CSAM Detection
Apple e l'organizzazione per la protezione dei bambini National Center for Missing and Exploited Children (NCMEC) hanno sviluppato il sistema di rilevamento CSAM. CSAM sta per «Child Sexual Abuse Material», cioè «materiale che mostra l'abuso sessuale di bambini».
Il sistema analizza le foto sul tuo iPhone che vuoi sincronizzare con iCloud e le confronta con immagini note al NCMEC che mostrano pedopornografia. Questa scansione avviene localmente sul dispositivo finale prima del caricamento su iCloud.
NeuralHash di Apple analizza il database del NCMEC e conferisce alle immagini un nuovo hash che ne comprende il contenuto piuttosto che indicizzarle semplicemente. Così, il NeuralHash di Apple dovrebbe riconoscere i cambiamenti nelle immagini e, di conseguenza, identificare correttamente una foto anche se è stata convertita da colore a bianco e nero o ha una dimensione diversa.
In breve: NeuralHash è pensato per capire il contenuto dell'immagine, non semplicemente i dati nel file immagine. Quindi non si ha solo «1024 pixel di larghezza, 768 pixel di altezza, questo pixel è blu e l'altro è rosso» ma più «una foto di una spiaggia, un tramonto, un cane nella sabbia».
Se Apple rileva «un certo numero» di riscontri su un iPhone o iPad, allora lancia l'allarme. Le immagini vengono trasmesse ad Apple in modo non criptato. Qui entra in gioco un essere umano e se il sospetto di pornografia infantile è confermato, viene chiamato il NCMEC. Questa organizzazione avverte poi le autorità competenti.
Il materiale appena generato non viene rilevato dal CSAM Detection.
Per il momento, l'introduzione del CSAM Detection è prevista solo in una prossima versione di iOS 15 e iPadOS 15 negli Stati Uniti. Gli utenti non possono né vedere né influenzare le funzionalità del CSAM Detection.
Communications Safety in Messages
Il secondo sistema che Apple ha introdotto per proteggere i bambini si chiama Communications Safety in Messages. Si tratta di uno strumento per i genitori i cui figli hanno un iPhone e il cui ID Apple è collegato a quello dei genitori.
Se il sistema è acceso, le immagini in arrivo e quelle inviate vengono scannerizzate. Communication Safety in Messages rileva le immagini di nudo, sia il materiale esistente che le immagini appena catturate, e dà loro un filtro. Le immagini vengono quindi trasmesse solo sfocate.
Al bambino vengono mostrati dei messaggi rassicuranti, informandolo che l'immagine è deliberatamente sfocata. Vengono mostrate informazioni come ad esempio che il bambino non deve necessariamente vedere questi dati e che ci sono risorse su come può proteggersi.
Se il bambino ha meno di 12 anni, Apple dà ai genitori la possibilità di ricevere una notifica nel caso in cui Communication Safety in Messages intervenga.
Craig Federighi ammette errori di comunicazione
Il 13 agosto 2021, il Senior Vice President of Software Engineering di Apple, Craig Federighi, appare davanti ai media ammettendo la confusione nella comunicazione dei due sistemi di cui sopra.
Il video del Wall Street Journal inizia con le parole «Vorremmo che l'intera faccenda fosse stata un po' più chiara. Restiamo positivi e vediamo che ci sono stati dei malintesi».
L'errore sta nel fatto che Apple ha introdotto le due funzionalità – CSAM Detection e Communication Safety in Messages – allo stesso tempo. Dato che entrambe le funzioni hanno lo stesso obiettivo, si confondono facilmente l'una con l'altra.
Apple non scansiona le immagini sull'iPhone? Apple scansiona le immagini sull'iPhone!
Craig Federighi dichiara che la frase chiave «Oh mio Dio, Apple scansiona le foto sul mio iPhone» è sbagliata. In effetti, le immagini vengono controllate in un database. Se le immagini sono identiche secondo la comprensione del sistema NeuralHash, viene lanciato un allarme.
Le malelingue ora direbbero «Apple scansiona le immagini sul mio iPhone», poiché il rilevamento CSAM è una scansione delle immagini. Su un iPhone. Il confronto con il database avviene sul tuo dispositivo prima del caricamento su iCloud, ma non scansiona iCloud. E anche il termine «trovare» è scelto in modo piuttosto strano, poiché l'atto di trovare è sempre preceduto da una ricerca. Quindi Apple cerca pedopornografia sul tuo iPhone.
NeuralHash ha funzionalità nel cloud
A partire dal minuto 2:45 del video, Craig Federighi spiega che non tutta la funzionalità di NeuralHash è integrata nell'iPhone; «l'altra metà» si trova infatti in iCloud. Tuttavia, nessun utente è obbligato a usare iCloud, aggiunge il vicepresidente.
NeuralHash è stato inventato in modo che queste immagini possano essere trovate senza che Apple «guardasse le foto». Federighi, tuttavia, fornisce informazioni su come funziona NeuralHash. Una prima scansione avviene sul telefono, una seconda nel cloud.
«Vedere» è una questione di definizione
Craig Federighi annuncia per la prima volta una cifra: prima che NeuralHash condivida i risultati della scansione con un umano, CSAM Detection deve aver rilevato circa 30 immagini nella tua libreria iCloud. Questo significa che quando vengono trovate le 30 immagini sospette, solo queste vengono inviate ad Apple non criptate. Una persona le guarda e, se necessario, avverte il NCMEC. I dipendenti Apple non hanno accesso a tutte le altre immagini del tuo iPhone.
È chiaro che Apple definisce «vedere» e «accedere» in modo diverso e quindi distorce anche il concetto di violazione della privacy. Apple definisce apparentemente i due termini in modo tale, che una persona che lavora presso Apple possa guardare le tue foto e dire «questo gatto è carino». Quindi, se un umano entra in gioco solo quando le 30 immagini sono riconosciute dal sistema automatizzato non umano e solo queste immagini vengono trasmesse in chiaro, allora Apple non parla né di «vedere» né di «accedere».
Gli attivisti della privacy, tuttavia, definiscono «vedere» e «accedere» come dare ad un produttore l'accesso alle immagini sul tuo iPhone. È sufficiente per il reato di violazione della privacy se un produttore valuta automaticamente le immagini e si prende il diritto di trasmetterle, se necessario, a un essere umano che guarda le immagini e giudica se c'è un contenuto criminale in esse.
La «foto della vasca da bagno» è ok
Craig Federighi dà il via libera alle foto di tuo figlio nell'arco della sua crescita. Soprattutto nei primi mesi di vita, i bambini vengono spesso fotografati con pochi o nessun vestito.
CSAM Detection visualizza queste immagini ma non lancia un allarme.
NeuralHash funziona in modo tale che l'immagine deve già esistere, si trova in un database di NCMEC ed è stata indicizzata da NeuralHash. NeuralHash non classifica le nuove immagini fatte come pornografia infantile e fa partire l'allarme quando sei in piscina con tuo figlio.
«NeuralHash non è una backdoor»
Craig Federighi dice che NeuralHash non è «in alcun modo» una backdoor nel sistema. NeuralHash fa parte del processo di memorizzazione e caricamento.
Non capisce la caratterizzazione di NeuralHash come una backdoor.
Per capire: secondo la definizione, una backdoor è la porta sul retro che un produttore può costruire in un sistema – in questo caso l'iPhone – al fine di avere accesso ai dati nonostante la crittografia, il codice pin e lo sblocco facciale.
Quindi, se Apple può inviare una foto del tuo iPhone a un collaboratore senza il tuo intervento, allora per definizione deve trattarsi di una backdoor. Se NeuralHash riconosce le 30 immagini, allora Apple ha accesso ai tuoi dati. Nonostante la crittografia, il codice pin e lo sblocco facciale, l'azienda ha accesso ai tuoi dati.
Questo potrebbe contraddire le dichiarazioni del CEO di Apple Tim Cook, a seconda della definizione del termine «backdoor».
Più di 60 organizzazioni chiedono ad Apple di non farlo
Il 19 agosto 2021, il Center for Democracy and Technology (CDT) riporta una lettera aperta al CEO di Apple Tim Cook.
Nella lettera, più di 60 organizzazioni firmatarie si oppongono a NeuralHash e, a seconda del grado di incomprensione, anche a Communication Safety in Messages. Nella lettera, chiariscono nel primo paragrafo come deve essere condotta questa discussione.
Questo è il pericolo della tecnologia, che deve essere incluso nella discussione: aneddotico contro sistemico. Aneddoticamente, CSAM Detection affronta la pornografia infantile. Sistemicamente, però, il sistema può essere utilizzato anche per individuare gli omosessuali in Polonia, per rintracciare gli uiguri in Cina o anche per la diagnosi precoce del cancro alla pelle.
Se l'intelligenza artificiale di NeuralHash può costruire un modello di qualcosa, può essere usata per trovare qualsiasi cosa e segnalarla, che si tratti di auto rosse, per qualsiasi motivo, o di donne in Iran senza hijab.
NeuralHash è liberamente disponibile ed esiste già in iOS 14.3
Un hacker che si fa chiamare Asuhariet Ygvar ha «ricreato» NeuralHash. In un post Reddit descrive quello che ha fatto.
Il modello NeuralHash nel codice dell'iPhone è scritto in MobileNetV3, un Computer Vision Model di Google. Asuhariet Ygvar ha esportato il modello in ONNX e ha riscritto l'intero algoritmo NeuralHash nel linguaggio di programmazione Python.
NeuralHash ha quindi lasciato la piattaforma Apple e ora funziona anche come port di Linux.
NeuralHash2ONNX è disponibile su GitHub e può essere configurato liberamente. Detto cinicamente: la Cina ha ora il suo rilevatore di uiguri.
Così facendo, Asuhariet Ygvar espone un altro pericolo del sistema: l'idea. Certo, Apple può fare del suo meglio per essere l'unica a configurare il sistema. Hanno introdotto la revisione umana in modo che i falsi allarmi possano essere evitati il più possibile e il NCMEC è generalmente considerato affidabile.
Ma l'idea da sola basta e avanza per far sì che qualcuno copiasse il sistema. Si può supporre che Asuhariet Ygvar non sia l'unica persona che lo farà o che lo abbia già fatto. Infatti, con l'introduzione di NeuralHash, Apple ha dimostrato che è fattibile. Questo da solo può ispirare la gente a pensare: «Se Apple può farlo, possiamo farlo anche noi».
A proposito: Asuhariet Ygvar è uno pseudonimo. Il nome viene dal manga/anime «Rotte no Omocha!».
Primo «falso positivo» generato artificialmente
Il rilascio di Asuhariet Ygvar ha dato agli hacker del mondo un nuovo giocattolo. Il repo GitHub è stato pubblicato il 16 agosto 2021. Due giorni dopo, Cory Cornelius ha postato due immagini che secondo lui generano lo stesso hash. Un hash è un numero che dovrebbe indicare chiaramente cosa c'è nell'immagine. Craig Federighi descrive un hash come «un linguaggio incomprensibile per gli esseri umani». È l'astrazione di un'immagine in ciò che una rete neurale vede in essa. In altre parole, quando NeuralHash guarda un'immagine, la interpreta secondo i parametri dati e costruisce un numero basato su quello.
Questo numero dice alla rete cosa c'è nell'immagine.
NCMEC permette a NeuralHash di guardare il suo database di pornografia infantile, NeuralHash costruisce questi numeri su di esso, e questi vengono caricati sul tuo smartphone dove vengono confrontati con gli hash delle tue immagini.
Cory Cornelius chiede se gli hash di queste due immagini sono identici, o se solo lui riceve hash identici.
$ python3 nnhash.py NeuralHash/model.onnx neuralhash_128x96_seed1.dat beagle360.png
59a34eabe31910abfb06f308
$ python3 nnhash.py NeuralHash/model.onnx neuralhash_128x96_seed1.dat collision.png
59a34eabe31910abfb06f308
Ovviamente è una cosa scomoda. Ma Apple dice che una collisione come quella segnalata da Cory Cornelius e confermata da Asuhariet Ygvar è un caso su un trilione.
Il NCMEC risponde alle critiche... e si rende impopolare
Le dure critiche che Apple ha ricevuto hanno lasciato il segno a Cupertino. In una nota interna ai suoi dipendenti, Sebastien Marineau-Mes, uno dei vicepresidenti software di Apple, non solo ha voluto incoraggiare i suoi dipendenti, ma ha anche spiegato l'ulteriore procedura nel caso NeuralHash. Non solo la protezione dell'interesse superiore del bambino è «una missione molto importante», ma anche:
In allegato a questa nota interna, ottenuta dalla rivista 9to5Mac di Apple, ce n'è un'altra del National Center for Missing and Exploited Children scritta da Marita Rodriguez, direttrice esecutiva delle partnership strategiche. In questa nota vuole incoraggiare Apple e reagisce anche alle prime critiche, gettando benzina sul fuoco:
Dopo la pubblicazione di questa nota, c'era da aspettarselo: il NCMEC non si è fatto grandi favori. Soprattutto le «voci stridenti» provocano dispiacere e incomprensione.
L'utente Reddit u/classycatman lo riassume abbastanza bene:
Giornalista. Autore. Hacker. Sono un contastorie e mi piace scovare segreti, tabù, limiti e documentare il mondo, scrivendo nero su bianco. Non perché sappia farlo, ma perché non so fare altro.