One (Thread) Can Keep a (PRNG) Secret, but not Two
Dieses Paper präsentiert den ersten kryptanalytischen Angriff, der eine Race Condition im IPv6 Fragment ID PRNG des XNU-Kernels ausnutzt, um Sequenznummern vorherzusagen und Off-Path-Spoofing von TCP- und UDP-Verkehr zu ermöglichen, eine Schwachstelle, die nun von Apple durch CVE-2024-27823 behoben wurde.
Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen
Stellen Sie sich vor, Sie verschicken einen großen, wichtigen Brief an einen Freund. Da der Brief zu groß für einen einzelnen Umschlag ist, zerlegt die Post (das Netzwerk) ihn in kleinere Stücke, oder Fragmente. Um sicherzustellen, dass die Stücke in der richtigen Reihenfolge wieder zusammengesetzt werden, erhält jedes Stück eine eindeutige Ticketnummer (genannt Fragment-ID).
Das Papier, nach dem Sie gefragt haben, beschreibt eine clevere Methode, mit der ein Hacker diese Ticketnummern im Voraus erraten kann, um so ein Stück Ihres Briefes durch ein gefälschtes auszutauschen, ohne dass Sie oder Ihr Freund es bemerken.
Hier ist die Aufschlüsselung des Angriffs, einfach erklärt:
1. Die geheime Ticket-Maschine (Der PRNG)
Apples Computer (macOS und iOS) verwenden eine spezielle „Ticket-Maschine“ im Inneren ihres Gehirns (des Kernels), um diese zufälligen Ticketnummern zu generieren. Die Maschine soll unvorhersehbar sein, wie das Werfen eines Würfels. Wenn die Zahlen wirklich zufällig sind, kann niemand das nächste Ticket erraten.
Die Forscher fanden jedoch einen Fehler in der Funktionsweise dieser Maschine, wenn sie unter Hochdruck arbeitet.
2. Das Problem „Zwei Personen, eine Maschine“ (Die Race Condition)
Stellen Sie sich einen belebten Ticket-Schalter vor, an dem zwei Personen (zwei Computer-Threads) versuchen, im selben Millisekundenbruchteil ein Ticket zu greifen.
- Normalerweise: Die Maschine gibt Person A ein Ticket, dann Person B ein anderes.
- Der Fehler: Weil die Maschine nicht „thread-sicher“ ist (sie besitzt keine Sperre, um zu verhindern, dass zwei Leute gleichzeitig zugreifen), greifen beide Personen möglicherweise dieselbe Startnummer. Beide führen die Berechnung aus, aber weil sie mit derselben Nummer gestartet sind und leicht unterschiedliche Schritte vollzogen haben, entsteht ein seltsames Muster.
Das Muster: Die Forscher fanden heraus, dass die Maschine bei diesem „Race“ eine spezifische Zahlenfolge produziert, die so aussieht: A, B, C, B.
Beachten Sie, dass B zweimal erscheint, getrennt durch C. Dieses „B-C-B“-Muster ist der entscheidende Beweis. Es sagt dem Angreifer: „Hey! Die Maschine hatte gerade eine Race Condition! Ich kann jetzt sehen, wie die internen Zahnräder der Maschine drehen.“
3. Den Code knacken (Kryptanalyse)
Sobald der Angreifer genügend dieser „B-C-B“-Muster gesammelt hat, kann er die Maschine rückentwickeln.
- Betrachten Sie die Maschine wie ein Kombinationsschloss. Das „B-C-B“-Muster liefert dem Angreifer einen Hinweis auf die aktuelle Position der Walzen im Inneren des Schlosses.
- Durch das Sammeln genügend dieser Hinweise kann der Angreifer den gesamten internen Zustand der Maschine ermitteln.
- Sobald er den internen Zustand kennt, kann er exakt vorhersagen, was die nächsten Ticketnummern sein werden.
### 4. Der Austausch (Der Angriff)
Nun, da der Angreifer die Ticketnummern vorhersagen kann, kann er einen „Man-in-the-Middle“-Trick anwenden, allerdings ohne physisch dazwischenzusitzen.
- Das Szenario: Sie senden eine große Datei (wie ein Backup Ihres Codes) an einen Server. Die Datei wird in Stücke zerlegt.
- Der Schutz: Das erste Stück Ihrer Datei enthält Ihr Passwort und Ihre Signatur (Authentifizierung). Der Server prüft dieses erste Stück zuerst, um sicherzustellen, dass Sie auch wirklich Sie selbst sind.
- Der Trick: Der Angreifer wartet, bis das erste Stück eintrifft. Dann nutzt er seine Vorhersage, um die Ticketnummer für das zweite Stück zu erraten. Er sendet schnell ein gefälschtes zweites Stück mit einer bösartigen Nachricht (wie einem Virus oder einer geänderten Datei), das die korrekte Ticketnummer besitzt.
- Das Ergebnis: Der Server erhält das echte erste Stück (mit dem gültigen Passwort) und das gefälschte zweite Stück (mit dem Virus). Er setzt sie zusammen, glaubt, alles sei in Ordnung, und speichert die infizierte Datei. Der Angreifer hat die Sicherheitsprüfung umgangen, weil die Prüfung nur beim ersten Stück stattfand.
Reale Beispiele aus dem Paper
Die Forscher haben dies an zwei spezifischen Dingen getestet:
- NFS (Network File System): Sie zeigten, wie ein Angreifer eine Datei ändern könnte, die gerade auf einen Server gesichert wird. Beispielsweise könnten sie ein „Trojanisches Pferd“ in eine Standard-Computercode-Datei injizieren. Wenn ein Entwickler diesen Code später kompiliert, läuft der Virus.
- HTTP (Web-Browsing): Sie zeigten, wie ein Angreifer eine Web-Anfrage (wie einen Login oder das Absenden eines Formulars) manipulieren kann, während sie über das Netzwerk übertragen wird.
Warum das wichtig ist
- Es ist neu: Dies ist das erste Mal, dass jemand eine „Race Condition“ (einen Timing-Fehler) genutzt hat, um einen Zufallszahlengenerator zu brechen. Normalerweise führen Race Conditions nur zu Abstürzen; hier wurden sie genutzt, um Geheimnisse zu stehlen.
- Es ist praktisch: Der Angriff funktioniert auf echten Apple-Geräten (M1, M2 Chips, Intel Macs), die verschiedene Versionen von macOS und iOS ausführen.
- Die Lösung: Apple hat dies bereits behoben. Die Sicherheitslücke wurde unter der ID CVE-2024-27823 registriert. Die Behebung besteht darin, die Ticket-Maschine „thread-sicher“ zu machen, damit zwei Personen nicht gleichzeitig die Startnummer greifen können.
Kurz gesagt: Das Paper zeigt, dass, wenn der Zufallszahlengenerator eines Computers durch zwei gleichzeitig ablaufende Vorgänge verwirrt wird, ein Hacker diese Verwirrung nutzen kann, um die Zukunft vorherzusagen, Teile Ihrer Daten auszutauschen und Malware an Ihren Sicherheitskontrollen vorbeizuschleusen.
Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?
Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.