Packj – ein Toolkit zur Identifizierung schädlicher Bibliotheken in Python und JavaScript

Die Entwickler der Packj-Plattform, die die Sicherheit von Bibliotheken analysiert, haben ein offenes Befehlszeilen-Toolkit veröffentlicht, das es ihnen ermöglicht, riskante Strukturen in Paketen zu identifizieren, die mit der Umsetzung bösartiger Aktivitäten oder dem Vorhandensein von Schwachstellen zur Durchführung von Angriffen in Verbindung gebracht werden können über Projekte, die die betreffenden Pakete nutzen („Supply Chain“). Die Paketprüfung wird in den Sprachen Python und JavaScript unterstützt und in den PyPi- und NPM-Verzeichnissen gehostet (es ist außerdem geplant, diesen Monat Unterstützung für Ruby und RubyGems hinzuzufügen). Der Toolkit-Code ist in Python geschrieben und wird unter der AGPLv3-Lizenz vertrieben.

Bei der Analyse von 330 Paketen mithilfe der vorgeschlagenen Tools im PyPi-Repository wurden 42 Schadpakete mit Hintertüren und 2.4 riskante Pakete identifiziert. Während der Inspektion wird eine statische Codeanalyse durchgeführt, um API-Funktionen zu identifizieren und das Vorhandensein bekannter Schwachstellen in der OSV-Datenbank zu bewerten. Zur Analyse der API wird das MalOSS-Paket verwendet. Der Paketcode wird auf das Vorhandensein typischer Muster analysiert, die häufig in Malware verwendet werden. Die Vorlagen wurden auf der Grundlage einer Untersuchung von 651 Paketen mit bestätigter bösartiger Aktivität erstellt.

Es identifiziert auch Attribute und Metadaten, die zu einem erhöhten Missbrauchsrisiko führen, wie z. B. das Ausführen von Blöcken über „eval“ oder „exec“, das Generieren von neuem Code zur Laufzeit, die Verwendung verschleierter Codetechniken, die Manipulation von Umgebungsvariablen, nicht zielgerichteter Zugriff auf Dateien usw. Zugriff auf Netzwerkressourcen in Installationsskripten (setup.py), Verwendung von Typesquatting (Zuweisung von Namen, die den Namen beliebter Bibliotheken ähneln), Identifizierung veralteter und aufgegebener Projekte, Angabe nicht vorhandener E-Mails und Websites, Fehlen eines öffentlichen Repositorys mit Code.

Darüber hinaus können wir feststellen, dass andere Sicherheitsforscher fünf Schadpakete im PyPi-Repository identifiziert haben, die den Inhalt von Umgebungsvariablen an einen externen Server gesendet haben, in der Erwartung, Token für AWS und kontinuierliche Integrationssysteme zu stehlen: loglib-modules (dargestellt als Module für die legitime Loglib-Bibliothek), pyg-modules, pygrata und pygrata-utils (angepriesen als Ergänzungen zur legitimen Pyg-Bibliothek) und hkg-sol-utils.

Packj – ein Toolkit zur Identifizierung schädlicher Bibliotheken in Python und JavaScript


Source: opennet.ru

Kommentar hinzufügen