Kalifornia Ülikooli San Diegos asuv teadlaste rühm demonstreeris võimalust taastada SSH-serveri privaatseid RSA-võtmeid passiivse SSH-traffiku analüüsi abil. Rünnak võib toimuda serveritele, kus juhuslikel asjaoludel või ründaja tegevuse tõttu esinevad rikked, kui toimub digitaalallkirja arvutamine SSH-ühenduse loomise ajal. Rikked võivad olla nii tarkvaralised (matemaatiliste operatsioonide vale täitmine, mälukahjustus) kui ka riistvaralised (NVRAM ja DRAM töö vigade või toitekatkestuste korral).
Üks rikkete stimuleerimise võimalusi võivad olla RowHammeri klassi rünnakud, mis võimaldavad kaugjuhtimisega või JavaScript-koodi töötlemisel brauseris tekitada ühe mälubiidi sisu moonutamise intensiivsete andme lugemisringide ajal naabermälu rakkudest. Teine rikkete põhjustamise võimalus võib tulla haavatavuste ärakasutamisest, mis põhjustavad puhverülevoolu ja avad andmete kahjustumist mälu võtmete osas.
Avaldatud uuringus näidatakse, et SSH-s digitaalsete allkirjade puhul, mis põhinevad RSA-algoritmil, on digitaalallkirja parameetritele rakendatavad RSA sulgeda võtme taasloomise ründed Lattice meetodil (Fault Attack), kui allkirjastamisprotsessi ajal esinevad tark- või riistvara tõrked. Meetodi olemus on selles, et võrreldes õige ja vigase RSA digitaalallkirjaga on võimalik kindlaks teha ühine jagaja, et tuletada välja üks kahest algarvust, mis on kasutatud võtme loomisel.
RSA krüpteerimise aluseks on eksponentsiaalne tõstmine suure arvu mooduliga. Avalikus võtmes on moodul ja eksponent. Moodul luuakse kahe juhusliku algarvu põhjal, mis on tuntud ainult sulgeda võtme omanikule. Rünnaku saab rakendada RSA teostustele, mis kasutavad Hiina jäänuste teooriat ja määratletud täidisrakendusi, nagu PKCS#1 v1.5.
Ründamiseks piisab lihtsast legitiimsete ühenduste passiivsest jälgimisest SSH-serverile, et tuvastada liikluses ebaõige digiallkiri, mida saab kasutada teabe allikana privaatse RSA- võtme taastamiseks. Pärast hosti RSA- võtme taastamist saab ründaja MITM-rünnaku käigus salaja suunata päringud vale hostile, kes esitleb end kompromiteeritud SSH-serverina, ja korraldada sellel edastatavate andmete pealtkuulamine. server andmete.
Analüüsides kogumiku röövitud võrguandmeid, mis sisaldab umbes 5,2 miljardit SSH-protokolliga seotud kirjete, tuvastasid teadlased ligikaudu 3,2 miljardit avatud hostivõtmeid ja digiallkirju, mida kasutati SSH-seansi kokkulepimise ajal. Neist 1,2 miljardit (39,1%) loodi RSA-algoritmi abil. 593671 juhul (0,048%) oli RSA-allkiri rikutud ja ei läbinud kontrolli. 4962 defektsel allkirjal õnnestus rakendada Lattice fatoriseerimise meetodit, et tuvastada privaatvõti teadaoleva avaliku võtme põhjal, mis võimaldas lõpuks taastada 189 ainulaadset RSA võti paari (paljudel juhtudel kasutati erinevate rikutud allkirjade genereerimiseks samu võtmeid ja defektsed seadmeid). Võtmete taastamiseks kulus umbes 26 tundi protsessoriaega.

Probleem puudutab ainult spetsiifilisi SSH protokolli rakendusi, mida kasutatakse peamiselt sisseehitatud seadmetes. Probleemsete SSH rakenduste näidetena on mainitud Zyxel, Cisco, Mocana ja Hillstone Networks seadmeid. OpenSSH ei ole probleemile vastuvõtlik, kuna see kasutab võtmete genereerimiseks OpenSSL (või LibreSSL) raamatukogu, milles on rikutud rikkeanalüüside (Fault Attack) rünnakute kaitse alates 2001. aastast. Lisaks on OpenSSH-s ssh-rsa digitaalallkirja skeem (sha1 põhjal) 2020. aastast kuulutatud vananenuks ja see on keelatud versioonis 8.8 (rsa-sha2-256 ja rsa-sha2-512 skeemide tugi on säilinud). Potentsiaalselt võib rünnak olla rakendatav ka IPsec protokollile, kuid uurijatel ei olnud piisavalt eksperimenteerimise andmeid sellise rünnaku praktikas kinnitamiseks.
Allikas: opennet.ru
