npm als Malware-Schleuder: GitHub kontrolliert Pakete vorab


GitHub führt eine zusätzliche Sicherheitskontrolle für die Paketverwaltung npm ein. Neu veröffentlichte Softwarepakete werden automatisch auf Schadcode geprüft und erst danach zur Installation freigegeben. Verdächtige Pakete können zurückgehalten oder vollständig blockiert werden.

Eine Art App-Store für Programmierer

Npm ist eine Paketverwaltung und ein öffentliches Softwareverzeichnis, das vor allem im Umfeld der Programmiersprache JavaScript und der Laufzeitumgebung Node.js verwendet wird. Entwickler können darüber fertige Programmbestandteile veröffentlichen und in eigene Anwendungen einbinden.

Statt jede Funktion selbst programmieren zu müssen, lassen sich über npm beispielsweise Bibliotheken für Datenbanken, Benutzeroberflächen, Verschlüsselung oder die Kommunikation mit Servern installieren. Das öffentliche npm-Verzeichnis umfasst nach Angaben des Betreibers mehr als zwei Millionen solcher Pakete und gilt als größtes Softwareverzeichnis seiner Art.

Diese starke Verbreitung macht npm zugleich zu einem attraktiven Ziel für Angriffe auf die Software-Lieferkette. Gelingt es Angreifern, ein beliebtes Paket oder das Konto eines Entwicklers zu übernehmen, kann manipulierter Code über zahlreiche nachgelagerte Anwendungen verteilt werden.

Prüfung verzögert die Veröffentlichung

Wie GitHub im offiziellen Changelog erklärt, werden neue Pakete künftig untersucht, bevor sie über npm installiert werden können. Abhängig vom Ergebnis wird eine Veröffentlichung normal freigegeben, zur manuellen Überprüfung zurückgehalten oder blockiert.

Dadurch entsteht zwischen dem Hochladen eines Pakets und seiner Verfügbarkeit eine kurze Verzögerung. Im Regelfall soll die Prüfung etwa fünf Minuten dauern. Bei hoher Auslastung sowie besonders großen oder auffälligen Paketen können daraus laut GitHub 15 Minuten oder mehr werden.

Entwickler, deren automatisierte Abläufe unmittelbar nach einer Veröffentlichung auf die neue Paketversion zugreifen, müssen diese Verzögerung künftig berücksichtigen. Wird ein Paket blockiert, kann der Herausgeber darüber benachrichtigt werden und Einspruch gegen die Entscheidung einlegen. Abhängig von Schwere und Zuverlässigkeit des Fundes sind außerdem Maßnahmen gegen die zugehörigen Entwicklerkonten möglich.

Sonderregeln für Sicherheitswerkzeuge

Eine Herausforderung für automatische Malware-Scanner stellen Programme dar, die sowohl legitim als auch für Angriffe eingesetzt werden können. Dazu gehören beispielsweise Werkzeuge für Penetrationstests, Sicherheitsanalysen oder die Untersuchung von Schadsoftware. Ihr Verhalten kann dem tatsächlicher Malware ähneln, obwohl sie zu Forschungs- oder Testzwecken veröffentlicht werden.

Für solche sogenannten Dual-Use-Pakete führt npm deshalb das neue Feld „contentPolicy“ ein. Zusätzlich müssen Entwickler eine Textdatei namens „DISCLOSURE“ beilegen, in der sie die sicherheitsrelevanten Funktionen und den vorgesehenen legitimen Einsatzzweck beschreiben.

Die Kennzeichnung garantiert allerdings keine Freigabe. Npm kann zusätzliche Prüfungen durchführen und einzelne Pakete durch das Trust-&-Safety-Team kontrollieren lassen. Dual-Use-Pakete dürfen zudem nur über Veröffentlichungsmethoden eingereicht werden, bei denen eine Zwei-Faktor-Authentifizierung vorgeschrieben ist.

Die neue Malware-Prüfung ist Teil einer Reihe von Maßnahmen, mit denen GitHub Angriffe auf die Software-Lieferkette erschweren will. Dazu gehören auch verzögerte automatische Paketaktualisierungen und strengere Vorgaben für Installationsskripte. Diese Skripte werden von Angreifern genutzt, um Schadcode bereits beim Installieren eines manipulierten Pakets auszuführen.



Source link

Leave a Comment