Все уязвимости

CVE-2014-0160

Heartbleed: почему после обновления нужны новые ключи

Heartbleed раскрывала фрагменты памяти программ со старым OpenSSL. Исправление прекращает утечку, но не отзывает уже раскрытые секреты: проверьте библиотеку, перезапустите службы и спланируйте замену ключей.

Проверено 26 октября 2026В первичном бюллетене OpenSSL от 7 апреля 2014 года числовая оценка CVSS не приведена. Подтверждённое последствие — раскрытие памяти, потенциально включая ключи и другие секреты; по одному факту уязвимой версии нельзя установить, какие данные действительно утекли.

Кому нужно проверить

Администраторам старых веб-серверов, почтовых систем, VPN и сетевых устройств, использующих OpenSSL. Материал особенно полезен при обнаружении давно не обновлявшейся системы или разборе исторической утечки. Важна не только марка продукта, но и конкретная версия, способ установки, операционная система и конфигурация.

В чём риск

Heartbeat — служебная проверка активности TLS-соединения. Из-за отсутствующей проверки границ ответ мог содержать лишние байты из памяти процесса. В этой памяти могут находиться пароли, сеансы и закрытые ключи. Исправление библиотеки прекращает этот механизм утечки, но чужая копия секрета от этого не исчезает. Возможность расшифровать ранее записанный трафик зависит от использованных алгоритмов и условий соединения; нельзя обещать ни всеобщую расшифровку, ни гарантированную сохранность прошлого трафика.

Затронутые версии

OpenSSL 1.0.1–1.0.1f включительно и 1.0.2-beta1 с уязвимой поддержкой TLS/DTLS heartbeat. Advisory указывает возможность раскрытия до 64 КБ памяти подключённому клиенту или серверу. Это ошибка реализации OpenSSL, а не всех TLS-программ. Учитывайте сборки с отключённой heartbeat и исправления, перенесённые поставщиком ОС.

Исправленные версии

Историческое исправление — OpenSSL 1.0.1g; для предварительной ветки 1.0.2 — beta2. Сегодня эти выпуски не являются рекомендуемой целью: используйте поддерживаемую исправленную библиотеку или пакет производителя устройства. Пересборка с OPENSSL_NO_HEARTBEATS была временным вариантом из advisory, а не заменой дальнейшему сопровождению.

Что сделать

  1. 1Составьте список служб и устройств, завершающих TLS, включая внутренние соединения и встроенные библиотеки. Версия команды openssl в оболочке может отличаться от библиотеки, которую использует приложение.
  2. 2Сверьте фактические пакеты и сборки с уведомлениями поставщиков. До исправления ограничьте доступ к затронутой службе или выведите её из эксплуатации по согласованному плану. Не считывайте память рабочего процесса для демонстрации ошибки.
  3. 3Подготовьте резервные копии конфигурации и план восстановления с закрытым доступом к ключам. Проверьте обновление на тестовой системе, затем обновите библиотеку или прошивку и перезапустите все использующие её процессы. Статически собранному приложению может потребоваться новая сборка.
  4. 4Убедитесь, что работает исправленная сборка и TLS-соединения устанавливаются штатно. Только после устранения утечки создайте новые закрытые ключи, перевыпустите сертификаты и отзовите прежние по процедуре своего удостоверяющего центра. Простое продление сертификата с тем же ключом не заменяет раскрытый ключ.
  5. 5Оцените другие секреты, которые могли находиться в памяти: пароли, токены и ключи сеансов. Заменяйте их и завершайте затронутые сеансы по плану, учитывая зависимости приложений. Не передавайте секреты в журналы и обращения поддержки.
  6. 6Проверьте цепочку сертификатов и работу клиентов после замены. При откате не возвращайте потенциально раскрытые ключи и уязвимую библиотеку в публичную работу. Сохраните результаты проверки: отсутствие следов в обычном журнале не доказывает отсутствия чтения памяти.

Порядок восстановления

Статичная последовательность показывает, почему новые секреты создают после прекращения утечки. Движение для объяснения не требуется.

  1. 1Найти затронутые службы и библиотеки
  2. 2Обновить и перезапустить процессы
  3. 3Подтвердить прекращение работы уязвимой сборки
  4. 4Заменить ключи, сертификаты и затронутые секреты
  5. 5Проверить клиентов и завершить старые сеансы

Примеры конфигурации и проверки

Прочитать сведения о доступной команде OpenSSL (shell)
openssl version -a

Выполняется на своей системе обычным пользователем при установленном OpenSSL. Выводит версию и параметры сборки команды, ничего не изменяет; откат не требуется. Это инвентаризация, а не проверка удалённого сайта: другие процессы могут использовать другую или статически встроенную библиотеку. Учитывайте исправления поставщика и не публикуйте вывод с внутренними путями.

Как не подпустить ботов к сайту

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

Первоисточники

Снизьте шанс атаки до того, как бот дойдёт до сайта

Подключите BotProtection как фильтр перед сайтом: подозрительные автоматизированные запросы отсекаются до обращения к вашему серверу. Это значительно снижает вероятность автоматизированной атаки, но не исправляет саму уязвимость, поэтому обновление и настройка компонентов остаются обязательными.