Nakatuklas sila ng paraan na nagbibigay-daan sa muling paglikha ng mga RSA key sa pamamagitan ng pagsusuri sa mga koneksyon sa SSH

kahinaan

Kung pinagsasamantalahan, ang mga kapintasan na ito ay maaaring magbigay-daan sa mga umaatake na makakuha ng hindi awtorisadong pag-access sa sensitibong impormasyon o sa pangkalahatan ay magdulot ng mga problema

Ilang araw na ang nakalipas, pumutok ang balita na isang pangkat ng mga mananaliksik mula sa University of California, San Diego, ang nagpakita ng kakayahang muling likhain ang mga pribadong key ng RSA host mula sa isang SSH server sa pamamagitan ng pasibong pagsusuri sa trapiko ng SSH.

Ang nai-publish na pananaliksik ipakita ito kapag ginagamit ang mga digital na lagda batay sa algorithm RSA sa SSH, itali silaitos na gumagamit ng Lattice method (Fault Attack) para muling likhain la susi pribadong RSA nito angkop para mga digital na lagda sa kaso de isang mahayag de software o hardware sa panahon ng proseso ng pagkalkula ng lagda. Ang kakanyahan ng pamamaraan ay ito al comparar tama at maling RSA digital signature, magagawa mo malaman ang pinakamalaking karaniwan ningning, kaya bumubuo Mga Nagkakaisang Bansa ng mga prime number na ginamit para bumuo la susi.

Ang pag-encrypt ng RSA ay batay sa pagpapatakbo ng exponentiation ng isang malaking bilang, habang ang pampublikong key ay naglalaman ng modulus at degree. Ang module ay nabuo mula sa dalawang random na prime number, na tanging ang may-ari ng pribadong key ang nakakaalam. Maaaring ilapat ang pag-atake sa mga pagpapatupad ng RSA gamit ang Chinese remainder theorem at deterministic padding scheme gaya ng PKCS#1 v1.5.

Maaaring isagawa ang isang pag-atake sa mga server kung saan, dahil sa kombinasyon ng mga pangyayari o aksyon ng umaatake, nagkakaroon ng mga error habang kinakalkula ang digital signature kapag nagtatatag ng koneksyon sa SSH. Ang mga error na ito ay maaaring may kaugnayan sa software (maling pagpapatupad ng mga operasyon sa matematika, pagkasira ng memorya) o may kaugnayan sa hardware (mga error sa pagpapatakbo ng NVRAM at DRAM, o mga pagkabigo habang nawawalan ng kuryente).

Ang isang paraan upang magdulot ng mga pagkabigo ay maaaring sa pamamagitan ng mga pag-atake ng RowHammer , na, bukod sa iba pang mga bagay, ay nagbibigay-daan para sa pagbaluktot ng mga indibidwal na memory bit sa panahon ng masinsinang cyclic readings ng mga kalapit na memory cell, maaaring malayuan o sa pamamagitan ng pagproseso ng JavaScript code sa isang browser . Ang isa pang paraan upang magdulot ng mga pagkabigo ay maaaring sa pamamagitan ng pagsasamantala sa mga kahinaan na humahantong sa mga buffer overflow at katiwalian ng data na kinasasangkutan ng mga key sa memorya.

Para magsagawa ng pag-atake, kailangan lang na pasibong subaybayan ang mga lehitimong koneksyon sa SSH server hanggang sa matukoy ang isang sirang digital signature sa trapiko. Ang lagdang ito ay maaaring gamitin upang muling buuin ang RSA private key. Matapos muling likhain ang RSA key ng host, maaaring gumamit ang isang attacker ng man-in-the-middle (MITM) attack upang tahimik na i-redirect ang mga request sa isang pekeng host na nagpapanggap na isang nakompromisong SSH server at maharang ang data na ipinadala dito.

Sa pamamagitan ng pagsusuri sa isang koleksyon ng na-intercept na data ng network na may kasamang humigit-kumulang 5200 bilyong talaan na nauugnay sa paggamit ng SSH protocol, natukoy ng mga mananaliksik ang humigit-kumulang 3200 bilyong pampublikong host key at mga digital na lagda na ginamit sa panahon ng negosasyon ng mga session ng SSH. Sa mga ito, 1.200 bilyon (39,1%) ang nabuo gamit ang RSA algorithm.

Binanggit ng pangkat ng mga mananaliksik na:

Sa 593671 kaso (0,048%) ang RSA signature ay nasira at hindi ma-verify, habang para sa 4962 na bigong signature, nagamit namin ang Lattice factorization method para matukoy ang private key mula sa kilalang public key, na nagreresulta sa muling pagtatayo ng 189 natatanging RSA key pairs (sa maraming kaso, ang parehong mga nabigong key at device ay ginamit upang makabuo ng iba't ibang mga sirang lagda). Tumagal ng humigit-kumulang 26 na oras ng CPU upang muling likhain ang mga susi.

Ang problema ay nakakaapekto lamang sa mga partikular na implementasyon ng SSH protocol, na pangunahing ginagamit sa mga naka-embed na device. Nabanggit din na ang OpenSSH ay hindi naaapektuhan dahil ginagamit nito ang OpenSSL (o LibreSSL) library upang bumuo ng mga key, na protektado laban sa mga pag-atake ng kahinaan mula pa noong 2001.

Bukod pa rito, sa OpenSSH, ang ssh-rsa digital signature scheme (batay sa sha1) ay hindi na ginagamit mula noong 2020 at hindi pinagana sa bersyon 8.8 (nananatili ang suporta para sa rsa-sha2-256 at rsa-sha2-512 scheme). Ang pag-atake ay maaaring potensyal na naaangkop sa IPsec protocol, ngunit ang mga mananaliksik ay walang sapat na pang-eksperimentong data upang kumpirmahin ang gayong pag-atake sa pagsasanay.

Panghuli, kung interesado kang matuto nang higit pa, makikita mo ang mga detalye sa sumusunod na link.


Idagdag bilang ginustong mapagkukunan sa Google