2009-10-29 2 views
2

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

Наш аудитор соответствия PCI попросил нас защитить от следующей ситуации:

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

Аудитор утверждает, что существует способ (или должен быть способ), чтобы предотвратить запуск файла вообще, если подпись недопустима.

Вы знаете, как это можно сделать?

ответ

1

MSDN имеет некоторые интересные статьи по этой теме:

+0

Этот код находится в C. Есть ли у вас какие-либо идеи, как реализовать это в .net? Любая помощь приветствуется. – Akie

+0

Это может помочь вам: http://pinvoke.net/default.aspx/wintrust.WinVerifyTrust – ZippyV

+1

Как это полезно? Этот код будет запущен внутри вашего программного обеспечения, и кто-то, кто его изменит, может просто пропустить ваши пользовательские проверки. Вы хотите, чтобы ОС выполняла проверку целостности. – deancutlet

Смежные вопросы