Лучшие практики подписания кода

28 апр. 2025 г.

Лучшие практики подписания кода

Введение 

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

Пожалуйста, ознакомьтесь с 7 лучшими практиками, приведенными ниже, которые описаны в документе Code Signing Whitepaper, подготовленном Советом по безопасности CA

7 лучших практик для подписания кода: 

  1. Минимизация доступа к закрытым ключам 

    • Разрешить минимальное количество подключений к компьютерам с ключами.

    • Сведите к минимуму количество пользователей, имеющих доступ к ключам.

    • Используйте средства физической защиты для уменьшения доступа к ключам.

  2. Защищайте закрытые ключи с помощью криптографических аппаратных средств. 

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

    • Используйте продукт, сертифицированный по стандарту FIPS 140 уровня 2 (или лучше). 

  3. Временная метка кода 

    • Временная метка позволяет проверить код после истечения срока действия сертификата или его отзыва.
  4. Поймите разницу между тестовой подписью и подписью релиза 

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

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

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

    • Создайте отдельную инфраструктуру для подписи тестового кода, чтобы подписывать предварительные сборки программного обеспечения. 

  5. Проверка подлинности подписываемого кода 

    • Любой код, представленный для подписания, должен быть надежно аутентифицирован до того, как он будет подписан и выпущен. 

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

    • Регистрируйте все действия по подписанию кода для целей аудита и/или реагирования на инциденты. 

  6. Проверка кода на вирусы перед подписанием 

    • Подписание кода не подтверждает безопасность или качество кода; оно подтверждает издателя и наличие или отсутствие изменений в коде. 

    • Соблюдайте осторожность при включении кода из других источников.

    • Внедрите проверку на вирусы, чтобы повысить качество выпускаемого кода.

  7. Не используйте слишком много ключей (распределяйте риски с помощью нескольких сертификатов)

    • Если обнаружен код с недостатками безопасности, издатели могут захотеть вызвать диалоговое окно User Account Control, которое будет появляться при установке кода в будущем; это можно сделать, отозвав сертификат подписи кода, чтобы появилось приглашение об отзыве. 

    • Если код с дефектом безопасности был выпущен до того, как был выпущен более качественный код, то отзыв сертификата повлияет и на качественный код. 

    • Частая смена ключей и сертификатов поможет избежать этого конфликта.

Система оповещения GlobalSign

Просмотр последних системных оповещений.

Просмотр оповещений

Инструмент инвентаризации сертификатов (CIT)

Сканируйте конечные точки, чтобы найти все ваши сертификаты.

Войти / Зарегистрироваться

Тест конфигурации SSL

Проверьте установку сертификата на наличие проблем и уязвимостей SSL.

Связаться с поддержкой