Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π² PuTTY, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

Π’ PuTTY, ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ для ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° SSH, ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎΡΡ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒΡŽ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Windows, выявлСна опасная ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ (CVE-2024-31497), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Π²ΠΎΡΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, сгСнСрированный с использованиСм Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ECDSA с эллиптичСской ΠΊΡ€ΠΈΠ²ΠΎΠΉ NIST P-521 (ecdsa-sha2-nistp521). Для ΠΏΠΎΠ΄Π±ΠΎΡ€Π° Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° достаточно ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 60 Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… подписСй, сформированных ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ.

Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ проявляСтся начиная с вСрсии PuTTY 0.68 ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΠ»Π° ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹, Π² состав ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ уязвимыС вСрсии PuTTY, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, FileZilla (3.24.1 — 3.66.5), WinSCP (5.9.5 — 6.3.2), TortoiseGit (2.4.0.2 — 2.15.0) ΠΈ TortoiseSVN (1.10.0 — 1.14.6). ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° устранСна Π² обновлСниях PuTTY 0.81, FileZilla 3.67.0, WinSCP 6.3.3 ΠΈ TortoiseGit 2.15.0.1. ПослС установки обновлСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ рСкомСндуСтся ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ старыС ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ² authorized_keys.

Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½Π° Π±Π΅ΡΠΏΠ΅Ρ‡Π½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ 521-Π±ΠΈΡ‚Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° использовали Π²Π΅ΠΊΡ‚ΠΎΡ€ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ (nonce) Π½Π° основС 512-Π±ΠΈΡ‚Π½ΠΎΠΉ случайной ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, вСроятно, посчитав Ρ‡Ρ‚ΠΎ энтропии Π² 512 Π±ΠΈΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ достаточно ΠΈ ΠΎΡΡ‚Π°Π²ΡˆΠΈΠ΅ΡΡ 9 Π±ΠΈΡ‚ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ значСния. Π’ ΠΈΡ‚ΠΎΠ³Π΅, Π²ΠΎ всСх Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π°Ρ…, созданных Π² PuTTY с использованиСм Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ecdsa-sha2-nistp521, ΠΏΠ΅Ρ€Π²Ρ‹Π΅ 9 Π±ΠΈΡ‚ Π²Π΅ΠΊΡ‚ΠΎΡ€Π° ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ всСгда ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π»ΠΈ Π½ΡƒΠ»Π΅Π²Ρ‹Π΅ значСния.

Для ECDSA ΠΈ DSA качСство Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° псСвдослучайных чисСл ΠΈ ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ случайными Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΡ€ΠΈ вычислСнии модуля, ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄Π°ΠΆΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π±ΠΈΡ‚ΠΎΠ² с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ Π²Π΅ΠΊΡ‚ΠΎΡ€Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ достаточно для ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π°Ρ‚Π°ΠΊΠΈ ΠΏΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡŽ всСго Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π°. Для ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ восстановлСния ΠΊΠ»ΡŽΡ‡Π° достаточно наличия ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… дСсятков Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… подписСй, сгСнСрированных с использованиСм ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° для извСстных Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰Π΅ΠΌΡƒ Π΄Π°Π½Π½Ρ‹Ρ…. Атака сводится ΠΊ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ Π·Π°Π΄Π°Ρ‡ΠΈ HNP (Hidden Number Problem).

НСобходимыС Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π΅ подписи ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΊ SSH-сСрвСру Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΈΠ»ΠΈ ΠΊ Git-сСрвСру, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅ΠΌΡƒ SSH Π² качСствС транспорта. НСобходимыС для Π°Ρ‚Π°ΠΊΠΈ подписи Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ, Ссли ΠΊΠ»ΡŽΡ‡ использовался для завСрСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, git-ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΏΡ€ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ SSH-Π°Π³Π΅Π½Ρ‚Π° Pageant для пСрСнаправлСния Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Π½Π° хост Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для восстановлСния ΠΊΠ»ΡŽΡ‡Π° Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ…ΠΎΠ΄Π΅ MITM-Π°Ρ‚Π°ΠΊΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ подписи Π² SSH Π½Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π² ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌ Π²ΠΈΠ΄Π΅.

ΠžΡ‚ΠΌΠ΅Ρ‡Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ΅Π΅ использованиС Π½Π΅ΠΏΠΎΠ»Π½Ρ‹Ρ… Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΠ»ΠΎΡΡŒ Π² PuTTY ΠΈ для Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²ΠΈΠ΄ΠΎΠ² эллиптичСских ΠΊΡ€ΠΈΠ²Ρ‹Ρ…, Π½ΠΎ для Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΡ‚ ECDSA P-521, Π²ΠΎΠ·Π½ΠΈΠΊΡˆΠΈΡ… ΡƒΡ‚Π΅Ρ‡Π΅ΠΊ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ нСдостаточно для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΉ Π°Ρ‚Π°ΠΊΠΈ ΠΏΠΎ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡŽ ΠΊΠ»ΡŽΡ‡Π°. ΠšΠ»ΡŽΡ‡ΠΈ ECDSA Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΈ ΠΊΠ»ΡŽΡ‡ΠΈ Ed25519 Π°Ρ‚Π°ΠΊΠ΅ Π½Π΅ ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½Ρ‹.

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