Ранее мы
Seltsamerweise war Kolsek zunächst nicht in der Lage, den von John beschriebenen und demonstrierten Angriff zu reproduzieren, bei dem er den Internet Explorer unter Windows 7 nutzte, um eine schädliche MHT-Datei herunterzuladen und dann zu öffnen. Sein Prozessmanager zeigte zwar, dass system.ini, das ihm gestohlen werden sollte, von einem in der MHT-Datei versteckten Skript gelesen, aber nicht an den Remote-Server gesendet wurde.
„Das sah aus wie eine klassische Mark-of-the-Web-Situation“, schreibt Kolsek. „Wenn eine Datei aus dem Internet empfangen wird, fügen ordnungsgemäß ausgeführte Windows-Anwendungen wie Webbrowser und E-Mail-Clients dieser Datei im Formular eine Bezeichnung hinzu
Der Forscher bestätigte, dass der IE tatsächlich eine solche Bezeichnung für die heruntergeladene MHT-Datei festgelegt hat. Kolsek versuchte dann, dieselbe Datei mit Edge herunterzuladen und im IE zu öffnen, der nach wie vor die Standardanwendung für MHT-Dateien ist. Unerwarteterweise funktionierte der Exploit.
Zunächst überprüfte der Forscher „Mark-of-the-Web“. Es stellte sich heraus, dass Edge neben der Sicherheitskennung auch die Herkunftsquelle der Datei in einem alternativen Datenstrom speichert, was einige Fragen hinsichtlich der Privatsphäre dieser Datei aufwerfen kann Methode. Kolsek spekulierte, dass die zusätzlichen Zeilen den IE möglicherweise verwirrt und daran gehindert hätten, die SID zu lesen, aber wie sich herausstellte, lag das Problem woanders. Nach einer längeren Analyse fand der Sicherheitsspezialist die Ursache in zwei Einträgen in der Zugriffskontrollliste, die das Recht zum Lesen der MHT-Datei einem bestimmten Systemdienst hinzufügten, den Edge nach dem Laden dort hinzufügte.
James Foreshaw vom engagierten Zero-Day-Schwachstellenteam – Google Project Zero –
Als nächstes wollte der Forscher besser verstehen, was dazu führt, dass das Sicherheitssystem des IE versagt. Eine eingehende Analyse mit dem Process Monitor-Dienstprogramm und dem IDA-Disassembler ergab schließlich, dass die vom Edge festgelegte Auflösung die Win-API-Funktion GetZoneFromAlternateDataStreamEx daran hinderte, den Zone.Identifier-Dateistream zu lesen, und einen Fehler zurückgab. Für den Internet Explorer war ein solcher Fehler beim Anfordern des Sicherheitsetiketts einer Datei völlig unerwartet, und der Browser war offenbar der Ansicht, dass der Fehler gleichbedeutend mit der Tatsache war, dass die Datei keine „Mark-of-the-Web“-Markierung hatte. Dadurch wird es automatisch vertrauenswürdig, nachdem der IE dem in der MHT-Datei versteckten Skript erlaubt hat, die lokale Zieldatei auszuführen und an den Remote-Server zu senden.
„Sehen Sie hier die Ironie?“ fragt Kolsek. „Eine von Edge verwendete undokumentierte Sicherheitsfunktion hat eine bestehende, zweifellos viel wichtigere (Mark-of-the-Web-)Funktion im Internet Explorer neutralisiert.“
Trotz der zunehmenden Bedeutung der Sicherheitslücke, die es ermöglicht, ein bösartiges Skript als vertrauenswürdiges Skript auszuführen, gibt es keinen Hinweis darauf, dass Microsoft beabsichtigt, den Fehler in absehbarer Zeit zu beheben, falls er jemals behoben wird. Daher empfehlen wir Ihnen weiterhin, wie im vorherigen Artikel, das Standardprogramm zum Öffnen von MHT-Dateien auf einen beliebigen modernen Browser zu ändern.
Natürlich kam Kolseks Recherche nicht ohne ein wenig Selbst-PR aus. Am Ende des Artikels demonstrierte er einen kleinen, in Assembler geschriebenen Patch, der den von seinem Unternehmen entwickelten 0patch-Dienst nutzen kann. 0patch erkennt automatisch anfällige Software auf dem Computer des Benutzers und wendet buchstäblich im Handumdrehen kleine Patches darauf an. In dem von uns beschriebenen Fall ersetzt 0patch beispielsweise die Fehlermeldung in der Funktion „GetZoneFromAlternateDataStreamEx“ durch einen Wert, der einer nicht vertrauenswürdigen Datei entspricht, die aus dem Netzwerk empfangen wurde, sodass IE die Ausführung versteckter Skripte gemäß den integrierten Anweisungen nicht zulässt. in der Sicherheitspolitik.
Source: 3dnews.ru