БезопасностьКак обезопасить себя
в интернете
Специалист «Яндекса» об ошибке Heartbleed и безопасных паролях
Материал подготовила
Маргарита Попова
На прошлой неделе одной из главных тем для обсуждения была ошибка Heartbleed, поставившая под угрозу персональные данные пользователей интернета. Look At Me поговорил с руководителем персональных сервисов «Яндекса» Антоном Забанных о том, в чём именно заключалась ошибка, что предприняли компании и пользователи и как вообще можно обезопасить своё присутствие в интернете.
Что такое Heartbleed
Когда вы запускаете программу на компьютере, она загружается в оперативную память, RAM (Random Access Memory, почти как последний альбом Daft Punk). Ваша операционная система следит за тем, чтобы программа могла читать и писать информацию в строго определённые области памяти, выделенные этой программе. Например, почтовый клиент и система для хранения паролей — разные программы, почтовый клиент не может «пойти» без спроса в хранилище паролей и забрать их оттуда. Но в рамках одной программы могут быть баги, из-за которых, например, данные будут прочитаны из разрешённой области памяти, но не те, что нужно.
Веб-сервер, генерирущий страницы для браузера, — это тоже своего рода программа. Смысл уязвимости Heartbleed в том, что хитрый запрос к веб-серверу, работающему с данными в зашифрованном виде (это когда в строке адреса написано httpS://), позволял прочитать кусок памяти размером 64 килобайта, где в числе прочего могли находиться любые данные, которые другие пользователи отправляли на сервер или получали с него. Если злоумышленник хотел собрать много данных, он просто отправлял много таких хитрых запросов на сервер-жертву и потом из полученного мусора пытался достать интересное содержимое. Этой проблеме было подвержено до 2/3 всех сервисов в интернете, но публично об этом стало известно 7 апреля.
В чём опасность
В первую очередь эта проблема критична для тех сервисов, которые работают с платёжными данными. Например, сервисы для продажи билетов, даже если декларируют собственную защиту «бумажным» сертификатом. В России мы привыкли, что для того, чтобы провести транзакцию, нужен ещё один фактор, — например, подтверждение платежа SMS-кой. А в мире многие транзакции в интернете можно осуществить без дополнительного подтверждения, лишь введя данные кредитной карты. Сейчас лучше вспомнить, на каких сервисах вы платили в последнее время (с 7 апреля), и проверить, были ли они уязвимы, и если да — как быстро «починились».
Предупреждение на сайте tumblr
Для почты, мессенджеров и социальных сетей эта уязвимость тоже очень неприятна, но менее критична. Предположим, вы получили доступ к куску чужого письма. Произвольного (вы не можете выбрать данные, которые получите). Это, конечно, ужасно, но, чтобы им воспользоваться против жертвы, хорошо хотя бы понимать, кто эта жертва. Вероятность найти ценную информацию, которую можно применить против конкретного человека, примерно равна вероятности найти компромат на него на городской свалке.
В мире есть несколько решений для работы с зашифрованными данными. Свои собственные есть, например, у Microsoft, Apple и ряда других производителей. Ещё есть популярные разработки с открытым исходным кодом, например OpenSSL. Эту библиотеку шифрования используют 2/3 интернет-сервисов. Вот в ней и была найдена ошибка. Самое неприятное то, что пока непонятно, какие данные утекли таким образом. Уверен, впереди ещё много скандалов, когда окажется, что какой-то сервис долго не обновлялся и потому был уязвим.
Как устраняли ошибку
Обычно информация о подобных багах проходит между службами информационной безопасности крупных компаний: «Ребят, давайте обновимся, чтобы никому больно не было, а потом расскажем, и остальные догонят». А здесь так получилось, что исследователи сделали промосайт, нарисовали логотип и запустили информацию о проблеме в мир. Случился разрыв — информация стала публичной, а обновить ПО никто не успел — это занимает минимум часы. Пришлось в аварийном режиме действовать. Мне кажется, лучше, если люди узнают о таком постфактум — как минимум для того, чтобы багом не начали пользоваться десятки тысяч хакеров.
Но я, честно говоря, не предполагал, что мир может так быстро взять и обновить сервера. Прошли считанные часы. В некоторых банках, которые считаются синонимами бюрократии, сертификаты обновили быстрее, чем обычно деньги переводят. В «Яндексе» у нас десятки тысяч серверов, их удалось обновить за несколько часов. Есть, конечно, примеры организаций, которые ещё неделю «потерпели», прежде чем что-либо предпринять — надо сказать им спасибо за то, что дали потребителям соответствующий сигнал.
Когда пыль чуть-чуть улеглась, мы решили, что надо сообщить обычным людям, не специалистам в области информационной безопасности, о проблеме и попросить сменить пароль. Создали страничку security.yandex.ru, вывесили предупреждение на главной странице «Яндекса». Не все сервисы были подвержены этой уязвимости, но люди же используют одинаковые пароли — если пароли утекли в одном сервисе, лучше везде всё сменить. И вообще, менять пароли — полезно, хорошо. Почему бы не сделать это сегодня?
В «Яндексе» по понедельникам проходят встречи на тему новостей в мире, точнее, в той области мира, которая как-то касается «Яндекса». Очевидно, одной из основных тем прошлой недели был Heartbleed. Мы спросили, сколько людей всё-таки сменили пароль, и даже из суперпрогрессивного сообщества сотрудников «Яндекса» руки подняли чуть больше половины. Тем не менее, по статистике, в эти дни пользователи «Яндекса» меняли пароли в два раза чаще, чем обычно — значит, наша страничка и предупреждение сработали.
Что могли сделать
пользователи
У нас в «Яндексе» есть цель — пользователь с паролем 12345 тоже должен быть в безопасности. Важно понимать, какое поведение для этого пользователя нормально, а какое нет, и в случае отклонения от нормы как-то реагировать: просить что-нибудь ввести или подтвердить. Но очевидно, что пользователь с паролем 12345 из-за прецедентов вроде Heartbleed больше заботиться о безопасности не станет.
Для тех же, кого волнует безопасность собственных данных, есть несколько рекомендаций. В безопасном пароле не надо использовать словарные слова, надо перемешивать буквы, цифры и знаки препинания. Он должен быть нормальной длины — не менее 8-9 символов. Среди администраторов корпоративных систем есть такой фашизм, что менять надо пароли раз в три месяца, и на то есть основания — если сможете себя заставить, лучше менять.
Пользователь с паролем 12345 тоже должен быть в безопасности
А вообще, мне тысячу лет назад рассказал Илья Сегалович, как делать пароли разными, но запоминающимися. Меня поразила гениальность и простота этой мысли. Есть базовый пароль, одно слово какое-нибудь. Например, «слово». И он умел замешивать его с названием сервиса, на который он логинился. Например, «слово» и «яндекс» — не берусь утверждать, что он именно этот алгоритм использовал, у него всё было немного сложнее, но всё-таки: пароль получался «яснлдоевкос» и так далее. Это хорошая возможность всё время придумывать разные пароли и при этом никогда их не забывать.
Но если необходимо, чтобы никто и никогда физически не мог получить доступ к вашей информации, например, переписке, нужно использовать специальные приложения, которые шифруют сообщения сами, без участия сторонних серверов (ищите по словам PGP/GPG/стеганография). Чтобы на любом промежуточном звене цепочки передачи данных сообщения были представлены в виде бессмысленного набора символов. Это единственная гарантия — не потому что провайдер «пойдёт, распечатает и выдаст кому-то», для имиджа это в 500 млрд раз дороже. А просто потому, что ещё случится какая-то история вроде Heartbleed.
Комментарии
Подписаться