![image](https://habrastorage.org/getpro/habr/post_images/25a/368/721/25a36872170d1779de1f9180f64ca382.png)
HeartBleed может стать, если уже не стала, самой большой информационной уязвимостью вообще.
По какой-то причине, активность дискуссии в оригинальном топике не очень высока, что вызывает у меня крайне высокую степень удивления.
Что произошло?
1 января 2012 года, Robin Seggelmann отправил, а steve проверил commit, который добавлял HeartBeat в OpenSSL. Именно этот коммит и привнес уязвимость, которую назвали HeartBleed.
Насколько она опасна?
Эта уязвимость позволяет читать оперативую память кусками размером до 64КБ. Причем уязвимость двусторонняя, это значит, что не только вы можете читать данные с уязвимого сервера, но и сервер злоумышленника может получить часть вашей оперативной памяти, если вы используете уязвимую версию OpenSSL.Злоумышленник может подключиться к, предположим, уязвимому интернет-банку, получить приватный SSL-ключ из оперативной памяти и выполнить MITM-атаку на вас, а ваш браузер будет вести себя так, будто бы ничего и не произошло, ведь сертификат-то верный. Или просто может получить ваш логин и пароль.
Каков масштаб трагедии?
По моим оценкам, примерно ⅔ вебсайтов используют OpenSSL для HTTPS-соединений, и примерно ⅓ из них были уязвимы до сегодняшнего дня.
Уязвимость была/есть, как минимум, у:
- 10 банков
- 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 | Нет | Почта, cookie |
Альфа-банк | 12:51 | 12:59 | 14:00 | Нет | Логины и пароли пользователей, транзакции, личные данные пользователей, cookie. Отрицают уязвимость!! |
Liqpay | 13:15 | - | 15:15 | Нет | Нет (мусор, куски perl-скриптов) |
Interkassa | 13:15 | 13:20 | 18:28 | Да | Транзакции, cookie |
Raiffeisen | 13:35 | 13:30 | ~19:00 | Нет | N/A |
Банк «Открытие» | 15:36 | - | ближе к вечеру | Нет | N/A |
Банк Москвы | - | ~15:30 | ~17:00, уязвим был только сайт | - | - |
Yahoo.com | - | - | 22:20 | Да | Логины и пароли пользователей, почта, cookie |
АйМаниБанк | - | 14:31, 20:20 | 09.04 10:55 | Да | Логины и пароли пользователей, транзакции, cookie, личные данные пользователей |
Русский стандарт | 13:00 | 19:36, 09.04 10:38 | 09.04 13:00 | Нет | Транзакции, cookie, личные данные пользователей |
ОТП Банк | 09.04 14:20 | 09.04 14:19 | 09.04 15:03 | Нет | Транзакции, cookie, личные данные пользователей |
Русславбанк | ~16:00 | - | 09.04 ~12:00, уязвим был только сайт | - | - |
Банк Зенит | - | 21:50, 09.04 11:15, 09.04 15:25 | 09.04 18:20 | Нет | Логины и пароли пользователей, cookie |
Ак Барс Банк | - | - | 11.04 15:30 | Нет | Логины и пароли пользователей, транзакции |
Что мне делать, как пользователю?
Если вы используете 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-сертификат — он, с большой вероятностью, скомпрометирован. Если у вас была уязвимость в сервисе — обязательно оповестите пользователей, чтобы они сменили пароли, и сбросьте сессии, если вы ими пользуетесь (PHPSESSID, JSESSID)
А я хочу подробности!
Вы можете почитать разбор уязвимости здесь, получить больше информации здесь и здесь.
629 сайтов из топ-10000 уязвимы.
Новость на cnet.com.
Статья на banki.ru
Бонус: разговор слепого с глухим, Михаил