Trys „Linux TCP“ aptiktos spragos sukelia nuotolinį paslaugų atsisakymą

„Linux“ avarija

Įtraukta Pastaruoju metu išleido naujienas apie kelių kritinių „Linux TCP“ grupių pažeidžiamumų nustatymą ir FreeBSD tai leidžia užpuolikui nuotoliniu būdu inicijuoti branduolio gedimą arba sukelti per daug išteklių, apdorojant specialiai sukurtus TCP paketus (mirties paketą).

Problemų sukelia maksimalaus duomenų bloko dydžio rankenėlių klaidos TCP pakete (MSS, maksimalus segmento dydis) ir pasirinktinio ryšio atpažinimo mechanizme (SACK, Selective TCP pripažinimas).

Kas yra atrankinis pripažinimas?

Pasirenkamasis TCP atpažinimas (SACK) tai yra mechanizmas, kai duomenų imtuvas gali informuoti siuntėją apie visus sėkmingai priimtus segmentus.

tai Leidžia siuntėjui perduoti trūkstamus srauto segmentus iš jo „gerai žinomo“ rinkinio. Kai TCP SACK yra išjungtas, norint persiųsti visą seką, reikia daug didesnio retransliavimo rinkinio.

„Linux“ branduolyje problemos yra išspręstos 4.4.182, 4.9.182, 4.14.127, 4.19.52 ir 5.1.11 versijose. „FreeBSD“ sprendimas yra pleistras.

Išleidžiami branduolio paketo naujiniai, skirti Debian, RHEL, SUSE / openSUSE, ALT, Ubuntu, Fedora ir Arch Linux.

CVE-2019-11477 („SACK Panic“)

Problema pasireiškia „Linux“ branduoliuose nuo 2.6.29 ir leidžia sugadinti branduolį (panika) siunčiant SACK paketų seriją dėl valdiklyje perpildyto sveiko skaičiaus.

Atakai pakanka nustatyti MSS vertę iki 48 baitų TCP ryšiui ir tam tikru būdu išsiųsti išdėstytų SACK paketų seką.

Problemos esmė ta, kad struktūra tcp_skb_cb („Socket Buffer“) skirta 17 fragmentų saugoti ("Apibrėžkite MAX_SKB_FRAGS (65536 / PAGE_SIZE + 1) => 17").

Siunčiant paketą, jis dedamas į siuntimo eilę, o „tcp_skb_cb“ saugo informaciją apie paketą, pvz., Eilės numerį, vėliavas, taip pat laukus „tcp_gso_segs“ ir „tcp_gso_size“, kurie naudojami siųsti Segmentavimo informacija valdikliui (PSO, Segmentų segmentų atsisiuntimas), norint apdoroti segmentus tinklo plokštės pusėje.

Gabalai išsaugomi, kai prarandamas paketas arba prireikia selektyvaus paketų perdavimo, jei įjungtas SACK ir tvarkyklė palaiko perdavimo sistemos operatorių.

Norėdami apeiti apsaugą, galite išjungti „SACK“ apdorojimą arba užblokuoti ryšius su maža MSS (veikia tik tada, kai nustatote „sysctl net.ipv4.tcp_mtu_probing“ į 0 ir gali sulaužyti kai kuriuos įprastus atvejus) su mažu MSS).

CVE-2019-11478 („SACK“ lėtumas)

Ši nesėkmė sukelia SACK mechanizmo pertraukimą (kai naudojate „Linux“ branduolį 4.15) arba per didelis išteklių sunaudojimas.

Problema kyla apdorojant specialiai sukurtus SACK paketus, kurie gali būti naudojami suskaidyti retransliavimo eilę (TCP retransliacija). Apsaugos sprendimai yra panašūs į ankstesnius pažeidžiamumus

CVE-2019-5599 („SACK“ lėtumas)

Leidžia sukelti paketų žemėlapio, išsiųsto apdorojant SACK seką, fragmentiškumą per vieną TCP ryšį ir paskatinti vykdyti daug išteklių reikalaujančią sąrašo paieškos operaciją.

Problema pasireiškia „FreeBSD 12“ su RACK paketų praradimo aptikimo mechanizmu. Norėdami išspręsti problemą, galite išjungti RACK modulį (jis nėra įkeliamas pagal numatytuosius nustatymus, jis išjungiamas nurodant sysctl net.inet.tcp.functions_default = freebsd)

CVE-2019-11479

Trūkumas leidžia užpuolikui priversti „Linux“ branduolį padalinti atsakymus į kelis TCP segmentus, kiekvienas iš jų apima tik 8 baitus duomenų, o tai gali žymiai padidinti srautą, padidinti procesoriaus apkrovą ir užsikimšti ryšio kanalą.

Be to, tai sunaudoja papildomus išteklius (procesoriaus galia ir tinklo plokštė).

Ši ataka reikalauja nuolatinių užpuoliko pastangų ir smūgiai baigsis netrukus po to, kai užpuolikas nustos siųsti srautą.

Kol ši ataka vyksta, sistema veiks su mažesniu pajėgumu, todėl kai kuriems vartotojams bus atsisakyta paslaugų.

Nuotolinis vartotojas gali sukelti šią problemą nustatydamas maksimalų segmento dydį (MSS) TCP ryšį žemiausia riba (48 baitai) ir siunčiant specialiai sukurtų SACK paketų seką.

Norėdami išspręsti problemą, rekomenduojama blokuoti ryšius su mažu MSS.


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.