Terrapin β€” уязвимост Π² ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° SSH, която позволява Π΄Π° сС Π½Π°ΠΌΠ°Π»ΠΈ Π·Π°Ρ‰ΠΈΡ‚Π°Ρ‚Π° Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ°Ρ‚Π°

Π“Ρ€ΡƒΠΏΠΏΠ° исслСдоватСлСй ΠΈΠ· Рурского унивСрситСта Π² Π‘ΠΎΡ…ΡƒΠΌΠ΅ (ГСрмания) прСдставила Π½ΠΎΠ²ΡƒΡŽ Ρ‚Π΅Ρ…Π½ΠΈΠΊΡƒ MITM-Π°Ρ‚Π°ΠΊΠΈ Π½Π° SSH β€” Terrapin, ΡΠΊΡΠΏΠ»ΡƒΠ°Ρ‚ΠΈΡ€ΡƒΡŽΡ‰ΡƒΡŽ ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ (CVE-2023-48795) Π² ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π΅. ΠΡ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΉ, способный ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ MITM-Π°Ρ‚Π°ΠΊΡƒ, ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π² процСссС согласования соСдинСния Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ сообщСния с настройкой Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° для сниТСния уровня Π·Π°Ρ‰ΠΈΡ‚Ρ‹ соСдинСния. ΠŸΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ инструмСнтария для ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π°Ρ‚Π°ΠΊΠΈ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Π½Π° GitHub.

Π’ контСкста Π½Π° OpenSSH, уязвимостта позволява, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄Π° сС Π²ΡŠΡ€Π½Π΅ Π²Ρ€ΡŠΠ·ΠΊΠ°Ρ‚Π° Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΠΎ-слабо Π·Π°Ρ‰ΠΈΡ‚Π΅Π½ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈ Π·Π° удостовСряванС ΠΈ Π΄Π° сС Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π° Π·Π°Ρ‰ΠΈΡ‚Π°Ρ‚Π° ΠΎΡ‚ Π°Ρ‚Π°ΠΊΠΈ ΠΏΡ€Π΅Π· Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½ΠΈ ΠΊΠ°Π½Π°Π»ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π²ΡŠΠ·ΠΏΡ€ΠΎΠΈΠ·Π²Π΅ΠΆΠ΄Π°Ρ‚ Π²Ρ…ΠΎΠ΄Π° Ρ‡Ρ€Π΅Π· Π°Π½Π°Π»ΠΈΠ· Π½Π° Π·Π°ΠΊΡŠΡΠ½Π΅Π½ΠΈΡΡ‚Π° ΠΌΠ΅ΠΆΠ΄Ρƒ натисканията Π½Π° ΠΊΠ»Π°Π²ΠΈΡˆΠΈΡ‚Π΅. Π’ Python Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° AsyncSSH Π² комбинация с уязвимостта (CVE-2023-46446) Π² рСализацията Π½Π° Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΈΡ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ (internal state machine), Π°Ρ‚Π°ΠΊΠ°Ρ‚Π° Terrapin ΠΏΡ€Π΅Π΄Π»Π°Π³Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° намСса Π² SSH-сСсия.

Уязвимостта засяга всички Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° SSH, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ ChaCha20-Poly1305 ΠΈΠ»ΠΈ ΡˆΠΈΡ„Ρ€ΠΈ Π² Ρ€Π΅ΠΆΠΈΠΌ CBC Π² ΡΡŠΡ‡Π΅Ρ‚Π°Π½ΠΈΠ΅ с Ρ€Π΅ΠΆΠΈΠΌΠ° ETM (Encrypt-then-MAC). НапримСр, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‚ Π² OpenSSH ΠΎΡ‚ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ 10 Π³ΠΎΠ΄ΠΈΠ½ΠΈ. Уязвимостта Π΅ Π±Π»ΠΎΠΊΠΈΡ€Π°Π½Π° Π² Π΄Π½Π΅ΡˆΠ½ΠΎΡ‚ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° OpenSSH 9.6, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Π² обновлСнията Π½Π° PuTTY 0.80, libssh 0.10.6/0.9.8 ΠΈ AsyncSSH 2.14.2. Π’ Dropbear SSH ΠΏΠΎΠΏΡ€Π°Π²ΠΊΠ°Ρ‚Π° Π²Π΅Ρ‡Π΅ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π² ΠΊΠΎΠ΄Π°, Π½ΠΎ Π½ΠΎΠ²ΠΎΡ‚ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ всС ΠΎΡ‰Π΅ Π½Π΅ Π΅ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€Π°Π½ΠΎ.

Уязвимостта Π΅ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ ΠΎΡ‚ Ρ‚ΠΎΠ²Π°, Ρ‡Π΅ атакуващият, ΠΊΠΎΠΉΡ‚ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π° Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ°Ρ‚Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, собствСник Π½Π° Π·Π»ΠΎΠ½Π°ΠΌΠ΅Ρ€Π΅Π½Π° Π±Π΅Π·ΠΆΠΈΡ‡Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ°), ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΊΠΎΡ€ΠΈΠ³ΠΈΡ€Π° порядковитС Π½ΠΎΠΌΠ΅Ρ€Π° Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° процСса Π½Π° удостовСряванС ΠΈ Π΄Π° постигнС Π½Π΅Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΠΌΠΎ ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π΅Π½ Π±Ρ€ΠΎΠΉ слуТСбни SSH-ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ, ΠΈΠ·ΠΏΡ€Π°Ρ‚Π΅Π½ΠΈ ΠΎΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈΠ»ΠΈ ΡΡŠΡ€Π²ΡŠΡ€Π°.. ОсвСн Ρ‚ΠΎΠ²Π°, атакуващият ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Ρ‚Ρ€ΠΈΠ΅ ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡΡ‚Π° SSH_MSG_EXT_INFO, ΠΊΠΎΠΈΡ‚ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π·Π° настройванС Π½Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈΡ‚Π΅ Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡ Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°. Π—Π° Π΄Π° Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Ρ€ΡƒΠ³Π°Ρ‚Π° страна Π΄Π° Ρ€Π°Π·ΠΏΠΎΠ·Π½Π°Π΅ липсата Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ Π·Π°Ρ€Π°Π΄ΠΈ Ρ€Π°Π·Π»ΠΈΠΊΠ°Ρ‚Π° Π² порядковитС Π½ΠΎΠΌΠ΅Ρ€Π°, атакуващият ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ„Π°Π»ΡˆΠΈΠ² ΠΏΠ°ΠΊΠ΅Ρ‚ с ΡΡŠΡ‰ΠΈΡ порядков Π½ΠΎΠΌΠ΅Ρ€ ΠΊΠ°Ρ‚ΠΎ Ρ‚ΠΎΠ·ΠΈ Π½Π° изтрития ΠΏΠ°ΠΊΠ΅Ρ‚. Π€Π°Π»ΡˆΠΈΠ²ΠΈΡΡ‚ ΠΏΠ°ΠΊΠ΅Ρ‚ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ с Ρ„Π»Π°Π³ SSH_MSG_IGNORE, ΠΊΠΎΠ΅Ρ‚ΠΎ сС ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€Π° ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π°.

Terrapin - уязвимост Π² ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° SSH, която позволява Π΄Π° бъдС Π½Π°ΠΌΠ°Π»Π΅Π½Π° Π·Π°Ρ‰ΠΈΡ‚Π°Ρ‚Π° Π½Π° ΡΡŠΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ.

Атаката Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° ΠΏΡ€ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΠΈ ΡˆΠΈΡ„Ρ€ΠΈ ΠΈ CTR, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ‚Π΅Ρ‚Π° Ρ‰Π΅ бъдС установСно Π½Π° Π½ΠΈΠ²ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°, уязвим Π΅ само ΡˆΠΈΡ„ΡŠΡ€Π° ChaCha20-Poly1305 (chacha20-poly1305@openssh.com), ΠΏΡ€ΠΈ ΠΊΠΎΠΉΡ‚ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ сС прослСдява СдинствСно ΠΏΠΎ Ρ€Π΅Π΄ΠΎΠ²ΠΈΡ‚Π΅ Π½ΠΎΠΌΠ΅Ρ€Π° Π½Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡΡ‚Π°, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ комбинацията ΠΎΡ‚ Ρ€Π΅ΠΆΠΈΠΌΠ° Encrypt-Then-MAC (*-etm@openssh.com) ΠΈ ΡˆΠΈΡ„Ρ€ΠΈΡ‚Π΅ CBC.

Π’ OpenSSH 9.6 ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… рСализациях для блокирования Π°Ρ‚Π°ΠΊΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Β«strict KEXΒ», ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ автоматичСски Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π½Π° сторонС ΡΡŠΡ€Π²ΡŠΡ€ ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. Π Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΏΡ€ΠΈΠΊΠ»ΡŽΡ‡Π²Π° ΡΡŠΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° всякакви Π½Π΅Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈ ΠΈΠ»ΠΈ Π½Π΅Π½ΡƒΠΆΠ½ΠΈ ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с Ρ„Π»Π°Π³Π° SSH_MSG_IGNORE ΠΈΠ»ΠΈ SSH2_MSG_DEBUG), ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° договарянСто Π½Π° ΡΡŠΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΈ ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π½ΡƒΠ»ΠΈΡ€Π° брояча Π½Π° MAC (Message Authentication Code) слСд Π·Π°Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° всяко ΠΎΠ±ΠΌΠ΅Π½ Π½Π° ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster