Java ist eine Programmiersprache, die von SUN Microsystems entwickelt
wurde. Java ist plattformunabhängig, d.h., Javaprogramme können unter nahezu
allen Betriebssystemen bzw. Hardwareplattforemen ausgeführt werden. Man unterscheidet zwischen
Java-Programmen und Java-Applets. Java-Programme sind vollwertige
Anwendungen (Programme) die auf jedem Rechner eingesetzt werden können. Ich
werde hier nicht weiter auf sie eingehen, da eine Gefährdung eines Systems
durch Java-Programme genauso groß oder klein ist, wie bei anderen Programmen
auch (z.B. MS-Excel usw.) siehe Abschnitt 2.2 und
Abschnitt 2.3.
Java-Applets hingegen bestehen aus Programmcode, der nur auf bzw. innerhalb
eines Webbrowsers lauffähig ist. Java-Applets werden im Browser in der sog.
,,Sandbox`` ausgeführt. Zusätzlich gibt es noch Javascript, das
ursprünglich von Netscape entwickelt wurde. Javascript läuft nur als
Browsererweiterung.
Die Gefährdung durch Java-Applets ist als gering einzuschätzen, da Java über
ein dreistufiges Sicherheitskonzept verfügt. Dazu gehören der Byte-Code
Verifier, der Class Loader und der Java Security Manager.
Der Byte-Code Verifier überprüft vor der Ausführung des Programmes, ob die
Einschränkungen der Java-Sprache eingehalten wurden. Der Class Loader
beschränkt die Anzahl der APIs für das jeweilige Applet. Ferner beschränkt
der Class Loader das Hinzufügen oder Entfernen von Klassen, so daß ein Applet
die Javalaufzeitumgebung nicht verändern kann.
Der Java Security Manager erfüllt folgende Aufgaben:
[fwstud]
Die Gefahren, die von Java-Applets ausgehen, beruhen im wesentlichen darauf, daß man nicht sicher sein kann, ob ein Applet nicht bösartigen Code enthält (Trojaner,Viren). Hinzu kommt, daß in den Java-Implementierungen der Browser immer wieder Sicherheitslücken zu finden waren, die ein Hacker ausnutzen konnte.