Lokalisierung
Systeme Isolatprozesse in zwei Möglichkeiten.
Im ersten wird der Prozeß mit einem Klima dargestellt, das
scheint, ein Computer zu sein, der nur daß der lokalisiert zu werden
Prozeß oder jene Prozesse läuft. In der Sekunde wird ein Klima
zur Verfügung gestellt, in dem Prozeßtätigkeiten analysiert werden,
um festzustellen, wenn sie Informationen auslaufen. Die erste
Art des Klimas verhindert den Prozeß am Erreichen des
zugrundeliegenden Computersystems und aller möglicher Prozesse oder
die Betriebsmittel, die nicht Teil dieses Klimas sind. Die
zweite Art des Klimas emuliert nicht einen Computer. Sie ändert
bloß die Schnittstelle zwischen dem vorhandenen Computer und dem
process(es).
Virtuelle Maschinen
Die erste Art des Klimas wird eine virtuelle
Maschine genannt.
Eine virtuelle Maschine ist ein Programm,
das die Kleinteile des a (vielleicht abstrakt) Computersystems
simuliert.
Eine virtuelle Maschine benutzt ein spezielles
Betriebssystem, das einen virtuellen Maschine Monitor, um eine
virtuelle Maschine zur Verfügung zu stellen genannt wird, auf der
herkömmliche Betriebssysteme laufen können
Der Primärvorteil einer virtuellen Maschine ist
der bestehende Betriebssysteme braucht nicht geändert zu werden.
Sie laufen auf den virtuellen Maschine Monitor. Der
virtuelle Maschine Monitor erzwingt die gewünschte Sicherheit
Politik. Dieses ist zum Benutzer transparent. Der
virtuelle Maschine Monitor arbeitet als Sicherheit Kern.
In Politik ausgedrückt beschäftigt der virtuelle
Maschine Monitor Themen (die Themen, die die virtuellen Maschinen
sind). Selbst wenn eine virtuelle Maschine Hunderte Prozesse
laufen läßt, kennt der virtuelle Maschine Monitor nur in der
virtuellen Maschine aus. So kann sie Sicherheit Überprüfungen
an seinen Themen anwenden, und jene Kontrollen treffen auf die
Prozesse zu, die jene Themen laufen lassen. Dieses erfüllt die
Richtlinie der transitiven Beschränkung.
BEISPIEL: Das KVM/370 war eine Sicherheit-erhöhte
Version des IBM VM/370 virtuellen Maschine Monitors. Dieses
System stellte virtuelle Maschinen für seine Benutzer zur Verfügung,
und eins seiner Ziele war, Kommunikationen zwischen virtuellen
Maschinen der unterschiedlichen Sicherheit Kategorien zu verhindern,
also konnten Benutzer in den unterschiedlichen Sicherheit Kategorien
das System gleichzeitig benutzen. Wie VM/370 versah es virtuelle
Maschinen mit minidisks und ließ Systeme etwas Bereiche der Scheibe
teilen. Anders als VM/370 verwendete es eine Sicherheit Politik,
um Zugang zu geteilten Bereichen der Scheibe zu vermitteln, um
Kommunikationen zwischen Systemen zu begrenzen. |
BEISPIEL: Karger und Kollegen an der Digital
Equipment Corporation entwickelten einen virtuellen Maschine Monitor
(VMM) für das Dez VAX. Der Monitor ist ein Sicherheit Kern und
kann entweder das VMS oder das Ultrix Betriebssystem laufen lassen.
Die Durchläufe VMM auf den gebürtigen VAX Kleinteilen und wird
hervorgerufen, wann immer die virtuelle Maschine eine privilegierte
Anweisung durchführt. Seine Struktur ist von den virtuellen
Maschinen typisch, die entworfen sind, um Sicherheit zur Verfügung zu
stellen.
Das VAX hat vier Niveaus Privileg: Benutzer,
Inspektor, Hauptleiter und Kernmodi. Um eine kompatible
virtuelle Maschine zur Verfügung zu stellen, müssen die virtuellen
Maschinen vier Niveaus Privileg auch haben. Jedoch läßt der
Kernmodus einen Prozeß privilegierte Anweisungen in den VAX
Kleinteilen direkt zugänglich machen. Das nur VMM wird dies tun
gelassen. Die virtuellen Maschinen können nicht Kernmodus
zugänglich machen. Die Lösung soll virtuelle Modi zur
Verfügung stellen. Diese Modi sind der VM Benutzer
(entsprechend Benutzermodus), VM Inspektormodus und VM Hauptleiter und
DIE VM Kernmodi (beide wirklich Executivmodus).
Die Themen VMM sind Benutzer und virtuelle Maschinen.
VMM hat ein grundlegendes, flaches Dateisystem für seinen
eigenen Gebrauch und Fächer restliche Speicherkapazitaet unter den
virtuellen Maschinen. Jene Maschinen können jede mögliche Akte
Struktur benutzen, die sie wünschen, und jede virtuelle Maschine hat
seinen eigenen Satz Dateisysteme. Jedes Thema und Gegenstand
läßt einen Mehrebenensicherheit und Vollständigkeit Aufkleber und
die Sicherheit und Vollständigkeit Niveaus eine Zugang Kategorie
bilden. Zwei Wesen haben die gleiche Zugang Kategorie, wenn und
nur wenn ihre Sicherheit und Vollständigkeit Aufkleber dieselbe sind
und ein Wesen andere wenn beherrscht und nur wenn die Sicherheit und
Vollständigkeit Kategorien vorherrsch.
Ein integraler Bestandteil des VMM ist eine
revidiereneinheit. Diese Einheit notiert Klagen auf neuere
Analyse. |
Weil virtuelle Maschinen die gleiche Schnittstelle für
Kommunikation mit anderen virtuellen Maschinen zur Verfügung stellen,
die Computer voraussetzen, können jene Führungen der Kommunikation
kontrolliert sein oder trennten. Wie früh erwähnt, wenn ein
einzelner Wirt mehrfache virtuelle Maschinen laufen läßt, teilen
jene virtuellen Maschinen die körperlichen Betriebsmittel des Wirtes,
auf dem sie laufen. (sie können auch teilen logische
Betriebsmittel, abhängig von, wie der virtualizing Kern. eingeführt
wird) Dieses stellt einen fruchtbaren Boden für verdeckte
Kanäle zur Verfügung.
Sandboxes
Ein Spielplatz sandbox stellt ein sicheres Klima
für Kinder zur Verfügung, um innen zu bleiben. Wenn die Kinder
das sandbox ohne Überwachung lassen, können sie Sachen tun, die sie
nicht tun sollen. Das Computer sandbox ist ähnlich. Es
stellt ein sicheres Klima für Programme zur Verfügung, um innen
durchzuführen. Wenn die Programme das sandbox "verlassen",
können sie Sachen tun, die sie nicht tun sollen. Beide Arten
sandboxes schränken die Tätigkeiten ihrer Inhaber ein.
Ein sandbox ist ein
Klima, in dem die Tätigkeiten eines Prozesses eingeschränktes
Übereinstimmen zu einer Sicherheit Politik sind.
Systeme können Beschränkungen in zwei Möglichkeiten
erzwingen. Zuerst kann das sandbox das Durchführung Klima
begrenzen, wie gebraucht. Dieses wird normalerweise getan, indem
man Sicherheit-überprüfeneinheiten der Extrakosten den Bibliotheken
oder dem Kern hinzufügt. Das Programm selbst wird nicht
geändert. Z.B. ist der Kern VMM, der früh besprochen wird, ein
sandbox, weil er die Zugänge der (unveränderten) Betriebssysteme
begrenzt, die auf ihn laufen. Die Java virtuelle Maschine ist
ein sandbox, weil sein Sicherheit Manager Zugang der downloadeten
Programme zu den System Betriebsmitteln begrenzt, wie durch eine
Sicherheit Politik vorgeschrieben.
BEISPIEL: Der funktionsfähige Kern der Sidewinder
Brandmauer benutzt Art Durchführung, um Prozesse zu begrenzen.
Dieses ist ein Beispiel eines sandbox, das in einen Kern
errichtet wird, und es hat die Eigenschaft, daß das sandbox vom
Verkäufer definiert wird. Es soll nicht am Aufstellungsort
geändert werden. Solch ein Design ist für ein
schlüsselfertiges System typisch, das der beabsichtigte Gebrauch für
eine Sidewinder Brandmauer ist.
Die Java virtuelle Maschine, in der downloadete, applet
werden durchgeführt, sind ein anderes Beispiel eines sandbox.
Das sandbox schränkt den Satz der Akten, die der applet
erreichen kann und der Wirte ein, an die der applet anschließen kann.
Andere Sicherheit Einheiten erhöhen das sandbox.
DEE, die Art Durchführungeinheit für DTEL, ist ein
Beispiel, in dem Kernänderungen Systemverwaltern ermöglichen, ihre
eigenen sandboxes zusammenzubauen. Der Kern erzwingt die
Begrenzungen. |
Die zweite Durchführungmethode soll das durchgeführt zu
werden Programm (oder Prozeß) ändern. Dynamische Debugger und
einige Auswerteprogramme verwenden diese Technik, indem sie
Gebührenstafflungspunkte dem Code und hinzufügen, wenn die Falle
auftritt, den Zustand des laufenden Prozesses analysieren. Ein
verschiedenes, bekannt als Software-fehlerisolierung, addiert
Anweisungen, die Speicherzugriffüberprüfungen durchführen, oder
andere überprüft, während das Programm läuft, also verursacht
jeder möglicher Versuch, die Sicherheit Politik zu verletzen eine
Störung.
BEISPIEL: Janus führt ein sandbox ein. Es ist
ein Durchführung Klima, in dem System Anrufe eingeschlossen und
überprüft werden. Benutzer führen es durch, um die
Gegenstände einzuschränken und Modi des Zuganges von untrusted
Programm. Janus besteht aus einem Rahmen, der die
Laufzeitüberprüfung tut, und Modulen, die feststellen, welche
Zugänge gewährt werden sollen.
Janus liest zuerst eine Konfiguration Akte. Diese
Akte weist es an, um bestimmte Module zu laden. Zusammen mit
Modul ist die Kennzeichnung eine Liste von Begrenzungen. Die
folgende Beispielkonfiguration Akte definiert den Klimavariable IFS
für das Kind und schränkt den Zugang des Kindes zum Dateisystem ein.
Das Kind kann keine Akten ausgenommen die zugänglich machen,
die unten genannt werden. Das Kind kann lesen oder zu jeder
möglicher Akte in das /usr Dateisystem außer denen in das /usr/lib
zu schreiben und /usr/local/lib Verzeichnisse (die nur gelesen werden)
und in /usr/bin (gelesen und durchführen). Das Kind kann jede
mögliche Akte im /lib Verzeichnis lesen und kann irgendeine Akte in
den /sbin und /bin Verzeichnissen lesen und durchführen. In der
Konfiguration Akte unten, ist das erste Wort in jeder Befehlszeile der
Name des Moduls und die anderen Wörter sind die Argumente, die zu den
Modulen geführt werden ("#" fängt eine Anmerkung an).
# Grundbaustein grundlegend
# definieren Sie Subprozeßklimavariablen putenv
IFS="\t\n" PATH=/sbin:/bin:/usr/bin TZ=PST8PDT
# verweigern Sie Zugang zu alles, ausgenommen
Akten unter /usr Weg gelesen verweigern, schreiben * Weg gewähren
gelesen, schreiben /usr/* # lassen Subprozeß Akten in den
Inhaltsverzeichnissen einer Bibliothek lesen # benötigt für
dynamischen Ladenweg gewähren lesen /lib/* /usr/lib/*
/usr/local/lib/* # benötigt also kann Kind Programme, die Weg
gelesen, erlauben exec /sbin durchführen/* /bin/* /usr/bin/*
Jedes Modul begrenzt System Anrufe. Der
Rahmen benutzt die Module, um eine verbundene Liste für jeden
überwachten System Anruf zu errichten. Die Liste definiert die
erlaubten und mißbilligten Tätigkeiten. Sobald diese Liste
konstruiert worden ist, ruft der Janus Rahmen das Programm an, so daß
alle überwachten System Anrufe eingeschlossen werden.
Wenn das Programm einen überwachten System Anruf
durchführt, wird die Programmfallen und der Janus Rahmen
hervorgerufen. Es hat Zugang zu den Argumenten, die an den sysem
Anruf geliefert werden. Es validiert, daß der System Anruf, mit
diesen spezifischen Parametern, erlaubt wird. Wenn der System
Anruf nicht erlaubt wird, stellt der Rahmen das Klima des Kindes ein,
damit der System Anruf scheint ausgefallen zu sein. Wenn der
System Anruf erlaubt wird, bringt der Rahmen Steuerung zum Kind
zurück, das der Reihe nach Steuerung zum Kern führt. Auf
Rückkehr geht Steuerung zum Rahmen, der jeden internen Zustand
aktualisiert und die Resultate zum Kind zurückbringt.
Ein Beispielgebrauch würde in der Messwert-MIME Post
sein. Ein könnte das Postleseprogramm eingestellt haben, um
Steuerung zu einer Postskriptumanzeige Maschine zu führen.
Einige solche Maschinen haben eine Einheit für die
Durchführung der system-level Befehle, die in der Postskriptumakte
eingebettet werden. Folglich konnte ein Angreifer einen Akte
Auslassung Befehl in die Postskriptumakte einsetzen. Die
Empfänger würde die Anzeige Maschine laufen lassen, um die Akte zu
lesen, und etwas von ihr Akten würden gelöscht. Jedoch können
der Benutzer (oder der Systemverwalter) die Janus Konfiguration Akte
aufstellen mißbilligen Durchführung aller möglicher Unterprogramme.
Dann wird der eingebettete Befehl ermittelt (beim System Anruf,
zum er durchzuführen) und zurückgewiesen. |
Wie ein virtueller Maschine Monitor stellt ein sandbox
Teil der verläßlichen rechnenden Unterseite dar. Wenn das
sandbox ausfällt, liefert es weniger Schutz, als es geglaubt wird, um
zur Verfügung zu stellen. Folglich, daß das sandbox eine
richtig einführt, gewünschte Sicherheit Politik ist sicherzustellen
zur Sicherheit des Systems kritisch. dieses ist ein Artikel, der von Fred Foster hinzugefügt
wird
|