Terrapin - isang kahinaan sa SSH protocol na nagpapahintulot sa iyo na bawasan ang seguridad ng koneksyon

Isang pangkat ng mga mananaliksik mula sa Ruhr University sa Bochum (Germany) ang nagpakita ng bagong diskarte sa pag-atake ng MITM sa SSH - Terrapin, na nagsasamantala sa isang kahinaan (CVE-2023-48795) sa protocol. Ang isang umaatake na may kakayahang mag-organisa ng pag-atake ng MITM ay may kakayahan, sa panahon ng proseso ng negosasyon sa koneksyon, na harangan ang pagpapadala ng mensahe sa pamamagitan ng pag-configure ng mga extension ng protocol upang bawasan ang antas ng seguridad ng koneksyon. Isang prototype ng attack toolkit ang na-publish sa GitHub.

Sa konteksto ng OpenSSH, ang kahinaan, halimbawa, ay nagbibigay-daan sa iyong i-rollback ang koneksyon upang gumamit ng hindi gaanong secure na mga algorithm ng pagpapatotoo at huwag paganahin ang proteksyon laban sa mga pag-atake sa side-channel na muling lumilikha ng input sa pamamagitan ng pagsusuri sa mga pagkaantala sa pagitan ng mga keystroke sa keyboard. Sa Python library na AsyncSSH, kasama ang isang kahinaan (CVE-2023-46446) sa pagpapatupad ng internal state machine, ang pag-atake ng Terrapin ay nagpapahintulot sa amin na i-wedge ang ating mga sarili sa isang session ng SSH.

Ang kahinaan ay nakakaapekto sa lahat ng pagpapatupad ng SSH na sumusuporta sa ChaCha20-Poly1305 o CBC mode ciphers kasama ng ETM (Encrypt-then-MAC) mode. Halimbawa, ang mga katulad na kakayahan ay magagamit sa OpenSSH nang higit sa 10 taon. Naayos ang kahinaan sa paglabas ngayong araw ng OpenSSH 9.6, pati na rin ang mga update sa PuTTY 0.80, libssh 0.10.6/0.9.8 at AsyncSSH 2.14.2. Sa Dropbear SSH, ang pag-aayos ay naidagdag na sa code, ngunit ang isang bagong release ay hindi pa nabuo.

Ang kahinaan ay sanhi ng katotohanan na ang isang umaatake na kumokontrol sa trapiko ng koneksyon (halimbawa, ang may-ari ng isang nakakahamak na wireless point) ay maaaring ayusin ang mga numero ng pagkakasunud-sunod ng packet sa panahon ng proseso ng negosasyon sa koneksyon at makamit ang tahimik na pagtanggal ng isang arbitrary na bilang ng mga mensahe ng serbisyo ng SSH ipinadala ng kliyente o server. Sa iba pang mga bagay, maaaring tanggalin ng isang umaatake ang mga mensaheng SSH_MSG_EXT_INFO na ginamit upang i-configure ang mga extension ng protocol na ginamit. Upang pigilan ang kabilang partido mula sa pag-detect ng pagkawala ng packet dahil sa isang gap sa mga sequence number, sinisimulan ng attacker ang pagpapadala ng dummy packet na may parehong sequence number bilang ang remote packet upang ilipat ang sequence number. Ang dummy packet ay naglalaman ng isang mensahe na may SSH_MSG_IGNORE flag, na hindi pinapansin sa panahon ng pagproseso.

Terrapin - isang kahinaan sa SSH protocol na nagpapahintulot sa iyo na bawasan ang seguridad ng koneksyon

Hindi maaaring isagawa ang pag-atake gamit ang mga stream cipher at CTR, dahil matutukoy ang paglabag sa integridad sa antas ng aplikasyon. Sa pagsasagawa, tanging ang ChaCha20-Poly1305 cipher lamang ang madaling atakehin ([protektado ng email]), kung saan ang estado ay sinusubaybayan lamang ng mga numero ng sequence ng mensahe, at isang kumbinasyon mula sa Encrypt-Then-MAC mode (*[protektado ng email]) at mga cipher ng CBC.

Sa OpenSSH 9.6 at iba pang mga pagpapatupad, ang isang extension ng "mahigpit na KEX" na protocol ay ipinatupad upang harangan ang pag-atake, na awtomatikong pinagana kung mayroong suporta sa server at mga panig ng kliyente. Tinatapos ng extension ang koneksyon kapag natanggap ang anumang abnormal o hindi kinakailangang mga mensahe (halimbawa, kasama ang SSH_MSG_IGNORE o SSH2_MSG_DEBUG na flag) na natanggap sa proseso ng negosasyon ng koneksyon, at ni-reset din ang MAC (Message Authentication Code) counter pagkatapos makumpleto ang bawat key exchange.

Pinagmulan: opennet.ru

Magdagdag ng komento