Linux-ի և FreeBSD TCP փաթեթների խոցելիությունները, որոնք հանգեցնում են ծառայության հեռակա մերժմանը

Netflix ընկերություն բացահայտվել է մի քանի քննադատական խոցելիություններ Linux և FreeBSD TCP փաթեթներում, որոնք թույլ են տալիս հեռակա կարգով սկսել միջուկի խափանումը կամ առաջացնել ռեսուրսների չափազանց մեծ սպառում հատուկ մշակված TCP փաթեթների մշակման ժամանակ (մահվան փաթեթ): Խնդիրներ պատճառած TCP փաթեթում տվյալների բլոկի առավելագույն չափի (MSS, առավելագույն սեգմենտի չափ) կարգավորիչների սխալները և կապերի ընտրովի ճանաչման մեխանիզմը (SACK, TCP Selective Acknowledgment):

  • CVE-2019-11477- ը (SACK Panic) - խնդիր, որն ի հայտ է գալիս Linux միջուկներում՝ սկսած 2.6.29-ից և թույլ է տալիս միջուկի խուճապ առաջացնել՝ ուղարկելով SACK փաթեթների շարք՝ մշակիչում ամբողջ թվի գերհոսքի պատճառով: Հարձակման համար բավական է TCP կապի համար MSS արժեքը սահմանել 48 բայթ (ներքևի սահմանը սահմանում է հատվածի չափը 8 բայթ) և ուղարկել SACK փաթեթների հաջորդականությունը, որոնք դասավորված են որոշակի ձևով։

    Որպես անվտանգության լուծումներ, դուք կարող եք անջատել SACK-ի մշակումը (0 գրել /proc/sys/net/ipv4/tcp_sack-ում) կամ արգելափակել ցածր MSS կապեր (աշխատում է միայն այն դեպքում, երբ sysctl net.ipv4.tcp_mtu_probing-ը դրված է 0-ի և կարող է խաթարել որոշ նորմալ ցածր MSS միացումներ);

  • CVE-2019-11478- ը (SACK դանդաղություն) - հանգեցնում է SACK մեխանիզմի խաթարմանը (4.15-ից փոքր Linux միջուկ օգտագործելիս) կամ ռեսուրսների չափազանց մեծ սպառման: Խնդիրն առաջանում է հատուկ մշակված SACK փաթեթների մշակման ժամանակ, որոնք կարող են օգտագործվել վերահաղորդման հերթը մասնատելու համար (TCP retransmission): Անվտանգության լուծումները նման են նախորդ խոցելիությանը.
  • CVE-2019-5599- ը (SACK դանդաղություն) - թույլ է տալիս առաջացնել ուղարկված փաթեթների քարտեզի մասնատում, երբ մշակվում է հատուկ SACK հաջորդականություն մեկ TCP կապի շրջանակներում և առաջացնել ռեսուրսների ինտենսիվ ցուցակի թվարկման գործողություն: Խնդիրը հայտնվում է FreeBSD 12-ում՝ RACK փաթեթների կորստի հայտնաբերման մեխանիզմով: Որպես լուծում, դուք կարող եք անջատել RACK մոդուլը;
  • CVE-2019-11479- ը - հարձակվողը կարող է պատճառ դառնալ, որ Linux միջուկը բաժանի պատասխանները մի քանի TCP հատվածների, որոնցից յուրաքանչյուրը պարունակում է ընդամենը 8 բայթ տվյալ, ինչը կարող է հանգեցնել տրաֆիկի զգալի աճի, պրոցեսորի ծանրաբեռնվածության ավելացման և կապի ալիքի խցանմանը: Այն խորհուրդ է տրվում որպես պաշտպանության միջոց: արգելափակել կապեր ցածր MSS-ի հետ:

    Linux միջուկում խնդիրները լուծվել են 4.4.182, 4.9.182, 4.14.127, 4.19.52 և 5.1.11 թողարկումներում: FreeBSD-ի ուղղումը հասանելի է որպես կարկատել. Բաշխումներում միջուկային փաթեթների թարմացումներն արդեն թողարկվել են Debian, RHEL- ը, SUSE/openSUSE. Պատրաստման ընթացքում ուղղում Ubuntu, Fedora и Arch Linux- ը.

    Source: opennet.ru

  • Добавить комментарий