Sandbox und Dokumentrendering

Lange Zeit war es relativ ruhig an der "Anti Spam Wundermittel"-Front. RBL und Pattern-Erkennungen über Clearingstellen blocken sehr schnell aufkommende Spamwellen. Mehr Sorgen bereiten den Administratoren nun Angriffe durch Malware, die Daten verschlüsseln und ganz regulär im Kontext der Anwender ausgeführt werden. Ein Angreifer muss ja gar nicht den PC oder gleich das Netzwerk oder den Server übernehmen sondern es reicht eine Veränderung der Daten, die erst nach einem Lösegeld angeblich reversibel sein soll. Solch ein Code nutzt nicht mal Systemschnittstellen oder Sicherheitslöcher sondern genau die Methoden, die auch der Anwender alltäglich nutzt.

Der Sandkasten

Natürlich lassen die AV-Hersteller diese Problematik nicht unbeachtet und überlegen, wie solche Schadanteile sinnvoll behandelt werden können.

Aktuell (Ende 2017) behaupten die verschiedenen Antispam-Hersteller durchgängig, dass ein System ohne Sandbox viel schlechter wäre als ihres, was natürlich eine Sandbox habe. Solche "Wunderdinge" werden aber immer mal wieder angepriesen und letztlich ist auch eine Sandbox eine Komponente im Waffenarsenal der Antispam-Produkte, aber sicher nicht das Allheilmittel.

Dazu müssen diese Anlagen bei Mails natürlich erst einmal erkannt werden. Mehrere Hersteller haben hierbei den Ansatz gewählt, die Anlagen erst einmal selbst "auszuführen". Dazu wird eine Art "Sandbox" gestartet, in der dann die Anlage eingeliefert und "geöffnet" wird. Im Idealfall kann der eventuell enthaltene Schadcode nicht erkennen, dass er noch gar nicht beim Empfänger ist und versucht aktiv zu werden. Eine Überwachung der Sandbox soll dann sicherstellen, dass die schädlichen Aktionen als solche erkannt werden.

Risiko durch eine Sandbox

Eine Sandbox funktioniert so, dass man Schadcode gezielt ausführt und das Verhalten analysiert. Dazu muss man die Sandbox natürlich interagieren lassen. Schon das kann zu einem Problem führen, was sich auf den ersten Blick gar nicht erschließt. Verfolgen Sie mal meinen Gedankengang.

  • Angreifer baut eine individuelle Schadsoftware
    Das Ziel ist es vertrauliche Informationen zu finden und aus dem Unternehmen auszuleiten
  • Zustellung an das Ziel
    Diese noch nicht von Virenscannern erkannte Schadsoftware, die auch keinen "zerstörerischen Anteil" hat, wird dem Opfer zu gestellt und ausgeführt. Die Malware sammelt findet interessante Daten aber das Ausleiten würde ja auffallen. (Firewall, Virenscanner o.ä.)
  • Malware verpackt Nutzdaten in ein vergiftetes Paket
    Die Malware erstellt ein Paket, welches nichts anderes macht als die Nutzdaten zum Angreifer zu senden. Aber der Code wird nicht direkt ausgeführt sondern z.B. mit dem EICAR-String oder einem anderen Pattern versehen, dass der Virenscanner anschlagen wird.
  • Der Virenscanner lädt Datei zur Überprüfung in die eigene Sandbox (oder die eines Cloud Providers)
    Die Sandbox startet eine geschützte Umgebung und führt den Code aus. Der macht nichts kaputt aber kommuniziert natürlich mit dem Angreifer, indem er aus Sicht der Sandbox "etwas überträgt". Die Sandbox wird das vermutlich als "böse" bewerten. Das ist aber gar nicht mehr relevant, denn die auszuleitenden Daten sind ja schon beim Angreifer

Die eigentliche Malware ist nie bei der Sandbox angelangt und die Sandbox selbst hat sogar dafür gesorgt, dass die abgegriffenen Dateien beim Angreifer gelandet sind. Der Rat kann sogar soweit gehen, dass man fragliche Dateien gerade nicht mehr bei VirusTotal u.a. Diensten hoch lädt. Sie könne ja nicht sicher sein, dass ihre schützenswerte Daten nicht dynamisch in diesen Verdachtsfall eingebettet wurden.

Wenn ich das richtig sehe, dann ist das Schadpotential nur dort gegeben, wo die erste Malware an sensible Daten kommt, die sie dann einsammeln kann. Wenn aber z.B. NoSpamProxy eine Anlage einer Mail in die Sandbox sendet, dann sind da keine internen Daten enthalten. Kritisch ist die Frage aber schon für Virenscanner auf dem Client, die verdächtige Daten zu einem Cloud-Anbieter senden.

Bad Guy - Anti-Sandbox Strategien

Das Ergebnis ist dann natürlich wieder keine 100%-Aussage sondern eine Wahrscheinlichkeit. Allerdings ist damit natürlich auch das Wettrennen gestartet, bei dem Angreifer versuchen auch diese Sandbox auszutricksen. Eine Sandbox muss also viele Fälle abdecken. Hier eine Auswahl an Anforderungen:

  • Verzögerung
    Als Schadcodeentwickler würde ich zuerst einmal unverfänglich abfragen , welches Datum gerade ist und vielleicht erst ein paar Stunden später aktiv werden. Mailsysteme können die Mail mit der Anlage ja nicht stundenlang "untersuchen" und müssen Sie irgendwann als "unverdächtig" durchlassen.
    Klar kann eine Sandbox nun anfangen die Zeit "in die Zukunft" zu stellen, aber was hindert eine Applikation eine unverfängliche Datei (z.B.: Google.de) abzufragen und darauf die Uhrzeit abzuleiten.
  • Performance
    Die "Ausführung" in einer Sandbox erfordert, dass die Lösung die Anlage einige Zeit beobachtet. Sie können nun sehr viel Aktionen durchführen, die aber alle unverdächtig sind aber viel Zeit kosten. Stellen Sie sich eine Excel-Datei vor, die per Formeln umfangreiche Reihen berechnet. Es muss ja nicht gleich das verdächtige "Bitcoin-Mining" ein
  • JavaScript
    Eine Sandbox stellt eine Umgebung nach und beobachtet, was die Anlage macht, eine DOCM-Datei benötigt in der Sandbox natürlich idealerweise ein Word und Aktionen werden im Aufruf von Windows API gesehen. Was aber, wenn die Anlage eine HTML/HTA-Datei ist, die in einem Browser ausgeführt wird? JavaScript im Browser wird natürlich schon in der Sandbox des Browsers ausgeführt und viele Dinge davon "sieht" Windows selbst gar nicht oder erst, wenn der Anwender eine Dialogbox bestätigt. Also müsste die Sandbox auch eine Browser-Sandbox emulieren.
  • Download-Link mit Verzögerung
    DOCM und XLSM sind heute schon in den meisten Fällen geblockt. Aber immer mehr Absender senden ja nur einen "Link" zu einem Dokument, welches dann auf einem öffentlich zugänglichen SharePoint, OneDrive o.ä. liegt. Als Angreifer würde ich diesen Weg wählen aber hinter der URL erst mal nur eine "unverfängliche" Datei ablegen, die ich erst später ersetzen würde. Die Filterlösung sieht nichts und leitet die Mail weiter und bis der Anwender die Mail gelesen hat, kann ich ja auf dem Webserver die Datei austauchen. Ein HTTP-Proxy hat natürlich viel weniger Zeit solche Download durch eine Sandbox zu schieben.

Aufwand für Sandbox

Der Aufwand in einer Sandbox eine möglichst realistische Umgebung abzubilden, die von einem möglichen Schadcode als "real" angesehen wird, macht eine Sandbox natürlich teurer.

Der Aufbau von Office Dokumenten (DOCX, XMLX etc.) ist relativ gut dokumentiert und die Dateien können auch per Software schnell analysiert werden. Weiterhin schätze ich mal, dass im normalen Geschäftsverkehr zwar viele Office-Dokumente auch per Mail übertragen werden, aber nur ein minimaler Anteil davon wirklich auch "aktive Inhalte" benötigt. Ein erster Ansatz ist daher zu versuchen, die Dokumente dahingehend zu untersuchen und damit die Anzahl der Dokumente zu reduzieren, die überhaupt durch eine Sandbox laufen müssen.

Interessant wird eine Sandbox daher, wenn man möglich nur neue Elemente einer Prüfung unterzieht und dies idealerweise auch über viele Installation und Firmen hinweg möglich ist. Eine Schutzlösung sollte daher zur Anlage erst einmal einen Fingerprint erstellen und diesen gegen eine Datenbank prüfen und nur wenn die Datei neu ist und andere Faktoren noch nicht für eine Entscheidung reichen, aktiv zu werden. Dann ist es natürlich immer interessanter wenn es eine gemeinsame Stelle gibt, die Sandbox-Umgebungen betreibt. Warum sollte jede Firma für sich Ressourcen für Spitzenlast vorhalten, die auch noch laufend aktualisiert werden müssen. Hier ist ein Cloud-Anbieter im Vorteil, der dann allerdings auch die Anlagen für eine Überprüfung erhalten muss. (-> Datenschutz)

Weil die Analyse so aufwändig ist, muss ein Spamfilter verschiedene Kriterien und Schwellwerte ansetzen, welche Mails oder Anlagen überhaupt an die Sandbox geschickt werden und was nicht. Hier liegt ein großes Sicherheitsloch bei vielen Produkten, wenn allein aufgrund von Größe oder anderen Kriterien eine Datei nicht an die Sandbox geschickt wird, diese aber doch Schadcode enthält. Neben der Erkennungsrate einer Sandbox sind also auch die Kriterien zur Aktivierung der Sandbox wichtig. Die klassischen Filter und Bewertungen sind damit wichtiger denn je und keines weg zu unterschätzen. Sie können nicht jede Mail in die Sandbox senden. Selbst wenn Sie könnten, liefert eine Sandbox keine binäre Aussage über das Schadpotential sondern auch nur eine "Einschätzung".

Alternative: Anlage mit Makro blockieren

Ein anderer Ansatz ist es, die Dokumente erst einmal "ungefährlich" zu machen. Viele Firmen senden heute z.B. immer noch DOC statt DOCX. Das Problem dabei ist, dass Word entsprechende Makros nur in DOCM-Dateien zulässt aber DOCX keine Makros enthalten kann. Das ist aber bei DOC nicht so, welches aber noch von Office 2003 genutzt wurde. Ein konsequenter Wechsel auf die Formate von Office 2007 und neuer (Also DOCX,DOCM, XLSX, XLSM, PPTX, PPTM etc.) erlaubt es schon eine Vorfilterung allein anhand des Dateinamens und des Aufbaus.

Problematisch sind hier natürlich DOC, XLS, PPT, da hier die Trennung nach "Daten mit Makros" und "Daten ohne Makros" nicht gemacht wird. Ein Scanner muss bei diesen Formaten also immer von einer Gefahr ausgehen könnte. Hier ist sicher auch eine offene Kommunikation mit dem Partner auf der Senderseite gefordert, ehe man diese "alten" Formate direkt ablehnen kann. Aber 10 Jahre nach der Einführung von Office 2007 und den "X-Dokumenten" wäre es langsam an der Zeit.

Alternative - Content Disarm Reconstruction (CDR)

Die Abkürzung CDR hat hier nicht mit "Call Data Record" aus der Telefonie zu tun sondern beschreibt ein Verfahren, bei denen Anlagen "unschädlich" gemacht werden, indem ein System auf dem Transportweg das Format ändert oder neu zusammen stellt. Wenn Sie als Firma den Empfang von Office-Dokumenten zulassen, was fast immer der Fall ist, dann öffnen Sie auch den Weg für Schadcode als Makro oder eingebettetes Objekt. Es gibt immer wieder Fehler in Produkten wie Word, Excel aber auch PDF-Betrachter, mit denen ein Schadcode ausbrechen kann. Dies kann dann theoretisch auf jedem Client mit jedem Betriebssysteme und einem beliebigen Benutzer (auch Administrator) erfolgen.

Bei der Content Disarm Reconstruction werden die Anlagen auf dem Weg entweder konvertiert, d.h. aus einem Word-Dokument wird eine PDF oder das Dokument wird neu zusammengesetzt. Diese Aktionen erfolgen auf gesonderten Systemen, die gehärtet und beschränkt sind. In vielen Fällen braucht der Empfänger nämlich gar nicht das originale Dokument sondern nur die Information und die Möglichkeit es formattreu auszudrucken. Für die Zusammenarbeit an Dokumenten gibt es ja andere Wege, die zudem sinnvoller sind als der Transport der Mail.

Daher gibt es Produkte, die solche Dokumente "umformatieren". Das kann über besondere Dokumentbetrachter passieren, die gar keine "ausführenden" Rechte oder Codebestandteile haben oder durch die Programme in einer Sandbox. Die Ausgabe ist dann aber ein "bereinigtes" Dokument, welches für den Empfänger ungefährlich ist. Ein Weg ist z.B. alle eingehenden Dokumente in das PDF/XPS-Format zu konvertieren, sofern diese direkt an der Mail angehängt sind und nicht erst per Download vom Client über eine URL nachgeladen werden.

Alternative - Verzögerte Zustellung

Nicht verschwiegen darf natürlich, dass der Faktor "Zeit" für einen Schadcode am wichtigsten ist. Wenn ein Schadcode irgendwo aktiv werden konnte, wird es nicht lange dauern bis die Signatur über Pattern-Updates und Signatur-Datenbanken zu einer Erkennung führt. Oftmals reichen schon kurze Verzögerungen, um zumindest hellhörig zu werden.

Wen Sie z.B. eine Mail mit einer fraglichen Anlage erhalten und diese einige Minuten verzögern, könnten weitere gleichartige Mails bei ihnen oder anderen Firmen einlaufen. Bis zu einem gewissen Maße ist dies auch realistisch und gut aber wenn der gleichartige Anhang bei vielen Personen und unterschiedlichen Absendern von unterschiedlichen Mailservern kommen, dann ist das Dokument auf jeden Fall kritisch zu beachten.

Die Verzögerung von Anlagen kann so gestaltet werden, dass der Anwender zwar die Mail bekommt und vielleicht auch die Anlage als gerendertes Dokument (PDF o.ä.) aber die eigentliche Dateianlage über einen Link abgerufen werden muss. Zwischen der Zustellzeit der entschärften Mail und dem Lesen des Anwenders mit dem "klick" auf den Link zum Download der Anlage vergeht immer etwas Zeit. Wenn dann beim Download die Anlage noch einmal "geprüft" wird, ist die Wahrscheinlichkeit schon sehr viel höher, dass ein Schadcode schon erkannt wird.

Einschätzung

Letztlich sind alle drei Bausteine ein effektives Paket für die Behandlung von Anlagen. Aber die Sandbox ist alleine auf keinen Fall wieder der Heilsbringer, wie er gerne von dem Marketing gepriesen wird. Sie ist ein weiteres Werkzeug in der Werkzeugkiste aber aufgrund des hohen Aufwands (Kosten, Zuverlässigkeit etc.) eher etwas für die Fälle, die durch andere Methoden noch nicht abgefangen werden konnten.

Ich möchte es mal mit dem Medizinwesen vergleichen. ein MRT, CRT ist sicher ein sehr leistungsfähiges Bildgebendes Verfahren, aber für die meisten Knochenbrüche reicht ein Röntgen aus, diverse Untersuchungen können mit einem Ultraschall effektiver durchgeführt werden und in vielen Fällen sieht der Hausarzt schon, welche Keime sich im Ort gerade sprichwörtlich die Klinke sich in die Hand geben.

Eine Sandbox ist ein gutes aber auch teures Instrument und sollte erst dann zum Einsatz kommen, wenn die anderen Optionen ausgeschöpft sind. Wie gut die Erkennungsraten sind und wer letztlich beim gegenseitigen hochrüsten dann die Nase vorne hat, wird man sehen müssen.

Mein Regelwerk

Mein Aktionsplan wäre:

  1. Alte Anlageformen verbannen
    Keiner braucht heute mehr DOC, XLS, PPT, seit es DOCX, XLSX und PPTX gibt
  2. "Ausführende"-Anlagen konvertieren und ggfls. verzögert bereit stellen
    Anlagen die dann noch Makros enthalten könnten, würde ich dem Anwender erst einmal als PDF-Vorschau überlassen und ggfls. über einen Freigabe-Prozess leiten oder erst nach einer Karenzzeit den Zugriff erlauben.
  3. Analyse für angeblich "unverfängliche" Dokumente
    Es wäre unrealistisch zu fordern, dass DOCX, XLSX etc. auch geblockt oder nur als PDF zugestellt werden dürften. Aber es gibt ja "normale" Office Dokumente und eben solchem die andere Objekte "einbetten" hier muss schon die Frage erlaubt sein, ob man hier die Dokumente "inaktiviert", d.h. als PDF zustellt oder die aktiven Elemente entfernt. auch hier könnte man das Original verzögert bereitstellen.

Eine Sandbox kann man bei der Evaluierung der Dokument ja weiterhin einbeziehen. Das muss aber durch die gesonderte und verzögerte Bereitstellung nicht mehr Realtime erfolgen. Eine bevorzugte Behandlung könnte man natürlich für "bekannte Kommunikationspartner "(Stichwort Level-of-Trust) erlauben, wenn der Kommunikationspartner ausreichend vertrauenswürdig ist.

Weitere Links