Ваш банк уже взломан
В «сердце» интернет-банков обнаружилась серьезная болезнь
Фото: Fotolia

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

Крушение криптоиллюзий

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

По статистике две трети веб-серверов в Интернете для шифрования передаваемых данных используют компонент OpenSSL. Это самое популярное криптографическое решение: оно поставляется с открытым исходным кодом. Это позволяет кому угодно проверять его на предмет ошибок и намеренных «закладок». Тем не менее никакой открытый код не спас продукт от серьезнейшей уязвимости, информация о которой была обнародована в понедельник, 7 апреля.

Уязвимость CVE-2014-0160 кроется в небольшом расширении протокола TLS, которое называется Heartbeat («сердцебиение»). Этот компонент нужен для долговременного удержания сеанса в случае, когда продолжительное время никакие данные не передаются. С помощью Heartbeat клиент с сервером периодически обмениваются небольшими пакетами данных, давая друг другу знать, что связь не прервалась.

Все бы хорошо, но, как стало известно, любой клиент, подключившийся к серверу по защищенному каналу, может получить в пакете Heartbeat произвольный кусочек содержимого оперативной памяти сервера (равно как и наоборот — вредоносный сервер может получить содержимое памяти клиента). Кусочек небольшой — всего 64 килобайта, но такие пакеты можно запрашивать многократно. Рано или поздно атакующий получит ценные данные, которые сервер держит в оперативной памяти: идентификаторы сессий, имена и пароли подключенных пользователей, долговременные и сессионные ключи шифрования. Такая деятельность следов не оставляет: если администратор сервера не ждет атак такого рода, у него нет шансов узнать об утечке данных. Специалисты компании Codenomicon, обнаружившей уязвимость, окрестили ее Heartbleed (от англ. heart bleed, «сердечное кровотечение»).

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

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

Хакеры против банков

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

К счастью, не все интернет-банки используют OpenSSL. Так, по словам ведущего специалиста департамента информационной безопасности компании «БИФИТ» (одного из ведущих отечественных поставщиков решений ДБО. — Прим. ред.) Алексея Левина, их продукт этой уязвимости не подвержен: «Уязвимость CVE-2014-0160, о которой стало широко известно 7 апреля, связана с ошибкой в реализации нового функционала для протокола TLS в библиотеке OpenSSL. Данная библиотека используется в том числе веб-серверами Apache и Nginx, у которых собственная реализация протоколов SSL/TLS отсутствует.

Указанная уязвимость позволяет удаленно считывать некоторые данные из памяти сервера. Соответственно, продукты (CRM-системы, системы интернет-банкинга), построенные на базе этих веб-серверов и использующие протокол HTTPS для защиты информации, могут быть уязвимы. Система iBank 2 компании «БИФИТ» в качестве веб-сервера использует Tomcat. Для реализации протоколов SSL/TLS в нем используется реализация криптографических алгоритмов в стандартных библиотеках, поставляемых со средой выполнения Java. Таким образом, найденная уязвимость не может быть использована для компрометации информации серверов системы iBank 2».

Тем не менее имеются и примеры очевидной халатности. Вечером 9 апреля мы проверили топ-30 российских банков. В интернет-банках двух из них нашлась незакрытая уязвимость — это значит, что на протяжении минимум трех дней имена пользователей и пароли их клиентов были открыты для любого хакера, знакомого с Heartbleed, а таких сейчас великое множество. Это если допустить, что до 7 апреля никто о Heartbleed не знал. А никакой уверенности в этом быть не может.

Но уязвимость сама по себе — беда не такая большая, закрыть ее несложно. Проблема также кроется в возможности утечки долговременного закрытого ключа шифрования интернет-банка. По словам руководителя группы исследования уязвимостей «Лаборатории Касперского» Вячеслава Закоржевского, «в случае утечки закрытого ключа сертификата злоумышленники могут создать фишинговый сайт, маскирующийся под интернет-банк, который будет опознаваться браузером клиента как настоящий сайт, защищенный сертификатом. Кроме того, возможны атаки и без фишинга, подменой DNS или подменой шлюза в локальной сети — в этом случае клиента не нужно даже заманивать на фишинговый сайт. Он будет открываться при вводе адреса интернет-банка».

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

Сменить долговременный ключ можно. Для этого требуется заблокировать выданный интернет-банку сертификат безопасности и получить новый. Но это может занять немало времени. Так, заместитель руководителя лаборатории компьютерной криминалистики компании Group-IB Сергей Никитин говорит: «Когда сведения об уязвимости были опубликованы, специалисты начали спешно устранять проблему. Но в случае сложных систем это процесс небыстрый. Кроме того, имеется вероятность компрометации закрытого ключа шифрования — это значит, что необходимо получить новый сертификат сайта. В зависимости от удостоверяющего центра, это может занимать от нескольких часов до двух недель. И стоит такая процедура приличных денег, что также может вызвать затруднение у банковского IT-департамента: деньги-то в итоге дадут, но пока все согласуешь…»

Банковая неопределенность

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

8 апреля на популярном техноблоге «Хабрахабр» появился пост от некоего эксперта в области информационной безопасности, в котором он обличает заторможенность банков в отношении исправления уязвимости. Обзвонив несколько уязвимых банков, он был неприятно поражен их реакцией. На условиях анонимности он сообщил порталу Банки.ру о своих попытках привлечь внимание к проблеме: «Об этой уязвимости я узнал 8 апреля примерно в 8 часов утра. К 9 утра устранил ее на дюжине своих серверов, это было несложно. Затем сделал рассылку уязвимым VPN-сервисам, а часов в 11 начал связываться с банками и платежными системами.

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

Некоторым банкам потребовалось до 48 часов для устранения уязвимости. По моим оценкам, в руках злоумышленников могло оказаться до 30% данных клиентов, которые совершали операции через систему интернет-банкинга в то время, пока он был уязвим. По сути, это самая опасная уязвимость в истории Интернета — и тем более удивительно отсутствие широкого освещения проблемы в русскоязычных СМИ. О чем еще можно было говорить 8 апреля, кроме как о Heartbleed?!»

Представитель упомянутого в посте Альфа-Банка заявил порталу Банки.ру, что относительно них в посте допущена ошибка. «Интернет-банк не был подвержен уязвимости. Имелась проблема с сайтом банка, и мы смогли его защитить в течение часа после того, как узнали об этом. Перевыпуск сертификата для сайта также начат, на всякий случай. В результате инцидента могли утечь логины и пароли пользователей нашего сайта, но не интернет-банка. Угрозы финансам наших клиентов нет», — уверяет руководитель интернет-представительства Альфа-Банка Константин Гусев.

Отвечая на запрос Банки.ру, департамент информационных технологий банка «Ак Барс» сообщил: «В настоящее время совместно с производителем программного обеспечения ведется работа по устранению уязвимости Heartbleed в OpenSSL и ее последствий. В ОАО «АКБ «Ак Барс» проведение всех финансовых операций в ДБО физических лиц требует введения дополнительного секретного кода, полученного в банкомате либо присланного при помощи СМС-сообщения. Данная степень защиты не позволяет осуществить хищение денежных средств со счетов и пластиковых карт клиентов с использованием вышеуказанной уязвимости».

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

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

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

Вице-президент банка «Русский Стандарт» Артем Лебедев сообщил порталу Банки.ру о мерах, принимаемых банком: «Банк оперативно произвел обновления библиотеки OpenSSL на всех используемых продукционных серверах. Банк использует двухфакторную авторизацию для системы интернет-банка, при этом для полной защиты пользователей в настоящее время осуществляется сброс сформированных пользователями паролей с одновременным информированием всех клиентов интернет-банка о необходимости формирования новых паролей для использования системы. Кредитная организация также предлагает безопасный способ использования системы ИБ — вход по одноразовому паролю: в этом случае для входа в интернет-банк, помимо логина и пароля, требуется дополнительно ввести одноразовый код, направляемый в СМС-сообщении. Никаких инцидентов, вызванных ситуацией с OpenSSL, в банке не зафиксировано. Перевыпуск сертификата OpenSSL в настоящее время практически завершен».

Повторимся: устранение уязвимости Heartbleed не исключает возможности того, что закрытый ключ сертификата попал в руки злоумышленников. Вечером 10 апреля мы проверили сертификаты интернет-банков из топ-30 рейтинга. Судя по датам выдачи, ни один из банков сменить сертификат пока не успел. Их клиенты потенциально уязвимы перед атаками.

Впрочем, защитить свои деньги можно и в такой ситуации. Вячеслав Закоржевский рассказал порталу Банки.ру, как рядовые пользователи интернет-банков могут защититься от Heartbleed: «Клиентам банков мы можем порекомендовать не совершать операций в интернет-банке в течение минимум недели (до 17 апреля), дав время банкам получить новые сертификаты, после чего сменить пароль к интернет-банку. Если же ваш ИБ позволяет совершать операции лишь при вводе логина и пароля, без использования одноразовых кодов со скретч-карты или СМС и без электронного подписания платежного документа, лучше всего заблокировать учетную запись в интернет-банке до смены его сертификата».

Михаил ДЬЯКОВ, Banki.ru