Serie: US-Bewertungskriterien für vertrauenswürdige DV-Systeme und Rechnernetze (Folge 3)

Formale Methoden begründen Vertrauen in A1

01.07.1988

"Auf dem Weg von D nach A nimmt das Vertrauen zu". So lautete die Überschrift zu Folge 2 dieser Serie, die sich mit dem sogenannten Orange Book des US-Verteidigungsministeriums, respektive dessen Grundlagen, befaßte. Im folgenden nun geht es, nachdem es zuvor um die Einstufung von Einzelanforderungen an sicherheitsrelevante Produkte ging, darum, wie diese beschaffen sein müssen, wenn sie Gruppenidentität gewinnen sollen.

Klasse D

Die Bewertungsklasse D nimmt insofern eine Sonderstellung ein, als für sie keine Bewertungskriterien festgelegt sind. Ein Produkt wird dann der Klasse D zugeordnet, wenn festgestellt wurde, daß es nicht den Anforderungen einer höheren Bewertungsklasse genügt.

Klasse C1

Produkte der Klasse C1 unterstützen den benutzerbestimmbaren Zugriff von definierten Benutzern auf definierte Objekte. Dazu muß die TCB einen Mechanismus zur Verfügung stellen, mit dem festgelegt werden kann, welche Subjekte (Einzelnutzer, Benutzergruppen oder beide) Zugriff auf welche Objekte haben dürfen, und der die Einhaltung dieser Festlegungen bei der Durchführung des Zugriffs sicherstellt.

Die TCB muß sicherstellen, daß Benutzer nur dann mit dem System zusammenarbeiten können, wenn sie sich vorher gegenüber der TCB identifiziert haben und wenn sie von der TCB für die Zusammenarbeit authentisiert worden sind. Für die Authentisierung muß ein geschätzter Mechanismus (zum Beispiel Paßwort) vorhanden sein und die Authentisierungsdaten müssen vor Kenntnisnahme durch Unbefugte geschätzt werden können.

Zum Schutz vor externen Störungen und vor unbefugter Manipulation ihres Codes muß die TCB in einer eigenen Schutzumgebung ablaufen. Für die Hard- und Firmwarekomponenten, die durch TCB genutzt werden, müssen Mechanismen zur Verfügung stehen, die die korrekte Arbeitsweise dieser Komponenten in regelmäßigen Abständen überprüfen. Durch Tests muß bestätigt werden, daß die Sicherheitsmechanismen so wirken, wie es in der Dokumentation beschrieben ist und daß es für Ungefügte keine Möglichkeit gibt, diese Mechanismen zu umgehen oder unwirksam zu machen.

Die Wirkungsweise der Sicherheitsmechanismen der TCB muß zusammenhängend - entweder in einem Kapitel der Nutzerdokumentation oder in einem besonderen Sicherheitshandbuch - beschrieben werden, und für den Systemverwalter müssen in einem besonderen Handbuch die Maßnahmen beschrieben sein, die bei der Verarbeitung von sensitiven Daten zu treffen sind.

Klasse C2

Produkte der Klasse C2 unterstützen eine feinere Granularität des benutzerbestimmbaren Zugriffs als Produkte der Klasse C1. Dazu muß die TCB in der Lage sein, Zugriffe für den Einzelnutzer zu gewähren beziehungsweise zu sperren. Der in der TCB realisierte Mechanismus zur benutzerbestimmbaren Zugriffskontrolle muß es ermöglichen, die Weitergabe von Zugriffsrechten einzuschränken und er muß sicherstellen, daß. Objekte explizit vor unbefugtem Zugriff geschätzt werden können. Um auszuschließen, daß Subjekte unbefugten Zugriff auf Daten erhalten können, die vorher von anderen Subjekten bearbeitet wurden (Residuen), muß die TCB sicherstellen, daß ein Speicherobjekt bei seiner Zuweisung zu einem Subjekt keine Daten enthält, für die dieses Subjekt nicht zugriffsberechtigt ist.

Die TCB muß einen Mechanismus zur Verfügung stellen, mit dem jeder Systembenutzer eindeutig identifiziert werden kann. Jede Aktion eines Systembenutzers, die für eine spätere Sicherheitsauswertung aufgezeichnet werden soll, muß mit dieser Identifikation versehen werden können. Die TCB muß Aufzeichnungen über sicherheitsrelevante Benutzeraktionen anlegen, insbesondere über Zugriffe auf die Objekte, die sie schützen soll. Sie muß unbefugte Zugriffe und unbefugte Änderungen auf diese Aufzeichnungen ausschließen. Die Aufzeichnungen müssen Angaben über Datum und Uhrzeit, Erfolg oder Mißerfolg und Identität des Verursachers enthalten. Der Systemadministrator muß in der Lage sein, die Aktivitäten der Benutzer mit Hilfe der Aufzeichnungen selektiv zu überprüfen.

Die TCB muß in einem eigenen Schutzbereich ablaufen, der verhindert, daß ihr Code oder ihre Datenstrukturen von außerhalb geändert werden können. Sie muß die Betriebsmittel, die sie schützen soll, so von den restlichen Betriebsmitteln des Systems isolieren, daß Zugriffe darauf überwacht und aufgezeichnet werden können. Beim Test muß insbesondere auf Schwachstellen geachtet werden, die eine Umgehung der Isolation der Betriebsmittel erlauben oder die den unbefugten Zugriff auf die Aufzeichnungen sicherheitsrelevanter Aktionen oder auf Authentisierungsdaten möglich machen.

Die Dokumentation muß enthalten, wie die Aufzeichungen von sicherheitsrelevanten Ereignissen durchgeführt und ausgewertet werden, ebenso muß die Art und Weise der Aufzeichnung der einzelnen Ereignisse im Detail beschrieben sein.

Klasse B1

Bei Produkten der Klasse B1 muß die TCB erstmals zusätzlich zu dem benutzerbestimmbaren Zugriff der vorhergehenden Klassen den festgelegten Zugriff für alle Subjekte und Objekte unterstützen, die ihrer Kontrolle unterliegen. Dazu muß sie diese mit Kennzeichen versehen können, die ihre Ermächtigung beziehungsweise ihre Einstufung angeben. Die Entscheidung über einen Zugriff erfolgt dann auf der Grundlage dieser Kennzeichen nach den in Ziffer 2.1 angegebenen Regeln. Bei I/O-Kanälen muß die TCB festlegen können, ob diese Kanäle für die Übertragung von Daten eines oder mehrerer Sensitivitätsgrade zugelassen sind. Bei der Ausgabe von sensitiven Daten in lesbarer Form muß die TCB sicherstellen, daß diese Daten korrekt mit der Einstufung versehen werden, die dem intern verwendeten Kennzeichen entspricht.

Zusätzlich zu den Daten für die Authentisierung der Benutzer muß die TCB Angaben über deren Ermächtigung und Zugriffsrechte speichern. muß alle Objekte, die im Auftrag eines Benutzers erzeugt werden (zum Beispiel Prozesse) mit diesen Angaben versehen. Der Systemadministrator muß in der Lage sein, die Aktivitäten eines oder mehrerer Benutzer zu überprüfen.

Zur Isolation von Prozessen muß die TCB getrennte Adreßräume zur Verfügung stellen.

Die Übereinstimmung zwischen der Funktion der Sicherheitsmechanismen und ihrer Beschreibung in der Systemdokumentation muß durch Tests nachgewiesen werden. Entwurfsdokumentation, Quell- und Objektcode müssen überprüft werden, um alle Entwurfsund Regierungsfehler zu entdecken, die einem außerhalb der TCB befindlichen Subjekt die Manipulation von Daten ermöglichen würden, die der Kontrolle der TCB unterliegen.

Alle erkannten Fehler müssen beseitigt werden und anschließend muß nachgewiesen werden, daß die Fehler beseitigt wurden, und daß durch die Fehlerbeseitigung keine neuen aufgetreten sind. Erstmals muß in dieser Klasse die Sicherheitspolitik durch ein Modell beschrieben sein, dabei kann die Beschreibung entweder formal oder semi-formal erfolgen, und es muß gezeigt werden, daß das Modell konsistent zu der Sicherheitspolitik ist. In einem Handbuch müssen die sicherheitsrelevanten Aufgaben des Operators und des Administrators beschrieben werden. Insbesondere muß aufgezeigt werden, wie die Parameter geändert werden können, die die Rechte eines Benutzers beschreiben. Das Sicherheitsmodell muß in der Entwurfsdokumentation beschrieben sein und es muß nachgewiesen sein, daß dieses Modell ausreicht, um die vorgegebene Sicherheitspolitik durchzusetzen.

Klasse B2

Die TCB von Produkten der Klasse B2 muß den festgelegten Zugriff für alle Betriebsmittel durchsetzen, auf die von Subjekten außerhalb der TCB zugegriffen werden kann. Dazu müssen diese Betriebsmittel mit Sensitivitätskennzeichen versehen werden können, die von der TCB verwaltet werden müssen.

Für das Log-in und für die Authentisierung muß die TCB einen vertrauenswürdigen Kommunikationsweg zwischen der TCB und dem Benutzer zur Verfügung stellen. Damit soll unter anderem verhindert werden, daß der Eröffnungsdialog durch ein "bösartiges" Programm abgefangen wird, um zum Beispiel unbefugt Paßworte zu erhalten.

Ab Klasse B2 gewinnt die Strukturierung der TCB eine besondere Bedeutung für die Vertrauenswürdigkeit eines Produktes. Dazu muß die TCB aus weitgehend voneinander unabhängigen Moduln bestehen, die nach dem Grundsatz der minimalen Rechte aufgebaut sind. Sie muß in einem eigenen Bereich ablaufen, und sie muß Prozesse dadurch isolieren, daß sie getrennte Adreßräume zur Verfügung stellt. Die TCB muß die Möglichkeiten der Hardware nutzen, um sicherheitsrelevante und nicht-sicherheitsrelevante Elemente voneinander zu trennen.

In dieser Klasse wird auch erstmals das Problem der verdeckten Kanäle (Speicher- und Zeitkanäle) angesprochen. Verdeckte Kanäle sind Wege, die den Fluß von Daten auf eine Art ermöglichen, die der festgelegten Sicherheitspolitik widerspricht. Der Hersteller des Produktes muß eine gründliche Suche nach verdeckten Speicherkanälen durchfuhren und die maximale Bandbreite jedes identifizierten Kanals entweder durch Messung oder durch Schätzung bestaunen.

Zur Unterstützung des Systembetriebes muß die TCB getrennte Funktionen für den Operator und für den Administrator zur Verfügung stellen. Bei den Tests muß sich die TCB als relativ widerstandsfähig gegen Eindringversuche erweisen. Für die Klasse B2 wird erstmals ein formales Modell der Sicherheitspolitik gefordert, die das Produkt durchsetzen soll. Von der TCB muß eine semi-formale Top-Level-Spezifikation vorliegen, und es muß gezeigt werden, daß diese Spezifikation eine genaue Beschreibung der Schnittstelle zur TCB darstellt.

Für Entwicklung, Pflege und Änderung der TCB muß ein Verfahren zum Konfigurationsmanagement vorhanden sein, mit dem Änderungen des Codes und der Dokumentation auf dem aktuellen Stand gehalten werden können. Für die Generierung einer neuen Version der TCB aus dem Quellcode müssen geeignete Werkzeuge zur Verfügung stehen, mit denen die neu erzeugte Version mit der vorhergehenden verglichen werden kann. Damit muß feststellbar sein, ob nur die geplanten Änderungen des Codes durchgeführt wurden, der anschließend als neue Version eingesetzt werden soll.

Im Betriebshandbuch müssen die Moduln der TCB klar identifiziert werden, die den Mechanismus zur Zugriffsüberprüfung enthalten. Weiterhin muß beschrieben sein, wie eine neue TCB nach einer Änderung von Moduln generiert werden muß.

Klasse B3

Die TCB der Klasse B3 muß den benutzerbestimmbaren Zugriff in erweiterter Form dadurch unterstützen, daß jedem Objekt, das mit einem Namen versehen ist, eine Liste von Einzelnutzern und eine Liste von Gruppen von Einzelnutzern einschließlich ihrer jeweiligen Zugriffsrechte auf dieses Objekt zugeordnet werden kann. Weiterhin muß es möglich sein, jedem dieser ,Objekte eine Liste von Einzelnutzern und eine Liste von Gruppen von Einzelnutzern zuzuordnen, für die ein Zugriff auf dieses Objekt verboten ist.

Der vertrauenswürdige Weg zwischen Benutzer und TCB muß sowohl durch den Benutzer als auch durch die TCB aktiviert werden können, und er muß von anderen Kommunikationswegen logisch getrennt und deutlich unterscheidbar sein. Die TCB muß einen Mechanismus enthalten, der in der Lage ist, das erstmalige Auftreten oder die Häufung von Ereignissen zu erkennen, die eine Verletzung der Sicherheitspolitik bedeuten könnten. Dieser Mechanismus muß den Sicherheitsadministrator sofort benachrichtigen, wenn solche Ereignisse einen bestimmten Schwellwert überschreiten, und sie müssen automatisch so beendet werden können, daß das System am wenigsten gestört wird.

Das Design und die Struktur der TCB muß auf einem Schutzmechanismus aufbauen, der konzeptionell einfach aber umfassend ist. Dieser Mechanismus muß eine zentrale Rolle für die interne Struktur der TCB und des Systems spielen. Die TCB muß weitgehend unter Anwendung der Prinzipien von Schichtung, Abstraktion und Geheimhaltung (layering, abstraction, data hiding) realisiert werden.

Ein wesentlicher Anteil des Entwicklungsaufwandes muß in die Minimierung der Komplexität der TCB und in Überlegungen zur Auslagerung von nicht-sicherheitsrelevanten Modulen aus der TCB investiert werden. Die Funktionen, die in der Rolle als Sicherheitsadministrator genutzt werden können, müssen beschrieben werden. Verfahren und/oder Mechanismen müssen zur Verfügung gestellt werden, mit denen sichergestellt werden kann, daß nach Systemausfällen oder anderen Unregelmäßigkeiten ein Wiederanlauf ohne Gefährdung der Sicherheit möglich ist. Im Test muß nachgewiesen werden, daß die TCB resistent gegen Eindringungsversuche ist, und während der Tests dürfen keine Entwurfsfehler und nur einige korrigierbare Implementierungsfehler gefunden werden.

Klasse A1

Produkte der Klasse A1 sind funktional den Produkten der Klasse B3 gleichzustellen, sie weisen keine zusätzlichen Forderungen hinsichtlich der Sicherheitspolitik und Nachvolziehbarkeit auf. Das wesentliche Merkmal dieser Klasse ist der weitgehende Einsatz von formalen Methoden, die das hohe Vertrauen in die korrekte Funktion der Produkte dieser Klasse begründen.

Die Ermittlung von verdeckten Kanälen und deren Bandbreite muß mit Hilfe formaler Methoden erfolgen. Für die TCB muß eine formale Top-Level-Spezifikation vorliegen, und es muß durch eine Kombination von formalen und nicht formalen Hilfsmitteln nachgewiesen werden, daß die formale Top-Level-Spezifikation der TCB konsistent zu dem formalen Modell der Sicherheitspolitik ist. Es muß manuell oder auf sonstige Art überprüft werden, ob der Sourcecode konsistent zur formalen Top-Level-Spezifikationen ist, um dadurch die korrekte Implementierung der TCB nachzuweisen.

Während des gesamten Lebenszyklus der TCB muß für die sicherheitsrelevante Hardware, Firmware und Software ein System zur Konfigurationsüberwachung vorhanden sein, mit dessen Hilfe alle relevanten Dokumente und der Code verwaltet werden. Durch organisatorische und technische Maßnahmen muß sichergestellt werden, daß das Original der TCB vor unbefugter Modifikation oder Zerstörung geschätzt wird.

Es muß eine vertrauenswürdige DV-Einrichtung für die Überwachung und Verteilung der TCB eingerichtet werden, die sicherstellt daß die Versionen der TCB, die im Einsatz sind, mit der Originalversion übereinstimmen. Für die Verteilung der TCB-Versionen muß ein vertrauenswürdiges Verfahren eingesetzt werden.

wird fortgesetzt

* Dietrich Cerny ist Mitarbeiter im Luftwaffenamt.