αž…αŸ†αžŽαž»αž…αžαŸ’αžŸαŸ„αž™αž“αŸ…αž€αŸ’αž“αž»αž„ TCP stacks Linux αž“αž·αž„ FreeBSD αžŠαŸ‚αž›αž“αžΆαŸ†αž±αŸ’αž™αž˜αžΆαž“αž€αžΆαžšαž”αžŠαž·αžŸαŸαž’αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž–αžΈαž…αž˜αŸ’αž„αžΆαž™

αž€αŸ’αžšαž»αž˜αž αŸŠαž»αž“ Netflix αž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰ αžšαž·αŸ‡αž‚αž“αŸ‹αž‡αžΆαž…αŸ’αžšαžΎαž“αŸ” αž—αžΆαž–αž„αžΆαž™αžšαž„αž‚αŸ’αžšαŸ„αŸ‡ Π² TCP-стСках Linux ΠΈ FreeBSD, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΡ€Π°Ρ… ядра ΠΈΠ»ΠΈ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ‡Ρ€Π΅Π·ΠΌΠ΅Ρ€Π½ΠΎΠ΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ рСсурсов ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Π½Ρ‹Ρ… TCP-ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² (packet-of-death). ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ αž”αž„αŸ’αž€αžŠαŸ„αž™ αž€αŸ†αž αž»αžŸαž“αŸ…αž€αŸ’αž“αž»αž„αž§αž”αž€αžšαžŽαŸαžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‘αŸ†αž αŸ†αž”αŸ’αž›αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αž’αžαž·αž”αžšαž˜αžΆαž“αŸ…αž€αŸ’αž“αž»αž„αž€αž‰αŸ’αž…αž”αŸ‹ TCP (MSS αž‘αŸ†αž αŸ†αž•αŸ’αž“αŸ‚αž€αž’αžαž·αž”αžšαž˜αžΆ) αž“αž·αž„αž™αž“αŸ’αžαž€αžΆαžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž‘αž‘αž½αž›αžŸαŸ’αž‚αžΆαž›αŸ‹αž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αžŠαŸ‚αž›αž”αžΆαž“αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸ (SACK, TCP Selective Acknowledgment)αŸ”

  • CVE-2019-11477 (SACK Panic) β€” ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° проявляСтся Π² ядрах Linux начиная с 2.6.29 ΠΈ позволяСт Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΊΡ€Π°Ρ… (panic) ядра Ρ‡Π΅Ρ€Π΅Π· ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ сСрии 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 Slowness) β€” ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡŽ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° SACK (ΠΏΡ€ΠΈ использовании ядра Linux младшС 4.15) ΠΈΠ»ΠΈ ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½ΠΎΠΌΡƒ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΡŽ рСсурсов. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° проявляСтся ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Π½Ρ‹Ρ… SACK-ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для фрагмСнтирования ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ (TCP retransmission). ΠžΠ±Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΏΡƒΡ‚ΠΈ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ уязвимости;
  • CVE-2019-5599 (SACK Slowness) - αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž’αŸ’αžœαžΎαž±αŸ’αž™αž˜αžΆαž“αž€αžΆαžšαž”αŸ‚αž€αžαŸ’αž‰αŸ‚αž€αž“αŸƒαž•αŸ‚αž“αž‘αžΈαž“αŸƒαž€αž‰αŸ’αž…αž”αŸ‹αž–αŸαžαŸŒαž˜αžΆαž“αžŠαŸ‚αž›αž”αžΆαž“αž•αŸ’αž‰αžΎαž“αŸ…αž–αŸαž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž›αŸ†αžŠαžΆαž”αŸ‹ SACK αž–αž·αžŸαŸαžŸαž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹ TCP αžαŸ‚αž˜αž½αž™ αž αžΎαž™αž”αžŽαŸ’αžαžΆαž›αž±αŸ’αž™αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžšαžΆαž”αŸ‹αž”αž‰αŸ’αž…αžΌαž›αž”αž‰αŸ’αž‡αžΈαžŠαŸ‚αž›αž–αžΉαž„αž•αŸ’αž’αŸ‚αž€αž›αžΎαž’αž“αž’αžΆαž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαŸ” αž”αž‰αŸ’αž αžΆαž›αŸαž…αž‘αžΎαž„αž“αŸ…αž€αŸ’αž“αž»αž„ FreeBSD 12 αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž™αž“αŸ’αžαž€αžΆαžšαžšαž€αžƒαžΎαž‰αž€αžΆαžšαž”αžΆαžαŸ‹αž”αž„αŸ‹αž€αž‰αŸ’αž…αž”αŸ‹αž–αŸαžαŸŒαž˜αžΆαž“ RACK αŸ” αž‡αžΆαžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž˜αž½αž™ αž’αŸ’αž“αž€αž’αžΆαž…αž”αž·αž‘αž˜αŸ‰αžΌαžŒαž»αž› RACK αŸ”
  • CVE-2019-11479 β€” Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π² ядрС Linux Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² Π½Π° нСсколько TCP-сСгмСнтов, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 8 Π±Π°ΠΉΡ‚ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ сущСствСнному ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡŽ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°, ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° CPU ΠΈ забиванию ΠΊΠ°Π½Π°Π»Π° связи. Π’ качСствС ΠΎΠ±Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½ΠΎ αžšαžΆαžšαžΆαŸ†αž„ αž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αž‡αžΆαž˜αž½αž™ MSS αž‘αžΆαž”αŸ”

    αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸ’αž“αžΌαž› Linux ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ устранСны Π² выпусках 4.4.182, 4.9.182, 4.14.127, 4.19.52 ΠΈ 5.1.11. Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ для FreeBSD доступно Π² Π²ΠΈΠ΄Π΅ αž”αŸ†αžŽαŸ‡. αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž…αŸ‚αž€αž…αžΆαž™ αž€αžΆαžšαž’αžΆαž”αŸ‹αžŠαŸαžαž…αŸ†αž–αŸ„αŸ‡αž€αž‰αŸ’αž…αž”αŸ‹αžαžΊαžŽαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αŸαž‰αž•αŸ’αžŸαžΆαž™αžšαž½αž…αž αžΎαž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Debian, ធរ, SUSE/openSUSE. αž€αžΆαžšαž€αŸ‚αžαž˜αŸ’αžšαžΌαžœαž’αŸ†αž‘αž»αž„αž–αŸαž›αžšαŸ€αž”αž…αŸ† Ubuntu, Fedora ΠΈ αžŸαŸ†αžαžΆαž“αŸ‹αž”αŸ†αž•αž»αž Linux.

    αž”αŸ’αžšαž—αž–: opennet.ru

  • αž‘αž·αž‰αž€αžΆαžšαž”αž„αŸ’αž αŸ„αŸ‡αžŠαŸ‚αž›αž’αžΆαž…αž‘αž»αž€αž…αž·αžαŸ’αžαž”αžΆαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‚αŸαž αž‘αŸ†αž–αŸαžšαžŠαŸ‚αž›αž˜αžΆαž“αž€αžΆαžšαž€αžΆαžšαž–αžΆαžš DDoS, αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ VPS VDS πŸ”₯ αž‘αž·αž‰αžŸαŸαžœαžΆαž”αž„αŸ’αž αŸ„αŸ‡αž‚αŸαž αž‘αŸ†αž–αŸαžšαžŠαŸ‚αž›αž’αžΆαž…αž‘αž»αž€αž…αž·αžαŸ’αžαž”αžΆαž“αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž€αžΆαžšαž–αžΆαžš DDoS αž“αž·αž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ VPS VDS | ProHoster