- WhatsApp mit mehr als 3 Milliarden Nutzerinnen und Nutzern hat eine Rust-basierte Sicherheitsschicht eingeführt, um die Abwehr gegen Malware-Bedrohungen zu stärken
- Die Media-Consistency-Bibliothek wurde in Rust neu geschrieben und auf Milliarden von Geräten und Browsern ausgerollt; die Validierung im produktiven Einsatz in globalem Maßstab ist abgeschlossen
- Dabei wurden 160.000 Zeilen bestehender C++-Code durch 90.000 Zeilen Rust ersetzt, was sowohl die Performance als auch die Speichereffizienz verbessert hat
- Seit der Stagefright-Schwachstelle im Jahr 2015 treibt das Unternehmen die Einführung speichersicherer Sprachen wie Rust voran, um die Sicherheit bei der Verarbeitung von Mediendateien zu erhöhen
- Diese Veränderung markiert einen Wendepunkt in der Sicherheitsstrategie von WhatsApp, Messenger und Instagram, bei der speichersichere Sprachen stärker gewichtet werden
WhatsApps Strategie zur Medienverarbeitung
- WhatsApp ist ein Ende-zu-Ende-verschlüsselter Messaging-Dienst mit mehr als 3 Milliarden Nutzerinnen und Nutzern und entwickelt seine Strategie kontinuierlich weiter, um auf anhaltende Sicherheitsbedrohungen zu reagieren
- Wenn Nutzer Bilder, Videos und andere Medien teilen, besteht die Möglichkeit, dass diese Malware enthalten
- Manche Dateien können ungepatchte Schwachstellen im Betriebssystem oder in Apps ausnutzen
- Um dies zu verhindern, hat WhatsApp die Programmiersprache Rust in die Medienfreigabe integriert und so Speichersicherheit sichergestellt
- Dies wird als der weltweit größte Rollout einer Rust-basierten Bibliothek bezeichnet
Die Android-Stagefright-Schwachstelle von 2015 und die Reaktion darauf
- Die Stagefright-Schwachstelle in Android aus dem Jahr 2015 befand sich in einer Media-Processing-Bibliothek auf Betriebssystemebene und konnte daher nicht auf App-Ebene behoben werden
- WhatsApp verbesserte seine eigene C++-Bibliothek „wamedia“, sodass sie Dateien erkennt, die nicht dem MP4-Standard entsprechen
- Dadurch konnten Nutzer auch ohne OS-Updates geschützt werden
- Da wamedia jedoch nicht vertrauenswürdige Eingaben automatisch verarbeitet, wurde der Wechsel zu einer speichersicheren Sprache als notwendig erkannt
Der Umstieg auf Rust: groß angelegte Neuentwicklung und Ergebnisse
- WhatsApp entwickelte eine Rust-Version von wamedia parallel zur bestehenden C++-Version
- Mit differential fuzzing, Integrationstests und Unit-Tests wurde die Kompatibilität beider Implementierungen überprüft
- Anfangs gab es Probleme mit größerer Binärdateigröße durch die Rust-Standardbibliothek sowie mit der Kompatibilität des Build-Systems, langfristig wurde jedoch eine tragfähige Support-Struktur aufgebaut
- Am Ende wurden 160.000 Zeilen C++ → 90.000 Zeilen Rust ersetzt, bei gleichzeitigen Verbesserungen bei Performance und Speichernutzung
- Die Rust-Version wurde vollständig auf Android, iOS, Mac, Web, Wearables und allen weiteren Plattformen ausgerollt
- Anschließend wurde das „Kaleidoscope“-System eingeführt, um riskante Dateitypen wie PDFs oder ausführbare Dateien zu erkennen und manipulierte Erweiterungen sowie MIME-Spoofing zu identifizieren
WhatsApps Sicherheitsansatz
- WhatsApp betreibt mehrere Sicherheitsebenen, darunter Ende-zu-Ende-Verschlüsselung, verschlüsselte Backups, Key Transparency und Schutzfunktionen für Anrufe
- Risiken werden durch CVE-Offenlegung, interne und externe Sicherheitsaudits, Fuzzing und statische Analyse, Supply-Chain-Management und Analyse der Angriffsfläche identifiziert
- Das Bug-Bounty-Programm wurde erweitert; Forschenden wird ein Research Proxy bereitgestellt, mit dem sie das WhatsApp-Netzwerkprotokoll analysieren können
- Da sich gezeigt hat, dass viele schwerwiegende Schwachstellen auf Speichersicherheitsprobleme in C/C++ zurückgehen, verfolgt WhatsApp parallel drei Strategien
- Minimierung unnötiger Angriffsfläche
- Stärkere Sicherheitsgarantien für verbleibenden C/C++-Code
- Umstellung der Standardsprache für neuen Code auf speichersichere Sprachen
Beschleunigte Rust-Einführung und künftige Richtung
- Rust ermöglicht WhatsApp die Entwicklung hochperformanter, plattformübergreifender Sicherheitsbibliotheken
- Diese Veränderung liefert eine zusätzliche, für Nutzer unsichtbare Sicherheitsschicht und ist Teil einer Defense-in-Depth-Strategie
- Die Sicherheitsteams von WhatsApp und Meta weiten die besonders wirksamen Einsatzbereiche von Rust aus und planen, die Einführung von Rust weiter zu beschleunigen
Noch keine Kommentare.