Office 365 erhält Anti-Malware Scan-Interface (AMSI)

[English]Microsoft rüstet bei seinem Office gegen Bedrohungen durch Malware und Makro-Viren auf. Die einzelnen Module erhalten eine Schnittstelle für Virenscanner, um die Dokumente scannen zu lassen.


Anzeige

Ich bin bei MS Power User auf das Thema gestoßen, die hier missverständlich schreiben, dass Microsoft ein Antivirusfunktion zu Office hinzufüge, um Makro-Malware abzuwehren. Aber das Thema als solches ist schon interessant. Im Cloud-Blog hat Microsoft einen sehr umfangreichen Artikel Office VBA + AMSI: Parting the veil on malicious macros zum Thema veröffentlicht.

Reaktion auf Bedrohungen

Makrobasierte Bedrohungen waren schon immer ein weit verbreitetes Problem – ich kenne das, solange ich in Bezug auf Computerviren und Office-Makros denken kann. Erlebnis aus frühen Autortagen war der Anruf eines Microsoft Press-Lektors, weil sein Virenscanner bei meinen VBA-Makro-Beispielen zu irgend einem Office-Buch zu VBA angeschlagen hatte. Dabei war im betreffenden VBA-Makro nur den Kill-Befehl zum Löschen von Dateien eingesetzt worden. Der Virenscanner hatte falschen Alarm geschlagen.

Microsoft hat dann irgendwann den Makro-Schutz in Office eingeführt, der nur noch Makros aus vertrauenswürdigen Quellen zulässt. Aber heutige Angriffe sind da wesentlich ausgefeilter als früher. Der VBA-Code wird verschleiert (obfuscated) oder es werden PowerShell-Module und Schadcode nachgeladen sowie Schwachstellen zum Umgehen von Sicherheitsmechanismen ausgenutzt.

Office-Bedrohungen
(Office-Bedrohungen, Quelle: Microsoft, Zum Vergrößern klicken)


Anzeige

Die Bedrohungen durch Office-Exploits sind, laut der obigen Microsoft-Grafik, in den letzten Jahren stark zurückgegangen. Aber man konnte in 2015/2016 ein Aufflackern der Bedrohungen durch Makro-Malware beobachten. Die Angreifer haben in Social-Engineering-Angriffen, die Funktionalitäten wie VBA-Makros missbrauchen, einen geeigneten alternativen Infektionsvektor gefunden. Bösartige Makros tauchen seither in Commodity-Malware-Kampagnen, gezielten Angriffen und in Aktivitäten im Bereich der Red Teams auf.

Anti-Malware Scan-Interface (AMSI) für Office

Um dieser Bedrohung entgegenzuwirken, hat Microsoft, laut Blog-Beitrag, in den Aufbau besserer Erkennungsmechanismen investiert. Diese Mechanismen sollen das Makroverhalten durch Laufzeitinstrumentierung innerhalb der Microsoft Threat Protection-Lösungen in der Cloud offenlegen. Microsoft bringt diese Instrumentierung nun direkt in Office 365-Clientanwendungen ein.

Microsoft ist es dabei wichtig, diese Fähigkeit durch das Anti-Malware Scan-Interface (AMSI), eine offene Schnittstelle, offen zu legen und sie für jede Antivirenlösung zugänglich machen. Das Antimalware Scan Interface (AMSI) ist dabei nichts neues, denn diese offene Schnittstelle wurde unter Windows 10 eingeführt (siehe Windows 10: Welche Antivirus-Lösung soll ich einsetzen?). AMSI bietet für Anwendungen eine einheitliche Schnittstelle, um zur Laufzeit einen synchronen Scan eines Speicherpuffers durch eine installierte Antiviren- oder Sicherheitslösung anzufordern. Jede Anwendung kann mit AMSI zusammenarbeiten und eine Überprüfung auf nicht vertrauenswürdige oder verdächtige Daten anfordern.

Warum das gut ist?

Im ersten Augenblick, als ich die Meldung las, schoss der Gedanke 'ist das notwendig' durch meinen Kopf. Jedes Office-Dokument wird ja schließlich beim Speichern und später beim Öffnen durch Antivirus-Lösungen gescannt. Aber dann fiel mir ein: Es kann ja sein, dass Malware sich dynamisch im Speicher mittels Makro-Code oder PowerShell-Script generiert. Dann läuft die Malware nur noch im Arbeitsspeicher.

Microsoft schreibt denn auch: Um der Erkennung zu entgehen, muss Malware ihre Absicht verbergen. Der häufigste Weg, wie Angreifer dies tun, ist die Code-Verschleierung. Makro-Quellcodes sind leicht zu verdunkeln, und eine Vielzahl von kostenlosen Tools stehen Angreifern zur Verfügung, um dies automatisch zu tun. Dies führt zu polymorpher Malware mit sich entwickelnden Verschleierungsmustern und mehreren verschleierten Varianten desselben bösartigen Makros.

Es gibt noch mehr Fallen: Bösartiger Code kann aus der Makroquelle entfernt und in anderen Dokumentenkomponenten wie Textbeschriftungen, Formularen, Excel-Zellen und anderen Elementen versteckt werden. Oder warum sich überhaupt verstecken? Ein kleines Stück bösartigen Codes kann irgendwo in eine riesige legitime Quelle eingebettet werden und bleibt unauffällig. Das alles wird durch normale Virenscanner nicht erkannt.

Genau dort setzt AMSI an und überwacht die auszuführenden Makros. AMSI kann dann einen Alarm auslösen (die Mechanismen zur Erkennung von Schadfunktionen in PowerShell-Scripten sind hier beschrieben). Dies ermöglicht Anwendungen, zur Laufzeit, einen synchronen Scan eines Speicherpuffers durch eine installierte Virenschutz- oder Sicherheitslösung anfordern.

Jede Antivirus-Lösung kann dabei prinzipiell als AMSI-Provider agieren (wenn der Hersteller die Schnittstelle implementiert) und die von Anwendungen über die AMSI-Schnittstelle gesendeten Daten überprüfen. Wenn der zur Überprüfung eingereichte Inhalt als bösartig erkannt wird, kann die anfragende Anwendung Maßnahmen ergreifen, um der Bedrohung zu begegnen und die Sicherheit des Geräts zu gewährleisten (siehe AMSI-Dokumentation).

AMSI lässt sich auch in die Skript-Engines JavaScript, VBScript und PowerShell integrieren. Im Laufe der Jahre hat Microsoft die Investitionen in Sicherheitslösungen mit einem tieferen Einblick in skriptbasierte Bedrohungen kontinuierlich erhöht. Über AMSI gewonnene Erkenntnisse werden von Microsofts eigenen Sicherheitsprodukten genutzt. Die neue Office- und AMSI-Integration ist eine weitere Ergänzung des Arsenals zum Schutz vor skriptbasierter Malware. Windows Defender Advanced Threat Protection (Windows Defender ATP) nutzt AMSI und maschinelles Lernen, um skriptbasierte Bedrohungen zu bekämpfen, die außerhalb des Landes leben (siehe).

Office VBA-Integration mit AMSI

Die Office VBA-Integration mit AMSI besteht aus drei Teilen: (a) Protokollieren des Makroverhaltens, (b) Auslösen einer Überprüfung bei verdächtigem Verhalten und (c) Stoppen eines bösartigen Makros bei Erkennung.

Laufzeit-Scanning von Makros über AMSI
(Laufzeit-Scanning von Makros über AMSI, Quelle: Microsoft)

Die VBA-Sprache bietet Makros mit einer Vielzahl von Funktionen, die zur Schnittstelle mit dem Betriebssystem verwendet werden können, um Befehle auszuführen, auf das Dateisystem zuzugreifen usw. Darüber hinaus ermöglicht es die Möglichkeit, direkte Aufrufe an COM-Methoden und Win32-APIs zu senden. Die VBA-Skript-Engine verarbeitet Aufrufe von Makrocode an COM und APIs über interne Schnittstellen, die den Übergang zwischen dem Aufrufer und dem Aufruf realisieren. Diese Schnittstellen sind so instrumentiert, dass das Verhalten eines Makros erfasst wird und alle relevanten Informationen, einschließlich des Funktionsnamens und seiner Parameter, in einem Ringspeicher protokolliert werden.

Wenn eine potenziell risikoreiche Funktion oder Methode (ein Auslöser, z.B. CreateProcess oder ShellExecute) aufgerufen wird, stoppt Office die Ausführung des Makros und fordert über die AMSI-Schnittstelle einen Scan des bis dahin aufgezeichneten Makroverhaltens an. Der AMSI-Anbieter (z.B. Antivirensoftware) wird synchron aufgerufen und gibt ein Urteil darüber ab, ob das beobachtete Verhalten schädlich ist oder nicht.

Die Liste der Hochrisikofunktionen oder -trigger soll Aktionen in verschiedenen Phasen einer Angriffskette (z.B. Download der Nutzlast, Persistenz, Ausführung usw.) abdecken und wird aufgrund ihrer Prävalenz unter bösartigen und gutartigen Makros ausgewählt. Das über die AMSI gesendete Verhaltensprotokoll kann Informationen wie verdächtige URLs, von denen bösartige Daten heruntergeladen wurden, verdächtige Dateinamen, die bekanntermaßen mit Malware in Verbindung gebracht werden, und andere enthalten.

Makro-Warnung (Quelle: Microsoft)

Wird ein bösartiger Makrocode entdeckt, stoppt Office dessen Ausführung und benachrichtigt den Benutzer durch das obige Dialogfeld. Gleichzeitigt wird die Anwendungssitzung beendet, um weitere Schäden zu vermeiden. Dies kann einen Angriff stoppen und das Gerät und den Benutzer schützen. Erscheint mir sinnvoll, wie das in der Praxis ausschaut, wird man abwarten müssen. Weitere Details sind dem sehr ausführlichen Microsoft-Blog-Beitrag zu entnehmen.

Ähnliche Artikel:
Windows 10: Welche Antivirus-Lösung soll ich einsetzen?
Windows 10: Null-Zeichen ermöglichte Anti-Malware-Bypass
Windows Defender ATP erkennt Krypto-Miner


Anzeige

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

Schreibe einen Kommentar

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.

Du findest den Blog gut, hast aber Werbung geblockt? Du kannst diesen Blog auch durch eine Spende unterstützen.