Up Right Sicherheitskonzepte ausgewählter Systeme

Java Virtual Machine-Sicherheitskonzepte

Security-Whitepaper: http://java.sun.com/security/whitepaper.ps

Vorteile der JVM:

Applets

Applets sind kleine Javaprogramme, die auf der JVM in einem WWW-Browser laufen.

Gefahrenpotential: Applet könnte Trojanisches Pferd sein und im lokalen Netzwerk Unfug treiben, Informationen auspähen, ...

Sandkasten paradigma: Nicht vertrauenswürdiger Code läuft in einer geschützten Umgebung ab, wo kein Schaden angerichtet werden kann.

Die JVM muß Schutzumgebung sichern

Sicherheitsmechanismen, die ein Applet durchlaufen muß:
  1. (Applet-)Class Loader
    wird aufgerufen, wenn Browser Applet aus dem WWW holt. Die Namensraumhierarchie wird erzwungen. (Der Namensraum legt fest, auf welche Teile der JVM das Applett zugreifen darf.)
    Die Applets haben einen anderen Namensraum als Programme, die von der lokalen Platte stammen.
    Applets vom Netz können keine eigene Class-Loader bauen.
    Die Applets können auch keine Methoden aus dem System-Classloader aufrufen.
  2. Verifizierer
    wird vor dem ausführen des Applets aufgerufen.
  3. Sicherheitsmanager
    erzwingt die Grenzen des Sandkastens. Wenn ein Applet irgendeine gefährliche Operation ausführen will, fragt die JVM den Sicherheitsmanager, ob sie sicher ist. Andernfalls erfolgt der Abbruch und Fehlermedung auf der Javaconsole.
    Folgende Operationen wird der Sicherheitsmanager nicht zulassen: Es kann für eine Applikation oder für einen WWW-Browser nur einen Security-Manager geben, damit eine einzige Sicherheitspolitik erzwungen wird.
    Der Sicherheitsmanager wird zum Start geladen und kann nicht mehr ersetzt werden. Applets können natürlich den Sercuritymanager nicht selber wählen.
  4. Sprachmerkmale
    Die Merkmale schützen die Integität des Sicherheitssystems und verhindern so verschiedene häufige Angriffe: In C++ sind 40-50% aller Fehler durch Fehler in der Speicherverwaltung verursacht. Durch die automatische Speicherverwaltung werden die Programme stabiler und verfügbarer.
Da die Sicherheitspolitik offengelegt ist, kann diese überprüft werden, bevor Cracker sie entdeckten ...

Weitere Informationen

Erweiterung der Java-Sicherheit

3 mögliche Probleme: http://www.blackwatch.com/ erstellt unabhängiges Referenzmodell.

Sandkastenparadigma erschlägt nicht alles. Weitere Mechanismen:

JAR-Dateien mit digitalen Unterschriften
gegen und hilft bei Caching
Flexible Politiken
Der Nutzer soll seine Politik festlegen können.

Nach Security FAQ kann man für den der Appletviewer ACL-Listen in seiner Konfigurationsdatei für Lese- und Schreibzugriffe spezifizieren.

Netscape hat in Capabilities dies spezifiziert und implementiert. In jdk1.2.x wurde dieser Mechanismus übernommen ????

Auditing / Überwachung
Es wird geloggt, wer wann auf was zugegriffen hat. Damit können Einbrecher verfolgt werden.
Verschlüsselung
Der Datenverkehr zwischen Client und Server muß verschlüsselt werden können.

Erfahrungen

Es gibt seit 1996 bis ??? keine Einträge mehr bei CERT.

Nach BSI sind in WWW-Browsern immer wieder Sicherheitslücken bekannt geworden, so daß das BSI empfiehlt, auf aktive WWW-Inhalte zu verzichten.

In letzter Zeit ist das Java-Implementierung berüchtigt von Sicherheitslücken z.B. Heise 5.3.2013. Mache Java-Implementierungen haben sogar die Mechanismen des Betriebssystems deaktiviert! Man hat sich zu sicher gefühlt!


Informatik- und Netzwerkverein Ravensburg e.V Rudolf Weber