В OpenSSL обнаружена критическая уязвимость, которая может привести к утечке закрытых ключей
8 апреля 2014 года
В 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, Mageia, CRUX, OpenBSD 5.3+. Проблема пока не исправлена в OpenSUSE 12.2+, NetBSD 5.0+. SUSE Linux Enterprise Server и Debian Squeeze проблеме не подвержены. В качестве запасного варианта отмечается возможность пересборки OpenSSL с опцией "-DOPENSSL_NO_HEARTBEATS", отключающей TLS-расширение heartbeat. Для проверки серверных систем на предмет наличия уязвимости подготовлены специальные online- сервисы.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.