Linux TCP стектерінде үш осалдық табылды, бұл қашықтықтан қызмет көрсетуден бас тартуға әкеледі

Linux апаты

Жақында Linux TCP стектеріндегі бірнеше маңызды осалдықтарды анықтау туралы жаңалықтар шығарды және FreeBSD шабуылдаушыға қашықтықтан ядро ​​ақаулығын бастауға мүмкіндік береді немесе арнайы дайындалған TCP пакеттерін (өлім пакеті) өңдеу арқылы ресурстардың шамадан тыс тұтынылуына әкелуі мүмкін.

Мәселелер мәліметтер блогының максималды көлеміндегі өңдеушілердегі қателіктерден туындайды TCP пакетінде (АЖ, сегменттің максималды өлшемі) және таңдамалы қосылымды тану механизмінде (SACK, Selective TCP тану).

Селективті тану дегеніміз не?

Таңдау бойынша TCP тану (SACK) бұл мәліметтер қабылдағышы жіберушіге сәтті қабылданған барлық сегменттер туралы хабарлауға болатын механизм.

Бұл Жіберушіге ағынның жетіспейтін сегменттерін қайта жіберуге мүмкіндік береді оның «танымал» жиынтығынан. TCP SACK ажыратылған кезде, бүкіл тізбекті қайта жіберу үшін қайта жіберудің анағұрлым үлкен жиынтығы қажет.

Linux ядросында мәселелер 4.4.182, 4.9.182, 4.14.127, 4.19.52 және 5.1.11 нұсқаларында шешілген. FreeBSD үшін шешім патч түрінде қол жетімді.

Ядро пакетінің жаңартулары Debian, RHEL, SUSE / openSUSE, ALT, Ubuntu, Fedora және Arch Linux үшін шығарылды.

CVE-2019-11477 (SACK Panic)

Мәселе 2.6.29 жағдайындағы Linux ядроларында көрінеді және ядроны бұзуға мүмкіндік береді (дүрбелең) контроллердегі бүтін санның толып кетуіне байланысты SACK пакеттерінің сериясын жіберу кезінде.

Шабуыл үшін TCP қосылымы үшін АЖ мәнін 48 байтқа орнату жеткілікті және белгілі бір жолмен орналастырылған SACK пакеттерінің ретін жіберу.

Мәселенің мәні құрылымда tcp_skb_cb (ұяшық буфері) 17 фрагментті сақтауға арналған («MAX_SKB_FRAGS анықтаңыз (65536 / PAGE_SIZE + 1) => 17»).

Дестені жіберу процесінде ол жіберу кезегіне орналастырылады және tcp_skb_cb пакет туралы мәліметтерді, мысалы, реттік нөмір, жалаушалар, сондай-ақ жіберу үшін пайдаланылатын «tcp_gso_segs» және «tcp_gso_size» өрістерін сақтайды. Желілік карта жағынан сегменттерді өңдеу үшін контроллерге сегментация туралы ақпарат (TSO, Segment Segment Download).

Егер SACK қосылса және TSO драйверіне қолдау көрсетсе, пакеттер жоғалған кезде немесе таңдамалы қайта жіберу қажеттілігі туындаған кезде бөліктер сақталады.

Қорғауға арналған уақытша шешім ретінде сіз SACK өңдеуді өшіре аласыз немесе шағын АЖ-мен байланыстарды блоктай аласыз (тек sysctl net.ipv4.tcp_mtu_probing мәнін 0-ге орнатқан кезде жұмыс істейді және төмен АЖ-мен кейбір қалыпты бұзуы мүмкін).

CVE-2019-11478 (SACK баяулықтығы)

Бұл сәтсіздік SACK механизмінің үзілуін тудырады (4.15-те Linux ядросын қолданған кезде) немесе ресурстарды шамадан тыс тұтыну.

Мәселе ретрансляция кезегін (TCP ретрансляциясы) фрагменттеуге болатын арнайы жасалған SACK пакеттерін өңдеу кезінде пайда болады. Қорғаныс шешімдері алдыңғы осалдықтарға ұқсас

CVE-2019-5599 (SACK баяулықтығы)

SACK кезектілігін өңдеу кезінде жіберілген пакеттер картасының фрагменттелуіне жол береді бір TCP қосылымы ішінде және ресурстарды қажет ететін тізімді іздеу әрекетін тудыруы керек.

Мәселе FreeBSD 12-де RACK дестесін жоғалтуды анықтау механизмімен көрінеді. Шешім ретінде сіз RACK модулін өшіре аласыз (әдепкі бойынша жүктелмейді, sysctl net.inet.tcp.functions_default = freebsd көрсету арқылы өшіріледі)

CVE-2019-11479

Қате шабуылдаушыға Linux ядросын жауаптарды бірнеше TCP сегменттеріне бөлуге мүмкіндік береді, әрқайсысында тек 8 байт деректер бар, бұл трафиктің айтарлықтай өсуіне, CPU жүктемесінің жоғарылауына және байланыс арнасының бітелуіне әкелуі мүмкін.

Сонымен қатар, ол қосымша ресурстарды тұтынады (процессордың қуаты және желі картасы).

Бұл шабуыл шабуылдаушыдан үздіксіз күш-жігерді талап етеді және соққылар трафикті жіберуді тоқтатқаннан кейін көп ұзамай аяқталады.

Бұл шабуыл жүріп жатқан кезде, жүйе төмендеген қуаттылықта жұмыс істейді, бұл кейбір пайдаланушыларға қызмет көрсетуден бас тартуға әкеледі.

Қашықтағы пайдаланушы сегменттің максималды өлшемін орнату арқылы бұл мәселені тудыруы мүмкін TCP қосылысының (АБЖ) ең төменгі шегінде (48 байт) және арнайы дайындалған SACK пакеттерінің ретін жіберу.

Уақытша шешім ретінде төмен АЖ-мен байланыстарды бұғаттау ұсынылады.


Мақаланың мазмұны біздің ұстанымдарымызды ұстанады редакторлық этика. Қате туралы хабарлау үшін нұқыңыз Мұнда.

Бірінші болып пікір айтыңыз

Пікіріңізді қалдырыңыз

Сіздің электрондық пошта мекен-жайы емес жарияланады.

*

*

  1. Деректерге жауапты: Мигель Анхель Гатан
  2. Деректердің мақсаты: СПАМ-ны басқару, түсініктемелерді басқару.
  3. Заңдылық: Сіздің келісіміңіз
  4. Деректер туралы ақпарат: заңды міндеттемелерді қоспағанда, деректер үшінші тұлғаларға жіберілмейді.
  5. Деректерді сақтау: Occentus Networks (ЕО) орналастырған мәліметтер базасы
  6. Құқықтар: Сіз кез-келген уақытта ақпаратты шектей, қалпына келтіре және жоя аласыз.