Java, JavaScript und ActiveX
Gefahren und Risiken
Auf dieser Seite möchte ich die Gefahren
von "JAVA" und "ActiveX" erklären und
gegeneinander abwägen. Diese Seite befaßt sich dazu kurz mit der technischen
Arbeitsweise, allerdings nicht mit der Programmierung von Java-Programmen/
Applets oder ActiveX-Elementen. Sie werden entsprechend keine Applets u.ä.
auf dieser Seite finden!
Am Ende der Seite finden Sie mein persönliches Fazit, zwei Demos und einige Links.
Was ist Java - wie funktionieren
Java-Programme bzw. Java-Applets
- Java ist eine Programmiersprache,
die ursprünglich
für die Programmierung von Elektrogeräten gedacht war
(und dort auch eingesetzt wird). Erfinder ist SUN.
- Java ist vom WWW unabhängig und auf
allen Betriebssystem-Plattformen lauffähig.
- Man muß unterscheiden zwischen Java-Programmen
und Java-Applets
- Java-Programme sind vollwertige
Anwendungen,
die auf Rechnern genauso lauffähig sind, wie andere Applikationen.
Da diese unabhängig vom WWW sind, werden sie hier nicht weiter
betrachtet.
- Java-Applets bestehen aus Programmcode,
der nur auf einem Browser lauffähig ist. Sie laufen dort
innerhalb der sog. "Sandbox".
- Javascript ist eine ursprünglich von
Netscape entwickelte Scriptsprache, die sich an Java anlehnt,
aber nur als Erweiterung des Browsers läuft.
Was ist ActiveX
- ActiveX ist eine von Microsoft entwickelte
Technologie, die aus mehreren Componenten besteht (z.B.OCX-Bedienelementen).
- ActiveX-Elemente greifen sind Bestandteil
des Betriebssystems (dadurch sehr schnell), was aber zur Folge
hat, daß diese nur auf Windows-Rechnern laufen (MAC/OS in
Planung).
- Bei ActiveX gibt es keine Unterscheidung
zwischen Programmen und "Applets".
Wie funktionieren Java-Applets
- Der Java-Sourcecode wird in Maschinensprache übersetzt
- Zur Ausführung müssen "Klassenbibliotheken"
zur Verfügung stehen
- Sie laufen nur in einem java-fähigen
Browser
- Der Maschinencode wird vor der
Ausführung
u.a. auf Richtigkeit, Virenfreiheit und Konformität mit den Java-Spezifikationen überprüft.
Wie funktioniert ActiveX
- ActiveX-Elemente werden durch den
Browser
sozusagen nur aufgerufen und laufen dann unabhängig (außerhalb
des "Einflußbereiches" des Browsers).
- Zur Ausführung muß hier die
sog. Java Virtual Machine (Java VM) zur verfügung stehen.
Was dürfen Java-Applets bzw.
was dürfen sie nicht
- dürfen nur das, was ihnen die "Sandbox"
zugesteht - dadurch wir "untrusted code" zu "trusted
code"
- dürfen nicht auf Speicher
(oder andere
Hardware) direkt zugreifen
- dürfen keine Betriebssystemfunktionen
aufrufen
- darf nicht auf das File-System des Rechners
(Clients) zugreifen
- darf keine Netzwerkverbindungen aufbauen
Was dürfen ActiveX-Elemente
- dürfen alles,
was Windows (DLLs) auch darf. Hierzu gehören insbesondere
- Zugriff auf den gesamten Arbeitsspeicher
- Aufruf aller Betriebssystemfunktionen
- Zugriff auf das File-System des Clients
- Nutzung des Netzwerkanschlusses
Gefahren durch Java-Applets
- gering, da durch Bytecodeverifier,
und "Sandbox" abgesichert
- Risiken treten nur durch Programmierfehler
(Bugs) in den Browsern auf
Gefahren durch ActiveX-Elemente
- sind unüberschau- und nicht einschätzbar
Schutzmechanismen für Java/
Java-Script und ActiveX
Abschalten von Java bzw. Java-Script (getrennt).
Hierdurch ist eine Gefährdung durch Programm-Bugs (bei Java)
100%-ig auszuschließen. ActiveX ist prinzipiell nicht möglich
- Microsoft Internet Explorer:
Verschiedene Sicherheitsstufen (wenig, mittel,
hoch, individual). Diese bezieht sich dann sowohl auf Java, ActiveX,
Cookies und Plugins!
Fazit:
Bei Java bleibt
aufgrund von (möglichen) Bugs ein gewisses Restrisiko bei
der Nutzung von Applets. Darüberhinaus ist es möglich,
daß die Privatssphäre (z.B. Übermittlung der zuletzt
besuchten Seite) gestört wird (siehe auch Netscape Navigator Seite).
Bei ActiveX ist
das Sicherheitsrisiko unübersehbar, da der Zugriff auf
alle Funktionen des Rechners möglich sind. Auch wenn
durch verschieden Zertifizierungsmethoden und einstellbaren Sicherheitsebenen
eine theoretische Verminderung der Risiken möglich ist. Meine
persönliche Meinung: Hände weg von ActiveX - also konsequentes
Abschalten aller ActiveX-Funktionen (beim MS IE - was dann aber
auch bedeutet, daß keine Plugins mehr geladen werden können)
oder die konsequente Nutzung eines Browsers, dar gar kein ActiveX
unterstützt (hier ggf. Java und JavaScript deaktivieren).
Selbsttests
Wenn ich Sie noch nicht überzeugen
konnte, dann probieren Sie es doch selbst einmal. Internet Explorer laden und die Beispiele ausführen. Allerdings übernehme
ich keine Verantwortung für das Betreten dieser Seiten.
- Beispiel 1:.
Diese Demo führt bei einem Windows 95-Rechner mit dem MS IE einen kompletten
Shutdown durch und aktiviert ggf. eine vorhande Stromsparschaltung.
- Beispiel 2: Ausspionieren von Daten
- Beispiel 3: Zeigt
unter Windows 98 und Windows 2000 die Microsoft Registrierungsdaten an.
Damit werden nicht nur die Möglichkeiten vonActiveX demonstriert, sonder
es wird auch gleich die allgemeine Security- und Privacy-Einstellung von
Microsoft demonstriert!
|
Und die Bitte an alle Entwickler und Webmaster: Keine ActiveX-Elemente auf Web-Pages.
Übrigens: Mit dieser Einschätzung
stehe ich nicht alleine, sonder bekomme Unterstützung von prominenter Stelle!
Ein weiteres Thema, über dessen Sicherheitsgefahren viel Unwissendheit und Unsicherheit existiert und das Sie vielleicht interessieren könnte,
ist der Einsatz von Cookies!
Links
| JavaSoft |
die Tochet von SUN, bietet
allgemeine Informationen über Java |
| JUG |
die deutsche Java User Group |
| ScriptActive |
das ActiveX-Plugin für Netscape
(meine Meinung: äußerst fragwürdig!) |
| |
|
| ActiveX |
das offizielle "Whitepaper" vom
Microsoft |
| |
|
| |
|
| |
|
| |
|