Capabilities - Sicherheit realisiert auf Hardware-Ebene am Beispiel von MONADS Teil 2 Vorgelegt von:...
-
Upload
hrodland-reichwein -
Category
Documents
-
view
106 -
download
1
Transcript of Capabilities - Sicherheit realisiert auf Hardware-Ebene am Beispiel von MONADS Teil 2 Vorgelegt von:...
Capabilities - Sicherheit realisiert auf Hardware-Ebeneam Beispiel von MONADS
Teil 2
Vorgelegt von: Wiebke Schröder
Vortragsdatum: 07. Juli 1999
1/21
Inhaltsübersicht / Einleitung
Subjekte
Dauerhafte Prozesse als Repräsentation von Benutzern
Die Rechtebeziehung zwischen Objekten und Subjekten
Die Vergabe von Rechten
Weitergabe von Rechten an Benutzer
Einschränkung der Weitergabe von Rechten
Der Rückruf von gesetzten Rechten
Fazit
Quellenangabe für den 2. Teil
2/21
Der Prozeßstack1)
Segment-capabilities
Rücksprunginformationen zur aufrufenden Prozedur
Lokale-/ Parametersegmentliste
Virtuelle Adresse Länge Typ & Rechte
Virtuelle Adresse Länge Typ & Rechte
Virtuelle Adresse Länge Typ & Rechte
Virtuelle Adresse Länge Typ & Rechte
Lokales Datensegment
Lokales Datensegment
Bereich für Berechnungen
lokalesHaldensegment
Parameter-segment
Prozeßstack
1) aus: Vosseberg, Karin: Sichere Ausführungsumgebungen für Objekte 3/21
Lokale Halden (local heaps)1)
Segmentcapabilities
Lokales Datensegment
Berechnungsbereich
Stackausschnitt der aufrufenden Prozedur
Haldenadresse
module call segment
Adresse der retained data
Wurzelsegment der retained data
retained data
lokale Halde des aufgerufenen Objekts in einem seperaten Adreßraum
Lokale Halde des aufgerufenen Objekts in einem seperaten Adreßraum
1) aus: Vosseberg, Karin: Sichere Ausführungsumgebungen für Objekte 4/21
Freigabe einer lokalen Halde
Halde Prozeß module call segment
Adreßraum5/21
Subjekte
- Aktive Komponenten, die Rechte zur Benutzung von Objekten enthalten und die einen Aufruf von Schnittstellenoperationen einleiten können (Subjekt im Sinne der Sicherheitsmodelle)
Beispiel:
Das Subjekt:Herr R Das Objekt:
Cassettenrekorder
- Objekte die Capabilities in ihren Instanzdaten enthalten können als Subjekte betrachtet werden (MONADS)
6/21
Subjekte
Das Subjekt (Herr R) besitzt das Objekt(Cassettenrecorder)
Das Subjekt benutzt die Schnittstellenoperation (Play-Taste) desObjektes
7/21
Verschiedene Arten von MONADS-Subjekten:
- Das Objekt als Subjekt
- Der Typmanager als Subjekt
- Der Benutzerprozeß und das in der Ausführung befindliche Objekt als Subjekt
- Der Benutzerprozeß und der Typmanager des in der Ausführung befindlichen Objektes als Subjekt
Subjekte
Aufruf einer Schnittstellenoperation
Aufgerufenes Objektmit zugehörigerSchnittstellenop.
Aufrufendes Objekt
8/21
Dauerhafte Prozesse als Repäsentation von Benutzern
Innerhalb des MONADS-Systems werden Benutzer durch unabhängige Prozesse repräsentiert, die im Rahmen der erstmaligen Anmeldung des entsprechenden Benutzers diesem fest zugeordnet werden.
Der Status eines jeden Benutzerprozesses ist immer die Ausführung eines Objektes
4) Die Operation kann an der Stelle fortgesetzt werden, an der der Benutzer sich in der vorhergegangenen Sitzung ausgeloggt hat.
Schritte zur Anmeldung einer Sitzung:
1) Benutzer muß sich mit dem eindeutigen externen Namen des gewünschten Prozesses identifizieren
2) Abbildung vom externen Namen auf die eindeutige Prozeßcapability3) Aktivierung des zugehörigen Prozesses und Verbindung mit dem aktuellen Terminal
9/21
Rechtebeziehung zwischen Objekten und Subjekten
Eine Capability beinhaltet für ein bestimmtes Subjekt spezifische Rechte auf einem bestimmten Objekt
Ein Teil der Capability ist die Adreßraumnummer zur direkten Adressierung des betreffenden Objektes
Capabilities können weiter eingeschränkt, aber nicht erweitert werden
Einem Subjekt müssen nur die zu seiner Ausführung notwendigen Rechte auf andere Objekte übergeben werden (need to know)
10/21
Vergabe von Rechten
Bei der Erzeugung eines Objektes erhält das Subjekt, das die Erzeugung veranlaßt hat, eine besondere Capability auf das Objekt (owner capability)
Zu jedem Objekt gibt es genau eine owner capability
Ausgehend von der owner capability können weitere (eingeschränkte)Zugriffsberechtigungen erzeugt werden
1500,-
Besitzerrechte+Benutzerrechte
11/21
Weitergabe von Rechten an Benutzer
Weitergabe von Rechten an Benutzer durch:
Zugänglich machen der Rechte bei der Erzeugung desBenutzerprozesses
Weitergabe der Rechte auf dem Weg der Kommunikation zwischen verschiedenen Benutzern
11/21
Weitergabe von Rechten an Benutzer
Erzeugung eines Benutzerprozesses
Vom erzeugenden Prozeß kann genau eine Prozeßcapability übergeben werden
Ein Objekt kann Rechte für andere Objekte beinhalten
Ein Objekt kann ein Verzeichnis von Rechten sein
Eine Capability kann zur Verwaltung allgemeinzugänglicherObjekte der Laufzeitumgebung genutzt werden
Eine Prozeßcapability kann in den Verzeichnissen des zugehörigen Prozesses oder des Systemadministrators abgelegt werden
13/21
Weitergabe von Rechten an Benutzer
Kommunikation zwischen Benutzern über Instanzdaten gemeinsambenutzter Objekte
Alle Benutzerprozesse müssen eine Capability für das gemeinsam benutzte Objekt besitzen
Jedem Prozeß wird bei der Erzeugung eine Capability fürein Kommunikationsobjekt übergeben
Es darf nur ein Kommunikationsobjekt für alle Prozesse geben!
14/21
Weitergabe von Rechten an Benutzer
Kommunikation zwischen Benutzern in einer verteilten MONADS-Umgebung
Anmeldung eines neuen Systems im existierenden MONADS-Netz
Erweiterung des verteilten virtuellen Speichers
Dem sich anmeldenden System wird eine Capability übergeben,die initiale Rechte für bereits im virtuellen Speicher existierende Objekte enthält.Darunter: Kommunikationsobjekte
15/21
Einschränkung der Weitergabe von Rechten an Benutzer
Objektspezifische Rechte und Statusrechte
Frau S
Recht 1Recht 2
Recht 1Recht 2Recht 3...
Herr R
Frau S Herr B
Recht 1Recht 2
Recht 1Recht 2Recht 3
16/21
Einschränkung derWeitergabe von Rechten an Benutzer
Rechte an andere Benutzer
Frau S
Herr B
Herr R
17/21
Einschränkung derWeitergabe von Rechten an Benutzer
Rechte an ein Objekt
Zur Einschränkung kann das CALL ONLY Bit gesetzt werden
CALL ONLY Bit kennzeichnet eine Capability die ausschließlichzur Benutzung durch ein bestimmtes Objekt weitergegeben wurde
CALL ONLY Bit kann nicht als Parameter weitergegeben werden
18/21
Der Rückruf von gesetzten Rechten
Löschen des Objektes
Wird ein Objekt gelöscht sind alle vergebenen Capabilities ungültig
Umbenennen eines Objektes
Objekt erhält neue Adressraumnummer, dadurch werden diealten Capabilities ungültig Ausführender Prozeß muß Besitzerrechte haben um ein Stehlen der Objekte zu verhindern
Verwaltung der Zugriffsrechte beim Objekt
Objektspezifische Rechte werden in einer Rechtetabelle innerhalbdes Objektes gespeichertModifikationsrecht haben Prozesse mit owner capability oderdie aufgrund der Statustabelle das Recht besitzen die Rechtetabelle zu manipulieren
19/21
Fazit
Die Sicherheitsmechanismen der MONADS-Architektur bieten einen gewissen Schutz der Vertraulichkeit und Intergrität der Daten über die Zugriffskontrolle der Objekte, da unautorisierte Operationsaufrufe eines Objektes ohne eine gültige, mit den entsprechenden Rechten versehene Capability nicht möglich sind und daher von der MONADS-Architektur abgewiesen werden
Trojanische Pferde können das vorgestellte System jedoch noch unterlaufen, daher sollten die zusätzlichen Sicherheitsmechanismen möglichst bald implementiert werden, wenn MONADS als sicheres Systemfür den Markt weiterentwickelt werden soll (zur Zeit gibt es nur noch einenMONADS-PC in Ulm)
20/21
Verzeichnis der verwendeten Literatur
Vosseberg, Karin: Sichere Ausführungsumgebungen für Objekte, Aachen, Shaker Verlag 1996
21/21