Marvin to powrót 25-letniej luki umożliwiającej operacje podpisywania i deszyfrowania RSA
Podczas ESORICS 2023 (Europejskie Sympozjum na temat Badań nad Bezpieczeństwem Komputerowym), które odbyło się w dniach 25–29 września w Holandii, badacz bezpieczeństwa który pracuje dla Red Hata, zaprezentował „Atak Marvina”, technika ataku co umożliwia ustalenie oryginalnych danych poprzez pomiar opóźnień podczas operacji deszyfrowanie w oparciu o algorytm RSA.
Atak Marvina, Jest to odmiana metody Bleichenbachera zaproponowanej w 1998 rokui kontynuuje rozwój ataków ROBOT i New CAT opublikowanych w 2017 i 2019 roku.
Atak Marvin to powrót 25-letniej luki, która umożliwia wykonywanie operacji podpisywania i deszyfrowania RSA w roli atakującego z możliwością obserwacji jedynie czasu operacji deszyfrowania wykonanej kluczem prywatnym.
W 1998 roku Daniel Bleichenbacher odkrył, że komunikaty o błędach dostarczane przez serwery SSL dotyczące błędów w dopełnianiu PKCS #1 v1.5 umożliwiły adaptacyjnie wybrany atak szyfrogramem; Atak ten całkowicie łamie poufność protokołu TLS używanego z szyfrowaniem RSA. W 2018 roku Hanno Böck, Juraj Somorovsky i Craig Young wykazali 19 lat później, że wiele serwerów internetowych nadal było podatnych na niewielkie odmiany pierwotnego ataku.
Zasadniczo wspomina się, że istota metody polega na tym atakującego, na podstawie różnych reakcji serwera i różne czasy realizacji, potrafi oddzielić poprawne i niepoprawne bloki Oracle Dodano wraz ze standardem PKCS #1 v1.5 w celu wyrównania zaszyfrowanych danych wzdłuż granic bloków. Manipulując informacjami o poprawności bloków wypełniających, osoba atakująca może użyć brutalnej siły w celu odtworzenia odpowiedniego tekstu zaszyfrowanego.
W tym przypadku atak nie odzyskuje bezpośrednio klucza prywatnego, a jedynie odszyfrowuje tekst. szyfrowania lub wygenerowania fałszywej podpisanej wiadomości. Aby przeprowadzić skuteczny atak, konieczne jest wysłanie bardzo dużej liczby wiadomości testowych do odszyfrowania.
Stosowanie ataku na serwery TLS z wykorzystaniem szyfrowania bazujące na kluczach RSA pozwala atakującemu pasywnie przechowywać przechwycony ruch, a następnie go odszyfrować. W przypadku serwerów obsługujących PFS przeprowadzenie ataku staje się znacznie trudniejsze, a powodzenie zależy od tego, jak szybko zostanie on przeprowadzony.
Ponadto, metoda pozwala na wygenerowanie fikcyjnego podpisu cyfrowego który weryfikuje treść komunikatów TLS 1.2 ServerKeyExchange lub TLS 1.3 CertyfikatVerify przesyłanych na etapie wymiany kluczy, które mogą zostać wykorzystane do przeprowadzenia ataków MITM w celu przechwycenia połączenia TLS pomiędzy klientem a serwerem.
Wspomina się, że różnica między metodą Marvin zostaje zredukowany do Ulepszona technologia oddzielania prawidłowych i nieprawidłowych danych przyrostowych, filtruj fałszywe alarmy, dokładniej określaj opóźnienia obliczeń i korzystaj podczas pomiarów z dodatkowych kanałów innych firm.
W praktyce proponowana metoda pozwala na odszyfrowanie ruchu lub generowanie podpisów cyfrowych bez znajomości prywatnego klucza RSA. Aby przetestować zasadność ataku, opublikowano specjalny skrypt do sprawdzania serwerów TLS oraz narzędzia do identyfikacji problemów w bibliotekach.
Problem wpływa na kilka implementacji protokołów korzystających z RSA i PKCS. Chociaż współczesne biblioteki kryptograficzne zawierają pewne zabezpieczenia przed atakami opartymi na metodzie Bleichenbachera, badanie wykazało, że biblioteki mają otwarte kanały wycieku i nie zapewniają stałego czasu przetwarzania prawidłowo i błędnie wypełnionych pakietów. Na przykład implementacja ataku GnuTLS przez Marvina nie jest powiązana z kodem, który bezpośrednio wykonuje obliczenia związane z RSA, ale raczej wykorzystuje różne środowiska wykonawcze dla kodu, który decyduje, czy wyświetlić konkretny komunikat o błędzie.
Autor badania uważa również, że klasa rozważanych podatności nie ogranicza się do RSA i może dotyczyć wielu innych algorytmów kryptograficznych, które do obliczeń liczb całkowitych opierają się na standardowych bibliotekach.
Aby potwierdzić możliwość przeprowadzenia ataku Marvin w praktyce, badacz wykazał możliwość zastosowania metody do aplikacji opartych na bibliotekach M2Crypto i pyca/cryptography, w których wystarczyło kilka godzin, aby złamać szyfrowanie, przeprowadzając eksperyment na przeciętny laptop.
Wreszcie, jeśli chcesz dowiedzieć się więcej na ten temat, możesz zapoznać się ze szczegółami w następujący link.