X ist ein populäres netzwerkbasiertes graphisches Windowsystem. X ist in der
Unix Welt zum Industriestandard geworden. Netzwerkbasiert bedeutet, daß eine
Applikation auf einer Maschine gestartet wird, die Ein- und Ausgaben aber auf
einer anderen Maschine im Netz erfolgen können. Diese Eigenschaft von X ist
besonders interessant, wenn man rechenintensive Anwendungen hat, da man diese
dann auf einer leistungsstarken Workstation laufen lassen kann und die
Ein- und Ausgaben auf die Maschine schicken kann, an der man gerade arbeitet.
X-Windows nutzt TCP/IP (Ports 6000) zur Kommunikation. Das X-System
besteht aus zwei Hauptkomponenten: xlib und dem
X-Server-Programm.
Der X-Server kontrolliert die I/O-Geräte (Bildschirm, Tastatur, Maus). Das
xlib-Modul wird von den Applikationen (X-Clienten) zur Kommunikation mit dem
X-Server verwendet.
X-Anwendungen haben eine Reihe von Möglichkeiten: sie können z.B. die Tastatur
abfragen, Bildschirminhalte auslesen oder sogar für andere Applikationen
Tastatureingaben erzeugen (falls diese das zulassen). Die Netzwerkfähigkeit
von X macht es einerseits zu einem sehr mächtigen Werkzeug, andererseits
ergeben sich daraus eine Reihe von Sicherheitsrisiken.
Wenn auf einer Maschine ein ungeschützer X-Server läuft, kann jeder
Internetbenutzer mit dem Server eine Verbindung herstellen. Wenn dies gelingt,
können Tastatureingaben oder der Bildschirminhalt mitgelesen werden. Dadurch
kann ein Angreifer in den Besitz von Passwörtern und Loginnamen gelangen.
Da das X-Windowsystem ein umfangreiches Softwarepaket ist, wurden immer wieder
Fehler in einzelen Komponenten gefunden, die eine Gefährdung für die
Sicherheit eines Systems darstellten. In [CA-97.11] ist ein
Buffer-Overflow in der Xt-Programmbibliothek, die bei fast allen X-Systemen
mitgeliefert wird, beschrieben. Aber auch in X-Applikationen wurden Fehler
gefunden, die ein Angreifer ausnutzen konnte, um Superuserrechte zu
erlangen. Eine unter Unix sehr wichtige Anwendung xterm konnte dazu
benutzt werden, Root zu werden (siehe [CA-93.17]).
X hat zwar Schutzmeachnismen, die den Zugriff auf einen X-Server einschränken,
da die Daten aber im Klartext übertragen werden, kann ein Angreifer, der den
Netzwerktraffic mitliest, diese Mechanismen leicht umgehen.