# Mandatory Access Control

Mandatory Access Control (MAC), zu Deutsch etwa: obligatorische Zugangskontrolle, beschreibt eine systembestimmte, auf Regeln basierende Zugriffskontrollstrategie und ist ein Oberbegriff für Konzepte zur Kontrolle und Steuerung von Zugriffsrechten, vor allem auf IT-Systemen. Die Entscheidungen über Zugriffsberechtigungen werden nicht nur auf der Basis der Identität des Akteurs (Benutzers, Prozesses) und des Objekts (Ressource, auf die zugegriffen werden soll) gefällt, sondern aufgrund zusätzlicher Regeln und Eigenschaften (wie Kategorisierungen, Labels und Code-Wörtern). Im Unterschied zu anderen Sicherheitsmodellen wie dem benutzerbestimmbaren DAC-Modell oder dem rollenbasierten RBAC-Modell werden spezielle Funktionen in das IT-System und die Anwendungsprogramme eingearbeitet, die den Zugriff, die Benutzung und Konvertierung von Informationen nur unter den im jeweiligen Konzept geltenden Voraussetzungen erlauben.

## Einsatzgebiete

Modelle der Mandatory Access Control dienen dazu, die Sicherheit von Informationen vor unautorisiertem Zugriff sicherzustellen und auch systemtechnisch zu erzwingen. Der Schutz der Informationen bezieht sich auf Vertraulichkeit und Integrität.

### Vertraulichkeit

    Verhindern des Zugriffs von nicht autorisierten Personen auf geschützte Informationen. Als Beispiel können hier Informationen aufgeführt werden, die der Geheimhaltung unterstehen.

### Integrität

    Verhindern der Manipulation von Informationen durch unautorisierte Personen. Als Beispiel kann hier die Befehlskette eines militärischen Einsatzsystems wie den Command-and-Control-Systemen angeführt werden.
Eine Ausprägung ist die Umsetzung der Zugriffskontrolle in IT-Systemen. Weiterhin können die Sicherheitsmodelle analog auch in Organisationsformen, Prozessen sowie in der Gebäudetechnik eingesetzt werden.
Vor allem im Bereich des Militärs werden solche Zugriffssysteme benötigt, wobei es sich um sensible Informationen bezüglich der Kriegsführung handelt, aber auch im Bereich der Behörden, wobei es sich hier um Informationen bezüglich Technik, Politik, Außenhandel sowie der Nachrichtentechnik handelt. Siehe hierzu auch Verschlusssache. Ein weiterer Anwendungsbereich sind Patientendaten in der Gesundheitsbranche, zum Beispiel bei der Patientenkarte.
Es existieren zwei Arten von MAC-Konzepten:
* Im einfachsten (und auch z. T. historischen) Fall, den Multi-Level-Sicherheitssystemen, bilden solche Systeme das Modell der Schutzstufen ab. Für mehr Informationen siehe Abschnitt Multi-Level-Sicherheitssysteme.
* Im komplexeren Fall, den multilateralen Sicherheitsmodellen, bilden solche Systeme nicht nur eine vertikale Gliederung in Schutzstufen ab, sondern einen Verband (engl. lattice) bestehend aus mehreren Schutzstufen und Codewörtern (engl. „labels“). Für mehr Informationen siehe Abschnitt Multilaterale Sicherheitsmodelle.

## Multi-Level-Sicherheitssysteme

Die Multi-Level-Sicherheitssysteme (MLS) (englisch: multilevel security oder auch multiple levels of security) entsprechen der ursprünglichen Form der Mandatory Access Control, die in den 1970er Jahren beschrieben wurde. Meistens wurden Implementierungen auf Mainframes im militärischen oder sicherheitstechnischen Bereich verwendet. Bis heute ist diese Art der Mandatory Access Control am weitesten verbreitet. Bei den MLS-Systemen wird der Zugriff immer anhand des Modells der Schutzstufen abgebildet. Dabei wird jedes Objekt (Ressource, auf das zugegriffen werden soll) einer Schutzstufe zugeordnet. Die einzelnen Schutzklassen unterteilen die Objekte in „Schichten“ (vertikale Gliederung). Der Ausdruck „vertikal“ bezieht sich auf den Informationsfluss und bedeutet, dass Informationen ohne Weiteres nur innerhalb Schichten fließen dürfen. Eine geheime Information darf nicht öffentlich werden. Jedem Subjekt (Akteur, Benutzer) wird nun ebenfalls eine Schutzstufe zugewiesen (Vertrauen). Ein Subjekt darf nur dann auf ein Objekt einer anderen Schicht zugreifen, wenn die Schutzstufe des Subjekts (die Clearance einer Person) mindestens so hoch ist wie die Schutzstufe des Objekts (beispielsweise die Geheimhaltungsstufe eines Dokuments). Die Zugriffssicherheit bezieht sich auf den Top-Down- und Bottom-Up-Informationsfluss.

### Bell-LaPadula

Das Bell-LaPadula-Modell befasst sich mit der Vertraulichkeit der Daten. Es soll nicht möglich sein, Informationen einer höheren Schutzstufe zu lesen oder Informationen einer höheren Schutzstufe in eine tiefere Schutzstufe zu überführen. Systeme, die auf dem Bell-LaPadula-Prinzip basieren, wurden vor allem dann verwendet, wenn Daten einer gewissen Geheimhaltung unterliegen. Die klassischen Bell-LaPadula-Systeme wurden durch Lattice- oder Compartment-basierende Systeme abgelöst.

### Biba

Das Biba-Modell stellt eine Umkehrung des Bell-LaPadula-Modells dar: Hier werden Informationen nicht vor dem Lesen, sondern vor Manipulation durch Unbefugte geschützt. Das Biba-Modell legt einen Schwerpunkt auf die Integrität der Daten. Es wird einerseits in der Informationstechnik verwendet, z. B. als Gegenmaßnahme bei Angriffen auf sicherheitsrelevante Systeme wie Firewalls, andererseits auch bei militärischen Systemen, wo es grundlegend wichtig ist, dass ein Befehl in der Kommandokette nicht modifiziert werden kann und somit eine falsche Anweisung weitergegeben wird.

### LoMAC

Low-Watermark Mandatory Access Control ist eine Variation des Biba-Modells, die erlaubt, dass Subjekte hoher Integrität lesend auf Objekte niedrigerer Integrität zugreifen. Es wird die Integrität des lesenden Subjekts heruntergesetzt, damit dieses nicht mehr schreibend auf Objekte mit hoher Integrität zugreifen kann. LoMAC-Systeme werden vor allem in chroot-Anwendungen wie Honeypot implementiert.

## Multilaterale Sicherheitsmodelle

Der Begriff multilaterale Sicherheitsmodelle wird für Sicherheitssysteme verwendet, die nicht nur Top-down- oder Bottom-up-Betrachtungen anstellen, wie das Bell-LaPadula oder Biba-Modell, sondern die Zugriffsrechte auf Basis von Segmenten vergeben. Solche Systeme bilden einen Verband (engl. lattice) bestehend aus mehreren Schutzstufen und Codewörtern (engl. „labels“) ab. Technisch sind sowohl Schutzstufen als auch Codewörter als Labels abgebildet. Somit ergibt sich ein horizontales Zugriffssystem (die Codewörter), das zusätzliche vertikale Eigenschaften (die Schutzstufen) aufweist. Ein Zugriff auf geschützte Information ist nicht nur mit einer Klassifizierung geheim möglich, sondern es müssen alle Schutzstufen und Code-Wörter erfüllt werden. Wenn Benutzer A Lesezugriff auf die Klassifizierung streng vertraulich besitzt, kann er Informationen dieser Klassifizierung lesen. Derselbe Benutzer besitzt aber keinen Zugriff auf Daten, die als streng vertraulich (CodeWord: Krypto) klassifiziert sind. Um den komplexeren Sachverhalt zu verdeutlichen, werden diese Systeme auch als Policy-basierende Sicherheitsmodelle oder regelbasierte Sicherheitssysteme bezeichnet.

### Compartment- oder Lattice-Modell

Auch bezeichnet als Lattice-Modell oder Compartment (zu deutsch: Verband oder Kategorie). Das Compartment-Modell basiert auf dem Bell-LaPadula Modell, erweitert die Zugriffe um Codewörter und bildet somit einen Verband (Lattice). Es werden „zulässige und unzulässige Informationskanäle zwischen Subjekten“ beschrieben. Das Lattice-Modell wurde 1993 von Ravi S. Shandu und 1976 von Dorothy E. Denning beschrieben. Wenn Benutzer A Lesezugriff auf die Klassifizierung streng vertraulich und Klassifizierung vertraulich besitzt, kann er Informationen dieser Klassifizierung lesen. Derselbe Benutzer besitzt aber keinen Zugriff auf Daten, die als Streng-Vertraulich-(Krypto) klassifiziert sind. Nur wenn der Benutzer Zugriff auf die Klassifizierungen streng vertraulich und Krypto besitzt, kann er auf die Daten zugreifen.
Im Prinzip stellt das Modell eine Kombination von Schutzstufen mit dem Prinzip des notwendigen Wissens (englisch: Need to know principle) dar: Objekte werden sowohl vertikal (nach Schutzstufe) als auch horizontal (nach Sachgebiet) unterteilt. Subjekte werden pro Sachbereich einer Schutzstufe zugeordnet. Ein Zugriff kann nur erfolgen, wenn die Voraussetzungen beider Regelsysteme erfüllt sind. Hauptaugenmerk wird auf eine Kontrolle des Informationsflusses gelegt. Es soll nicht möglich sein, dass vertrauliche Informationen an nicht vertrauenswürdige Personen weitergegeben werden.

### Chinese Wall – Brewer-Nash

Der Ausdruck Chinese Wall hat seine Ursprünge in der Finanzbranche und bezeichnet bestimmte Regeln, die verhindern sollen, dass ein Interessenkonflikt herbeigeführt wird (siehe auch Chinese Wall (Finanzwelt)). Das IT-System soll eine „unzulässige Ausnutzung von Insiderwissen bei der Abwicklung von Bank- oder Börsentransaktionen“ oder die Weitergabe von unternehmensspezifischen Insiderinformationen an konkurrierende Unternehmungen durch einen Berater verhindern.

## Weitere Sicherheitsmodelle
### Clark Wilson

Das Clark-Wilson-Modell beschreibt die Integrität von kommerziellen, nicht-militärischen Systemen und ist eine Variation des klassischen MAC-Ansatzes. Praktisch jeder Großrechner verarbeitet Daten auf Basis des Clark-Wilson-Modells.
* Das System befindet sich in einem gültigen (konsistenten) Anfangszustand.
* Zugriff auf das System nur mittels explizit erlaubter Transaktionen.
* Nur solche Transaktionen sind erlaubt, die das System unter allen Umständen in einen (neuen) gültigen Zustand bringen.

### BMA-Modell (British Medical Association)

Das BMA-Modell wurde 1996 von Ross Anderson beschrieben. Das Modell vereint Eigenschaften des Clark-Wilson-Modells mit dem Bell-LaPadula-Sicherheitsmodell. Das BMA-Modell ist ein Zugriffsmodell, das zum Schutz von medizinischen Daten entwickelt wurde. Das BMA-Modell ist generell anwendbar auf alle Daten, die dem Datenschutz unterstehen. 1996 wurde das Modell von der UEMO European Medical Organisation übernommen. Das BMA-Modell ist nicht zentral, sondern dezentral angelegt. Die Policy wird durch den Patienten bestimmt.

## Prinzip des notwendigen Wissens

Das Prinzip des notwendigen Wissens (engl.: need-to-know principle) bietet eine Alternative zum Schutzklassenmodell: Hier werden die Objekte „horizontal“ in Sachbereiche gegliedert; jedem Subjekt werden die Sachbereiche zugewiesen, für die er oder sie zuständig sein soll. Je nach Ausprägung muss nun ein Subjekt, das auf ein Objekt zugreifen will, entweder allen oder zumindest einem Sachgebiet angehören, das dem Objekt zugeordnet ist. So wird der Verbreitungsbereich von Informationen wesentlich eingeschränkt, eine Kontrolle der Informationsflüsse wird erleichtert.
Der Vorteil dieses Sicherheitskonzeptes besteht darin, dass den einzelnen Akteuren nur die Rechte eingeräumt werden, die sie für ihre Aufgabe benötigen. Hierdurch wird das Risiko eines Missbrauchs von Anwendungen durch Ausnutzung von Sicherheitslücken minimiert.
Das bedeutet zum Beispiel, dass eine Anwendung, die keine Berechtigung für Netzwerkzugriffe benötigt, hierfür keine Rechte erhält. Dies hat zur Folge, dass ein Angreifer, der eine Sicherheitslücke ausnutzen möchte, das Programm nicht dazu missbrauchen kann, um Netzwerkverbindungen herzustellen.
Der Nachteil dieses Konzeptes besteht in der Komplexität der Konfiguration, da für jede Anwendung ermittelt werden muss, welche Zugriffsberechtigungen diese benötigt.

## Implementierungen

| Hersteller – Implementation | Typus | System | Akkreditiert |
| NSA/Red Hat – SELinux | Variante von Bell-LaPadula | Fedora, RHEL, CentOS, Gentoo Linux, Debian, Darwin | – |
| TrustedBSD | Biba, LoMAC | TrustedBSD, Mac OS X, Darwin | – |
| Novell – AppArmor | – | Ubuntu, openSUSE, SLES | – |
| Rule Set Based Access Control (RSBAC) | Variante von Bell-LaPadula | Gentoo Linux, Debian, Fedora | – |
| Sun Microsystems | Variante von Bell-LaPadula | Sun Trusted Solaris | – |
| Microsoft | Biba | Windows Vista | – |
| Unisys | Biba, Bell-LaPadula, Lattice (compartment), Clark-Wilson | OS2200 | TCSEC B1 |
| Argus Systems Group PitBull LX | Lattice (compartment) | AIX, Sun Solaris, Linux | ITSEC F-B1, E3 |