From f527da04b4f9293a147d165761d7fc58927b3a59 Mon Sep 17 00:00:00 2001 From: Jan Klemkow Date: Mon, 5 Nov 2012 00:05:33 +0100 Subject: add privilege separation --- document.asciidoc | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/document.asciidoc b/document.asciidoc index 1dcab7b..e97255a 100644 --- a/document.asciidoc +++ b/document.asciidoc @@ -3,12 +3,17 @@ == Einleitung -Systemprogrammierung +Dieses Dokument beschreibt Sicherheitrisiken von Systemprogrammen mit dem Fokus +auf UNIX-Systeme. == Angriffsvektoren === Standard-C-Bibliothek +Viele Systemprogramme sind in der Programmiersprache C geschrieben. +Deren Standardbiblothek unterlag im laufe der Zeit einer ganzen Reihe von +Veraenderungen, welche auch den Punkt der Sicherheit betrafen. + Zeichenketten-Funktionen. * gets() @@ -16,6 +21,30 @@ Zeichenketten-Funktionen. * strcpy() * str..() +=== Netzwerk-Programmierung + +Ein grosser Angriffvektor auf Computersysteme sind die Laufenden Dienste, +welche ueber Netzwerk und Internet erreichbar sind. +Ein Fehler in iherer Programmierung kann von ausserhalb ausgenutzt werden, +da man bei Internet diensten eine staendige weltweite Erreichbarkeit hat. + +Zum Schutz solcher Dienste gibt es verschiene Mechanissmen. + + * privilege separation + * zugangs beschraenkung (Firewall Layer 3/4) + * Applikation Level Gateway (doppelte parsen von protokollen) + +==== Privilege Separation + +Bei der Privilege-Seperation wird ein Programm in verschiedene Prozesse mit +unterschiedlichen Berechtigungena auf geteilt. +Ziel ist es, so wenig wie moeglich Programmcode mit root-Rechten laufen zu +lassen. + +Im einfachsten Fall startet ein Deamon mit Root rechten und holt sich alle +resourcen, wie etwas sockets mit Well-Known-Ports oder eine Filedescriptor auf +eine Datei, gibt dann die rechte ab und laeuft im user-mode weiter. + === Kernel * interrupt blockierung -- cgit