Сотрудник отдела безопасности финансовой компании BNP Paribas Investment Partners Фирас Салем (Firas Salem) обратил внимание на странное поведение операционной системы Windows, а конкретно — наличие нескольких списков доверенных сертификатов. Основной список Windows Certificate Trust List (CTL) содержит все источники корневых сертификатов, которым система доверяет по умолчанию.
Для сравнения, в старом добром certmgr.msc
показана только малая часть этого списка, которая гордо преподносится как «Доверенные корневые центры сертификации». Настоящий список спрятан в глубине системы, в странном формате, и Windows даже не предоставляет графического интерфейса для доступа к нему. А попробуй найти что-нибудь среди системных файлов, если папка \Windows после после чистой установки Windows 10 содержит 84 000 файлов и 50 000 папок.
The \WINDOWS folder of a clean Windows 10 installation contains 84 thousand files - and 50 thousand folders! pic.twitter.com/HIw7oBjnUE
— Mikko Hypponen (@mikko) 28 июля 2015
Начиная с версии Windows Vista в систему добавлен механизм автоматического обновления AutoUpdate, который скрытно скачивает новый список доверенных корневых центров сертификации с удаленного сервера.
Поскольку в certmgr.msc
система показывает неполную информацию, то простые пользователи и даже некоторые эксперты по компьютерной безопасности наивно полагают, что Windows доверяет всего десятку-другому центров сертификации. На самом деле счет идет на сотни.
Специалист предлагает простой способ проверить, как Windows «химичит» с сертификатами. Если открыть certmgr.msc
, то можно убедиться, что в нем отсутствует центр сертификации "OpenTrust Root CA G3". Далее заходим браузером IE или Chrome на https://opentrustrootcag3-test.opentrust.com/ — и браузер устанавливает защищённое соединение SSL. По нажатию на значок SSL выводится информация, что сертификат выдан центром "OpenTrust Root CA G3", которого вообще-то не было в списке.
Снова открываем certmgr.msc
— и пожалуйста, там уже есть "OpenTrust Root CA G3". Каким образом? Да потому что Windows и раньше считала его доверенным центром и он был в списке CTL.
Таким образом, при работе с Windows нужно иметь в виду, что certmgr.msc
содержит неполную информацию.
Совершенно непонятно, говорит Фирас Салем, зачем в Windows реализовали такую запутанную систему с хранением двух списков корневых сертификатов, один из которых неполный, а другой (полный) спрятан от просмотра. Можно предположить, что это сделано для удобства пользователей.