Marvin Attack, базирана на времето атака за кракване на RSA

Марвин атака

Marvin е завръщането на 25-годишна уязвимост, която позволява операции за подписване и дешифриране на RSA

По време на ESORICS 2023 (European Symposium on Computer Security Research), който се проведе от 25 до 29 септември в Холандия, изследовател по сигурността който работи за Red Hat, представи "Marvin Attack", техника на атака което позволява първоначалните данни да бъдат определени чрез измерване на закъснения по време на операции дешифриране на базата на RSA алгоритъм.

Марвин Атак, Това е разновидност на метода на Bleichenbacher, предложен през 1998 ги продължава развитието на атаките ROBOT и New CAT, публикувани през 2017 и 2019 г.

Атаката Marvin е връщане на 25-годишна уязвимост, която позволява операциите по подписване и декриптиране на RSA да се извършват като нападател с възможността да наблюдава само времето на операцията за декриптиране, извършена с частния ключ.

През 1998 г. Daniel Bleichenbacher откри, че съобщенията за грешка, предоставени от SSL сървъри за грешки в PKCS #1 v1.5 padding, позволяват адаптивно избрана атака с шифрован текст; Тази атака напълно нарушава поверителността на TLS, когато се използва с RSA криптиране. През 2018 г. Хано Бьок, Юрай Соморовски и Крейг Йънг показаха 19 години по-късно, че много интернет сървъри все още са уязвими на леки вариации на първоначалната атака.

По принцип се споменава, че същността на метода е това нападател, въз основа на различни реакции на сървъра и различни времена на изпълнение, може да разделя правилните и неправилните оракулни блокове Добавен със стандарта PKCS #1 v1.5 за подравняване на криптирани данни по границата на блока. Чрез манипулиране на информация за коректността на блоковете за подпълване, нападателят може да използва груба сила, за да пресъздаде подходящ шифрован текст.

В този случай атаката не възстановява директно личния ключ, а само дешифрира текста. криптиране или генериране на фалшиво подписано съобщение. За да се извърши успешна атака, е необходимо да се изпрати много голям обем тестови съобщения, които да бъдат дешифрирани.

Използване на атака срещу сървъри TLS използва криптиране на базата на RSA ключове позволява на атакуващия да съхранява пасивно прихванатия трафик и след това да го дешифрира. За сървъри, които поддържат PFS, извършването на атака става много по-трудно и успехът зависи от това колко бързо се извършва атаката.

Освен това, методът позволява генериране на фиктивен цифров подпис който проверява съдържанието на TLS 1.2 ServerKeyExchange съобщения или TLS 1.3 CertificateVerify съобщения, предадени в етапа на обмен на ключове, които могат да се използват за извършване на MITM атаки за прихващане на TLS връзката между клиента и сървъра.

Споменава се, че разликата между метода Марвин е намален до a Подобрена технология за разделяне на правилни и неправилни инкрементални данни, филтрирайте фалшивите положителни резултати, по-точно определяйте закъсненията на изчисленията и използвайте допълнителни канали на трети страни по време на измерване.

На практика предложеният метод позволява декриптиране на трафик или генериране на цифрови подписи без познаване на частния RSA ключ. За да се провери приложимостта на атаката, бяха публикувани специален скрипт за проверка на TLS сървъри и инструменти за идентифициране на проблеми в библиотеките.

Проблемът засяга няколко реализации на протоколи, които използват RSA и PKCS. Въпреки че съвременните криптографски библиотеки съдържат известна защита срещу атаки, базирани на метода на Bleichenbacher, проучване разкри, че библиотеките имат отворени канали за изтичане на информация и не осигуряват постоянно време за обработка на правилно и неправилно попълнени пакети. Например, внедряването на GnuTLS атаката от Marvin не е свързано с код, който директно извършва изчисления, свързани с RSA, а по-скоро използва различни времена на изпълнение за код, който решава дали да покаже конкретно съобщение за грешка.

Авторът на изследването също така вярва, че разглежданият клас уязвимости не се ограничава до RSA и може да засегне много други криптографски алгоритми, които зависят от стандартните библиотеки за целочислени изчисления.

За да потвърди възможността за извършване на атаката на Marvin на практика, изследователят демонстрира приложимостта на метода към приложения, базирани на библиотеките M2Crypto и pyca/криптография, в които няколко часа бяха достатъчни, за да компрометират криптирането чрез провеждане на експеримент върху среден лаптоп.

И накрая, ако се интересувате да можете да научите повече за това, можете да се консултирате с подробностите в следваща връзка.