Es wurde ein Analysegerät veröffentlicht, das 200 Schadpakete in NPM und PyPI identifizierte

Die von der Linux Foundation gegründete OpenSSF (Open Source Security Foundation) mit dem Ziel, die Sicherheit von Open-Source-Software zu verbessern, hat das offene Projekt Package Analysis ins Leben gerufen, das ein System zur Analyse des Vorhandenseins von Schadcode in Paketen entwickelt. Der Projektcode ist in Go geschrieben und wird unter der Apache 2.0-Lizenz vertrieben. Ein vorläufiger Scan der NPM- und PyPI-Repositorys mit den vorgeschlagenen Tools ermöglichte es uns, mehr als 200 bisher unentdeckte Schadpakete zu identifizieren.

Der Großteil der identifizierten problematischen Pakete manipuliert die Überschneidung von Namen mit internen, nicht öffentlichen Abhängigkeiten von Projekten (Abhängigkeitsverwirrungsangriff) oder verwendet Typosquatting-Methoden (Zuweisung von Namen, die den Namen beliebter Bibliotheken ähneln) und ruft auch Skripte auf, die dabei auf externe Hosts zugreifen den Installationsvorgang. Laut den Entwicklern von Package Analysis wurden die meisten der identifizierten problematischen Pakete höchstwahrscheinlich von Sicherheitsforschern erstellt, die an Bug-Bounty-Programmen beteiligt waren, da die gesendeten Daten auf den Benutzer- und Systemnamen beschränkt sind und die Aktionen explizit und ohne Versuche ausgeführt werden ihr Verhalten verbergen.

Zu den Paketen mit böswilliger Aktivität gehören:

  • PyPI-Paket discordcmd, das das Senden atypischer Anfragen an raw.githubusercontent.com, Discord API und ipinfo.io aufzeichnet. Das angegebene Paket lud den Backdoor-Code von GitHub herunter und installierte ihn im Discord-Windows-Clientverzeichnis. Anschließend begann es mit der Suche nach Discord-Tokens im Dateisystem und dem Senden dieser an einen externen Discord-Server, der von den Angreifern kontrolliert wird.
  • Das NPM-Paket „colorsss“ hat auch versucht, Token von einem Discord-Konto an einen externen Server zu senden.
  • NPM-Paket @roku-web-core/ajax – während des Installationsprozesses wurden Daten über das System gesendet und ein Handler (Reverse-Shell) gestartet, der externe Verbindungen akzeptierte und Befehle startete.
  • PyPI-Paket secrev three – beim Importieren eines bestimmten Moduls eine Reverse-Shell gestartet.
  • Zufallsgutscheincode-Generator des NPM-Pakets – nach dem Import der Bibliothek wurde eine Anfrage an einen externen Server gesendet, der den Befehl und den Zeitpunkt zurückgab, zu dem er ausgeführt werden sollte.

Bei der Paketanalyse geht es darum, Codepakete im Quellcode zu analysieren, um Netzwerkverbindungen herzustellen, auf Dateien zuzugreifen und Befehle auszuführen. Darüber hinaus werden Änderungen im Status von Paketen überwacht, um festzustellen, ob einer der Versionen zunächst harmloser Software schädliche Einfügungen hinzugefügt wurden. Um das Erscheinen neuer Pakete in Repositorys zu überwachen und Änderungen an zuvor veröffentlichten Paketen vorzunehmen, wird das Package Feeds-Toolkit verwendet, das die Arbeit mit den Repositorys NPM, PyPI, Go, RubyGems, Packagist, NuGet und Crate vereinheitlicht.

Die Paketanalyse umfasst drei Grundkomponenten, die sowohl zusammen als auch separat verwendet werden können:

  • Planer zum Starten von Paketanalysearbeiten basierend auf Daten aus Paket-Feeds.
  • Ein Analysator, der ein Paket direkt untersucht und sein Verhalten mithilfe statischer Analyse- und dynamischer Ablaufverfolgungstechniken bewertet. Der Test wird in einer isolierten Umgebung durchgeführt.
  • Ein Loader, der die Testergebnisse im BigQuery-Speicher ablegt.

Source: opennet.ru

Kommentar hinzufügen