6.4.4 Berechtigungen (Capabilities)

Slides:



Advertisements
Ähnliche Präsentationen
Ext2. Geschichte Minixerhebliche Beschränkungen extfs ext2erstmals aufhebung aller drängenden Beschränkungen ext3erweiterung um Journaling.
Advertisements

Sicherheitsaspekte Sicherheit im DBMS
Imperative Programmierung
Präsentation PS: Klasse File von Janko Lange, Thomas Lung, Dennis Förster, Martin Hiller, Björn Schöbel.
Wiederholung Betriebssystem bietet eine Abstraktion der Hardware an:
DVG Dateien Dateien. DVG Dateien 2 Die Klasse File Die Klasse File stellt die Verbindung zwischen dem Filesystem des Rechners und dem.
Folien 2-5, 7-8 © Prof. Dr. Manfred Rössle (FH Aalen)
C Tutorium – Semaphoren –
Informatik Tagesprotokoll vom
Vorgehensweise Website Besprechung am 11. Februar 2008 Gründung und Partnerunternehmen der Wirtschaftsuniversität Wien.
Software Von Webmaster Mario.
Kapitel 4 Datenstrukturen
6.4 Zugriffsschutz Betriebssystem muss Betriebssicherheit garantieren:
4.2 Gruppenkommunikation (group communication) Bedeutet:Sendeoperation bezieht sich auf mehrere Adressaten - die Mitglieder einer Prozeßgruppe (process.
Vs Klassifizierung von Kommunikationsdiensten synonym:Nachrichtensystem/dienst(message service) Kommunikationssystem/dienst(communication service)
der Universität Oldenburg
Lightweight Directory Access Protocol
SAP R/3 - Speichermanagement
7.3. Viren, Würmer, Trojaner Mail von der Nachbarin
Java: Dynamische Datentypen
Indirekte Adressierung
FH-Hof Indirekte Adressierung Richard Göbel. FH-Hof Einfache Speicherung von Daten Eine "einfache" Deklaration definiert direkt eine Speicherplatz für.
1 Named Pipes alias FIFO Haben einen Eintrag im Dateisystem und sind somit durch Zugriffsrechte identifizierbar Ermöglichen die Kommunikation zwischen.
Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme
IS: Datenbanken, © Till Hänisch 2000 CREATE TABLE Syntax: CREATE TABLE name ( coldef [, coldef] [, tableconstraints] ) coldef := name type [länge], [[NOT]NULL],
DbjFileManager Paul Fruntzek Michael Stanek. Überblick Unterste Ebene im Schichtenmodell Schnittstelle zum BS (Low-Level) Aufgabenbereich: Persistente.
Übung Datenbanksysteme UML
PKJ 2005/1 Stefan Dissmann Ausblick Es fehlen noch: Möglichkeiten zum Strukturieren größerer Programme Umgang mit variabler Zahl von Elementen Umgang mit.
Vorl. 6: Single- und Multitasking Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Capabilities - Sicherheit realisiert auf Hardware-Ebene am Beispiel von MONADS Teil 2 Vorgelegt von: Wiebke Schröder Vortragsdatum: 07. Juli /21.
RelationentheorieObjektorientierte Datenbanken AIFB SS Das ODMG-Objektmodell vs. relationales Modell (1/9) ODMG-Objektmodell Literal_type Atomic_literal.
JDBC: JAVA Database Connectivity
Programmieren mit MS Small Basic
Druckerverwaltung Druckserver - Bereitstellung
Workshop ( Arbeitsgruppe ) Mit Maus-Klick weiter.!
Eine Implementierung einer effiziente externe geordnete (!) lineare Liste Operationen: Search(x) Insert(x) Delete(x)
Dateisysteme Marcel Waldvogel. Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, , 2 Dateisysteme Was ist eine Datei?
Seminar Internet Technologien
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 13 Kapitel 4 Folie 2 REST Web Services (1)
Datenbanken Dantenbanksystem Data Base System Datenbasis (Daten)
Vom Kontext zum Projekt V Carina Berning Sabrina Gursch Pierre Streicher Intelligente Dateisysteme.
Bs Gemeinsame Datensegmente am Beispiel Solaris [Beachte: Unix/Linux setzen keine Hardware-Segmentierung voraus und sprechen daher statt von.
Bs Verzeichnisdateien Anstelle eines zentralen Verzeichnisses: Menge von Verzeichnisdateien (directory files), die selbst in Verzeichnissen verzeichnet.
Datenablage der Stadt Winterthur
Vs Objektpufferung (caching) = dynamische, ad-hoc-Replikation einer Primärkopie: Zugriffswilliger beschafft sich temporär eine lokale Kopie cache.
->Prinzip ->Systeme ->Peer – to – Peer
7.2.4 Klassifikation mobilen Codes Nicht vergessen:  Sowohl das Fernkopieren als auch die Migration von Objekten setzt voraus, daß der Code entweder am.
Trojanische Pferde © Arnolds, Kiebis, Bleser, Nürenberg.
1 Tagesüberblick 5 Lösung Hausaufgabe/Fragen Assoziative Felder Funktionen zu Variablenbehandlung.
CODA - Installation Installation der Binärdateien –Venus: Client-Programm –Vice: Server-Programm –Für Windows existiert eine Alpha-Version (Coda Client.
11 Zugriffskontrolle (Access Control) Ziele Privilegien Rollen GRANT und REVOKE Befehl Privilegien Rollen GRANT und REVOKE Befehl.
2 Datenabstraktion Geheimnisprinzip:
Vs51 5 Verteilte Datenverwaltung. vs52 Situation:Zusammengehöriger Datenbestand ist über mehrere Stationen verteilt, z.B. Fragmentierung: in mehrere Fragmente.
Bs-61 6 Dateiverwaltung. bs-62 Datei (file) = abstraktes Datenobjekt mit folgenden Eigenschaften:  persistent ( = langzeitgespeichert auf Platte oder.
Bs Implementierung der Dateiverwaltung Für hohe Effizienz: Caching – vielfach werden Kopien von Plattendaten für längere Zeit im Arbeitsspeicher.
Bs Dateien als Segmente Idee:Datei = persistentes Segment Konsequenzen:  Datei kann in virtuellen Adressraum eingeblendet werden (memory-mapped.
6.2 Repräsentation auf Platten
Java-Kurs Übung Besprechung der Hausaufgabe
Vs Objektpufferung (caching) = dynamische, ad-hoc-Replikation einer Primärkopie: Zugriffswilliger beschafft sich temporär eine lokale Kopie cache.
N ovell Directory Services Bernd Holzmann
C Tutorium – Shared Memory – Knut Stolze. 2 Shared Memory Ein Speicherbereich, auf den mehrere Prozesse Zugriff haben – Also kein privater Speicher –
Zugriff vom Webserver auf Homepage1 Speicherplatz im zentralen Filesystem, AFS Web Server H:\public_html\index.html.
Dateisystem Eine Präsentation von Kay Rubner, Maximilian Magendanz und Toni Materne.
Raphael Ender Tobias Breuß Bernhard Lang
Computerviren Sie verursachen Schäden in Milliardenhöhe und die Zahl der Virenattakten steigt jährlich.
Vortrag Einführung in AspectJ. Gliederung 1 Einleitung 2 Querschnittsfunktionalitäten in AspectJ 2.1 Sprachelemente 3 Beispiel 4 Join Point Modell 5 Weaving.
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Einflußreiche Systeme Dr. Wolfgang Wörndl.
Was ist ein CMS? Content Management System Trennung von Inhalt,
Tutorstunde 10.
(Structured Query Language)
 Präsentation transkript:

6.4.4 Berechtigungen (Capabilities) Zentrales Prinzip der Systemsicherheit: Restriktive Rechtevergabe: einem Prozess sollen nur diejenigen Zugriffe erlaubt sein, die gemäß Spezifikation des ausgeführten Programms unverzichtbar sind (principle of least privilege, need-to-know principle) Dieses Prinzip wird durch den Zugriffsschutz mittels Autorisierung/Schutzstatus verletzt, z.B. kann ein Editor durch seinen Benutzer nicht daran gehindert werden, heimlich Daten in eine fremde Datei zu kopieren („Trojanisches Pferd“) bs-6.4.4

Berechtigung (capability) für Objekt mit Schnittstelle S = (Verweis, Sicht) (reference, view) auf Objekt Teilschnittstelle von S (Teilmenge aller Operationen von S) (vgl. 5.6.2 für capability-basierte Adressierung) – sprachunabhängig mit durchnumerierten Operationen: Rechte Objektverweis z.B. 24 Bits z.B. 8 Bits bs-6.4.4

Konzeptionell ist eine Berechtigung ein abstrakter Datenwert vom Typ Capability, also nur durch bestimmte Operationen manipulierbar („fälschungssicher“, unforgeable): Erzeugen (bei Objekterzeugung) Kopieren/Weitergabe Weitergabe mit Rechte-Einschränkung (restriction) Weitergabe mit Rechte-Erweiterung (amplification) Entzug (revocation) Löschen (durch Überschreiben, z.B. mit null-Berechtigung) bs-6.4.4

Vergleich Schutzstatus  Berechtigungen am Modell Zugriffsmatrix (Schutzmatrix, access/protection matrix), z.B. Objekte Subjekte s1 :Segment :Printer d3 :Directory m4 :Mailbox p3 :Process S1 write search enter S2 update delete put read block S4 unblock get wakeup bs-6.4.4 Matrixelement = Menge von Rechten

Schutzstatus = Spalte einer Matrix, gespeichert beim Objekt, Vergleich: Schutzstatus = Spalte einer Matrix, gespeichert beim Objekt, typischerweise mit Aggregierung von Subjekten (Gruppen u.ä.); Berechtigungen = Zeile einer Matrix, gespeichert beim Subjekt; Weitergabe von Rechten besser möglich als mit Schutzstatus Zurücknahme von Rechten schlechter möglich als mit Schutzstatus bs-6.4.4

6.4.4.1 Fälschungssichere Implementierung Verschiedene Alternativen:  Kryptographische Versiegelung, Speicherung wie normale Daten: Objektverweis Rechte Prüfcode f geheime „Einbahnfunktion“ bs-6.4.4

 Speicherung in verschattetem Bereich eines Segments, Identifizierung mit „negativ interpretierten“ Adressen: . -2 -1 1 2 3 4. Möglichkeit – HW: tagged architecture (z.B. IBM AS/400).  Speicherung in prozessspezifischer Berechtigungsliste (capability list) beim Betriebssystem, durchnumeriert bs-6.4.4

Eignung der drei Alternativen für Rechte-Weitergabe über Vererbung an Kindprozess Interprozess- gemeinsames kommunikation Segment    –  –  ()  – –  bs-6.4.4

kommerzielles System, mit hardware capabilities 6.4.4.2 Beispiele IBM AS/400: kommerzielles System, mit hardware capabilities Amoeba (Tanenbaum et al. 1985-95): verteiltes Betriebssystem mit kryptographisch gesicherten Berechtigungen MS Windows: Benutzerprogramm erhält „handles“ genannte Berechtigungen zum Zugriff auf Systemobjekte wie z.B. Prozesse, Semaphore, Kanäle etc. Unix ? bs-6.4.4

Unix-Kanalliste (6.1.2) ähnelt einer Berechtigungsliste: Einträge verweisen auf Kanäle (Iteratoren); allerdings befinden sich die Rechte nicht bei den Verweisen, sondern in den Iteratoren: 1 2 3 4 5 6 7 pos RW Dateitabelle pos R Z.B. wird write(2,..) als unzulässig erkannt, ohne dass der Schutzstatus der Datei befragt werden muss.

Berechtigung für Kanal-Objekt erzeugen: open kopieren: dup, dup2 löschen: close bs-6.4.4

6.4.4.3 Capability-basierter Dateischutz Implementierung  erlaubt, in Dateiverzeichnissen Berechtigungen statt interner Dateinummern unterzubringen ( kein Schutzstatus bei den Dateien!) Dateierzeugung erfordert Besitz einer entsprechenden Berechtigung für das Dateisystem: fileCap = create(fileServerCap,..) Rechte von fileCap: entweder alle oder Parameter von create. bs-6.4.4

Benennung erfordert Besitz einer Berechtigung für ein Verzeichnis: enter(dirCap, name, fileCap) Benutzung der Datei im Direktzugriff (ohne Kanal): read(fileCap, from, n, buffer) write(fileCap, to, n, buffer) bs-6.4.4

Beachte: Berechtigungen können wie normale Daten - als Konstanten in Programmen auftauchen, - als Parameter an Programme übergeben werden, - als Nachrichten an Prozesse geschickt werden, - etc. Folgerung 1: Unix-Konzept „setuid-Programm“ ist überflüssig: Zu den Konstanten des Programms gehören Berechtigungen für die zugehörigen Dateien. bs-6.4.4

Folgerung 2: Prozess kann nur diejenigen Dateien ansprechen (und mit denjenigen Operationen), für die er Berechtigungen erhalten hat – d.h. dem Prinzip der restriktiven Rechtevergabe wird Genüge getan. Aber: wie können Berechtigungen weit gestreut werden? (z.B. „alle Welt soll mein schönes Programm benutzen können“) bs-6.4.4

Verzeichnisse (für Dateien und andere Objekte!) enthalten Lösung in Amoeba: Verzeichnisse (für Dateien und andere Objekte!) enthalten Einträge folgender Art (vereinfacht): name reference owner group others Rechte ! Unterschiedliche Rechte an dem Objekt „name“: für Eigner des Verzeichnisses, Eignergruppe und andere ! lookup liefert Berechtigung reference . . . bs-6.4.4