28 апр. 2025 г.
Компания GlobalSign рекомендует разработчикам следовать лучшим практикам в процессе подписания кода, а также для безопасной генерации и хранения закрытых ключей.
Пожалуйста, ознакомьтесь с 7 лучшими практиками, приведенными ниже, которые описаны в документе Code Signing Whitepaper, подготовленном Советом по безопасности CA.
Минимизация доступа к закрытым ключам
Разрешить минимальное количество подключений к компьютерам с ключами.
Сведите к минимуму количество пользователей, имеющих доступ к ключам.
Используйте средства физической защиты для уменьшения доступа к ключам.
Защищайте закрытые ключи с помощью криптографических аппаратных средств.
Криптографическое оборудование не позволяет экспортировать закрытый ключ в программное обеспечение, где он может быть атакован.
Используйте продукт, сертифицированный по стандарту FIPS 140 уровня 2 (или лучше).
Временная метка кода
Поймите разницу между тестовой подписью и подписью релиза
Для подписания закрытых ключей и сертификатов в тестовом режиме требуется меньше средств контроля доступа, чем для подписания закрытых ключей и сертификатов в производственном коде.
Сертификаты для тестовой подписи могут быть самоподписанными или полученными от внутреннего центра сертификации для тестирования.
Тестовые сертификаты должны быть привязаны к совершенно другому корневому сертификату, чем корневой сертификат, используемый для подписи публично выпускаемых продуктов; эта мера предосторожности помогает обеспечить доверие к тестовым сертификатам только в рамках предполагаемой тестовой среды.
Создайте отдельную инфраструктуру для подписи тестового кода, чтобы подписывать предварительные сборки программного обеспечения.
Проверка подлинности подписываемого кода
Любой код, представленный для подписания, должен быть надежно аутентифицирован до того, как он будет подписан и выпущен.
Внедрите процесс отправки и утверждения подписи кода, чтобы предотвратить подписание несанкционированного или вредоносного кода.
Регистрируйте все действия по подписанию кода для целей аудита и/или реагирования на инциденты.
Проверка кода на вирусы перед подписанием
Подписание кода не подтверждает безопасность или качество кода; оно подтверждает издателя и наличие или отсутствие изменений в коде.
Соблюдайте осторожность при включении кода из других источников.
Внедрите проверку на вирусы, чтобы повысить качество выпускаемого кода.
Не используйте слишком много ключей (распределяйте риски с помощью нескольких сертификатов)
Если обнаружен код с недостатками безопасности, издатели могут захотеть вызвать диалоговое окно User Account Control, которое будет появляться при установке кода в будущем; это можно сделать, отозвав сертификат подписи кода, чтобы появилось приглашение об отзыве.
Если код с дефектом безопасности был выпущен до того, как был выпущен более качественный код, то отзыв сертификата повлияет и на качественный код.
Частая смена ключей и сертификатов поможет избежать этого конфликта.
Сканируйте конечные точки, чтобы найти все ваши сертификаты.
Войти / ЗарегистрироватьсяПроверьте установку сертификата на наличие проблем и уязвимостей SSL.