Vorbei an WebP blasen Notiz

Vorbei an WebP blasen

Der NSO BLASTPASS iMessage-Exploit war eine Zero-Click- und Zero-Day-Schwachstelle, die iPhones mit der neuesten Version von iOS ohne jegliche Interaktion des Opfers kompromittierte. Der Exploit nutzte PassKit-Anhänge mit schädlichen Bildern, die von einem Angreifer-iMessage-Konto an das Opfer gesendet wurden. Apple veröffentlichte am 7. September 2023 ein außerplanmäßiges Sicherheitsupdate für iOS, um die Schwachstelle zu beheben. Das WebP-Team veröffentlichte ebenfalls einen Lösungsvorschlag für das Problem, der später in Chrome integriert wurde.Die Ursache der Schwachstelle war ein Speicherbeschädigungsproblem im WebP-Format für verlustfreie Bilder, insbesondere in der im Format verwendeten Huffman-Codierung. Die Schwachstelle ermöglichte es einem Angreifer, ungültige Huffman-Bäume zu definieren, was zu Speicherbeschädigung beim Erstellen der Decodierungstabelle führen konnte. Allerdings war das Beschädigungs-Primitiv begrenzt, und das Parsen des Bildes würde kurz nach Auslösung des Fehlers stoppen.Die Ausnutzung der Schwachstelle war ein Rätsel, da unklar war, wie man einen Exploit in einer einmaligen Zero-Click-Konfiguration landen konnte. Das Beschädigungs-Primitiv war sehr begrenzt, und ohne Zugriff auf die Samples war es fast unmöglich zu wissen, wie man die Schwachstelle ausnutzen konnte.Mitte November erhielt der Autor eine Reihe von BLASTPASS PKPass-Beispieldateien und Crash-Logs von fehlgeschlagenen Exploit-Versuchen, die es ihm ermöglichten, die Samples zu analysieren und herauszufinden, wie der Exploit funktionierte. Die Analyse ergab, dass die Schwachstelle durch das Senden einer schädlichen Bilddatei ausgenutzt wurde, die das Speicherbeschädigungsproblem auslöste, und dass dann das begrenzte Beschädigungs-Primitiv verwendet wurde, um beliebigen Code auszuführen.Das WebP-Format ist ein relativ modernes Bilddateiformat, das Huffman-Codierung zur Komprimierung von Bildern verwendet. Das verlustfreie Format verwendet einen RIFF-Container und ein separates verlustfreies Format, in dem die Schwachstelle gefunden wurde. Die Schwachstelle befand sich in der Huffman-Codierung, die im verlustfreien Format verwendet wird, insbesondere in der Art und Weise, wie die Decodierungstabelle erstellt wird.Die Analyse der Samples durch den Autor ergab, dass der Exploit eine Kombination von Techniken verwendete, um beliebigen Code auszuführen, einschließlich der Verwendung des begrenzten Beschädigungs-Primitivs, um einen Funktionszeiger zu überschreiben und dann den schädlichen Code auszuführen. Die Analyse ergab auch, dass der Exploit hochkomplex war und ein tiefes Verständnis des WebP-Formats und der darin verwendeten Huffman-Codierung erforderte.Insgesamt war der NSO BLASTPASS iMessage-Exploit eine hochentwickelte und komplexe Schwachstelle, die ein tiefes Verständnis des WebP-Formats und der darin verwendeten Huffman-Codierung erforderte. Die Ausnutzung der Schwachstelle war ein Rätsel, aber die Analyse der Samples ergab, dass es möglich war, beliebigen Code mithilfe einer Kombination von Techniken auszuführen.