A Linux TCP-ben talált három biztonsági rés távoli szolgáltatásmegtagadáshoz vezet

linux összeomlás

nemrég kiadta a hírt a Linux TCP-veremek több kritikus sebezhetőségének azonosításáról és a FreeBSD azt lehetővé teszi a támadó számára, hogy távolról kezdeményezze a kernel meghibásodását vagy túlzott erőforrás-felhasználást okozhat speciálisan kialakított TCP-csomagok (halálcsomag) feldolgozásával.

A problémákat az adatblokk maximális méretét kezelők hibái okozzák a TCP csomagban (MSS, Maximum segment size) és a szelektív kapcsolatfelismerés mechanizmusában (SACK, Selective TCP felismerés).

Mi a szelektív felismerés?

Szelektív TCP-felismerés (SACK) ez egy olyan mechanizmus, ahol az adatvevő tájékoztathatja a küldőt az összes sikeresen elfogadott szegmensről.

ezt Lehetővé teszi a feladónak, hogy továbbítsa a hiányzó adatfolyam-szakaszokat „jól ismert” készletéből. Ha a TCP SACK ki van kapcsolva, akkor egy teljes sorozat újraküldéséhez sokkal nagyobb számú továbbításra van szükség.

A Linux kernelben a problémákat a 4.4.182, 4.9.182, 4.14.127, 4.19.52 és 5.1.11 verziókban javítják. A FreeBSD megoldása javításként érhető el.

A rendszermag-csomag frissítései megjelennek a Debian, az RHEL, a SUSE / openSUSE, az ALT, az Ubuntu, a Fedora és az Arch Linux számára.

CVE-2019-11477 (SACK Panic)

A probléma 2.6.29-től kezdve a Linux kernjeiben nyilvánul meg, és lehetővé teszi a kernel összeomlását (pánik), amikor egy SACK csomagot küld a vezérlőben egy egész szám túlcsordulás miatt.

Támadáshoz elegendő az MSS értékét 48 bájtra állítani egy TCP-kapcsolathoz és elrendezett SACK csomagok sorozatát küldjük egy bizonyos módon.

A probléma lényege, hogy a szerkezet tcp_skb_cb (Socket puffer) 17 töredék tárolására készült ("Határozzon meg MAX_SKB_FRAGS (65536 / PAGE_SIZE + 1) => 17" értéket).

A csomagküldés során a küldési sorba kerül, és a tcp_skb_cb tárolja a csomag részleteit, például a sorszámot, a zászlókat, valamint a "tcp_gso_segs" és "tcp_gso_size" mezőket, amelyek küldésre szolgálnak. Szegmentálási információk a vezérlőhöz (TSO, Segment Segment Download) a szegmensek feldolgozásához a hálózati kártya oldalán.

Ha a SACK engedélyezve van, és az illesztőprogram támogatja a TSO-t, akkor a darabok mentésre kerülnek, amikor csomagvesztés vagy szelektív csomag-továbbadás szükséges.

A védelem egyik megoldásaként letilthatja a SACK feldolgozását, vagy blokkolhatja a kapcsolatokat egy kis MSS-sel (csak akkor működik, ha a sysctl net.ipv4.tcp_mtu_probing értéket 0-ra állítja, és alacsony MSS esetén megszakíthat néhány normálist).

CVE-2019-11478 (SACK lassúság)

Ez a kudarc megszakítja a SACK mechanizmust (ha Linux kernelt használ 4.15-ben) vagy túlzott erőforrás-felhasználás.

A probléma akkor jelentkezik, amikor speciálisan kialakított SACK csomagokat dolgoznak fel, amelyek felhasználhatók az újraküldési sor (TCP újraküldés) töredezésére. A védelmi megoldások hasonlóak a korábbi sérülékenységekhez

CVE-2019-5599 (SACK lassúság)

Lehetővé teszi a SACK szekvencia feldolgozása során elküldött csomagok térképének töredezettségét egyetlen TCP-kapcsolaton belül, és erőforrás-igényes listakeresési műveletet futtat.

A probléma a FreeBSD 12-ben nyilvánul meg a RACK csomagvesztés detektálási mechanizmussal. Megkerülő megoldásként letilthatja a RACK modult (alapértelmezés szerint nincs betöltve, a sysctl net.inet.tcp.functions_default = freebsd megadásával tiltva)

CVE-2019 11479-

A hiba lehetővé teszi a támadó számára, hogy a Linux kernel több TCP szegmensre osztja a válaszokat, mindegyik csak 8 bájt adatot tartalmaz, ami jelentős forgalomnövekedéshez, megnövekedett CPU-terheléshez és eldugult kommunikációs csatornához vezethet.

Ezenkívül további forrásokat emészt fel (processzor teljesítménye és hálózati kártya).

Ez a támadás folyamatos erőfeszítéseket igényel a támadótól, és a találatok nem sokkal azután fejeződnek be, hogy a támadó abbahagyja a forgalom küldését.

Amíg ez a támadás folyamatban van, a rendszer csökkentett kapacitással fog futni, ami egyes felhasználók számára megtagadja a szolgáltatást.

A távoli felhasználó kiválthatja ezt a problémát a maximális szegmensméret beállításával (MSS) egy TCP-kapcsolaton a legalacsonyabb határon (48 bájt), és különlegesen kialakított SACK csomagok sorozatát küldi.

Megkerülő megoldásként ajánlott blokkolni az alacsony MSS-sel rendelkező kapcsolatokat.


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.