Management und Wissen / Malware-Analyse
Bei der Frage, ob es sich bei einer Datei um Malware handelt oder nicht, wird es immer wieder einmal Zweifelsfälle geben, in denen man neben der Aussage seines bevorzugten Anti- Viren- oder sonstigen Security-Programms gerne noch eine zweite Meinung hätte, bevor man Alarm oder Entwarnung gibt. Hierzu existiert eine ganze Reihe – auch kostenlos nutzbarer – Tools und Services.
Auch in der IT-Security gibt es Graustufen – längst nicht immer sind Vorkommnisse, Dateien oder Websites offensichtlich gut oder böse, unbedenklich oder bedrohlich: Problematisch sind beispielsweise Warnungen, denen ein „vermutlich“, „wahrscheinlich“ oder „möglicherweise“ vorangestellt ist – wie beurteilt man etwa die Meldung „Die Datei Lebenslauf.pdf ist entweder korrupt oder durch den Virus Crasher2020.1why infiziert“? Heikel sind auch Dateien, welche die installierten Sicherheitssysteme zwar nicht bemängeln, die aber unter ominösen Umständen ins Haus gekommen sind oder bei einem Mitarbeiter aus anderen Gründen Verdacht erregen (komische Domain im WWW, merkwürdiger E-Mail-Text oder -Anhang usw.).
Wenn es darum geht, entweder eine False-Positive-Meldung auszuschließen oder die gemeldete Unbedenklichkeit zu bestätigen, stehen wohl nur in den seltensten Fällen hochqualifizierte Experten zur Verfügung, um der Sache per aufwendiger Codeanalyse auf den Grund zu gehen. Es gibt jedoch eine ganze Reihe – auch kostenloser – Werkzeuge, die Admins und Anwendern bei der Malwareanalyse helfen oder zumindest eine „zweite Meinung“ liefern können.
Nebenbei bemerkt dürften uns solche Fälle in Zukunft eher öfter beschäftigen als heute: Denn die aktuellen „Next-Generation“- Produkte zur Malware-Abwehr setzen oft auf Machine-Learning und künstliche Intelligenz (KI). Dabei versuchen sie auch, Schadsoftware am Verhalten zu erkennen – allerdings kann „auffälliges“ Verhalten auch andere Ursachen haben als Malware.
VirusTotal (VT) gibt es schon seit 2004 und es ist quasi eine „Institution“ im Security-Umfeld. Ursprünglich wurde der Service von dem Sicherheitsanbieter Hispasec Sistemas ausgedacht und dann 2012 von Google aufgekauft.
Gegenwärtig überprüfen über diese Website circa 50–70 Security- Produkte eine hochgeladene verdächtige Datei oder angegebene URL auf bekannte Anomalien (www.virustotal.com). Betrachtet man die unterschiedlichen Analysetechniken der einzelnen Produkte, kommt hierdurch eine Aussage zusammen, die auf einer sehr breiten Basis steht. Denn neben klassischen Byte-Pattern kommen dabei auch heuristische, generische und andere, produktspezifische Verfahren zum Einsatz.
Sicherlich kann auch VirusTotal keine 100 % sichere Entscheidung treffen und immer mit Bestimmtheit sagen „Die Datei ist o.k.“ oder „Die Datei ist Schadsoftware“ – aber es liefert eine belastbare Aussage, die sich durch die Bewertung der kollektiven Prüfungen vieler unabhängiger Tools ergibt (vgl. Abb. 2).
Mit dem Redesign von 2017 sind einige Funktionen hinzugekommen, welche die Nutzung des Tools noch deutlich effektiver und professioneller gestalten. Dazu zählen:
Auch das Reporting ist deutlich informativer geworden (vgl. Abb. 3) und liefert heute eine Vielzahl von Details zu überprüften Dateien und teils auch zu deren Verhalten. Der Service ist gratis und ohne Weiteres verfügbar, man kann aber durch Beitritt (Registrierung) in die „Community“ noch „Premium Services“ erhalten, zu denen beispielsweise eine grafische Darstellung des Zusammenhangs verschiedener untersuchter Objekte sowie die Verfügbarkeit eines API-Keys gehören. Zu bedenken ist generell, dass Dateien, die man zur Analyse hochlädt, auch von VT selbst weitergegeben werden (Kooperationen).
YARA („Yet Another Ridiculous Acronym“) ist ein Open-Source-Werkzeug, das eine Mustererkennung anbietet, die sich an der Programmiersprache Python orientiert. YARA ist als eigenständiges Kommandozeilen- Programm erhältlich (http://virustotal.github.io/yara/) und kommt auch im Rahmen von VT (Premium) zum Einsatz.
YARA dient dazu, Dateien mithilfe von Regeln nach Mustern zu durchsuchen. Der Grundgedanke dabei ist, dass auch heute noch Elemente in Malware immer wieder verwendet werden und sich somit anhand von Mustern identifizieren lassen. Neben Programmcode können auch textuelle Kommentare, Nachrichten, Beschimpfungen, IP-Adressen et cetera oder spezielle Bytefolgen als Identifikationsmerkmal dienen – ebenso wie das Gegenteil, dass also beispielsweise eine manipulierte Programmdatei bestimmte Sequenzen nicht mehr enthält.
Eine einfach YARA-Regel lautet beispielsweise:
rule meintext
{
strings:
$mein_text_string = „Hello World“
$mein_hex_string = { 42 69 67 43 6F 64 65 72 21 }
condition:
$mein_text_string or $mein_hex_string
}
Diese Regel sorgt bei der Suche in Ordnern beziehungsweise Dateien für einen Treffer, wenn das Programm entweder die Zeichenfolgen „Hello World“ oder „BigCoder1“ (via Hex-Code definiert) findet. Wurde beispielsweise das eigene Unternehmen in der Vergangenheit von einem Angreifer mit dem Pseudonym „BigCoder1“ attackiert, kann man YARA nutzen, um Dateien nach diesem „Fingerabdruck“ zu durchsuchen. Der Aufwand hält sich dabei in Grenzen und ein großer Vorteil ist, dass man keine Daten außer Haus geben muss, sondern eine einfache Analyse selbst durchführen kann.
Dabei kann YARA auch recht komplexe Searchpattern bedienen und verarbeiten. Das Community- Projekt „YARA Rules“ stellt beispielsweise Regeln für den allgemeinen Einsatz bereit (https://github.com/ Yara-Rules/rules). YARA erfreut sich zunehmender Akzeptanz und die Liste der Security-Firmen, die YARA nutzen, liest sich wie ein „Who is Who“ der Anti-Virus-(AV)-Anbieter (Avast, ESET, Kaspersky Lab, McAfee, Symantec, TrendMicro und viele weitere).
Any Run ist ein relativ neuer Dienst, der sich als „Interactive Malware Hunting Service“ anpreist – in Form einer „Next-Gen Sandbox with full interactive access“ (https://any. run). Dazu wird eine verdächtige Datei in einem virtuellen, geschlossenen System ausgeführt (bzw. eine URL aufgerufen), sodass man sehen und analysieren kann, was die Software (bzw. Website) macht, ohne ein reales, eigenes PC-System zu gefährden. Das Basisangebot ist als „Community Version“ kostenlos verfügbar, eine Registrierung jedoch notwendig, um auf die Services zuzugreifen.
ausführbare Datei analysieren, startet man einen neuen Task (Abb. 4), gibt die Datei für den Upload an und hat kurz darauf eine aktive Sandbox mit dem ausgewählten Betriebssystem für die Interaktion auf dem Schirm (in der kostenlosen Version steht allerdings nur ein 32- Bit Windows 7 zur Verfügung). Any Run startet die Datei und übergibt die Kontrolle an den User – in der kostenlosen Version hat man 60 Sekunden und auf Anforderung bis zu vier Mal eine weitere Minute Zeit für Interaktionen mit dem virtuellen System (über Maus und Tastatur).
Bei einem vom Autor zur Analyse eingereichten Executable entdeckte das Sandbox-System beispielsweise eigenständig folgende Aktivitäten:
Das war für Any Run Grund genug, diesen Köder mit dem Hinweis „Malicious Activity“ zu versehen. Gibt es auf dem Monitor sichtbare Effekte, könnte man diese im Browser live am eingeblendeten Bildschirmfenster oder eventuell später auf den angelegten Screenshots betrachten. Die gespeicherten Aktivitäten lassen sich in einer interaktiven Darstellung analysieren und außerdem in verschiedenen grafischen und textlichen Berichten darstellen (vgl. Abb. 5). Derart gefundene Daten können Security-Admins beispielsweise auch als Grundlage für YARA-Regeln dienen, um damit die Unversehrtheit (oder Betroffenheit) von Risiko-Systemen zu verifizieren.
Any Run ist ein leistungsstarkes System, das den Nutzer bei der Analyse unterstützt, aber ihm nicht das Denken abnimmt – entsprechende Skills im Umfeld von Malware und Threat-Intelligence, aber auch Kenntnisse von Betriebssystemabläufen sollten zur Interpretation der Ergebnisse schon vorhanden sein. Denn auch legitime Prozesse können durchaus „verdächtige“ Aktivitäten ausführen – der angesprochene Köder war beispielsweise das harmlose Sysinternals Tool RootkitRevealer.
Zu beachten ist weiterhin, dass – zumindest in der unbezahlten „Community Version“ – alle Berichte öffentlich zugänglich sind und Any Run eingereichte Dateien ebenfalls mit anderen Security-Institutionen teilt.
Währenddessen überwacht und protokolliert Any Run die Aktivitäten auf dem eingerichteten System (inklusive Netzwerkverkehr), erstellt automatisch Screenshots und bewertet anschließend seine Beobachtungen. Dazu benennt es unter anderem „Indicators of Suspicious Behaviour“ sowie „Indicators of Compromise“ (z. B. Privilege- Escalation, File-Drops, Start-up- Einträge, netsh-Nutzung usw.) und listet gefundene Angriffstaktiken anhand der MITRE ATT&CK Matrix auf (https://attack.mitre.org/).
Eine andere Art der Erstbewertung bei Malware-Verdacht offeriert PEStudio von Marc Ochsenmeier (www.winitor.com). Dieses clevere Werkzeug läuft unter Windows und analysiert vorrangig Dateien im Portable-Executable-(PE)-Format – PEStudio kann zwar auch andere Dateien analysieren, die Menge der ermittelten Informationen fällt dann aber deutlich geringer aus.
Der Grundgedanke bei PEStudio ist der, dass sich eine Vielzahl von Informationen im PE-Header einer Datei verbergen, die Hinweise geben können, die auf ein bösartiges Verhalten hindeuten. Dazu gehören unter anderem genutzte Libraries und Funktionen, eingebettete Ressourcen und URLs, Zertifikate sowie Strings, die auf einer Blacklist stehen (Abb. 6). Die Ergebnisse werden in kompakter Form aufbereitet und nach Schwere gewichtet, kritische Informationen dabei durch das Tool farblich gekennzeichnet. Damit erhält der Anwender bereits einen ersten Ansatzpunkt hinsichtlich einer möglichen Gefährdung, die von einer analysierten Datei ausgeht.
Die Installation von PEStudio ist sehr einfach: Es gilt lediglich das ZIP-File zu entpacken und die Windows-Anwendung ist einsatzbereit – der „Footprint“ des Tools ist also minimal, denn es legt keinerlei Dateien irgendwo im System ab oder überschreibt bestehende DLLKomponenten. Alles geschieht in dem Verzeichnis, in das man PEStudio speichert.
Anschließend lässt sich per Drap-and-Drop oder über die Dateiauswahl eine Datei zur Analyse auswählen. Wichtig zu wissen: PEStudio startet keine verdächtigen Programme, sondern liest lediglich die Datei zur Analyse ein. Dabei greift das Tool auch auf Daten von VT zurück und integriert dessen Ergebnisse in seine Auswertung.
Das Tool sucht an sich nicht direkt nach Malware, sondern generell nach Dingen, die für ein reguläres, gut geschriebenes Programm unüblich sind. So führen beispielsweise:
zu einer Kennzeichnung, die den Anwender warnt, dass hier eventuell etwas faul sein könnte.
Indizien, wie sie PEStudio oder andere Security-Tools ausgeben, könnten so im einfachsten Fall erst einmal dazu führen, die relevante Datei vom Urheber neu anzufordern oder aus einer vertrauenswürdigen Quelle neu zu beziehen. Enthält diese neue Datei keine Auffälligkeiten, ist klar, dass die ursprüngliche Datei (beabsichtigt?) manipuliert wurde – zeigt sich dasselbe Ergebnis, muss man tiefer in die Analyse einsteigen, wozu ein Grundwissen zu Schadsoftware und Betriebssystemen naturgemäß unerlässlich ist.
Die Standard-Version von PEStudio ist über die Website des Autors frei erhältlich, darf aber laut Lizenz nicht in einem „Professional Environment“ eingesetzt werden. Die Professional-Version ist gegen eine Jahresgebühr erhältlich und bietet neben der erweiterten Lizenz auch einige zusätzliche Funktionen inklusive einer Kommandozeilenversion für die Batchverarbeitung.
Es gibt eine ganze Menge Tools und Möglichkeiten, um einen Verdachtsfall in Sachen Malware detaillierter zu untersuchen – weitaus mehr als die hier vorgestellte Auswahl und häufig auch mit einer gehörigen Fluktuation.
Je nach Tool können „normale“ Anwender die zusätzlichen Tests machen oder das bleibt letztlich doch denen vorbehalten, die über größere Security-, Malware- und/oder Betriebssystem-Kenntnisse verfügen (z. B. Security-Administratoren).
Für alle Dienste und Programme gilt, das man sich mit den Werkzeugen frühzeitig vertraut machen sollte, denn wenn es „brennt“ und man schnell eine Aussage braucht, kann man nicht erst damit beginnen, die Dokumentation zu lesen oder die neueste Toolversion aus dem Internet herunterzuladen.
Es handelt sich bei den hier vorgestellten Tools um spezialisierte Hilfsmittel, die für mehr Sicherheit sorgen können – aber man sollte nie vergessen, dass auch bei gründlicher (Nach-)Untersuchung keine 100 % Security zu erzielen ist. Dennoch lässt sich hiermit in Zweifelsfällen das Risiko deutlich reduzieren und somit womöglich Schaden vom Endanwender und/oder dem Unternehmen abwenden – sei es in Form von Malwareschäden oder den Folgen eines False Positives.