Marvin Attack, атака злому RSA на основі часу

Марвін Атак

Marvin — це повернення 25-річної вразливості, яка дозволяє виконувати операції підписання та дешифрування RSA

Під час ESORICS 2023 (Європейського симпозіуму з досліджень комп'ютерної безпеки), що проходив з 25 по 29 вересня в Нідерландах, дослідник безпеки, що працює в Red Hat, представив «атаку Марвіна» – техніку атаки , яка дозволяє визначити вихідні дані шляхом вимірювання затримок під час операцій дешифрування на основі алгоритму RSA.

Атака Марвіна є варіацією методу Бляйхенбахера, запропонованого в 1998 році , і продовжує розвиток атак ROBOT та New CAT, опублікованих у 2017 та 2019 роках.

Атака Marvin — це повернення 25-річної вразливості, яка дозволяє виконувати операції підписання та дешифрування RSA як зловмисника з можливістю спостерігати лише за часом операції дешифрування, виконаної за допомогою закритого ключа.

У 1998 році Даніель Блейхенбахер виявив, що повідомлення про помилки, які надають SSL-сервери для помилок у заповненні PKCS #1 v1.5, увімкнули адаптивно вибрану атаку зашифрованого тексту; Ця атака повністю порушує конфіденційність TLS при використанні з шифруванням RSA. У 2018 році Ханно Бьок, Юрай Соморовський і Крейг Янг через 19 років показали, що багато інтернет-серверів все ще вразливі до невеликих варіацій початкової атаки.

По суті, метод передбачає, що зловмисник, виходячи з різних реакцій сервера та часу виконання, може розділити правильні та неправильні блоки Oracle, додані за допомогою стандарту PKCS #1 v1.5, щоб вирівняти зашифровані дані вздовж межі блоку. Маніпулюючи інформацією про точність блоків доповнення, зловмисник може використовувати грубу силу для відтворення дійсного зашифрованого тексту.

У цьому випадку атака не відновлює закритий ключ безпосередньо; вона дозволяє лише розшифрувати зашифрований текст або згенерувати підроблене підписане повідомлення. Для успішної атаки необхідно надіслати дуже великий обсяг тестових повідомлень для розшифрування.

Використання атаки на TLS-сервери, що використовують шифрування на основі RSA, дозволяє зловмиснику пасивно зберігати перехоплений трафік, а потім розшифровувати його . Для серверів, що підтримують PFS, здійснення атаки стає набагато складнішим, а успіх залежить від того, наскільки швидко атака виконується.

Крім того, метод дозволяє генерувати фіктивний цифровий підпис , який перевіряє вміст повідомлень ServerKeyExchange в TLS 1.2 або повідомлень CertificateVerify в TLS 1.3, що передаються під час етапу обміну ключами, що може бути використано для виконання MITM-атак для перехоплення TLS-з'єднання між клієнтом і сервером.

Зазначається, що відмінність між методом Марвіна полягає в удосконаленій технології розділення правильних та неправильних інкрементальних даних , фільтрації хибнопозитивних результатів, точнішему визначенні затримок обчислень та використанні додаткових сторонніх каналів під час вимірювання.

На практиці запропонований метод дозволяє розшифровувати трафік або генерувати цифрові підписи без знання закритого ключа RSA. Для перевірки застосовності атаки був опублікований спеціальний скрипт для перевірки TLS-серверів і інструменти для виявлення проблем в бібліотеках.

Проблема стосується кількох реалізацій протоколів, що використовують RSA та PKCS . Хоча сучасні криптографічні бібліотеки містять певний захист від атак на основі методу Бляйхенбахера, дослідження показало, що ці бібліотеки мають відкриті канали витоку та не забезпечують послідовний час обробки пакетів як з правильним, так і з неправильним доповненням. Наприклад, реалізація атаки GnuTLS у Marvin не прив'язана до коду, який безпосередньо виконує обчислення, пов'язані з RSA, а натомість використовує різний час виконання для коду, який вирішує, чи відображати певне повідомлення про помилку.

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

Щоб підтвердити можливість здійснення атаки Marvin на практиці, дослідник продемонстрував застосовність методу до додатків на основі бібліотек M2Crypto і pyca/cryptography, в яких було достатньо кількох годин, щоб скомпрометувати шифрування, провівши експеримент на середній ноутбук.

Зрештою, якщо ви зацікавлені дізнатися більше, ви можете знайти деталі за наступним посиланням.


Додати як пріоритетне джерело в Google