Erneut manipulierte Pakete auf PyPI

PyPI ist Das offizielle Repository für Python-Softwarepakete ist PyPI und somit zentral für Phython-Entwickler.

CloudGuard Spectral’s Sicherheitsexperten haben wieder ein Phishing-Konto auf PyPI entdeckt. Einem Hacker waren Benutzer ausgesetzt, die die Pakete dieses Kontos installierten. Hier handelt es sich sehr wahrscheinlich um einen PII-Dieb. 

Für Softwarepakete der Programmiersprache Python ist das offizielle Repository PyPI (Python Package Index). Auf dieser zentralen Plattform können Python-Entwickler ihre Open-Source-Pakete für Python finden, installieren und mit anderen teilen.

Ein Paket in PyPI kann jeder hochladen, solange dieses Paket bestimmte Anforderungen und Richtlinien erfüllt. Daraus wollten Cyberkriminelle nun über Phishing-Methoden einen Nutzen ziehen und private Informationen ihrer Opfer erbeuten. Bereits zum zweiten Mal innerhalb eines Monats entdeckten Experten verseuchte Pakete auf PyPI.

Das Herunterladen funktionierte mithilfe eines verdeckt-verschleierten Codes

Check Point konnte die betrügerischen Pakete mithilfe maschineller Lernmodelle, die vorgaben Hilfsprogramme zu sein, auf PyPI erkennen. Im Rahmen ihres Installationsprozesses luden sie heimlich verschleierten Code herunter und führten diesen dann aus. Damit der Schwindel für diejenigen, die auf PyPI nach verseuchten Paketen suchen, weniger sichtbar ist hat der Angreifer wahrscheinlich zusätzlich verschiedene Versionen desselben Pakets mit leichten Änderungen veröffentlicht. Zu den entdeckten Paketen stehen viele Details noch aus.

Die Aufmerksamkeit der Experten erregte zuerst das Paket aiotoolsbox. 

„aio“ steht hierbei für „all in one“. Es bezeichnet ein Paket, das unterschiedliche Funktionen zur Systemoptimierung auf Android bietet, wie die Verbesserung der Batterieleistung oder das Löschen von Junk-Dateien. 

Das verdächtige Paket entpuppte sich, trotz zuerst harmlosen Eindrucks, als eine exakte Kopie des legitimen Pakets aiotools. Die Verwendung von Paketnamen, die beliebten und gutartigen Namen ähneln, um die Benutzer zur Installation der bösartigen Pakete zu verleiten, das sogenannte Typosquatting, ist eine häufig beobachtete Angriffsmethode gegen Lieferketten. Die Anfertigung einer identischen Kopie des gutartigen Pakets ist gleichzeitig eher in der Phishing-Welt anzutreffen. Ein solcher Aufwand kann Ein solcher Aufwand würde für eine gewitzte Kampagne sprechen, da sie bedenkt, dass die Nutzer vermutlich einen zweiten Blick auf die Pakete werfen, die sie gerade installieren wollen.

Angreifer imitieren Autorenfeld

Bei genauem Hinsehen in die Metadaten der Pakete zeigt sich, dass beide zwar denselben Autor haben, aber einen anderen Betreuer. 

Das PyPI-Paketveröffentlichungsprotokoll zeigt, dass die Autorenfelder Freitext sind, authentifizierter Benutzer der Betreuer sein muss. Das Autorenfeld konnte vom Angreifer daher leicht imitiert werden, während er sich etwas anderes für die Betreuerfelder einfallen lassen musste. 

Ein mit pyArmor verschleierter Code, der es schwierig macht, die bösartige Absicht zu erkennen, wurde durch ein genaues In-Augenschein-nehmen der heruntergeladenen Zip-Datei deutlich. Man kann davon ausgehen, dass es sich bei dem Paket um einen PII-Diebstahl handelt, der die Absicht hat, Informationen des Nutzers zu sammeln und zu stehlen. Dies wird jedoch erst sichtbar, wenn man sich die Namen der heruntergeladenen Dateien ansieht.

Wenn man nach früheren Versionen von aiotoolsbox sucht, stellt man zudem fest, dass dieses mehrfach mit unterschiedlichen Versionen hochgeladen wurde (zuerst 1.4.7 und erst dann 1.4.5 und 1.4.6, die Struktur jedoch ist dieselbe. In der verwendeten Server-IP und in der Datei setup.py liegt hier der einzige Unterschied. Dass die erste Version eine russische IP war, während die spätere Version aus Deutschland stammte, ergab die Überprüfung der IP-Details. Es handelt sich wahrscheinlich um eine zusätzliche Verschleierung, da eine russische IP als alarmierender gilt als eine deutsche.

Aufgrund der zunehmenden Häufigkeit von Angriffen gegen Lieferketten ist es unbedingt nötig, sich zu schützen, indem Benutzer von PyPI alle die von ihnen verwendeten Software-Bestandteile eingehend zu prüfen, besonders jene die nicht von ihnen selbst entwickelt wurden.