Потенційні атаки на HTTPS та як від них захиститися

Половина сайтів використовує HTTPS, та їх кількість стабільно збільшується. Протокол скорочує ризик перехоплення трафіку, але не виключає спроб атак як такі. Про деякі з них – POODLE, BEAST, DROWN та інші – та способи захисту, ми розповімо в нашому матеріалі.

Потенційні атаки на HTTPS та як від них захиститися
/Flickr/ Sven Graeme / CC BY-SA

ПУДЕЛЬ

Вперше про атаку ПУДЕЛЬ стало відомо у 2014 році. Уразливість у протоколі SSL 3.0 виявив фахівець з ІБ Бодо Меллер (Bodo Möller) із колегами з Google.

Її суть полягає в наступному: хакер змушує клієнта виконати підключення SSL 3.0, емулюючи розриви зв'язку. Потім він шукає в зашифрованому CBC-режимі трафіку спеціальні повідомлення-мітки. За допомогою серії підставних запитів зловмисник отримує можливість реконструювати вміст даних, що його цікавлять, наприклад cookies.

SSL 3.0 - застарілий протокол. Але питання його безпеки все ще актуальне. Клієнти використовують його, щоб уникнути проблем сумісності із серверами. За деякими даними, майже 7% зі 100 тис. найпопулярніших сайтів все ще підтримують SSL 3.0. також існують модифікації POODLE, метою яких є більш сучасні TLS 1.0 та TLS 1.1. В цьому році з'явилися нові атаки Zombie POODLE та GOLDENDOODLE, які обходять захист TLS 1.2 (вони, як і раніше, пов'язані з CBC-шифруванням).

Як захиститись. У разі оригінального POODLE потрібно вимкнути підтримку SSL 3.0. Однак у цьому випадку є ризик отримати проблеми із сумісністю. Альтернативним рішенням може стати механізм TLS_FALLBACK_SCSV - він гарантує, що обмін даними SSL 3.0 буде проводитися тільки зі старими системами. Зловмисники більше не зможуть ініціювати зниження версії протоколу. Спосіб захисту від Zombie POODLE та GOLDENDOODLE – відключення підтримки CBC у додатках на базі TLS 1.2. Кардинальним рішенням стане перехід на TLS 1.3 – у новій версії протоколу не використовується CBC-шифрування. Замість нього застосовуються більш стійкі AES і ChaCha20.

BEAST

Одна з перших атак на SSL і TLS 1.0, виявлена ​​в 2011 році. Як і POODLE, BEAST використовує особливості CBC-шифрування Зловмисники впроваджують на клієнтську машину JavaScript-агент або Java-аплет, який підміняє повідомлення під час трансляції даних TLS або SSL. Оскільки зловмисникам відомий зміст «підставних» пакетів, вони можуть за їх допомогою розшифрувати вектор ініціалізації та прочитати інші повідомлення до сервера, наприклад, cookie-файли для аутентифікації.

На сьогоднішній день вразливості BEAST як і раніше піддається ряд мережевих інструментів: проксі-сервери та програми для захисту локальних інтернет-шлюзів.

Як захиститись. Атакуючому необхідно регулярно надсилати запити, щоб розшифровувати дані. У VMware рекомендують скоротити тривалість SSLSessionCacheTimeout — з п'яти хвилин (за замовчуванням) до 30 секунд. Такий підхід ускладнить реалізацію планів зловмисникам, хоча й негативно вплине на продуктивність. Крім цього, потрібно розуміти, що незабаром вразливість BEAST може піти в минуле сама по собі — з 2020 року найбільші браузери. припиняють підтримку TLS 1.0 та 1.1. У будь-якому випадку з цими протоколами працює менше ніж 1,5% всіх користувачів браузерів.

ВТОПИТИ

Це крос-протокольна атака, що використовує помилки в реалізації SSLv2 з 40-бітними ключами RSA. Зловмисник прослуховує сотні TLS-підключень мети та відправляє спеціальні пакети на сервер із SSLv2, який використовує такий самий приватний ключ. Використовуючи атаку БлейхенбахераХакер може розшифрувати одну з приблизно тисячі TLS-сесій клієнта.

Про DROWN вперше стало відомо у 2016 році - тоді їй виявилася схильна третина серверів в світі. На сьогоднішній день вона не втратила актуальності. Зі 150 тисяч найпопулярніших сайтів 2% досі підтримують SSLv2 та вразливі механізми шифрування.

Як захиститись. Необхідно встановити патчі, запропоновані розробниками криптографічних бібліотек, які вимикають підтримку SSLv2. Наприклад, дві такі латки представили для OpenSSL (у 2016 році це були оновлення 1.0.1s та 1.0.2g). Також апдейти та інструкції щодо відключення вразливого протоколу опублікували в Red Hat, Apache, Debian.

«Ресурс може бути вразливим для DROWN, якщо його ключі використовує сторонній сервер із SSLv2, наприклад поштовий, — зазначає начальник відділу розвитку IaaS-провайдера на 1cloud.ru Сергій Бєлкін. — Така ситуація виникає, якщо кілька серверів використовують загальний сертифікат SSL. У цьому випадку відключити підтримку SSLv2 потрібно на всіх машинах.

Перевірити, чи потрібно оновити свою систему, можна за допомогою спеціальної утиліти - її розробили фахівці з ІБ, які виявили DROWN. Більше про рекомендації, пов'язані із захистом від цього типу атак, можна почитати в пості на сайті OpenSSL.

Heartbleed

Одна з найбільших уразливостей у софті Heartbleed. Її виявили у 2014 році у бібліотеці OpenSSL. На момент оголошення про помилку кількість вразливих веб-сайтів оцінювалося у півмільйона - Це приблизно 17% захищених ресурсів у мережі.

Атака реалізується через невеликий модуль Heartbeat TLS розширення. Протокол TLS вимагає, щоб дані передавалися безперервно. У разі тривалого простою відбувається розрив і доводиться наново встановлювати з'єднання. Щоб упоратися з проблемою, сервери та клієнти штучно «зашумлюють» канал (RFC 6520, стор.5), передаючи пакет випадкової довжини. Якщо він виявлявся найбільше пакету, то вразливі версії OpenSSL читали пам'ять поза відведеного буфера. У цій області могли знаходитися будь-які дані, у тому числі закриті ключі шифрування та інформація про інші з'єднання.

Вразливість була присутня у всіх версіях бібліотеки між 1.0.1 та 1.0.1f включно, а також у ряді ОС — Ubuntu до 12.04.4, CentOS старше 6.5, OpenBSD 5.3 та інших. Повний перелік є на сайті Heartbleed. Хоча патчі проти цієї вразливості випустили практично відразу після її виявлення, проблема залишається актуальною досі. Ще у 2017 році працювало майже 200 тис. сайтів, схильних до Heartbleed.

Як захиститись. потрібно оновити OpenSSL до версії 1.0.1g чи вище. Можна також вимкнути запити Heartbeat вручну за допомогою опції DOPENSSL_NO_HEARTBEATS. Після оновлення фахівці з ІБ рекомендують перевипустити SSL-сертифікати. Заміна потрібна на випадок, якщо дані про ключі шифрування все ж таки потрапили до хакерів.

Підміна сертифіката

Між користувачем та сервером встановлюється керований вузол з легітимним SSL-сертифікатом, що активно перехоплює трафік. Цей вузол видає себе легітимний сервер, пред'являючи валідний сертифікат, і з'являється можливість провести MITM-атаку.

Згідно з дослідженням команд із Mozilla, Google та низки університетів, приблизно 11% захищених з'єднань у мережі «прослуховуються». Це результат встановлення підозрілих кореневих сертифікатів на комп'ютерах користувачів.

Як захиститись. Користуватися послугами надійних SSL-провайдерів. Перевірити якість сертифікатів можна за допомогою сервісу Прозорість сертифіката (CT). Допомогти з виявленням «прослуховування» можуть і хмарні провайдери – вже сьогодні деякі великі компанії пропонують спеціалізовані інструменти для моніторингу підключень до TLS.

Іншим способом захисту стане новий стандарт ACME, що автоматизує отримання SSL-сертифікатів. При цьому він додасть додаткових механізмів для перевірки власника сайту. Докладніше про нього ми писали в одному з наших попередніх матеріалів.

Потенційні атаки на HTTPS та як від них захиститися
/Flickr/ Юрій Самойлов / CC BY

Перспективи HTTPS

Незважаючи на низку вразливостей, ІТ-гіганти та експерти з ІБ впевнені в майбутньому протоколу. За активне використання HTTPS виступає творець WWW Тім Бернерс-Лі. За його словами, згодом TLS стане більш захищеним, що значно підвищить безпеку з'єднань. Бернерс-Лі навіть припустив, що в майбутньому з'являться клієнтські сертифікати для автентифікації особи. Вони допоможуть покращити захист серверів від зловмисників.

Розвивати технологію SSL/TLS також планується за допомогою машинного навчання – розумні алгоритми відповідатимуть за фільтрацію шкідливого трафіку. У HTTPS-з'єднаннях у адміністраторів немає можливості дізнатися про вміст зашифрованих повідомлень — у тому числі й виявити запити від шкідливого ПЗ. Вже сьогодні нейронні мережі здатні фільтрувати потенційно небезпечні пакети з точністю 90%. (слайд 23 презентації).

Висновки

Атаки на HTTPS переважно пов'язані не з проблемами в самому протоколі, а з підтримкою застарілих механізмів шифрування. ІТ-індустрія починає поступово відмовлятися від протоколів попереднього покоління та пропонує нові інструменти для пошуку вразливостей. У майбутньому ці інструменти будуть все інтелектуальнішими.

Додаткові посилання на тему:

Джерело: habr.com

Додати коментар або відгук