Bundesamt für Sicherheit in der Informationstechnik

G 5.162 Umleiten von X-Window-Sitzungen

Durch die Trennung des X-Server vom X-Client beim X-Window System können diese Komponenten auf verschiedenen IT -Systemen betrieben werden. So können Applikationen und grafische Benutzeroberflächen auf unterschiedlichen IT-Systemen ausgeführt und angezeigt werden. Die Terminalserver, auf denen die Applikationen ausgeführt werden, sind hierbei durch eine Datenverbindung mit dem X-Terminal, auf dem die Ein- und Ausgabegeräte angeschlossen sind, verbunden. Die Bildschirminhalte werden im Terminalserver generiert, aber die Ausgabe wird auf das X-Terminal umgeleitet.

In der Regel können nicht nur die Ein- und Ausgaben, einzelne Instanzen der Applikationen oder Benutzeroberflächen vom Terminalserver auf das X-Terminal umgeleitet werden, sondern mehrere Instanzen. Der Benutzer kann beispielsweise mehrere verschiedene grafische Benutzeroberflächen gleichzeitig auf einem Terminalserver öffnen, zwischen denen er wechseln kann.

Aber nicht nur verschiedene Instanzen auf einem Terminalserver können an einem X-Terminal umgeleitet werden, sondern auch eine Instanz auf dem Terminalserver kann auf verschiedene X-Terminals umgeleitet werden. Gelingt es einem Angreifer, dass die Bildschirmausgabe nicht nur auf dem X-Terminal des Benutzers, sondern auch auf seinem umgeleitet wird, kann er die Ein- und Ausgabe des Benutzers abfangen und mitlesen.

Zusätzlich kann er die grafische Benutzeroberfläche oder die Anwendungen eines vom Angreifer kontrollierten Terminalservers auf das X-Terminal des Anwenders umleiten. Gelingt es dem Angreifer, die Arbeitsumgebung zu fälschen und bemerkt dies der Anwender nicht, übergibt er eventuell sensible Informationen dem Angreifer. Ein Beispiel hierfür ist die Eingabe eines Passwortes, das auf dem Bildschirm nicht angezeigt wird, aber dennoch vom Angreifer mitgelesen werden kann.

Kombinationen der oben genannten Angriffe sind ebenfalls möglich.

Beispiel:

Bestandteil vieler Systeme, auf denen X-Window installiert wird, ist "xnest". Diese Applikation erlaubt es, innerhalb einer Terminalsitzung eine oder mehrere weitere Sitzungen zu starten und in beliebiger Größe auf dem Bildschirm anzuzeigen. Siekann zum Testen von neuer Konfiguration oder für die Fernwartung genutzt werden.

Einem Angreifer gelingt es nun, diese Software auf dem Client des Anwenders zu starten, z. B. weil der Benutzer sich nicht bei Verlassen seines Arbeitsplatzes abgemeldet hat oder aufgrund einer Schwachstelle in der Implementierung des X-Server-Dienstes. Innerhalb von xnest, das mit voller Bildschirmauflösung gestartet wird, startet der Eindringling den üblichen Anmeldedialog des Terminals, leitet jedoch dessen Ausgabe über das Netz an einen zweiten Rechner und kommt so in den Besitz der Authentisierungsinformationen des Benutzers.

Stand: 12. EL Stand 2011