Das Forschungsteam von Cheсk Point erhielt kürzlich die Nachricht eines Bloomberg-Journalisten namens Martyn Williams, der von einer angeblich aus Japan stammenden Person, die Kopie eines nordkoreanischen Antivirenprogramms erhalten hatte. Auf nordkoreanische Software trifft man zugegebenermaßen nicht sehr oft; aus diesem Grund waren die Experten Mark Lechtik und Michael Kajiloti auch besonders gespannt auf die Fähigkeiten des Antiviren-Tools. Die Ergebnisse ihrer Untersuchung präsentierten die beiden auf dem Hacker-Kongress 35C3.
Bevor wir jedoch über das nordkoreanische Antivirenprodukt sprechen, sollten wir wahrscheinlich kurz darauf eingehen, wie Nordkorea zum Thema Internet steht und umgekehrt.
Nordkoreas Rolle in der Entwicklung des globalen Netzwerks
Attribuierung – die Entwicklung einer berechtigten Behauptung, dass eine landesspezifische Gruppe den Versuch gestartet hat, einen bestimmten Angriff auszuführen – ist ein sogenanntes Hit-and-Miss-Business. Beweise zu interpretieren ist schwierig, dem falschen Beispiel zu folgen ist einfach, usw. Dennoch wurde Nordkorea irgendwann von mehreren Forschergruppen bestimmter Onlineangriffe beschuldigt. Darüber hinaus wird allgemein angenommen, dass Nordkorea staatlich unterstützte Hackergruppen einsetzt, deren Aufgabe darin besteht, Geld für das Regime zu verdienen; eine Annahme, die von DVRK-Beamten vehement abgestritten wird.
Das Internet als solches ist in Nordkorea praktisch inexistent: Das World Wide Web ist nur für wenige Auserwählte zugänglich, während ein Großteil der Bevölkerung auf das nationale Intranet, auch Kwangmyong genannt, beschränkt ist: ein Netzwerk voller Informationen über den „verfallenden Westen“. Der Westen wiederum hat umgekehrt genauso rare Möglichkeiten, einen Einblick in das nordkoreanische Netzwerk zu erhaschen, sodass jegliche Information zu diesem Thema ein Hochgenuss ist.
Wofür ein Koreanisch-japanisches Antivirus?
Die erste logische Frage lautet: Wozu sollte Nordkorea, ohne Zugriff auf das Internet, ein AV-Programm überhaupt benötigen? Zum einen zum Schutz vor über USB-Sticks eingeschmuggelte Viren, die westliche Artikel, südkoreanische Fernsehserien und andere, offiziell nicht in der DVRK vorhandene Informationen enthalten. Derartige Schmuggelware ist in Nordkorea überraschenderweise besonders weit verbreitet. Zum anderen, und weniger offensichtlich, scheint es, als würde Nordkorea das Virenschutzprogramm international vermarkten wollen. Zumindest eine der Versionen des Antivirenprogramms verfügt über eine englische Benutzeroberfläche.
Die zweite, nicht weniger logische Frage lautet: Wie gelangt das DVRK an eigene Antivirensoftware? Ein derart ausgereiftes Produkt ist vor allem bei begrenzten Ressourcen nur schwer von Grund auf neu zu entwickeln. Auch die Experten von Check Point haben sich mit dieser Frage befasst, um ein interessantes Fazit zu ziehen: Die 2013er Version des koreanischen Antivirus (die den Experten zur Verfügung stand) hat sich die Engine einer beliebten AV-Lösung von Trend Micro, aus dem Jahr 2008, zunutze gemacht.
Die koreanischen Entwickler waren offensichtlich nicht daran interessiert, dass Außenstehende einen genaueren Blick auf den Code des Produkts werfen, denn viele seiner Komponenten wurden durch Themida geschützt – ein Wrapper-Programm, das Reverse Engineering verhindert. Diejenigen, die für die Zusammenstellung der SiliVaccine-Komponenten zuständig waren, hatten jedoch versäumt, einen Großteil des eindrucksvollen Themida-Toolkits zu verwenden, sodass das Team von Check Point letztlich doch auf den Programmcode zugreifen konnte.
Rund ein Viertel des SiliVaccine-Codes entspricht vollständig den Elementen des Antivirus-Codes von Trend Micro, obwohl bestimmte Funktionen minimal verändert wurden. Das Forschungsteam wandte sich mit der Frage, wie Nordkorea an den Quellcode eines in Japan hergestellten Antivirus-Produkts gekommen wäre an Trend Micro. Der Anbieter erwiderte daraufhin, dass dies sehr wahrscheinlich auf illegale Art und Weise geschehen sei. Er erwähnte auch, dass die Engine von Trend-Micro-Partnern hätte verwendet werden können, die Schutzlösungen unter ihren eigenen Markennamen vermarkten. Zumindest gibt dies einen Hinweis darauf, wie der Quellcode in die Hände nordkoreanischer Programmierer gelangt sein könnte.
Die Nordkoreaner haben eindeutig versucht, die Tatsache zu vertuschen, dass SiliVaccine auf der Trend-Micro-Engine basiert, indem sie ihrem „eigenen“ Programm jede Menge schmeichelnden Schnickschnack verpasst haben. Auf den ersten Blick scheint es, als würden beide Antivirenprogramme völlig unterschiedliche Prozesse zur Virensignatur verwenden: Trend Micro verwendet eine einzige Signaturdatei, während es bei SiliVaccine stolze 20 sind. Sobald die Engine jedoch hochgefahren wird, verschmelzen all diese Dateien zu einer einzigen Datei. Was die Signaturen selbst betrifft, ähneln sie verdächtig denen von Trend Micro: Wenn der Anbieter beispielsweise die Signatur TROJ_STEAL-1 für bestimmte Malwaretypen verwendet, nutzt SiliVaccine die Bezeichnung Trj.Steal.B. Die Nordkoreaner haben lediglich Groß- und Kleinschreibung der Signatur verändert, Binde- und Unterstriche durch Punkte ersetzt und weitere minimale Änderungen vorgenommen.
Im Rahmen ihrer Untersuchung stieß das Forschungsteam zudem auf eine Reihe von Bugs und Merkwürdigkeiten. So unterstützt das Programm beispielsweise eine Komponente, die angeblich eine Datei auf Viren scannen soll, wenn der Nutzer im Datei-Explorer mit einem Rechtsklick die entsprechende Option im Menü auswählt. Zwar erscheint die Option im Menü, aber auch bei mehrfachem Klicken geschieht rein gar nichts.
Eine weitere Kuriosität: Das Antivirus wird mit einem Treiber geliefert, der Informationen über Netzwerkverbindungen sammelt, diese aber nicht weiter verwendet. Theoretisch sollten andere Dateien auf den Treiber zugreifen, allerdings wird er von keiner anderen SiliVaccine-Datei genutzt.
Einige der Komponenten wurden mithilfe von BopCrypt verschlüsselt; ein Paketverwaltungstool, das vor 15 Jahren in der russischsprachigen Internet-Community beliebt war. Wieder andere Komponenten des nordkoreanischen AVs schienen hauptsächlich aus Junk-Code zu bestehen. Darüber hinaus machte es den Eindruck, dass die Hauptfunktion einiger Dateien darin besteht, bloße Zeit zu verschwenden. Zudem sind die Forscher der Meinung, dass die Autoren einiger SiliVaccine-Komponenten ihr Glück mit Reverse Engineering versucht haben, aber an der genauen Funktionsweise des Codes scheiterten.
Weiterhin macht es den Anschein, als würde Teamarbeit bei den Code-Entwicklern nicht besonders groß geschrieben. So soll eine Datei beispielsweise die Funktion einer anderen mit einem auf einen bestimmten Wert gesetzten Parameter auslösen, während die zweite Datei speziell so programmiert ist, dass sie rein gar nichts tut, wenn dieser Wert aktiviert wird.
Alles in allem erwies sich die nordkoreanische Lösung SiliVaccine als eine sehr überarbeitete und sehr fehlerhafte Version des AV-Programms von Trend Micro.
Könnte es sich um Malware handeln?
Jeder, der mit der externen Internetrichtlinie der DVRK vertraut ist, sollte sich fragen: Was ist, wenn es sich tatsächlich um einen Trojaner handelt? Was, wenn das Produkt entwickelt wurde, um Malware oder Ähnliches einzuschleusen? Auch auf diese Fragen haben Check Points Forscher eine Antwort.
Zunächst scheint das SiliVaccine-Antivirus an sich sauber zu sein. Jedenfalls konnten die Forscher keine Malwarefunktionen finden. Die EXE-Dateien beinhalten jedoch eine Signatur, die die Engine gekonnt ignorieren soll. Sollte also eine gescannte Datei mit Malware dieser Signatur infiziert werden, ignoriert SiliVaccine diese schlichtweg.
Natürlich wollten die Forscher wissen, um welche Art der Malware es sich hierbei genau handelte, und versuchten die Signatur der SiliVaccine-Virenbank mit der entsprechenden Signatur aus der Trend-Micro-Bank zu vergleichen. Dabei stellte sich heraus, dass es sich um eine heuristische Signatur handelte, die allen Dateien zugeordnet wurde, die ein bestimmtes Verhalten zeigten. Aus diesem Grund war es den Experten unmöglich herauszufinden, welche Malware-Datei das nordkoreanische Antivirenprogramm ignorieren sollte, konnten jedoch feststellen, dass die Entwickler von SiliVaccine zu einem bestimmten Zeitpunkt einen Fehler begangen hatten, indem sie eine ungültige Signatur auf die Allowlist gesetzt hatten.
Obwohl das Installationsprogramm von SiliVaccine selbst nicht bösartig war, enthielt das Archiv, das der Bloomberg-Journalist von einem angeblich aus Japan stammenden Unbekannten erhalten hatte, auch eine andere Datei, deren Name darauf hindeutete, dass es sich um einen Patch für SiliVaccine handelte. Die Metadaten hingegen wiesen darauf hin, dass die Datei mit den automatischen Microsoft-Updates zusammenhängt.
Die Check-Point-Forscher analysierten die Datei und kamen zu dem Ergebnis, dass es sich um eine Malware namens Jaku handelte, die erstmals von Forcepoint im Jahr 2016 beschrieben wurde. Laut den von Forcepoint dargelegten Erklärungen wurde Jaku gegen Personen eingesetzt, die auf die eine oder andere Weise mit Nordkorea in Verbindung standen. Zudem ist die Malware ganz klar mit DarkHotel, einer koreanischsprachigen Gruppe, deren Aktivitäten in einer 2014 veröffentlichten Studie behandelt wurden, verknüpft.
Martyn Williams – der Bloomberg-Journalist, dem SiliVaccine übermittelt wurde – schreibt viel über Nordkorea, weshalb die Forscher davon ausgehen, dass die E-Mail mit dem angehängten AV-Programm ein gezielter Angriff auf ihn gewesen sein könnte. Was SiliVaccine betrifft, scheint es sich um ein echtes Antivirenprodukt zu handeln, das in Nordkorea sehr häufig verwendet wird – vermutlich auch deshalb, weil schlichtweg keine besseren Optionen zur Verfügung stehen.