Software Trust Manager 08-10-2022

ソフトウェアサプライチェーンの保護: 教訓とトレンド

Dave Roche
digicert-blogimages-mar22

昨今、数々のソフトウェアサプライチェーンの障害が世間を騒がし、企業のブランド、評判、そして収益に深刻な損害を与えました。この中で最も悪名高いのは Nvidia のインシデントです。今年のはじめに、Nvidia から盗まれたコードサイニング証明書がマルウェアの署名に使用されました。Nvidia はランサムウェアの被害に遭い、最大 1TB のデータが流失したのです。従業員のログイン情報と知的財産も盗み出され、その中には有効期限が切れた 2 つのコードサイニング証明書とその秘密鍵が含まれていました。インシデントの発生時点で証明書の有効期限は切れていましたが、公的信用のためのコードサイニング証明書で署名したドライバを Windows は OS にロードしてしまいました。これらの証明書の有効期限が切れていたにもかかわらずです。VirusTotal マルウェアスキャニングサービスにアップロードされたサンプルの分析によると、盗み出された証明書は、Cobalt Strike ビーコン、Mimikatz、バックドア、リモートアクセスのトロイの木馬など、数々のマルウェアとハッキングツールの署名に使用されています。

コードサイニング攻撃は目新しいものではない

攻撃ベクトルとしてのコードサイニングの悪用は目新しいものではありません。コードサイニング鍵が盗み出された結果、マルウェアが「信頼できるもの」としてデジタル署名され、配布されてしまうリスクは、過去十年間にわたって再三警告されてきました。しかし、この脅威は拡大しています。コードサイニング鍵が失われる/盗み出されるだけでなく、サイニング環境の侵害の脅威にさらされています。また、ソフトウェア開発においてオープンソースのライブラリの使用が広く普及するにつれ、マルウェア感染したコードや脆弱性を悪用するコードが拡散されています。これらはすべて、被害を受けた組織にとって重大な財務的損失と評判の失墜を意味します。

実際、この問題は多くの被害をもたらしているため、米政府は最近、米国のサイバーセキュリティを改善するための行政命令を発令しました。その措置に含まれる重要なステップは、コードの整合性を確保するためのコードサイニングの使用でした。

ソフトウェアサプライチェーンが攻撃の標的となる中、特にコードサイニングに関連してソフトウェアをどのようにセキュリティ保護できるでしょうか。また、将来の問題を未然に防ぎ、進化し続けるソフトウェアセキュリティ脅威に対応するにはどうすればよいでしょうか。マネージドサイニングソリューションの使用をお勧めします。このブログでは、従来の手動、すなわちローカルコードサイニングに潜む落とし穴について説明し、サイニングソリューションによってベストプラクティスをどのように強化できるかを明らかにします。(中略)

手動のコードサイニングは組織の脆弱性を保持してしまう

サイバー犯罪者は、安全でないコードサイニングプラクティスを悪用しようと絶えず狙っています。米国商務省標準化技術研究所(NIST)によると、コードサイニングを台無しにするというのが、ソフトウェアサプライチェーン攻撃でよく採られる攻撃手法の 1 つです。

手動のコードサイニングは人的な側面、またはポリシー、プロセスの側面から、鍵セキュリティの脆弱性を招きかねません。

  1. 鍵セキュリティ: 手動のコードサイニングでは、鍵の保管場所やその保護方法を追跡するのが困難です。従業員が退職した後も鍵が失効しないで残されたり、鍵や証明書が安全に保管されていなかったりする場合があります。これでは、コードサイニング鍵の共有、悪用、盗用がいとも簡単にできてしまいます。
  2. 人/ポリシー: 手動のコードサイニングでは、誰がいつ、何に署名したかについて、簡単に追跡/監査する方法はありません。適切な管理なしでは、企業のポリシーとロールを施行し管理していくのはきわめて困難です。
  3. プロセス: 最後に、職務の分離などのプロセス、署名時にどの鍵と証明書を使うかの情報を基に、すべてのアプリでコードサイニング鍵が使用される可能性があります。これは迅速な修正を阻害しかねません。また、マルウェアを含んだビルドと知らずに署名してしまう事態も簡単に起こり得ます。

脆弱性の拡大が広がるにつれ、マネージドサイニングソリューションを採用するのが最善の選択であるのはこうした事態を防ぐためです。このソリューションにより、コードサイニングのベストプラクティスを確保できます。

マネージドサイニングソリューションによって安全なコードサイニングのベストプラクティスが確保される

マネージドサイニングソリューションにより、以下の領域のベストプラクティスが確保されます。

  • 鍵の保護
  • ハッシュ署名
  • セキュリティ制御
  • ロールベースのアクセス制御
  • コンプライアンスの維持
  • ソフトウェアライフサイクルの可視性
  • ソフトウェア BOM

CA/B フォーラムのコードサイニングワーキンググループがコードサイニング鍵の保護に関する改善された要件を策定する中で、コンプライアンスを維持することは、かつてないほど時宜にかなった目標となっています。この要件では、コードサイニング管理の変更が求められています。マネージドソリューションを使用すると、変化する規制にも後れをとらず簡単に対応できるようになります。

サイニングソリューションは、数々の重要な制御を可能にしますが、とりわけ鍵の盗難リスクを抑える手段を提供します。たとえば、DigiCert Secure Software Manager は、鍵を安全に保護し、一元管理を可能にして、ポリシーの適用と CI/CD (継続的インテグレーション/継続的デリバリー)への統合を実現します。これらすべてで柔軟な展開オプションが提供されています。

ソフトウェアライフサイクルの可視性

ソフトウェアライフサイクルの可視性の追跡は、組織内だけでなく、顧客や業界にとっても推奨される手法となりつつあります。顧客はソフトウェアが何で構築されているか、情報を求めるようになっています。そうすることで、そのソフトウェアの一部が危殆化した場合でも、対策を講じるための計画とコントロールを実施することができます。

ソフトウェアのメーカーは、ソフトウェアのライフサイクルを経時的に追跡していく必要があります。これにより、リリースごとに何が変更されているかについて完全な可視性を得ることができます。さらに、ライフサイクルを追跡することでサードパーティのコードが使用されている箇所(リスクが高い箇所)と、ソフトウェア構成においてライブラリが組み込まれている箇所を特定できます。

ソフトウェア BOM が必要な理由

IoT デバイスがハッキング、侵害、およびその他の形態のサイバーセキュリティ攻撃によって危殆化される恐れがあるのと同様、あらゆる種類のソフトウェア、ハードウェア、コンテナ化されたデータセンターも被害を受ける可能性があります。サイバーセキュリティに関する米国大統領令は、こうした IoT デバイスに関する脆弱性を修復することを意図していますが、それには証明可能なソフトウェア BOM (SBOM)が不可欠です。SBOM の導入と使用が最もよく機能するのは、コネクテッドデバイスで稼働しているソフトウェアのオープンソースな事例とプライベートな認証事例です。

ソフトウェアの構成を知ることで、スパゲッティのように込み入って複雑に思えたコード設計が明確な SBOM 成果物に変換されます。ちょうど、シリアルの裏の成分表を読むように簡単になるため、どんな種類のソフトウェアでも非常に有効です。これにより、組織はサードパーティの脆弱性を監視できるだけでなく、こうした透明性の取り組みを、顧客からの信頼の獲得につなげることができます。また、脆弱性のあるコンポーネントを実行しているソフトウェアやデバイスが特定された場合、顧客は自分の環境において迅速な措置を取れるようになります。

ソフトウェアは進化と変化を続けています。顧客は、ソフトウェアの構成を知りたいと思っています。業界全体がソフトウェアを構成するコンポーネントについて可視性を求めるにつれ、今後はすべてのソフトウェアに SBOMS を導入する流れが進むものと予想されます。

DigiCert® Secure Software Manager について

DigiCert ONE™ の DigiCert Secure Software Manager は、ポータブルで柔軟な実装モデルと安全な鍵管理によって、CI/CD (継続的インテグレーション/継続的デリバリー)パイプライン全体でセキュリティを自動化することでコードサイニングを管理する最新のツールです。Secure Software Manager は、秘密署名、オンデマンドキー、ローテーションキーへの署名ごとに一意の鍵と証明書などのコードサイニングのベストプラクティスをサポートしています。Docker、Microsoft、Java、Android などの主要なプラットフォーム、ライブラリと互換性があります。

Secure Software Manager を使うと、コードを製品開発プロセスに簡単に統合できる一方、暗号操作や署名の業務および管理を制御された監査可能な方法で委譲できます。DigiCert ONE の一部として、Secure Software Manager は大量の証明書の数分以内での高速展開を実現し、オンプレミス、国別、クラウドにわたって展開する柔軟性をもたらします。

UP NEXT