Java und das Thema Sicherheit

Anfang der 90er Jahre begannen ein paar Entwickler von Sun Microsystems an der Entwicklung eines Paradigmenwechsels in der elektronischen Datenverarbeitung. Ein einziger Quellcode soll durch verschiedene Laufzeitumgebungen auf unterschiedlichen Rechnern ausführbar sein. So wurde Java geboren.

Allgemeine Funktionsweise

Bei vielen Programmiersprachen ist es noch immer so, dass man für jedes Grundsystem (Windows, MacOS, Linux, Android, iOS, usw.) einen eigenen Quellcode verfassen muss, der dann fertig kompiliert wird und auf dem entsprechenden System zur Ausführung kommt. Bei Java-Programmen wird dieser Ablauf allerdings abgeändert. Der Quellcode wird zuerst in einen Bytecode kompiliert, auf dem entsprechenden System selbst ist dann eine Laufzeitumgebung (Java Runtime Environment) dafür zuständig, dass dieser Bytecode in Maschinensprache übersetzt wird und zur Ausführung kommt. Durch diese Lösung bekommt man eine extrem plattformunabhängige Programmiersprache. Diese Plattformunabhängigkeit ist auch einer der Gründe, warum Java so große Verbreitung gefunden hat. Es gibt kaum einen Desktop-Rechner, der kein Java installiert hat. Application-Server wie Apache Tomcat verwenden Java. Web-Anwendungen, Java-Applets und sogar Desktopanwendungen wie Eclipse sind in Java umgesetzt. Dazu kommt dann noch der riesige Bereich der eingebetteten Systeme (also Computer, die in technische Geräte integriert sind). So werden Maschinen, Aufzüge, Haushaltsgeräte und viele Geräte in der Unterhaltungselektronik mit Java zum Leben erweckt. Mit anderen Worten: Java ist (fast) überall. Und das kann manchmal ein Problem sein.

Sicherheitslücken

Im Laufe des Jahres 2012 kam Java immer öfter in die Technik-Schlagzeilen. Denn eigentlich ist Java über ein sogenanntes Sandboxing-System relativ sicher. Die Anwendungen laufen dabei in einer eigenen virtuellen Maschine ab, die nur begrenzt mit dem System außerhalb dieser Box interagiert. Leider stellte sich aber heraus, dass diese Sicherheitsmechanismen durch Fehler in der virtuellen Maschine ausgehebelt werden können. Anfang dieses Jahres gaben renommierte Technik-Dienste die Empfehlung ab, die Browser-Plugins oder sogar Java als Ganzes zu deinstallieren. Von Herstellerseite wurden daraufhin einige Updates veröffentlicht, die diese Probleme behoben - die Problematik war dann aber noch immer, ob diese Updates auch den Weg zu den Benutzern fanden.

Upgrade / Update und das vorprogrammierte Chaos

Java gehört zu einer der Technologien, die bei einer Standardinstallation den Benutzer darauf hinweist, dass es ein neues Update gibt. Dabei taucht unter Windows beispielsweise ein Symbol in der Taskleiste auf, ein Klick darauf löst einen ganz normalen Installationsprozess aus und man erwartet, auf dem neusten Stand zu sein. Genau hier ist aber das Java-Problem begraben. Ein Update (kleine Veränderungen in der Programmversion) ist nämlich kein Upgrade (Neuinstallation der neusten Programm-Generation). Dadurch entstand auf Millionen von Endgeräten die Situation, dass zwar für die Java-Version 6 alle Updates eingespielt wurden - diese weist aber mehr als 90 kritische Sicherheitslücken auf.
Ein ebenfalls oft vorgefundenes Phänomen ist die Doppelinstallation von Java. Dabei ist sowohl die neue Version 7, als auch die veraltete Version 6 installiert. Die Neuere davon würde allerdings vollkommen reichen.

Ein paar Minuten für Java-Sicherheit

Wie können Sie nun überprüfen, ob Sie ein Sicherheitsproblem haben? Als Erstes sollten Sie feststellen, welche Java-Version Sie haben. Dazu klicken Sie unter Windows auf "Systemsteuerung" -> "Programme und Funktionen" und sehen dort dann alle installierten Programme. Finden Sie dort gar keinen Java-Eintrag, ist es bei Ihnen nicht installiert. Nachdem Sie es anscheinend noch nie vermisst haben, brauchen Sie natürlich auch nichts zu unternehmen. Finden Sie dort einen Eintrag namens "Java 7 Update XX" (wobei XX irgendeine Zahl darstellt), haben Sie bereits die aktuelle Programmversion und müssen nur regelmäßig die Updates machen, wenn das Symbol in der Taskleiste erscheint. Gibt es in der Liste aber irgendwo noch einen Eintrag mit dem Namen "Java 6 Update XX", dann sollten die Alarmglocken schon etwas lauter schrillen. Am besten ist es, die Version 6 zu entfernen (Doppelklick auf den Eintrag), und auf dieser Seite die aktuelle Version herunterzuladen und zu installieren. Alles in allem sind das nur ein paar Minuten Aufwand - und doch haben Sie gleich mal eine erhebliche Sicherheitslücke weniger ...