habrahabr

Последствия OpenSSL HeartBleed

  • среда, 9 апреля 2014 г. в 03:10:30
http://habrahabr.ru/post/218661/

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

Что произошло?
1 января 2012 года, Robin Seggelmann отправил, а steve проверил commit, который добавлял HeartBeat в OpenSSL. Именно этот коммит и привнес уязвимость, которую назвали HeartBleed.

Насколько она опасна?
Эта уязвимость позволяет читать оперативую память кусками размером до 64КБ. Причем уязвимость двусторонняя, это значит, что не только вы можете читать данные с уязвимого сервера, но и сервер злоумышленника может получить часть вашей оперативной памяти, если вы используете уязвимую версию OpenSSL.
Злоумышленник может подключиться к, предположим, уязвимому интернет-банку, получить приватный SSL-ключ из оперативной памяти и выполнить MITM-атаку на вас, а ваш браузер будет вести себя так, будто бы ничего и не произошло, ведь сертификат-то верный. Или просто может получить ваш логин и пароль.

Каков масштаб трагедии?
По моим оценкам, примерно ⅔ вебсайтов используют OpenSSL для HTTPS-соединений, и примерно ⅓ из них были уязвимы до сегодняшнего дня.
Уязвимость была/есть, как минимум, у:
  • 6 банков
  • 2 платежных систем
  • 8 VPN-провайдеров
  • mail.yandex.ru
  • mail.yahoo.com

Используя уязвимость, с mail.yandex.ru можно было получить письма пользователей вместе с HTTP-заголовками (и, подставив cookie, зайти под этим пользователем), а, например, в АльфаБанке получать незашифрованные POST-данные с логином и паролем от Альфа.Клик (интернет-банкинг).

Что я предпринял?
Я не мог просто так сидеть и смотреть, как персональные данные пользователей утекают в руки злоумышленников.
Первым делом, я написал некоторым VPN-провайдерам, которые предоставляют доступ по протоколу OpenVPN, т.к. он мог быть уязвим. Затем, я начал искать уязвимости в системах, уязвимости в которых представляют наибольшую угрозу: банки, платежные системы, почтовые/jabber серверы. Я звонил и писал уязвимым сервисам. Как правило, до службы безопасности банков пробраться крайне сложно, и отвечают они только на почту. К сожалению, не все сервисы успели закрыть уязвимость, поэтому я пока воздержусь от оглашения их полного списка и буду их добавлять по мере закрытия уязвимости.

Сервис Время отправки письма Время совершения звонка Время закрытия уязвимости
mail.yandex.ru 12:46, 13:27 (в bug bounty, чтобы быстрее ответили) 12:47 14:07
AlfaBank 12:51 12:59 14:00
Liqpay 13:15 - 15:15
Interkassa 13:15 13:20 18:28
Raiffeisen 13:35 13:30 ~19:00
Банк «Открытие» 15:36 - ближе к вечеру
Банк Москвы - ~15:30 ~17:00, уязвим был только сайт
Yahoo.com - - 22:20, патчили почти сутки
Как минимум, 3 известных мне банка все еще подвержены уязвимости.

Что мне делать, как пользователю?
Если вы используете Linux, вам необходимо обновиться до последней доступной версии OpenSSL. Большинство дистрибутивов уже содержат пропатченную версию в репозиториях.
Если вы на OSX, вы, с большой верятностью, используете OpenSSL 0.9.8, которая не подвержена уязвимости, если вы не ставили версию новее вручную.
Если вы используете Windows, то, скорее всего, у вас нет OpenSSL. Если вы устанавливали его вручную (например, через cygwin), то убедитесь, что ваша версия не содержит уязвимости.

После того, как вы обновите OpenSSL перезапустите все приложения, его использующие!

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

Что мне делать, как владельцу сайта/системному администратору?
Прежде всего, вы должны незамедлительно убедиться, уязвима ваша версия OpenSSL, или нет. Для HTTPS есть три сервиса: filippo.io/Heartbleed/, possible.lv/tools/hb/ и www.ssllabs.com/ssltest/. Обновите версию при необходимости. Убедитесь, что вы ставите версию с патчем, либо же 1.0.1.g.
Если у вас была уязвимая версия OpenSSL, вам следует отозвать старый SSL-сертификат — он, с большой вероятностью, скомпрометирован.

А я хочу подробности!
Вы можете почитать разбор уязвимости здесь, получить больше информации здесь и здесь
629 сайтов из топ-10000 уязвимы
Новость на cnet.com