Studie: Cyberkriminelle setzen vermehrt auf Programmiersprache Go

Malware (Bild: Shutterstock.com/Maksim Kabakou)

Sie ist auch bei staatlich unterstützten Hackern beliebt. Für Go sprechen der Netzwerk-Stack und der Support für eine Multiplattform-Kompilierung. Außerdem lässt sich Go-Malware nur schlecht per Reverse Engineering analysieren.

Die Zahl der Malware-Familien, die in der Programmiersprache Go erstellt wurden, hat in den vergangenen Jahren um rund 2000 Prozent zugenommen. Das ist das Ergebnis einer Studie des Cybersicherheitsanbieters Intezer, die die Jahre 2017 bis 2020 erfasst. Sie bestätigt einen allgemeinen Trend weg von C und C++ hin zu der von Google im Jahr 2007 eingeführten Programmiersprache Go.

Die erste Go basierte Schadsoftware wurde 2012 entdeckt. Es dauerte allerdings noch mehrere Jahre, bis Go bei Malware-Autoren Fuß fassen konnte. “Vor 2019 fand man nur selten ein in Go geschriebene Schadsoftware, im Jahr 2019 wurde das zu einem täglichen Phänomen”, heißt es in der Studie von Intezer.

Inzwischen werde Go von Cybercrime-Gangs und auch von staatlich gestützten Hackergruppen, sogenannten APTs, eingesetzt. Selbst Sicherheitsexperten programmierten Werkzeuge für Penetrationstests in Go.

Für den Erfolg von Go bei Cyberkriminellen und Hackern macht die Studie drei Faktoren verantwortlich. Zum einen unterstütze Go eine Verfahren für eine Multiplattform-Kompilierung. Entwickler von Schadprogrammen müssen ihre Code also nur einmal schreiben, um Nutzer beispielsweise unter Windows, Mac und Linux ins Visier nehmen zu können.

Zum anderen ist es laut Intezer schwierig, Go basierte Schadprogramme zu analysieren. Von daher seien die Erkennungsraten für Go basierte Malware sehr gering. Darüber hinaus spreche der Umgang der Programmiersprache mit Netzwerkpaketen und -Anfragen für Go.

“Go verfügt über einen sehr gut geschriebenen Netzwerk-Stack, mit dem sich leicht arbeiten lässt”, erklärte Intezer. “Go hat sich zu einer der Programmiersprachen für die Cloud entwickelt, da viele Cloud-native Anwendungen in dieser Sprache geschrieben wurden. Zum Beispiel sind Docker, Kubernetes, InfluxDB, Traefik, Terraform, CockroachDB, Prometheus und Consul alle in Go geschrieben. Das macht Sinn, wenn man bedenkt, dass einer der Gründe für die Erschaffung von Go darin bestand, eine bessere Sprache zu erfinden, mit der die von Google verwendeten internen C++-Netzwerkdienste ersetzt werden können.”

Malware sei häufig damit beschäftigt, Netzwerkpakete zu senden und zu empfangen, und Go stelle alle dafür benötigten Werkzeuge bereit. “Bei vielen dieser Malware-Familien handelt es sich um Botnets, die auf Linux- und IoT-Geräte abzielen, um entweder Krypto-Miner zu installieren oder den infizierten Rechner in DDoS-Botnets einzubinden. Auch Ransomware wurde bereits in Go geschrieben und scheint immer häufiger zu werden.”

Im vergangenen Jahr setzten unter anderem die russischen Gruppen APT28 und APT29 Go basierte Malware ein. Von China unterstützte Hacker sollen mit der Go basierten Malware Godlike12 Nutzer in Tibet ins Visier genommen haben. Beispiele für Go-Schadprogramme im Bereich Cybercrime sind der Remote Access Trojaner Gosh der Carbanak-Gruppe, die Go-Variante der Malware CryptoStealer und die Ransomware Ekans.