diff options
author | Benjamin Franzke <benjaminfranzke@googlemail.com> | 2013-01-07 20:16:24 +0100 |
---|---|---|
committer | Benjamin Franzke <benjaminfranzke@googlemail.com> | 2013-01-07 20:16:24 +0100 |
commit | 0e61c01cc025a7bab6cb3c3387816bcd3e4c8228 (patch) | |
tree | 673aa95818179f2cf936bb399ce7df9d985b39f2 | |
parent | 899c15f7da7500d36fef23b765c7f1ddd573a0d1 (diff) | |
download | sksys-0e61c01cc025a7bab6cb3c3387816bcd3e4c8228.tar.gz sksys-0e61c01cc025a7bab6cb3c3387816bcd3e4c8228.tar.bz2 sksys-0e61c01cc025a7bab6cb3c3387816bcd3e4c8228.zip |
doc: Fix style in prvilege separation and revocation
-rw-r--r-- | document.asciidoc | 44 |
1 files changed, 24 insertions, 20 deletions
diff --git a/document.asciidoc b/document.asciidoc index 2643501..f6c35c8 100644 --- a/document.asciidoc +++ b/document.asciidoc @@ -110,38 +110,42 @@ TODO: strncpy() strlcpy() == Netzwerk-Programmierung -Ein grosser Angriffsvektor auf Computer-Systeme sind laufenden Dienste, +Ein grosser Angriffsvektor auf Computer-Systemen sind laufende Dienste, welche ueber Netzwerk und Internet erreichbar sind. Ein Fehler in ihrer Programmierung koennte von ausserhalb ausgenutzt werden, -da Internetdienste eine staendige weltweite Erreichbarkeit haben. -Somit kann ein solcher Dienst potentiell zur jeder Zeit von jedem Ort aus +da Internetdienste eine staendige weltweite Erreichbarkeit aufweisen. +Somit kann ein solcher Dienst potentiell zu jeder Zeit und von jedem Ort aus angegriffen werden. Zum Schutz solcher Dienste gibt es verschiedene Mechanismen, welche im Folgenden erlaeutert werden. -=== Privilege-Separation - -Bei der Privilege-Seperation wird ein Programm in verschiedene Prozesse mit -unterschiedlichen Berechtigungen auf geteilt. -Das Ziel dabei ist es, Programmcode mit so wenig Rechten wie moeglich laufen zu -lassen. - -Als Beispiel soll der Window-Compositer Wayland genannt... -TODO: wayland privilege separater erklaeren - -Im einfachsten Fall startet ein Daemon mit Root rechten und holt sich alle -Ressourcen, wie etwas Sockets mit Well-Known-Ports oder eine Filedescriptor auf -eine Datei, gibt dann die rechte ab und laeuft im user-mode weiter. - === Privilege-Revocation Die meisten Anwendung benoetigen ausschliesslich waehrend der Initialisierung hoehere Rechte, um etwa einen Socket mit einem Well-Known-Port zu oeffnen. Zur Laufzeit werden diese hoeheren Rechte dann nicht mehr benoetigt. -Somit sollten diesen Prozesse nach ihrer Initialisierung diese Rechte wieder -abgeben und mit normalen Benutzer-Rechen weiter laufen. +Somit geben diese Prozesse nach ihrer Initialisierung diese Rechte wieder ab +und arbeiten mit normalen Benutzer-Rechten weiter. + +//TODO: einfachster Fall: Gibt es kompliziertere? +Im einfachsten Fall startet ein Daemon mit Root-Rechten. +Dieser alloziert benötigte Ressourcen, wie Sockets mit Well-Known-Ports oder +einen Filedeskriptoren auf eine Datei. +Im folgenden gibt der Daemon die Root-Rechte ab, in dem eine andere effektive +Nutzer-ID gesetzt wird und laeuft ab dem Zeitpunkt im User-Mode. +Er ist damit nicht mehr in der Lage, Operationen auszuführen, die Root-Rechte +verlangen. + +=== Privilege-Separation + +Bei der Privilege-Separation wird ein Programm in verschiedene Prozesse mit +unterschiedlichen Berechtigungen aufgeteilt. +Das Ziel dabei ist es, den Programmcode mit so wenig Rechten wie moeglich +ausführen zu lassen. + + -=== Service-Seperation +=== Service-Separation Da auf einem Computer zumeist mehr als nur ein Dienst laeuft, welcher mit einem Netzwerk oder dem Internet verbunden ist, ist auch die Angriffsmoeglichkeit auf |