Schadcode in offiziellem Python-Repository entdeckt
[ad_1]
Bis vor kurzem hätte ein Tippfehler genügt, um sich bei der Python-Programmierung Malware einzufangen. Schadcode im Paket-Repository PyPI baute auf solche Flüchtigkeitsfehler, um Informationen zu stehlen. Nun wurde er entfernt.
Das offizielle Paket-Repository der Programmiersprache Python (Python Package Index, kurz: PyPI) enthielt bis vor kurzem mehrere mit Schadcode präparierte Code-Packages, die sich in der Namensgebung nur minimal von bekannten, häufig verwendeten Bibliotheken unterschieden. Darauf wies das slowakische CERT (SK-CSIRT) am vergangenen Donnerstag hin.
Demnach wurden die von Unbekannten im Repository platzierten Packages zwischen Juni und September dieses Jahres mehrfach von Entwicklern heruntergeladen und installiert. Das CERT informierte das PyPI-Team, welches die Packages noch vor Veröffentlichung von dessen Stellungnahme entfernte.
Das SK-CSIRT veröffentlichte eine Liste mit insgesamt 10 Code-Packages mit abgewandelten Bezeichnungen wie “crypt” statt “crypto”, “pwd” statt “pwdhash” oder “urllib” statt “urllib3”. Die Autoren des präparierten Codes setzten auf Tippfehler von Entwicklern beim Package-Download. Diese bereits seit längerem bekannte Strategie bezeichnet man auch als Typosquatting.
Die Opfer kamen im aktuellen Fall allerdings nochmal mit einem blauen Auge davon: Laut SK-CSIRT enthielten die – ansonsten mit den Originalen identischen – Packages ein modifiziertes setup.py-Skript, das lediglich Name und Version des Packages, den Nutzernamen des Entwicklers sowie dessen Hostnamen an eine chinesische IP-Adresse verschickte.
Packages aufspüren und entfernen
Das SK-CSIRT rät Betroffenen, die präparierten Packages mittels PIP-Befehl
pip list –format=legacy | egrep ‘^(acqusition|apidev-coop|bzip|crypt|django-server|pwd|setup-tools|telnet|urlib3|urllib) ‘
auf ihren Rechnern zu suchen und umgehend zu deinstallieren. Nach anschließender Installation der Original-Packages sollte von ihnen abhängiger Quellcode dank identischer Klassennamen weiterhin lauffähig sein. (ovw)
[ad_2]
Read more on: Source