Статус «Кровоточащего сердца»: обновление до «Разбитого»

Автор оригинала: Yngve Pettersen
  • Перевод


Для сведения: Во многих упоминаниях данной статьи авторы ошибочно называют меня сотрудником Opera Software. На самом деле я ушёл из Opera больше года назад и сегодня работаю в новой компании — Vivaldi Technologies AS

Обновление от 12 мая
После более тщательного исследования проблемы совместно с F5 выяснилось, что тест, используемый для обнаружения серверов F5 BigIP, показывал более высокие числа, чем это должно быть, поэтому количество подобных серверов оказалось при проверке завышенным. Это означает, что соответствующая информация о серверах BigIP и выводы неверны, поэтому я вычёркиваю главу, посвящённую серверам BigIP. Приношу извинения F5 и их клиентам за эту ошибку.

Предыстория

Как я уже рассказывал в моей предыдущей статье, несколько недель назад в библиотеке 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%, что указывает на почти полную остановку процесса «лечения» уязвимых серверов.

image

Вообще, сканирование показывает, что серверы наиболее популярных веб-сайтов были пропатчены. Около 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, теперь эти проблемы получили!

image

Можно было бы предположить, что выявленные цифры неверны, т.к. анализ предполагает неизменность IP адресов серверов, что происходит не всегда. Однако, применение той же методики для проверки сертификатов серверов показывает такую же тенденцию.

Трудно сказать определённо, откуда данная проблема появилась, но одна из возможностей заключается в том, что повышенное внимание к теме со стороны средств массовой информации заставило администраторов серверов усомниться в том, что их серверы достаточно безопасны. К этому могло добавиться давление со стороны начальства с требованием «не сидеть сложа руки», в результате проводилось обновление ПО вполне защищённых от напасти серверов до новой версии, которая на тот момент ещё не была исправлена самими разработчиками.

Для исправления данной проблемы владельцам уязвимых серверов придётся вновь пройти всю процедуру наложения патча, что приведёт к денежным затратам, которых в действительности можно было избежать. Ориентировочно, наложение патча, замена сертификата и проведение соответствующего тестирования потребует работы трёх системных администраторов в течении четырёх часов. При стоимости каждого админочаса в $40, приблизительный общий размер лишних расходов на исправление 2500 «заболевших» серверов (в моём примере) может составить около $1,2 млн. А учитывая, что моё тестирование охватывает лишь около 10% всех серверов в сети, общий объём непредвиденных расходов составит $12 млн.

Heartbleed является очень серьёзной проблемой и исправление данной уязвимости необходимо сделать всем затронутым данным «несчастьем» серверам, но я начинаю думать, что активность тематической прессы, страдающей массой неточностей и дающей преждевременные советы (таких, как, например, «замените свой пароль немедленно!» не дожидаясь обновления ПО сервера или «аннулирование сертификатов в связи с Heartbleed значительно замедлит скорость работы в сети»), является, в какой-то степени, контрпродуктивным.

Вышеупомянутые данные о серверах, которые были «обновлены» и таким образом стали уязвимыми для проблемы, которая раньше их не касалась, могут быть результатом искажённого освещения проблемы в прессе.

Мои рекомендации остаются неизменными: сначала устанавливаем исправляющий патч, затем обновляем сертификаты, и только потом меняем пароли (именно в такой последовательности). Тематические журналисты должны сконцентрироваться именно на этом, а все панические настроения нужно исключить полностью. Соблюдайте фактическую точность при обсуждении проблемы, предлагайте читателям способы проверки (могут ли они стать жертвой уязвимости), например, расскажите о существующих программных инструментах, таких, как Тестер серверов от SSL Labs, и не забывайте рассказать, как можно избавиться от проблемы.

Комментарии 19

    0
    А есть какие-нибудь ресурсы или скрипты, позволяющие быстро проверить целевой сервер на наличие уязвимости. Я понимаю, что такие вещи могут помочь и злоумышленникам, но получается так, что обычные пользователи не могут даже проконтролировать наличие уязвимости на тех ресурсах, которыми они пользуются. Это даже не страус и песок, а страус и бетонный пол.
      +5
        +21
        Специально для тех, кто не умеет пользоваться поисковыми системами привожу топ выдачи по ссылке выше:
        Heartbleed test (filippo)
        heartbleed test (possible)
        heartbleed test (McAfee)
        Heartbleed checker (LastPass)
        SSL Server Test (qualys)
        Heartbleed Test (ssl-tools)
        Heartbleed (filippo.io source)
          –5
          Я вам уже давно карму поднял, когда еще имел возможность ее поднимать. Просто отправлять в гугл человека, который задает конкретный вопрос не самый лучший вариант. Однако, спасибо за старания.
            +1
            Возможно я был не прав, но просто если в день анонса уязвимости ещё проблематично было найти сплоит, то сейчас весь топ7 выдачи гугла предоставляет возможность проверки сервера, но так как кому-то мой варианта ответа не понравился, я решил уточнить и привёл ссылки из выдачи.
        +6
        Вот комментарий под одной из статей об HeartBleed, где товарищ ValdikSS даёт ссылки на вполне сносные чекеры.
          0
          Спасибо.
          +9
          Самое удобное это расширения для chrome и firefox, предупреждающие при заходе на уязвимый сайт. Оба используют чекер filippo.io
          Вот уязвимый демосервер, чтобы потестить.
            +2
            Спасибо, а для Opera не встречали подобные плагины?
          +7
          Неплохо было-бы если Chrome, Firefox и др. не пускали на уязвимые сайты или как минимум выдавали «кричащую» надпись.
          Тогда владельцы сайтов бы задумались почему к ним не ходят, да и сами бы не смогли зайти на свой сайт. :)
            –3
            Извините, но это не повод перекладывать проблемы на пользователей.
              +15
              Самоподписанный сертификат тоже вроде как не повод.
              А если у пользователя из-за хартблида пароль от интернет-банка уплывет, это не станет для него проблемой?
              +2
              Вопрос в правовом статусе проверки на уязвимость. Во многих странах это нельзя делать без согласия владельцев сайта.
                +2
                Бред, это же не эксплуатация (считайте использование с целью наживы), а лишь предупреждение с целью предостережения.

                  +4
                  Вот и я тоже думаю, что бред, однако для проверки на уязвимость нужно использовать эксплойт, а это много где запрещено само по себе. Производители браузеров не могут позволить себе в открытую нарушать закон.
                  Вот, например, цитата со страницы плагина для хрома:
                  Please note that, in some jurisdictions, site testing can only be carried out with the express permission of the site owner. Please check what the law says in your local area before proceeding to download this extension
              0
              Около 20% просканированных серверов поддерживают Heartbeat TLS Extension, это говорит о том, что до 75% уязвимых серверов было пропатчено в течении первых четырёх дней после обнаружения уязвимости, т.е. до моего первого сканирования.

              Немного не понял суть предложения. Если на момент первого сканирования было 5% уязвимых, и из всех просканированных около 20% поддерживают heartbeat, то откуда цифра в 75%? Речь о (20-5)/20 чтоль?
              Ведь определенное количество людей при исправлении не применяли патч, а перекомпилировали OpenSSL без поддержки Heartbeat, в том числе с мыслью параноиков «Ага, в этом апдейте еще где-то закладку сделали». В итоге реальные цифры пропатченных серверов могут сильно отличаться.
                0
                Да, 75% — это 75% от 20%. Как мне кажется, автор написал об этом достаточно ясно…
                +3
                К этому могло добавиться давление со стороны начальства с требованием «не сидеть сложа руки», в результате проводилось обновление ПО вполне защищённых от напасти серверов до новой версии, которая на тот момент ещё не была исправлена самими разработчиками.

                Почти моя ситуация. Только я сказал директору успокоится и ничего не делал :)
                  –5
                  Вы извините, конечно, но перевод ужасен. Читайте, пожалуйста, свой текст несколько раз перед тем, как запостить.

                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                  Самое читаемое