Сердечная уязвимость Статьи редакции

Баг в пакете OpenSSL поставил под угрозу безопасность сотен тысяч сайтов

7 апреля стало известно, что более двух лет логины, пароли и электронная переписка миллионов пользователей по всему миру находились под постоянной угрозой похищения хакерами. Виной тому вовсе не спецслужбы или активисты Anonymous, а небольшой баг, закравшийся в пакет шифрования данных OpenSSL.

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

TJournal попытался разобраться в том, что же представлял из себя ужасный баг и действительно ли стоит бояться связанных с ним последствий.

Что такое OpenSSL?

Криптографический пакет OpenSSL, в котором был обнаружен баг Heartbleed, используется уже очень давно. Первый релиз OpenSSL состоялся еще в конце 90-х. Приставка «Open» в его названии означает, что исходный код пакета находится в открытом доступе. 

Как можно догадаться по второй части названия, OpenSSL основывается на протоколе SSL (Secure Sockets Layer, или «уровень защищенных сокетов»). Протокол еще старше. Он был разработан компанией Netscape Communications в 1994 году и изначально использовался только в браузере Netscape Navigator. 

Сегодня SSL интегрирован во все основные интернет-браузеры. Используют протокол и многие популярные сайты и сервисы. Например, Google или Facebook включают SSL-шифрование по умолчанию. 

Основная задача OpenSSL — обеспечить безопасную передачу данных между сервером и пользователем, открывающим расположенный на нем сайт. 

Внешне установку защищенного SSL-соединения можно заметить по небольшой иконке закрытого замка, которая появляется в строке браузера. Сам адрес в строке при этом начинается не с привычного http://, а с https:// (буква «s» обозначает здесь слово secure, то есть «безопасный»). 

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

В чем суть уязвимости Heartbleed?

Работа OpenSSL устроена таким образом, что компьютеры, соединяемые с помощью этого пакета, имеют возможность посылать друг другу так называемые запросы о текущем состоянии. Для этого в OpenSSL прописана специальная функция под названием heartbeat («пульс»). С помощью heartbeat, как поясняет новостной интернет-портал Vox, один компьютер может узнавать у другого, находится ли тот до сих пор онлайн или нет. 

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

Что именно окажется в этих килобайтах, злоумышленник предугадать не мог. Тем не менее, запрос данных по 64 килобайта можно повторять какое угодно количество раз, а значит для получения хранящихся в оперативной памяти криптографических ключей, паролей или логинов требовалось только время и немного усердия. 

Насколько все плохо?

СМИ поспешили назвать heartbeat «самым опасным» и «катастрофическим» багом в истории интернета. В какой-то мере это действительно так. 

Ужас ситуации заключается в том, что OpenSSL является самым распространенным криптографическим пакетом в сети. По данным Netcraft, его используют более 65 процентов всех интернет-ресурсов (от Google и Yahoo до сайтов ФБР и «Альфа-банка»). От бага не защищен ни проект Tor (адрес его страницы torproject.org начинается с https://), , ни серверы Apache, — на которых работают миллионы сайтов —, ни многие операционные системы — семейств Linux и BSD (например, Ubuntu).

Подключается ли пользователь к сети через обычное соединение или через VPN, в данном случае не имеет никакого значения. Как только heartbleed удается в блоках по 64 килобайта добыть не просто персональные данные, а ключ для их расшифровки, использовавший уязвимость хакер может беспрепятственно получать доступ к информации человека, не оставляя при этом никаких следов взлома соединения. Как уже отмечалось выше, в руках «третьих лиц» могут таким образом оказаться логины, пароли, данные кредитных карт, имейлы — практически все, что передается между уязвимым сервером и клиентом. 

Не добавляет оптимизма и то, что баг в общей сложности просуществовал около двух лет. Узнать кто, когда и в каком объеме успел за это время им воспользоваться, невозможно. Сейчас, когда уязвимость уже устранена, потребуется время, чтобы сотни тысяч оказавшихся в опасности сайтов и серверов установили исправленную версию OpenSSL и перевыпустили SSL-сертификаты. 

Слово «катастрофический» в этой ситуации совершенно оправданно. По шкале от 1 до 10 это примерно 11. Настоящий вопрос — не вписал ли кто-то два года назад этот баг в OpenSSL намеренно, чтобы получить доступ к защищенным сведениям. Я думаю, что это случайность, но доказательств, подкрепляющих эту точку зрения, у меня нет. Брюс Шнайер, американский криптограф и специалист по компьютерной безопасности

Но даже после этого трудно будет сказать не использует ли кто-то схожую с heartbleed уязвимость для создания новых обходных путей для взлома зашифрованных соединений. 

Что делать?

Обычному пользователю остается только ждать. До тех пор, пока сайты и серверы не установят обновленный патч OpenSSL (Google, Facebook, Twitter и Yahoo это уже сделали), менять пароли от аккаунтов и как-то еще пытаться защитить свои данные не имеет смысла. Проверить, насколько безопасен тот или иной ресурс, пока можно на специально созданном для этого сайте. С другой стороны, как советует администрация Tor, если вам действительно дорога ваша анонимность в интернете, в ближайшие несколько дней лучше вообще не выходить онлайн.

{ "author_name": "Виктор Степанов", "author_type": "self", "tags": ["\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u0435","\u0445\u0430\u043a\u0435\u0440\u0441\u0442\u0432\u043e","\u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c","\u0441\u0442\u0430\u0442\u044c\u044f","\u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442","\u0431\u0435\u0437\u043e\u043f\u0430\u043d\u043e\u0441\u0442\u044c_\u0434\u0430\u043d\u043d\u044b\u0445","\u0431\u0430\u0433","ssl","openssl","heartbleed","heartbeat"], "comments": 23, "likes": 21, "favorites": 0, "is_advertisement": false, "subsite_label": "internet", "id": 50408, "is_wide": true, "is_ugc": true, "date": "Wed, 09 Apr 2014 21:57:09 +0400", "is_special": false }
0
23 комментария
Популярные
По порядку
Написать комментарий...
Плоский кубок

В статье сказано, что опасность главным образом исходит от того, что кто-то может похитить SSL-сертификат и расшифровать трафик. Это не вся правда. Дело в том, по сети и так передается огромное количество не зашифрованных данных (хотя и не столь конфиденциальных), и их сохранность остается на совести провайдеров, и в целом это не является большой проблемой.

Новое в этой ситуации то, что совершенно произвольные люди могли в течении дня читать случайные участки памяти серверов самых популярных сайтов практически неограниченное кол-во раз. Если в это время вы заходили в почту, кто-то наверняка получил вашу сессионную куку и прочел с её помощью всю вашу почту. Если вы логинились (передавали логин и пароль), то и они наверняка попали к кому-то третьему.

6
Мирный Мика

Самое интересное то, что судя по комментариям на хабре, не всякий достаточно серьезный сайт серьезно относился к этой уязвимости. И вот это то и является большой проблемой. Насколько я понял, саму дыру достаточно быстро закрыли и выкатили обновки SSL

0
Бледный самолет

Самое интересное, что вы, похоже, не полностью или не внимательно прочитали статью. Там всё это описано.

0
Мирный Мика

мда, вы правы.

0
Плоский кубок

Serp, если вы про предложение: «Как только heartbleed удается в блоках по 64 килобайта добыть не просто персональные данные, а ключ для их расшифровки, …», то никакие ключи не нужны. Данные в памяти сервера хранятся в сыром виде. Да и насколько я понимаю, расшифровать произвольный кусок трафика в 64кб не получилось бы. Для этого нужен весь трафик с начала установки соединения. Это видно из скриншота, трафик там в открытом виде.

0
Бледный самолет

Я вот про это

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

Память не зашифрована, можно копаться, сколько влезет.

0
Смутный Мурод

Наконец-то! Спасибо, tjournal!
Я просто ни о чем не мог думать в течение этих двух дней. Совершенно не понимал, почему о баге никто особо из русскоязычных СМИ не пишет. Как можно обсуждать что-то другое?
Это же просто баг всего интернета.
Я получал логины и пароли всех банков, платежных систем, читал почту на yandex и yahoo. Просто невообразимо, что некоторые банки патчили свои серверы в течение, внимание, 40 часов! Просто представьте, сколько информации можно было получить за это время!

Начал потом уже входить в банки под пользователями и звонить пользователям на телефоны, чтобы они тоже звонили в свои банки и сообщали, что уязвимость следует устранить как можно быстрее.

Кому интересно узнать больше об этом баге, и что следует делать конкретно вам: http://habrahabr.ru/post/218661/

6
Бледный самолет

Виной тому вовсе не спецслужбы

Как знать.

3
Чеченский Никита

Вы оказались правы: http://tjournal.ru/paper/nsa-heartbleed

0
Одинокий велосипед

Какой смысл не выходить в онлайн эти два дня, если своровать всё у всех могли на протяжении двух лет?

1
Невинный диод

Потому что сейчас об этом баге узнали все.

11
Правильный Макс

Я думаю надо убегать

1
Зенитный кран

В который раз жалею, что не взялся за голову и не учился.

1
Далекий пёс_анон

Хлоя открыла-таки сокет

1
Живой единорожек88

А вконтактик прилег по этому поводу или что вообще происходит?

0
Чеченский Никита

Не повезло и Steam. Если кто-то пользуется, лучше поменять пароль и сбросить настройки Steam Guard.

0
Мирный Мика

только сделать это надо после того, как steam гарантировано пролечит дыру

0
Чеченский Никита

Они объявили, что уже пролечили

0
Медицинский рубин

Из-за этого в 5 утра пришлось обновлять openssl :(

0
Страшный Филипп

Так уязвимы те, кто разрешал heartbeat. ЕМНИП, у гугла такое было запрещено.

0
Смутный Мурод

Нифига. Баг нашел работник гугла. Сначала гугл запатчил все свои сервисы, затем они сообщили крупным CDN (Akamai, CloudFlare) и другим сервисам, и только потом в публичный доступ выложили.

0
Заключенный дебаркадер

Но ведь баг не на всех версиях OpenSSL проявился?

0
Связанный Гоша

Система внедрения троянов и уязвимостей Сноуден разоблочал что следят за всеми сотовыми телефонмаи их перемещением по всей планете , атакже внедряют и финнсируют УЭК - ЕС официально заплатил 2млн евро американцы внедряют чужими руками и пятой коолонной тоже, с УЭК считываюся клонируются модифицируются до 300 метров бытовой аппаратурой, и взлом черезчерный ход все данные в одной корзине квартира продажа через госуслуги тоже заплатил за жкх продали квартиру бандитам

–1
Читать все 23 комментария
null