Paketmanagement: Java-Dependencies über unsichere HTTP-Downloads
Viele prominente Java-Projekte können beim Build-Vorgang angegriffen werden. Der Sicherheitsforscher Jonathan Leitschuh berichtet darüber in einem Blogpost(öffnet im neuen Fenster) . Java-Buildsyseme wie Maven oder Gradle nutzen oft HTTP-URLs, um auf Abhängigkeiten zu verweisen.
Vor fünf Jahren gab es bereits eine Diskussion über unsichere Software-Downloads von Maven(öffnet im neuen Fenster) . Daraufhin führte Sonatype, der Betreiber des zentralen Maven-Repositories, sichere HTTPS-Downloads ein.
Abhängigkeiten mittels HTTP-URLs referenziert
Bei Maven ist es üblich, Abhängigkeiten direkt als URL anzugeben. Auch wenn die Downloads über HTTPS bereitstehen: Wenn die Projekte die URL weiterhin als HTTP angeben, sind sie immer noch verwundbar. Ähnliches gilt für andere Java-Build-Systeme.
Jonathan Leitschuh suchte nach solchen Fällen und wurde fast überall fündig. Auch prominente Java-Projekte, beispielsweise das Continuous-Integration-System Jenkins oder Teile der Entwicklungsumgebung Eclipse, nutzten HTTP-Downloads für ihre Abhängigkeiten.
Konkret bedeutet das, dass mit einem Man-in-the-Middle-Angriff die heruntergeladenen Pakete ausgetauscht und mit Schadcode versehen werden können. Ein Netzwerkangreifer hat also eine relativ simple Möglichkeit, Code auf den Rechnern von Java-Entwicklern auszuführen.
Zumindest für das zentrale Maven-Repository sollen HTTP-Downloads bald ganz verschwinden. Ab Januar 2020 wird dort die Unterstützung für HTTP abgeschaltet(öffnet im neuen Fenster) und Pakete können nur noch über HTTPS heruntergeladen werden.
- Anzeige Hier geht es zum Handbuch für Softwareentwickler bei Amazon Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.