A kutatócsoport a Kaliforniai Egyetem San Diego-i kampuszán bemutatta az SSH-szerverek titkosított RSA-kulcsainak visszaállításának lehetőségét az SSH-forgalom passzív elemzése útján. A támadás olyan szerverek ellen hajtható végre, ahol körülmények vagy a támadó cselekedetei következtében hibák lépnek fel a digitális aláírás kiszámítása során SSH-kapcsolat létesítésekor. A hibák származhatnak szoftveres problémákból (nem megfelelő matematikai műveletek végrehajtása, memóriahiba) vagy hardveres hibákból (hibák az NVRAM és DRAM működésében vagy áramkimaradások során).
A hibák előidézésének egyik lehetősége a RowHammer-típusú támadások, amelyek lehetővé teszik a memória egyes bitjeinek tartalmának torzítását távolról vagy JavaScript-kód böngészőben történő feldolgozása során, intenzív ciklikus adatolvasás mellett szomszédos memóriasejtekből. Egy másik hibaokozási lehetőség a sebezhetőségek kihasználása, amelyek verem túlcsorduláshoz és a memória kulcsainak adatinak megsértéséhez vezethetnek.
A publikált kutatás kimutatta, hogy az SSH-ban alkalmazott RSA-alapú digitális aláírások esetén a digitális aláírás paraméterei felett elméleti támadások végezhetők a zárt RSA-kulcsok Lattice módszerrel való visszaállítására (Hiba Támadás), ha szoftveres vagy hardveres hibák lépnek fel az aláírás kiszámítása során. A módszer lényege, hogy a helyes és a hibás RSA-digitális aláírások összehasonlításával meghatározható a kulcsgenerálás során felhasznált egyik prímszám legnagyobb közös osztója.
Az RSA titkosítása egy nagy szám modulos hatványra emelésén alapul. A nyilvános kulcs tartalmazza a modult és a hatványt. A modul két véletlenszerű prímszámból képződik, amelyek csak a zárt kulcs tulajdonosa számára ismertek. A támadás alkalmazható az RSA megvalósításaira, amelyek a Kínai maradékosztályt és a meghatározott padlószabályozó sémákat (például PKCS#1 v1.5) használják.
Egy támadás végrehajtásához elegendő a legitím SSH-szerverekhez való passzív kapcsolatok nyomon követése, amíg fel nem fedeznek egy hibás digitális aláírást a forgalomban, amit információforrásként lehet felhasználni a zárt RSA kulcs újraalkotására. Az újraalkotott hoszt RSA kulccsal a támadó egy MITM-támadás során észrevétlenül átirányíthatja a kéréseket egy hamis hosztra, amely magát a kompromittált SSH-szervernek álcázza, és megszervezheti az azon továbbított adatok lehallgatását. szerver adatok.
A kikémlelt hálózati adatok körülbelül 5,2 milliárd rekordjának tanulmányozása során a kutatók körülbelül 3,2 milliárd nyílt hosztkulcsot és digitális aláírást azonosítottak, amelyek az SSH munkamenet egyeztetése során kerültek felhasználásra. Ezek közül 1,2 milliárd (39,1%) RSA algoritmus segítségével készült. 593671 esetben (0,048%) az RSA-aláírás sérült volt, és nem ment át az ellenőrzésen. 4962 hibás aláírás esetén a Lattice faktorizáló módszert sikerült alkalmazni a zárt kulcs meghatározására a megismert nyílt kulcs alapján, ami végül 189 egyedi RSA kulcspár újbóli előállításához vezetett (sok esetben az ugyanazokat a kulcsokat és hibás eszközöket használták különböző sérült aláírások generálására). A kulcsok újraalkotásához körülbelül 26 órányi processzorteljesítmény szükségeltetett.

A probléma kizárólag a specifikus SSH protokollmegvalósításokat érinti, amelyeket elsősorban beágyazott eszközökben használnak. A problémás SSH megvalósítások példájaként említést nyertek a Zyxel, Cisco, Mocana és Hillstone Networks termékek. Az OpenSSH nem érintett a problémában, mivel kulcsgeneráláskor az OpenSSL (vagy LibreSSL) könyvtárat használja, amely a hibaanalízis alapú támadások ellen 2001 óta védelmet nyújt. Továbbá, az OpenSSH ssh-rsa digitális aláírási séma (sha1 alapú) 2020 óta elavultnak van nyilvánítva, és a 8.8-as verzióval le van tiltva (a rsa-sha2-256 és rsa-sha2-512 sémák támogatása megmarad). Potenciálisan a támadás az IPsec protokollra is alkalmazható lehet, de a kutatóknak nem volt elegendő kísérleti adata a támadás gyakorlati megerősítésére.
Forrás: opennet.ru
