Terrapin — SSH protokolli haavatavus, mis võimaldab vähendada ühenduse kaitset

Rur'i Ülikooli teadlaste rühm Bochum'is (Saksamaa) esitles uut MITM-rünnakutehnikat SSH-le — Terrapin, mis kasutab protokolli haavatavust (CVE-2023-48795). Ründaja, kes suudab korraldada MITM-rünnaku, on võimeline ühenduse kokkuleppe protsessis blokeerima sõnumi saatmise protokolli laiendamise seadmise jaoks, vähendades ühenduse kaitset. Rünnakuks mõeldud tööriistade prototüüp on avaldatud GitHub'is.

OpenSSH kontekstis võimaldab haavatavus näiteks tagasi kerida ühenduse kasutamiseks vähem turvalisi autentimisalgoritme ja keelata kaitse rünnakute eest kõrvalkanalite kaudu, mis taastavad sisendi, analüüsides klahvivajutuste vahelisi viivitusi. Python'i AsyncSSH raamatukogus koos haavatavusega (CVE-2023-46446) sisemise oleku masina (internal state machine) teostuses võimaldab Terrapin rünnak siseneda SSH-seanssi.

Haavatavus mõjutab kõiki SSH-implementatsioone, mis toetavad ChaCha20-Poly1305 või CBC-režiimis töötavaid šifreid koos ETM-režiimiga (Encrypt-then-MAC). Näiteks on sellised võimalused olnud saadaval OpenSSH-s juba üle 10 aasta. Haavatavus on blokeeritud tänases OpenSSH 9.6 väljaandes, samuti PuTTY 0.80, libssh 0.10.6/0.9.8 ja AsyncSSH 2.14.2 uuendustes. Dropbear SSH-s on parandamine juba koodi lisatud, kuid uut väljaannet pole veel loodud.

Haavatavus tuleneb sellest, et ründaja, kes kontrollib ühenduse liiklust (näiteks pahatahtliku traadita punkti omanik), saab korrigeerida pakettide järjestusnumbrid ühenduse läbirääkimise käigus ja saavutada märkamatult suvalise arvu SSH-sõnumite eemaldamise kliendi poolt saadetud teenuseteateid. serveriga. Lisaks sellele saab ründaja kustutada SSH_MSG_EXT_INFO sõnumeid, mida kasutatakse protokolli rakendatavate laienduste seadistamiseks. Selleks, et teine ​​pool ei tuvastaks paketi kadumist järjestusnumbrite katkemise tõttu, algatab ründaja valepaketi saatmise sama järjestusnumbriga, mis on kadunud paketil. Valepakett sisaldab sõnumit lipuga SSH_MSG_IGNORE, mida töödeldes ignoreeritakse.

Terrapin - turvahaave SSH protokollis, mis lubab vähendada ühenduse kaitset.

Rünnakut ei saa läbi viia voogedastamise krüpteerimise ja CTR-i kasutamisel, kuna andmete terviklikkuse rikkumist tuvastatakse rakenduse tasemel. Praktikas on rünnaku ohus ainult ChaCha20-Poly1305 krüptosüsteem (chacha20-poly1305@openssh.com), mille puhul olekut jälgitakse ainult sõnumite järjestusnumbrite põhjal, ja seotud Encrypt-Then-MAC (*-etm@openssh.com) ja CBC režiimide kombinatsioon.

OpenSSH 9.6-s ja muudes rakendustes on rünnaku blokeerimiseks rakendatud protokolli laiendust „strict KEX“, mis aktiveeritakse automaatselt, kui pool toetab seda. serverile ja klient. Laiends lõpetab ühenduse, kui saabub mingeid erakorralisi või liigseid sõnumeid (näiteks SSH_MSG_IGNORE või SSH2_MSG_DEBUG lipuga), mis on saadud ühenduse kokkuleppimise käigus, ning nulldab MAC (sõnumi autentimise kood) arvu iga võtmevahetuse lõpus.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster