Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Bs-6.41 6.4 Zugriffsschutz Betriebssystem muss Betriebssicherheit garantieren: unerwünschte Auswirkungen von Hardware/Software-Fehlern( safety) von absichtlichen.

Ähnliche Präsentationen


Präsentation zum Thema: "Bs-6.41 6.4 Zugriffsschutz Betriebssystem muss Betriebssicherheit garantieren: unerwünschte Auswirkungen von Hardware/Software-Fehlern( safety) von absichtlichen."—  Präsentation transkript:

1 bs Zugriffsschutz Betriebssystem muss Betriebssicherheit garantieren: unerwünschte Auswirkungen von Hardware/Software-Fehlern( safety) von absichtlichen Manipulationen( security) sollen verhindert, begrenzt, oder zumindest erkannt werden.

2 bs-6.42 Beispiele für Folgen von Sicherheitslücken im Betriebssystem: Systemabsturz, verursacht durchHardware-Fehler, Betriebssystem-Fehler, Programmfehler, Sabotage Monopolisierung von Ressourcen Ausspionieren vertraulicher Daten Verfälschen oder Löschen fremder Daten

3 bs-6.43 Beispiele für Sicherheitsmaßnahmen des Betriebssystems: Wiederholung von Lese/Schreibversuchen nach Fehler Geordnetes Abschalten bei Stromausfall Zugangskontrolle mit Passwortsystem Virtualisierung von Ressourcen !

4 bs-6.44 Wichtigste Kategorie von Sicherheitsmaßnahmen gegen geplante Angriffe ( security) ist Zugriffsschutz (access protection, access control): Objekte (z.B. Geräte, Segmente, Dateien!,...) werden vor unerwünschten Zugriffen geschützt; Subjekte (z.B. Prozesse, Programme) sind die Auslöser der Zugriffsversuche. Zugriffsschutzsystem (protection system, reference monitor) weiß, was erlaubt bzw. verboten ist, überwacht alle Zugriffsversuche und verhindert sie gegebenenfalls.

5 bs Autorisierung eines Prozesses = Menge von Attributen eines Prozesses, die für die Überwachung des Zugriffs auf Dateien (manchmal auch für andere Systemaufrufe) relevant sind, z.B. Benutzerkennung (user identity), Ermächtigungsstufe (clearance), Rolle des Benutzers (role),.....

6 bs-6.46 Beispiel Unix: Jeder Benutzer hat einen Login-Namen und ist einer oder mehreren benannten Benutzergruppen zugeordnet. Systemintern werden Benutzer und Gruppen durch Nummern identifiziert, UID - user identifier( 0 für Systemverwalter root ) GID - group identifier( 0 für Systemgruppe wheel ) die man in den Einträgen von /etc/passwd und /etc/group finden kann:

7 bs-6.47 Eintrag von /etc/passwd : lohr:X4sCwh/Da%pT2:123:97:Peter Löhr:/usr/lohr:/bin/csh UID GID (Primärgruppe) Eintrag von /etc/group : prof:5p%swAxb72WzG :97 :alt,fehr,graf,..... Jeder Benutzer gehört zu einer Primärgruppe, die in der Passwortdatei für ihn vermerkt ist, kann aber weiteren Gruppen angehören.

8 bs-6.48 Autorisierung eines Prozesses besteht aus RUID – real userid, EUID – effective userid, RGID – real groupid, EGID – effective groupid, Initialisierung: bei fork werden diese Attribute vom Erzeuger kopiert. Abfragen: getuid() liefert RUID geteuid() liefert EUID getgid() liefert RGID getegid() liefert EGID

9 bs-6.49 Ändern der Autorisierung ist stark eingeschränkt: setuid(uid) Vor.: uid == RUID oder EUID == 0 (d.h. Super-User root ) Eff.: RUID == EUID == uid setgid(gid) ( = dasselbe für groupid) Vor.: gid == RGID oder EUID == 0 (d.h. Super-User root ) Eff.: RGID == EGID == uid

10 bs exec(prog,...) berücksichtigt Dateiattribute von prog : UID (Eigner) GID (Eignergruppe) SUID (setuid bit) SGID (setgid bit) Eff.: RUID und RGID bleiben unverändert, aber: wenn SUID, dann EUID == UID ; wenn SGID, dann EGID == GID. ? Wozu ist das gut ?

11 Datenabstraktion mit Programmiersprache: prozedurale Schnittstelle verborgene Datenrepräsentation

12 Datenabstraktion mit Programmiersprache: bei Dateien: prozedurale SchnittstelleProgramme mit SUID undUID = y verborgene DatenrepräsentationDateien mit UID = y Kapselung syntaktisch über gleiche UID

13 bs RUID = x EUID = x RUID = x EUID = y exec mit SUID und UID = y setuid(x) x führt y-Programm mit y-Autorisierung aus

14 bs Beispiele: Systemprogramme mit y = 0 (Super-User) passwd ändert nach Eingabe eines neuen Passworts das Passwort des Benutzers in der Passwortdatei login usr ändert nach korrekter Passworteingabe für usr die Autorisierung der Shell in diejenige für usr (!) su usr startet nach korrekter Passworteingabe für usr eine neue Shell mit der Autorisierung für usr (!) newgrp gr (Solaris) startet neue Shell mit neuer Autorisierung RGID/EGID gemäß Gruppe gr (RUID/EUID bleiben unverändert) Vor.: Benutzer muß der Gruppe angehören und ggfls. Gruppenpasswort kennen)

15 bs POSIX-Standard erweitert Autorisierung um sEUID,d.i. saved EUID sEGID,d.i. saved EGID Entsprechend geänderte setuid/setgid, z.B. setuid(uid) Vor.:(1) EUID == 0 (Super-User) oder (2) uid == RUID oder uid == sEUID Eff.: EUID == RUID == sEUID == uid im Fall (1), sonst lediglich EUID == uid

16 bs RUID = x EUID = x sEUID =.... RUID = x EUID = x sEUID = y RUID = x EUID = y sEUID = y exec mit SUID und UID = y setuid(x) setuid(y) beliebiges Hin- und Herschalten der EUID !

17 bs Schutzstatus von Dateien Jede Datei (Daten, Programm, Verzeichnis,...) hat Schutzstatus (protection mode, access control list), gespeichert als Attribut(e) im Dateideskriptor. Zugriffsschutzsystem (protection system) realisiert Abbildung accessOK : Autorisierung Schutzstatus Operation Boolean

18 bs Beispiel: Schutzstatus in Unix (vgl ):6.2.2 UID des Eigners GID der Eignergruppe SUID bit SGID bit Ru Wu Xu Rg Wg Xg Ro Wo Xo (Zugriffs–) Rechte (access rights, permissions), (je 1 Bit) Read, Write, eXecute für user, d.h. Eigner, group, d.h. Eignergruppe, others, d.h. alle anderen

19 bs Initialisierung bei Dateierzeugung, z.B. mit creat,mkdir : UID = EUID GID = EGID Bits SUID, SGID, Ru, Wu, Xu, Rg, Wg, Xg, Ro, Wo, Xo gemäß den niederwertigen Bits des 2. Arguments mode von creat,mkdir modifiziert durch die aktuelle mode mask mask : wo mask -Bit gesetzt ist wird mode -Bit ignoriert. Die mode mask ist ein Prozessattribut (!), anfangs 022 (oktal), vererbt an Kindprozesse, änderbar durch Systemaufruf umask(mask) und Befehl umask mask

20 bs Abfragen des Schutzstatus durch stat, fstat und Befehl ls –l, z.B. -rws--x--x 1 lohr institut 9 Feb 10 15:38 tst s statt x bedeutet Xu-Recht und SUID-Bit Ändern des Schutzstatus durch chmod, chown ( ): chmod darf nur der Datei-Eigner oder Super-User ausführen! chown darf nur der Super-User ausführen ! ( Schutz des Schutzstatus !)

21 bs Überwachung der Dateioperationen durch einen Reference Monitor im Zugriffsschutzsystem, der diese Abbildung umsetzt: accessOK : Autorisierung Schutzstatus Operation Boolean Falls der Zugriff verwehrt wird, Fehlermeldung (z.B. Fehler EACCES in Unix)

22 bs Zugriffsrecht im Schutzstatus bezieht sich i.a. – abhängig vom jeweiligen Dateityp! – auf verschiedene Operationen und: eine Operationen kann mehrere Rechte erfordern Hypothetische Beispiele (nicht Unix!): RechteDateityp sequentiellindexsequentiellVerzeichnis eXecute exec-- Read readlookup,updatelookup,list Write writeupdate,deleteunlink Append appendenterlink,create * Protect chmodchmodchmod

23 bs Unix: Rechte Dateityp sequentiellVerzeichnis R readread, link,unlink W writecreat,mkdir, link,unlink X exec ( lookup *)

24 bs Kriterium für erlaubten Zugriff mit einer Operation, die das Recht R (und/oder W oder X) erfordert: Ru und EUID = UID oderRg und EUID UID und EGID = GID oderRo und EUID UID und EGID GID Bemerkung:Rechte wie z.B. ---R--RW- sind möglich, aber selten sinnvoll


Herunterladen ppt "Bs-6.41 6.4 Zugriffsschutz Betriebssystem muss Betriebssicherheit garantieren: unerwünschte Auswirkungen von Hardware/Software-Fehlern( safety) von absichtlichen."

Ähnliche Präsentationen


Google-Anzeigen