Konstantin Panphilov
4 622

Почему Heartbleed оставался незамеченным на протяжении двух лет

Новостное издание Vox известно тем, что пытается объяснить сложные инфоповоды простым языком. 12 апреля там появился материал о том, почему уязвимость Heartbleed была незаметна на протяжении целых двух лет — оказывается, причина в недостаточном финансировании организаций, которые занимаются разработкой и поддержкой программного обеспечения с открытым исходным кодом.

Что стало причиной появления широко обсуждаемого сейчас бага в OpenSSL, получившего название Heartbleed? Мы знаем, что всему виной простая невнимательность — немецкий разработчик допустил ошибку во время очередного обновления кода, забыв добавить проверку длины запроса. Человек, который проверял код, также ничего не заметил — как и никто другой на протяжении двух лет (если, конечно, АНБ не лукавит). 

OpenSSL — проект с открытым исходным кодом, его поддерживают всего 4 европейских программиста, только один из которых рассматривает это как свою постоянную работу. Бюджет OpenSSL Foundation составил менее одного миллиона долларов в 2013 году. Одновременно с этим, OpenSSL используют огромное количество сайтов, и на устранение последствий придётся потратить миллионы долларов в одних только США. 

Агентство национальной безопасности до сих пор отнекивается от своей причастности к Heartbleed

Чем брешь в безопасности отличается от других багов 

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

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

Возникает вопрос — почему существование этого благотворного замкнутого круга не привело к тому, что уязвимость Heartbleed не была обнаружена гораздо раньше? Проблема в том, что такие уязвимости не похожи на остальные баги — большинство обычных ошибок всплывают во время использования программы, их быстро замечают и исправляют. 

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

Так что обычная модель, принятая в open source (когда пользователи сами сообщают об ошибках), не работает, если говорить о вопросах безопасности. Это требует специального аудита, на который руководство часто не хочет тратить время и ресурсы. 

Под угрозой оказались не только сайты, но и мобильные приложения

Исследованиям по безопасности нужно больше финансирования 

Чтобы ПО было безопасным, нужны люди, которые будут заниматься поиском уязвимостей. Сейчас есть структуры, которые работают в этом направлении — сам Heartbleed был обнаружен исследователями из Google и Codenomicon. 

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

Для этого, во-первых, самому проекту OpenSSL требуется дополнительное финансирование. 

Правительства, корпорации и фонды, использующие эту библиотеку, могут отчислять определённую сумму, чтобы ключевая команда OpenSSL могла посвящать проекту всё своё время и нанять себе помощников.

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

Бонус: как защититься от последствий Heartbleed 

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

Стоит сменить пароли везде, где только можно, и использовать специальные инструменты, которые позволяют проверить сохранность данных на том или ином сайте. 

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

#безопасность #уязвимость #heartbleed #сменить_пароль #как_защитить_свои_данные #нужно_больше_золота

Статьи по теме
Ультимативный гайд по безопасности данных
{ "author_name": "Konstantin Panphilov", "author_type": "self", "tags": ["\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c","\u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c","heartbleed","\u0441\u043c\u0435\u043d\u0438\u0442\u044c_\u043f\u0430\u0440\u043e\u043b\u044c","\u043a\u0430\u043a_\u0437\u0430\u0449\u0438\u0442\u0438\u0442\u044c_\u0441\u0432\u043e\u0438_\u0434\u0430\u043d\u043d\u044b\u0435","\u043d\u0443\u0436\u043d\u043e_\u0431\u043e\u043b\u044c\u0448\u0435_\u0437\u043e\u043b\u043e\u0442\u0430"], "comments": 1, "likes": 13, "favorites": 0, "is_advertisement": false, "section_name": "default", "id": "3461", "is_wide": "1" }
{ "is_needs_advanced_access": false }

Комментарии Комм.

Популярные

По порядку

0

Прямой эфир

Подписаться на push-уведомления
[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "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" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "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": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&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": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } } ]