Python Package Index (PyPI) Ziel eines Angriffs auf die Lieferkette
ReversingLabs hat einen neuartigen Angriff auf den Python Package Index (PyPI) aufgedeckt. Bei dieser Angriffsmethode wird Malware in kompilierten Code integriert, wobei die direkten Ausführungsmöglichkeiten von Python-Bytecode-Dateien (PYC) ausgenutzt werden. Durch die Nutzung von PYC-Dateien sind die Angreifer in der Lage, die Erkennung durch Sicherheitssysteme zu umgehen, die sich in erster Linie auf die Untersuchung von Quellcode-Dateien konzentrieren.
Karlo Zanki, Reverse Engineer bei ReversingLabs, hob die Bedeutung dieses Angriffs auf die Lieferkette hervor, da es sich um die erste bekannte Ausnutzung der Ausführung von PYC-Dateien handelt. Dies stellt eine ernsthafte Bedrohung für die allgemeine Sicherheit der Software-Lieferkette dar. Der Angriff auf PyPI ist Teil eines breiteren Trends, bei dem verschiedene Open-Source-Code-Repositories wie GitHub, NPM und RubyGems ebenfalls ins Visier genommen werden. Die Angreifer versuchen, schädlichen Code in Pakete einzuschleusen, in der Hoffnung, dass Entwickler ihn unwissentlich in ihre Softwareprodukte einbauen.
ReversingLabs nannte diese neue Angriffsmethode "fshec2". Seine Entdeckung hat die Möglichkeit weiterer nicht gemeldeter Angriffe auf PyPI aufgezeigt. Das PyPI-Sicherheitsteam hat sofort gehandelt und den fshec2-Angriff von der Plattform entfernt. Die PyPI-Forscher haben jedoch die ungewöhnlichen Merkmale des Angriffs anerkannt und davor gewarnt, dass ähnliche Methoden in Zukunft von anderen Angreifern verwendet werden könnten.
Während ihrer Untersuchung identifizierte ReversingLabs durch standardmäßige Repository-Suchen besondere Merkmale und Verhaltensweisen in fshec2. Während die ersten beiden Dateien innerhalb des Pakets keine Bedeutung hatten, wurden die Forscher durch die dritte Datei namens full.pyc neugierig. Im Gegensatz zu früheren PyPI-Angriffen, die sich auf Verschleierungstechniken stützen, um Malware zu verbergen, kapselte fshec2 den gesamten gefährlichen Code und die Funktionen in einer einzigen Datei ein, die generierten Python-Bytecode enthält. Diese Abweichung von herkömmlichen Angriffsmethoden stellt eine größere Herausforderung für die Erkennung dar.
Bei näherer Betrachtung der Datei full.pyc entdeckten die Forscher eine Methode namens "get_path", die bösartige Aktionen durchführte, einschließlich der Extraktion sensibler Informationen wie Benutzernamen, Hostnamen und Verzeichnislisten. Das Bytecode-Format der Datei machte sie jedoch für herkömmliche Inspektionswerkzeuge wie PyPIs Inspector unlesbar. Um den Inhalt zu bewerten und das verdächtige und schädliche Verhalten aufzudecken, musste der kompilierte Code aus der Datei.pyc dekompiliert werden.
Dieser neu entdeckte Exploit unterstreicht die Bedeutung der Identifizierung bösartiger Funktionen wie "get_path" sowohl für Sicherheitsteams als auch für DevSecOps. Viele Sicherheitslösungen sind derzeit nicht in der Lage, den Quellcode während der Inspektion von Paketen auszuwerten, sodass Malware, die in mit Python generiertem Bytecode eingebettet ist, unentdeckt bleibt.
Als Reaktion darauf führte PyPI mehrere Initiativen ein, die darauf abzielen, seine Verteidigungsmaßnahmen zu verstärken. Zu diesen Maßnahmen gehören die Entfernung der standardmäßigen PGP-Signaturunterstützung, eine Sicherheitspartnerschaft mit Amazon Web Services und die Einführung einer obligatorischen Zwei-Faktor-Authentifizierung für alle Konten.
Zu den Quellen für diesen Beitrag gehört ein Artikel in TheRegister.


