Как стать автором
Обновить
448.93
Яндекс
Как мы делаем Яндекс

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

Время на прочтение3 мин
Количество просмотров81K
Сегодня на главной Яндекса мы будем показывать всем пользователям ссылку на страницу с нашими советами о том, как важно следить за своими паролями и регулярно менять их.

Вы, вероятно, догадываетесь, почему мы так делаем. CVE-2014-0160 — одна из самых серьезных уязвимостей, найденных за последние годы. Нельзя сказать, что она касается только отдельных сервисов и сайтов — уязвимость затронула практически весь интернет. OpenSSL — одна из самых распространённых криптобиблиотек. По разным оценкам, до двух третей всех HTTPS-соединений в интернете организуются с помощью этой библиотеки.

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

HeartBleed затронула OpenSSL версий от 1.0.1 до 1.0.1g. Эту ветку OpenSSL мы начали использовать в декабре 2013 года, так как предыдущие версии не поддерживали новые сильные криптографические протоколы TLS 1.1 и TLS 1.2 (проверить, насколько сильные протоколы поддерживает сервис, можно, например тут).

Мы узнали об уязвимости в ночь на вторник, 8 апреля, как только информация о ней появилась в публичных источниках. Немного времени у нас ушло на разбор и оценку степени критичности проблемы.

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

В Яндексе, как вы знаете, огромное количество серверов, и проверка на наличие в них уязимости могла стать большой проблемой. К счастью, у нас давно внедрены механизмы автоматизации проверок безопасности. О них мы подробно рассказывали на конференции YaC 2011. Всё, что нам потребовалось, — это сделать из публично доступного PoC соответствующий модуль для системы, сканирующей наши сервисы на уязвимости. В течение часа у нас уже была полная картина, а все ответственные системные администраторы были автоматически уведомлены и принялись за работу. Тестирование, которое обязательно должно проводиться, в данном случае было сделано за минимально возможный срок. Уже к обеду самые крупные сервисы Яндекса были обновлены. Наш механизм мониторинга также поможет исключить в будущем вероятность того, что какая-то система окажется с проблемной версией OpenSSL.

Обновление версии OpenSSL устранило самую серьезную проблему, эксплуатация которой возможна практически: кражу заголовков запросов и ответов к веб-серверу. Кража закрытого ключа веб-сервера теоретически возможна, но практически сопряжена с некоторыми техническими сложностями. Мы, как и обнаружившие уязвимость исследователи, считаем, что кража приватных SSL-ключей с помощью данной атаки маловероятна. Хоть в 64 кб данных из памяти веб-сервера можно вложить небольшое эссе про безопасность паролей, для появления в ней SSL-ключей требуется совпадение многих факторов. Тем не менее, мы решили постепенно заменить SSL-сертификаты на наших сервисах. Кстати, в критичных сервисах Яндекса (Почте, Паспорте, клиентском и партнерском интерфейсы Директа) мы используем HTTPS с поддержкой PFS. Поэтому даже если предположить, что в будущем по какой-то причине приватные ключи SSL-серверов окажутся скомпроментированы, трафик уже совершившихся сессий пользователей останется защищенным.

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

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

Кроме того, как я уже упомянул, сегодня на главной странице Яндекса будут стоять ссылки на страницу security.yandex.ru. Мы считаем, что пароли вообще надо менять регулярно и события последних дней — хороший повод вспомнить об этом.
Теги:
Хабы:
Всего голосов 129: ↑119 и ↓10+109
Комментарии99

Публикации

Информация

Сайт
www.ya.ru
Дата регистрации
Дата основания
Численность
свыше 10 000 человек
Местоположение
Россия