Die Schadsoftware-Kampagne Megalodon hat über 5000 GitHub-Repositories angegriffen. Angreifer kompromittierten automatisierte CI/CD-Workflows.
Eine großflächige Schadsoftware-Kampagne bedroht die Sicherheit von Open-Source-Softwareprojekten durch automatisierte Angriffe auf die Lieferkette. Die Sicherheitsplattform SafeDep dokumentierte eine aggressive Operation, die unter dem Namen Megalodon geführt wird. Innerhalb eines Zeitfensters von nur sechs Stunden an einem Sonntag wurden mehr als 5000 Repositories auf der Entwicklungsplattform GitHub attackiert.
Der Name der Kampagne leitet sich von dem ausgestorbenen Riesenhai ab, da das Ausmaß und die Fähigkeit, sich unbemerkt in der Entwicklerinfrastruktur einzunisten, eine erhebliche Bedrohung darstellen. Der Vorfall folgt auf eine Reihe von anhaltenden Angriffen, die gezielt auf Entwicklerwerkzeuge und Paketregister ausgerichtet sind, um Schadcode tief in die Software-Lieferketten globaler Unternehmen einzuschleusen.
Hacker manipulieren Entwicklungs-Workflows von GitHub
Die Analysten von SafeDep stellten fest, dass sich die Angreifer primär auf die Modifikation von GitHub Actions Workflows konzentrierten. Bei diesen Workflows handelt es sich um automatisierte Skripte, die von Softwareentwicklern eingesetzt werden, um Quellcode kontinuierlich zu erstellen, zu testen und bereitzustellen. Diese Continuous Integration und Continuous Deployment Pipelines, kurz CI/CD-Pipelines, beschleunigen die Softwareauslieferung, indem sie vordefinierte Aufgaben automatisch ausführen, sobald Code aktualisiert wird. Da diese automatisierten Pipelines für ihre Aufgaben oft Zugriff auf hochsensible Zugangsdaten, API-Schlüssel und vertrauenswürdige interne Systeme benötigen, stellen sie ein primäres Ziel für Lieferketten-Angriffe dar.
Durch die Einschleusung von schadhaftem Code in diese Workflows gelang es den Angreifern, eine massenhafte Hintertür in den Repositories zu installieren. Die vergifteten Skripte waren in der Lage, Geheimnisse auszuspähen, den dauerhaften Zugriff zu sichern und die Integrität der gesamten Entwicklungspipeline zu manpzulieren… manipulieren. Der Schadcode wurde automatisch ausgeführt, sobald Entwickler Aktualisierungen hochluden, Pull-Requests zusammenführten oder neue Software-Releases anstießen.
Tarnung durch gefälschte Identitäten
Zur Verschleierung ihrer Aktivitäten und zur Aufrechterhaltung des unbefugten Zugriffs nutzten die Akteure gefälschte Identitäten von automatisierten Systemen sowie ruhende Trigger innerhalb der Workflows. Im Untersuchungsbericht werden spezifische Namen von gefälschten CI-Bots aufgeführt, darunter build-bot, auto-ci, ci-bot und pipeline-bot. Diese Bezeichnungen imitieren legitime Automatisierungswerkzeuge, sodass die bösartigen Aktivitäten in den Protokolldateien für Systemadministratoren schwer zu erkennen sind.
Die Auswirkungen der Megalodon-Kampagne blieben jedoch nicht auf die GitHub-Plattform beschränkt. Die Sicherheitsforscher dokumentierten, dass auch Softwarepakete von Tiledesk betroffen waren, einer quelloffenen Live-Chat-Plattform. Diese kompromittierten Pakete wurden anschließend im JavaScript-Paketregister npm veröffentlicht, wodurch sich die Reichweite des Angriffs drastisch vergrößerte. Insgesamt sieben Versionen von npm-Paketen trugen die integrierte Hintertür, da der zuständige Entwickler die Software direkt aus einem zuvor unbemerkt manipulierten GitHub-Repository heraus veröffentlichte. Die Forscher von SafeDep wiesen darauf hin, dass eine gründliche Überprüfung des Quellcodes diesen Vorfall hätte verhindern können, im Bereich der Paketregister jedoch eine systematische Lücke existiert, da Workflow-Dateien in npm-Paketen in der Praxis selten von Entwicklern kontrolliert werden.
Interner Sicherheitsvorfall bei GitHub vor wenigen Tagen
Die Entdeckung von Megalodon reiht sich in eine Eskalationsstufe von Angriffen auf die weltweite Open-Source-Infrastruktur ein. Erst wenige Tage vor diesem Vorfall bestätigte die Plattform GitHub selbst einen Sicherheitsvorfall in ihren eigenen internen Repositories. Ein Angreifer hatte unbefugten Zugriff erlangt, nachdem das Endgerät eines GitHub-Mitarbeiters durch eine manipulierte Erweiterung für die Entwicklungsumgebung Visual Studio Code kompromittiert worden war. Die Bedrohungsgruppe TeamPCP übernahm im Anschluss die Verantwortung für diesen Einbruch und versuchte, die gestohlenen Daten der internen Repositories auf kriminellen Marktplätzen im Internet zu verkaufen.
Diese Angriffe auf die Fabrik der Softwareherstellung anstelle des fertigen Produkts werden von Cybersicherheitsexperten zunehmend als strukturelles Risiko eingestuft. Boris Cipot, ein leitender Sicherheitsingenieur bei dem IT-Sicherheitsunternehmen Black Duck, ordnete die Situation wie folgt ein: Eine einzige Kompromittierung in Entwicklerwerkzeugen, CI/CD-Pipelines oder Abhängigkeiten kann sich kaskadenartig über Tausende von Organisationen auswirken. Er fügte hinzu, dass Bedrohungsakteure wie TeamPCP ganz bewusst vertrauenswürdige Werkzeuge und Open-Source-Pakete ins Visier nehmen, da diese einen indirekten und oft unüberwachten Zugang zu zahlreichen nachgelagerten Unternehmensumgebungen bieten.
Empfohlene Gegenmaßnahmen für Softwareentwickler
Bislang konnte die Megalodon-Kampagne keiner spezifischen staatlichen oder finanziell motivierten Hackergruppe eindeutig zugeordnet werden. Um das Risiko einer Infektion oder des unbemerktem Datenabflusses zu minimieren, empfehlen Sicherheitsplattformen eine Reihe von sofortigen Schutzmaßnahmen. Unternehmen und unabhängige Entwickler sollten sämtliche GitHub Actions Workflows in ihren Projekten einer detaillierten manuellen Prüfung unterziehen.
Zudem ist es zwingend erforderlich, potenziell offengelegte Geheimnisse, API-Tokens und kryptografische Schlüssel umgehend zu rotieren und ungültig zu machen. Als langfristige Architekturmaßnahme wird empfohlen, die Berechtigungen von automatisierten Workflows strikt nach dem Prinzip der geringsten Rechte zu limitieren, um den potenziellen Schaden bei einer Kompromittierung des Systems effektiv einzugrenzen.