Original-URL des Artikels: https://www.golem.de/news/paketmanagement-java-dependencies-ueber-unsichere-http-downloads-1906-141810.html    Veröffentlicht: 11.06.2019 11:44    Kurz-URL: https://glm.io/141810

Paketmanagement

Java-Dependencies über unsichere HTTP-Downloads

In zahlreichen Java-Projekten werden Abhängigkeiten ungeprüft über HTTP ohne TLS heruntergeladen. Ein Netzwerkangreifer kann dadurch trivial die Downloads manipulieren und Schadcode ausführen.

Viele prominente Java-Projekte können beim Build-Vorgang angegriffen werden. Der Sicherheitsforscher Jonathan Leitschuh berichtet darüber in einem Blogpost. 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. 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 und Pakete können nur noch über HTTPS heruntergeladen werden.  (hab)


Verwandte Artikel:
Software-Entwickler: Krypto-Fehler vermeiden mit Cognicrypt   
(31.05.2019, https://glm.io/141609 )
Code-Hosting: Github bietet eigene Paketquellen für Programmiersprachen   
(11.05.2019, https://glm.io/141181 )
Jib: Google-Werkzeug baut Docker-Container aus Java-Anwendungen   
(11.07.2018, https://glm.io/135415 )
Paketmanagement: PHP-Codesammlung Pear wurde gehackt   
(21.01.2019, https://glm.io/138863 )
DNSSEC-Chain: DANE für Browser ist praktisch tot   
(28.05.2019, https://glm.io/141559 )

© 1997–2019 Golem.de, https://www.golem.de/