17.06.2014 Aufrufe

Sicherheit in vernetzten Systemen - RRZ Universität Hamburg

Sicherheit in vernetzten Systemen - RRZ Universität Hamburg

Sicherheit in vernetzten Systemen - RRZ Universität Hamburg

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

KAPITEL 9. „ACTIVE CONTENT“ UND MOBILER CODE<br />

UNIX e<strong>in</strong>en Anteil, der nur von Root beschrieben werden darf. Auch dürfen normale Benutzer die<br />

Priorität ihrer Prozesse nur verr<strong>in</strong>gern, während Root sie auch erhöhen und damit Prozesse schaffen<br />

kann, die so bevorrechtigt s<strong>in</strong>d, daß sie von normalen Benutzerprozessen nicht beh<strong>in</strong>dert werden<br />

können.<br />

Filternde Proxies<br />

Auch e<strong>in</strong>ige Firewallhersteller haben die von aktiven Inhalten ausgehenden Gefahren erkannt. Darum<br />

haben sie HTTP-Proxies entwickelt, die die von ihnen weitergeleiteten Webseiten auf aktive Inhalte<br />

untersuchen und diese gegebenenfalls entfernen.<br />

Hierbei ist pr<strong>in</strong>zipiell e<strong>in</strong>e relativ fe<strong>in</strong>e syntaktische Filterung bestimmter Technologien (Java, Java-<br />

Script,...) möglich, wie auch die Entscheidung, von welchen URLs aktive Inhalte erlaubt s<strong>in</strong>d und<br />

von welchen nicht.<br />

Allerd<strong>in</strong>gs entstehen dabei auch Probleme. So ist es e<strong>in</strong>em Proxy z.B. pr<strong>in</strong>zipiell nicht möglich, verschlüsselte<br />

Datenströme wie HTTP über SSL zu untersuchen. Auch unbekannte Archivformate 17 s<strong>in</strong>d<br />

e<strong>in</strong> Problem für filternde Proxies.<br />

Darüber h<strong>in</strong>aus erschweren die Browserhersteller dem Proxy die Filterung, <strong>in</strong>dem sie immer neue<br />

Aufrufmethoden def<strong>in</strong>ieren. So benutzt z.B. der Navigator den ungenormten Tag „Embed“ anstelle<br />

von „Applet“ oder „Object“. Auch erlauben es die spezifischen Erweiterungen von Java und Java-<br />

Script <strong>in</strong> den e<strong>in</strong>zelnen Browsern, z.B. aus e<strong>in</strong>em Java-Applet heraus JavaScript-Code auszuführen<br />

bzw. <strong>in</strong> e<strong>in</strong>em Skript Java-Methoden aufzurufen. Dies macht den Ansatz, als gefährlich erachtete<br />

Technologien zu blockieren, „harmlose“ aber durchzulassen, undurchführbar.<br />

Auch die Idee, man könne gezielt JavaScript-Funktionen ausfiltern, die als schädlich erachtet werden,<br />

solche aber durchlassen, die „ungefährlich“ seien, wird dadurch vereitelt, daß Möglichkeiten existieren,<br />

selbstmodifizierenden Code zu schreiben. Dieser Programmcode, dessen e<strong>in</strong>zelne Anweisungen<br />

als harmlos ersche<strong>in</strong>en, verändert sich bei se<strong>in</strong>er Ausführung <strong>in</strong> solcher Weise, daß <strong>in</strong> ihm völlig neue<br />

Befehle e<strong>in</strong>gesetzt werden, die sonst gefiltert worden wären.<br />

Selbst e<strong>in</strong>e Politik, die darauf basiert, nur als „harmlos“ erkannte Befehle zu erlauben, alle anderen<br />

aber zu verbieten, stellt wahrsche<strong>in</strong>lich ke<strong>in</strong>en Ausweg dar. Das Problem ist dar<strong>in</strong> zu suchen, daß die<br />

meisten Befehle nicht von sich aus „harmlos“ oder „gefährlich“ s<strong>in</strong>d. Erst ihre Komb<strong>in</strong>ation macht<br />

z.B. aus e<strong>in</strong>er harmlosen Rechenaufgabe e<strong>in</strong>en polymorphen Code, der Befehle ausführt, die eigentlich<br />

verboten wurden.<br />

E<strong>in</strong>e „sichere“ Untermenge der JavaScript-Befehle wäre vermutlich zu e<strong>in</strong>geschränkt, um s<strong>in</strong>nvoll zu<br />

se<strong>in</strong>. Tatsächlich brauchen die meisten Skripte, die heute <strong>in</strong> Webseiten e<strong>in</strong>gesetzt werden<br />

¯ Str<strong>in</strong>gvariablen,<br />

¯ e<strong>in</strong>fache Operatoren (Zuweisung, Konkatenation) und<br />

¯ e<strong>in</strong>en Befehl, um e<strong>in</strong>e neue Seite zu laden.<br />

Ohne diese Untermenge von Befehlen ist e<strong>in</strong> s<strong>in</strong>nvoller E<strong>in</strong>satz daher nicht gegeben. Verbietet man<br />

nur e<strong>in</strong>en dieser Befehle, so kann man JavaScript auch gleich generell verbieten.<br />

17 Die Packer Tar, Gzip, Zip und Arj s<strong>in</strong>d allgeme<strong>in</strong> bekannt. Es kann aber z.B. nicht zwangsläufig davon ausgegangen<br />

werden, daß auch Rar und Ace unterstützt werden.<br />

138 SS 99, Sem<strong>in</strong>ar 18.416: <strong>Sicherheit</strong> <strong>in</strong> <strong>vernetzten</strong> <strong>Systemen</strong>

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!