Was ist ein sicheres Betriebssystem?

Nach der Veröffentlichung unseres Artikels über den Hack von Kraftfahrzeugen erhielten wir eine Reihe von Anfragen bezüglich unseres Betriebssystems KasperskyOS. Die Absender bemerkten völlig zu Recht, dass es auf dem Markt bereits einige gute und zuverlässige Betriebssysteme gibt, die unter anderem auch für die Autoindustrie vorgesehen sind. Das Hauptargument, das die technische Überlegenheit der konkurrierenden Lösungen beweisen soll, besagt, dass das Prinzip der Isolation der Sicherheitsdomains keine grundsätzlich neue Idee ist, und viele der bereits realisierten und eingesetzten Systeme eine Vielzahl zusätzlicher Sicherheitsfunktionen haben, die von den aktuellen Anforderungen diktiert werden – die Umsetzung von Verschlüsselungsprotokollen, Netzfiltern und einer Funktionalität zum Schutz vor Netzattacken. Einige dieser Systeme sind sogar für die Kompatibilität mit verschiedenen Sicherheitsstandards zertifiziert!

Zweifellos sind alle diese zusätzlichen funktionalen Möglichkeiten (und auch Zertifikate) wichtig, doch kann man ein Betriebssystem nur aufgrund der Existenz dieser Funktionalität sicher nennen? Um auf diese Frage antworten zu können, muss man zunächst einmal eine andere beantworten: „Was ist ein sicheres Betriebssystem?“. Aus unserer Sicht sollte ein solches Betriebssystem die sichere oder vertrauenswürdige Ausführung von nicht sicheren Komponenten (Programmen) garantieren.

In unserem Konzept gibt es zwei äußerst wichtige Aspekte, von denen einer ganz offensichtlich ist – wir vertrauen keiner Software von Drittanbietern und halten sie per definitionem für nicht sicher und nicht zuverlässig. Und der zweite, nicht so offensichtliche Aspekt –wir müssen dem Betriebssystem vertrauen und davon ausgehen, dass die Funktionalität des Kernels vertrauenswürdig ist. Um das Vertrauensniveau anzuheben, sollte der Kern eine formale und mathematische Verifikation durchlaufen (das Thema Verifikation verlangt nach einer gesonderten großen wissenschaftlichen Abhandlung).

Mit diesem Paradigma als Basis haben wir uns nicht auf die Umsetzung einer nur sicheren Architektur auf der Grundlage eines vertrauenswürdigen Kerns beschränkt, sondern haben auch die Erfahrungen in der Realisierung bereits existierender geschützter Betriebssysteme einbezogen. Die Grundprinzipien, wie etwa die Aufgliederung der Sicherheitsdomains oder der Mikrokern sind nur die eine Hälfte. Das Studium anderer Systeme und ihrer Einschränkungen gibt einem die Möglichkeit, nicht nur bekannte Probleme zu vermeiden, sondern auch neue Wege zur Umsetzung von Sicherheitsmerkmalen zu finden. Dabei herausgekommen ist ein Betriebssystem, das anderen Betriebssystemen hinsichtlich der Funktionsprinzipien einerseits ähnelt und das andererseits über eine Reihe von Besonderheiten verfügt, die auf die Überwindung bekannter Einschränkungen ausgelegt sind und die die Sicherheitsmerkmale des Systems verbessern sollen, auf dem das Betriebssystem läuft.

Als Beispiel für eine solche Verbesserung möchte ich auf die Typisierung der Interprozesskommunikation (IPC) verweisen. Diese, wie es scheint, offensichtliche Sache ermöglicht es uns, Daten auf niedriger Ebene zu kontrollieren, die in Aufrufen von Anwendungen übermittelt werden, und den Sicherheitspolicies ein vorher nicht dagewesenes Level von Granularität der Kontrolle zu verleihen. Eine andere Möglichkeit ist die Komposition verschiedener Arten von Sicherheitspolicies in einem System, beispielsweise der Policy-Typen Flow Control und Type Enforcement. Die daraus resultierende Politik ist eine Mischung aus den Policies stateful und stateless, die das Beste aus beiden Welten vereint. Selbstverständlich sind die Kombinationsmöglichkeiten nicht auf diese beiden Typen beschränkt. Eine solche Flexibilität findet man in keinem anderen kommerziellen Betriebssystem. Diese Funktionalität gewährleistet eine strenge Kontrolle der Interprozesskommunikation, und zwar nicht nur auf der Grundlage von Wissen über das Objekt und das Subjekt (wer bei wem anfragt), sondern auf der Grundlage von Wissen über den Kommunikationskontext auf höherer Ebene (was wird angefragt, wann werden welche Daten übermittelt).

Unter den anderen Besonderheiten von KasperskyOS dürfen die flexible Sprache zur Beschreibung der Sicherheitspolicies sowie das System zur Verifizierung der Policy nicht unerwähnt bleiben, die sowohl das Programmieren als auch die Feinjustierung der Policies erheblich vereinfachen. Und vieles mehr. Die Einzigartigkeit unserer Entwicklungen wird durch Patente bestätigt, die in den USA und in Russland ausgestellt wurden.

Herausgekommen ist unserer Meinung nach ein Betriebssystem, in dem das Prinzip der sicheren Ausführung nicht vertrauenswürdiger Anwendungen umgesetzt wurde. Dieses Ziel wurde unter anderem durch die Aufgliederung der Sicherheitsdomains und der gleichzeitigen strengen und flexiblen Kontrolle der Interprozesskommunikation erreicht. Das bedeutet, dass die Module innerhalb des Betriebssystems nur über ein bestimmtes Protokoll interagieren und nur erlaubte Funktionen in streng definierter Reihenfolge aufrufen dürfen. Für die Verbraucher bedeutet das, dass – selbst wenn in irgendeinem Modul eine Sicherheitslücke vorhanden ist, die ein Hacker ausnutzen kann (und wir zulassen, dass es eine gibt) -,der Hacker dank der Besonderheiten unseres Betriebssystems nur die Kontrolle über das angreifbare Modul erhält und die Funktion der anderen Module auf keine Weise gefährden kann, da die gesamte Kommunikation kontrolliert wird.

Ein Betriebssystem ist mit einem Schutzschild vergleichbar. Alle zusätzlichen integrierten Sicherheitsfeatures, inklusive Firewall, sichere Datenübertragungsprotokolle und sogar Zertifizierung – all das sind die Beschläge auf dem Schild. Sie alle verleihen der Konstruktion zweifellose mehr Stabilität, doch das allgemeine Schutzniveau hängt nicht von ihnen ab. Wichtiger als die Architektur sind die im Betriebssystem umgesetzten Prinzipien. Sie entscheiden, ob das Schild aus Pappe, Holz oder Eisen ist. Viele Betriebssysteme haben hervorragende Beschläge – doch passen sie auch auf jedes Schild?

Ähnliche Beiträge

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.