В чрезвычайно популярном криптографическом пакете с открытым кодом OpenSSL обнаружена серьёзнейшая уязвимость, вызвавшая нарастающую панику среди специалистов в области безопасности. По информации из недавно опубликованного бюллетеня The OpenSSL Project, уязвимость, связанная с отсутствием необходимой проверки границ в одной из процедур расширения Heartbeat для протокола TLS/DTLS, может быть использована для того, чтобы прочитать произвольные 64 килобайта памяти компьютеров и серверов, защищённых уязвимой версией OpenSSL.
На практике это означает возможность перехватывать информацию, защищённую (в обычных условиях) шифрованием SSL/TLS, повсеместно используемым в интернет-коммуникациях.
Протоколы SSL/TLS призваны защищать безопасность и приватность веб- и почтовых соединений, сервисов мгновенной доставки сообщений и некоторых VPN-сетей. Злоумышленники получают возможность красть секретные ключи, пользовательские имена, пароли, содержание сообщений в IM-сервисах, электронную почту и критические для бизнеса докменты — всё это не оставляя никакого следа в атакованных ресурсах.
Тем самым данная уязвимость (получившая кодовое название Heartbleed — «Сердце кровью обливается») оказывается поистине критической, так что контрмеры необходимо принимать со всей возможной оперативностью.
Пока ещё неизвестно, насколько широко эта уязвимость могла эксплуатироваться злоумышленниками. Но, так или иначе, содержащая ошибку версия OpenSSL 1.0.1 была выпущена в марте 2012 года. Если кто-то обладал информацией об этой бреши, у него была возможность прослушивать любые зашифрованные TSL/SSL соединения на протяжении всего этого времени. В общем, мы имеем дело с потенциально глобальной проблемой: OpenSSL используется в очень популярном серверном ПО, в частности, Apaceh и nginx, чья совокупная доля в мире составляет порядка 66% (данные Netcraft Web Server Survey, апрель 2014). Эти серверные пакеты активно используют самые разные коммерческие структуры — и малые, и крупные.
Помимо того, уязвимые версии OpenSSL входят в дистрибутивы ряда открытых операционных систем. В том числе:
- Debian Wheezy (Stable), OpenSSL 1.0.1e-2+deb7u4)
- Ubuntu 12.04.4 LTS, OpenSSL 1.0.1-4ubuntu5.11)
- CentOS 6.5, OpenSSL 1.0.1e-15)
- Fedora 18, OpenSSL 1.0.1e-4
- OpenBSD 5.3 (OpenSSL 1.0.1c) и 5.4 (OpenSSL 1.0.1c)
- FreeBSD 8.4 (OpenSSL 1.0.1e) и 9.1 (OpenSSL 1.0.1c)
- NetBSD 5.0.2 (OpenSSL 1.0.1e)
- OpenSUSE 12.2 (OpenSSL 1.0.1c)
В версиях OpenSSL до 1.0.1 и укомплектованных ими дистрибутивах – Debian Squeeze (oldstable), OpenSSL 0.9.8o-4squeeze14, SUSE Linux Enterprise Server – брешь отсутствует.
Среди потенциальных жертв – разработчики операционных систем и дистрибутивов, независимые разработчики ПО, производители «умной» электроники. Им настоятельно рекомендуется срочно обновить OpenSSL до свежевыпущенной версии 1.0.1g, а также уведомить пользователей своей продукции о возможной утечке данных (в частности, паролей). Также необходимо срочно запросить (или выпустить) новые пары ключей шифрования и цифровые сертификаты для них.
Сервис-провайдерам и пользователям также рекомендуется установить обновления OpenSSL как только их выпустят производители.
Уже функционирует онлайновый инструмент, позволяющий тестировать серверы на предмет наличия уязвимости CVE-2014-0160 по имени хоста. Им, пожалуй, стоит воспользоваться.
Следует отметить повторно: если какие-либо злоумышленники уже успели воспользоваться этой уязвимостью, то следов никаких не остаётся и выяснить, атаковали вас с помощью Heartbleed или нет, невозможно. Под угрозой оказались все компании, которые используют версии OpenSSL с 1.0.1 до 1.0.1f, так что единственное, что сейчас имеет смысл сделать, это как можно быстрее заткнуть «дыру».