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

Баг в пакете 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, если вам действительно дорога ваша анонимность в интернете, в ближайшие несколько дней лучше вообще не выходить онлайн.

#Статья #интернет #шифрование #OpenSSL #SSL #уязвимость #баг #heartbeat #Heartbleed #безопаность_данных #хакерство

{ "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" }
Комментарии

Уютный микроскоп

6

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

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

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

Абстрактный магнит

3

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

Как знать.

Совместный ящик

6

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

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

Интернет
дискуссии в сообществе доступны только владельцам клубного аккаунта
С клубным аккаунтом вы сможете
создавать записи и вести дискуссии в закрытых сообществах
наслаждаться нашим сайтом без рекламы
помочь проекту и почувствовать себя лучше
Купить за 75₽

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "i", "ps": "cndo", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "i", "ps": "cndo", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "ezfk" } } }, { "id": 6, "disable": true, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byswn", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "cndo", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223677-0", "render_to": "inpage_VI-223677-0-130073047", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=cndo&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudv", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "ccydt", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fzvc" } } } ]
Оперативные новости со всего мира
Подписаться на push-уведомления