Anfang dieses Monats entdeckten Sicherheitsexperten zwei neue Sicherheitslücken im Linux-Kernel: SegmentSmack und FragmentSmack. Beide beziehen sich auf die Arbeit des TCP-Stacks und ermöglichen es Angreifern, DoS- und DDoS-Angriffe auf das System des Opfers auszuführen. "Patches" für die meisten Distributionen wurden bereits veröffentlicht.
Unter dem Schnitt - mehr über die Essenz.
/ Foto Eli Duke CCWarum sind diese Sicherheitslücken gefährlich?
Die "Wurzel des Bösen" SegmentSmack - Funktionen tcp_collapse_ofo_queue () und tcp_prune_ofo_queue (). Ein Angreifer ruft sie über speziell geänderte TCP-Segmente an, die an den Server, den PC oder das mobile Gerät des Opfers gesendet werden.
Dies führt zu einer übermäßigen Verwendung von Speicher- und Prozessorressourcen. Somit kann ein Hacker einen Host oder ein Gerät mit einem Datenverkehr von nur zweitausend Paketen pro Sekunde „hängen“.
Die RedHat-Website
bietet ein Beispiel für das Ergebnis eines solchen Angriffs. Der Befehl top zeigt die volle Auslastung von vier CPU-Kernen und Verzögerungen bei der Verarbeitung von Netzwerkpaketen an:
$ top %Cpu25 : 0.0 us, 0.0 sy, 0.0 ni, 1.4 id, 0.0 wa, 0.0 hi, 98.5 si, 0.0 st %Cpu26 : 0.0 us, 0.0 sy, 0.0 ni, 1.4 id, 0.0 wa, 0.0 hi, 98.6 si, 0.0 st %Cpu28 : 0.0 us, 0.3 sy, 0.0 ni, 0.7 id, 0.0 wa, 0.0 hi, 99.0 si, 0.0 st %Cpu30 : 0.0 us, 0.0 sy, 0.0 ni, 1.4 id, 0.0 wa, 0.0 hi, 98.6 si, 0.0 st PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 141 root 20 0 0 0 0 R 97.3 0.0 1:16.33 ksoftirqd/26 151 root 20 0 0 0 0 R 97.3 0.0 1:16.68 ksoftirqd/28 136 root 20 0 0 0 0 R 97.0 0.0 0:39.09 ksoftirqd/25 161 root 20 0 0 0 0 R 97.0 0.0 1:16.48 ksoftirqd/30
Beachten Sie, dass für die Aufrechterhaltung eines „DoS-Status“ eine offene TCP-Sitzung erforderlich ist, sodass ein Angriff nicht mithilfe von IP-Spoofing ausgeführt werden kann.
Der FragmentSmack-Angriff nutzt die
Fragmentierungsfunktionen von IP-Datagrammen . Wenn ein IP-Datagramm an die Verbindungsschicht übertragen wird, wird es fragmentiert, wenn es nicht in den
Frame passt. Somit wird es in Stücken übertragen und der Wirt sammelt es dann zusammen. Die endgültige Länge des Datagramms kennt er jedoch erst, wenn er das letzte Fragment erhält.
Angreifer verwenden diese Funktion und passen die Fragmentversatzwerte so an, dass der Serverprozessor ständig IPv4- und IPv6-Pakete zusammenstellt.
Mit FragmentSmack können Sie mit gefälschten IP-Adressen arbeiten, um Sicherheitssysteme auszutricksen (Sie können IP-Spoofing verwenden). Es erfordert jedoch mehr Geschwindigkeit beim Senden von Paketen als SegmentSmack - 30.000 Pakete pro Sekunde.
RedHat gibt auch das Ergebnis eines ähnlichen Angriffs (der Kernel ist zu 99% geladen):
top - 08:59:45 up 1:34, 2 users, load average: 0.39, 0.15, 0.08 %Cpu9 : 0.0 us, 0.0 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi,100.0 si, 0.0 st PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 54 root 20 0 0 0 0 R 99.7 0.0 0:47.53 ksoftirqd/9
Solche Schwachstellen werden nicht zum ersten Mal entdeckt. In den neunziger Jahren wurde ein ähnlicher Fehler in Windows NT 4.0-, Windows 95- und Linux-Kernelversionen bis 2.0.32 gefunden. Der Exploit wird als
Teardrop-Angriff bezeichnet. Ein Angreifer hat außerdem fragmentierte Pakete an ein Zielgerät (Netzwerkgerät) gesendet, wodurch DoS verursacht wurde. Die Sicherheitsanfälligkeit wurde behoben, wurde aber später angezeigt.
Im Jahr 2009 wurde der Fehler erneut in Windows 7 und Windows Vista gefunden.
Wer hat weh getan?
FragmentSmack
bedroht alle Versionen des Linux-Kernels ab 3.9 und SegmentSmack mit 4.9. Eine Liste der Anbieter, deren Systeme diese Sicherheitsanfälligkeiten aufweisen, finden Sie
auf der CERT-Website .
Letzte Woche
berichtete Cisco
, dass das Betriebssystem AsyncOS von SegmentSmack und FragmentSmack angegriffen wurde. Aus diesem Grund hat das Unternehmen
eine Reihe von Patches veröffentlicht.
Wie in Cisco erwähnt, können die "Symptome" von Sicherheitslücken mit dem Befehl netstat verfolgt werden (ein Beispiel finden Sie auf der Cisco-Website im
Abschnitt Indikatoren für Kompromisse ). Wenn die Befehlsausgabe eine große Anzahl von TCP-Verbindungen im Status CLOSE_WAIT anzeigt, ist das Gerät wahrscheinlich von diesen Sicherheitsanfälligkeiten betroffen.
Was zu behandeln
Details zu SegmentSmack-Patches für eine Reihe von Distributionen wurden bereits
auf CVE veröffentlicht (hier ist beispielsweise ein Patch für
Ubuntu 14.04 LTS ). Dort finden Sie Anweisungen und Patch-Dateien für alle Linux-Distributionen. Was FragmentSmack betrifft, wurden die Patches gegen diese Sicherheitsanfälligkeit bereits
von den Entwicklern von Ubuntu, Red Hat, Debian und Android OS eingeführt.
/ Foto Christopher Michel CCAls vorübergehende Lösung für das FragmentSmack-Problem (wenn der Patch aus irgendeinem Grund nicht installiert werden kann) können Sie die Werte von net.ipv4.ipfrag_high_thresh und net.ipv4.ipfrag_low_thresh auf 256 bzw. 192 KB (anstelle von 4 MB und 3 MB) ändern.
Der erste Parameter legt die maximale Speichermenge fest, die der Warteschlange fragmentierter Pakete zugewiesen ist. Wenn die Warteschlangenlänge diese überschreitet, ignoriert der Fragment-Handler alle Pakete, bis die Warteschlangenlänge kleiner als der Wert ipfrag_low_thresh ist.
Laut Kevin Beaumont, einem Cybersecurity-Experten (sowie Autor eines
unabhängigen Blogs zu diesem Thema), können Android-Besitzer diese Werte mithilfe
solcher Befehle ändern (sie sollten funktionieren, ohne das Gerät neu zu starten).
Was wir in IT-GRAD machen - die Hauptbereiche:
• Virtuelle Infrastruktur (IaaS) • PCI-DSS-Hosting • Cloud FZ-152
Weitere Inhalte aus unserem IaaS-Blog: