V zásobnících Linux TCP nalezeny tři chyby zabezpečení vedoucí ke vzdálenému odepření služby

linuxová havárie

Recientemente vydala zprávu o identifikaci několika kritických zranitelností v zásobnících Linux TCP a FreeBSD umožňuje útočníkovi vzdáleně iniciovat selhání jádra nebo způsobit nadměrnou spotřebu zdrojů zpracováním speciálně vytvořených paketů TCP (paket smrti).

Problémy způsobují chyby v úchytech maximální velikosti datového bloku v paketu TCP (MSS, maximální velikost segmentu) a mechanismus pro selektivní rozpoznávání připojení (SACK, selektivní rozpoznávání TCP).

Co je to selektivní uznání?

Selektivní rozpoznávání TCP (SACK) je to mechanismus, kde přijímač dat může informovat odesílatele o všech segmentech, které byly úspěšně přijaty.

toto Umožňuje odesílateli znovu odeslat chybějící segmenty streamu z jeho „dobře známé“ sady. Když je TCP SACK zakázán, je k opětovnému přenosu celé sekvence nutná mnohem větší sada opakovaných přenosů.

V linuxovém jádře jsou problémy opraveny ve verzích 4.4.182, 4.9.182, 4.14.127, 4.19.52 a 5.1.11. Řešení pro FreeBSD je k dispozici jako oprava.

Jsou vydávány aktualizace balíčků jádra pro Debian, RHEL, SUSE / openSUSE, ALT, Ubuntu, Fedora a Arch Linux.

CVE-2019-11477 (SACK Panic)

Problém se projevuje v linuxových jádrech od 2.6.29 a umožňuje vám havarovat jádro (panika) při odesílání řady paketů SACK kvůli celočíselnému přetečení v řadiči.

Pro útok stačí pro připojení TCP nastavit hodnotu MSS na 48 bajtů a určitým způsobem posíláte sekvenci uspořádaných paketů SACK.

Podstatou problému je, že struktura tcp_skb_cb (Socket Buffer) je určen k uložení 17 fragmentů ("Definujte MAX_SKB_FRAGS (65536 / PAGE_SIZE + 1) => 17").

V procesu odesílání paketu je umístěn do fronty odesílání a tcp_skb_cb ukládá podrobnosti o paketu, například pořadové číslo, příznaky, stejně jako pole „tcp_gso_segs“ a „tcp_gso_size“, která se používají k odesílání Informace o segmentaci do řadiče (TSO, stažení segmentu segmentu) pro zpracování segmentů na straně síťové karty.

Fragmenty se ukládají, když dojde ke ztrátě paketu nebo potřebě selektivního opětovného přenosu paketu, pokud je povolen SACK a ovladač podporuje TSO.

Jako řešení ochrany můžete zakázat zpracování SACK nebo blokovat připojení pomocí malého MSS (funguje pouze při nastavení sysctl net.ipv4.tcp_mtu_probing na 0 a může narušit některé normální) s nízkou MSS).

CVE-2019-11478 (SACK slowness)

Toto selhání způsobí přerušení mechanismu SACK (při použití jádra Linuxu v 4.15) nebo nadměrná spotřeba zdrojů.

Problém nastává při zpracování speciálně vytvořených paketů SACK, které lze použít k fragmentaci fronty opakovaného přenosu (TCP opakovaný přenos). Řešení ochrany jsou podobná předchozím zranitelnostem

CVE-2019-5599 (SACK slowness)

Umožňuje způsobit fragmentaci paketové mapy odeslané při zpracování sekvence SACK v rámci jednoho připojení TCP a způsobit spuštění operace vyhledávání seznamu náročných na prostředky.

Problém se projevuje ve FreeBSD 12 s mechanismem detekce ztráty paketů RACK. Jako řešení můžete deaktivovat modul RACK (ve výchozím nastavení není načten, deaktivován zadáním sysctl net.inet.tcp.functions_default = freebsd)

CVE-2019-11479

Tato chyba umožňuje útočníkovi, aby linuxové jádro rozdělil odpovědi na více segmentů TCP, každý z nich obsahuje pouze 8 bajtů dat, což může vést k významnému zvýšení provozu, zvýšenému zatížení procesoru a ucpanému komunikačnímu kanálu.

Kromě toho spotřebovává další zdroje (výkon procesoru a síťová karta).

Tento útok vyžaduje neustálé úsilí ze strany útočníka a zásahy skončí krátce poté, co útočník přestane odesílat provoz.

Zatímco tento útok probíhá, systém poběží se sníženou kapacitou, což u některých uživatelů způsobí odmítnutí služby.

Vzdálený uživatel může tento problém vyvolat nastavením maximální velikosti segmentu (MSS) připojení TCP na nejnižším limitu (48 bajtů) a odesílání sekvence speciálně vytvořených paketů SACK.

Jako řešení se doporučuje blokovat připojení s nízkou úrovní MSS.


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.