Здравствуйте, уважаемые хабровчане.

Я решил провести собственное небольшое расследование о так называемых «сертификатах безопасности» от Минцифры. Цель — собрать полное техническое досье и разобраться, почему их установка может нести потенциальные риски для безопасности данных.

(Оригинал без терпения, все скрипты и файлы, упомянутые в статье, доступны в этом GitHub‑репозитории).

Этап 1: Добыча улик

Первая же задача оказалась нетривиальной: на официальной странице нельзя просто скопировать ссылку на скачивание сертификата. Соответствующий пункт в контекстном меню отсутствует.

Сайт Госуслуг с кнопками скачивания
Сайт Госуслуг с кнопками скачивания

Чтобы получить прямую ссылку, я написал простой скрипт для Tampermonkey, который перехватывает событие клика и логирует URL запроса.

Скрипт доступен в репозитории: ./scripts/getlink.user.js

Скрипт показал, что кнопка не ведет на файл, а вызывает функцию из минифицированного JavaScript‑файла:

Консоль с выводом скрипта
Консоль с выводом скрипта

Ссылка вела на https://gu-st.ru/landings-st/main.4978f1b2316e002d.js.

Этап 2: Деобфускация

Содержимое JS‑файла было ожидаемо обфусцировано и представляло собой одну строку кода.

Обфусцированный JS-код
Обфусцированный JS‑код

После недолгого анализа кода удалось найти искомое — прямые ссылки на архивы с сертификатами:

Примечание: Эти ссылки могут стать неактуальными со временем. Для автоматизации поиска можно использовать скрипт на Go (./scripts/deob.go). Впрочем, все необходимые файлы уже сохранены в репозитории в папке ./certs.

Скачиваем файлы с помощью wget:

# Скачиваем корневые сертификаты
wget "https://gu-st.ru/content/lending/linux\\_russian\\_trusted\\_root\\_ca\\_pem.zip"
# Скачиваем выпускающие (промежуточные) сертификаты
wget "https://gu-st.ru/content/lending/russian\\_trusted\\_sub\\_ca\\_pem.zip"
Терминал с выводом wget
Терминал с выводом wget

Файлы успешно скачаны. Распаковываем архивы:

unzip "*.zip"
Терминал с выводом unzip
Терминал с выводом unzip

Улики собраны. Переходим к их изучению.

Этап 3: Анализ сертификатов

Дисклеймер: Далее следует технический анализ с использованием консольных утилит.

Начнем с ключевого «фигуранта» — корневого сертификата russian_trusted_root_ca_pem.crt.
Нас интересуют три основных аспекта:

  • Subject — кому выдан сертификат.

  • Issuer — кем он подписан.

  • X509v3 extensions — какими полномочиями он обладает.

Для анализа воспользуемся стандартной утилитой openssl.

# Анализируем корневой RSA сертификат
openssl x509 -in russian_trusted_root_ca_pem.crt -text -noout
# Анализируем корневой ГОСТ сертификат
openssl x509 -in russian_trusted_root_ca_gost_2025_pem.crt -text -noout
# Анализируем промежуточный RSA сертификат
openssl x509 -in russian_trusted_sub_ca_pem.crt -text -noout

Вывод команды достаточно объемен, особенно для тех, кто не работает с криптографией на ежедневной основе:

Вывод команды openssl
Вывод команды openssl

Полные результаты анализа на момент написания статьи сохранены в репозитории:

Этап 4: Промежуточные выводы и структура

Анализ показал, что мы имеем дело с двумя полноценными иерархиями PKI (на базе RSA и ГОСТ). Обе являются технически корректными Удостоверяющими Центрами (CA) с полномочиями выпускать сертификаты для любых доменных имен.

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

Анализ угроз: что становится возможным?

Итак, мы изучили сертификаты. Теперь главный вопрос: каковы реальные возможности владельца такого сертификата?

Если коротко: возможность легитимно дешифровать HTTPS‑трафик пользователя. Весь. С любого устройства, где установлен данный сертификат.

Обычно HTTPS защищает данные между вами и сайтом, и интернет‑провайдер видит лишь зашифрованный поток. С установленным корневым сертификатом эта защита может быть скомпрометирована.

MitM-атака как легализованная функция

В обычной ситуации при попытке перехвата трафика браузер выведет предупреждение CONNECTION_NOT_PRIVATE. Это его штатная работа — защищать пользователя от поддельных сертификатов.

С установленным корневым сертификатом Минцифры ситуация меняется. Злоумышленнику, контролирующему канал связи (например, провайдеру), даже не нужно прибегать к таким техникам, как ARP‑spoofing. Он уже находится «посередине». Сертификат лишь дает ему ключ для расшифровки трафика.

Для пользователя все выглядит штатно. Но на промежуточном узле весь трафик может быть прочитан: логины, пароли, переписки, финансовая информация.

Отдельный вопрос: криптография ГОСТ

С RSA‑сертификатами вопрос доверия сводится к доверию владельцу УЦ. С ГОСТ‑сертификатами добавляется еще один уровень — доверие самой криптографии.

Международные алгоритмы (RSA, AES) прошли десятилетия публичного аудита и криптоанализа со стороны тысяч независимых исследователей по всему миру.

Отечественные криптографические стандарты не могут похвастаться таким же уровнем открытости и независимого международного анализа.

Мы не можем утверждать о наличии или отсутствии бэкдоров в ГОСТ, но этот фактор стоит учитывать при оценке рисков.

Сравниваем официальные тезисы с технической реальностью

Давайте разберем официальные тезисы с сайта Госуслуг и сопоставим их с тем, что мы выяснили.

1. Тезис: "Без наших сертификатов вы не защищены"

Цитата: «Без сертификатов ваши личные данные недостаточно защищены, поэтому при попытке зайти на сайт появится предупреждение о небезопасности ресурса».

Реальность: Это утверждение, мягко говоря, лукавство, рассчитанное на технически неподкованного пользователя.

Почему это не так:

  • Любая современная ОС (Windows, macOS, Linux) поставляется с обширным набором доверенных корневых сертификатов от десятков мировых УЦ (DigiCert, Let's Encrypt и так далее), которые прошли строгий аудит.

  • Эти УЦ независимы, их деятельность прозрачна, и они не были скомпрометированы выдачей сертификатов для спецслужб.

  • Аналогия: это как если бы управляющая компания вашего дома требовала дубликат ключей от квартиры под предлогом защиты от воров, утверждая, что ваш собственный надежный замок «недостаточно защищает».

2. Тезис: "Механизм работы идентичен зарубежным"

Цитата: «Установка сертификатов безопасна... Механизм их работы идентичен сертификатам, выпускаемым зарубежными центрами сертификации».

Реальность: Здесь мы видим сразу два спорных утверждения.

  • Про «безопасность»: Безопасность зависит от доверия владельцу корневого сертификата. Техническая возможность перехвата трафика, как мы показали выше, заложена в самой архитектуре PKI.

  • Про «идентичный механизм»: Механизм не идентичен. Как мы выяснили, используется две параллельные инфраструктуры: одна на общепринятом RSA, а вторая — на российском ГОСТе. Алгоритмы и стандарты в них разные.

3. Тезис: "Используйте Яндекс.Браузер, если другие выдают ошибку"

Цитата: «В браузерах Opera, FireFox... сайты всё равно могут открываться с ошибкой. Чтобы сохранить безопасный доступ... используйте <Яндекс Браузер>.»

Реальность: Это, пожалуй, самый интересный момент. Попытка выдать штатную защитную реакцию браузера за ошибку.

Почему Firefox ведет себя иначе:

  • Firefox — один из немногих браузеров, использующих собственное, независимое хранилище корневых сертификатов. Он не доверяет слепо системному хранилищу, куда пользователь (или вредоносное ПО) мог добавить что угодно. Он доверяет только своему списку, курируемому Mozilla Foundation.

  • То, что Firefox предупреждает об опасности, — это не ошибка. Это корректная работа системы безопасности. Браузер сообщает: «Этот удостоверяющий центр мне неизвестен, и я не могу ему доверять».

  • Яндекс.Браузер, в свою очередь, поставляет эти сертификаты Минцифры «из коробки», поэтому и не показывает предупреждений, что по моему странно.

Итоги расследования

Угроза MitM‑атаки при установке этих сертификатов — это не гипотетическая страшилка, а техническая реальность, заложенная в саму архитектуру этой системы.

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

Моя работа здесь закончена. Ваша — сделать собственные выводы на основе представленных фактов.

Комментарии (14)


  1. Serzhenko
    16.11.2025 12:32

    Те же риски, которые здесь описаны как риски использования российских УЦ, актуальны и для любых других.

    Случаи компрометации доверенных УЦ Comodo, DigiNotar, Turktrust хорошо известны и описаны на Хабре.

    «Маркетинговая риторика» и необъективность, от которой Вы открещиваетесь, прекрасно видна и в самой статье.


    1. aborouhin
      16.11.2025 12:32

      Есть один маленький нюанс. Для обычного российского пользователя шанс стать мишенью в случае компрометации зарубежного УЦ, как правило, исчезающе мал. А вот риски, возникающие в связи с предполагаемой доступностью приватных ключей сертификатов Минцифры родным государственным структурам, совершенно реальны и осязаемы.


      1. geher
        16.11.2025 12:32

        Принцип неуловимого Джо?

        Увы, на практике всегда есть достаточно весомый риск огрести от спецслужбы любой страны мира, например, попав в качестве случайной жертвы (доступ к чему-то от вашего имени, чтобы не светить свое, финансирование чего-то за ваш счет) в рамках какой-нибудь спецоперации.

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


        1. aborouhin
          16.11.2025 12:32

          Ну почему сразу Джо? Просто трезвая оценка рисков. Если бы я был носителем государственной тайны, политическим активистом и т.п. - я бы не строил иллюзий относительно своей защищённости в любой стране. Но я к этим категориям не отношусь, а вот, увы, обыкновение решать коммерческие споры через коррумпирование правоохранительных органов (причём, что логично, не зарубежных) наблюдаю своими глазами на конкретных примерах. Конечно, есть надежда, что светить свои возможности делать MITM через корневые сертификаты по столь мелкому поводу, каковой могу создать я, никто не будет... но некоторые вещи просто пробиваются и официально не светятся.


      1. Serzhenko
        16.11.2025 12:32

        Риски и там, и тут — бесконечно широки.

        Уверены ли вы, что спецслужбам нужны сертификаты для вмешательства в ваш трафик? Для слежения за вашими мобильными устройствами?

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

        Простор для злоупотребления понятен. Но вероятность стать мишенью целенаправленного MITM от государства, для среднестатистического пользователя невелика. Ну а тем, кто ведёт активность, которую жаждет скрыть, сертификаты — не самое опасное явление, которого надо остерегаться.


  1. 0mogol0
    16.11.2025 12:32

    странные выводы. Если я правильно понял, то разобран обычный УЦ созданный в рамках импортозамещения, для обеспечения функционирования PKI в условиях, когда зарубежная инфраструктура может быть недоступна.

    Вопрос, если не российский УЦ выпустит по постановлению суда дубликат сертификата - будет ли в чём-то отличие от MitM? Насколько я помню, такие прецеденты уже были.

    Поэтому всё сводится к вопросу, доверяете ли вы УЦ...

    Более того, вроде бы был прецедент, когда зарубежные УЦ отказались работать с подсанкционными клиентами. То есть в этой ситуации у пользователя есть "богатый выбор" работать без HTTPS или работать с локальными сертификатами.

    Как по мне, выбор очевиден.

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


    1. aamonster
      16.11.2025 12:32

      Есть большая проблема: устанавливая корневой сертификат – ты не можешь явно указать, для каких доменов он может удостоверять сертификаты. Так что единственное разумное решение – использовать для этих сертификатов отдельный браузер.


      1. geher
        16.11.2025 12:32

        Или отдельную виртуалку.


      1. ki11j0y
        16.11.2025 12:32

        Устанавливая данный сертификат, они могут подсунуть сертификат подписи кода с каким нибудь отечественным по. По этой причине пользуюсь только в зашифрованном контейнере с портативным librewolf и уст сертификатами. Но видит время переход на live систему, как я сделал с эп


        1. aamonster
          16.11.2025 12:32

          Вроде профиля FF вполне достаточно. А вообще, конечно, вся система ssl тотально сломана, что ты не можешь разумно ставить ограничения корневому сертификату.

          На андроид можно в second space ставить, там отдельное хранилище.


  1. GerrAlt
    16.11.2025 12:32

    Для пользователя все выглядит штатно. Но на промежуточном узле весь трафик может быть прочитан: логины, пароли, переписки, финансовая информация.

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


    1. aamonster
      16.11.2025 12:32

      Certificate pinning – не на всех сайтах выставлен и имеет свои проблемы. В плане обнаружения злоупотреблений интереснее certificate transparency.


      1. inkelyad
        16.11.2025 12:32

        Certificate pinning – не на всех сайтах выставлен и имеет свои проблемы.

        Это, кажется, не про это. Вроде бы в каком из браузеров, если идешь на https сайт, корень которого не известен (ну или самоподписанный) и разрешаешь пойти дальше - браузер запоминает, какой именно сертификат (не корень) у сайта был. И потом ругается, если он сменится.


  1. geher
    16.11.2025 12:32

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

    И если, например, мой самоподписанный сайт, на который хожу только я, вдруг будет идти с корневым сертификатом любого УЦ, это сразу будет заметно.