Heartbeat==Heartbleed
Уязвимость, получившая название Heartbleed (с англ. «кровоточащее сердце»), вызвала большой переполох среди специалистов по ИТ и информационной безопасности. Уязвимость содержится в продуктах OpenSSL версий 1.0.2-beta и 1.0.1. и зарегистрирована в базе данных уязвимостей под номером CVE-2014-0160.
Проблема заключается в недостаточной проверке границ данных во время обработки расширений TLS (Heartbeat), что позволяет злоумышленнику раскрыть содержимое 64кб оперативной памяти подключенного клиента или сервера. Содержимое этого блока памяти может содержать закрытые ключи, логины и пароли подключения, содержимое cookie-файлов и другие важные данные.
Особенности уязвимости
Для обеспечения безопасности передаваемых данных во время различных операций пользователя (финансовые операции, проверка статистики, чтение почты и т.д.), сервер использует шифрование. Таким образом, при должном уровне шифрования пользователь может быть уверен, что передаваемые им данные защищены (в браузере пользователя может отображаться следующий индикатор https://). Уязвимость в OpenSSL позволяет, с помощью специально сформированного запроса, прочесть в открытом виде данные, передаваемые во время сессии пользователь-сервер, даже если сертификат считается надежным.
Информация о выходе новой версии OpenSSL появилась на сайте проекта (openssl.org) 7 апреля 2014 г, и одновременно появилась информация о проблеме в Heartbeat механизме. Однако существует предположение, что уязвимость эксплуатировалась в течение нескольких месяцев до этого. Терренс Коеман из MediaMonks говорил о похожей атаке в ноябре 2013 года.(http://arstechnica.com/security/2014/04/heartbleed-vulnerability-may-have-been-exploited-months-before-patch/). Тем не менее, сразу же появились online-сервисы, позволяющие проверить удаленные сетевые узлы на наличие уязвимости, и таковыми оказались серверы компаний yahoo, owasp, instagram, yandex, openssl, ФБР и т.д.
Спустя несколько часов после появления online-сервисов появился первый публичный эксплойт, разработанный Джаредом Стэффордом. Изначально эксплойт просто проверял наличие уязвимости, формируя специализированный запрос на порт 443, однако уязвимые сетевые узлы присылали в ответ информацию, хранящуюся в оперативной памяти.
Большой резонанс вызвал тот факт, что почтовые сервера Yahoo присылали логин и пароль сессии пользователя в открытом виде (twitter.com/markloman):
Спустя некоторое время в сети стали появляться honeypot с рассматриваемой уязвимостью, которые присылали в ответ различные изображения, выполненные псевдографикой (twitter.com/moyix и twitter.com/ErsenSiseci):
Что делать
Уязвимости подвержены не только сами продукты OpenSSL, но и программное обеспечение, которое использует OpenSSL, например, TOR или OpenVPN.
В первую очередь необходимо установить в каких элементах ваших информационных систем может присутствовать уязвимый элемент, осуществить необходимые обновления. Далее имеет смысл сменить все связанные с уязвимым элементом пароли и отозвать соответствующие сертификаты. И, наконец, необходимо провести ревизию правил межсетевого экранирования и обновить сигнатуры и конфигурации систем обнаружения и предотвращения вторжений.
Таким образом, в очередной раз можно констатировать, что даже в самых, казалось бы, проверенных и надежных звеньях информационных систем продолжают выявляться очень серьезные уязвимости. Соответственно, только комплексный подход к обеспечению безопасности и регулярный аудит защищенности информационных систем позволяет снизить риски до приемлемого уровня и обеспечить уверенность в защищенности.