Methode zur Umgehung der neuen Speicherschutztechnologie von Microsoft gefunden

Die in Windows 8.1 Update 3 und Windows 10 eingeführte Technologie Control Flow Guard ist das neuste Gegengift für Speicherbeschädigungsangriffe. Sie sollte vor solchen Attacken schützen, die schon seit Langem in der Lage sind, die Schutztechnologien der letzten Generation zu umgehen, wie etwa die Speicherverwürfelung (Address Space Layout Randomization, ASLR) und die Datenausführungsverhinderung (Data Execution Protection, DEP).

Doch mit jeder Einführung einer neuen Schutzmauer versuchen sowohl Forscher als auch Hacker, diese zu überklettern oder zu untergraben.

Auch Control Flow Guard bildet diesbezüglich keine Ausnahme.

Am kommenden Freitag wird der Forscher Jared DeMott von der Firma Bromium auf der Konferenz DerbyCon im amerikanischen Louisville, Bundesstaat Kentucky, voraussichtlich einen Vortrag zu dem Thema Umgehung von CFG halten. DeMott erklärte gegenüber Threatpost, dass Bromium Microsoft noch vor der Black Hat über diese Technik informiert habe, doch das Unternehme es nicht für notwendig gehalten habe, das Problem zu beheben und der Meinung war, dass es keinen Bounty wert sei.

Microsoft seinerseits enthielt sich jeglichen Kommentars. DeMott erklärte, dass Microsoft Bromium geantwortet habe, die vorgestellte Umgehungsmethode funktioniere nicht auf allen Systemen und dass es schwierig sei, sie als Angriffsvektor zu benutzen.

„Sie sagten, dass sie tatsächlich nur mit 32-Bit-Anwendungen funktioniere, die auf einem 64-Bit-System laufen, und nicht auf allen Systemen“, erzählte DeMott. „Ich habe ihnen geantwortet, dass der IE per Standardeinstellung als 32-Bit-Anwendung unter 64-Bit Windows läuft, und diese Methode für diesen Browser voll funktionsfähig ist.“

Nach den Worten von DeMott basiert die Methode zur Umgehung von CFG darauf, dass Microsoft die Technologie Control Flow Integrity nicht über Control Flow Guard bereitstellen wollte.

„Wenn Control Flow Integrity implementiert wird, führt diese Technologie zusätzliche Checks durch, bevor ein Funktionspointer aufgerufen und eine Rücksprungadresse zurückgegeben wird, was die korrekte Adresse zu dem einzigen gültigen Ort macht, an den etwas zurückgesendet werden kann“, sagte DeMott. „Microsoft war der Meinung, dass es nicht notwendig sei, Control Flow Integrity vollständig umzusetzen; Control Flow Guard schützt nur Funktionspointer, die Rücksprungadresse aber nicht.“

Control Flow Guard, eine Visual Studio Technologie, ist auch in den neuen Browser Microsoft Edge integriert, der zu Beginn des Sommers sein Debüt hatte. Die vorangegangene Technik zur Umgehung von CFG wurde von Forschern von Core Security im März dieses Jahres präsentiert.

„[CFG] führt Überprüfungen von Code durch, der indirekte Sprünge auf der Grundlage eines Pointers vollzieht, wobei diese Sprünge nur auf Sprünge zum Eintrittspunkt der Funktion, deren Adresse benutzt wurde, reduziert werden“, heißt es in einem Artikel von Microsoft, in dem die Funktionen des Sicherheitssystems im Browser Edge erklärt werden. „Das macht es Cyberkriminellen wesentlich schwerer, Programme abzufangen, da die Möglichkeiten stark eingeschränkt werden, wohin eine Speicherbeschädigungsattacke springen kann.“

Die wichtigste Besonderheit dieser Umgehungstechnik besteht laut DeMott in der Möglichkeit, die Rücksprungadresse zu beschädigen und eine Serie von Ereignissen zu starten, die zu einer ROP-Kette (Return-Oriented Programming – rücksprungorientierte Programmierung) führen, die den meisten Angriffen des Typs Speicherbeschädigung zugrunde liegen. Die Technik von Bromium nennt sich Stack Desync und fußt auf der Verwendung verschiedener Funktionsaufrufkonventionen.

„Wenn Sie sie mischen und angleichen, wenn Sie den Funktionspointer aufrufen und das System die Standardkonvention erwartet, aber eine andere erhält, dann desynchronisiert sich der Stack und gibt eine willkürliche Adresse zurück“, erklärte DeMot. „Wenn Sie die Rücksprungadresse nicht schützen, funktioniert das Modell nicht. Wenn Sie die Rücksprungadresse nicht schützen, eröffnen Sie damit genau die Möglichkeit, die wir ausnutzen. Man kann alles so um den Stack herum mischen, dass ein Aufruf zurückspringt, nicht zu einer gültigen Adresse, sondern stattdessen zum Beginn einer Attacke.“

Diese Technik ist alles andere als banal und ergibt wohl nur bei Operationen einen Sinn, die von Nachrichtendiensten unterstützt werden. Diese Attacke gewährleistet einen Zugangspunkt zum Netz, indem sie Türen für Folgeangriffe öffnet, die zu Datenverlust und Privilegienerhöhung führen können.

Das ist ein weiterer Schritt in dem klassischen Katz- und Maus-Spiel, das die Speicherbeschädigung ist“, sagte DeMott. „Obwohl es schlecht klingt, wird durch diese ganze Forschung die Messlatte für Cyberkriminelle nur höher gelegt. [Microsoft] hat entschieden, diese Lücke nicht zu schließen und hält das für die bessere Variante. Es bleibt ein gewisses Risiko, aber die Technik, die wir verwendet haben, gibt es nicht überall.“

Quelle: Threatpost

Ähnliche Beiträge

Schreibe einen Kommentar

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