Capabilities - Sicherheit realisiert auf Hardware-Ebene am Beispiel von MONADS Teil 2 Vorgelegt von:...

21
lities - Sicherheit realisiert auf Hardware am Beispiel von MONADS Teil 2 Vorgelegt von: Wiebke Schröder Vortragsdatum: 07. Juli 1999 1/21

Transcript of Capabilities - Sicherheit realisiert auf Hardware-Ebene am Beispiel von MONADS Teil 2 Vorgelegt von:...

Page 1: Capabilities - Sicherheit realisiert auf Hardware-Ebene am Beispiel von MONADS Teil 2 Vorgelegt von: Wiebke Schröder Vortragsdatum: 07. Juli 1999 1/21.

Capabilities - Sicherheit realisiert auf Hardware-Ebeneam Beispiel von MONADS

Teil 2

Vorgelegt von: Wiebke Schröder

Vortragsdatum: 07. Juli 1999

1/21

Page 2: Capabilities - Sicherheit realisiert auf Hardware-Ebene am 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

Page 3: Capabilities - Sicherheit realisiert auf Hardware-Ebene am Beispiel von MONADS Teil 2 Vorgelegt von: Wiebke Schröder Vortragsdatum: 07. Juli 1999 1/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

Page 4: Capabilities - Sicherheit realisiert auf Hardware-Ebene am Beispiel von MONADS Teil 2 Vorgelegt von: Wiebke Schröder Vortragsdatum: 07. Juli 1999 1/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

Page 5: Capabilities - Sicherheit realisiert auf Hardware-Ebene am Beispiel von MONADS Teil 2 Vorgelegt von: Wiebke Schröder Vortragsdatum: 07. Juli 1999 1/21.

Freigabe einer lokalen Halde

Halde Prozeß module call segment

Adreßraum5/21

Page 6: Capabilities - Sicherheit realisiert auf Hardware-Ebene am Beispiel von MONADS Teil 2 Vorgelegt von: Wiebke Schröder Vortragsdatum: 07. Juli 1999 1/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

Page 7: Capabilities - Sicherheit realisiert auf Hardware-Ebene am Beispiel von MONADS Teil 2 Vorgelegt von: Wiebke Schröder Vortragsdatum: 07. Juli 1999 1/21.

Subjekte

Das Subjekt (Herr R) besitzt das Objekt(Cassettenrecorder)

Das Subjekt benutzt die Schnittstellenoperation (Play-Taste) desObjektes

7/21

Page 8: Capabilities - Sicherheit realisiert auf Hardware-Ebene am Beispiel von MONADS Teil 2 Vorgelegt von: Wiebke Schröder Vortragsdatum: 07. Juli 1999 1/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

Page 9: Capabilities - Sicherheit realisiert auf Hardware-Ebene am Beispiel von MONADS Teil 2 Vorgelegt von: Wiebke Schröder Vortragsdatum: 07. Juli 1999 1/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

Page 10: Capabilities - Sicherheit realisiert auf Hardware-Ebene am Beispiel von MONADS Teil 2 Vorgelegt von: Wiebke Schröder Vortragsdatum: 07. Juli 1999 1/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

Page 11: Capabilities - Sicherheit realisiert auf Hardware-Ebene am Beispiel von MONADS Teil 2 Vorgelegt von: Wiebke Schröder Vortragsdatum: 07. Juli 1999 1/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

Page 12: Capabilities - Sicherheit realisiert auf Hardware-Ebene am Beispiel von MONADS Teil 2 Vorgelegt von: Wiebke Schröder Vortragsdatum: 07. Juli 1999 1/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

Page 13: Capabilities - Sicherheit realisiert auf Hardware-Ebene am Beispiel von MONADS Teil 2 Vorgelegt von: Wiebke Schröder Vortragsdatum: 07. Juli 1999 1/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

Page 14: Capabilities - Sicherheit realisiert auf Hardware-Ebene am Beispiel von MONADS Teil 2 Vorgelegt von: Wiebke Schröder Vortragsdatum: 07. Juli 1999 1/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

Page 15: Capabilities - Sicherheit realisiert auf Hardware-Ebene am Beispiel von MONADS Teil 2 Vorgelegt von: Wiebke Schröder Vortragsdatum: 07. Juli 1999 1/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

Page 16: Capabilities - Sicherheit realisiert auf Hardware-Ebene am Beispiel von MONADS Teil 2 Vorgelegt von: Wiebke Schröder Vortragsdatum: 07. Juli 1999 1/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

Page 17: Capabilities - Sicherheit realisiert auf Hardware-Ebene am Beispiel von MONADS Teil 2 Vorgelegt von: Wiebke Schröder Vortragsdatum: 07. Juli 1999 1/21.

Einschränkung derWeitergabe von Rechten an Benutzer

Rechte an andere Benutzer

Frau S

Herr B

Herr R

17/21

Page 18: Capabilities - Sicherheit realisiert auf Hardware-Ebene am Beispiel von MONADS Teil 2 Vorgelegt von: Wiebke Schröder Vortragsdatum: 07. Juli 1999 1/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

Page 19: Capabilities - Sicherheit realisiert auf Hardware-Ebene am Beispiel von MONADS Teil 2 Vorgelegt von: Wiebke Schröder Vortragsdatum: 07. Juli 1999 1/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

Page 20: Capabilities - Sicherheit realisiert auf Hardware-Ebene am Beispiel von MONADS Teil 2 Vorgelegt von: Wiebke Schröder Vortragsdatum: 07. Juli 1999 1/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

Page 21: Capabilities - Sicherheit realisiert auf Hardware-Ebene am Beispiel von MONADS Teil 2 Vorgelegt von: Wiebke Schröder Vortragsdatum: 07. Juli 1999 1/21.

Verzeichnis der verwendeten Literatur

Vosseberg, Karin: Sichere Ausführungsumgebungen für Objekte, Aachen, Shaker Verlag 1996

21/21