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.