Das Beschränkung-Problem
Betrachten Sie einen Klienten und einen Bediener. Wenn der Klient einen Antrag zum Bediener herausgibt, schickt der Klient dem Bediener etwas Daten. Der Bediener dann verwendet die Daten, um irgendeine Funktion durchzuführen und bringt ein Resultat (oder kein Resultat) zum Klienten zurück. Zugriffssteuerung beeinflußt die Funktion des Bedieners in zwei Möglichkeiten.
Die erste Anforderung stellt das Ziel des Diensterbringers dar. Dieses Ziel ist, den Klienten am Schicken der Anzeigen zum Bediener zu hindern, die ihn zum Zugang verursachen, Betriebsmittel ändern, übertragen oder verbrauchen, die dem Klienten nicht autorisiert wird zugänglich zu machen, zu ändern, zu übertragen oder zu verbrauchen. Die zweite Anforderung stellt das Ziel des Dienstbenutzers dar. Dieses Ziel ist, zu verhindern, daß der Bediener vertrauliche Informationen dem Diensterbringer übermittelt. In beiden Fällen muß der Bediener auf dem Zugänglich machen nur eines spezifischen Satzes Betriebsmittel begrenzt werden.
Lampson nennt dieses das Beschränkungproblem.
Eine Eigenschaft der Prozesse, die nicht Informationen auslaufen, kommt von der Beobachtung, daß ein Prozeß Daten für neuere Wiederherstellung (das Auslaufen) speichern muß. Ein Prozeß, der nicht Informationen speichert, kann nicht sie auslaufen. Jedoch im Übermaß, können solche Prozesse keine Berechnung auch durchführen, weil ein Analytiker den Fluß der Steuerung (oder Zustand des Prozesses) beobachten könnte und von diesem Fluß leiten Sie Informationen über die Eingänge ab. Dieses führt zu die Beobachtung, der ein Prozeß, der nicht beobachtet werden kann und nicht mit anderen Prozessen verständigen kann, nicht Informationen auslaufen kann. Lampson benennt diese Gesamtlokalisierung. In der Praxis Gesamtlokalisierung ist zu erzielen schwierig. Die Prozesse, zum begrenzte normalerweise Anteilbetriebsmittel wie CPUs, Netze und Magnetplattenspeicher mit anderem zu sein, unconfined Prozesse. Unconfined Prozesse kann Informationen Überschuß übertragen jene geteilten Betriebsmittel.
Beschränkung ist transitiv. Nehmen Sie an, daß ein Prozeß p begrenzt wird, um Durchsickern zu verhindern. Wenn er einen zweiten Prozeß q hervorruft, dann muß q ähnlich begrenzt werden, oder q könnte die Informationen auslaufen, die p führt.
Beschränkung ist eine Einheit für das Erzwingen der Grundregel wenigen Privilegs. Ein richtig begrenzter Prozeß kann nicht Daten einem zweiten Prozeß übermitteln, es sei denn das Getriebe erforderlich ist, ihre Aufgabe durchzuführen. Das Problem ist, daß der begrenzte Prozeß Zugang zu den Daten übertragen werden muß und also die Beschränkung auf dem Getriebe sein muß, nicht auf dem Datenzugang. Um Angelegenheiten zu erschweren, kann der Prozeß etwas Informationen dem zweiten Prozeß übermitteln müssen. In diesem Fall muß die Beschränkungeinheit zwischen Getriebe der autorisierten Daten und Getriebe der nicht autorisierten Daten unterscheiden. Die Kombination dieser Probleme veranschaulicht die Schwierigkeit des Verhinderns des Durchsickerns. Das Dilemma ist, daß moderne Computer entworfen sind, um Betriebsmittel zu teilen, und doch durch die teilende Tat von ihnen verursachen Führungen der Kommunikation, entlang denen Informationen ausgelaufen werden können. Lipner überprüft das Problem von einer Politik und Modellieren Aspekt. Er betrachtet zwei Arten verdeckte Kanäle. Das erste bezieht den Gebrauch von Ablage mit ein, Informationen zu übertragen. Wenn ein Modell richtig alle Weisen beschreibt, in denen Informationen gespeichert werden und lesen können, dann entzieht das Modell die gesetzmaßigen und verdeckten Kanäle, entlang denen Informationen fließen können. Das Modell begrenzt alle Zugänge zur Ablage. Die einzigen Zugänge, die erlaubt werden, sind die, die durch die Politik autorisiert werden, also sind die Flüsse der Informationen gesetzmaßig. Jedoch wenn das Modell nicht all diese Flüsse, dann nicht autorisierte Flüsse oder verdeckte Kanäle gefangennimmt, entstehen Sie. Lipner merkt dann, daß alle Prozesse mindestens eine rauhe Idee der Zeit erhalten können. Dieses bildet Zeit einen Kommunikationskanal. Eine Programmdose "las" Zeit, indem sie den System Taktgeber oder (wechselweise) indem das Zählen der Zahl Anweisungen überprüfte, die sie während einer Periode der Wandtaktgeberzeit durchgeführt hat. Eine Programmdose "schreiben" Zeit, indem sie eine Satzanzahl von Anweisungen durchführt und stoppt und einen anderen Prozeß durchführen läßt. Diese geteilte Führung kann nicht exklusiv gebildet werden, es sei denn ein Prozeß den Computer nicht mit einem anderen Prozeß teilt, der Lokalisierung als Hilfsmittel vorschlägt. TIMING-Angriffe Kochers auf Schlüsselsystemen veranschaulichen dieses Problem. Kocher merkt, daß die Anweisungen, die durch Implementierungen von Schlüsselsystemen durchgeführt werden, von der Einstellung der Spitzen im Schlüssel abhängen. Z.B. der Algorithmus unter Werkzeugen eine schnelle modulare Exponentiationfunktion. Wenn eine Spitze 1 ist, treten zwei Vermehrungen auf; andernfalls tritt eine Vermehrung auf. Die Extravermehrung dauert Extrazeit. Kocher stellt Spitzen des vertraulichen Exponenten fest, indem er Berechnung Zeit mißt. Ein schnelles modulares Exponentiationprogramm. Dieses Programm rechnet x = az Umb. n. Die Spitzen von z sind zk1. . . ,z0.x: = 1; atmp: = a; für i: = 0 zu k-1 fangen an, wenn zi = 1 dann x: = (x * atmp) Umb. n; atmp: = (atmp * atmp) Umb. n; Ende; Resultat: = x; Wir erforschen die Einheit der Lokalisierung zuerst. Dann überprüfen wir verdeckte Kanäle ausführlicher und besprechen andere Annäherungen zum Analysieren sie, einschließlich Techniken für das Kennzeichnen der verdeckten Kanäle und das Lokalisieren sie. dieses ist ein Artikel, der von Bill Kuriko hinzugefügt
wird
|
|||||
|