Terrapin - SSH protokola ievainojamība, kas ļauj samazināt savienojuma drošību

Pētnieku grupa no Rūras universitātes Bohumā (Vācija) iepazīstināja ar jaunu MITM uzbrukuma paņēmienu SSH — Terrapin, kas izmanto protokola ievainojamību (CVE-2023-48795). Uzbrucējs, kas spēj organizēt MITM uzbrukumu, savienojuma sarunu procesa laikā var bloķēt ziņojuma sūtīšanu, konfigurējot protokola paplašinājumus, lai samazinātu savienojuma drošības līmeni. Uzbrukuma rīku komplekta prototips ir publicēts vietnē GitHub.

OpenSSH kontekstā ievainojamība, piemēram, ļauj atsaukt savienojumu, lai izmantotu mazāk drošus autentifikācijas algoritmus un atspējotu aizsardzību pret sānu kanālu uzbrukumiem, kas atkārtoti rada ievadi, analizējot aizkavi starp tastatūras taustiņsitieniem. Python bibliotēkā AsyncSSH apvienojumā ar ievainojamību (CVE-2023-46446) iekšējā stāvokļa mašīnas ieviešanā Terrapin uzbrukums ļauj mums iesaistīties SSH sesijā.

Ievainojamība ietekmē visas SSH implementācijas, kas atbalsta ChaCha20-Poly1305 vai CBC režīma šifrus kombinācijā ar ETM (Encrypt-the-MAC) režīmu. Piemēram, līdzīgas iespējas ir pieejamas OpenSSH jau vairāk nekā 10 gadus. Ievainojamība ir novērsta šodienas OpenSSH 9.6 laidienā, kā arī PuTTY 0.80, libssh 0.10.6/0.9.8 un AsyncSSH 2.14.2 atjauninājumos. Programmā Dropbear SSH kodam jau ir pievienots labojums, taču jauns laidiens vēl nav ģenerēts.

Ievainojamību izraisa fakts, ka uzbrucējs, kas kontrolē savienojuma trafiku (piemēram, ļaunprātīga bezvadu punkta īpašnieks), savienojuma sarunu procesā var pielāgot pakešu kārtas numurus un panākt patvaļīga skaita SSH pakalpojuma ziņojumu klusu dzēšanu. nosūta klients vai serveris. Cita starpā uzbrucējs var izdzēst SSH_MSG_EXT_INFO ziņojumus, kas izmantoti izmantoto protokola paplašinājumu konfigurēšanai. Lai neļautu otrai pusei atklāt pakešu zudumu kārtas numuru nepilnības dēļ, uzbrucējs sāk fiktīvas paketes nosūtīšanu ar tādu pašu kārtas numuru kā attālajai paketei, lai pārvietotu kārtas numuru. Manuālā pakete satur ziņojumu ar karodziņu SSH_MSG_IGNORE, kas apstrādes laikā tiek ignorēts.

Terrapin ir SSH protokola ievainojamība, kas ļauj samazināt savienojuma drošību

Uzbrukumu nevar veikt, izmantojot straumes šifrus un VKS, jo integritātes pārkāpums tiks atklāts lietojumprogrammas līmenī. Praksē tikai ChaCha20-Poly1305 šifrs ir uzņēmīgs pret uzbrukumiem ([e-pasts aizsargāts]), kurā stāvoklis tiek izsekots tikai pēc ziņojumu kārtas numuriem, un kombinācija no režīma Encrypt-Then-MAC (*[e-pasts aizsargāts]) un CBC šifrus.

OpenSSH 9.6 un citās implementācijās uzbrukuma bloķēšanai ir ieviests “stingrā KEX” protokola paplašinājums, kas tiek automātiski iespējots, ja ir atbalsts servera un klienta pusē. Paplašinājums pārtrauc savienojumu, saņemot jebkādus neparastus vai nevajadzīgus ziņojumus (piemēram, ar karodziņu SSH_MSG_IGNORE vai SSH2_MSG_DEBUG), kas saņemti savienojuma sarunu procesā, kā arī atiestata MAC (Ziņojuma autentifikācijas koda) skaitītāju pēc katras atslēgas apmaiņas pabeigšanas.

Avots: opennet.ru

Pievieno komentāru