Confusion Attack: Microsoft warnt vor einfacher Übernahme interner Pakete
Die ständig komplizierter werdende Software-Entwicklung mit vielen verschiedenen Paketen aus den Quellen der Programmiersprachen schafft offenbar auch die Möglichkeit immer neuer Angriffe. So warnt Microsoft nun vor einer neuen Methode, die Confusion Attack oder Substitution Attack genannt wird und vom Sicherheitsforscher Alex Birsan bereits erfolgreich getestet wurde. Birsan hat eigenen Angaben zufolge(öffnet im neuen Fenster) damit Schwachstellen in 35 großen IT-Unternehmen gefunden und ist erfolgreich in deren Infrastruktur vorgedrungen. Darunter waren Apple, Microsoft, Paypal, Netflix und viele andere.
Die Idee ist dabei recht einfach erklärt: In vielen Software-Projekten wird eine Mischung aus Paketabhängigkeiten genutzt, die entweder intern selbst gepflegt werden oder aus den öffentlichen Paketquellen stammen wie Maven, NPM, Nuget, Pypi oder auch Rubygems und Ähnlichen. Sind die Namen der internen Pakete bekannt, können Angreifer gleichnamige Pakete mit Schadsoftware in den öffentlichen Paketquellen anlegen. Je nach Projektkonfiguration und genutzten Werkzeugen kann es dann passieren, dass die Pakete mit Schadsoftware automatisiert als Abhängigkeiten installiert werden und somit Schadsoftware in das eigene Projekt und eigene Infrastruktur gelangt.
Erklärung und Tipps zur Abhilfe von Microsoft
Auf Grundlage dieser Erkenntnisse hat Microsoft nun ein White Paper veröffentlicht(öffnet im neuen Fenster), in dem die Methode ausführlich für unterschiedliche Paketquellen beschrieben wird. Prinzipiell davon betroffen sein könnten auch weiter von Unternehmen selbst erstellte Quellen. So war der Angriff etwa auch auf Microsofts Azure Artifacts erfolgreich.
In dem White Paper beschreibt Microsoft außerdem eine Reihe von Maßnahmen gegen diesen Angriff. So könnten ausschließlich private Feeds genutzt werden, so dass die gleichnamigen Paketnamen auffallen würden. Ebenso lässt sich mit sogenannten Scopes gezielt festlegen, aus welcher Quelle einzelne Pakete genutzt werden sollen. Das soll die versehentliche Nutzung aus einer anderen Quelle verhindern. Letztlich könnten die Pakete auch verifiziert werden, indem einfach überprüft wird, ob das beim Build installierte Paket dem tatsächlich gewünschten entspricht.
Bereits in der Vergangenheit haben ähnlich einfache Vorgänge und Angriffe gezeigt, wie anfällig die Nutzung zahlreicher externe Pakete sein kann. Dazu gehört etwa das sogenannte Typosquatting(öffnet im neuen Fenster), in dem Pakete mit leicht ähnlichen Namen und schnell erstellten Tippfehlern als Schadsoftware in den Quellen hochgeladen werden. Ebenso ist schwer überprüfbar, ob Abhängigkeiten gepflegt werden und was passiert, wenn deren Betreuer abtreten. So sind schon beliebte Pakete verschwunden wie left-pad, aber auch Schadsoftware verteilt worden wie bei event-stream.
- Anzeige Hier geht es zu Hacking & Security: Das umfassende Handbuch bei Amazon Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.