Група дослідників детально описала нову вразливість в протоколі захисту транспортного рівня (TLS), яка потенційно може дозволити зловмиснику зламати шифрування і прочитати конфіденційні повідомлення при певних умовах.

Атака на стороні сервера, що отримала назву «Raccoon Attack», використовує сторонній канал в криптографічному протоколі (версії 1.2 і нижче) для отримання секретного ключа, який використовується для безпечного зв’язку між двома сторонами.

«Основна проблема цього стороннього каналу полягає в тому, що стандарт TLS використовує алгоритм шифрування Діффі-Хеллмана (DH)», – пояснили свої висновки дослідники в статті. «Якщо сервер повторно використовує ефемерні ключі, то сторонній канал може дати можливість зловмиснику відновити секрет (pre-master secret), в секунди вирішивши Hidden Number Problem».

Однак вчені заявили, що вразливість важко експлуатувати, і її використання залежить від дуже точних часових вимірів і конкретної конфігурації сервера.

Витік секретних ключів

Використання вимірювань часу для компрометації криптосистеми і витоку конфіденційної інформації було серцем багатьох «атак по часу», і Raccoon застосовує ту ж стратегію до процесу обміну ключами в алгоритмі Діффі-Хеллмана (DH) під час рукостискання TLS, що має вирішальне значення при безпечному обміні даними через публічні мережі.

Цей загальний секретний ключ, згенерований під час обміну, забезпечує безпечний перегляд в Інтернеті, дозволяючи користувачам безпечно відвідувати веб-сайти, захищаючи комунікації від підслуховування і атак типу «людина посередині» (MitM).

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

Варто відзначити, що «алгоритм Діффі-Хеллмана» з провідними нулями призведе до швидшого обчислення KDF (функція формування ключа) сервера і, отже, до меншого часу відповіді сервера».

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

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

Оновлення безпеки в F5, Microsoft, Mozilla і OpenSSL

Хоча Raccoon важко відтворити в реальному світі, кілька продуктів F5 виявилися вразливими для «спеціальної» версії атаки (CVE-2020-5929), не вдаючись до вимірювань часу шляхом безпосереднього спостереження за вмістом відповідей сервера.

F5, Microsoft, Mozilla і OpenSSL випустили патчі, щоб запобігти атаці, вирішивши проблему повторного використання ефемерних ключів. Зі свого боку, Mozilla відключила комплекти шифрів DH і DHE в своєму браузері Firefox, і в рекомендаціях Microsoft клієнтам рекомендується відключити TLS_DHE.

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

«Ця атака відбувається на базі того факту, що сервери можуть повторно використовувати секретний показник DH для багатьох сесій, тим самим відмовляючись від прямої секретності», – підсумували дослідники.

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

Спеціалісти CoreWin рекомендують використовувати сканери веб-вразливостей Acunetix або NetSparker, щоб захиститись від такого роду атак.