Warum Apple einen Chip ins iPhone eingebaut hat, der Face ID kaputt macht

Kategorisiert in Hardware, News
Save and Share:

Fangen wir von vorne an: Wie sieht Face ID aus und wie funktioniert es?

Die gesamte Hardware, die für Face ID benötigt wird, befindet sich in dieser Aussparung im Bildschirm

Hardwareseitig besteht dieses System aus einem Paar Kameras – IR und RGB – und zwei Arten von IR-Strahlern: einer gewöhnlichen Hintergrundbeleuchtung und einem speziellen Punktprojektor.

Wenn wir einem iPhone X die „Haut“ abziehen und alles Überflüssige entfernen, sehen wir den Block der Frontkameras in seiner nackten Form. Die IR-Hintergrundbeleuchtung ist separat vorhanden, aber alle anderen Komponenten befinden sich in unseren Händen – sie sind sicher in diesem Metallrahmen befestigt.

Hier sehen wir die IR-Kamera und den IR-Punktprojektor. Auf diesem Infrarot-Paar basiert die Funktion von TrueDepth und Face ID. Und der Hauptdarsteller der heutigen Geschichte ist именно der Punktprojektor.

Kurzes Funktionsprinzip von Face ID

Vom iPhone X ausgestrahlte Punkte – Foto von hier.

Der IR-Punktprojektor macht genau das, was sein Name sagt – er spuckt auf Befehl Zehntausende von Infrarotpunkten in die Umgebung. Und die IR-Kamera, die diesen Befehl gibt, fotografiert diese Punkte sofort.

Unter Kenntnis der optischen Eigenschaften des Projektors, der Kamera und des Abstands zwischen ihnen kann der ISP im iPhone-Prozessor abschätzen, wie weit jeder Punkt entfernt ist. Die Mathematik des Prozesses verstehe ich selbst nicht vollständig, und es wird schwierig sein, sie rückzuentwickeln – aber die Aufnahme einer Reihe von Bildern mit unterschiedlichen Punktmustern ermöglicht es, die Position jedes einzelnen Punktes sehr genau zu erraten und so eine vollständige Tiefenkarte zu erstellen. Ohne LIDAR und ohne ToF.

Gerade die Tiefenkarte verhindert, dass Face ID durch auf einem Drucker ausgedruckte Fotos getäuscht wird. Ein Foto ist flach – aber ein Gesicht hat Relief, und für Face ID ist die topografische Karte des Gesichts wichtiger als seine Farbe.

Blockschaltbild einer PrimeSense-Referenzkamera

Allerdings achtet das System auch auf die Farbe des Gesichts. Die IR-Kamera ist hardwareseitig mit der RGB-Kamera synchronisiert, und beide Kameras nehmen das Gesicht gleichzeitig auf. Und das iPhone kann nicht nur mit dem IR-Projektor, sondern auch mit der IR-Hintergrundbeleuchtung blinken – und das gesamte Gesicht im IR-Spektrum aufnehmen.

Die Tiefenkarte selbst ist ziemlich grob, und die Analyse der Gesichtstextur in IR- und RGB-Aufnahmen durch ein neuronales Netzwerk ermöglicht es, sowohl die Tiefe zu präzisieren als auch Details wie Mimik besser zu erkennen – und zwar sowohl bei Tageslicht als auch im Dunkeln.

Wenn Ihnen dieses System bekannt vorkommt, liegt das wahrscheinlich daran, dass es direkt aus dem Kinect der Xbox 360 übernommen wurde. Nur war dieser Kinect ein riesiger Kasten, und hier wurde er auf die Größe einer Aussparung im Smartphone-Bildschirm geschrumpft.

Entwickelt wurde es von der Firma PrimeSense, die auch die Technologien entwickelt hat, die dem Kinect 1 zugrunde liegen – und später von Apple für 350 Millionen Dollar gekauft wurde. Komplett – mit allen Patenten, Entwicklungen, Mitarbeitern und anderen Innereien.

Wir sezieren die Innereien des Projektors

Wir gehen tiefer in die Reverse-Technik: Wir nehmen den Punktprojektor aus dem Kamerablock des iPhone X heraus und zerlegen ihn in seine Einzelteile. Er besteht aus einem FPC-Flexkabel, einer Emitter-Baugruppe und einer Optik-Baugruppe.

Das Flexkabel ist vollständig passiv und daher wenig interessant. Es wird an die Emitter-Baugruppe gelötet und leitet Signale an den FPC-Stecker weiter, der an die Hauptplatine des iPhone X angeschlossen wird. Der Stecker hat einen Kontaktabstand von 0,35 mm, ist kundenspezifisch (Apple ist схемный) und sieht aus, als wäre er von der Firma JAE hergestellt.

Werfen wir einen Blick auf die Hauptkomponenten der Optik:

Projektor im Querschnitt: Foto von hier, Beschriftungen von mir

Und schauen wir uns an, was sich im Inneren des Emitters befindet:

Und die Rolle des MOSFET und des mysteriösen Chips hat mich interessiert. Warum? Weil unklar ist, was sie dort überhaupt machen.

Die erste offensichtliche Vermutung ist, dass der mysteriöse Chip ein Speicher für die Seriennummer und Kalibrierungsdaten ist. Der Chip hat eine für Speicher typische I2C-Schnittstelle, und Speicher ist definitiv vorhanden. Projektoren haben Seriennummern, anhand derer man unter anderem das Produktionsdatum bestimmen kann – und wenn man den Projektor komplett austauscht, erkennt das iPhone eine Nichtübereinstimmung der Seriennummer und weigert sich, mit dem Austausch zu arbeiten. Aber ein ganz normaler I2C-EEPROM kommt in einem winzigen WLCSP-4-Gehäuse vor – und man kann ihn sogar vor dem Überschreiben schützen, wenn man unbedingt will. Daher kann der Chip kein einfacher Speicher sein. Er macht definitiv noch etwas anderes.

Pinbelegung des Projektors von chinesischen Meistern von JCID. Die Beschriftungen sind krumm, aber im Großen und Ganzen stimmen sie überein.

Die zweite offensichtliche Vermutung ist, dass der mysteriöse Chip ein Lasertreiber und der MOSFET sein Schalter ist. Und ja, der MOSFET wird tatsächlich vom Chip gesteuert. Nur kann der Chip auch nichts kritisch Wichtiges wie ein Lasertreiber sein.

Erstens befindet sich der MOSFET in der Unterbrechung der gemeinsamen Kathode der Laserbaugruppe – und 4 separate Anoden führen direkt zum Flexkabel und weiter in die Tiefen der mehrschichtigen iPhone-Platine. Und zweitens bin ich im Zuge der Datenerfassung für das Reverse Engineering auf verschiedene Anleitungen von chinesischen Reparaturmeistern gestoßen.

MOSFET durch einen sauberen Draht ersetzt

Sie haben die Kernfrage nicht direkt geklärt, aber in vielen dieser Anleitungen hieß es: Um einen „defekten“ Projektor zu reparieren, muss man ihn zerlegen, den MOSFET entfernen und durch eine Brücke zwischen Drain und Source ersetzen. Der Projektor funktioniert dann mit der Brücke im Inneren, und die Face-ID-Funktionalität wird wiederhergestellt. Aber wenn der Projektor mit einer Brücke anstelle des MOSFET normal funktioniert, was hat dieser MOSFET dann dort gemacht?

Und da kam mir die Erleuchtung: Genau das war der Sinn der Reparatur. Der MOSFET wird vom Chip gesteuert – daher kann er auf Wunsch des Chips den Stromkreis des Lasers unterbrechen und so den Projektor beschädigen. Und diese Reparatur behebt diese Unterbrechung.

Was dein Name mir sagt

Nachdem klar geworden ist, dass der mysteriöse Chip zusammen mit dem MOSFET die normale Funktion des Projektors behindert, stellt sich die Frage – warum tut er das? Warum baut man einen Chip in den Projektor ein, der den Projektor zerstört?

Auf der Suche nach Antworten habe ich die Firmware des ISP-Blocks im iPhone-Prozessor untersucht – именно dieser kommuniziert über I2C mit den Kamerasensoren und dem Projektor.

Zuerst habe ich ein Firmware-Image von iOS 15 für das iPhone X heruntergeladen, ein aktuelles. Firmware-Images für das iPhone sind im Grunde Zip-Dateien. Darin habe ich die gesuchte ISP-Firmware gefunden – in Form der Datei Firmwareisp_bniadc-nike-d22.im4p. Aus der komprimierten im4p-Datei wurde eine Binärdatei im Mach-O-Format mit AArch64-Code extrahiert. Mach-O ist im Gegensatz zu einem typischen „Firmware-Image für einen unbekannten Mikrocontroller“ ein dokumentiertes ausführbares Dateiformat, ähnlich wie PE oder ELF. Es gibt keine Rätselraten über die Dateistruktur, die Prozessorarchitektur oder die Adresse, an der der Code geladen werden muss. Man wirft die Datei einfach in Ghidra, und alles ordnet sich von selbst. Angenehm.

Dann hat mich mein Instinkt gepackt, und ich beschloss, ältere Firmwares zu zerlegen. Und im Firmware-Image von iOS 13 fand ich die Datei adc-nike-d22. Sogar die Größe war fast die gleiche. Nur in der neuen Firmware war mehr Code – und in der alten war weniger Code, dafür aber Symbole. Alle Funktionsnamen waren vorhanden. Überprüfe immer ältere Versionen!

In der ISP-Firmware gibt es viele Informationen, darunter auch, wie das iPhone über I2C mit verschiedenen Chips kommuniziert – mit Kamerasensoren, mit Kamera-PMUs, mit Chips zur Steuerung von Blitzen und Autofokus. Von dort aus, dank der Symbole, konnten die „Namen“ verschiedener Bestandteile des Systems extrahiert werden – und ein Teil davon stimmt mit Materialien aus anderen Teilen der Firmware überein, sowie mit Informationen von anderen Reverse-Engineers und Reparaturtechnikern. Zum Beispiel ist der IR-Kamerasensor ein STMicroelectronics VD56G0 „Savage“. Das gesamte TrueDepth-System wird im Code „Pearl“ genannt, und seine Hauptmodule haben Namen von Figuren aus „Romeo und Julia“ erhalten. Der IR-Projektor heißt „Romeo“, die IR-Kamera „Juliet“ und die IR-Hintergrundbeleuchtung „Rosaline“. Der Lasertreiber, der sich auf der Hauptplatine des iPhones befindet und sowohl die Laser in „Romeo“ als auch den Laser in der Hintergrundbeleuchtung „Rosaline“ mit Strom versorgt, heißt „Rigel“.

Der mysteriöse Chip, der uns interessiert? Auch er hat einen Namen. Im Code wird er „MamaBear“ genannt, kurz „MB“, und seine Funktionalität scheint sehr einfach zu sein. Er lebt auf dem I2C-Bus. Er speichert OTP-Daten, einschließlich Seriennummer und verschiedene Kalibrierungen. Er schaltet den MOSFET auf Befehl ein und aus. Und er misst auch… Kapazität? Keine Temperatur, an einen NTC-Thermistor ist er überhaupt nicht angeschlossen, sondern именно Kapazität. Nur die Kapazität von was?

Der tragische Tod von Romeo

Die Antwort auf diese Frage liefern uns wieder chinesische Schaltpläne. Im Schaltplan von JCID ist zu sehen, dass das Modul „Romeo“ drei Kontakte für die Verbindung der Emitter-Baugruppe mit der Optik-Baugruppe hat. Einer ist Masse, und die anderen beiden gehen direkt zum Chip „MamaBear“. Diese Kontakte verlaufen über einen speziellen Adapter an der Seite der Optik-Baugruppe und gelangen bis zur Oberseite – zum diffraktiven optischen Element.

Der diffraktive Strahlteiler ist ungesteuert und reagiert nicht auf Strom. Aber er hat eine Kapazität. Und mit Hilfe dieser drei Leitungen kann diese Kapazität gemessen werden. Aber wozu?

Es geht darum, wie wichtig dieser diffraktive Strahlteiler ist. Das Punktmuster, das der Projektor verwendet, wird durch die Anordnung winziger Laser-„Mulden“ auf dem VCSEL-Kristall vorgegeben. Und dann wird dieses Muster durch ein diffraktives Element vervielfältigt, das aus einem einzigen Lichtstrahl Hunderte von Lichtstrahlen macht.

Vergleich der Anordnung der Laseranode „SPARSE“ und der projizierten Punkte

Was passiert also, wenn man dieses diffraktive Element abreißt?

Die Strahlen werden nicht aufgeteilt. Anstelle von Hunderten von Laserstrahlen gibt es einen Strahl – dafür aber hundertmal stärker. Und das ist schließlich ein Laser. Ein Infrarotlaser ist gefährlicher als ein roter, weil der Mensch ihn nicht sieht – und daher nicht instinktiv den Blick auch von einer gefährlich starken Lichtquelle abwendet. Und es besteht eine nicht zu vernachlässigende Wahrscheinlichkeit, dass das charakteristische Punktmuster in diesem Fall in die Netzhaut des Benutzers eingebrannt wird.

Um dies zu verhindern, ist der Killer-Chip erforderlich. Nach dem Einschalten überwacht er ständig die Kapazität des diffraktiven Elements – und wenn das Element herausgebrochen oder beschädigt ist, überschreitet die Kapazität den zulässigen Bereich, und der Chip schaltet sofort den MOSFET ab und unterbricht die Stromversorgung des VCSEL. Da sich das Element ganz oben auf der Optik-Baugruppe befindet, ist es praktisch unmöglich, den Rest der Baugruppe durch einen Schlag zu beschädigen, ohne es dabei zu beschädigen und den Kontakt zu unterbrechen.

Nach der Notabschaltung des Lasers brennt der Chip ein OTP-Flag ein, das den Projektor als defekt kennzeichnet – was bedeutet, dass die unterbrochene Stromversorgung für immer unterbrochen bleibt. Keine Befehle vom ISP haben mehr Macht über ihn. Der MOSFET bleibt immer geschlossen, und der Projektor wird nie wieder funktionieren.

Der Chip „MamaBear“, wie der Name schon andeutet, ist ein Schutzchip. Es ist ein „Killswitch“ für die Notabschaltung des Lasers. Er zerstört den Projektor, um zu verhindern, dass ein beschädigtes Lasergerät dem Benutzer in die Augen leuchtet. Und das Modul „Juliet“, das ohne sein Partner-Modul „Romeo“ dasteht, verliert seinen Lebenssinn – und das gesamte TrueDepth-System wird unbrauchbar.

Der Arbeitsalltag von Technopriestern

„Hochspannungs“-Programmiergerät

Aber dieses Schutzsystem hat einen Fehler. Der Punktprojektor befindet sich am oberen Rand des Geräts, in der Nähe des Lautsprechers. Wenn Flüssigkeit ins iPhone eindringt, ist einer der häufigsten Orte dafür genau dort. Und kapazitive Sensoren sind empfindlich gegenüber stromleitenden Flüssigkeiten. Daher kommt es häufig vor, dass Face ID nach dem Eintauchen des Geräts in Wasser kaputt geht – auch wenn der Wassereintritt minimal ist und keine anderen Schäden vorliegen. „Romeo“ hat die Situation einfach falsch interpretiert und unnötigerweise „Роскомнадзор“ gespielt.

Solche Geräte werden zur Reparatur gebracht. Oft in inoffizielle Reparaturwerkstätten. Und da das iPhone die Seriennummern von Ersatzteilen überprüft (Hallo, Apple), ist es unmöglich, einfach den gesamten Kamerablock gegen einen funktionierenden Block von einem Spendergerät auszutauschen. Das Telefon wird den neuen Block ablehnen, und Face ID wird trotzdem nicht funktionieren. Das heißt, man muss den alten irgendwie reparieren. Aber wie kann man einen Projektor „wiederbeleben“, der sich absichtlich selbst außer Betrieb gesetzt hat?

Hersteller von inoffiziellen Reparaturwerkzeugen haben sich dafür eine ganze Reihe verschiedener Rituale ausgedacht. Und geschickte Technopriester-Reparateure befolgen sie treu und führen Mikrochirurgie an diesem komplexen und kalibrierten optischen System durch. Die Geschicklichkeit der Hände muss unvorstellbar sein – die Komponenten im Inneren sind nur wenige Millimeter groß, und die Optik ist äußerst empfindlich. Wenn die Kalibrierung aufgrund chirurgischer Eingriffe zu stark abdriftet, funktioniert das System nicht. Es gibt keine Werkzeuge zur Software-Neukalibrierung (Hallo, Apple) – entweder man findet einen Weg, die ursprünglichen Parameter zu erreichen, oder man bleibt ohne Face ID.

Flexkabel mit Täuschungs-Chip

Wie funktioniert das? Nun, zuerst muss man die OTP-Daten aus dem Original-Chip „MamaBear“ auslesen.

Die Daten sind auch dann lesbar, wenn der Projektor sich selbst für defekt hält. Zum Auslesen der Daten stellen die Chinesen spezielle „Reparatur“-Programmiergeräte her – die mit Sätzen von Stecker-Adaptern geliefert werden und mit einer ganzen Reihe verschiedener Komponenten von verschiedenen iPhone-Modellen funktionieren, einschließlich Projektoren.

Und dann muss man zwei Dinge tun – sich mit dem die Stromversorgung unterbrechenden MOSFET auseinandersetzen und den Original-Schutzchip austauschen. Und hier gibt es viele verschiedene Methoden.

Wir kratzen die alten Innereien heraus und setzen neue ein

Man kann zum Beispiel anstelle des MOSFET eine Brücke einbauen, wie auf dem Foto oben im Artikel, und den Chip „MamaBear“ austauschen, indem man das Original-FPC-Flexkabel ablötet und es durch ein spezielles Flexkabel mit einem chinesischen Täuschungs-Chip ersetzt.

Der Original-Chip „MamaBear“ kann dabei im Inneren bleiben und ohnmächtig schreien, dass der Projektor auf keinen Fall funktionieren darf. Aber er hat keinen MOSFET mehr, um den Projektor zwangsweise auszuschalten, und das iPhone seinerseits sieht nur den chinesischen Chip – der die vom Programmiergerät eingespielte Kopie der Originaldaten ausgibt und meldet, dass der Projektor genau-genau in Ordnung ist.

Adapterplatine mit Täuschungs-Chip

Und es gibt eine Variante mit minimalem Lötaufwand. Ein „Adapter“ mit einem Täuschungs-Chip, der zwischen dem Original-Flexkabel und der Hauptplatine des iPhones eingesetzt wird.

Das Problem mit dem MOSFET löst er nicht, aber auch dafür haben die Chinesen einen originellen Ansatz gefunden, indem sie „Hochspannungs“-Programmiergeräte hergestellt haben.

Wissen Sie, wie man alle möglichen ATtinys mit Hilfe eines speziellen Hochspannungs-Programmiergeräts „entbricken“ und neu beschreiben kann? Hier ist die Situation ganz anders. Das chinesische Hochspannungs-Programmiergerät „programmiert“ den MOSFET im Inneren des Projektors brutal und irreversibel in einen Kurzschluss zwischen Drain und Source.

Im letzten Schritt der Reparatur schließen wir den Projektor noch einmal an das Programmiergerät an und spielen den im ersten Schritt gespeicherten Dump ein. Und der Projektor ist bereit zu arbeiten und sich als original und unmodifiziert auszugeben.

All diese verschiedenen Vorrichtungen werden von verschiedenen Verkäufern von Reparaturwerkzeugen hergestellt und vertrieben. Alle möglichen Täuschungs-Chips funktionieren nur mit „eigenen“ Programmiergeräten, und in den Programmiergeräten sind oft DRM-Funktionen wie Kontoanbindung und eine begrenzte Anzahl von „Reparaturen“ eingebaut, für deren Aufstockung man bezahlen muss.

Wissen die Reparateure, dass sie mit ihrer Reparatur das von Apple entwickelte System zum Schutz der Augen des Benutzers vollständig zerstören? Eigentlich nicht. Sie sind keine Reverse-Engineers – sie sind Schamanen. Sie haben kein Verständnis für die Funktionsprinzipien. Sie haben Rituale und Ergebnisse, und das reicht ihnen. Und findige Reverse-Engineers aus China geben ihre Geheimnisse nur ungern an die Öffentlichkeit weiter. Was ich in diesem Artikel beschrieben habe, ist in vollem Umfang nur den Apple-Ingenieuren und einem Dutzend Chinesen „im Thema“ bekannt. Und mir. Und jetzt auch Ihnen.

Warum Apple Mistkerle sind

Wissen Sie, ich kann den Apple-Ingenieuren nicht allzu sehr vorwerfen, dass ihr „Killswitch“ zu aktiv ist und Projektoren zerstört, die durchaus noch funktionieren könnten. Laser sind ein gefährliches Thema, und die Idee, den Benutzer vor „Worst-Case-Szenarien“ zu schützen, ist absolut vernünftig. Auch wenn die Umsetzung dieses Schutzes noch Verbesserungen erfordert.

Aber Apples Politik zur Bekämpfung inoffizieller Reparaturen ist das schlimmste von allen Übeln. Wenn TrueDepth-Blöcke problemlos von Gerät zu Gerät ausgetauscht werden könnten, ohne auf Seriennummern achten zu müssen, gäbe es für die grausamen, perversen Reparaturrituale praktisch keinen Sinn. Warum sich mit mikrochirurgischen Lötarbeiten verrenken und mit Programmiergeräten herumtanzen, wenn man von einem weiteren „Spendergerät“ mit kaputtem Bildschirm einen absolut funktionierenden TrueDepth-Block abnehmen, ihn in das Telefon des Kunden einbauen, die Funktionalität vollständig wiederherstellen und in Ruhe leben könnte? Für die Reparateure wäre es einfacher, und für die Gerätebesitzer sicherer.

Aber die Geschichte des widerwärtigen Anti-Reparatur-Verhaltens von Apple zeigt deutlich, dass dies nicht geschehen wird. Nun ja, wenn nicht in den USA oder in der EU alle möglichen „Right to Repair“-Bewegungen die Bindung von Ersatzteilen an Seriennummern für illegal erklären. Und das ist сейчас möglich. In dem Witz, dass die Europäische Union in neue iPhone-Modelle mehr nützliche Funktionen einbaut als Apple, steckt ein sehr hoher Wahrheitsgehalt. Wir werden also die Gesetzesinitiativen im Auge behalten.

Der Artikel wurde aus dem Russischen übersetzt. Autor des Artikels: acc0unt. Wir haben uns bemüht, den Originalstil und die Formulierungen des Autors so weit wie möglich bei der Übersetzung beizubehalten.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert