На этой неделе специалисты Google и компании Codenomicon опубликовали данные о мегабаге, который получил название Heartbleed. Уязвимость, обнаруженная в популярном бесплатном криптографическом пакете OpenSSL, который использует как минимум две трети сайтов в мире, позволяла читать куски оперативной памяти сервера и, как следствие, получать доступ к логинам и паролям пользователей, их Cookie или даже к приватным SSL-ключам. 

Heartbleed может стать, если уже не стала, самой большой информационной уязвимостью в истории интернета, пугают специалисты. Так, федеральное ведомство Германии по безопасности в сфере информационных технологий (BSI) оценило проблему как «критическую». Проект Tor заявляет, что, «если вам нужна полная анонимность и безопасность в интернете, вам, скорее всего, придется полностью воздержаться от посещения интернета в течение следующих нескольких дней, пока все не уляжется». 

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

Сейчас проблему пытаются решить на местах − в конкретных компаниях и на конкретных серверах. Но специалисты из International Computer Science Institute (ICSI) уверены, что этот баг еще даст знать о себе: «Катастрофическая, разрушительная уязвимость. В течение всего года будут обнаруживаться уязвимости серверов, все исправят еще не скоро».

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

– Комментарии ваших коллег в связи с этой историей чуть ли не апокалиптические. Вы действительно считаете, что случилась катастрофа?

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

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

– Библиотека OpenSSL совершила один из самых быстрых взлетов в своей категории. Это авторитетный и удобный механизм. После того как ее стал использовать для части своих серверов Google, рынок в целом окончательно успокоился. Все понимали, что крупнейшая интернет-компания проводила длительную экспертизу продукта и проверяла его код на ошибки, иначе быть не может. 

Поэтому главный вопрос сегодня: не почему Heartbleed был пропущен, а почему его так долго не замечали специалисты Google? Моя версия заключается в том, что все сложнее, чем нам кажется сейчас на первый взгляд: уязвимость пережила две стадии – скрытую и открытую. Вы идете по улице и видите открытый люк – обходите его пару раз, а потом сообщаете коммунальным службам о проблеме, они приезжают и закрывают его, понимая, что открытый люк – это небезопасно. Большинство уязвимостей в современных программных пакетах чаще всего обнаруживаются и ликвидируются еще на стадии открытого люка. Но Heartbleed был открытым люком с невидимой пленкой. Туда падали, но никто этого не замечал. 

Вы скажете, что я брежу – бывает ли такая невидимая пленка? История с Heartbleed показывает, что на программном уровне все-таки да. Это ошибка со сложной конфигурацией, которая сначала ловко мимикрировала под правильный код, а потом вдруг решила, что скрываться больше не надо. Ребята из Google, конечно, сделали многое, чтобы определить уязвимость, но справедливости ради надо понимать, что нашли они ее, когда ошибка сама громко заявила о себе.

– Как получаются такие незаметные уязвимости? Это ошибка разработчиков или результат работы хакеров? 

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

Вторая версия, более правдоподобная, хотя и тоже довольно неожиданная, заключается в том, что это искусственно созданная уязвимость. Известно, что два года назад те же эксперты Google уже выявляли ошибку в OpenSSL 1.0, которая позволяла умелому специалисту выполнить в системе произвольный код. Тогда ее быстро исправили, но вот насколько быстро – главный вопрос. Иногда для того, чтобы переконфигурировать часть кода под себя для стратегических изменений в дальнейшем, хватает и нескольких часов.

– Почему, несмотря на то что уязвимость найдена, проблема, как вы считаете, будет решаться еще несколько лет?

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

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

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

– Все правильно. Алармизм связан в первую очередь с уже нанесенным ущербом, а главное, с невозможностью его сейчас оценить. Это мина замедленного действия, никто не знает, когда может случиться взрыв. Миллионы обворованы, но не знают об этом. Уязвимость может использоваться совершенно незаметно. 

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

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

–  Но может быть и так, что злоумышленники, как и компании, использующие OpenSSL, узнали о Heartbleed вместе с нами.

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

– А что будет дальше? Все так и продолжат использовать прежние системы шифрования, закрыв глаза на эту историю и надеясь, что в это раз пронесет?

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

Библиотека либо должна получать значительное дополнительное финансирование со стороны корпораций, либо на совершенно другом уровне развивать краудсорсинг; только за ежедневный мониторинг системы должны отвечать 10–15 человек. 

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

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