Das Unternehmen GitHub hat die Ergebnisse der Untersuchung eines Angriffs veröffentlicht, durch den am 12. April Angreifer Zugriff auf die Cloud-Umgebungen des Amazon AWS-Dienstes erlangten, die in der Infrastruktur des NPM-Projekts verwendet werden. Die Analyse des Vorfalls zeigte, dass die Angreifer Zugriff auf Backups des Hosts skimdb.npmjs.com hatten, einschließlich einer Datenbankkopie mit den Zugangsdaten von etwa 100.000 NPM-Nutzern aus dem Jahr 2015, die Passwort-Hashes, Namen und E-Mail-Adressen enthalten.
Die Passwort-Hashes wurden unter Verwendung der Algorithmen PBKDF2 oder SHA1 mit Salt erstellt, die 2017 durch das widerstandsfähigere bcrypt ersetzt wurden. Nach Bekanntwerden des Vorfalls wurden die betroffenen Passwörter zurückgesetzt und die Benutzer erhielten eine Benachrichtigung über die Notwendigkeit, ein neues Passwort festzulegen. Da seit dem 1. März in NPM die verpflichtende Zwei-Faktor-Authentifizierung mit Bestätigung per E-Mail aktiviert ist, wird die Gefahr einer Kompromittierung der Benutzer als gering eingeschätzt.
Darüber hinaus gelangten die Angreifer an alle Manifestdateien und Metadaten privater Pakete im Stand von April 2021, CSV-Dateien mit der aktuellen Liste aller Namen und Versionen privater Pakete sowie den Inhalt aller privater Pakete von zwei GitHub-Kunden (Namen werden nicht genannt). Was das Repository selbst betrifft, so ergab die Analyse der Spuren und die Überprüfung der Paket-Hashes, dass die Angreifer keine Änderungen an den NPM-Paketen vorgenommen oder gefälschte neue Versionen von Paketen veröffentlicht haben.
Der Angriff erfolgte am 12. April unter Verwendung gestohlener OAuth-Token, die für zwei Drittanbieter-GitHub-Integrationen – Heroku und Travis-CI – generiert wurden. Durch die Nutzung der Tokens konnten die Angreifer einen Schlüssel für den Zugriff auf die API von Amazon Web Services extrahieren, der in der Infrastruktur des NPM-Projekts verwendet wurde. Der erhaltene Schlüssel ermöglichte den Zugriff auf die in dem AWS S3-Dienst gespeicherten Daten.
Zusätzlich wurden Informationen über zuvor identifizierte schwerwiegende Datenschutzprobleme bei der Verarbeitung von Nutzerdaten offenbart. Servern In den internen Protokollen von NPM wurden die Passwörter einiger NPM-Benutzer und auch Zugangstoken zu NPM im Klartext gespeichert. Bei der Integration von NPM in das GitHub-Protokollierungssystem versäumten es die Entwickler, vertrauliche Informationen aus den in die Protokolle aufgenommenen Anfragen an die NPM-Dienste herauszufiltern. Es wird behauptet, dass dieser Mangel behoben wurde und die Protokolle noch vor dem Angriff auf NPM gelöscht wurden. Nur ausgewählte Mitarbeiter von GitHub hatten Zugang zu den Protokollen, die die offenen Passwörter enthielten.
Quelle: opennet.ru
