Designfehler in Antivirus-Produkten bedroht Sicherheit

[English]Ein Designfehler in verschiedenen Antivirus-Produkten ermöglicht Malware oder lokalen Angreifern den Missbrauch der Funktion "Restore von Quarantäne". Bereits gefundene Malware kann so in sensitive Bereiche des Betriebssystems verschoben werden, um Neustarts zu überstehen und erhöhte Privilegien zu erlangen.


Anzeige

Florian Bogner, ein Sicherheitsauditor des österreichischen Cybersicherheitskonzerns Kapsch, entdeckte den Fehler, den er unter dem Codenamen AVGater verfolgt. Bogner hat wohl die betroffenen Firmen informiert, wobei diese ihre Sicherheitslösungen teilweise aktualisiert haben. Die Erkenntnisse hat Bogner in diesem Blog-Beitrag veröffentlicht.

Die Grundlagen

Die folgende Abbildung zeigt das Innenleben eines typischen AV-Produkts aus Sicht eines unprivilegierten Benutzers. Es gibt drei verschiedene Zugriffsdomänen: Der Kernel-Modus, der privilegierte Benutzermodus (SYSTEM) und der unprivilegierte Benutzermodus. Wie das folgende Bild zeigt, haben die verschiedenen Komponenten sehr unterschiedliche Aufgaben:

AV-Module und Privilegien
(Quelle: Bogner)

Im Kontext des unprivilegierten Benutzers gibt es nur die AV-Benutzeroberfläche. Sie allein hat keine wirkliche Macht, weil sie innerhalb einer begrenzten Benutzersitzung ausgeführt wird. Durch Kommunikation mit dem Windows Dienst des AV-Programms kann die Benutzeroberfläche jedoch viele Dinge tun, die einem normalen Benutzer von den Berechtigungen her verwehrt sind. Zum Beispiel kann es erlaubt sein, Dateien aus der Virus-Quarantäne wiederherzustellen.

Und dann gibt es zusätzlich eine Kernel-Komponente, die die eigentliche Arbeit, Objekte auf bekannte Bedrohungsidentifikatoren zu überprüfen, erledigt und damit alle Berechtigungen benötigt.

AVGator nutzt das geschickt aus

Die spannende Frage ist, ist ein Angriffsszenario denkbar, welches die Restaurierung von Dateien in Quarantäne ausgenutzt werden, um erkannte Malware ins System einzuschleusen – und dies, obwohl der Benutzer keine Privilegien besitzt? Bogner hat dazu folgende Video veröffentlicht.


(Quelle: YouTube)

Wie im obigen Video zu sehen ist, kann der #AVGater verwendet werden, um eine zuvor in Quarantäne befindliche Datei an einem beliebigen Speicherort des Dateisystems wiederherzustellen. Dies ist möglich, weil der Restore-Prozess meist durch den privilegierten AV Windows-Benutzermodusdienst ausgeführt wird.


Anzeige

Auf diese Weise können Dateisystem-ACLs umgangen werden (da sie für den SYSTEM-Benutzer nicht wirklich zählen). Diese Art von Problemen wird als privilegierte Datei-Schreibschwachstelle bezeichnet und kann verwendet werden, um eine bösartige DLL überall auf dem System zu platzieren. Das Ziel ist es, diese Bibliothek für einen legitimen Windows-Server durch Missbrauch der DLL-Search-Order zu laden. Klappt dies, kann die DLL mittels des DLLMain entry point geladen und ausgeführt werden.

Aber eine sehr wichtige Frage bleibt noch offen: Wie kann man den Restore-Prozess manipulieren? Die Lösung sind NTFS-Verzeichnis-Junktions. Dies sind im Grunde symbolische Links für Verzeichnisse, die von jedermann mit Hilfe von mklink erstellt werden können. Durch den Missbrauch der NTFS-Verzeichnis-Junktions kann der Prozess der AV-Quarantäne-Wiederherstellung manipuliert werden. Damit lassen sich zuvor unter Quarantäne befindliche Dateien in beliebige Dateisystem-Speicherorte schreiben. Mit diesem Wissen lässt sich ein komplettes Angriffsszenario konstruieren.

  • Zuerst wird eine bösartige Bibliothek (DLL mit Malware) in die AV-Quarantäne verschoben. Dann wird der ursprüngliche Quellpfad durch den Missbrauch von NTFS-Verzeichnis-Junktions an ein anderes Ziel weitergeleitet (höchstwahrscheinlich ein Ordner in C:\Program Files oder C:\Windows).
  • Durch das Wiederherstellen der zuvor isolierten Datei werden die SYSTEM-Berechtigungen des Windows-Benutzermodusdienstes missbraucht, und die schädliche Bibliothek wird in einem Ordner abgelegt, in den der aktuell angemeldete Benutzer unter normalen Bedingungen nicht schreiben kann.
  • Da die DLL-Suchreihenfolge funktioniert, wird sie schließlich von einem anderen privilegierten Windows-Prozess geladen. Dabei wird der Code innerhalb der DLLMain der Schadbibliothek ausgeführt.

Ein lokaler Nicht-Administrator erlangte somit die volle Kontrolle über den betroffenen Endpunkt. Bogner hat das Ganze in folgendem Bild zusammen gefasst.

#AVGater Infektionsweg
(Quelle: Bogner)

Die AV-Anbieter Trend Micro, Kaspersky, Malwarebytes, EMSISoft, ZoneAlarm und IKARUS haben Updates zum Beheben des Problems herausgebracht. Weitere Details lassen sich im englischsprachigen Original-Beitrag nachlesen. (via Bleeping Computer)

Nachtrag: Weil es in den Kommentaren schon angesprochen wurde – der Windows Defender hat ein abweichendes Design, so dass Nutzer nicht gefährdet waren (andernfalls hätte ich was dazu geschrieben). Microsoft hat hier aber bereits einen längeren Artikel publiziert, warum der Defender nicht gefährdet war (Martin Geuß hat es heute hier thematisiert).


Cookies blockieren entzieht uns die Finanzierung: Cookie-Einstellungen

Dieser Beitrag wurde unter Sicherheit abgelegt und mit , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

14 Antworten zu Designfehler in Antivirus-Produkten bedroht Sicherheit

  1. Harald L. sagt:

    Also bei MSE (und damit wahrscheinlich auch beim Defender von Win8.x/10) kommt beim Wiederherstellen ein UAC-Prompt. Da klappt das Wiederherstellen also nicht unbemerkt durch einen unprivilegierten User oder Prozess.

    Das sehe ich hier regelmäßig immer wieder weil MSE auch gerne Tools von NirSoft wie MailPassView als "Hacktool" in die Quarantäne schiebt.

    • Ralph sagt:

      Wobei Du ja eine passende Ausnahme einrichten könntest, dann taucht das Fenster nicht mehr auf. Nebenbei ist die UAC keinesfalls unüberwindbar. Ich meine, mich zu erinnern, dass der CCC die schon vor Jahren ausgehebelt hat und sich seither am Design der UAC nichts geändert hat.

    • Dekre sagt:

      @Harald L.
      Die Dinger von Nirsoft mit MailpassView werden auch von Malwarebytes in die Quarantäne verschoben. im Prinzip auch zurecht. Denn wer seine Passwörter heraus bekommen will, weil er die verlegt hat, bekommt diese nur so. Ich will nun auch nicht, dass Dritte auf meine Systeme installieren. Macht auch alles Sinn.
      Unabhängig davon weist auch Nirsoft darauf hin, was auch wieder logisch einen Sinn ergibt.
      Es ist eben kein Standardprogramm.

  2. Sherlock sagt:

    Was von sogenannter „Sicherheitssoftware" zu halten ist, sieht man sehr schön hier im Vortrag von Sandro Gaycken:
    https://www.youtube.com/watch?v=sxzCbLRbIkA&t=72
    Fazit: Alles Bullshit-Bingo, reines Marketing und dreister Betrug. Schraubt man sich „Security-Software" aufs System, ist es danach unsicherer als es vorher war, man hat eine Unzahl möglicher Angriffsvektoren hinzugefügt. Meine letzte „Sicherheitssoftware" hatte ich als DAU mit Win 98 und die hatte mir damals mehr als genug Ärger gemacht. Seit XP ist nun Schluss mit dem Unsinn und auch der Windows-Defender mit seinem „Geschützen-Ordnerzugriff-Schlangenöl" ist natürlich deaktiviert. Das ganze System muss geschützt sein, anstelle von ineffektivem, schädlichen Unfug.

  3. Ingo sagt:

    Ein Teil fehlt mir da noch:

    C:\Users\ingo\Desktop>mklink /d WinVerz C:\Windows\System32
    Ihre Berechtigungen reichen nicht aus, um diesen Vorgang auszuführen.

    Wie erstellt der bitte ohne lokale Adminrechte einen Link auf ein wichtiges Systemverzeichnis? Damit fällt dann doch die ganze Variante, sich mit der ganzen Aktion auf diesem Weg lokale Adminrechte zu besorgen, schon flach.
    Oder übersehe ich was?

  4. Herr IngoW sagt:

    Für Windows-Defender ist das wohl kein Problem wie hier beschrieben: https://www.drwindows.de/news/microsoft-windows-defender-war-nie-anfaellig-fuer-avgater
    Einmal mehr ein Grund gegen Fremdvirenprogramme.

  5. Dekre sagt:

    Bei heise.de gibt es einen anderen Link zu bogner.sh mit Datum vom 10.11.2017 und da steht dann, dass in der Malwarebytes-Version 3.0.5.1299 das erkannt wird.

    Da es nun von Malwarebytes die Version 3.3.1.2183 gibt und die von Bogner.sh getestete aus Dez 2016 ist mit dem dortig eingestellten Componenten-Pack und AV-Version kann sich da nur wundern. das wirft die Frage auf was die mit welchen Versionen "getestet" haben bzw. "entdeckt" haben.

    in allen solchen Meldungen ist immer dann das Fazit: Nichts Genaues weiß man nicht.
    Zur Sicherheit trägt das nicht bei, wäre auch ein Wunder, wenn es anders wäre.

  6. Tobi sagt:

    Ein weiterer Grund im Firmenumfeld auf Advanced Endpoint Security Lösungen wie z.B. Palo Alto Traps oder Cylance zu setzen.

Schreibe einen Kommentar zu Tobi Antworten abbrechen

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

Hinweis: Bitte beachtet die Regeln zum Kommentieren im Blog (Erstkommentare und Verlinktes landet in der Moderation, gebe ich alle paar Stunden frei, SEO-Posts/SPAM lösche ich rigoros). Kommentare abseits des Themas bitte unter Diskussion.