NeuralHash von Apple: Reverse-Engineering & Datenschutz vom Kinderporno-Scanner
Bildquelle: Sergo221972

Apple NeuralHash: KI-Modell & Datenschutz beim KiPo-Scanner analysiert

Apple setzt CSAM ein, um Geräte auf Kinderpornografie zu scannen. Hacker Asuhariet Ygvar hat das dahinterliegende KI-Modell extrahiert.

Apple hat kürzlich sein Verfahren NeuralHash / CSAM zur automatischen und datenschutzgerechten Erkennung von Missbrauchsbildern vorgestellt. Diese existiert laut dem Hacker Asuhariet Ygvar schon seit iOS 14.3 in Apples Mobilgeräten. Er hat das dahinterliegende KI-Modell extrahiert und auf GitHub verfügbar gemacht.

Apple NeuralHash ist ein Wahrnehmungsbezogenes-Hashing, welches zum Ziel hat ähnliche Bilder mit einem möglichst identischem Hash zu versehen. Typischerweise haben Hash-Algorithmen genau diese Eigenschaft nicht, wenn sie als Prüfsumme eingesetzt werden. Sie sollen bei der kleinsten Abweichung des Inhalts einen komplett anderen Hash ausgeben.

NeuralHash Modell aus macOS & iOS extrahieren

Laut dem Hacker Asuhariet Ygvar hat Apple den Code von NerualHash obfuskiert. Er konnte trotzdem herausfinden, dass NerualHash auf MobileNetV3 von Google aufsetzt. Er hat das dahinterliegende Neurale-Netzwerk extrahiert und in das offene Deep-Learning-Format ONNX gebracht. Da er das Modell aus urheberrechtlichen Gründen nicht teilen darf, beschreibt er auf GitHub, wie sich das Modell aus macOS 11.4+ oder iOS 14.7+(Jailbreak) extrahieren lässt. Sollte das iPhone/iPad nicht „gejailbreakt“ sein, kann die Extraktion auch aus einer IPSW-Datei, also einem Firmwareupdate erfolgen.

Nach der Umwandlung ins ONNX Format kann man mit dem von Ygvar bereitgestellten Script aus Bildern mithilfe von NerualHash einen Hash erzeugen. Der Hacker KhaosT hatte vor einiger Zeit bereits eine Software für macOS bereitgestellt, die eine versteckte NeuralHash Schnittstelle auf macOS verwendet, um die Hashes auf einem Mac zu erzeugen.

Apple NeuralHash in sechs Schritten

  1. Konvertiere das Bild in das RGB-Format.
  2. Passe die Auflösung des Bildes auf 360 × 360 Pixel an.
  3. Normalisiere die RGB Werte von -1 bis +1.
  4. Führe die Ableitung des Bildes über das NeuralHash-Modell durch.
  5. Berechnung des Skalarprodukts aus einer 96 × 128-Matrix mit dem resultierenden Vektor der Ableitung mit einer Ziellänge von 96 Fließkommazahlen.
  6. Anwenden der Heaviside-Funktion auf das Ergebnis aus Schritt 5.
  7. Umwandeln der resultierenden Fließkommazahl zwischen 0.0-1.0 in 96 Bit Binärdaten.

Apple Dokument beschreibt CSAM Detection

Apple hat ein Dokument bereitgestellt, welches die Funktionsweise seiner CSAM (Child Sexual Abuse Material) Erkennungstechnologie beschreibt.

Folgende Datenschutz- und Sicherheitsgarantien werden dort beschrieben:

  • Apple erfährt nichts über Bilder, die nicht in der CSAM-Datenbank enthalten sind.
  • Apple kann nicht auf Metadaten oder visuelle Ableitungen für übereinstimmende CSAM-Bilder zugreifen, bis ein Schwellenwert für ein iCloud-Konto überschritten wurde.
  • Das Risiko, dass das System ein Konto fälschlicherweise kennzeichnet, ist äußerst gering. Darüber hinaus überprüft Apple manuell alle an NCMEC (Nationales Zentrum für vermisste und ausgebeutete Kinder) übermittelten Berichte, um die Richtigkeit der Meldungen zu gewährleisten.
  • Benutzer können nicht auf die Datenbank der CSAM-Bilder zugreifen oder diese einsehen.
  • Die Benutzer können nicht erkennen, welche Bilder gekennzeichnet wurden.

Damit dieses Versprechen eingehalten werden kann, setzt Apple auf drei Säulen:

Private Set Intersection (PSI)

PSI dient dazu die bekannten Hashes von kinderpornografischem Material so zu verschlüsseln, dass der diese Datenbank nicht mehr im Klartext auf dem Gerät des Nutzers vorliegt. Dieser Vorgang nennt sich Blinding. Erst mithilfe von Apples Servern kann ermittelt werden, ob ein Hash wirklich in der Datenbank vorhanden ist. Damit Apple nicht sofort überprüfen kann, ob der Hash in der Datenbank vorhanden ist, wird er per TSS verschlüsselt.

Threshold Secret Sharing (TSS)

TSS stellt sicher, dass ein verschlüsselter Text erst lesbar ist, wenn eine Mindestanzahl an Teilschlüsseln bekannt ist. Aufgrund der geblindeten Datenbank des Nutzers enthalten nur CSAM-Bilder einen gültigen TSS-Teilschlüssel.

Synthetic Match Vouchers (SMV)

Apple darf zur keiner Zeit wissen, wie viele Bilder wirklich CSAM-Treffer enthalten. Dazu erzeugt das Endgerät künstliche Treffer.

Schwachstelle Kollision und die geheime CSAM Datenbank

Erste Nutzer haben es bereits geschafft eine Kollision zu erzeugen. Dies bedeutet, dass ein zweites Bild mit identischem Hash existiert, völlig anders aussieht. In diesem Beispiel ist es ein Hund und eine unscheinbare graue Fläche. Mittlerweile gibt es ein Script, um solche Kollisionen gezielt zu erzeugen. Und das funktioniert innerhalb von wenigen Minuten!

Damit wäre es als theoretisch schon einmal möglich ein Bild zu erzeugen, welches den gleichen Hash wie ein CSAM-Bild hat. Im nächsten Schritt müsste man an die Hashes in der CSAM-Datenbank kommen. Sollte diese geleakt werden, wäre es ein leichtes anderen gehassten Menschen Bilder unterzujubeln, bei denen der Filter anschlägt. Als Alternative könnte man auch bekanntes kinderpornografisches Material scannen (Vorsicht strafbar!) und sich selber eine Datenbank generieren. Ziemlich sicher wird zumindest ein Teil davon auch Apple bekannt sein.

Doch am Ende schaut sich das Material doch wieder ein Mensch an. Damit würde sich dieses Vorgehen maximal dazu eigenen, das System durch viele Falschmeldungen zu überfluten.

Leider ließe sich das NeuralHash-System auch problemlos für andere Inhalte missbrauchen. Und wegen der nicht öffentlichen Datenbank wüsste nur Apple, welche Inhalte dort enthalten sind…

Über

honeybee schreibt seit Ende 2020 für die Tarnkappe. Der Einstieg war ein Reverse Engineering Artikel über die Toniebox. Die Biene liebt es, Technik aller Art in ihre Bestandteile zu zerlegen. Schraubendreher und Lötkolben liegen immer in Reichweite. Themen wie Softwareentwicklung, Reverse Engineering, IT-Security und Hacking sind heiß geliebt.