コードサイニング 01-14-2021

SolarWinds社製品への攻撃:コード署名が原因なのか?

Mike Nelson

SolarWinds社製品への攻撃に関する現在の話題は、この攻撃の重大性に関するものです。つまり誰が侵害されたのか?どのようなレベルのアクセスを得たのか?侵入された場合の対処法は?

これらの質問はすべて、早急に答えが必要なものです。しかし、多くの組織のコードサイニングを支援してきたセキュリティの専門家としては、今回の広範な漏洩につながった単純なミスに警告のフラグを立てざるを得ません。

多くの組織でコードサイニングを実践し、その酷い実態を目の当たりにしてきた私は、SolarWinds社に起きたことは、定期的なアップデートが必要な製品を販売する他の多くの組織でも起こりうることだと確信しています。

誰かが良い考えだと思い、推し進めることを恐れてしまって、あえて繰り返さないというコード署名の運用を見たことがあります。以下は、一般的な「コードサイニングの間違った運用」のリストです。

  • 署名鍵をUSBメモリーにロードして、コントロールなしで配布する
  • すべてのファイルの署名に同じ署名鍵を使用する
  • 異なる製品ラインやビジネスで同じ署名キーを使用する
  • 誰が何に署名できるかを管理する仕組みがない
  • 誰がいつ何を署名したかを示すレポート機能がない

コードサイニングは有効なものですが、実装が不十分だと、ビジネスのリスクが高まります。SolarWinds社の場合、ファイルの署名にコードサイニング証明書を使用していました。問題は、コードサイニング証明書ではなく、コードサイニングを実践する方法にありました。

以下は、コードサイニングの漏洩を防ぐための提案です。署名鍵の使用を保護・管理することは、安全なコードサイニングの最も重要な出発点です。あなたにその気がないのなら、ここで読むのをやめたほうがいいでしょう。

あなたがその気なら、次の重要なステップは、キー・ローテーション戦略です。すべての署名に同じキーを使用すると、大きな混乱を招くことになります。鍵が漏洩した場合、あなたが署名したすべてのものが危険にさらされます。強力で頻繁な鍵のローテーション戦略、固有の鍵、オンデマンドの鍵を持つことで、漏洩の被害を制限することができます。

コード署名のベストプラクティスには、署名する前にコードのウイルススキャンを行うことも必要です。パッケージの中に悪意のあるものが潜んでいないことを確認せずにコード署名してはいけません。

最後に、コードサイニングを成功させるには、コントロールと透明性が必要です。署名権を決定し、管理し、実施することができれば、署名キーがばらまかれることなく、安心して署名を行うことができます。さらに、誰が何に署名したのか、いつ署名したのかを示すレポートを作成する機能があれば、問題が発生したときに、その問題を軽減することができます。

もう一度言いますが、SolarWinds社で起きた問題は、コードサイニングの問題ではなく、コードサイニングのプロセス管理が不十分だったことです。デジサートには、DigiCertONE™プラットフォームの一部として包括的なソリューションを提供するSecure Software Managerがあります。「コードサイニングの間違った運用」を覚えていますか?Secure Software Managerは、このような失敗を回避できるように設計されています。

あなたの組織が、このような悪しき慣習に陥っている可能性があるなら、やめてください。自分のやっていることをコントロールすることで、ビジネスのリスクを最小限に抑えることができます。コード署名の運用に問題があるのは、SolarWinds社だけではありません。運営方法を改善し、ビジネスを安全に保ちましょう。

Secure Software Managerは、ポータブルで柔軟な展開モデルと安全なキー管理を使用して、継続的インテグレーション/継続的デリバリー(CI / CD)パイプライン全体で自動セキュリティを有効にすることにより、コード署名を管理する最新の方法です。

Secure Software Managerでは、コードバイナリに素早く、簡単に、そして大規模に署名することができます。さらに、鍵はクラウド上で生成されるため、使用していないときはオフラインモードになり、共有や紛失、盗難の心配がありません。Secure Software Managerは、プライベート署名、オンデマンドキー、ローテーションキーのための署名ごとのユニークキーや証明書など、コード署名のベストプラクティスをサポートしています。

Secure Software Managerは、以下のような一般的なプラットフォームやライブラリと互換性があります。

  • OpenSSL
  • Java
  • Authenticode
  • Android
  • GPG
  • RPM
  • Debian
  • Docker
  • Nuget
  • ClickOnce

Secure Software Managerを使用することで、組織は製品開発プロセスにコードを容易に統合することができ、同時に暗号操作、署名活動、管理を制御された監査可能な方法で委任することができます。フォレンジック(法的証拠の調査)とアカウンタビリティ(説明責任)のための追跡、レポート、監査証跡により、Secure Software Managerは組織や業界のセキュリティポリシーを遵守することができます。

DigiCertONE 上に構築されたSecure Software Manger
Secure Software Managerは、市場で最も近代的なPKI管理プラットフォームであるDigiCertONE上に構築されています。DigiCertONEは、今日のセキュリティの課題に対応するPKIインフラストラクチャサービスとして、クラウドネイティブなアーキテクチャと技術を用いて開発されました。

2020年にリリースされたDigiCertONEは、複数の管理ソリューションを提供し、すべてのPKIユースケース向けに設計されています。その柔軟性により、オンプレミス、国内、クラウドのいずれにも展開でき、厳しい要件やカスタム統合、エアギャップ(ネットワークの物理的な隔離)のニーズに対応できます。また、堅牢で拡張性の高いインフラを使用して、極めて大量の証明書を迅速に展開します。DigiCertONEは、エンド・ツー・エンドでユーザーとデバイスの証明書を一元管理し、Kubernetes(オープンソースのコンテナ管理プラットフォーム)クラスターやダイナミックなITアーキテクチャ全体で信頼性を提供する最新のPKIアプローチを提供します。

Secure Software Managerの詳細については、www.digicert.com/jp/signing/secure-software-managerをご覧ください。また、デジサートブログでは、Secure Software Managerが組織のコードサイニングを簡素化する方法を紹介しています。

UP NEXT
お知らせ

DigiCertONEが「IoT Breakthrough Security Product of the Year」を受賞

5 Min

特集記事

AI、量子コンピュータ、デジタルトラストが形成する来年のトレンド 10 選

耐量子コンピュータ暗号に向けた取り組みの現状を追う

FIPS 203、204、205 発表以降の PQC の最新情報

10-31-2024

DigiCert Device Trust Manager の一般提供を発表