Signierte Java-Applets unter falscher Flagge

Oracles Sicherheits-Check für Java-Applets schützt zwar den Programmcode mit einer digitalen Signatur, nicht aber den Namen des Applets. Angreifer könnten signierte Programme so unbemerkt auf dem Rechner eines Opfers zu unseriösen Zwecken misbrauchen.

In Pocket speichern vorlesen Druckansicht 39 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Fabian A. Scherschel

Der Java Version Check präsentiert sich plötzlich unter anderem Namen aber mit Oracles Signatur.

Oracles Sicherheits-Check für Java-Applets lässt sich umgehen, weil die geforderte Signatur wichtige Informationen nicht schützt. Zwar erhalten Java-Benutzer seit einiger Zeit eine Warnmeldung, wenn sie unsignierten Java-Code durch ein Browser-Plug-in ausführen, und bei signierten Applets wird der Benutzer gefragt, ob er der Quelle auch vertraut. Die angezeigten Informationen lassen sich aber gezielt manipulieren. So wird ein Szenario denkbar, bei dem Benutzern ein Applet untergeschoben wird, mit dem sie ausspioniert werden.

Wie Java-Entwickler Jerry Jongerius herausgefunden hat, kann man den Namen und andere angezeigte Informationen in der Warnmeldung fast beliebig verändern, ohne das Applet kryptografisch neu signieren zu müssen. Er beschreibt ein Szenario, bei dem ein Angreifer ein von einem vertrauenswürdigen Hersteller signiertes Fernwartungs-Applet umbenennt und dem Opfer in einem ganz anderen Kontext als legitimes Programm präsentiert. So wird ein Remote-Control-Applet plötzlich zum Schach-Programm, das der Besucher einer Spiele-Webseite wahrscheinlich nicht verdächtigt. Wenn der Angreifer dem Opfer nach dem Ausführen des Applets dann auch noch ein HTML5-basiertes Schachprogramm präsentiert, wird dieser unter Umständen gar keinen Verdacht schöpfen. So kann der Angreifer dann das Fernwartungs-Applet nutzen, um das Opfer auszuspionieren und eventuell auch einen weiteren Angriffsvektor in dessen System zu öffnen.

Im Rahmen einer Warnung wie sie von Javas virtueller Machine ausgegeben wird, würde man eigentlich schon erwarten, dass eine digitale Signatur nicht nur den Code, sondern auch den Namen des Programms umfasst. Trotzdem sollte man das Problem nicht überdramatisieren, da ein Angriff immerhin erfordert, dass sich ein von einem vertrauenswürdigen Herausgeber signiertes Programm für üble Zwecke missbrauchen lässt.

Auf seiner eigenen Webseite stellt Jongerius ein Tool bereit, mit dem Nutzer dieses Problem auch selber nachvollziehen können. Hier kann man einem von Oracle signierten Applet, dem Java Version Check, einen beliebigen Titel geben. (fab)