FREAK (англ. Factoring RSA Export Keys) — вразливість в реалізації TLS/SSL. Уразливість полягає в недостатній перевірці при виконанні TLS Handshake на стороні клієнта, що призводить до можливості знизити шифрування під час виконання атаки «людина посередині» до використання 512-бітних ключів RSA (RSA_EXPORT ключі), які можуть бути підібрані зловмисником протягом декількох годин. Уразливість була знайдена в 2015 році, а сама помилка існувала з 1990-х[1].
На початку 1990-х був винайдений протокол SSL в Netscape Communications. Приблизно з середини XX століття, в США діяв закон про обмеження експорту стійких шифрів за межі країни. Дозволялося експортувати тільки спеціально ослаблені версії шифрів, наприклад, з ключами 40 або 56 біт для симетричного і 512 біт для асиметричного шифрування. Для RSA дозволялося мати 512-бітний ключ[1].
Після виявлення проблем з державними система було виявлено, що сервера використовують кілька основних браузерів (включаючи браузери Safari і OpenSSL на Android). Ця атака націлена на клас свідомо слабких наборів шифраторів експорту. Як випливає з назви, цей клас алгоритмів був введений під тиском агентств урядів США, щоб гарантувати, що вони зможуть розшифрувати всі закордонні шифровані повідомлення, в той час як більш сильні алгоритми були заборонені до експорту (оскільки вони були класифіковані як військова зброя)[2].
Підтримка цих слабких алгоритмів залишилася в багатьох реалізаціях, таких як OpenSSL, хоча вони за умовчанням відключені; проте виявлено, щр користувач, використовуючи можливості шифрування, може «обдурити» браузер, який використовувати слабкий ключ експорту. Підібрати 512-бітний RSA ключ можна на Amazon EC2 за 7-8 годин. Такий ключ коштує 100 доларів[2].
Частина сучасних TLS клієнтів (в їх числі Apple TLS/SSL і OpenSSL) мають помилку. Ця помилка дозволяє TLS клієнту приймати RSA_EXPORT ключ, навіть якщо клієнт не запитував цей ключ. Використовуючи дану вразливість можна ініціювати атаку «людина посередині» для ослаблення рівня шифрування.
Атака «людина посередині» працює так:
Окрім вебсайтів, сервери HTTPS, які забезпечують експортні ciphersuites, включають ті, на яких розміщується популярний сторонній JavaScript, наприклад, SDK для JavaScript JavaScript (завантажується на більшості сайтів, які використовують кнопку на Facebook Like або Login). Видаючи за такі вразливі сервери сценаріїв, зловмисник може вводити довільний JavaScript в будь-яку кількість невинних сторонніх вебсайтів, щоб вкрасти призначені для користувача дані (наприклад, паролі), введені на цих сайтах. Зловмисник може виконувати поширені атаки XSS після факторингу 512-бітного модуля RSA для connect.facebook.net (сайту, який служить SDK для JavaScript у Facebook)[2].
Вразливості піддаються як клієнтські, так і серверні системи, а також різноманітне ПЗ. В тому числі:
Firefox до проблемних не відноситься, оскільки не використовує OpenSSL[3].
|