Tre dobësi të gjetura në pirgjet Linux TCP që çojnë në mohim të largët të shërbimit

përplasje linux

kohët e fundit lëshoi ​​lajmin mbi identifikimin e disa dobësive kritike në pirgjet Linux TCP dhe FreeBSD se lejon një sulmues të fillojë në distancë një dështim të kernelit ose të shkaktojë konsum të tepërt të burimeve duke përpunuar pako të përpunuara posaçërisht TCP (pako e vdekjes).

Problemet shkaktohen nga gabimet në dorezat e madhësisë maksimale të bllokut të të dhënave në paketën TCP (MSS, Madhësia maksimale e segmentit) dhe mekanizmi për njohjen selektive të lidhjes (SACK, Njohja selektive TCP).

Çfarë është njohja selektive?

Njohja selektive e TCP (SACK) është një mekanizëm ku marrësi i të dhënave mund të informojë dërguesin për të gjitha segmentet që janë pranuar me sukses.

Esto Lejon dërguesin të ritransmetojë segmentet e rrymës që mungojnë nga seti i tij 'i njohur'. Kur TCP SACK është i paaftë, kërkohet një grup shumë më i madh i ritransmetimeve për të ritransmetuar një sekuencë të tërë.

Në kernelin Linux, problemet janë rregulluar në versionet 4.4.182, 4.9.182, 4.14.127, 4.19.52 dhe 5.1.11. Zgjidhja për FreeBSD është në dispozicion si një copë toke.

Azhurnimet e paketave të kernelit lëshohen për Debian, RHEL, SUSE / openSUSE, ALT, Ubuntu, Fedora dhe Arch Linux.

CVE-2019-11477 (Paniku i SACK)

Problemi manifestohet në kernelët Linux që nga 2.6.29 dhe ju lejon të prishni kernelin (panik) kur dërgoni një seri paketash SACK për shkak të një mbingarkese të plotë në kontrollues.

Për një sulm, mjafton të vendosni vlerën e MSS në 48 bajtë për një lidhje TCP dhe dërgimin e një sekuence të paketave të rregulluara SACK në një mënyrë të caktuar.

Thelbi i problemit është se struktura tcp_skb_cb (Buffer fole) është krijuar për të ruajtur 17 fragmente ("Përcaktoni MAX_SKB_FRAGS (65536 / PAGE_SIZE + 1) => 17").

Në procesin e dërgimit të një pakete, ajo vendoset në radhë për dërgimin dhe dyqanet e tcp_skb_cb hollësisht në lidhje me paketën, të tilla si numri i sekuencës, flamujt, si dhe fushat "tcp_gso_segs" dhe "tcp_gso_size", të cilat përdoren për të dërguar Informacioni i segmentimit tek kontrolluesi (OST, Shkarkimi i segmentit të segmentit) për të përpunuar segmentet në anën e kartës së rrjetit.

Pjesët ruhen kur ndodh humbja e paketës ose nevoja për ritransmetim selektiv të paketës, nëse SACK është aktivizuar dhe OST mbështetet nga drejtuesi.

Si një zgjidhje për mbrojtje, ju mund të çaktivizoni përpunimin e SACK ose të bllokoni lidhjet me një MSS të vogël (funksionon vetëm kur vendosni sysctl net.ipv4.tcp_mtu_probing në 0 dhe mund të prishni disa normale) me MSS të ulët).

CVE-2019-11478 (Ngadalësia e SACK)

Ky dështim shkakton një ndërprerje të mekanizmit SACK (kur përdorni kernel Linux në 4.15) ose konsum të tepërt të burimeve.

Problemi shfaqet kur përpunohen paketat e krijuara posaçërisht SACK që mund të përdoren për fragmentimin e radhës së ritransmetimit (ritransmetimi TCP). Zgjidhjet për mbrojtje janë të ngjashme me dobësitë e mëparshme

CVE-2019-5599 (Ngadalësia e SACK)

Lejon të shkaktojë fragmentim të hartës së paketës së dërguar kur përpunon një sekuencë SACK brenda një lidhjeje të vetme TCP dhe të shkaktojë që të ekzekutohet një operacion i kërkimit të listës që kërkon shumë burime.

Problemi shfaqet në FreeBSD 12 me mekanizmin e zbulimit të humbjes së paketës RACK. Si një zgjidhje mund të çaktivizoni modulin RACK (nuk është i ngarkuar si parazgjedhje, është çaktivizuar duke specifikuar sysctl net.inet.tcp.functions_default = freebsd)

CVE-2019-11479

E meta lejon një sulmues të bëjë që kerneli Linux të ndajë përgjigjet në segmente të shumta TCP, secila prej të cilave përfshin vetëm 8 bajt të dhëna, të cilat mund të çojnë në një rritje të konsiderueshme të trafikut, rritje të ngarkesës së CPU-së dhe një kanal të bllokuar të komunikimit.

Përveç kësaj, ajo konsumon burime shtesë (fuqia e procesorit dhe karta e rrjetit).

Ky sulm kërkon përpjekje të vazhdueshme nga ana e sulmuesit dhe goditjet do të përfundojnë menjëherë pasi sulmuesi të ndalojë dërgimin e trafikut.

Ndërsa ky sulm është në progres, sistemi do të funksionojë me kapacitet të reduktuar, duke shkaktuar një mohim të shërbimit për disa përdorues.

Një përdorues i largët mund të shkaktojë këtë problem duke vendosur madhësinë maksimale të segmentit (MSS) e një lidhjeje TCP në kufirin e saj më të ulët (48 bajt) dhe dërgimin e një sekuence të paketave të krijuara posaçërisht SACK.

Si një zgjidhje, rekomandohet të bllokoni lidhjet me MSS të ulët.


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.