Sicherheit in vernetzten Systemen - RRZ Universität Hamburg
Sicherheit in vernetzten Systemen - RRZ Universität Hamburg
Sicherheit in vernetzten Systemen - RRZ Universität Hamburg
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
KAPITEL 9. „ACTIVE CONTENT“ UND MOBILER CODE<br />
9.2 Active Content<br />
9.2.1 Begriffsbestimmung<br />
Unter „Active Content“ oder aktiven Inhalten sollen all diejenigen Technologien verstanden werden,<br />
die beim Betrachten e<strong>in</strong>er HTML-Seite auf dem Rechner des Betrachters wie e<strong>in</strong> Programm<br />
ausgeführt werden. Es ist dabei unerheblich, ob die HTML-Seite mittels e<strong>in</strong>es Browsers von e<strong>in</strong>em<br />
Webserver geladen oder z.B. per E-Mail empfangen und mit e<strong>in</strong>em HTML-fähigen E-Mail-Klienten<br />
betrachtet wird.<br />
Wir werden dabei die folgenden Technologien betrachten:<br />
1. Java<br />
2. JavaScript<br />
3. VBScript<br />
4. Active X<br />
5. Netscape-Plug-Ins<br />
Wie aus der Aufstellung zu erkennen ist, handelt es sich um e<strong>in</strong> weites Feld, das von <strong>in</strong>terpretierten<br />
Sprachen mit e<strong>in</strong>gebauten <strong>Sicherheit</strong>skontrollen bis h<strong>in</strong> zu Technologien reicht, bei denen neue Funktionsbibliotheken<br />
<strong>in</strong> das System gebracht werden, die ohne jegliche Überwachung ausgeführt werden.<br />
Aus diesem Grunde sollen die e<strong>in</strong>zelnen Technologien im folgenden etwas genauer dargestellt werden.<br />
9.2.2 Technologien<br />
Java<br />
Java entstand 1991 als Forschungsprojekt von Sun Microsystems und sollte ursprünglich als e<strong>in</strong>fache<br />
und kompakte Sprache zur Programmierung von Elektrogeräten wie Fernsehern und Kühlschränken<br />
dienen. 1994 stellte Sun dann aber den Browser HotJava vor, der erstmals demonstrierte, daß sich die<br />
Sprache auch zur Programmierung komplexerer Anwendungen (Applications) eignet. Darüber h<strong>in</strong>aus<br />
wurde demonstriert, wie man kle<strong>in</strong>e Codebibliotheken, sogenannte Applets, <strong>in</strong> Webseiten e<strong>in</strong>b<strong>in</strong>den<br />
und so die bis dato eher statischen Webseiten dynamisch mit dem Benutzer <strong>in</strong>teragieren lassen können.<br />
Java ist e<strong>in</strong>e objektorientierte Sprache, die ke<strong>in</strong>e globalen Variablen oder Funktionen kennt, sondern<br />
nur Objekte, die ihrerseits Methoden und Attribute besitzen und konkrete Ausprägungen e<strong>in</strong>er Klasse<br />
s<strong>in</strong>d. Fast jede Klasse liegt dabei als eigenständige Datei mit der Endung .class vor und kann bei<br />
Bedarf dynamisch zur Laufzeit des Programms geladen werden.<br />
Aus der Sicht des Programmierers s<strong>in</strong>d Applications dabei spezielle Objekte, die e<strong>in</strong>e Methode ma<strong>in</strong>()<br />
implementieren, während es sich bei Applets um e<strong>in</strong> von dem Objekt java.applet abgeleitetes K<strong>in</strong>dobjekt<br />
handelt. Dabei können Applications direkt ausgeführt werden. Sie entsprechen e<strong>in</strong>em normalen<br />
Programm. Applets s<strong>in</strong>d dagegen darauf angewiesen, daß schon e<strong>in</strong>e Anwendung existiert, die e<strong>in</strong>e<br />
Laufzeitumgebung zur Verfügung stellt. Üblicherweise handelt es sich dabei um e<strong>in</strong>en Browser.<br />
126 SS 99, Sem<strong>in</strong>ar 18.416: <strong>Sicherheit</strong> <strong>in</strong> <strong>vernetzten</strong> <strong>Systemen</strong>