Un utente su Reddit afferma di aver scoperto in iOS 14.3 una versione dell’algoritmo NeuralHash di Apple utilizzato nel rilevamento CSAM e di averlo decodificato in Python. Non si è fatta attendere la risposta di Apple.
Articolo aggiornato con la risposta di Apple
La scoperta
L’utente u/AsuharietYgvar spiega che il codice NerualHash è stato trovato nei meandri di iOS 14.3, tanto da essere riuscito a decodificarlo e ricostruirlo in un modello funzionante in Python che può essere testato caricando le varie immagini.
L’algoritmo è stato trovato tra le API nascoste del sistema operativo e il contenitore per NeuralHash è stato denominato “MobileNetV3” da Apple. Chi è interessato a visualizzare il codice può trovarlo in un repository GitHub.
L’utente afferma che questo è l’algoritmo corretto per due motivi. Innanzitutto, i file del modello hanno lo stesso prefisso trovato nella documentazione di Apple e, in secondo luogo, le parti verificabili del codice funzionano come previsto dalla descrizione di NeuralHash condivisa da Apple.
Sembra inoltre che il codice scoperto dall’utente non venga ingannato dalla compressione o dal ridimensionamento dell’immagine, ma non sarà in grado di rilevare ritagli o rotazioni. Utilizzando questo script Python funzionante, gli utenti di GitHub hanno iniziato a esaminare come funziona l’algoritmo e se può essere utilizzato per scopi diversi da quelli previsti da Apple. Ad esempio, è stato scoperto che se si conoscesse l’hash risultante trovato nel database CSAM, si potrebbe creare un’immagine falsa che produce lo stesso hash, mandando il sistema in alert per la presenza di immagini “pedopornografiche”.
Se questo venisse confermato, qualcuno potrebbe creare immagini false che ritraggono qualsiasi cosa e farle passare per foto illecite presenti nel database CSAM. Ad esempio, un hacker avrebbe la possibilità di inviare queste immagini agli utenti Apple per tentare di attivare l’algoritmo e segnalare la vittima come possibile pedofilo.
Nonostante tali scoperte, tutte le informazioni fornite da questa versione di NerualHash potrebbero non rappresentare la build finale. Apple ha infatti sviluppato l’algoritmo di rilevamento CSAM per anni, quindi è lecito ritenere che esista una versione di test in varie versioni di iOS. Inoltre, questa versione ha problemi con rotazioni e ritagli delle immagini, cosa che Apple ha specificamente affermato di aver gestito e risolto con il suo algoritmo.
Per quanto riguarda i possibili attacchi con foto innocue aventi hash legati a immagini pedopornografiche, e al netto di eventuali soluzioni giù adottate da Apple ma non ancora note, va comunque ricordato che la vittima dovrebbe comunque accettare l’immagine tramite e-mail, AirDrop o iMessage, presumibilmente da un malintenzionato sconosciuto. Difficile, molto difficile. Infatti, non esiste un modo di effettuare questo attacco senza avere fisicamente tra le mani il dispositivo o le credenziali iCloud dell’utente, necessari per aggiungere immagini alla libreria foto. Inoltre, Apple ha anche attivato un sistema di revisione manuale, per cui le immagini potenzialmente illegali passeranno comunque dal controllo umano.
L’azienda non ha ancora fornito una tempistica di rilascio per il rilevamento CSAM, che inizialmente sarà disponibile solo negli Stati Uniti probabilmente in autunno.
La risposta di Apple
In una dichiarazione rilasciata a Motherboard, Apple ha affermato che la versione del NeuralHash che Yvgar ha decodificato non è la stessa dell’implementazione finale che verrà utilizzata con il sistema CSAM. Apple ha anche affermato di aver reso l’algoritmo disponibile pubblicamente per la verifica da parte dei ricercatori di sicurezza, ma esiste un secondo algoritmo privato lato server che verifica l’eventuale corrispondenza CSAM dopo il superamento di una certa soglia, insieme alla verifica umana.
Apple ha quindi spiegato che quella versione analizzata dagli utenti su GitHub è una versione generica e non la versione finale che verrà utilizzata per il rilevamento CSAM di foto su iCloud.
L’algoritmo NeuralHash è incluso come parte del codice del sistema operativo firmato e i ricercatori di sicurezza possono verificare che si comporti come descritto. Dopo che un utente ha superato la soglia di 30 corrispondenze, un secondo algoritmo non pubblico viene eseguito sui server Apple per controllare i risultati.
A causa dell’elemento umano presente nella fase di controllo, il ricercatore di sicurezza Nicholas Weaver ha detto a Motherboard che tutto ciò che le persone possono fare con la manipolazione degli hash non CSAM per camuffarli in foto CSAM è di “infastidire il team Apple con immagini spazzature, almeno fino a quando non verrà implementato un ulteriore filtro“.
Il sistema è infatti progettato per produrre corrispondenze esatte e Apple afferma che esiste una possibilità su un trilione che un account iCloud possa essere contrassegnato accidentalmente.