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

Grupp teadlasi Ruhri ülikoolist Bochumist (Saksamaa) esitles uut MITM-rünnaku tehnikat SSH-le — Terrapin, mis kasutab protokolli haavatavust (CVE-2023-48795). Ründaja, kes suudab korraldada MITM-rünnaku, on võimeline ühenduse loomise protsessi käigus blokeerima protokolli laienduste seadistamise sõnumi saatmise, et vähendada ühenduse kaitsetaset. Rünnaku teostamise prototüüp on avaldatud GitHubis.

OpenSSH kontekstis võimaldab haavatavus näiteks tagasi pöörduda vähem turvaliste autentimistaktikate kasutamisele ja keelata kaitse külgkanali rünnakute eest, mis taaskasutavad sisendit klahvivajutuste viivituste analüüsi kaudu. Python'i raamatukogus AsyncSSH, koos haavatavusega (CVE-2023-46446) sisemise seisundimasina rakenduses, võimaldab Terrapini rünnak sisestuda SSH-seanssi.

Haavatavus mõjutab kõiki SSH rakendusi, mis toetavad ChaCha20-Poly1305 või CBC režiimis šifreid koos ETM režiimiga (Encrypt-then-MAC). Näiteks on sellised võimalused olnud 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 parandused juba koodi lisatud, kuid uut väljalaset pole veel loodud.

Haavatavus tuleneb sellest, et ründaja, kes kontrollib ühenduse liiklust (näiteks pahatahtliku traadita juurdepääsupunkti omanik), võib kohandada pakettide järjestuse numbreid ühenduse loomise protsessi käigus ja saavutada nähtamatult suvalise arvu SSH-sõnumite eemaldamise, mis on saadetud kliendi poolt või serverilt. Muuhulgas võib ründaja eemaldada SSH_MSG_EXT_INFO sõnumeid, mida kasutatakse protokolli rakendatavate laienduste seadmiseks. Selleks, et teine pool ei tuvastaks paketi kadumist järjestuse numbrite katkestuse tõttu, algatab ründaja järjekorranumbri nihutamiseks vale paketi saatmise, millel on sama järjestuse number kui eemaldatud paketil. Vale pakk sisaldab sõnumit SSH_MSG_IGNORE lipuga, mis ignoreeritakse töötlemisel.

Terrapin - haavatavus SSH protokollis, mis võimaldab vähendada ühenduse kaitset.

Rünnakut ei saa läbi viia voogülesandeid ja CTR-i kasutades, kuna rikutud terviklikkus tuvastatakse rakenduse tasandil. Praktikas on rünnaku all ainult šifreerimine ChaCha20-Poly1305 (chacha20-poly1305@openssh.com), kus olek jälgib ainult sõnumite järjestuse numbreid, ja kombinatsioon krüpto režiimist Encrypt-Then-MAC (*-etm@openssh.com) ja CBC šifritest.

OpenSSH 9.6 ja teistes реализациях on Rünnaku blokeerimiseks rakendatud protokolli laiendust "strict KEX", mis aktiveeritakse automaatselt, kui tugi on olemas. serverilt ja kliendipool. Laiendus lõpetab ühenduse, kui saavad mis tahes ebatavalisi või üleliigseid sõnumeid (näiteks SSH_MSG_IGNORE või SSH2_MSG_DEBUG lipuga), mis on saadud ühenduse kokkuleppe ajal, ning nullib MAC (Message Authentication Code) loenduri pärast iga võtme vahetust.

Allikas: opennet.ru

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster