summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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