summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Franzke <benjaminfranzke@googlemail.com>2013-01-07 20:16:24 +0100
committerBenjamin Franzke <benjaminfranzke@googlemail.com>2013-01-07 20:16:24 +0100
commit0e61c01cc025a7bab6cb3c3387816bcd3e4c8228 (patch)
tree673aa95818179f2cf936bb399ce7df9d985b39f2
parent899c15f7da7500d36fef23b765c7f1ddd573a0d1 (diff)
downloadsksys-0e61c01cc025a7bab6cb3c3387816bcd3e4c8228.tar.gz
sksys-0e61c01cc025a7bab6cb3c3387816bcd3e4c8228.tar.bz2
sksys-0e61c01cc025a7bab6cb3c3387816bcd3e4c8228.zip
doc: Fix style in prvilege separation and revocation
-rw-r--r--document.asciidoc44
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