В OpenSSL выявлена одна из самых серьёзных уязвимостей (CVE-2014-0160) в истории проекта, затрагивающая огромное число сайтов, серверных систем и клиентских приложений, использующих OpenSSL 1.0.1 для организации обмена данными через защищённое соединение. Суть проблемы проявляется в возможности доступа к 64Кб памяти клиентского или серверного процесса с которым установлено шифрованное соединение.

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

Причиной проблемы является отсутствие проверки выхода за допустимые границы в коде реализации TLS-расширения heartbeat (RFC 6520), что позволяет инициировать отправку удалённой стороне до 64Кб данных из области за границей текущего буфера. При этом возможна отправка произвольных 64Кб данных, а не только примыкающих к границе буфера (путем повторения запросов атакующий может шаг за шагом прочитать всё содержимое памяти процесса). По некоторым оценкам проблема охватывает до половины поддерживающих защищённое соединение серверных систем в Сети, включая собранные с OpenSSL 1.0.1 web-серверы (Apache httpd, nginx), почтовые серверы, XMPP-серверы, VPN-системы, шлюзы и скрытые сервисы анонимной сети Tor.

Связанная с атакой активность не проявляется в серверных логах, что затрудняет выявление фактов эксплуатации уязвимости. Возможность создания рабочего эксплоита для извлечения ключей безопасности без оставления следов в логе подтверждена исследователями из компаний Google и Codenomicon, выявивших уязвимость. В связи с тем, что проблема присутствует в коде OpenSSL уже более двух лет и, при этом, невозможно отследить по логу уже совершённые атаки, помимо установки обновления пользователям рекомендуется поменять SSL-сертификаты, ключи доступа и пароли. Для выявления возможного применения атаки в диком виде продвигается инициатива по развёртыванию сети подставных honeypot-серверов, фиксирующих попытки эксплуатации уязвимости.

Проблема проявляется только в актуальной стабильной ветке OpenSSL 1.0.1 и тестовых выпусках 1.0.2, прошлые стабильные ветки 0.9.x и 1.0.0x уязвимости не подвержены. Системы, использующие выпуски OpenSSL 1.0.1[abcdef], требуют срочного обновления. Уязвимость устранена в выпуске OpenSSL 1.0.1g. Обновления пакетов уже выпущены для RHEL 6, CentOS 6, Fedora 19/21, FreeBSD 8.4+, Ubuntu 12.04-13.10, Debian wheezy/jessie/sid, ALT Linux, CRUX, OpenBSD 5.3+. Проблема пока не исправлена в OpenSUSE 12.2+, NetBSD 5.0+. SUSE Linux Enterprise Server и Debian Squeeze проблеме не подвержены. В качестве запасного варианта отмечается возможность пересборки OpenSSL с опцией "-DOPENSSL_NO_HEARTBEATS", отключающей TLS-расширение heartbeat. Для проверки серверных систем на предмет наличия уязвимости подготовлены специальные online-сервисы.

Источник: http://www.opennet.ru/opennews/art.shtml?num=39518