ゼファーネットのロゴ

コード署名のセキュリティを強化するための 8 つの戦略

日付:

解説

ハッカーがリモートアクセスソリューション会社に侵入したという最近のニュース AnyDesk より安全なソフトウェア サプライ チェーンを確保するために、企業がコード署名の実践を長期にわたって厳しく検討する必要性を厳しい光で照らしました。  

コード署名は、ソフトウェア、ファームウェア、またはアプリケーションにデジタル署名を追加し、ユーザー コードが信頼できるソースからのものであり、最後に署名されてから改ざんされていないことを保証します。しかし、コード署名はその実行が重要であり、不適切に実行すると、マルウェアの挿入、コードやソフトウェアの改ざん、なりすまし攻撃につながる可能性があります。 

秘密キーは保護する必要がありますが、多くの開発者は (主に利便性の理由から) 独自の秘密キーを保持し、ローカル マシンに保存したり、サーバーを構築したりしています。これにより、盗難や悪用の危険にさらされ、セキュリティ チームにとって死角が生じます。  

以下 SolarWindsハック 2020 年に、認証局/ブラウザ (CA/B) フォーラムは新しいセットをリリースしました。 ベースライン要件 ハードウェア セキュリティ モジュール (HSM)、暗号キーを維持および保護するデバイス、および秘密キーを保護するためのその他の手段の使用を義務付けるコード署名証明書を維持するため。 

HSM は最高レベルのセキュリティを提供しますが、コスト、複雑さ、メンテナンスの要求も増加します。これらを DevOps チームが使用するコード署名ツールに統合できない限り、切断によりコード署名へのアクセスが複雑になり、プロセスが遅くなる可能性があります。  

クラウドへの移行によりセキュリティの優先順位が高くなりましたが、クラウドはコード署名のソリューションも提供します。クラウド コード署名と HSM は、開発者が望むスピードと機敏性を提供するだけでなく、分散した開発チームをサポートし、開発プロセスに統合し、セキュリティによってより簡単に監視できる一元管理を提供します。 

統合コード署名への旅 

最近の変更により、 CA / Bフォーラム組織は、開発チームをサポートするために一元管理を使用してコード署名を最新化する取り組みに着手する時期が来ています。多くの企業は依然として「アドホック」段階にあり、キーはローカルで管理され、開発者はさまざまなコード署名プロセスとツールを使用します。他の企業は、HSM を使用してキーを保護することでセキュリティ チームに可視性とガバナンスを提供する集中管理を行っていますが、個別のコード署名ツールを使用することは依然としてソフトウェア開発の速度に影響を与えます。 

理想的な成熟した構造には、すべてのビルド、コンテナ、アーティファクト、実行可能ファイルにわたってプロセスをシームレスかつ合理化するために、主要なセキュリティ、コード署名ツール、開発ワークフローを統合する必要があります。セキュリティ チームは HSM を管理し、コード署名を完全に可視化できる一方、開発者は機敏でスピーディな開発パイプラインを手に入れることができます。 

いくつかのベスト プラクティスが、この旅への道を切り開くのに役立ちます。 

  • 鍵を保護します。 コード署名キーは、CA/B フォーラムの暗号化要件 (FIPS 140-2 レベル 2 または Common Criteria EAL 4+) に準拠する HSM などの安全な場所に保管します。 HSM は改ざん防止機能があり、秘密キーがエクスポートされるのを防ぎます。

  • アクセスの制御: ロールベースのアクセス制御を通じてアクセスを制限することで、不正アクセスや秘密キーの悪用のリスクを最小限に抑えます。承認ワークフローを定義し、セキュリティ ポリシーを適用して必要なスタッフのみへのアクセスを規制し、誰が署名要求をトリガーしたか、誰がキーにアクセスしたか、およびその理由を記録する監査ログを維持します。 

  • キーを回転します: 1 つのキーが侵害されると、そのキーで署名されたすべてのリリースが侵害される危険にさらされます。コード署名キーを定期的にローテーションし、複数の DevOps チーム間で異なるリリースに署名するために一意の個別のキーを使用します。 

  • タイムスタンプコード:  コード署名証明書の有効期間は限られており、1 ~ 3 年と短くなります。コードに署名するときにタイムスタンプを付けると、証明書の有効期限が切れたり失効した後でも署名の正当性を検証でき、署名されたコードとソフトウェアの信頼性が高まります。

  • コードの整合性をチェックします。 最終ビルドに署名してリリースする前に、ビルド サーバー内のコードとソース コード リポジトリを比較して完全なコード レビューを実行し、すべての開発者の署名を検証して改ざんされていないことを確認します。 

  • 一元管理: 今日のビジネスはグローバルです。一元化されたコード署名プロセスは、開発者の所在地に関係なく、企業全体の署名アクティビティと証明書を監視するのに役立ちます。これにより、可視性が向上し、説明責任が確立され、セキュリティの脆弱性が排除されます。

  • ポリシーを適用します。 キーの使用許可、承認、キーの有効期限、CA の種類、キーのサイズ、署名アルゴリズムの種類などのポリシーを定義およびマッピングすることで、コード署名プロセスを標準化します。ポリシーの適用を自動化して、すべてのコード、ファイル、ソフトウェアがポリシーに基づいて署名され、業界標準に準拠していることを保証します。 

  • コード署名を簡素化します。 コード署名を CI/CD ツールと統合および自動化することで、セキュリティを損なうことなく DevOps のプロセスを簡素化し、スピードと俊敏性を促進します。

継続的インテグレーションと継続的デプロイメントの世界では、強力なコード署名のベスト プラクティスは、開発プロセスにおける信頼を構築し、より安全なソフトウェア サプライ チェーンを可能にする貴重な方法を提供します。

スポット画像

最新のインテリジェンス

スポット画像