Entwicklung & Code
PyPI geht gegen Domain-Hijacking vor und prüft Mail-Adressen
Die Betreiber des Python Package Index (PyPI) gehen gegen Domain-Hijacking vor, um Lieferkettenangriffe zu erschweren. Dabei prüft das beliebte Python-Paketverzeichnis die Domains von Mail-Adressen der User-Accounts regelmäßig darauf, ob die Domänen noch einen Besitzer haben. Wenn nicht, wird dem Account die Verifizierung entzogen, was bereits über 1800 Mal der Fall war.
Mit diesem Verfahren verhindert PyPI, dass Angreifer eine aufgegebene Domain übernehmen, die E-Mail-Adresse des vorherigen Nutzers einrichten, bei PyPI das Passwort des mit der Mail-Adresse verbundenen Accounts zurücksetzen und sich einloggen. Dann haben sie Zugriff auf die dort veröffentlichten Python-Pakete und können Schadcode in diese einbauen, den andere Nutzer unbedarft installieren. Als Beispiel für einen derartigen Lieferkettenangriff nennt der Python-Blog das Hijacking des ctx-Pakets 2022, das andere User 27.000 Mal heruntergeladen haben.
Für die Prüfung nutzt PyPI die Karenzzeit von dreißig Tagen, in die Domains nach der Löschung gehen: die Redemption Grace Period (RGP). Dieser Status ist öffentlich gekennzeichnet, was PyPI nun täglich checkt und den betroffenen Mail-Adressen die Verifikation entzieht. Das bedeutet, dass Nutzer nicht einfach ein Passwort zurücksetzen können, sondern zusätzliche Belege vorlegen müssen, beispielsweise einen zweiten Faktor – wenn eingerichtet – oder eine Mitgliedschaft in anderen, nicht näher spezifizierten Diensten („via other services under the user’s control“).
In der Ankündigung schreibt PyPI, dass bei der initialen Prüfung im Juni 1500 Adressen die Verifikation verloren haben. Ausdrücklich nicht betroffen sind Domains, die regulär den Besitzer wechseln und nicht in eine Karenzzeit gehen.
PyPI entzieht täglich Mail-Adressen die Verifizierung (hier im Bild ohne die 1500 von der initialen Prüfung).
(Bild: PyPI)
PyPI empfiehlt allen Anwenderinnen und Anwendern, prinzipiell einen zweiten Faktor für den Login einzurichten und eine weitere Mail-Adresse von einer „glaubwürdigen Domain (zum Beispiel Gmail)“ anzugeben.
(who)