LogjamLogjam — атака на TLS / SSL. Дана атака здатна повністю розшифрувати або зламати будь-яке TLS з'єднання, встановлене з недобросовісно сконфігурованими вебсервісами або поштовими серверами. Також як і FREAK, Logjam заснована на зниженні рівня шифрування до експортного рівня, де довжина ключа становить 512 біт. Відмінність полягає в тому, що Logjam атакує Протокол Діффі-Геллмана. Загальна характеристикаНайкращий спосіб зрозуміти результат Logjam — прочитати технічну документацію:
. Такі ключі, як показали дослідники FREAK, можна зламати протягом декількох годин[2]. Вчені зробили попередній розрахунок для двох популярних експортних DH-груп: перша група використовується в Apache в версіях 2.1.5-2.4.7 і зустрічається на 7 % сайтів з TOP 1M за версією Alexa, а другий захист в OpenSSL, ще коли він називався SSLeay, в 1995 році. Розрахунок зайняв тиждень для кожної групи, й проводився він з використанням модифікованої версії CADO-NFS. Дослідники з'ясували, що попередній розрахунок цих двох груп дозволяє зламувати до 80 % зашифрованих з'єднань на серверах, які підтримують експортні DH-ключі. Були запропоновані і продемонстровані на відео три способи проведення атаки:
Атака на алгоритм Діффі — ГеллманаНайбільш відомий та розповсюджений спосіб атакувати Диффі — це означає: перехоплення повідомлень та вилучення величини ga, потім знаходиться «секрет» a. Задача знаходження цього «секрету» називається дискретно-логарифмічною задачею, яка вважається математично невирішеною, якщо Діффі — Геллман був застосований з простого числа p розміром 2048 біт або більше. Коли просте число p має розмір 512 біт або менше, то стає можливим отримати значення a з g a mod p і прочитати трафік з'єднання. Знайти а можна, використовуючи Метод решета числового поля (Number Field Sieve)). Робота LogjamІснує декілька сучасних серверів TLS/SSL, які використовують 512-бітний ключ Діффі — Геллмана, більшою мірою такі сервера використовуються в маршрутизаторах або у відеоконференційних шлюзах. Тем не менше, існує другий клас серверів, які здатні підтримувати 512-бітний Діффі — Геллмана на прохання клієнта, використовуючи спеціальний режим EXPORT_DHE. За даними Alexa, з мільйонів найбільш популярних сайтів 8,4 % є вразливими до Logjam[1]. Хоча більшість привілейованих клієнтів (популярних браузерів) не підтримують EXPORT_DHE, тому існує уразливість, що дозволяє їм приймати ослаблений ключ. [[Файл: Tlsserverparams.png|thumb |ServerKeyExchange [Архівовано 27 травня 2016 у Wayback Machine.] повідомлення (RFC 5246)]] До того, як клієнти й сервер розпочне процес шифрування, їм потрібно вирішити, який із шифрів використовувати. Це відбувається в процесі «переговорів», коли клієнт пропонує деякі параметри (RSA, DHE, DHE_EXPORT, RSA_EXPORT і т. д.) і сервер вибирає один з них. Однак існує вразливість, яка полягає в тому, що в SSL/TLS протоколах погано продумана аутентифікація «переговорних» повідомлень. У більш ранніх версіях протоколу SSL не було автентифікації, тільки в TLS і в SSL 3.0 введено аутентифікацію, але вона відбувається в кінці процесу «рукотиснення». Слабкість реалізації TLS полягає в тому, що TLS сервера можуть підписувати свої повідомлення цифровою підпискою, але в реалізації цього протоколу це не використовується. Під час процесу «переговорів», якщо був вибраний Діффі — Геллман, то параметри, які присилає сервер, знаходяться в підписаному повідомленні ServerKeyExchange. Підписана частина повідомлення містить тільки параметри, але не містить інформації про те, який шифр використовувати. Таким чином, якщо сервер підтримує DHE_EXPORT, то зловнисник може скористатися атакою «людина посередині» та перехоплювати повідомлення між клієнтом і сервером, змінювати список підтримуючих шифрів, залишаючи тільки підтримку DHE_EXPORT (навіть якщо клієнт його не підтримує). Сервер у відповідь відправляє своє повідомлення, підписане 512-бітним ключем Диффі — Геллмана. Клієнт, нічого не підозріваючи, приймає цю інформацію. Зловмисннику залишилось знайти «секрет» Діффі — Геллмана, але він повинен це зробити до того, як завершиться процес «рукопотиснення» і створити своє повідомлення про закінчення даного процесу[3]. Див. такожПримітки
Посилання
|