Během ESORICS 2023 (European Symposium on Computer Security Research), které se konalo od 25. do 29. září v Nizozemsku, bezpečnostní výzkumník který pracuje pro Red Hat, představil "Marvin Attack", technika útoku což umožňuje určit původní data měřením zpoždění během operací dešifrování založené na algoritmu RSA.
Marvin Attack, Jedná se o variantu Bleichenbacherovy metody navržené v roce 1998a pokračuje ve vývoji útoků ROBOT a New CAT publikovaných v letech 2017 a 2019.
Marvinův útok je návratem 25 let staré zranitelnosti, která umožňuje provádět operace podepisování a dešifrování RSA jako útočník se schopností sledovat pouze čas dešifrovací operace provedené pomocí soukromého klíče.
V roce 1998 Daniel Bleichenbacher zjistil, že chybové zprávy poskytované servery SSL pro chyby ve vyplnění PKCS #1 v1.5 umožňují adaptivně zvolený útok šifrovaného textu; Tento útok zcela narušuje důvěrnost TLS při použití s šifrováním RSA. V roce 2018 Hanno Böck, Juraj Somorovsky a Craig Young o 19 let později ukázali, že mnoho internetových serverů je stále zranitelných vůči mírným změnám původního útoku.
V podstatě je zmíněno, že podstatou metody je to útočník, na základě různých reakcí serveru a různé doby provedení, dokáže oddělit správné a nesprávné věštecké bloky Přidáno se standardem PKCS #1 v1.5 pro zarovnání šifrovaných dat podél hranice bloku. Manipulací s informacemi o správnosti výplňových bloků může útočník použít hrubou sílu k opětovnému vytvoření vhodného šifrového textu.
V tomto případě útok neobnoví přímo soukromý klíč, ale pouze dešifruje text. šifrování nebo vygenerování falešné podepsané zprávy. K provedení úspěšného útoku je nutné odeslat velmi velké množství testovacích zpráv, které mají být dešifrovány.
Použití útoku na servery TLS pomocí šifrování založený na klíčích RSA umožňuje útočníkovi pasivně ukládat zachycený provoz a poté jej dešifrovat. U serverů, které podporují PFS, je provedení útoku mnohem obtížnější a úspěch závisí na tom, jak rychle je útok proveden.
Navíc, metoda umožňuje generování fiktivního digitálního podpisu který ověřuje obsah zpráv TLS 1.2 ServerKeyExchange nebo zpráv TLS 1.3 CertificateVerify přenášených ve fázi výměny klíčů, které lze použít k provádění útoků MITM k zachycení TLS spojení mezi klientem a serverem.
Je to zmíněno rozdíl mezi metodou Marvin je zredukován na a Vylepšená technologie pro oddělení správných a nesprávných přírůstkových dat, filtrovat falešně pozitivní výsledky, přesněji určovat zpoždění výpočtů a používat další kanály třetích stran během měření.
V praxi navrhovaná metoda umožňuje dešifrování provozu nebo generování digitálních podpisů bez znalosti soukromého klíče RSA. Pro testování použitelnosti útoku byl zveřejněn speciální skript pro kontrolu TLS serverů a nástroje pro identifikaci problémů v knihovnách.
Problém ovlivňuje několik implementací protokolů, které používají RSA a PKCS. Přestože moderní kryptografické knihovny obsahují určitou ochranu proti útokům na základě Bleichenbacherovy metody, studie odhalila, že knihovny mají otevřené únikové kanály a neposkytují konstantní dobu zpracování pro správně a nesprávně vyplněné pakety. Například Marvinova implementace útoku GnuTLS není svázána s kódem, který přímo provádí výpočty související s RSA, ale spíše používá různá běhová prostředí pro kód, který rozhoduje o zobrazení konkrétní chybové zprávy.
Autor studie se také domnívá, že třída zvažovaných zranitelností není omezena na RSA a může ovlivnit mnoho dalších kryptografických algoritmů, které jsou pro celočíselné výpočty závislé na standardních knihovnách.
Pro potvrzení možnosti provedení Marvinova útoku v praxi výzkumník prokázal použitelnost metody na aplikace založené na knihovnách M2Crypto a pyca/cryptography, ve kterých stačilo několik hodin na kompromitaci šifrování provedením experimentu na průměrný notebook.
A konečně, pokud máte zájem dozvědět se o tom více, můžete se podívat na podrobnosti v následující odkaz.