Выбрать главу

Суть проблемы в том, что сервер не проверяет корректность некоторых запросов, поступающих от клиентов. Установив соединение, клиент (не человек, конечно, а программное обеспечение) периодически обращается к серверу с просьбой подтвердить, что соединение ещё не разорвано (эта функция называется heartbeet — «биение сердца»). В ответ сервер должен вернуть некоторый небольшой объём данных, причём количество их определяет сам клиент.

Так вот, если клиент запросит больше данных, чем отправил, дефективная OpenSSL его запрос всё равно удовлетворит — и пришлёт ему кусок из оперативной памяти длиной вплоть до 64 килобайт (отсюда название ошибки: heartbleed — «кровоточащее сердце»). В куске этом, понятное дело, могут находиться сведения, к данному клиенту отношения не имеющие, — например, пароли и логины пользователей, недавно подключившихся к серверу, а также секретный криптоключ, который сервер использует для шифрования соединений. 

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

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

Впрочем, проблема шире: та же ошибка найдена и в роутерах, и в файерволах, и в IP-телефонах. А полных масштабов катастрофы не знает вообще никто — ведь OpenSSL работает не только на серверах, но и на клиентских устройствах, а также может быть интегрирована в приложения. Так, например, Google подтвердила, что ОС Android версии 4.1.1 («миллионы устройств») подвержена ошибке. Как злоумышленники смогут её использовать — не совсем ясно, но очевидно, что атака должна быть направлена на смартфон, планшетку или конкретные приложения в них.

...Что выводит нас на четвёртый вопрос: использовали ли уже дыру против рядовых сетян? И вот тут впервые появляется неопределённость. Вплоть до минувших выходных доминировали оптимисты: считалось, что практическая опасность Heartbleed чрезмерно раздута, воспользоваться ею «в полевых условиях» крайне сложно, если возможно вообще. Однако после того, как компания Cloudflare (та самая) объявила открытый конкурс на взлом своего сервера и его один за другим, применяя только Heartbleed, хакнули четыре раза (первым, кстати, был наш соотечественник Фёдор Индутный), возобладала пессимистическая версия. К выходным же подоспели и данные о том, что зафиксированы первые реальные атаки против веб-сервисов, подверженных ошибке (списки интернет-узлов, владельцы которых поленились озадачиться обновлением OpenSSL, уже гуляют по Сети). Теперь эксперты ждут появления автоматических инструментов для эксплуатации Heartbleed, после чего, как полагают, счёт жертвам пойдёт на миллионы.

Таким образом, вопрос, знали ли о Heartbleed заранее спецслужбы (какие-токто-тото же АНБ, к примеру), кажется несущественным. Даже если и знали, то по крайней мере не воровали деньги с чужих счетов, не крали интимные фотографии, не отбирали аккаунты. Больше интересно, остались ли следы прошлых взломов. Если действительно знал о Heartbleed до 7 апреля 2014 года, знал и пытался это использовать, то в логах атакованных серверов могли остаться зацепки. Но на этот счёт мнения расходятся. Шнайер, например, считает, что следов такие атаки не оставляют. Многие другие специалисты уверены, что следы остаются, и даже нашли минимум один в логах осени прошлого года.

Поэтому — вопрос пятый: что делать? Самый популярный совет — менять пароли немедленно — одновременно и самый вредный. Ведь если администратор сервера ошибку не исправил, смена пароля не поможет! Его могут украсть так же легко — и даже хуже того: его украдут с большей вероятностью, потому что он засветится в оперативной памяти сервера, когда вы будете его менять. Так вот: если Google, Microsoft, Yahoo!, Deutsche Bank, PayPal и некоторые другие (примерно каждый десятый) озаботились обновлением версии OpenSSL и отзывом старых (возможно скомпрометированных) сертификатов (упоминавшиеся выше тайные криптоключи, несколько упрощая, это часть сертификата сайта — его «удостоверения личности»: браузер проверяет такое удостоверение при подключении и подсвечивает адрес зелёным, если проверка прошла успешно), то сотни тысяч других веб-ресурсов ничего не исправляли. Так что сетяне сейчас стали заложниками своих любимых сайтов.