NPM JS: Paketmanager setzt nach Sicherheitsproblemen auf Zwei-Faktor-Authentifizierung

17.07.2018
G DATA Blog

Nutzer sollten für jeden Dienst ein eigenes Passwort verwenden. Weil ein Projektverwalter diese wichtige Grundregel nicht beachtete, konnten Angreifer manipulierte Pakete beim Paketmanager NPM JS hochladen.

Bei dem Paketmanager NPM JS konnten Angreifer Schadcode hochladen, nachdem sie über ein doppelt verwendetes Passwort Zugang zu einem Projektaccount hatten – vermutlich wollten sie weitere Nutzer ausspionieren. Die Betreiber des Paketmanagers haben auf die Berichte über den kompromittierten Zugang reagiert und alle Access-Tokens zurückgezogen, die vor 16:30 Uhr am 12. Juli 2018 ausgegeben wurden. Alle etwa 4500 betroffenen Nutzer des Dienstes müssen sich nun erneut authentifizieren.

Betroffen war ein Account des Projektes ESLint, ein Paket zur statischen Codeanalyse. NPM JS ist ein von vielen Organisationen verwendeter Paketmanager für Javascript-Bibliotheken. Darunter sind bei Entwicklern populäre Bibliotheken und Frameworks wie jQuery, Bootstrap, React und Angular sowie das Web-Application-Framework Ember. Ein erfolgreicher Angriff auf einen Paketmanager hat potenziell weitreichende Folgen, weil der Schadcode dann über einen vertrauenswürdigen Kanal auf viele Rechner gespielt wird. Wenn dann noch Entwicklerbibliotheken infiziert werden, kann sich die Schadsoftware weiter in Endanwender-Programme vererben, wie es bei der manipulierten Xcode-Version für die Entwicklung von iOS-Apps geschehen ist.

Mit dem kompromittierten Account wurde nach Darstellung von NPM Updates der folgenden Pakete veröffentlicht: eslint-scope@3.7, babel-eslint und webpack. Die betroffenen Pakete wurden mittlerweile von NPM JS zurückgezogen. In ihnen ist Schadcode enthalten, mit dem vermutlich weitere NPM-Nutzer ausspioniert werden sollten. Nach einer ersten Analyse von NPM konnten Zugangstoken von rund 4500 Accounts ausspioniert werden, bevor der Fehler gefunden und behoben wurde. Mit einer detaillierten forensischen Analyse soll geklärt werden, ob doch noch weitere Accounts betroffen sind oder an anderer Stelle irregulär Code in Projekte eingeschleust wurde.

Kein Datenleck bei NPM

Die Macher des Projekts geben an, dass der Vorfall nicht auf ein Datenleck bei NPM selbst zurückzuführen sei. Vielmehr seien Zugangsdaten eines Accounts an anderer Stelle öffentlich geworden und dann missbraucht worden. ESLint schreibt, dass der zuständige Projekt-Maintainer sein Passwort mehrfach auf verschiedenen Seiten verwendet hatte. Das Projekt fordert alle Accountinhaber auf, künftig Zwei-Faktor-Authentifizierung zu verwenden, um ähnliche Probleme in der Zukunft zu vermeiden.

„Zwei-Faktor-Authentifizierung ist eine der wichtigsten Sicherheitsmaßnahmen – für Privatleute, aber besonders im Unternehmensumfeld“, sagt G DATA Security Evangelist Tim Berghoff. „Selbst wenn Zugangsdaten zu einem Account ausspioniert wurden, ist ein Zugriff in diesem Fall nicht möglich. Gerade wichtige Infrastruktur wie ein Paketmanager sollte besonders gut abgesichert werden.“ Zwei-Faktor-Authentifizierung lässt sich entweder über Smartphone-Apps realisieren. Alternativ können auch Hardwareschlüssel verwendet werden, die zur Anmeldung per USB-Port mit dem Rechner verbunden werden.

Wichtige IT-Security-News per E-Mail

  • Aktuelle IT-Gefahren
  • Schutz-Tipps für Privatkunden
  • 15 % Willkommensgutschein