Un développeur affirme avoir effectué une rétro-ingénierie de la détection CSAM d'Apple.

le 24/08/2021 08:30

Un développeur affirme avoir effectué une rétro-ingénierie de la détection CSAM d'Apple.

Un développeur affirme avoir effectué une rétro-ingénierie de l'algorithme NeuralHash utilisé dans la détection CSAM d'Apple’. Des avis contradictoires ont été exprimés sur la question de savoir si cela permettrait de mettre en échec le système de détection de matériel d'abus sexuel sur enfant… ;

Le développeur Asuhariet Ygvar a publié le code sur GitHub.

  1. Convertir l'image en RVB.
  2. Redimensionner l'image en 360x360.
  3. Normaliser les valeurs RVB en [-1, 1] plage.
  4. Exécuter une inférence sur le modèle NeuralHash.
  5. Calculer le produit scalaire d'une 96x128 matrice avec le vecteur résultant de 128 flottants.
  6. Appliquer tape binaire au vecteur résultant de 96 flottants.
  7. Convertir le vecteur de 1,0 et 0,0 en bits, ce qui donne des données binaires de 96 bits.

Un commentateur dans son fil Reddit a demandé comment il pouvait être sûr que c'était correct, et Ygvar a exposé les preuves.

Tout d'abord, les fichiers du modèle ont le préfixe NeuralHashv3b-, qui est le même terme que dans Document d'Apple’.

Deuxièmement, dans ce document, Apple a décrit les détails de l'algorithme dans la section Technology Overview -&gt ; NeuralHash, qui est exactement la même que celle que j'ai découverte. Par exemple, dans le document d'Apple :

“Le descripteur est passé par un schéma de hachage pour convertir les N nombres à virgule flottante en M bits. Ici, M est beaucoup plus petit que le nombre de bits nécessaires pour représenter les N nombres à virgule flottante.”

Et comme vous pouvez le voir d'ici et d'ici N=128 et M=96.

De plus, le hachage généré par ce script ne change presque pas si vous redimensionnez ou compressez l'image, ce qui est encore une fois le même que celui décrit dans le document d'Apple’.

Il explique également pourquoi les hachages sont décalés de quelques bits.

C'est parce que les réseaux neuronaux sont basés sur des calculs en virgule flottante. La précision dépend fortement du matériel. Pour les petits réseaux, cela ne fera pas de différence. Mais NeuralHash comporte plus de 200 couches, ce qui entraîne des erreurs cumulatives importantes. En pratique, il est très probable qu'Apple implémente la comparaison de hachage avec une tolérance de quelques bits.

Certains suggèrent que la connaissance de l'algorithme permettrait aux gens de générer à la fois des faux négatifs - des images CSAM qui ne seraient pas détectées, bien qu'elles soient dans la base de données - et des faux positifs, qui pourraient inonder les réviseurs humains d'Apple d'images innocentes.

Cependant, d'autres affirment que le système d'aveuglement utilisé par Apple rendrait les deux impossibles.

Il y a une étape importante où Apple utilise un algorithme d'aveuglement pour modifier le hachage. Pour entraîner un décodeur à faire cela, il faudrait avoir accès à l'algorithme d'aveuglement, auquel seul Apple a accès.

Nul doute que les experts en sécurité vont bientôt peser dans la balance.

Photo: Jon Tyson/Unsplash

FTC : Nous utilisons des liens d'affiliation automatique générateurs de revenus. Plus.


Vérifiezsur YouTube pour plus d'informations sur Apple:

Sur le même sujet