"Freundliche Übernahme": Security-Experte kapert npm-Account "foreach" – nicht

GitHub kündigt erweiterte 2FA-Absicherung für npm-Accounts an. Zuvor sei der Account hinter dem Package foreach von einer Übernahme bedroht gewesen.

In Pocket speichern vorlesen Druckansicht 13 Kommentare lesen
The,Food,Delivery,Man,Passes,The,Craft,Package,To,The

(Bild: buryakphoto/Shutterstock.com)

Lesezeit: 4 Min.

In einem Tweet verkündete der Security-Consultant Lance R. Vick zum Wochenauftakt, er habe die Kontrolle über "foreach und die 36826 davon abhängigen Projekte" auf der Paketmanagerplattform npm übernommen. Das Paket weist laut npmjs.com zwar nur gut 140 Dependents auf, ist mit zuletzt knapp sechs Millionen wöchentlichen Downloads aber doch sehr gefragt. Insbesondere JavaScript-Entwicklerinnen und -Entwickler nutzen foreach häufig, um über Schlüssel-Werte-Paare Array-ähnlicher oder wörterbuchartiger Objekte zu iterieren.

Die mutmaßliche Übernahme des npm-Accounts inszenierte Vick jedoch in erster Linie, um die Aufmerksamkeit auf potenzielle Schwachstellen bei der Absicherung von Accounts auf npm und die damit verbundenen Packages zu lenken. Gegenüber einschlägigen Medien versicherte er, den entscheidenden Schritt zum Kapern des Accounts nie vollzogen zu haben. Die Möglichkeit dazu habe sich ihm jedoch eröffnet, da hinter foreach nur ein einzelner Maintainer stehe und die Domain zu der mit dem npm-Account verknüpften E-Mail abgelaufen gewesen sei, sodass Vick sich diese habe sichern können. Anschließend habe er eine Passwort-Reset-Anfrage gestellt, dann jedoch keine weiteren Maßnahmen ergriffen, die Kontrolle tatsächlich zu übernehmen.

Vance knüpft mit der jüngsten Aktion an frühere Bemühungen an, die Verantwortlichen bei npm auf verschiedene Schwachstellen im System des Paketmanagers hinzuweisen und zu deren Beseitigung zu drängen. Das betreffe sowohl Code Signing wie auch eine phishing-resistente Implementierung der Zwei-Faktor-Authentifizierung (2FA) für Accounts und Packages.

Wie der im Fokus des aktuellen Angriffs stehende Maintainer hinter foreach gegenüber heise Developer bestätigte, habe zu keiner Zeit eine Gefahr für das Package bestanden. Zwar sei in der Datei package.json des foreach-GitHub-Repos eine veraltete E-Mail hinterlegt gewesen – verknüpft mit einer vom Maintainer nicht mehr verwalteten Domain –, diese stehe allerdings schon lange nicht mehr mit dem npm-Account in Verbindung. Zudem nutze er auf npmjs.com bereits Zwei-Faktor-Authentifizierung und habe für alle von ihm verwalteten Packages den Einsatz von 2FA beim Publizieren zur Pflicht gemacht.

Ob nur zufällig zeitgleich oder als Reaktion auf den Vorstoß des Security-Experten gab GitHub nun auch erweiterte Konfigurationsoptionen für die erstmals 2017 eingeführte 2FA bei npm-Accounts bekannt – zunächst als öffentliche Betaversion. Damit knüpft der Code-Hoster an seine Bemühungen an, Zwei-Faktor-Authentifizierung bis Ende 2023 verpflichtend zu machen und so zu einer sichereren Software Supply Chain beizutragen. Die von GitHub angekündigten Neuerungen sehen unter anderem vor, mehrere Sicherheitsschlüssel, biometrische Geräte und Authentifizierungsanwendungen als zweiten Faktor zu registrieren. Ein neues 2FA-Konfigurationsmenü soll das Verwalten von Schlüsseln und Recovery-Codes ermöglichen. Darüber hinaus sollen sich Nutzerinnen und Nutzer ab npm 6 sowohl beim Einloggen sowie beim Publizieren über die Kommandozeile biometrisch oder mit physikalischen Sicherheitsschlüsseln authentifizieren können.

Angriffe auf die Software Supply Chain durch unzulängliche Absicherung von Nutzer-Accounts oder in Open-Source-Paketen eingeschleusten Schadcode bringen Paketmanager wie npm, aber auch PyPi und andere immer wieder in die Schlagzeilen. So hatte erst kürzlich Aquasecs Team Nautilus auf eine als "Package Planting" bezeichnete Lücke in den administrativen Einstellungen von npm hingewiesen, die es Angreifern ermöglicht, mit Schadcode präparierte Pakete als legitim zu platzieren und Entwicklerinnen und Entwickler dadurch zu deren Installation zu verleiten. Um das Aufspüren verdächtiger Pakete auf npm, PyPI und Co zu erleichtern, hat die Open Source Security Foundation (OpenSSF) das neue Projekt Package Analysis gestartet. Auf der Basis von Package Feeds bündelt das Werkzeug verschiedene Komponenten, mit denen sich die Änderungen auf Paketmanagern nachverfolgen und analysieren lassen.

(map)