Sicherheitsforscher bricht ĂĽber Open-Source-Repositories bei PayPal & Co. ein
Ein Sicherheitsforscher demonstriert, wie er mit vergleichsweise wenig Aufwand seinen FuĂź in Systeme von beispielsweise Apple, Netflix und Tesla setzen konnte.
Viele große Unternehmen wie Microsoft, Shopify und Uber setzen in ihrer täglichen Arbeit auf Skripte, die in verschiedenen Open-Source-Repositories zum Download bereitstehen. Das hat ein Sicherheitsforscher als Türöffner genutzt, um erfolgreich in die Netze von mehr als einem Dutzend großer Firmen einzudringen.
Seine Erkenntnisse hat er in einem Beitrag zusammengetragen. Ihm zufolge wussten die Firmen ĂĽber seine Forschungen Bescheid und er ist beispielsweise vor dem Hintergrund von Bug-Bounty-Programmen in Netzwerke eingestiegen. Seinen Ansatz nennt er "Dependency Confusion".
Alte Methode neu gedacht
Die Idee dabei ist nicht komplett neu, weist aber einen neuen Dreh auf. In der Vergangenheit haben Kriminelle immer wieder trojanisierten Code in öffentliche Repositories von beispielsweise Node, Python oder RubyGems in der Hoffnung hochgeladen, dass Admins in Firmen die Malware-Skripte herunterladen und ausführen.
Um die Erfolgschancen zu steigern, haben sie zum Beispiel Namen von bekannten Paketen mit naheliegenden Buchstabendrehern verändert (typosquatting). Vertippt sich ein Admin bei der Installation auf der Kommandozeile, landet das vom Angreifer hochgeladene Skript auf dem Computer.
Diese Angriffsart hat der Sicherheitsforscher ausgebaut. Während seiner Recherche stieß er auf öffentlichen Code von PayPal auf Github. Darin fand er Namen von Dependencies, die PayPal einsetzt. Zum Teil sind diese intern gehostet.
Klappt das?
Nun fragte er sich was passiert, wenn er die Namen kopiert und mit eigenem Code versehene Dependencies in öffentliche Repositories hochlädt. Das probierte er auch bei weiteren Firmen aus und ihm zufolge war die Erfolgsrate „einfach erstaunlich“.
Warum das funktioniert, begrĂĽndet er am Beispiel von Python-Dependencies wie folgt: Nutzt man den Befehl pip install library
mit dem Argument --extra-index-url
, wird geprüft, ob die zu installierende Bibliothek lokal oder über das Internet verfügbar ist. Taucht sie an beiden Stellen auf, wird die Version mit der höheren Versionsnummer installiert. Demzufolge hat der Sicherheitsforscher seine präparierten Bibliotheken mit einer sehr hohen Seriennummer versehen.
Der Sicherheitsforscher gibt an, dass viele Unternehmen ihre Routinen für die Nutzung von Skripten aus Repositories mittlerweile angepasst haben, damit diese Methode nicht mehr funktioniert. Dafür hat er insgesamt über 130.000 US-Dollar an Prämien über Bug-Bounty-Programme verdient.
(des)