Критична уразливість бібліотеки OpenSSL дозволяє проводити DoS-атаки



Зображення: thehackernews.com

Наприкінці минулого тижня (22 вересня) організація OpenSSL Foundation оголосила про усунення більше десятка вразливостей своєї криптографічного бібліотеки. Серед знайдених «багів» була й помилка, експлуатація якої дозволяє зловмисникам здійснювати DoS-атаки.
У чому проблема
OpenSSL — це популярна криптографічна open source-бібліотека, з допомогою якої забезпечується шифрування інтернет-з'єднань з допомогою SSL або TLS. Цей механізм використовує переважна більшість сайтів в мережі.

Критична уразливість (CVE-2016-6304) міститься в OpenSSL версії 1.0.1, 1.0.2 і 1.1.0 і була усунена у версіях OpenSSL 1.1.0 a, 1.0.2 i b 1.0. Суть уразливості полягає в тому, що при послідовних TLS Renegotiations, сервер не звільняє пам'ять, виділену під зберігання поля одного з розширень протоколу TLS – status request, а «перетирає» вказівник на неї, викликаючи витік пам'яті.

TLS Renegotiations – це механізм, що дозволяє клієнтові або сервера змінювати параметри TLS підключення на ходу, не перериваючи поточної сесії. При цьому сторони обмінюються повідомленнями Hello та сертифікатами, як при звичайному хендшейке, але використовуючи вже встановлений захищений канал. А розширення status request дозволяє прискорити перевірку статусу сертифіката сервера, якщо останній підтримує механізм OCSP Stapling.

Таким чином, атакуючий може викликати витік пам'яті кожен раз при ініціюванні TLS Renegotiations. Розмір витоку варіюється від 16 до 64 кілобайт, в залежності від версії OpenSSL.

Протокол OCSP (Online Certificate Status Protocol) підтримується усіма сучасними веб-браузерами, він створений для забезпечення верифікації статусу цифрового сертифіката встановленого на сайті.

OCSP розділений на клієнтську і серверну частину. Коли додаток або веб-браузер намагається провести валідацію SSL-сертифіката, клієнтська частина відправляє HTTP-запит до онлайн-базі даних, яка повертає статус сертифіката. Однак, для прискорення механізму валідації для клієнта, сервер може сам звертатися до OCSP серверів, а потім повертати OCSP відповіді клієнта на етапі handshake. Такий механізм називається OCSP Stapling і дозволяє клієнту уникнути витрати ресурсів на звернення до OCSP серверів.

Це ще не все
В бюлетені безпеки OpenSSL Foundation від 22 вересня була описана ще одна уразливість CVE-2016-6307 — вона отримала низьку ступінь критичності (Low). Помилка в коді бібліотеки версії 1.1.0 дозволяла зловмиснику здійснювати DoS-атаки за допомогою відправки занадто великих за розміром заголовків tls_get_message_header().

Згодом з'ясувалося, що патч для уразливості CVE-2016-6307 породив іншу вразливість (CVE-2016-6309). В результаті застосування патча виникала помилка обробки буфера, що призводить до «падіння» програми та можливості виконання довільного коду. Для її виправлення був випущений окремий патч.

Як захиститися
Сервери, що використовують OpenSSL до версії 1.0.1 g не схильні до вразливості CVE-2016-6304 при роботі в стандартній конфігурації. Адміністратори уразливих ресурсів для скорочення можливого збитку повинні використовувати опцію no-ocsp.

Крім того, раніше команда OpenSSL Foundation вже виправляла іншу вразливість (CVE-2016-6305) бібліотеки версії 1.1.0, яка могла використовуватися для здійснення DoS-атак.

Експерти Positive Technologies вивчили деталі експлуатації уразливості CVE-2016-6304 і розробили сигнатуру для виявлення даної уразливості засобами IDS Suricata. Крім того, рекомендується використовувати для виявлення вразливостей, подібних описаним, спеціалізовані засоби на зразок системи моніторингу захищеності та відповідності стандартам MaxPatrol 8.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.