Der ADMIN 05/13 wirft einen Blick auf die frei verfügbaren Cloud-Frameworks von Eucalyptus über OpenNebula bis OpenStack. Gute Aussichten für skalierbare ... (mehr)

Scharfe Anwendungen

Um zu zeigen, dass sich nicht nur Systemprogramme, sondern auch Userprogramme mit Capsicum absichern lassen, wurde von Google der Webbrowser Chromium an die neue Umgebung angepasst. Googles Chromium erzeugt beim Start mehrere Prozesse, denen Aufgaben wie Verarbeiten von HMTL-Code, JavaScript und Verschlüsselung von Daten zufallen. Der ursprüngliche FreeBSD-Port des Webbrowsers enthielt keinerlei Sicherheitsmerkmale wie Sandboxing.

Dass das Programm bereits in logische Abschnitte unterteilt ist (Stichwort: Compartmentalisation), erleichtert die Anpassung an die Capsicum-Umgebung von FreeBSD erheblich. Der Subprozess, der die grafische Darstellung der Webseite übernimmt, erhält besondere Berechtigungen, um mit dem Grafiksystem von X.org zu kommunizieren. Geschützte Speicherbereiche dienen zum Transport von Daten zwischen den einzelnen Subprozessen. Subprozesse zur Kompilierung von Javascript, HTML und XML haben keinen Zugriff auf Speicherbereiche außerhalb der Sandbox. Obwohl der Code-Umfang von Chromium gewaltig ist – man spricht von 4,3 Millionen Zeilen Code – erfolgte die Implementierung von Capsicum mit circa einhundert Zeilen nahezu reibungslos. Will man beispielsweise unter Windows die gleiche Sicherheit erreichen, sind mehr als 23 000 Zeilen Code nötig ([8]). Auch hat der Entwickler der GNUStep-Desktop-Suite bereits angekündigt, Capsicum in den Anwendungen einzusetzen.

Fazit

Mit FreeBSD 9 haben die Entwickler den Sicherheitsmechanismus Capsicum eingeführt. Der volle Umfang der Capsicum-Funktionalität wird ab FreeBSD 10 zur Verfügung stehen. Alle sicherheitskritischen Systemprogramme werden dann das neue Framework nutzen. Zusätzlich werden möglicherweise weitere Applikationen wie Apache an die neue FreeBSD-Umgebung angepasst sein. So möchten einige Entwickler von GNUStep-Anwendungen diese an FreeBSD-Capsicum anpassen. Es wurde bereits von KDE-Maintainern angekündigt, Capsicum in KDE zu implementieren. Man darf daher gespannt sein, was die Zukunft für Capsicum bringen wird.

Infos

  1. Kris Kennaway: Introducing Capsicum: Practical Capabilities for UNIX
  2. Capsicum-Berechtigungen: http://www.dankoweit.de/FreeBSD/hp_freebsd_capsicum_capabilities.html
  3. Manpages: capsicum(4), cap_enter(2), cap_new(2)
  4. Rwhod (BSD-Lizenz): http://svnweb.freebsd.org/base/head/usr.sbin/rwhod/rwhod.c?revision=252605&view=markup
  5. Compartmentalisation (r252603): http://lists.freebsd.org/pipermail/svn-src-head/2013-July/049115.html
  6. Capsicum-Flags setzen (r252605): http://lists.freebsd.org/pipermail/svn-src-head/2013-July/049116.html
  7. Vollständiger Quellcode von tcpdump (BSD-Lizenz): http://p4db.freebsd.org/fileDownLoad.cgi?FSPC=//depot/user/pjd/capsicum/contrib/tcpdump/tcpdump.c&REV=17
  8. Vergleich der Sandboxing-Technologien, Robert N. M. Watson, University of Cambridge, Seite 11: http://www.cl.cam.ac.uk/~jra40/publications/2010/USENIXSEC-capsicum.pdf

Ähnliche Artikel

comments powered by Disqus
Mehr zum Thema

FreeBSD 9.0 erschienen

Das FreeBSD-Projekt stellt sein neues Relaease 9.0 vor.

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Google+

Ausgabe /2019