Eine Schwachstelle im Linux-Kernel gefährdet TCP-Verbindungen. Unter bestimmten Voraussetzungen konnten sich Sicherheitsforscher in Verbindungen einklinken und diese etwa lahmlegen und sogar manipulieren.

Seit der Veröffentlichung des Linux-Kernels 3.6 lassen sich Verbindungen kompromittieren, die Linux-Systeme mit Servern im Internet aufbauen – wenn die Voraussetzungen stimmen, warnen Sicherheitsforscher der University of California, Riverside. Der Grund dafür: Ab dieser Kernel-Version klafft eine Schwachstelle im TCP-Protokoll. Ursprung ist ein bereits 2010 vorgestellter Ansatz mit der Bezeichnung RFC 5961, der TCP eigentlich härten sollte. In ihrem Paper führen die Sicherheitsforscher das Angriffsszenario aus.

FreeBSD, OS X und Windows sind den Sicherheitsforschern zufolge nicht von dem Problem betroffen, da diese Betriebssysteme RFC 5961 nicht vollständig implementiert haben.

Daten abgreifen, Verbindungen lahmlegen

Dem Leiter der Studie Yue Cao zufolge konnten sie mittels dieser Seitenkanalattacke zum Beispiel HTTP-Verbindungen aus der Ferne lahmlegen und sogar Datenverkehr manipulieren. Angreifer könnten so Opfern etwa Malware unterschieben. Bei HTTPS-Verbindungen ist aufgrund der Transportverschlüsselung keine Manipulation möglich; aber auch hier sollen sich Verbindungen unterbrechen lassen.

Cao et. al demonstrierten den Angriff auf dem 25th Usenix Security Symposium in Texas Mitte dieser Woche. Dabei attackierten sie die Webseite von USA Today und injizierten Java-Code, mit dem sie Passwörter von Lesern der Webseite abgreifen konnten. Zudem legten sie mit einem derartigen Übergriff Server des anonymisierten Netzwerks Tor lahm. Aufgrund der Funktionsweise dieses Netzwerkes könne man so unter Umständen Rückschlüsse auf die Identität von Tor-Nutzern ziehen.

Angriff nicht ohne Weiteres möglich

Für einen erfolgreichen Übergriff müssen Angreifer jedoch die IP-Adressen der Computer kennen, auf die sie es abgesehen haben. Ist das der Fall, genüge es Cao zufolge, an beide Seiten präparierte Pakete zu schicken. Was wiederum voraussetzt, dass sich ein Angreifer in einer entsprechenden Position in einem Netzwerk befindet.

Sind diese Voraussetzungen erfüllt, soll der Übergriff vergleichsweise einfach und schnell über die Bühne gehen, erläutern die Sicherheitsforscher. Wenn jemand eigene Daten in eine HTTP-Verbindung schießen will, benötige er neben den IP-Adressen zudem die Ursprungs- und Ziel-Ports und die nächste gültige Sequenznummer der ausgetauschten Pakete. Eigentlich soll RFC 5961 genau solche Angriffsszenarien mittels Bestätigungs-Paketen (ACK) unterbinden.

Aus Performancegründen empfiehlt das RFC, das Versenden von ACK-Paketen zeitlich zu limitieren. In Linux sind standardmäßig 100 ACK-Pakete pro Sekunde eingestellt und genau das ist die Schwachstelle: So könne ein Angreifer einen Server mit präparierten Paketen quasi bombardieren, sodass dieser sein Limit erreicht und keine ACK-Pakete mehr verschickt. Anschließend könne ein Angreifer sich dem Client zuwenden und in die Verbindung einsteigen, da der Server zu diesem Zeitpunkt schweigt.

Workaround und Patches verfügbar

In dem kürzlich veröffentlichen Linux-Kernel 4.7 sind zwei Änderungen eingeflossen, um die Lücke zu beseitigen (1, 2.) Einige aktuelle Linux-Distributionen haben die Schwachstelle bereits mit Kernel-Updates beseitigt.

Bei Kernel-Images ohne die Korrektur kann man sich vor einem derartigen Übergriff schützen, indem man das erwähnte Limit in /etc/sysctl.conf durch den Eintrag net.ipv4.tcp_challenge_ack_limit = 999999999 hochsetzt; anschließend muss man die Einstellung noch per sysctl -p aktivieren. Die Sicherheitsforscher weisen aber darauf hin, dass wenn zumindest eine Gegenseite noch nicht abgesichert ist, ein Angriff immer noch möglich sei.

Quelle: http://heise.de/-3292257