[HGI-News] Seminar, Montag 10.07.06: Sicherheit unter architekturellen Gesichtspunkten

Newsletter des Horst Görtz Instituts hgi-news at lists.ruhr-uni-bochum.de
Mi Jul 5 11:32:47 CEST 2006


      Andreas Bogk und Hannes Mehnert, Technische Universität Berlin

                Montag 10. Juli 2006, 13:15 Uhr IC 4 / 30

            Sicherheit unter architekturellen Gesichtspunkten

Die populären Rechnersysteme leiden derzeit unter einer Vielzahl von
Sicherheitsrisiken. Bei näherer Betrachtung der verschiedenen Fehlerklassen,
die zu diesen Risiken führen, läßt sich feststellen, daß ein signifikanter
Anteil zu Lasten der für Systemprogrammierung nach wie vor eingesetzten
Programmiersprachen C und C++ gehen. Dieser Effekt wird verstärkt durch die
oftmals mehrere Millionen Zeilen umfassende Trusted Code Base im Kernel
aktueller Systeme.

Der derzeitig gängige Ansatz zur Erhöhung der Sicherheit versucht, durch
die Separierung existierender Software in voneinander abgeschirmte Systeme
(Virtualisierung, Micro-Kernel) die Auswirkungen eines Bugs und damit die
mögliche Ausnutzbarkeit zur Umgehung von Sicherheitsmechanismen zu begrenzen. Dies ist jedoch mit einem Verlust an Flexibilität an den Interfaces zwischen
den Systemen durch erhöhten Programmierungs- und Designaufwand an den
IPC-Schnittstellen verbunden. Ebenso wird die Gefahr durch Buffer Overflows
o.ä. Probleme nur begrenzt, nicht eliminiert, das Risiko eines Exploits
besteht nach wie vor.

Unser Ansatz ist daher, C und C++ als Implementierungssprache für
Betriebssysteme zu verwerfen, und eine Sprache zu wählen, die die Sicherheit
des Gesamtsystems bereits auf semantischer Ebene garantiert. Die Trusted
Code Base wird auf den Compiler sowie abgegrenzte Bereiche der Runtime
beschränkt. Weiterhin erlaubt die Wahl einer Sprache mit mächtigeren
Abstraktionswerkzeugen auch eine bessere Gestaltung von Sicherheits-
mechanismen auf höheren Ebenen. Schließlich ist es mit höheren Sprachen
einfach möglich, komplexe Sachverhalte auszudrücken, so daß sich die Anzahl
der zu wartenden Code-Zeilen und damit die absolute Anzahl von Fehlern
verringert.

Nach Betrachtung verschiedener Optionen für die Implementierungssprache
haben wir uns für die objektorientierte, dynamisch typisierte
Programmiersprache Dylan entschieden. Wir wollen unseren Ansatz, unsere
Entscheidungskriterien und Dylan selbst vorstellen. Als wichtigen Milestone
zeigen wir den von uns implementierten TCP/IP-Stack.


Wir freuen uns auf Ihr zahlreiches Erscheinen
 Michael Psarros
-- 
____________________________________________________________________________
 Michael Psarros <michael.psarros at nds.rub.de>         http://www.nds.rub.de
 Chair for Network and Data Security                  Tel: +49 234 32 27352
 Ruhr-University Bochum, Germany                        Building IC 4 / 152



Mehr Informationen über die Mailingliste Hgi-News-Deutschland