Open Source im professionellen Einsatz

Linux-Kernel: TCP-Hijacking möglich

Eine Schwachstelle im Linux Kernel hat zur Folge, dass ein entfernter Angreifer TCP-Verbindungen übernehmen kann. Weiter kann er auch Denial-of-Service-Attacken durchführen. Der Angreifer nutzt hierzu eine Side-Channel-Attacke, um zunächst Informationen über bestehende TCP-Verbindungen zwischen zwei Hostsystemen zu beziehen. Hierzu sendet der Angreifer an die beiden Hosts geschickt konstruierte TCP-Pakete. Anhand der von den Hosts zurückgesendeten Challenge-ACK-Paketen kann der Angreifer damit zunächst in Erfahrung bringen, ob zwischen den beiden Systemen eine TCP-Verbindung besteht. Eine ähnliche Methode kann der Angreifer dann auch verwenden, um die TCP-Sequence-Number einer bestehenden Verbidung zu bestimmen. Sobald er diese hat, kann der Angreifer dann diese Verbindung übernehmen. Laut Advisory dauert diese komplette Attacke lediglich eine Minute und die Erfolgsquote liegt bei 88 bis 97%.

Die Attacke ist möglich, weil der Kernel intern die Zahl der Challange-ACKs limitiert. Dies wird in der »/net/ipv4/tcp_input.c«-Datei des Kernels geregelt. Dort ist »int sysctl_tcp_challenge_ack_limit = 100« definiert. Das heißt die Zahl der Challange-ACKs is auf 100 limitiert. Dieses recht niedrige Limit ermöglicht es dem Angreifer, die Attacke relativ flott durchzuführen.

Nun wurde dieses Limit im Kernel auf 1000 erhoeht. Neben dieser Änderung wurden noch einige weitere kleinere Patches am Kernel vorgenommen, um die Attacke zu verhindern. Betroffen sind die Versionen 3.6 und älter.

comments powered by Disqus

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.