Node.js: Hälfte der NPM-Pakete durch schwache Passwörter verwundbar
Der NPM-Dienst hat vor zwei Wochen Passwörter von Entwicklern zurückgezogen. Jetzt ist klar warum: Ein Hacker konnte schwache Passwörter sammeln und hätte damit wohl die Hälfte des Node-Paket-Systems sowie sehr prominente Pakete infiltrieren können.
Vor zwei Wochen haben die Betreiber des Node-Paketdienstes NPM bekanntgegeben, dass das Team die Passwörter von etwa 1.000 Entwicklern zwangsweise zurückgezogen habe. Grund war das sehr einfache Auffinden dieser Passwörter durch einen unabhängigen Sicherheitsforscher. Dieser beschreibt nun das gesamte Ausmaß seiner Untersuchung. Demnach hätte die Hälfte aller Node-Pakete auf NPM leicht unterwandert werden können.
In der Auswertung, die der Forscher Andreevich auf Github veröffentlichte, heißt es, dass am Ende einer Sammelphase die Zugänge zu etwa 13 Prozent aller Node-Pakete ausfindig gemacht und damit Publikationsrechte bei NPM für die betroffenen Pakete erlangt werden konnten. Wegen des insbesondere bei Node sehr speziellen Systems der Paketabhängigkeiten wären damit laut Andreevich rund 50 Prozent aller NPM-Pakete von dem theoretischen Angriff betroffen.
Der Aufbau von Node und dem NPM-Ökosystem führte in der Vergangenheit bereits mehrfach zu Problemen. So nahm ein Entwickler wegen eines Markenstreits 250 Pakete offline, was enorm viel Builds zerstörte. Ebenso ist bereits ein theoretischer Angriff auf NPM über einen Wurm beschrieben worden.
Schwache und mehrfach genutzte Passwörter
Die Zugangsdaten konnte Andreevich durch vergleichsweise einfache Methoden erhalten. Es wird explizit darauf hingewiesen, dass der NPM-Dienst selbst zu keiner Zeit dafür hätte angegriffen werden müssen. Die betroffenen Entwickler haben schlicht entgegen üblicher Sicherheitserwägungen gehandelt.
So seien etwa Passwörter wie "123456", "123" und "password" genutzt worden, oder schlicht der Nutzername unverändert auch als Passwort. Ein großer Teil der erlangten Daten stammt außerdem aus bereits öffentlich zugänglichen Datenbanken mit bekannten Passwörtern. Einige der Zugangsdaten seien von Andreevich auch über Google oder bei Github aufgefunden worden.
Prominente Pakete betroffen
Die Auswertung zählt einige Pakete auf, für die Andreevich Publikationsrechte erlangen konnte. Vier der betroffenen Pakete seien in den Top-20 von NPM, 40 der betroffenen Nutzer pflegten zudem jeweils Pakete mit mehr als 10 Millionen Downloads im Monat. Pakete von 13 Nutzern hätten gar mehr als 50 Millionen Downloads pro Monat.
Tatsächlich ist die Liste beeindruckend. Darunter befinden sich etwa React und React-Native, Bower, Gulp oder auch Ember, die unter anderem produktiv von Facebook, Twitter, Yahoo und vielen anderen genutzt werden. Betroffen war zudem beispielsweise auch das Paket Express, das nach der Übernahme von Strongloop durch IBM bei der Node.js-Foundation gepflegt wird.
Weitere Details finden sich in der Auswertung. An der Umsetzung einer effektiven Gegenmaßnahme, der Zweifaktorauthentifzierung, wird bei dem NPM-Dienst noch gearbeitet. Besonders schwache Passwörter sind aber nicht mehr zugelassen.
Nicht nur das Node.js Pakete im Mittel nach einem halben Jahr als veraltet gelten und...
Das war eher als Anregung für npm gedacht. In besagter Github Installation sind in erster...
Das Problem bei statischen Abhängigkeiten, die also z.B. im git miteingecheckt werden...