Security im Server- und Applikationsbetrieb

Unix und Nonstop OS bieten hohe Sicherheitsstandards

10.12.2010
Von 
Dr. Klaus Manhart hat an der LMU München Logik/Wissenschaftstheorie studiert. Seit 1999 ist er freier Fachautor für IT und Wissenschaft und seit 2005 Lehrbeauftragter an der Uni München für Computersimulation. Schwerpunkte im Bereich IT-Journalismus sind Internet, Business-Computing, Linux und Mobilanwendungen.

Kernelpriorisierung - Unix kennt keine Bluescreens

Bei Unix sorgt ein ausgeklügeltes, klares Konzept für die Sicherheit des Systems. Prinzipiell gibt es mehrere Ringe, wobei jeder Prozess immer nur in einem einzelnen Ring ausgeführt werden kann. Ein Ausbrechen aus dem Ring ist nicht erlaubt. Der innerste Ring ist Kernelland, ein speziell geschützter Bereich, in dem Kernelprozesse ablaufen, also jene Programme, die direkt im Systemkern ausgeführt werden. Sie dürfen nicht von außen beeinflussbar sein. Tatsächlich ist es für Nutzer unmöglich, Prozesse in dieses Kernelland zu verschieben. Anwenderprozesse sind erst in Ring 3 vorgesehen.

Diese saubere Trennung der Bereiche sorgt dafür, dass Unix-Server kaum - etwa durch Denial of Service Angriffe - völlig lahm gelegt werden können. In der Windows-Welt ist das durchaus üblich - die berüchtigten Bluescreens of Death zeugen davon. Ist ein Windows-System einmal eingefroren, so ist der Rechner nicht nur nicht mehr bedienbar, es lässt sich auch nur schwer feststellen, welcher Prozess welche Ressource blockiert hat. Im Serverumfeld ist ein derartiges Verhalten nicht akzeptabel. Selbst wenn es eine böswillige Anwendung darauf angelegt hat, einen Unternehmens-Rechner in die Knie zu zwingen, müssen Schutzmechanismen vorhanden sein, die das gänzliche Einfrieren des Servers verhindern.

Ein solcher Schutzmechanismus ist im Unix-Umfeld die Regelung von Software-Prozessen über Prioritäten. Dabei haben Kernprozesse einen deutlich höheren Vorrang als Anwenderprozesse. Startet ein Hacker einen Zombieprozess, der die CPU- oder I/O-Auslastung auf 100 Prozent treibt oder den Hauptspeicher vollschreibt, so sorgt unter Unix die Kernelpriorisierung dafür, dass lebensnotwendige Server-Prozesse weiter funktionieren. Startet beispielsweise auf einem Unix DNS-Server - er verwaltet die Namen von IP-Adressen - ein Zombieprozess, so reagiert der Server weiterhin auf Anfragen - etwas langsamer vielleicht, aber in immer noch erträglicher Performance. Die Antwortzeit wird im Rahmen des Akzeptablen bleiben.