Zeitverzögerte Sabotage: Versteckte Logikbomben in NuGet-Paketen : Neun manipulierte NuGet-Pakete mit eingebauten Sabotagefunktionen gegen Datenbank- und industrielle Steuerungssysteme aktivieren sich erst nach Jahren.
Neun bösartig NuGet-Pakete, die vermeintlich hilfreiche Bibliotheken enthalten, tragen in Wirklichkeit Zeitbomben: hartkodierte oder verschlüsselte Triggerdaten sorgen dafür, dass im August 2027 und November 2028 schädliche Routinen ausgelöst werden. Betroffen sind Entwickler, welche die Pakete bereits 2023 und 2024 installierten.
Die Angriffsmethode ist simpel und bitter: Schadcode wurde in scheinbar harmlosen Bibliotheken für die Microsoft .NET-Plattform versteckt. Die Logikbomben bleiben jahrelang passiv, bis an einem festgelegten Datum schädliche Routinen ausgelöst werden, die entweder Programme zufällig zum Absturz bringen oder Steuerbefehle verfälschen. Das Sicherheitsunternehmen Socket entdeckte diese Pakete – sie wurden 9.488 Mal heruntergeladen. Veröffentlicht wurden sie bereits in den Jahren 2023 beziehungsweise 2024 von einem Nutzer namens „shanhai666“. Weil die Schadfunktionen erst lange nach der Installation aktiv werden, sind Erkennung und forensische Aufklärung deutlich erschwert.
Welche Pakete konkret betroffen sind
Die betroffenen Pakete, wie von den Forschern gelistet, sind:
- MyDbRepository (letzte Aktualisierung am 13. Mai 2023)
- MCDbRepository (letzte Aktualisierung am 5. Juni 2024)
- Sharp7Extend (letzte Aktualisierung am 14. August 2024)
- SqlDbRepository (letzte Aktualisierung am 24. Oktober 2024)
- SqlRepository (letzte Aktualisierung am 25. Oktober 2024)
- SqlUnicornCoreTest (letzte Aktualisierung am 26. Oktober 2024)
- SqlUnicornCore (letzte Aktualisierung am 26. Oktober 2024)
- SqlUnicorn.Core (letzte Aktualisierung am 27. Oktober 2024)
- SqlLiteRepository (letzte Aktualisierung am 28. Oktober 2024)
Alle neun bösartigen Pakete wurden inzwischen aus dem NuGet-Repository entfernt; drei zusätzliche Pakete des gleichen Herausgebers funktionierten ohne Schadfunktion.
Technische Funktionsweise der Logikbomben
Die Angreifer missbrauchen eine eingebaute Funktion von C-sharp, die sogenannten Erweiterungsmethoden. Mit ihnen lassen sich bestehenden Datentypen neue Methoden hinzufügen, ohne den ursprünglichen Quellcode zu ändern. Das bedeutet: Bei jeder Datenbankabfrage oder jedem Zugriff auf einen programmierbaren Logikcontroller wird automatisch zusätzliche, vom Angreifer eingeschleuste Logik mitausgeführt.
In den meisten betroffenen Paketen sind die Auslösezeiten direkt im Code hinterlegt; Sharp7Extend dagegen liest sie aus einer verschlüsselten Konfiguration. Sobald das festgelegte Datum erreicht ist, prüfen die eingeschleusten Routinen die aktuelle Zeit und schalten die Schadfunktionen frei. Mit einer Wahrscheinlichkeit von zwanzig Prozent führt das zu einem sofortigen Beenden der gesamten Anwendung.
Sharp7Extend kommt zusätzlich mit einer Sabotagefunktion Das Paket kann Schreibvorgänge am Steuergerät in achtzig Prozent der Fälle stören. Nach einer zufälligen Wartezeit von dreißig bis neunzig Minuten beginnt diese Sabotage — dann sind sowohl die zufälligen Programmabstürze als auch die Schreibfehler gleichzeitig aktiv.
Sharp7Extend: Gefahr für industrielle Steuerungen
Sharp7Extend richtet sich gezielt an Nutzer der legitimen Sharp7-Bibliothek, die für die Kommunikation mit Siemens S7 programmierbaren Logikcontrollern eingesetzt wird. Socket stuft das Paket als besonders gefährlich ein:
„Das gefährlichste Paket, Sharp7Extend, zielt auf industrielle programmierbare Logikcontroller mit doppelten Sabotagemechanismen: sofortige zufällige Prozessbeendigung und stille Schreibfehler, die dreißig bis neunzig Minuten nach Installation beginnen und sicherheitskritische Systeme in Fertigungsumgebungen beeinträchtigen können“, so der Sicherheitsanalyst Kush Pandya.
Zeitliche Staffelung und taktische Wirkung
Die Pakete sind so programmiert, dass sie zu unterschiedlichen Zeitpunkten aktiv werden: MCDbRepository am 8. August 2027, SqlUnicornCoreTest und SqlUnicornCore am 29. November 2028. Durch diese Staffelung können die Angreifer über Jahre hinweg immer neue Opfer treffen, während die ursprüngliche Infektionsquelle und der Zeitpunkt der Kompromittierung schwer nachzuweisen sind.
„Dieser gestaffelte Ansatz verschafft dem Angreifer ein längeres Zeitfenster, um Opfer zu sammeln, bevor die verzögerte Malware ausgelöst wird, und stört zugleich sofort industrielle Steuerungssysteme“, so Kush Pandya.
Warum forensische Aufklärung schwerfällt
Weil die Schadsoftware erst nach langer Zeit aktiv wird, nur zufällig startet und zusätzlich gut verborgen ist, lässt sich der Angriff kaum zurückverfolgen. Socket warnte deshalb:
„Das macht die Reaktion auf Vorfälle und die forensische Aufklärung nahezu unmöglich. Organisationen können nicht feststellen, wann die Malware eingeschleust wurde, wer die kompromittierte Abhängigkeit installiert hat, oder einen eindeutigen Zeitraum der Kompromittierung bestimmen — die Spur des Angriffs wird damit praktisch ausgelöscht.“
Abwehrmaßnahmen und Handlungsempfehlungen
Entwicklungsteams sollten alle verwendeten Abhängigkeiten regelmäßig überprüfen und die Integrität der Pakete kontrollieren. Besonders Pakete, die Erweiterungsmethoden enthalten, verdienen besondere Aufmerksamkeit. Wichtige Schutzmaßnahmen sind außerdem reproduzierbare Builds, digital signierte Pakete und eine kontinuierliche Prüfung aller Software-Artefakte. Auch das Prinzip der minimalen Rechtevergabe für Produktionssysteme bleibt ein entscheidender Schutzfaktor.
Die entdeckten NuGet-Pakete zeigen ein hohes Maß an technischer Raffinesse. Die Kombination aus missbrauchten Erweiterungsmethoden, zeitverzögertem Schadcode und zufälliger Ausführung ist besonders gefährlich für datenbankgestützte Anwendungen und industrielle Steuerungssysteme. Sicherheitsteams sollten deshalb auch langfristige Risiken in ihren Abhängigkeiten berücksichtigen und Prozesse einführen, die Manipulationen an Bibliotheken frühzeitig erkennen und stoppen.
