Java-Sicherheitslücke: Interview mit Entdecker Adam Gowdiak

20.10.2004 von Jürgen Fey
Adam Gowdiak hat die Schwachstellen in Java für Handys entdeckt. Im tecCHANNEL-Interview enthüllt er seine Intention für die Aufdeckung der Lücken. Zudem stellt er weitere Gefahren und Schutzmöglichkeiten für Anwender vor.

Vor wenigen Tagen hat Adam Gowdiak auf der Sicherheitskonferenz "Hack in the box" erstmals Lücken in Java für mobile Geräte aufgezeigt. tecCHANNEL hat bereits im Report Hacker knackt Java für Handys auf die kritischen Sicherheitslücken in der Java 2 Micro Edition hingewiesen. Russel Castronovo, zuständig für Global Communications bei Sun Microsystems USA, hat dies inzwischen gegenüber tecCHANNEL bestätigt. Jetzt äußert sich der Entdecker zu den Schwachstellen und möglichen weiteren Gefahren.

tecCHANNEL: Adam, mit welcher Intention haben Sie sich daran gemacht, der Sicherheit von J2ME einmal genauer auf den Grund zu gehen?

Gowdiak: Nun, bislang wurden in Bezug auf die Java-Technologie für mobile Endgeräte, die Java 2 Micro Edition, keinerlei Sicherheitsprobleme gemeldet. Eine solche Situation ist in der Realität ziemlich unwahrscheinlich. Die Vergangenheit hat uns immer wieder gezeigt, dass die "Java Virtual Machine"-Implementationen diverser Hersteller, wie Microsoft oder Sun Microsystems, einige Probleme hatten. Vielleicht hat man den Aspekt der J2ME-Sicherheit einfach als gegeben angenommen, ohne es genauer zu hinterfragen.

Meine Motivation war, dass man einfach davon ausging, dass die Technologie nicht aus den Angeln gehoben werden kann, und dies hat, kombiniert mit meiner herausfordernden Natur und Intuition, eben dazu geführt, die J2ME-Technologie genauer unter die Lupe zu nehmen.

tecCHANNEL: Wie lange hat es gedauert, bis Sie den ersten Ansatz eines Angriffs gefunden hatten?

Gowdiak: Es dauerte zwei Monate, um in J2ME einzubrechen und weitere vier Monate, um meine Ergebnisse durch das Programmieren von böswilligen Java-Applikationen zu beweisen.

"Ich habe noch weitere Probleme gefunden."

tecCHANNEL: Sie haben einen Weg über die pre-Verifizierungsebene gefunden, um letztendlich den Zugriff zum Handy zu erlangen. Stellten Sie während der Arbeiten noch andere Schwachstellen fest oder hatten Sie einfach einen "guten Tag" erwischt?

Gowdiak: Mein methodischer Ansatz führte zur Entdeckung zweier unterschiedlicher Schwachstellen in der Komponente des Bytecode-Verifier der KVM. Jede der Schwachstellen erlaubt es dem Angreifer, die Sandbox der KVM komplett zu verlassen. Mit anderen Worten: Gefährliche Java-Applikationen, die eine der beiden erwähnten Schwachstellen ausnutzen, können den vollen Zugriff auf den Speicher des Geräts und die zu Grunde liegende Funktionalität des Betriebssystems erlangen.

Es bestehen allerdings noch weitere KVM-Komponenten, die ebenfalls unsicher sind, wobei ich diese bislang noch nicht analysiert habe. Diese schließen ein:

Ich habe fast vier Monate mit der Analyse meines Nokia-Handys verbracht. Ich fand dabei natürlich eine Menge Details über dessen interne Arbeitsweise und die Architektur des nativen Nokia-Betriebssystems heraus. Das größte Problem fand ich auf der Betriebssystemebene selbst. Der Speicher (RAM, Flash und I/O-Adressraum) wird global von den unterschiedlichsten Funktionen gemeinsam genutzt (shared memory). Dies bedeutet, dass man, wenn man einmal den Zugang zum Gerät hat, fast alles machen kann!

Ich habe darüber hinaus weitere Probleme gefunden, darf aber derzeit noch nicht darüber sprechen.

Mobile Endgeräte attraktiv für Angreifer

tecCHANNEL: Kann das Versprechen eines wirklich sicheren mobilen Geräts jemals eingelöst werden?

Gowdiak: Mobile Technologien sollten im selben Licht wie PCs von heute gesehen werden. Schließlich bilden sie einfach eine weitere Plattform für gefährlichen Code. Die Tatsache, dass es bereits heute mehr Nutzer mobiler Endgeräte als PC-User gibt, macht diese Plattform sehr attraktiv für Hacker und Wurmschreiber.

Ich bin der Überzeugung, dass die mobile Technologie in diesem Moment noch nicht für die aufkommenden Gefahren (Angriffe/Verwundbarkeit von außen, Viren und Würmer) gewappnet ist. Und ich bezweifle sehr, dass der Traum eines sicheren mobilen Endgeräts in absehbarer Zeit zur Wirklichkeit werden könnte.

tecCHANNEL: Im Vergleich zu den anderen nativen Umgebungen wie Symbian OS ist J2ME weitaus sicherer einzustufen. Ist diese Behauptung auch nach Ihren aktuellen Erkenntnissen noch zu halten?

Gowdiak: Die Symbian-Umgebung ist offen, und dieser Umstand macht diese zu einem wesentlich einfacheren Angriffsziel, speziell wenn man die Weitergabe und Installation von gefährlichem Code betrachtet. Native Symbian-Anwendungen haben Zugriff auf sensitive APIs des Betriebssystems wie auf das Dateisystem, Telefonieanwendungen oder das Messaging.

Java scheint wesentlich sicherer zu sein, zumindest aus der Sicht der Architektur. Es wurde von Beginn an als sichere Systemumgebung für mobilen Code konzipiert. Nach meiner Meinung hat Java eine sehr solide Sicherheitsarchitektur. Im Vergleich zu Symbian OS ist es wesentlich schwerer, die Sicherheit von Java zu durchbrechen, um aus einer Java-Applikation etwas Gefährliches anzustellen

"Sun war seit dem 6. August informiert"

tecCHANNEL: Haben Sie Firmen vorab von Ihren Ergebnissen informiert?

Gowdiak: Ich habe Sun Microsystems am 6. August informiert. Danach wurde mein Report überprüft, entsprechende Sicherheits-Fixes wurden entwickelt und Lizenznehmer wie Nokia oder Siemens über die Schwachstellen informiert. Die angepasste Referenz-Implementation wurde ebenfalls an die Lizenznehmer weitergegeben.

tecCHANNEL: Wie war die Reaktion?

Gowdiak: Sun Microsystems reagierte sofort auf meinen Schwachstellenreport. Bereits zwei Wochen nach meinem ersten Kontakt war Sun in der Lage, die Fixes an Lizenznehmer weiterzugeben.

tecCHANNEL: Werden Sie auch den Code der bisher nicht offen gelegten "Blackbox" veröffentlichen?

Gowdiak: Ja, ich plane ein weiteres Forschungspapier, das alle Details und weiteres Material liefert, welches nicht in meinem Vortrag zur "Hack in the Box"-Sicherheitskonferenz zu finden ist. Dies dauert aber noch einige Monate.

tecCHANNEL: Dass die Schwachstelle sich ausgerechnet im sicherheitsrelevanten Teil befindet, ist eine Art von schwarzem Humor, oder?

Gowdiak: Es mag ironisch erscheinen, aber es ist nicht das erste Mal, dass ein ernstzunehmendes Sicherheitsproblem ausgerechnet in einer Sicherheits-Produkt/Mechanismus/Komponente gefunden wurde.

"Über 100 unterschiedliche Geräte von mehreren Herstellern betroffen"

tecCHANNEL: Ihr Angriff funktioniert mit der Firmware eines bestimmten Geräts. Glauben Sie, dass diese Schwachstelle weiter verbreitet ist? Ist diese gar im Ursprungscode der J2ME zu finden?

Gowdiak: Beide Schwachstellen sind weit verbreitet, da alle Geräte, die auf einer bestimmten KVM-Implementation basieren, betroffen sind. Nach vorsichtigen Schätzungen dürften zwischen 100-350 Millionen Endgeräte betroffen sein (mit über 100 unterschiedlichen Geräten von mehreren Herstellern).

Obwohl ich diese Schwachstellen im Bereich der KVM-Sicherheit lediglich für ein bestimmtes Nokia-Gerät nachgewiesen habe, bin ich davon überzeugt, dass die gleiche Methodik und Angriffstechnik auf jedes andere Gerät angewendet werden kann. Voraussetzung ist lediglich, dass ein unsicheres KVM genutzt wird. Natürlich gibt es Unterschiede je nach den von den unterschiedlichen Herstellern eingesetzten Betriebssystemen. Falls jedoch andere Systeme eine zum Nokia-Ansatz ähnliche Struktur aufweisen, sollte es nicht viele Hindernisse geben, um meine Resultate auch auf diesen Geräten nachzuvollziehen.

tecCHANNEL: Wie sieht die Lösung für den Kunden aus?

Gowdiak: Die Firmware gefährdeter Handys sollte aktualisiert werden, um den Anwender vor solchen Angriffen zu schützen. In der Praxis dürfte dies die Beteiligten allerdings vor Probleme stellen. Kunden müssen dazu ein autorisiertes Service-Center aufsuchen.

In der Zwischenzeit könnten die Netzbetreiber ebenfalls Anstrengungen unternehmen, um ihre Kunden vor gefährlichem Java-Code zu schützen. Klassendateien (jar-Archive) sollten untersucht werden, bevor diese zum Gerät übertragen werden.

Potenzielle Gefahren

tecCHANNEL: Trojaner, Viren, orchestrierte Dos-Attacken, welche die schiere Zahl mobiler Endgeräte nutzen, Geldmaschinen, die Premium-SMS/MMS verschicken. Welche potenziellen Gefahren sehen Sie bei befallenen Geräten noch?

Gowdiak: Die potenziellen Gefahren, die von einem befallenen Gerät ausgehen sind:

Im schlimmsten Fall passiert Folgendes:

tecCHANNEL: Wie sehen Ihre weiteren Pläne aus? Werden Sie weitere Schwachstellen suchen?

Gowdiak: Ich werde meine Arbeiten im Bereich der Sicherheit mobiler Endgeräte fortführen, aber ich kann zum derzeitigen Zeitpunkt keine weiteren Informationen geben.

tecCHANNEL: Welche Tipps können Sie den Anwendern geben?

Gowdiak: Fragen Sie den Anbieter Ihres Geräts nach entsprechenden Patches/Updates. Denken Sie immer zuerst an die potenziell möglichen Angriffe auf Ihr Gerät, bevor Sie "untrusted" Code, der nicht zwingend Java-Code sein muss aufspielen. Gehen Sie dabei genauso vor, wie Sie es auch mit Ihrem PC machen, denn die Gefahr ist die gleiche.

Herr Gowdiak, wir danken für das Gespräch. (mja)