http://habrahabr.ru/post/222337/
Для сведения: Во многих упоминаниях данной статьи авторы ошибочно называют меня сотрудником Opera Software. На самом деле я ушёл из Opera больше года назад и сегодня работаю в новой компании — Vivaldi Technologies ASПредыстория
Как я уже рассказывал в моей
предыдущей статье, несколько недель назад в библиотеке
OpenSSL была обнаружена уязвимость (
CVE-2014-0160), получившая громкое название "
Heartbleed". Данная уязвимость позволяла злоумышленникам добывать такую важную информацию, как, например, пользовательские пароли или закрытые ключи шифрования сайтов, проникая на уязвимые «защищённые» веб-серверы (
поясняющий комикс).
В результате, все затронутые данной напастью веб-сайты должны были пропатчить свои серверы, а также выполнить другие действия, чтобы обезопасить своих пользователей. Стоит отметить, что уровень опасности значительно возрос после того, как информация об уязвимости разлетелась по сети (было зафиксировано несколько серьёзных происшествий и как минимум один человек, пытавшийся использовать Heartbleed в корыстных целях, оказался под арестом).
Замедление активности использования патча
В течении нескольких недель со дня обнаружения уязвимости я отслеживал активность применения исправляющего патча с помощью собственного тестера TLS Prober. В настоящий момент тестер сканирует примерно 500 000 отдельных серверов, используя изменения имён хостов в различных доменах (общим числом 23 миллиона) с выборкой около миллиона веб-сайтов из Alexa Top.
Согласно шести сканированиям, проведённым мной в период с 11 апреля, число уязвимых серверов резко сократилось с 5,36% от числа всех проверяемых серверов до 2,33% на этой неделе. Около 20% просканированных серверов поддерживают Heartbeat TLS Extension, это говорит о том, что до 75% уязвимых серверов было пропатчено в течении первых четырёх дней после обнаружения уязвимости, т.е. до моего первого сканирования.
Однако, если за первые две недели сканирования число уязвимых серверов сократилось вдвое — до 2,77%, в последующие пару недель эта цифра снизилась только до 2,33%, что указывает на почти полную остановку процесса «лечения» уязвимых серверов.
Вообще, сканирование показывает, что серверы наиболее популярных веб-сайтов были пропатчены. Около 73% сканируемых веб-сайтов используют сертификаты от Certificate Authority, распознаваемые браузерами, и только 30% уязвимых веб-сайтов используют подобные сертификаты. Всё это немного сокращает важность проблемы в целом, но даже если какие-то серверы выглядят малозначимыми в масштабах всего интернета, реальным пользователям данных серверов от этого не легче.
Есть и не менее серьёзная проблема: многие сертификаты, использовавшиеся уязвимыми серверами, продолжают использоваться и на исправленных серверах. Фактически, если предположить, что все серверы, поддерживавшие Heartbeat при первом сканировании, были перед этим уязвимы, то 2/3 сертификатов не были обновлены после исправления серверов с помощью патча (т.к. они оказались теми же самыми, что и до исправления серверов). Учитывая, что каждый сервер, пропатченный после 7 апреля, предположительно обладал скомпрометированным закрытым ключом сертификата (ведь злоумышленники могли использовать Heartbleed на этих серверах), можно говорить о серьёзной проблеме, до сих пор угрожающей пользователям подобных веб-сайтов.
Кроме того, копание в цифрах выявило ещё две проблемы.
Число уязвимых серверов F5 BigIP остаётся стабильным
Первая проблема заключается в том, что абсолютное число серверов F5 BigIP (мощные ускорители SSL/TLS) с определённой конфигурацией, использующей уязвимые версии OpenSSL, остаётся неизменным. Выявить BigIP серверы сегодня очень легко, т.к. они имеют проблемы с определёнными видами квитирования TLS.
Правда, график выглядит немного странно, т.к. данные виды серверов BigIP в действительности были пропатчены даже лучше, чем основная масса серверов, поддерживающих Heartbeat.
Причина того, что абсолютное число уязвимых серверов BigIP оставалось неизменным, кроется в следующем: число серверов BigIP включая те, что используют OpenSSL версии 1.0.1 (с поддержкой Heartbeat), было удвоено за последний месяц (после медленного снижения за последние пару лет), и многие новоиспечённые серверы используют уязвимую версию библиотеки OpenSSL.
Я предполагаю, что частично проблема создана новыми владельцами серверов BigIP: возможно, они просто забыли обновить оригинальное серверное ПО после его установки.
Учитывая, что серверы BigIP как правило используются для обслуживания большого числа пользователей, можно предположить, что все они имеют довольно серьёзные проблемы с безопасностью.
Обновление до «Разбитого сердца»
Вторая проблема также связана с числом уязвимых серверов BigIP, но выглядит гораздо хуже: при моём последнем сканировании было обнаружено 20% уязвимых на текущий момент серверов (выборкой по IP), и 32% (!) уязвимых серверов BigIP, которые
не были уязвимы во время предыдущих проверок. Это означает, что тысячи сайтов, ранее не имевших проблем с Heartbleed, теперь эти проблемы получили!
Можно было бы предположить, что выявленные цифры неверны, т.к. анализ предполагает неизменность IP адресов серверов, что происходит не всегда. Однако, применение той же методики для проверки сертификатов серверов показывает такую же тенденцию.
Трудно сказать определённо, откуда данная проблема появилась, но одна из возможностей заключается в том, что повышенное внимание к теме со стороны средств массовой информации заставило администраторов серверов усомниться в том, что их серверы достаточно безопасны. К этому могло добавиться давление со стороны начальства с требованием «не сидеть сложа руки», в результате проводилось обновление ПО вполне защищённых от напасти серверов до новой версии, которая на тот момент ещё не была исправлена самими разработчиками.
Для исправления данной проблемы владельцам уязвимых серверов придётся вновь пройти всю процедуру наложения патча, что приведёт к денежным затратам, которых в действительности можно было избежать. Ориентировочно, наложение патча, замена сертификата и проведение соответствующего тестирования потребует работы трёх системных администраторов в течении четырёх часов. При стоимости каждого админочаса в $40, приблизительный общий размер лишних расходов на исправление 2500 «заболевших» серверов (в моём примере) может составить около $1,2 млн. А учитывая, что моё тестирование охватывает лишь около 10% всех серверов в сети, общий объём непредвиденных расходов составит $12 млн.
Heartbleed является очень серьёзной проблемой и исправление данной уязвимости необходимо сделать всем затронутым данным «несчастьем» серверам, но я начинаю думать, что активность тематической прессы, страдающей массой неточностей и дающей преждевременные советы (таких, как, например, «замените свой пароль немедленно!» не дожидаясь обновления ПО сервера или «аннулирование сертификатов в связи с Heartbleed значительно замедлит скорость работы в сети»), является, в какой-то степени, контрпродуктивным.
Вышеупомянутые данные о серверах, которые были «обновлены» и таким образом стали уязвимыми для проблемы, которая раньше их не касалась, могут быть результатом искажённого освещения проблемы в прессе.
Мои рекомендации остаются неизменными: сначала устанавливаем исправляющий патч, затем обновляем сертификаты, и только потом меняем пароли (именно в такой последовательности). Тематические журналисты должны сконцентрироваться именно на этом, а все панические настроения нужно исключить полностью. Соблюдайте фактическую точность при обсуждении проблемы, предлагайте читателям способы проверки (могут ли они стать жертвой уязвимости), например, расскажите о существующих программных инструментах, таких, как
Тестер серверов от SSL Labs, и не забывайте рассказать, как можно избавиться от проблемы.