Недавно обнаруженная уязвимость в протоколе 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
Самое понятное объяснение Heartbleed в комиксе xkcd

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

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

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

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

heartbleed 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. В этом случае, даже если ваш пароль украден, злоумышленник просто не сможет воспользоваться им для авторизации.