Разное

Heartbleed: наши рекомендации пользователям / Блог компании ESET NOD32 / Хабр

10.07.2021

Содержание

наши рекомендации пользователям / Блог компании ESET NOD32 / Хабр

О Heartbleed уязвимости, которая присутствует в компоненте «heartbeat» некоторых версий OpenSSL, написано уже достаточно подробно. Основная ее особенность заключается в том, что атакующий может прочитать определенный диапазон адресов памяти (длиной 64KB) в процессе на сервере, который использует эту библиотеку. Используя эту уязвимость злоумышленники путем отправки специальным образом сформированного запроса могут:
  • Украсть пароли/логины от ваших сервисов.
  • Получить доступ к конфиденциальным cookie.
  • Украсть приватный SSL/TLS ключ сервера, с которым вы работаете по HTTPS (скомпрометировать HTTPS).
  • Украсть любую секретную информацию, которую защищает HTTPS (прочитать письма, сообщения на сервере и т. д.).

Злоумышленники могут скомпрометировать HTTPS и позднее (через известную атаку типа MitM), имея у себя на руках закрытый SSL/TLS-ключ (представиться сервером).

В качестве примера успешной эксплуатации можно привести Yahoo, которая была подвержена этой уязвимости. С использованием Heartbleed можно было быстро получить доступ к логинам и паролям пользователей в открытом виде.

[уязвимость исправлена и сертификат для HTTPS был перевыпущен].

Мы советуем пользователям:

  • Обратиться в тех. поддержку интернет-сервисов компаний, где у вас есть аккаунты (в т. ч. почта, онлайн-банкинг) для прояснения ситуации по вопросу потенциальной уязвимости этих сервисов.
  • Если вы получили подтверждение присутствия уязвимости или подозреваете, что сервис был скомпрометирован, смените там свой пароль.
  • Отслеживайте ваши операции онлайн-банкинга на предмет какой-либо подозрительной активности.

Если вы используете браузер Google Chrome, активируйте настройку «Проверять, не отозван ли сертификат сервера» для обновления информации о сертификате веб-сайта в браузере. По умолчанию эта настройка отключена.

Администраторам:

  • Если вы используете версию OpenSSL 1.0.1 — 1.0.1f, обновитесь до последней версии 1.0.1g, которая содержит исправление для компонента heartbeat.
  • После того, как вы перешли на исправленную версию OpenSSL, сгенерируйте новые приватные ключи и SSL/TLS сертификат.
  • Отзовите старый сертификат.
  • Уведомите пользователей сервисов о необходимости сменить пароли, так как они могли быть скомпрометированы.

FAQ: Что такое уязвимость Heartbleed и как защитить себя от неё

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

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

Что такое Heartbleed?

Heartbleed — уязвимость в безопасности программной библиотеки OpenSSL (открытой реализации протокола шифрования SSL/TLS), которая позволяла хакерам получить доступ к содержимому оперативной памяти серверов, в которых в этот момент могли содержаться приватные данные пользователей различных веб-сервисов. По данным исследовательской компании Netcraft, этой уязвимости могли быть подвержены около 500 тысяч веб-сайтов.

Это значит, что на этих сайтах потенциально под угрозой оказались такие личные данные пользователей, как логины, пароли, данные кредитных карт и т.д.

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

Что такое OpenSSL?

Начнем с протокола SSL, что расшифровывается как Secure Sockets Layer (уровень защищенных сокетов). Он известен также под своим новым названием TLS (Transport Layer Security). Сегодня это один из самых частых методов шифрования данных в Сети, который защищает вас от возможного «подглядывания» со стороны. (https в начале ссылке обозначает, что обмен данными между вашим браузером и открытым в нём сайтом идет с использованием SSL, в противном случае вы видите в строке браузера просто http).

OpenSSL — реализация SSL с открытым исходным кодом. Уязвимости подверглись протоколы версии с 1.0.1 до 1.0.1f. OpenSSL также используется в ОС Linux, является частью двух самых популярных веб-серверов Apache и Nginx, на которых «бежит» большая часть Интернета. Короче, область применения OpenSSL просто огромна.

Кто обнаружил баг?

Эта заслуга принадлежит сотрудникам компании Codenomicon, занимающейся компьютерной безопасностью, и штатному исследователю Google Нилу Мета (Neel Mehta), которые обнаружили уязвимость, независимо друг от друга, буквально в один день.

Мета пожертвовал вознаграждение в 15 тыс. долл. за обнаружение бага на кампанию по разработке инструментов шифрования для журналистов при работе с источниками информации, которая проводится Фондом свободной прессы (Freedom of the Press Foundation). Мета продолжает отказываться от любых интервью, однако его работодатель, Google, дал следующий комментарий: «Безопасность наших пользователей является нашим высшим приоритетом. Мы постоянно ищем уязвимости и призываем всех сообщать о них как можно скорее, чтобы мы могли устранять их до того, как они станут известны злоумышленникам».

Почему Heartbleed?

Название Heartbleed было придумано Осси Герралой (Ossi Herrala), системным администратором Codenomicon. Это более благозвучно, чем техническое название CVE-2014-0160, данное уязвимости по номеру содержащей её строчки кода.

Heartbleed (буквально — «кровотечение сердца») — игра слов, содержащая отсылку к расширению OpenSSL под названием «heartbeat» (сердцебиение). Протокол держал соединение открытым, даже если между его участниками не происходил обмен данными. Геррала посчитал, что Heartbleed прекрасно описывает суть уязвимости, которая допускала утечку важных данных из памяти.

Имя кажется довольно удачным для бага, и это неспроста. Команда Codenomicon намеренно использовало благозвучное (для прессы) название, которое бы помогло как можно скорее уведомить как можно больше людей о найденной уязвимости. Дав багу это имя, Codenomicon вскоре купили домен Heartbleed.com, на котором запустили сайт, в доступной форме рассказывающий о Heartbleed.

Почему некоторые сайты не пострадали от Heartbleed?

Несмотря на популярность OpenSSL, есть и другие реализации SSL/TLS. Кроме того, некоторые сайты используют более раннюю версию OpenSSL, в которой этот баг отсутствует. А некоторые не включали функцию heartbeat, которая и служит источником уязвимости.

Частично уменьшить потенциальный ущерб помогает использование PFS (perfect forward secrecy — совершенная прямая секретность), свойство протокола SSL, которое гарантирует, что в случае, если злоумышленник извлечет из памяти сервера один ключ безопасности, он не сможет декодировать весь трафик и получить доступ к остальным ключам. Многие (но далеко не все) компании уже используют PFS — например, Google и Facebook.

Как работает Heartbleed?

Уязвимость позволяет взломщику получить доступ к 64 килобайтам оперативной памяти сервера и осуществлять атаку вновь и вновь вплоть до полной потери данных. Это означает, что утечке подвержены не только логины и пароли, но и данные файлов cookie, которые веб-серверы и сайты используют для отслеживания действий пользователя и упрощения авторизации. Организация Electronic Frontier Foundation заявляет, что периодические атаки могут дать доступ и к более серьезной информации, такой как приватные ключи шифрования сайта, используемые для шифрования трафика. Используя этот ключ, злоумышленник может подменить исходный сайт и красть самые разные виды персональных данных, такие как номера кредитных карт или частная переписка.

Самое понятное объяснение Heartbleed в комиксе xkcd

Должен ли я сменить пароль?

Для множества сайтов ответ «да». НО — лучше дождаться сообщения от администрации сайта, что данная уязвимость уже устранена. Естественно, ваша первая реакция — сменить все пароли немедленно, но если уязвимость на каком-то из сайтов не убрана, менять пароля бессмысленно — сейчас, когда уязвимость широко известна, этим вы лишь увеличиваете шансы злоумышленника узнать ваш новый пароль.

Как узнать, какой из сайтов содержит уязвимости и исправлена ли она?

Существует несколько ресурсов, которые проверяют Интернет на предмет уязвимости и сообщают о ее наличии/отсутствии. Мы рекомендуем ресурс компании LastPass, разработчика ПО по управлению паролями. Хотя он даёт достаточно ясный ответ на вопрос, уязвим ли тот или иной сайт, относитесь к результатам проверки с осторожностью. Если уязвимость на сайте точно обнаружена — старайтесь не посещать его.

Список самых популярных сайтов, подверженных уязвимости, можно так же изучить по ссылке.

Самое важное перед сменой пароля — получить официальное подтверждение от администрации сайта, на котором была обнаружена Heartbleed, что она уже устранена.

Множество компаний уже опубликовали соответствующие записи в своих блогах. Если таковых нет — не стесняйтесь обратиться с этим вопросом в техподдержку.

Кто несет ответственность за появление уязвимости?

Согласно сообщению газеты Guardian, имя написавшего «глючный» код программиста — Робин Зеггельман (Robin Seggelmann). Он работал над проектом OpenSSL в процессе получения докторской степени с 2008 по 2012 год. Драматичности ситуации добавляет тот факт, что данный код был отправлен в репозиторий 31 декабря 2011 в 23:59, хотя сам Зеггельман утверждает, что это не имеет значения: «Я несу ответственность за ошибку, поскольку я написал код и не сделал всех необходимых проверок».

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

Правда ли, что

проклятый Госдеп
правительство США использовало Heartbleed для слежки два года до публичной огласки?

Пока не ясно. Известное новостное агентство Bloomberg сообщает, что это так, но само АНБ всё отрицает. Независимо от этого, факт остается фактом — Heartbleed все еще представляет угрозу.

Стоит ли мне беспокоиться за мои банковские счета?

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

Как узнать, воспользовались ли уже злоумышленники Heartbleed для кражи моих персональных данных?

К сожалению, никак — использование этой уязвимости не оставляет в логах серверов никаких следов деятельности злоумышленника.

Стоит ли использовать программу для хранения паролей, и какую?

С одной стороны, Heartbleed в очередной раз поднимает вопрос о ценности надежного пароля. Как следствие массовой смены паролей, вы можете задаться вопросом, как можно еще усилить вашу безопасность. Безусловно, менеджеры паролей являются проверенными помощниками в этом деле — они позволяют автоматически генерировать и хранить стойкие пароли для каждого сайта в отдельности, а вам остается запомнить лишь один мастер-пароль. Онлайн-менеджер паролей LastPass, например, настаивает на том, что он не подвергся уязвимости Heartbleed, и его пользователям можно не менять свой мастер-пароль. Помимо LastPass, рекомендуем обратить внимание на такие проверенные решения, как RoboForm, Dashlane и 1Password.

Кроме того, мы рекомендуем использовать двухэтапную авторизацию везде, где возможно (Gmail, Dropbox и Evernote уже поддерживают ее) — тогда при авторизации, помимо пароля, сервис будет запрашивать одноразовый код, который выдается вам в специальном мобильном приложении или отправляется через SMS. В этом случае, даже если ваш пароль украден, злоумышленник просто не сможет воспользоваться им для авторизации.

Уязвимость Heartbleed bug | docs.digicert.com

Связанная ошибка

«Данный сервер уязвим для атаки Heartbleed. Обновите до последней версии OpenSSL, замените сертификат на своем веб-сервере или устройстве и сбросьте пароли конечных пользователей, которые могли быть видны в скомпрометированной памяти сервера.»

Ошибка Heartbleed находится в расширении пульсаций криптографической библиотеки OpenSSL. Криптографические библиотеки в версиях OpenSSL 1.0.1 – 1.1.1f и 1.0.2-beta1 уязвимы для атаки Heartbleed Bug. Уязвимость Heartbleed Bug — это уязвимость криптографической библиотеки OpenSSL, которая позволяет злоумышленнику получить доступ к конфиденциальной информации, которая обычно защищена протоколами SSL и TLS.

OpenSSL — это набор инструментов с открытым исходным кодом, который реализует протоколы Secure Sockets Layer (SSL) и Transport Layer Security (TLS), включая криптографическую библиотеку, которая использует криптографические функции и предоставляет различные служебные функции. Эта криптографическая библиотека обычно реализуется серверами в Интернете для защиты большей части интернет-трафика.

Злоумышленник может использовать атаку Heartbleed Bug, чтобы получить доступ к:

  • Ключам шифрования
    Злоумышленник может использовать эти ключи для расшифровки прошлых и будущих защищенных соединений с вашим сайтом и для совершения действий под видом законного пользователя вашего сайта в любое время.
  • Учетным данным пользователей
    Злоумышленник может использовать имена пользователей и пароли ваших клиентов для доступа к их информации, защищенной вашим веб-сайтом.
  • Защищенному контенту
    Злоумышленник может получить доступ к персональным или финансовым данным, личным сообщениям (электронной почте или мгновенным сообщениям) и документам.
  • Вспомогательным материалам
    Злоумышленник может получить доступ к утекшим данным содержимого памяти, например адресу ячейки памяти и мерам безопасности.

Способ устранения

Установите исправление для ПО

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

Обновитесь до последней версии OpenSSL (версия 1.0.1g или более поздняя).

  • Серверы
    Проверьте свой диспетчер пакетов на наличие обновленного пакета OpenSSL и установите его. Если у вас нет обновленного пакета OpenSSL, получите последнюю версию OpenSSL у своего поставщика услуг.
  • ПО
    Проверьте наличие исправлений для ПО, выпущенных для устранения уязвимости Heartbleed Bug, и установите их. Если у вас нет исправлений программного обеспечения, обратитесь к поставщику программного обеспечения, чтобы получить последнее исправление и установить его.
    Примечание: Может потребоваться перезапустить программное обеспечение после его исправления, чтобы убедиться, что библиотека OpenSSL сброшена и ошибка Heartbleed удалена из кэшированной памяти.

Может потребоваться перезапустить программное обеспечение после его исправления, чтобы убедиться, что библиотека OpenSSL сброшена и ошибка Heartbleed удалена из кэшированной памяти.

Если вы не можете выполнить обновление до последней версии OpenSSL:

  • Вернитесь к версии OpenSSL 1.0.0 или более ранней.
  • Перекомпилируйте OpenSSL с флагом OPENSSL_NO_HEARTBEATS.

Убедитесь, что уязвимости Heartbleed Bug исправлены

Используйте DigiCert Discovery для повторного сканирования вашей среды, чтобы убедиться в отсутствии уязвимости для атаки Heartbleed Bug.

Повторно создайте ключи, повторно выпустите и установите сертификаты
  • Повторно создайте ключи и повторно выпустите все сертификаты на своих серверах, которые подверглись воздействию.
    При повторном выпуске сертификатов обязательно сгенерируйте новые запросы на подписание сертификатов (CSR). См. Создать запрос на подпись сертификата.
  • Только после установки исправлений на серверах и в программном обеспечении установите повторно выпущенные сертификаты.

Отзыв заменяемых сертификатов

После установки повторно выпущенных сертификатов необходимо отозвать сертификаты, которые были заменены. Чтобы отозвать сертификаты, свяжитесь со своим центром сертификации.

Клиентам DigiCert необходимо обратиться по адресу эл. почты [email protected] Не забудьте указать номер своего заказа на сертификат и краткое описание того, что вы хотите отозвать.

Сброс паролей

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

Если клиенты сбросят свои пароли до того, как будут установлены исправления на серверы и в программное обеспечение и для сертификатов будут повторно созданы ключи, они будут повторно выпущены, установлены и отозваны, то их пароли все еще останутся уязвимыми, и им придется вновь поменять свои пароли.

Почти 200 000 сайтов по-прежнему уязвимы перед проблемой Heartbleed — «Хакер»

Наши читатели наверняка хорошо помнят уязвимость Heartbleed (CVE-2014-0160), выявленную в популярной криптографической библиотеке OpenSSL еще в 2014 году. Напомню, что проблема связана с отсутствием необходимой проверки границ в одной из процедур расширения Heartbeat (RFC6520) для протокола TLS/DTLS. Из-за этой маленькой ошибки кто угодно может получить доступ к оперативной памяти машин, чьи коммуникации «защищены» уязвимой версией OpenSSL. В том числе, злоумышленник получает доступ к секретным ключам, именам и паролям пользователей и всему контенту, который должен передаваться в зашифрованном виде. При этом не остается никаких следов проникновения в систему.

23 января 2017 года глава и основатель Shodan Джон Мазерли (John Matherly) представил свежий отчет о проблеме Heartbleed. Оказалось, что спустя почти три года уязвимость все еще представляет опасность для 199 594 сайтов, чьи администраторы, видимо, очень не любят устанавливать обновления. Подробную статистику по странам можно увидеть ниже.

Мазерли пишет, что около 75 000 уязвимых систем также используют истекшие SSL-сертификаты и работают на Linux 3.x.

Нежелание пользователей и администраторов обновлять ПО, остается одной из главных проблем, наряду с неугасающей любовью к паролю «123456». Совсем не удивительно, что в прошлом году специалисты Microsoft назвали самой опасной угрозой Stuxnet, хотя патч для этой проблемы был выпущен шесть лет тому назад. Еще одно доказательство беспечности пользователей – отчет специалистов Sophos, тоже представленный в прошлом году. Исследователи выявили, что эксплоиты для Office 2003, 2007 и 2010 по-прежнему занимают лидирующие позиции во всех топовых эксплоит-китах. Тогда авторы отчета писали, что сложившаяся ситуация напоминает им современный вариант дарвиновского труда «Происхождение видов».

Поделись новостью с друзьями:

Как обезопасить себя от последствий ошибки в OpenSSL Heartbeat

Обновление: Статья дополнена списком сервисов, на которых можно идти и менять пароли прямо сейчас.

Если какая-то компьютерная ошибка удостаивается времени в утренних теленовостях, можно не сомневаться, что дело серьезное. Сейчас у нас на руках именно такой случай — критическая уязвимость под названием Heartbleed (буквально «Сердце кровью обливается») была обнаружена в OpenSSL, наверное, самой распространенной в Интернете библиотеке шифрования данных. Звучит немного загадочно, но я проясню ситуацию буквально в пару абзацев.

Когда вы устанавливаете защищенное соединение с веб-сайтом, будь то Google, Facebook или ваш онлайн-банк, данные шифруются при помощи протокола SSL/TLS. Чтобы это делать, многие популярные веб-сайты применяют бесплатную библиотеку OpenSSL. На этой неделе разработчики OpenSSL устранили серьезную ошибку, которая вкралась в функцию TLS под названием Heartbeat («Сердцебиение»). Суть ошибки в том, что атакующий может прочитать до 64 Кб оперативной памяти сервера.

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

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

План действий для обычного пользователя:

Обновление: на сайте Mashable собран список официальных заявлений от разных веб-сервисов по поводу Heartbleed. Чтобы не усложнять себе жизнь чтением списков и проверкой сертификатов (об этом ниже), можете просто пойти и сменить пароли на всех этих сервисах: Facebook, Instagram, Pinterest, Tumblr, Yahoo, AWS, Box, Dropbox, Github, IFFT, Minecraft, OKCupid, SoundCloud, Wunderlist. Пароли должны быть везде разные!

  • Проверьте, были ли уязвимы ваши любимые сайты. Есть онлайн-инструменты, чтобы проверить наличие уязвимости Heartbleed, но очень важно знать, была ли уязвимость в прошлом. К счастью, в Сети есть длинный список популярных сайтов, которые были проверены на уязвимость. Хорошие новости: PayPal и Google не подвержены багу. Плохие новости: Yahoo!, Facebook, Flickr, Duckduckgo, LastPass, Redtube, Avito.ru, Hidemyass, 500px и многие другие были уязвимы. Если вам ценен аккаунт на одном из популярных сайтов, готовьтесь действовать.
  • Проверьте, уязвим ли сайт сейчас. Для этого есть удобный инструмент.

  • Когда владельцы сайта исправят ошибку, им крайне желательно перевыпустить свои сертификаты безопасности. Поэтому проверьте сертификат сервера и убедитесь, что пользуетесь новым сертификатом (выпущенным 8 апреля или позднее). Чтобы сделать это, включите проверку отозванных сертификатов в вашем браузере. Вот пример настроек Google Chrome:

    Это предотвратит пользование старыми (возможно, крадеными) сертификатами. Чтобы проверить дату выпуска сертификата вручную, нажмите на зеленый замочек в адресной строке и ссылку «Информация сертификата» на закладке «Соединение»:

  • Самое важное — когда ошибка на сервере устранена, а сертификат перевыпущен, немедленно смените свой пароль учетной записи. При этом для каждого сервиса придется придумать свой собственный, уникальный пароль. Это, кстати, может быть хорошим поводом задуматься о надежности своих паролей и начать применять простые в запоминании, но стойкие пароли. Также вы можете проверить надежность своего нового пароля при помощи нашего онлайн-сервиса Password Checker.

 

О Heartbleed человеческим языком: пять самых важных вопросов

Уязвимость в пакете OpenSSL, вскрывшаяся ровно неделю назад, породила настоящий вал публикаций не только в айтишной, но и в популярной прессе. К несчастью, ошибка оказалась нетривиальной, так что в попытке упростить, донести смысл случившегося до обывателя СМИ нагородили опасной ерунды — бумерангом вернувшейся в околокомпьютерную среду. Поскольку проблема так ещё и не устранена, стоит внести ясность. Давайте зададим самые важные вопросы и попробуем дать на них простые правдивые ответы.

И первым вопросом, конечно, будет такой: насколько в действительности опасен баг под названием Heartbleed? Брюс Шнайер, признанный эксперт по криптографии и обычно весьма осторожный в оценках человек, написал буквально следующее: по шкале от 1 до 10 это 11 баллов. Катастрофическая ошибка.

Вопрос второй: в чём она заключается, что именно составляет проблему? Библиотека OpenSSL содержит набор функций, реализующих криптографические протоколы SSL и (что фактически то же самое) TLS. Они помогают скрыть содержимое передаваемых через интернет-соединение данных от посторонних глаз. К примеру, всякий раз, когда в адресной строке браузера светится «HTTPS», это означает, что ваше соединение с веб-сервером защищено с помощью SSL/TLS.

Важно понимать, что OpenSSL — не единственная библиотека, реализующая функции SSL/TLS, но самая популярная. Ведь она развивается под свободной лицензией, так что большинство веб-серверов использует именно её. Важно также, что не все версии OpenSSL содержат ошибку Heartbleed: лишь около полумиллиона серверов эксплуатируют библиотеку уязвимых версий 1.0.1 и 1.0.2beta, тогда как более ранние и более поздние её варианты ошибки не содержат.

Суть проблемы в том, что сервер не проверяет корректность некоторых запросов, поступающих от клиентов. Установив соединение, клиент (не человек, конечно, а программное обеспечение) периодически обращается к серверу с просьбой подтвердить, что соединение ещё не разорвано (эта функция называется heartbeat — «биение сердца»). В ответ сервер должен вернуть некоторый небольшой объём данных, причём количество их определяет сам клиент.

Так вот, если клиент запросит больше данных, чем отправил, дефективная OpenSSL его запрос всё равно удовлетворит — и пришлёт ему кусок из оперативной памяти длиной вплоть до 64 килобайт (отсюда название ошибки: heartbleed — «кровоточащее сердце»). В куске этом, понятное дело, могут находиться сведения, к данному клиенту отношения не имеющие, — например, пароли и логины пользователей, недавно подключившихся к серверу, а также секретный криптоключ, который сервер использует для шифрования соединений.

Отсюда — вопрос и ответ номер три: чем опасна Heartbleed? Владея вышеозначенной информацией, злоумышленник в силах организовать, в частности, прослушку чужих сеансов связи с данным сервером и заглянуть в чужие аккаунты. Поскольку многие сетяне используют один и тот же пароль на нескольких сайтах, а мультифакторная авторизация по-прежнему непопулярна (то есть в подавляющем большинстве случаев для прохода в закрытую зону достаточно знания логина и пароля), можно попробовать применить украденные о пользователе сведения на других веб-ресурсах.

Впрочем, проблема шире: та же ошибка найдена и в роутерах, и в файерволах, и в IP-телефонах. А полных масштабов катастрофы не знает вообще никто — ведь OpenSSL работает не только на серверах, но и на клиентских устройствах, а также может быть интегрирована в приложения. Так, например, Google подтвердила, что ОС Android версии 4.1.1 («миллионы устройств») подвержена ошибке. Как злоумышленники смогут её использовать — не совсем ясно, но очевидно, что атака должна быть направлена на смартфон, планшетку или конкретные приложения в них.

…Что выводит нас на четвёртый вопрос: использовали ли уже дыру против рядовых сетян? И вот тут впервые появляется неопределённость. Вплоть до минувших выходных доминировали оптимисты: считалось, что практическая опасность Heartbleed чрезмерно раздута, воспользоваться ею «в полевых условиях» крайне сложно, если возможно вообще. Однако после того, как компания Cloudflare (та самая) объявила открытый конкурс на взлом своего сервера и его один за другим, применяя только Heartbleed, хакнули четыре раза (первым, кстати, был наш соотечественник Фёдор Индутный), возобладала пессимистическая версия. К выходным же подоспели и данные о том, что зафиксированы первые реальные атаки против веб-сервисов, подверженных ошибке (списки интернет-узлов, владельцы которых поленились озадачиться обновлением OpenSSL, уже гуляют по Сети). Теперь эксперты ждут появления автоматических инструментов для эксплуатации Heartbleed, после чего, как полагают, счёт жертвам пойдёт на миллионы.

Таким образом, вопрос, знали ли о Heartbleed заранее спецслужбы (то же АНБ, к примеру), кажется несущественным. Даже если и знали, то по крайней мере не воровали деньги с чужих счетов, не крали интимные фотографии, не отбирали аккаунты. Больше интересно, остались ли какие-то следы прошлых взломов. Если кто-то действительно знал о Heartbleed до 7 апреля 2014 года, знал и пытался это использовать, то в логах атакованных серверов могли остаться зацепки. Но на этот счёт мнения расходятся. Шнайер, например, считает, что следов такие атаки не оставляют. Многие другие специалисты уверены, что следы остаются, и даже нашли минимум один в логах осени прошлого года.

Поэтому — вопрос пятый: что делать? Самый популярный совет — менять пароли немедленно — одновременно и самый вредный. Ведь если администратор сервера ошибку не исправил, смена пароля не поможет! Его могут украсть так же легко — и даже хуже того: его украдут с большей вероятностью, потому что он засветится в оперативной памяти сервера, когда вы будете его менять. Так вот: если Google, Microsoft, Yahoo!, Deutsche Bank, PayPal и некоторые другие (примерно каждый десятый) озаботились обновлением версии OpenSSL и отзывом старых (возможно скомпрометированных) сертификатов (упоминавшиеся выше тайные криптоключи, несколько упрощая, это часть сертификата сайта — его «удостоверения личности»: браузер проверяет такое удостоверение при подключении и подсвечивает адрес зелёным, если проверка прошла успешно), то сотни тысяч других веб-ресурсов ничего не исправляли. Так что сетяне сейчас стали заложниками своих любимых сайтов.

Что касается мобильных устройств и приложений, с ними проще. Их по крайней мере можно проверить самому с помощью как минимум одной программы-сканера: Heartbleed Scanner от Bluebox. И обновить операционную систему, обновить или удалить уязвимые приложения.

Менять ли пароли к веб-сайтам? Да, но только после того, как вы увидите явное оповещение от администратора конкретного веб-ресурса: мы устранили проблему или ей не подвержены, меняйте! Правильным же поведением в случае, если администрация молчит, будет воздержаться от посещения данного конкретного сайта. Ваш пароль не засветится в памяти сервера — а значит, вы снизите риск того, что его украдут.

И прежде, чем поставить точку, давайте разберём ещё пару косвенных вопросов. Опровергает ли случившееся известное утверждение, что пользователи свободного программного обеспечения более защищены от ошибок, чем пользователи проприетарного софта? Отнюдь. Действительно, внести коррективы в свободный код может практически каждый желающий — и именно так в OpenSSL и появилась ошибка Heartbleed: в предновогодние денёчки конца 2011-го некто немец Роберт Зегельман добавил в OpenSSL новые фишки, но не заметил, что одну из переменных оставил непроверенной… Проверяющие ошибку тоже пропустили — и так она попала в релиз, состоявшийся весной 2012-го. Лишь два года спустя кто-то обнаружил её, изучая исходники OpenSSL.

Плохо? Да. Однако представьте, сколько времени та же ошибка оставалась бы неизвестной широкой публике, если бы OpenSSL была проприетарной, то есть имела исходные тексты, доступные только разработчику! И сколько пришлось бы ждать заплатку!

А вот с вопросом, не была ли Heartbleed внедрена умышленно, ещё предстоит разобраться. Кто такой Роберт Зегельман? 31-летний немецкий учёный, одна из работ которого — ирония судьбы! — посвящена защите интернет-коммуникаций. Кто помогал ему писать тот код, кто его проверял, не было ли там подозрительных обстоятельств? Эта часть истории пока остаётся ненаписанной.

Уязвимость Heartbleed

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.

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

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

Ошибка Heartbleed


Вопросы и ответы

Что такое CVE-2014-0160?

CVE-2014-0160 — официальная ссылка на эту ошибку. CVE (Common Vulnerabilities and Exposures) — это стандарт имен уязвимостей информационной безопасности, поддерживаемый MITER. Из-за обнаружения сопутствующих инцидентов дублированный CVE, CVE-2014-0346, который был назначен нам, не должен использоваться, поскольку другие независимо стали общедоступными с идентификатором CVE-2014-0160.

Почему это называется Heartbleed Bug?

Ошибка в реализации OpenSSL расширения пульса TLS / DTLS (протоколы безопасности транспортного уровня) (RFC6520).Когда он используется, это приводит к утечке содержимого памяти от сервера к клиенту и от клиента к серверу.

В чем уникальность Heartbleed Bug?

Ошибки в отдельном программном обеспечении или библиотеке приходят и уходят и исправляются в новых версиях. Однако из-за этой ошибки большое количество закрытых ключей и других секретов осталось в Интернете. Учитывая длительное воздействие, простоту эксплуатации и бесследные атаки, к этому воздействию следует относиться серьезно.

Это недостаток конструкции в спецификации протокола SSL / TLS?

Нет. Это проблема реализации, т.е. ошибка программирования в популярной библиотеке OpenSSL, которая предоставляет приложениям и службам криптографические службы, такие как SSL / TLS.

Что происходит утечка?
Шифрование

используется для защиты секретов, которые могут нанести вред вашей конфиденциальности или безопасности в случае их утечки. Чтобы координировать восстановление после этой ошибки, мы классифицировали скомпрометированные секреты по четырем категориям: 1) материал первичного ключа, 2) материал вторичного ключа и 3) защищенный контент и 4) залог.

Что такое утекший материал первичного ключа и как его восстановить?

Это драгоценности короны, сами ключи шифрования. Утечка секретных ключей позволяет злоумышленнику расшифровать любой прошлый и будущий трафик к защищенным службам и выдать себя за службу по своему желанию. Любую защиту, обеспечиваемую шифрованием и подписями в сертификатах X.509, можно обойти. Восстановление после этой утечки требует исправления уязвимости, отзыва скомпрометированных ключей, а также повторной выдачи и распространения новых ключей.Даже при этом любой трафик, перехваченный злоумышленником в прошлом, все еще остается уязвимым для дешифрования. Все это должны делать владельцы сервисов.

Что такое утекший материал вторичного ключа и как его восстановить?

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

Что такое защищенный от утечки контент и как его восстановить?

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

Что такое утечка залога и как взыскать?

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

Восстановление звучит утомительно, есть ли короткий путь?

Увидев то, что мы увидели, с легкостью «напав на себя», мы решили отнестись к этому очень серьезно. Мы кропотливо исправили наши собственные критически важные службы и работаем с возможной компрометацией наших материалов первичного и вторичного ключей.Все это на случай, если мы не были первыми, кто это обнаружил, и это уже могло быть использовано в дикой природе.

Как на практике работает отзыв и переоформление сертификатов?

Если вы являетесь поставщиком услуг, вы подписали свои сертификаты в Центре сертификации (CA). Вам необходимо проверить свой ЦС, как можно отозвать скомпрометированные ключи и повторно выпустить новый сертификат для новых ключей. Некоторые центры сертификации делают это бесплатно, некоторые могут взимать плату.

Есть ли у меня ошибка?

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

Насколько это распространено?

Наиболее заметным программным обеспечением, использующим OpenSSL, являются веб-серверы с открытым исходным кодом, такие как Apache и nginx. Согласно опросу веб-серверов Netcraft, проведенному в апреле 2014 года, совокупная рыночная доля только этих двух из активных сайтов в Интернете составила более 66%. Кроме того, OpenSSL используется для защиты, например, серверов электронной почты (протоколы SMTP, POP и IMAP), серверов чата (протокол XMPP), виртуальных частных сетей (SSL VPN), сетевых устройств и широкого спектра клиентского программного обеспечения.К счастью, многие крупные потребительские сайты спасены консервативным выбором оборудования и программного обеспечения для завершения SSL / TLS. По иронии судьбы более мелкие и более прогрессивные службы или те, кто обновился до новейшего и лучшего шифрования, пострадают больше всего. Кроме того, OpenSSL очень популярен в клиентском программном обеспечении и несколько популярен в сетевых устройствах, которые имеют наибольшую инерцию при получении обновлений.

Какие версии OpenSSL затронуты?

Состояние разных версий:

  • OpenSSL 1.От 0.1 до 1.0.1f (включительно) уязвимы
  • OpenSSL 1.0.1g НЕ уязвим
  • Ветка OpenSSL 1.0.0 НЕ уязвима
  • Ветка OpenSSL 0.9.8 НЕ уязвима

Ошибка была введена в OpenSSL в декабре 2011 года и отсутствовала с момента выпуска OpenSSL 1.0.1 от 14 марта 2012 года. OpenSSL 1.0.1g, выпущенный 7 апреля 2014 года, исправляет ошибку.

Насколько распространены уязвимые версии OpenSSL?

Уязвимые версии существуют уже более двух лет и быстро внедряются в современные операционные системы.Основным фактором, способствовавшим этому, было то, что версии TLS 1.1 и 1.2 были доступны с первой уязвимой версией OpenSSL (1.0.1), а сообщество безопасности продвигало TLS 1.2 из-за более ранних атак на TLS (таких как BEAST).

А как насчет операционных систем?

Некоторые дистрибутивы операционных систем, которые поставлялись с потенциально уязвимой версией OpenSSL:

  • Debian Wheezy (стабильный), 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 10 мая 2012 г.) и 5.4 (OpenSSL 1.0.1c 10 мая 2012 г.)
  • FreeBSD 10.0 — OpenSSL 1.0.1e 11 февраля 2013 г.
  • NetBSD 5.0.2 (OpenSSL 1.0.1e)
  • OpenSUSE 12.2 (OpenSSL 1.0.1c)

Дистрибутив операционной системы с незащищенными версиями:

  • Debian Squeeze (старый стабильный), OpenSSL 0.9.8o-4squeeze14
  • SUSE Linux корпоративный сервер
  • FreeBSD 8.4 — OpenSSL 0.9.8y 5 февраля 2013 г.
  • FreeBSD 9.2 — OpenSSL 0.9.8y 5 февраля 2013 г.
  • FreeBSD 10.0p1 — OpenSSL 1.0.1g (на 8 апреля 18:27:46 2014 UTC)
  • Порты FreeBSD — OpenSSL 1.0.1g (7 апреля, 21:46:40 2014 UTC)
Как исправить OpenSSL?

Несмотря на то, что фактическое исправление кода может показаться тривиальным, команда OpenSSL является экспертом в его правильном исправлении, поэтому исправлена ​​версия 1.Следует использовать 0,1 г или новее. Если это невозможно, разработчики программного обеспечения могут перекомпилировать OpenSSL с удалением подтверждения из кода с помощью параметра времени компиляции -DOPENSSL_NO_HEARTBEATS .

Следует ли удалить сердцебиение, чтобы помочь в обнаружении уязвимых служб?

Восстановление после этой ошибки могло бы принести пользу, если бы в новой версии OpenSSL была исправлена ​​ошибка и временно отключено контрольное сообщение до какой-либо будущей версии. Большинство, если не почти все, реализации TLS, которые ответили на запрос пульса во время обнаружения, были уязвимыми версиями OpenSSL.Если бы только уязвимые версии OpenSSL продолжали реагировать на тактовые импульсы в течение следующих нескольких месяцев, тогда крупномасштабный скоординированный ответ для охвата владельцев уязвимых сервисов стал бы более возможным. Тем не менее, быстрое реагирование интернет-сообщества на разработку онлайн-инструментов и автономных средств обнаружения быстро превзошло потребность в полном удалении сердцебиения.

Могу ли я определить, использовал ли кто-то это против меня?

Использование этой ошибки не оставляет никаких следов каких-либо аномальных событий в журналах.

Может ли IDS / IPS обнаружить или заблокировать эту атаку?

Хотя пульс может появляться на разных этапах установки соединения, были разработаны правила систем обнаружения и предотвращения вторжений (IDS / IPS) для обнаружения пульса. Из-за шифрования различие между законным использованием и атакой не может быть основано на содержании запроса, но атака может быть обнаружена путем сравнения размера запроса с размером ответа. Это означает, что IDS / IPS можно запрограммировать так, чтобы обнаруживать атаку, но не блокировать ее, если только запросы пульса не заблокированы полностью.

Злоупотребляли ли этим в дикой природе?

Мы не знаем. Сообщество безопасности должно развернуть ловушки TLS / DTLS, которые улавливают злоумышленников и предупреждают о попытках эксплуатации.

Может ли злоумышленник получить доступ только к 64 КБ памяти?

Нет общего ограничения в 64 килобайта для атаки, это ограничение применяется только к одному такту. Злоумышленник может либо продолжить переподключение, либо во время активного TLS-соединения продолжать запрашивать произвольное количество фрагментов памяти размером 64 килобайта, пока не будет раскрыто достаточно секретов.

Является ли это ошибкой MITM, подобной ошибке Apple goto fail?

Нет, для этого не нужен человек в средней атаке (MITM). Злоумышленник может напрямую связаться с уязвимой службой или атаковать любого пользователя, подключающегося к вредоносной службе. Однако, помимо прямой угрозы, кража ключевого материала позволяет злоумышленникам посередине выдавать себя за скомпрометированные службы.

Смягчает ли это аутентификация сертификата клиента TLS?

Нет, запрос подтверждения может быть отправлен, и на него будет дан ответ во время фазы квитирования протокола.Это происходит до аутентификации сертификата клиента.

Смягчает ли это режим OpenSSL FIPS?

Нет, режим OpenSSL Federal Information Processing Standard (FIPS) не влияет на уязвимую функцию тактового сигнала.

Снижает ли это значение Perfect Forward Secrecy (PFS)?

Использование Perfect Forward Secrecy (PFS), которое, к сожалению, редко, но эффективно, должно защищать прошлые сообщения от ретроспективного дешифрования.См. Https://twitter.com/ivanristic/status/453280081897467905, как утечка билетов может повлиять на это.

Можно ли отключить расширение пульса во время квитирования TLS?

Нет, уязвимый код расширения пульса активируется независимо от результатов согласования фазы квитирования. Единственный способ защитить себя — это перейти на фиксированную версию OpenSSL или перекомпилировать OpenSSL с удалением рукопожатия из кода.

Кто нашел ошибку Heartbleed?

Эта ошибка была независимо обнаружена группой инженеров по безопасности (Рику, Антти и Матти) из Codenomicon и Нилом Мехтой из Google Security, которые первыми сообщили о ней команде OpenSSL.Команда Codenomicon обнаружила серьезную ошибку при улучшении функции SafeGuard в инструментах тестирования безопасности Codenomicon Defensics и сообщила об этой ошибке в NCSC-FI для координации уязвимостей и отчетности для команды OpenSSL.

Что такое Defensics SafeGuard?

Функция SafeGuard средств тестирования безопасности Codenomicon Defensics автоматически проверяет целевую систему на наличие слабых мест, которые ставят под угрозу целостность, конфиденциальность или безопасность. SafeGuard — это систематическое решение для выявления неудачных проверок криптографических сертификатов, утечек конфиденциальности или уязвимостей обхода аутентификации, из-за которых пользователи Интернета подвергались атакам посредников и перехвату.В дополнение к ошибке Heartbleed новая функция Defensics TLS Safeguard может обнаруживать, например, уязвимую уязвимость безопасности в широко используемом программном обеспечении с открытым исходным кодом GnuTLS, реализующем функциональность SSL / TLS, и отказ от перехода; ошибка в реализации Apple TLS / SSL, исправленная в феврале 2014 года.

Кто координирует действия по устранению этой уязвимости?

Сразу после обнаружения ошибки 3 апреля 2014 года NCSC-FI приступил к ее проверке, дальнейшему анализу и обращению к авторам OpenSSL, поставщикам программного обеспечения, операционной системы и устройств, которые потенциально были затронуты.Тем не менее, эта уязвимость была обнаружена и подробности опубликованы независимо от других до завершения этой работы. Продавцы должны уведомлять своих пользователей и поставщиков услуг. Интернет-провайдеры должны уведомлять своих конечных пользователей о том, где и когда требуются потенциальные действия.

Есть ли во всем этом светлая сторона?

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

Что можно сделать, чтобы этого не случилось в будущем?

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

Где найти дополнительную информацию?

Эти вопросы и ответы были опубликованы как продолжение рекомендаций OpenSSL, поскольку эта уязвимость стала общедоступной 7 апреля 2014 года. Проект OpenSSL сделал заявление на https://www.openssl.org/news/secadv_20140407.txt. Отдельные поставщики дистрибутивов операционных систем, затронутые владельцы Интернет-служб, пакетов программного обеспечения и поставщики устройств могут выпускать свои собственные рекомендации.

Список литературы


Логотип Heartbleed можно использовать бесплатно, права отменены через CC0. [загрузить логотип в формате SVG]

Страница обновлена ​​2020-06-03 16:39 UTC.

The Heartbleed Bug, объяснение — Vox

В 2014 году исследователи безопасности обнаружили серьезную ошибку в SSL, технологии шифрования, обеспечивающей безопасность Интернета.

Что за ошибка Heartbleed?

Ошибка Heartbleed была серьезным недостатком в OpenSSL, программном обеспечении для шифрования, которое обеспечивает множество защищенных коммуникаций в сети.Об этом заявили исследователи компьютерной безопасности 7 апреля 2014 года.

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

Эд Фелтен, ученый-компьютерщик из Принстона (и, разглашение, мой бывший научный руководитель) сказал мне в 2014 году, что злоумышленники, использующие эту технику, могут «отсортировать эту информацию, выполняя сопоставление с образцом, чтобы попытаться найти секретные ключи, пароли и личную информацию. например номера кредитных карт «.

Мне не нужно объяснять, почему раскрытие паролей и номеров кредитных карт может быть вредным. Но раскрытие секретных ключей может быть еще хуже. Это информационные серверы, которые используют для расшифровки зашифрованной информации, которую они получают.Если злоумышленник получает закрытые ключи сервера, он может прочитать любую отправленную ему информацию. Он может даже использовать секретный ключ для олицетворения сервера, заставляя пользователей сообщать свой пароль и другую конфиденциальную информацию.

Поскольку атака Heartbleed в основном была сосредоточена на серверах, пользователи ничего не могли сделать, чтобы защитить себя при использовании уязвимого веб-сайта. Но как только безопасный веб-сайт устранил проблему, пользователям пришлось обновить свое программное обеспечение, чтобы гарантировать, что ранее захваченные пароли не использовались в злонамеренных целях.

Какие веб-сайты были затронуты?

Затронутые компании: Tumblr, Google, Yahoo, Intuit (создатели TurboTax), Dropbox, Netflix и Facebook. С тех пор все эти компании устранили проблему. Amazon.com не пострадал, но Amazon Web Services, который используется огромным количеством небольших веб-сайтов, пострадал. Apple, Microsoft, PayPal, LinkedIn, eBay, Twitter и AOL заявили, что не пострадали.

Большинство банковских и инвестиционных сайтов, включая Bank of America, Chase, E-Trade, Fidelity, PNC, Schwab, US Bank и Wells Fargo, не пострадали.Это может быть связано с тем, что эти компании использовали программное обеспечение для шифрования, отличное от OpenSSL, или потому, что они не обновились до последней версии. По иронии судьбы компании, которые в апреле 2014 года использовали версию OpenSSL старше двух лет, не были затронуты ошибкой Heartbleed.

Что такое SSL?

SSL, сокращенно от Secure Sockets Layer, представляет собой семейство технологий шифрования, которые позволяют пользователям сети защищать конфиденциальность информации, которую они передают через Интернет.

Когда вы посещаете защищенный веб-сайт, например Gmail.com, вы увидите блокировку рядом с URL-адресом, указывающую на то, что ваше общение с сайтом зашифровано. Вот как это выглядит в браузере Google Chrome:

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

SSL был представлен Netscape в 1994 году. В последние годы наблюдается тенденция к тому, что основные онлайн-сервисы используют шифрование по умолчанию. Сегодня Google, Yahoo и Facebook по умолчанию используют шифрование SSL для своих веб-сайтов и онлайн-сервисов.

При правильной реализации SSL считается очень безопасным. Но 2014 год был плохим для безопасности SSL; Heartbleed — не единственный недостаток безопасности, обнаруженный в том году. В феврале в реализации SSL от Apple был обнаружен серьезный недостаток.В следующем месяце недостаток был обнаружен в другой реализации SSL, популярной в операционных системах с открытым исходным кодом.

Что такое OpenSSL?

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

OpenSSL широко используется. Одна из причин этого заключается в том, что он был включен в различные другие программные продукты.Например, два самых популярных пакета программного обеспечения для веб-серверов, известные как Apache и nginx, используют OpenSSL для шифрования веб-сайтов.

На момент атаки Heartbleed на веб-сайте OpenSSL было указано всего 15 активных разработчиков, большинство из которых участвовали в проекте на добровольной основе. Но не все изменения в программном обеспечении OpenSSL написаны этими 15 людьми. Скорее, эти разработчики помогают фильтровать и систематизировать предлагаемые изменения от более широкого сообщества людей, которые время от времени вносят свой вклад.

Учитывая, что над крупными коммерческими проектами программного обеспечения часто работают десятки или даже сотни людей, неудивительно, что команда OpenSSL не заметила тонкую ошибку Heartbleed, когда они представили новую версию программного обеспечения в 2012 году.

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

Как работает приступ Heartbleed?

Стандарт SSL включает опцию «heartbeat», которая дает возможность компьютеру на одном конце SSL-соединения дважды проверить, есть ли еще кто-то на другом конце линии. Эта функция полезна, потому что некоторые интернет-маршрутизаторы разрывают соединение, если оно бездействует слишком долго. Вкратце, протокол сердцебиения работает так:

Контрольное сообщение состоит из трех частей: запрос подтверждения, короткое, случайно выбранное сообщение (в данном случае «банан») и количество символов в этом сообщении.Предполагается, что сервер просто подтвердит получение запроса и вернет сообщение.

Атака Heartbleed использует тот факт, что сервер может быть слишком доверчивым. Когда кто-то сообщает ему, что сообщение состоит из 6 символов, сервер автоматически отправляет 6 символов в ответ. Злоумышленник может воспользоваться доверчивостью сервера:

Очевидно, слово «жираф» не длиннее 100 символов. Но сервер не заботится о проверке перед отправкой своего ответа, поэтому он отправляет обратно 100 символов.В частности, он отправляет обратно 7-значное слово «жираф», за которым следуют любые 93 символа, сохраненные после слова «жираф» в памяти сервера. Компьютеры часто хранят информацию в произвольном порядке, чтобы как можно плотнее упаковать ее в свою память, поэтому неизвестно, какая информация может быть возвращена. В этом случае бит памяти после слова «жираф» содержал конфиденциальную личную информацию, принадлежащую пользователю Джону Смиту.

В настоящей атаке Heartbleed злоумышленник не просто запрашивает 100 символов.Злоумышленник может запросить около 64 000 символов обычного текста. И он не просто запрашивает один раз, он может снова и снова отправлять злонамеренные контрольные сообщения, позволяя злоумышленнику каждый раз возвращать различные фрагменты памяти сервера. В процессе он может получить огромное количество данных, которые никогда не предназначались для публичного доступа.

Исправить эту проблему легко: сервер должен быть менее доверчивым. Вместо того, чтобы слепо отправлять обратно столько данных, сколько запрошено, сервер должен проверить, что ему не предлагается отправить обратно больше символов, чем он получил изначально.Именно это и делает исправление OpenSSL для Heartbleed Bug.

Кто обнаружил уязвимость?

Он был обнаружен независимо исследователями из Codenomicon и Google Security. Codenomicon создала удобный веб-сайт об уязвимости, помогая быстро распространять информацию.

Чтобы минимизировать ущерб от раскрытия информации, исследователи вместе с командой OpenSSL и другими ключевыми инсайдерами подготовили исправления до того, как проблема была объявлена ​​публично.

Как ошибка Heartbleed была добавлена ​​в OpenSSL?

Некорректный код был добавлен в экспериментальную версию SSL в конце 2011 года и опубликован в марте 2012 года.Исправление для программного обеспечения было отправлено немцем по имени Робин Сеггельманн.

«Я работал над улучшением OpenSSL и представил множество исправлений ошибок и добавил новые функции», — сказал он Sydney Morning Herald. «К сожалению, в одной из новых функций я пропустил проверку переменной, содержащей длину».

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

Какую информацию можно получить при приступе сердечного кровотечения?

Атака Heartbleed работает путем обмана серверов, вынуждая их передать информацию, хранящуюся в их памяти.Таким образом, любая информация, обрабатываемая веб-серверами, потенциально уязвима. Сюда входят пароли, номера кредитных карт, медицинские записи и содержимое личных сообщений электронной почты или сообщений в социальных сетях.

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

Были ли успешные атаки с использованием ошибки Heartbleed?

Да, охранная фирма Mandiant сообщает, что она наблюдала атаку Heartbleed «в дикой природе».Атака была нацелена на службу виртуальной частной сети в неназванной организации, получив доступ к ее внутренней корпоративной сети.

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

Крупные организации, такие как Google и Tumblr, получили много внимания прессы после обнаружения ошибки Heartbleed. Но это огромные фирмы с тысячами инженеров. У них были ресурсы и опыт, чтобы быстро исправить свое программное обеспечение и укрепить защиту.

Но OpenSSL используется в большом количестве специализированных сетевых устройств. Программное обеспечение этих сетевых устройств может быть не так просто обновить, как универсальный веб-сервер. И эти небольшие организации могут даже не осознавать, что их устройства в первую очередь работают под управлением OpenSSL, а тем более не знают, как их исправить.

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

Что делается для предотвращения будущих проблем, таких как Heartbleed?

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

В конце апреля 2014 года фонд сообщил Ars Technica, что он уже получил 3,9 миллиона долларов в виде пожертвований от крупных технологических компаний, включая Amazon, Microsoft, Google и Facebook.

Также усилия по обеспечению безопасности в Интернете финансирует фонд Hewlett Foundation, основанный соучредителем HP Уильямом Хьюлеттом и его женой. 2 апреля 2014 года, за несколько дней до публичного обнародования инициативы Heartbleed, фонд объявил о «кибернетической инициативе» стоимостью 20 миллионов долларов.Фонд надеется помочь «создать сеть экспертов, работающих над обеспечением безопасности, открытости и надлежащего управления Интернетом».

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

OpenSSL «Heartbleed» (CVE-2014-0160) | CISA

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

  • OpenSSL 1.От 0.1 до 1.0.1f
  • OpenSSL 1.0.2-beta

Обзор

Уязвимость в OpenSSL может позволить удаленному злоумышленнику раскрыть конфиденциальные данные, включая, возможно, учетные данные для аутентификации пользователя и секретные ключи, путем неправильной обработки памяти в расширении пульса TLS.

Описание

OpenSSL версий с 1.0.1 по 1.0.1f содержит недостаток в реализации функции контрольных сообщений TLS / DTLS.Этот недостаток позволяет злоумышленнику извлекать частную память приложения, которое использует уязвимую библиотеку OpenSSL, фрагментами по 64 КБ за раз. Обратите внимание, что злоумышленник может многократно использовать уязвимость для извлечения такого количества 64-килобайтных блоков памяти, которое необходимо для извлечения предполагаемых секретов. К конфиденциальной информации, которую можно получить с помощью этой уязвимости, относятся:

  • Материал первичного ключа (секретные ключи)
  • Материал вторичного ключа (имена пользователей и пароли, используемые уязвимыми службами)
  • Защищенное содержимое (конфиденциальные данные, используемые уязвимыми службами)
  • Обеспечение (адреса памяти и контент, которые можно использовать для обхода средств защиты от эксплойтов)

Код эксплойта для этой уязвимости общедоступен.Дополнительные сведения можно найти в примечании об уязвимостях CERT / CC VU # 720951.

Удар

Этот недостаток позволяет удаленному злоумышленнику извлекать частную память приложения, которое использует уязвимую библиотеку OpenSSL фрагментами по 64 КБ за раз.

Решение

OpenSSL 1.0.1g был выпущен для устранения этой уязвимости. Любые ключи, сгенерированные с помощью уязвимой версии OpenSSL, следует считать скомпрометированными, повторно созданными и развернутыми после применения исправления.

US-CERT рекомендует системным администраторам рассмотреть возможность внедрения Perfect Forward Secrecy, чтобы уменьшить ущерб, который может быть вызван раскрытием закрытых ключей в будущем.

Список литературы

Редакции

Этот продукт предоставляется в соответствии с настоящим Уведомлением и настоящей Политикой конфиденциальности и использования.

Ошибка Heartbleed: как проверка забытых границ сломала Интернет

Збигнев Банах — пт, 07 фев 2020 —

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

Ошибка Heartbleed — это критическая ошибка чрезмерного чтения буфера в нескольких версиях библиотеки OpenSSL, которая может выявить незашифрованную информацию из системной памяти сервера или клиента, на котором запущена уязвимая версия OpenSSL.Поскольку библиотека используется для безопасного обмена данными через SSL / TLS и DTLS, атаки могут раскрыть очень конфиденциальные данные, такие как учетные данные для входа, закрытые ключи TLS и личную информацию. Ошибка была исправлена ​​почти сразу после ее раскрытия в апреле 2014 года, но до тех пор, пока не были исправлены сотни тысяч веб-серверов, которые использовали уязвимую библиотеку, злоумышленники могли легко и незаметно извлекать конфиденциальную информацию. Давайте внимательнее рассмотрим одну из самых серьезных и широко распространенных уязвимостей безопасности в истории веб-поиска и посмотрим, как всего лишь одна ошибочная строка кода может нанести ущерб всему миру.

Как все начиналось: реализация расширения TLS Heartbeat

Для безопасных соединений, использующих TLS (безопасность транспортного уровня), контрольное сообщение — это способ проверки доступности однорангового узла без повторного согласования соединения каждый раз. Эта функция была предложена в 2012 году в RFC 6520 и вскоре широко реализована в библиотеках SSL / TLS, включая библиотеку OpenSSL с открытым исходным кодом. К сожалению, реализация OpenSSL расширения TLS heartbeat, представленная Робином Сеггельманном, содержала небольшую, но фатальную ошибку в новой функции.Первой уязвимой версией была OpenSSL 1.0.1, выпущенная в марте 2012 года, с включенной по умолчанию поддержкой тактового сигнала. По иронии судьбы, эта версия вскоре была широко развернута на серверах по всему миру для повышения безопасности, поскольку в нее была добавлена ​​поддержка TLS 1.1 и 1.2 для устранения уязвимостей, таких как BEAST.

Ущерб безопасности в деталях

Протокол контрольных сообщений TLS работает как команда echo. Чтобы проверить, активен ли партнер соединения, вы отправляете произвольное тестовое сообщение, и, если соединение активно, сообщение должно быть немедленно и точно отражено эхом.Фактическое контрольное сообщение — это запись SSL3, которая включает не только полезную нагрузку сообщения, но и его длину (и заполнение, но это не важно для ошибки). Чтобы соединение оставалось активным, тестовая полезная нагрузка, возвращаемая одноранговым узлом (обычно сервером), должна иметь точно такое же содержимое и длину, что и в запросе пульса. Именно здесь программное обеспечение OpenSSL не смогло реализовать одну из проверок, указанных в RFC 6520, раздел 4:

.
Если payload_length полученного сообщения HeartbeatMessage слишком велико, полученное сообщение HeartbeatMessage ДОЛЖНО быть отброшено без уведомления.

В расширении пульса, реализованном в OpenSSL 1.0.1–1.0.1f, сервер получает сообщение пульса и возвращает запрошенную полезную нагрузку запрошенной длины. Однако код не проверяет, действительно ли полезная нагрузка имеет ту же длину, что и запрошенная в сообщении. Другими словами, сервер просто отправляет обратно блок данных от начала полезной нагрузки до запрошенной длины. Если контрольное сообщение правильно сформировано, это не проблема, поскольку полезная нагрузка всегда имеет ту же длину, что и указанная.Но если запрошенная длина превышает размер полезной нагрузки, сервер возвращает все, что находится в памяти после локальной переменной полезной нагрузки, что приводит к утечке информации. Так появилось название Heartbleed — серверы, на которых запущены уязвимые версии OpenSSL, могли «истекать» конфиденциальные данные в сообщениях подтверждения.

Посылая короткое контрольное сообщение с большой запрошенной длиной, злоумышленники могли читать до 64 КБ необработанного содержимого памяти с каждым запросом. Для серверов, работающих под управлением OpenSSL, это пространство памяти может содержать незашифрованные учетные данные пользователя, файлы cookie сеанса, номера кредитных карт и (что особенно важно) закрытые ключи сертификатов.Отправляя несколько злонамеренных запросов пульса, злоумышленники могут быстро накопить огромные объемы ценных данных, включая секретные ключи, которые могут позволить несанкционированный доступ к системам, кражу личных данных и атаки типа «злоумышленник в середине» на якобы защищенные серверы.

Обратная уязвимость от Heartbleed

Как и в большинстве дискуссий, связанных с Heartbleed, в этой статье в основном рассказывается об атаках на серверы, поскольку они могут затронуть тысячи пользователей и организаций.Однако уязвимость может быть использована в любой системе с уязвимой версией OpenSSL, поэтому скомпрометированный сервер может использовать ту же атаку для чтения данных памяти из уязвимого клиентского приложения. Эта уязвимость получила название Reverse Heartbleed, и в 2014 году она затронула несколько компьютерных приложений и примерно 50 миллионов устройств под управлением Android 4.1.1.

Раскрытие информации и исправление

Ошибка была независимо обнаружена исследователями безопасности из Google и финской компании по безопасности Codenomicon (которые придумали название «Heartbleed» и создали веб-сайт, объясняющий эту ошибку).Об уязвимости было тайно сообщено команде OpenSSL и исправлено в версии 1.0.1g, выпущенной 7 апреля 2014 года. Само исправление было столь же тривиальным, как и ошибка — просто вопрос добавления проверки значения и молчаливого игнорирования контрольного сообщения, если ошибка заявленная и фактическая длина различаются. Heartbleed был добавлен в Национальную базу данных уязвимостей как CVE-2014-0160, уязвимость которого была классифицирована как «Неправильное ограничение операций в пределах буфера памяти (CWE-119)».

Также 7 апреля 2014 г. были официально опубликованы новости об уязвимости.Владельцам веб-сайтов и администраторам серверов было рекомендовано немедленно выполнить обновление до OpenSSL 1.0.1g. Для расширения Heartbeat не было доступного параметра конфигурации среды выполнения, поэтому было невозможно отключить только неисправную функциональность без ручной перекомпиляции библиотеки OpenSSL с параметром компилятора -DOPENSSL_NO_HEARTBEATS . Все учетные данные, ключи шифрования и сертификаты SSL, используемые на уязвимых серверах, могли быть скомпрометированы, поэтому следующей рекомендацией было перевыпустить все сертификаты безопасности для SSL / TLS с этих серверов и посоветовать пользователям изменить свои пароли.Наконец, настройка сервера для использования протоколов согласования ключей, которые обеспечивают идеальную прямую секретность, может защитить прошлые коммуникации от дешифрования, даже если текущие закрытые ключи были скомпрометированы, обеспечивая дополнительный уровень защиты.

По состоянию на декабрь 2019 года поиск Shodan по запросу vuln: cve-2014-0160 по-прежнему показал, что более 77 000 устройств по всему миру уязвимы для Heartbleed, в том числе более 18 000 серверов Apache httpd.

Последствия ошибки Heartbleed

Эксперты по безопасности были единодушны в том, что уязвимость была чрезвычайно серьезной, поскольку она подрывала сами основы безопасности в Интернете.Шифрование SSL / TLS и конфиденциальность больше нельзя было воспринимать как должное, и любой человек в мире мог перекачивать конфиденциальные данные с доверенных серверов, не оставляя следов. Поскольку уязвимость существовала с 2012 года и невозможно было определить, была ли она использована или когда, все закрытые ключи на уязвимых серверах должны были считаться скомпрометированными, что потребовало отзыва и повторной выдачи тысяч сертификатов с использованием новых пар ключей.

«Катастрофический» — правильное слово.По шкале от 1 до 10 это 11.

— Брюс Шнайер

Уязвимость затронула различные программы и прошивки, использующие OpenSSL. К ним относятся не только веб-серверы с открытым исходным кодом, такие как Apache и nginx, но также компьютерные приложения и некоторые сетевые устройства от Cisco, Juniper и Apple. Многие популярные веб-сайты также оказались уязвимыми, в том числе Yahoo! и игровые сервисы, такие как Steam. Два из трех веб-серверов во всем мире были уязвимы, и в последующие дни и недели миллионам пользователей пришлось изменить свои пароли для нескольких веб-сайтов и служб.Сообщалось также о некоторых утечках данных. Первоначально глобальные затраты на устранение уязвимости оценивались в 500 миллионов долларов.

Уроки уязвимости Heartbleed

С технической точки зрения уязвимость заключалась в простом перечитывании буфера, вызванном проверкой забытых границ — очень распространенный тип ошибки, который по-прежнему возглавляет рейтинг CWE Top 25 в 2019 году. Реальная проблема была гораздо более серьезной: как могла когда-нибудь такая тривиальная ошибка попадет в критически важное для безопасности программное обеспечение, а затем в миллионы систем по всему миру? Кризис Heartbleed высветил опасность глобальной зависимости от библиотек программного обеспечения с открытым исходным кодом, которые часто разрабатываются, тестируются и обслуживаются небольшими группами добровольцев с небольшой финансовой поддержкой или без нее.Как сказал Дэн Камински: «Мы строим самые важные технологии для мировой экономики на шокирующе недофинансируемой инфраструктуре». В ответ на финансовую и личную нехватку OpenSSL и других широко используемых проектов с открытым исходным кодом Linux Foundation создал Core Infrastructure Initiative (CII). Поддерживаемый лидерами технологической индустрии, CII предназначен для финансирования и поддержки проектов с открытым исходным кодом, которые имеют решающее значение для функционирования глобальных информационных систем, таких как Интернет.Кризис также побудил Google сформировать Project Zero — штатную команду исследователей безопасности, ищущих уязвимости нулевого дня.

Для владельцев и администраторов веб-сайтов и веб-приложений вывод Heartbleed заключается в том, что уязвимости могут возникать во всем коде, включая надежные и широко используемые библиотеки. Для обнаружения недостатков во внешних зависимостях требуются решения для сканирования уязвимостей, которые могут выходить за рамки кода приложения и находить уязвимости, такие как Heartbleed, до того, как они будут использованы киберпреступниками.

Об авторе

Збигнев Банах

Автор технического контента в Netsparker. Опираясь на свой опыт работы в качестве ИТ-журналиста и технического переводчика, он делает все возможное, чтобы обеспечить безопасность в Интернете более широкой аудитории в блоге и на веб-сайте Netsparker.

Будьте в курсе тенденций в области веб-безопасности

Heartbleed bug: как это работает и как избежать подобных ошибок

Ошибка Heartbleed возникает из-за неправильной проверки ввода в реализации OpenSSL расширения TLS Heartbeat.Как мы можем предотвратить подобные ошибки?

Ошибка Heartbleed — это уязвимость в программном обеспечении с открытым исходным кодом, которая была впервые обнаружена в 2014 году. Любой человек, имеющий подключение к Интернету, может использовать эту ошибку для чтения памяти уязвимых систем, не оставляя следов взломанной системы.

Heartbleed — это ошибка реализации (CVE-2014-0160) в криптографической библиотеке OpenSSL. OpenSSL — самая популярная криптографическая библиотека с открытым исходным кодом (написанная на C), которая обеспечивает реализацию Secure Socket Layer (SSL) и Transport Layer Security (TLS) для шифрования трафика в Интернете.Несмотря на то, что ошибка находится в библиотеке OpenSSL, она не имеет ничего общего с протоколами SSL / TLS. Уязвимость заключается в коде OpenSSL, который обрабатывает расширение Heartbeat (RFC 6520) для TLS / DTLS.

OpenSSL версий с 1.0.1 по 1.0.1f уязвимы, если не скомпилирован с необычной опцией -DOPENSSL_NO_HEARTBEATS. Самая ранняя неуязвимая версия — 1.0.1g.

Как работает ошибка Heartbleed?

Ошибка Heartbleed возникла из-за неправильной проверки ввода в реализации OpenSSL расширения TLS Heartbeat.Из-за отсутствия проверки границ для полей длины и полезной нагрузки в запросах Heartbeat, в сочетании с доверием к данным, полученным от других машин, отвечающая машина по ошибке отправляет обратно свои собственные данные памяти.

Во время рукопожатия с шифрованием TLS две машины отправляют друг другу сообщения Heartbeat. Согласно RFC 6520, ответ Heartbeat должен содержать точную копию полезных данных из запроса Heartbeat. Когда получено сообщение запроса Heartbeat, машина записывает содержимое полезной нагрузки в свою память и копирует содержимое обратно в ответ.Поле длины должно быть длиной полезной нагрузки . OpenSSL выделяет память для ответа на основе длины , а затем копирует полезную нагрузку в ответ с помощью memcpy ().

Злоумышленники могут отправлять запросы Heartbeat со значением поля длины , превышающим фактическую длину полезной нагрузки . Процессы OpenSSL на машине, отвечающей на запросы Heartbeat, не проверяют, совпадает ли размер полезной нагрузки с размером, указанным в поле длины .Таким образом, машина копирует в ответ дополнительные данные, находящиеся в памяти после полезной нагрузки . Так работает уязвимость Heartbleed. Следовательно, дополнительные байты — это дополнительные данные в памяти удаленного процесса.

Какое влияние оказывает Heartbleed?

Ошибка Heartbleed позволяет любому пользователю Интернета читать память систем, защищенных уязвимыми версиями программного обеспечения OpenSSL. Конфиденциальная информация, такая как идентификаторы сеанса, имена пользователей, пароли, токены и даже частные криптографические ключи сервера, в некоторых крайних случаях, могут быть извлечены из памяти.Что еще хуже, эта атака не оставляет очевидных доказательств в файлах журнала. Таким образом, чрезвычайно сложно определить, была ли машина взломана.

Злоумышленник может прочитать 64 килобайта памяти сервера для одного сообщения Heartbeat. Однако нет ограничений на объем памяти, который может быть прочитан с уязвимого сервера. Кроме того, злоумышленник может продолжить переподключение и запросить произвольное количество сегментов по 64 килобайта, чтобы раскрыть секреты (пароли, секретные ключи, номера кредитных карт и т. Д.).) хранится в памяти.

Можно ли этого избежать?

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

Какие уроки мы можем извлечь из ошибки Heartbleed?

Heartbleed — простая ошибка, которую можно исправить. Чтобы предотвратить утечку конфиденциальных данных через Heartbleed, обновите до последней стабильной версии OpenSSL.Не доверяйте программному обеспечению слепо — также лучше интегрировать программы безопасности в разработку программного обеспечения.

Как мы можем предотвратить подобные ошибки в программном обеспечении?

Забегая вперед, мы предлагаем четыре основных совета по интеграции в жизненный цикл разработки программного обеспечения и обслуживания существующего программного обеспечения:

  • Интеграция действий, связанных с безопасностью, которые необходимы для создания безопасного программного обеспечения.
  • Дайте всему используемому программному обеспечению и компонентам с открытым исходным кодом тщательную проверку безопасности, чтобы избежать использования компонентов с известными уязвимостями.
  • Никогда не доверяйте входным данным, полученным от внешней системы.
  • Всегда выполнять проверку входных данных на стороне сервера.

Найдите недостатки безопасности, которые подвергают риску ваши приложения

Heartbleed bug: что нужно знать (FAQ)

Коденомикон / CNET

Ошибка Heartbleed, недавно обнаруженная уязвимость системы безопасности, которая ставит под угрозу пароли пользователей на многих популярных веб-сайтах, перевернула Интернет с тех пор, как была обнаружена ранее на этой неделе.Это чрезвычайно серьезная проблема, и поэтому при использовании Интернета возникает большая путаница в отношении ошибки и ее последствий.

CNET составила список часто задаваемых вопросов, чтобы помочь пользователям узнать больше об ошибке и защитить себя. Ситуация Heartbleed продолжается, и мы будем обновлять этот FAQ по мере появления новых проблем. Следите за новой информацией.

Что такое Heartbleed?

Heartbleed — это уязвимость системы безопасности в программном обеспечении OpenSSL, которая позволяет хакеру получить доступ к памяти серверов данных.По данным Netcraft, исследовательской компании в Интернете, это может затронуть 500 000 веб-сайтов. Это означает, что конфиденциальные личные данные пользователя, включая имена пользователей, пароли и информацию о кредитных картах, потенциально могут быть перехвачены.

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

Что такое OpenSSL?

Начнем с SSL.Это означает Secure Sockets Layer, но он также известен под своим новым названием Transport Layer Security или TLS. Это самый простой способ шифрования информации в Интернете, который снижает вероятность того, что кто-то подслушает вас, когда вы просматриваете Интернет. (Обратите внимание на «https» в URL-адресах сайтов с поддержкой SSL, таких как Gmail, вместо простого «http».)

OpenSSL — это программное обеспечение с открытым исходным кодом для реализации SSL в Интернете. Версии с уязвимостью: с 1.0.1 по 1.0.1f.OpenSSL также используется как часть операционной системы Linux и как компонент Apache и Nginx, двух очень широко используемых программ для запуска веб-сайтов. Итог: его широко используют в Интернете.

Кто обнаружил ошибку?

Благодарим охранную фирму Codenomicon и исследователя Google Нила Мехту, которые обнаружили ошибку независимо друг от друга, но в один и тот же день.

Мехта пожертвовал вознаграждение в размере 15 000 долларов, которое он получил за помощь в поиске ошибки в кампании Фонда свободы прессы по разработке инструментов шифрования, которые журналисты могут использовать при общении с источниками.Мехта отказывается от интервью для прессы, но попросил комментариев, Google сказал: «Безопасность информации наших пользователей является главным приоритетом. Мы активно ищем уязвимости и призываем других точно сообщать о них, чтобы мы могли исправить их до того, как они появятся. эксплуатируется «.

Почему это называется Heartbleed?

Согласно Vocativ, термин «Heartbleed» был придуман Осси Херралой, системным администратором Codenomicon. У него более приятное название, чем его техническое название CVE-2014-0160, названное в честь строки кода, содержащей ошибку.

Heartbleed — это игра слов, относящаяся к расширению OpenSSL под названием «heartbeat». Протокол используется для того, чтобы соединения оставались открытыми, даже если данные не передаются между этими соединениями. Херрала «подумал, что уместно назвать это Heartbleed, потому что он вычеркивает важную информацию из памяти», — сказал Vocativ Дэвид Шартье, исполнительный директор Codenomicon.

Если имя звучит слишком броско для сбоя системы безопасности, то в этом и суть.Команде Codenomicon нужно было что-то удобное для прессы, которое могло бы быстро распространяться, чтобы предупредить больше людей о недостатке. Вскоре после того, как они назвали ошибку, они купили домен Heartbleed.com, чтобы информировать Интернет о сбое.

Почему Heartbleed не затрагивает некоторые сайты?

Хотя OpenSSL очень популярен, существуют и другие варианты SSL / TLS. Кроме того, некоторые веб-сайты используют более раннюю, незатронутую версию, а некоторые не поддерживают функцию «сердцебиение», которая была центральной для уязвимости.

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

Как работает баг?

Уязвимость позволяет хакеру получить доступ к 64 килобайтам памяти сервера, но проводить атаку снова и снова, чтобы получить большой объем информации. Это означает, что злоумышленник может получить не только имена пользователей и пароли, но и данные «cookie», которые веб-серверы и браузеры используют для отслеживания людей и упрощения входа в систему. Согласно Electronic Frontier Foundation, повторная атака может привести к получению более серьезной информации, такой как закрытый SSL-ключ сайта, используемый для шифрования трафика.С помощью этого ключа кто-то может запустить поддельную версию веб-сайта и использовать ее для кражи всех других видов информации, например номеров кредитных карт или личных сообщений.

Стоит ли менять пароли?

Для многих веб-сайтов — да. НО подождите, пока вы не получите подтверждение от оператора веб-сайта о том, что ошибка исправлена. Желание немедленно изменить все свои пароли — естественная реакция, но если ошибка веб-сайта еще не исправлена, внесение изменений может оказаться бесполезным — вы просто потенциально даете злоумышленнику свой новый пароль.

Как проверить, не пострадал ли или исправлен ли веб-сайт?

Несколько компаний и разработчиков создали сайты тестирования, чтобы проверить, какие сайты уязвимы или безопасны. Два хороших — от LastPass, компании, производящей программное обеспечение для управления паролями, и Qualys, охранной фирмы. Хотя эти тестовые сайты являются хорошей предварительной проверкой, продолжайте действовать с осторожностью, даже если сайт дает вам четкое указание. Однако, если вам поставили красный флаг, избегайте посещения этого сайта.

CNET ведет постоянный список 100 лучших веб-сайтов по данным Alexa.com. Следите за обновлениями здесь. По словам исследователей Zmap, вот список сайтов, которые все еще были уязвимы по состоянию на полдень четверга.

Но разумнее всего получить подтверждение с сайта через один из его официальных каналов. Многие компании публикуют сообщения в блогах и делают заявления о состоянии своих сайтов. Или вы можете напрямую написать оператору сайта или специалисту по обслуживанию клиентов по электронной почте.

Кто стоял за ошибкой?

Согласно Guardian, программистом, написавшим ошибочный код, был Робин Сеггельманн, который работал в проекте OpenSSL, когда получил степень доктора философии. учился с 2008 по 2012 год. В добавок к драматизму ситуации, он отправил код в 23:59. в канун Нового 2011 года, хотя он утверждает, что время не имеет ничего общего с ошибкой. «Я несу ответственность за ошибку», — сказал Сеггельманн. «Потому что я написал код и пропустил необходимую проверку по недосмотру.

Тем не менее, как проект с открытым исходным кодом, трудно возложить вину прямо на одного человека. Как пояснил The New York Times Зульфикар Рамзан, технический директор стартапа по облачной безопасности Elastica, существует так много сложного кода, который люди был написан, и конкретный протокол Heartbeat не получил достаточного внимания. «Heartbeat не является основной частью SSL. «Это всего лишь одна дополнительная функция в SSL», — сказал он. «Можно предположить, что никто не смотрел на этот код так внимательно, потому что он не был частью основной линии.»

Верно ли, что правительство США использовало Heartbleed до того, как мир узнал об этом?

В настоящее время это неясно. В одном отчете говорится, что Агентство национальной безопасности знало об эксплойте до того, как она была названа Heartbleed, и использовала ее для собирать информацию, но АНБ отвергло обвинение. Независимо от того, является ли отчет точным, факт остается фактом: если его не исправить, Heartbleed представляет собой серьезную угрозу безопасности.

Стоит ли мне беспокоиться о моем банковском счете?

Большинство банков этого не делают. t использовать OpenSSL, а вместо этого использовать проприетарное программное обеспечение для шифрования.Но если вы не уверены, обратитесь в свой банк напрямую для подтверждения безопасности веб-сайта. Тем не менее, Джон Миллер, менеджер по исследованиям в области безопасности компании TrustWave, предлагает внимательно следить за финансовой отчетностью в течение следующих нескольких дней, чтобы убедиться в отсутствии незнакомых обвинений.

Как мне узнать, использовал ли кто-нибудь уязвимость Heartbleed для кражи моей информации?

К сожалению, согласно Codenomicon, эксплуатация ошибки «не оставляет следов каких-либо аномальных событий в журналах» веб-сайтов.

Какие менеджеры паролей я могу попробовать?

Ситуация Heartbleed подчеркивает важность хорошего пароля. После смены старых паролей вам может быть интересно, есть ли другие способы обеспечить безопасность ваших учетных записей. Менеджеры паролей пытаются решить эту проблему, помогая генерировать случайные пароли для каждой учетной записи. Затем вы управляете всем с помощью одного надежного мастер-пароля. Наличие всех ваших учетных записей под одним менеджером может быть слишком близко для удобства для некоторых пользователей, но LastPass, один из этих поставщиков, настаивает на том, что это безопасно и что пользователям не нужно менять свои мастер-пароли из-за Heartbleed.Он даже добавил функцию, которая автоматически проверяет ваши сохраненные сайты на наличие уязвимостей Heartbleed. Другие варианты диспетчера паролей: RoboForm, Dashlane и 1Password.

Еще одно предложение — включить двухфакторную аутентификацию, когда она предлагается. (Gmail — это одна из служб, которая делает это.) Это означает, что помимо пароля служба запрашивает еще одну часть идентифицирующей информации, например код, отправленный вам в текстовом сообщении. Таким образом, даже если кто-то украдет ваш пароль, ему будет сложнее ложно войти в систему от имени вас.

Старший писатель CNET Сет Розенблатт внес вклад в этот отчет.

Обнаружение и использование уязвимости OpenSSL-Heartbleed —

Обнаружение и использование уязвимости OpenSSL-Heartbleed

Даниэль Дитерле

В этой статье мы обсудим, как обнаружить системы , которые являются уязвимостями ble к уязвимости OpenSSL-Heartbleed, и узнаем, как использовать их с помощью Metasploit в Kali Linux.

Интернет был забит новостями об уязвимости OpenSSL heartbeat или Heartbleed (CVE-2014-0160), которая, по мнению некоторых, может затронуть до 2/3 Интернета. Все, от серверов до маршрутизаторов до смартфонов, можно обманом заставить отдать зашифрованные данные в виде обычного текста.

По сути, OpenSSL — это библиотека шифрования, используемая при обмене данными по протоколу HTTPS. Когда большинство думает о HTTPS-коммуникации, они думают о маленьком значке замка, который появляется на панели браузера, когда вы посещаете интернет-магазины и банковские сайты.

HTTPS должен быть «защищенной» версией обычного HTTP-соединения. Любая передача данных с использованием SSL должна быть безопасной и зашифрованной. Но благодаря последней уязвимости OpenSSL незашифрованная информация может быть восстановлена ​​из уязвимой системы с помощью специально созданных контрольных сообщений.

Во время связи OpenSSL использует «контрольное» сообщение, которое возвращает данные, чтобы убедиться, что они были получены правильно. Проблема в том, что в OpenSSL 1.0.1–1.0.1f хакер может обмануть OpenSSL, отправив один байт информации, но сообщив серверу, что он отправил до 64 Кбайт данных, которые необходимо проверить и отозвать.

И сервер ответит случайными данными — из его памяти !

Во время тестирования исследователи безопасности, использующие этот метод, смогли обманом заставить уязвимые системы отказаться от учетных данных, файлов cookie сеанса и других конфиденциальных данных.

Но, как уже упоминалось, уязвимость возникает не только при посещении веб-страниц покупок — могут быть затронуты основные веб-сайты, социальные сети и игровые серверы, даже системы Android, встроенные устройства и маршрутизаторы. Любое устройство, использующее уязвимую версию OpenSSL, подвергается риску.

Уязвимость устранена в последнем обновлении OpenSSL, но проблема в том, что поиск и исправление всех уязвимых устройств могут занять годы. А некоторые встроенные и проприетарные устройства могут никогда не быть исправлены!

В этой статье мы быстро обсудим некоторые способы обнаружения уязвимости Heartbleed, более подробно рассмотрим поиск уязвимых систем с помощью всегда популярного инструмента сканирования «Nmap» и, наконец, посмотрим, как использовать уязвимую систему с помощью модуля эксплойтов Heartbleed в Metasploit.

Прежде чем мы продолжим, не законно и не этично. доступ к серверам, которыми вы не владеете. Никогда не запускайте сканирование безопасности или проверки систем, которыми вы не владеете или не имеете разрешения на сканирование.

Программное обеспечение, используемое в этой статье

В этом руководстве я буду использовать сервер WordPress и систему Kali Linux, работающую в системе Windows 7 на виртуальных машинах (ВМ) VMWare Player.

В качестве уязвимого сервера я использовал одну из виртуальных машин WordPress под ключ Linux [1].К сведению, для WordPress под ключ доступны обновления безопасности, но во время установки и для этого руководства я намеренно сказал этой виртуальной машине не устанавливать обновления безопасности , чтобы я мог проверить уязвимость OpenSSL.

Я также загрузил последний образ Kali Linux VMware (1.06) с сайта Offensive Security [2].

Просто загрузите оба образа на вашем проигрывателе VMWare или на рабочей станции. После того, как виртуальная машина WordPress настроена (просто ответьте на несколько простых вопросов), вы почти готовы к работе.Не забудьте во время настройки отказаться от автоматической установки обновлений безопасности, иначе это руководство не будет работать.

Обратите внимание, что мы в основном помещаем на компьютер специально уязвимую виртуальную машину. Никогда не размещайте уязвимую виртуальную машину в критически важной системе или на компьютере с открытым доступом в Интернет или без брандмауэра.

Программы, которые обнаруживают уязвимые системы

К сожалению для тех, кто может не знать, что у них есть системы, подверженные риску, обнаружить уязвимые системы несложно.Вскоре после того, как об уязвимости было публично объявлено, в Интернете появилось множество инструментов и утилит для проверки уязвимых систем.

Невероятно, но есть даже онлайн-списки из 10 000 самых уязвимых веб-сайтов в начале апреля (с тех пор многие из них были исправлены).

Быстрый поиск в Google покажет, что существуют различные утилиты, скрипты, доступные на нескольких языках, и плагины браузера (даже несколько приманок), которые обнаруживают ошибку. Я просто никогда не чувствовал себя комфортно, используя случайные инструменты «безопасности» из Интернета.Не просматривая их построчно, вы никогда не узнаете, что получаете — , поэтому используйте их на свой страх и риск .

Nessus [3] и другие основные программы обеспечения безопасности обновили свои механизмы сканирования в начале месяца для обнаружения Heartbleed. Если вы являетесь корпоративным ИТ-центром и еще не сделали этого, обратитесь к поставщикам средств сканирования безопасности, чтобы узнать, могут ли они его обнаружить.

И наконец, что, вероятно, больше всего беспокоит тех, кто не обновил свои системы, вы можете очень быстро найти уязвимые устройства по всему миру, используя поиск по ключевым словам в Shodan [4] — «хакерском Google».

Но как специалист по безопасности или владелец бизнеса, как вы можете сканировать свои системы, если у вас нет соответствующей программы безопасности или вы не хотите доверять случайному скрипту из Интернета?

Как насчет использования популярного инструмента сканирования Nmap?

Обнаружение эксплойтов с помощью Nmap

Nmap создал сценарий Heartbleed, который отлично справляется с обнаружением уязвимых серверов. Если сценарий Open-Heartbleed еще не включен в вашу установку nmap, вам нужно будет установить его вручную.

как эксплуатировать-windows-8-с-metasploit

Это довольно просто, просто посетите веб-страницу OpenSSL-Heartbleed nmap Script [5], скопируйте и сохраните файл сценария nmap nse [6] в каталог «сценариев» nmap, как показано ниже:

Рис. 1. Копирование файла «nmap.nse» в каталог сценариев

Вам также понадобится файл библиотеки nmap «tls.lua» [7], сохраните его в каталоге nmap «nselib», как показано ниже:

Рисунок 2.Копирование файла «tls.lua» в каталог nselib

Вот и все; Теперь мы можем использовать сценарий heartbleed в nmap для обнаружения уязвимых систем.

Синтаксис команды:

.

nmap -sV —script = ssl-heartbleed <цель>

Все, что нам нужно добавить, это IP-адрес нашего тестового целевого сайта WordPress, 192.168.1.70 в данном случае:

Рис. 3. Команда Nmap для поиска уязвимости Heartbleed

И если целевая машина уязвима, мы увидим это (Рисунок 4):

Рисунок 4.Снимок экрана команды Nmap, выполняющейся

Состояние: УЯЗВИМЫЙ

Фактор риска: высокий

Как видите, Nmap просканировал наш тестовый сервер и обнаружил, что он действительно содержит уязвимую версию OpenSSL.

Эксплуатация с помощью Metasploit

Metasploit выпустил пару модулей для своей платформы для борьбы с новой ошибкой OpenSSL — серверный модуль для тестирования клиентского программного обеспечения и модуль сканера.

Теперь, когда мы знаем, что у нас есть уязвимый сервер, мы можем использовать модуль сканера Metasploit OpenSSL-Heartbleed для его эксплуатации.(Примечание: вы также можете использовать модуль для обнаружения уязвимых систем)

• Обновите Metasploit, чтобы получить последние версии модулей. Просто введите «msfupdate» в командной строке Kali:

Рисунок 5. Обновление Metasploit Framework

• Теперь запустите «msfconsole», чтобы запустить Metasploit, и вам будет представлена ​​консоль Metasploit:

Рисунок 6. Консоль Metasploit

• Затем выполните поиск модулей heartbleed, набрав «search heartbleed»:

Рисунок 7.Использование функции поиска Metasploit

Обратите внимание, их два, мы будем использовать сканер.

• Введите «использовать вспомогательный / сканер / ssl / openssl_heartbleed»:

Рисунок 8. Параметры эксплойта OpenSSL_Heartbleed

• Мы просто собираемся установить две опции: «установить VERBOSE» в значение true и нам нужно «установить RHOSTS» на наш целевой IP-адрес, как показано на рисунке 9:

Рис. 9. Настройка параметров эксплойта

• И, наконец, просто «запустите» эксплойт:

Рисунок 10.Случайные данные, полученные с сервера через Heartbleed

Если вы посмотрите на изображение выше (Рисунок 10), вы увидите, что Metasploit взаимодействовал с сервером и мог извлекать случайные данные из памяти сервера.

Если вы повторно запустите модуль, вы получите совершенно другой ответ от сервера, включая другие утечки данных.

Заключение

Здесь важно отметить, что эксплойт извлекает из памяти случайных данных .Нет никакой гарантии, что вы будете находить учетные данные учетной записи, данные cookie сеанса или важные данные при каждом запуске. Опасность заключается в том, что он может отображать конфиденциальные данные.

Но учтите, что при таком типе атаки было бы тривиально создать сценарий, который постоянно обращается к уязвимому сайту, извлекая из него данные, а затем фильтрует ответы по таким ключевым словам, как «имя пользователя», «пароль» или «cookie».

При использовании подобной техники вероятность восстановления конфиденциальных данных из памяти сервера резко возрастает.

Таким образом, лучший способ (если вы еще этого не сделали) — проверить свои системы на наличие серьезных уязвимостей и немедленно исправить их. После того, как все системы будут исправлены, измените все пароли на пораженных машинах.

Список литературы

1. http://www.turnkeylinux.org/wordpress

2. http://www.offensive-security.com/kali-llnux-vmware-arm-image-download/

3. http://www.tenable.com/blog/tenable-facilitates-detection-of-openssl-vulnerability-using-nessus-and-nessus-perimeter

4. http://www.shodanhq.com

5. http://nmap.org/nsedoc/scripts/ssl-heartbleed.html

6. https://svn.nmap.org/nmap/scripts/ssl-heartbleed.nse

7. http://nmap.org/nsedoc/lib/tls.html

Об авторе

Даниэль Дитерле — основатель блога CyberArms Computer Security (cyberarms.wordpress.com). Он имеет 20-летний опыт работы в сфере информационных технологий и является техническим редактором множества книг и учебных курсов, в основном посвященных Backtrack и Kali Linux.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *