DigiNotar и SSL-сертификаты: ограбление по-ирански

Автор: Юрий Ильин

Опубликовано 06 сентября 2011 года

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

SSL и SSL-сертификаты: что это?

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

Поскольку шифровать должен не только сервер, но и клиент, клиенту важно убедиться в том, что выданный ему открытый ключ принадлежит именно той организации, с которой он хочет установить связь. Для этого служат цифровые сертификаты, которые выпускают так называемыецентры сертификации (Certificate Authority, или, сокращённо, CA). Цифровой сертификат содержит, среди прочего, открытые ключи владельца сертификата и подписан секретным ключом центра сертификации.

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

Компания DigiNotar была одним из таких центров сертификации.

Что случилось?

29 августа в официальном блоге Google появилось объявление о том, что на территории Ирана против пользователей сервисов компании была предпринята попытка атаки класса "человек посередине" (man-in-the-middle). Сертификаты, использованные при этом, похоже, утекли ещё в июле.

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

Первое сообщение о возможной атаке появилось на форуме техподдержки Google. Некий продвинутый пользователь, проживающий, по его словам, в Иране, пожаловался, что, когда он пытается зайти на Gmail с помощью Chrome, браузер предупреждает его о подозрительном сертификате. По-видимому, сработали добавленные в Chrome в июне дополнительные средства обеспечения безопасности.

"Когда я пользовался VPN, никаких предупреждений не было. Я думаю, это мой провайдер или правительство устроило эту атаку", - добавил автор исходного сообщения. Поскольку все интернет-соединения в стране идут через сеть местной телекоммуникационной компании Ertebatat Zirsakht, предположения, что она замешана в происходящем, не замедлили появиться.

В Google быстро выяснили, что злоумышленник использовал фальшивый SSL-сертификат, выпущенный и уже отозванный голландским центром сертификации DigiNotar. Поддержка всех сертификатов DigiNotar в Chrome была немедленно отключена; на ситуацию также оперативно отреагировали в Microsoft и в Mozilla, отключив сертификаты DigiNotar и в своих браузерах.

Кроме сертификата gmail.com, в распоряжении злоумышленников оказалось более пятисот SSL-сертификатов для целого ряда крупнейших доменов интернета, в числе которых google.com, microsoft.com, mossad.gov.il, mozilla.org, skype.com, torproject.org, windowsupdate.com, twitter.com и aol.com.

Поскольку скандала было уже не утаить, компания VASCO, которой DigiNotar приходится дочерней структурой, признала, что вообще-то о хакерской атаке на DigiNotar было известно с 19 июля. Согласно пресс-релизу, когда вторжение было обнаружено, в DigiNotar направили специалистов по компьютерной безопасности из компании Fox-IT. Они провели аудит и пришли к выводу, что проблема устранена, а все утекшие сертификаты отозваны. Затем последовали полтора месяца молчания, о которых в DigiNotar, наверное, уже жалеют.

События развивались следующим образом. Злоумышленники (или злоумышленник) получили доступ к сети DigiNotar 17 июля и орудовали там ещё пять дней. За это время они завладели административными правами на двух сертификационных серверах и выпустили сотни сертификатов. 19 июля в ходе рутинной проверки сотрудники DigiNotar обнаружили и немедленно отозвали 128 "фальшивых" сертификатов. 20 июля нашлись ещё 129 таких сертификатов. Они были отозваны на следующий день. 27 июля вспыли и тоже были отозваны ещё 75 нелегально полученных сертификатов. 29 июля обнаружен и отозван выпущенный злоумышленниками сертификат google.com.

К тому времени в DigiNotar уже заметили, что эти сертификаты пытаются использовать главным образом с иранских IP-адресов. Дальнейшее исследование вопроса показало, что 99 процентов пользователей, наткнувшихся на "липовый" сертификат google.com (датированный, кстати, 10 июля), находятся в Иране, причём соединения преимущественно осуществлялись через TOR и прокси-серверы. Тем не менее, как указывают в Fox-IT, существует вероятность того, что некоторые почтовые сообщения в Gmail могли быть перехвачены, равно как и пароли. Знание пароля позволяет заинтересованным сторонам постоянно навещать почтовый ящик без ведома хозяина и узнавать пароли уже к другим ресурсам, если их пользователь в качестве основного почтового ящика установил именно gmail.com.

И, возможно, если бы не постинг на форумах поддержки Google, никто бы ничего и не узнал.

Кому и зачем это надо?

Вообще-то в данном случае история повторяется. Весной этого года случилось событие, которое злые языки поименовали "Comodogate": центр сертификации Comodo оскандалился, когда его партнёр из Южной Европы пал жертвой сходной атаки, тоже осуществлявшейся с IP-адресов в Иране. Та атака, правда, была куда менее урожайной. Злоумышленникам удалось получить девять поддельных цифровых сертификатов: login.yahoo.com, mail.google.com, www.google.com, login.skype.com, addons.mozilla.org и login.live.com. Получен был и сертификат Global Trustee, с помощью которого злоумышленники могли выдать свой сайт за любой другой. Например, чтобы выманивать у доверчивых пользователей пароли.

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

Правда, львиная доля трудностей исчезает, если речь идёт о сети, которую полностью контролирует сам злоумышленник. Браузеры регулярно проверяют актуальность SSL-сертификатов, обращаясь к определённым адресам. Достаточно перекрыть к ним доступ, и становится возможным использовать отозванные "поддельные" сертификаты (при условии, что в браузерах нет дополнительных средств проверки, как в Chrome). Контроль над сетью упрощает и перенаправление пользователей на поддельные сайты.

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

Поскольку атака шла с иранских IP, в СМИ моментально предположили, что всё произошедшее - результат действий иранских спецслужб. Однако вскоре некий субъект, выступивший под ником ComodoHacker (он же Джанам Фадайе Рабар - Janam Fadaye Rahbar), объявил, что это его рук дело, что он действовал в одиночку и что он один стоит тысячи хакеров.

По поводу нынешней атаки специалисты из компании F-Secure снова говорили, что, "вероятно, это правительство Ирана использует такие методы, чтобы мониторить деятельность местных диссидентов".

Но вот вчера на Pastebin.com появился новый манифест от старого знакомого ComodoHacker, который опять утверждает, что это сделал он. По его словам, у него есть доступ ещё к четырём "высокопрофильным" центрам сертификации, называть которые он не стал, а также к серверам компаний StartCom и GlobalSign, к которым он получил доступ "хитроумным способом".

С DigiNotar, однако, хитроумничать, похоже, и не пришлось. Из очередного заявления ComodoHacker (цитата: "И, кстати, спросите DigiNotar об этой комбинации логина/пароля:Username: PRODUCTION\Administrator (domain administrator of certificate network) Password: Pr0d@dm1n") следует, что в DigiNotar использовали пароль, который нетрудно подобрать простым перебором.

И вот эта "сверхнадёжная" комбинация, к слову, много о чём говорит. Специалисты F-Security немного покопались на сайте Diginotar.nl и обнаружили там результаты как минимум трёх случаев успешного взлома: два посторонних файла с приветами от "иранских хакеров" на английском языке и один - с "манифестом" на турецком. Сейчас эти страницы на сайте Diginotar.nl уже, естественно, недоступны. Проблема в том, что это следы взломов, которые осуществлялись не в 2011 году, а в 2009, а то и раньше.

Возникает вопрос: как давно и до какой степени можно было хозяйничать на сайте DigiNotar? Ответ дал аудит, проведённый Fox-IT. И ответ этот печален: на критической важности серверах компании обнаружен вредоносный софт, который в принципе ловит любой антивирус, да вот только антивируса там нигде не нашлось. Софт использовался преимущественно устаревший и не пропатченный. Разделение важнейших компонентов сети либо отсутствовало, либо было неисправным. Все CA-серверы находились в одном Windows-домене, так что к ним можно было подключиться, используя один и тот же (украденный) пароль. Более того, хотя физически CA-серверы находились в безопасном месте, по-видимому, к ним можно было подсоединиться с локальной сети менеджмента.В общем, есть разгуляться где на воле. Что Джанам Рабар (если это его настоящее имя) с удовольствием и сделал.

Правда, тот факт, что взлом DigiNotar осуществлялся (предположительно) одним человеком, не отменяет вероятной причастности государственных органов Ирана к попытке использовать добытые сертификаты в своих целях.

И что теперь будет?

5 сентября в англоязычной версии блога Securelist, принадлежащего "Лаборатории Касперского", был опубликован материал "Почему Diginotar может оказаться важнее Stuxnet".

"Скриншот, доступный здесь, показывает, что сертификат *.google.com можно использовать и для цифровой подписи программного кода. Это означает, что атака может вестись отнюдь не только через браузер. Злоумышленники могут отправлять жертвам вредоносный софт и делать вид, будто он исходит от Microsoft или из каких-либо других источников, задетых атакой. И вот тогда критически важным становится заблокировать эти сертификаты и во всех операционных системах, а не только в браузерах", - пишет автор Securelist.

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

Правительства и впрямь реагируют: власти Нидерландов объявили, что компания DigiNotar потеряла их доверие и лишается права выдавать SSL-сертификаты государственным органам на территории этой страны. Причиной потери доверия, правда, является не столько сам факт взлома, сколько сокрытие информации о нём.

Кроме того, объявлено, что правительство Нидерландов начинает официальное расследование по поводу возможной причастности властей Иранской республики ко взлому компании DigiNotar и атакам на сайты правительственных организаций Голландии.