Obnovení RSA klíčů analýzou SSH spojení k selhávajícím serverům

Skupina výzkumníků z Kalifornské univerzity v San Diegu demonstrovala možnost obnovení soukromých hostitelských RSA klíčů SSH serveru pomocí pasivní analýzy SSH provozu. Útok může být proveden na serverech, kde v důsledku náhodných okolností nebo akcí útočníka dochází k selhání během výpočtu digitálního podpisu při ustanovení SSH spojení. Selhání mohou být jak softwarová (nesprávné provádění matematických operací, porucha paměti), tak hardwarová (chyby při práci NVRAM a DRAM nebo selhání při výpadcích napájení).

Jedním z možností vyvolání selhání mohou být útoky třídy RowHammer, které mimo jiné umožňují na dálku nebo při zpracování JavaScriptového kódu v prohlížeči dosáhnout zkreslení obsahu jednotlivých bitů paměti při intenzivním cyklickém čtení dat z sousedních paměťových buněk. Další variantou vyvolání selhání může být zneužití zranitelností vedoucích k přetečení vyrovnávací paměti a poškození dat s klíči v paměti.

Ve zveřejněném výzkumu bylo prokázáno, že při použití digitálních podpisů v SSH na bázi algoritmu RSA jsou parametry digitálního podpisu náchylné k útokům na obnovu soukromých RSA klíčů metodou Lattice (Fault Attack) v případě, že dojde k softwarovým nebo hardwarovým selháním během procesu výpočtu podpisu. Podstatou této metody je porovnat správné a selhané digitální podpisy RSA, což umožňuje určit největší společný dělitel pro získání jednoho z prvočísel použitých při formování klíče.

Základem šifrování RSA je operace umocnění modulo velkého čísla. V veřejném klíči se nachází modul a exponent. Modul se tvoří na základě dvou náhodných prvočísel, která jsou známa pouze majiteli soukromého klíče. Útok může být aplikován na implementace RSA, které používají Čínskou teorii zbytků a deterministické schéma doplňkového výplně, jako je PKCS#1 v1.5.

K provedení útoku stačí pasivní sledování legitimních připojení k SSH serveru, dokud se neobjeví v provozu závadný digitální podpis, který lze použít jako zdroj informací pro rekonstrukci soukromého RSA klíče. Po rekonstrukci hostitelského RSA klíče může útočník během MITM útoku nenápadně přesměrovat požadavky na falešný host, který se vydává za kompromitovaný SSH server, a zorganizovat odposlech předávaných dat. server dat.

Studium sbírky odposlechnutých síťových dat, zahrnující přibližně 5,2 miliardy záznamů spojených s používáním protokolu SSH, odhalilo přibližně 3,2 miliardy otevřených hostitelských klíčů a digitálních podpisů používaných během vyjednávání SSH relací. Z nich bylo 1,2 miliardy (39,1 %) vytvořeno pomocí algoritmu RSA. V 593671 případech (0,048 %) byla RSA podpis poškozen a neprošel kontrolou. U 4962 vadných podpisů se podařilo aplikovat metodu faktorizace mřížky k určení soukromého klíče na základě známého veřejného klíče, což nakonec umožnilo zrekonstruovat 189 unikátních párů RSA klíčů (v mnoha případech byly pro generování různých poškozených podpisů použity stejné klíče a vadná zařízení). Rekonstrukce klíčů trvala přibližně 26 hodin procesorového času.

Obnovení RSA klíčů analýzou SSH spojení k selhávajícím serverům

Problém se týká pouze specifických implementací protokolu SSH, které se převážně používají na vestavěných zařízeních. Jako příklady zařízení s problematickými implementacemi SSH byly zmíněny produkty Zyxel, Cisco, Mocana a Hillstone Networks. OpenSSH není na tuto problematiku náchylný, protože při generování klíčů používá knihovnu OpenSSL (nebo LibreSSL), která obsahuje ochranu proti útokům založeným na analýze závad (Fault Attack) od roku 2001. Kromě toho byla v OpenSSH schéma digitálních podpisů ssh-rsa (na bázi sha1) od roku 2020 prohlášena za zastaralou a byla vypnuta ve verzi 8.8 (podpora schémat rsa-sha2-256 a rsa-sha2-512 zůstává). Potenciálně by útok mohl být aplikovatelný i na protokol IPsec, ale výzkumníci neměli dostatečná experimentální data pro potvrzení takového útoku v praxi.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster