Skip to main content

サイバーセキュリティに関する大統領令が定めるソフトウェアサプライチェーンセキュリティ要件を理解する

blog hero software supply chain security

2021年6月10日

0 分で読めます

先月発令されたバイデン大統領のサイバーセキュリティに関する大統領令は、過去1年間のニュースを追ってきた人にとって、さほど驚く内容ではないでしょう。この大統領令は、SolarWindsへの攻撃に始まり、米国のエネルギー企業に対する既知のものとしては最大規模の攻撃となった、Colonial Pipelineへの最近のランサムウェア攻撃に至るまで、相次ぐインシデントを受けた米国連邦政府の重要な対応です。

最近の攻撃の多くがソフトウェアサプライチェーンに関連していることを考えれば、ソフトウェアセキュリティ、とりわけソフトウェアサプライチェーンセキュリティが大統領令全体で繰り返し取り上げられているのも不思議ではありません。今や悪名高いSolarWindsへの攻撃は、米国国防総省、国務省、国土安全保障省を含む多数の政府機関に加え、Microsoft、Intel、Ciscoなどの民間組織にも影響を及ぼし、ソフトウェアサプライチェーンセキュリティを重要な課題として浮き彫りにしました。

ソフトウェアサプライチェーン攻撃は、今に始まったものではありません。Snykでは2018年から、現代のソフトウェア開発と構成が弱点となり、マルウェアが拡散する経路になり得ることについて発信してきました。しかし、今日のソフトウェアアプリケーションの構築方法に顕著な変化が見られることから、攻撃者の間でますます広がっています。バイデン大統領の大統領令は、こうした変化を認識し、連邦政府にソフトウェアを販売する企業に厳格な基準を設けるよう商務省に指示することで、それらがもたらすリスクの最小化を目指しています。

ソフトウェアサプライチェーン攻撃とは?

ソフトウェアサプライチェーン攻撃では、攻撃者が複雑なソフトウェア開発サプライチェーン内のソフトウェアにアクセスして改ざんし、悪意のあるコードを埋め込むことで、その先にある標的を侵害します。ソフトウェアサプライチェーン攻撃そのものが最終目的ではありません。攻撃者がマルウェアを埋め込んだり、将来のアクセスに備えてバックドアを仕掛けたりする機会を作るために利用されます。たとえばSolarWindsへの攻撃では、ハッカーがSolarWindsのネットワーク・アプリケーション監視プラットフォーム「Orion」にアクセスし、何千もの利用者に悪意のあるアップデートを配布しました。

ソフトウェアサプライチェーン攻撃が非常に効果的な攻撃手法である理由は、現代のソフトウェアの構築方法にあります。産業のサプライチェーンと同様、ソフトウェアサプライチェーンには計画、資材の調達、製造、流通が含まれます。ソフトウェアサプライチェーンで資材にあたるのはコードです。このコードには自社開発のものもありますが、その多くは商用またはオープンソースのサプライヤーから調達されるようになっています。こうした依存関係を利用して、ソフトウェアに悪意のあるコードを紛れ込ませることができます。ソフトウェアの開発にはコードが使われますが、現代のソフトウェアサプライチェーンではプロセスの数が増え続けており、その一つひとつがマルウェアを効果的に拡散させるために悪用される可能性があります。

ソフトウェアサプライチェーンセキュリティに関する連邦政府の要件

バイデン大統領の大統領令は、連邦政府のサイバーセキュリティの近代化、連邦政府と民間部門の間でのサイバーセキュリティに関するコミュニケーションと連携の強化、そして連邦政府が購入するソフトウェアのセキュリティ強化を求めています。ソフトウェアサプライチェーン攻撃がもたらすリスクは、大統領令の第4項の冒頭で明確に述べられています。

商用ソフトウェアの開発では、透明性や、攻撃への耐性に対する十分な配慮、悪意ある者による改ざんを防ぐ適切な管理が不足していることが少なくありません。製品が意図どおりに、かつ安全に機能することを保証するため、より厳格で予測可能な仕組みを導入することが急務です。……したがって、連邦政府はソフトウェアサプライチェーンのセキュリティと完全性を迅速に向上させるための措置を講じなければなりません……

政府機関をこうしたリスクから守るため、大統領令はNISTに対し、ソフトウェア供給業者が連邦政府にソフトウェアを販売する際に遵守すべき、今後の基準となるベストプラクティス、ガイドライン、基準の策定を求めています。

ソフトウェア部品表(SBOM)

ソフトウェアを構成するコードのうち、ゼロから社内で開発されるものはごく一部であり、大部分はオープンソースやサードパーティ製のコンポーネントを利用しています。大統領令がソフトウェア部品表(SBOM)を求めているのは、この事実を踏まえたものです。ソフトウェアサプライチェーン攻撃のリスクを軽減するため、ソフトウェアに何が含まれているかを正確に把握できるよう、透明性を高める必要性が示されています。

セキュアな開発環境

ソフトウェア供給業者には、セキュアな開発環境を整備していることの証明が求められます。大統領令はNISTに対し、セキュアなビルドプロセス、データの暗号化、監査、認証、インシデントの監視と管理などを含め、開発環境がセキュアであると判断するための基準を策定するよう求めています。

セキュアな開発プロセス

ソフトウェア供給業者には、セキュアな開発プラクティスに従い、実施した対策を証明することも求められます。これには、コードの完全性を確保し、脆弱性を検出して修正するために、開発の早い段階から自動セキュリティテストを実施することが含まれます。ソフトウェア開発と、使用したツールやプロセスの実行を証明する「成果物」は、要求に応じて提示できなければなりません。

オープンソースの完全性

アプリケーションを構成するコードの80~90%は、一般にオープンソースコードです。この実態を踏まえ、大統領令はソフトウェア供給業者に対し、「製品のあらゆる部分で使用されるオープンソースソフトウェアの完全性と来歴を確保し、証明する」ことを求めています。

ソフトウェアサプライチェーンセキュリティの強化

ソフトウェアサプライチェーンの強化を通じてNISTのガイドラインに備えるには、まずアプリケーションセキュリティを強化する必要があります。開発者を第一に考えたクラウドネイティブのアプリケーションセキュリティプラットフォームを提供するSnykは、大統領令に示された要件の大部分をサポートします。

開発者の力を引き出す

大統領令が求めるセキュアな開発プラクティスを成功させるには、開発者が開発ワークフローにセキュリティを簡単に組み込めることが重要です。セキュアな開発は、開発者自身から始まります。アプリケーションの構築方法を決めるのは開発者であり、最終的にはコードの完全性、品質、セキュリティにも責任を負います。開発プロセスの後半でセキュリティを導入し、直感的でないワークフローで開発の妨げとなる従来のセキュリティモデルは、スピードが重視される開発環境ではもはや通用しません。

Snykは、開発者に使いやすいツールとセキュリティチームからの適切なガイダンスを提供し、開発者の力を引き出します。Snykプラットフォームは、開発者が実際に使いたいと思えるツール、開発者のツールキットにある他のツールと同じように使え、作業の妨げにならないツールを提供するよう設計されています。

SDLC全体で自動化されたセキュリティを実現

ソフトウェア開発プロセスの早い段階から完全性を確保するため、大統領令は「製品、バージョン、またはアップデートのリリース前に、少なくとも定期的に実施する」自動セキュリティテストの早期導入を求めています。Snykの顧客は、さまざまなインテグレーションやSnyk APIを活用し、ソフトウェア開発プロセスの各段階でセキュリティテストを自動化しています。テストは開発者のローカル開発環境から始まり、Gitベースのワークフロー、ビルドプロセスを経て、本番環境まで続きます。

現代のソフトウェアを構成するすべてのコードを保護する

大統領令は、アプリケーションを構成するコードが変化していることを認識しています。自社開発コード、オープンソースパッケージ、コンテナ、クラウドインフラをプロビジョニングするコード(Infrastructure as Code)などが、現代のソフトウェアサプライチェーンを構成する要素です。

組織が新たなリスクプロファイルを管理し、軽減するには、より包括的なアプリケーションセキュリティのアプローチが必要です。開発チームが記述するコードの保護に注力し、静的アプリケーションセキュリティテスト(SAST)ツールを使うセキュリティチームは、オープンソースやコンテナの利用がもたらすリスクを見落としています。その逆に、ソフトウェア構成分析(SCA)ツールでは自社開発コードをカバーできません。Snykのプラットフォームは、現代のソフトウェアを構成するすべてのコードの保護を支援する、開発者を第一に考えた包括的なソリューションです。

証明とコンポーネント単位のレポート

前述のとおり、大統領令が定める要件では、SBOMを通じて連邦政府に対し、導入したプロセスや対策、ソフトウェアの構築に使った資材を透明化することが重要な役割を果たします。Snykは、SBOMの表示やエクスポートをはじめ、さまざまなレポートを作成できる機能を提供しています。また、Snykの顧客はSnyk APIを活用して、サードパーティのレポート作成ツールや脆弱性管理ツールと自動連携し、組織のセキュリティとコンプライアンスの態勢を継続的に監視しています。

今後の展望

大統領令は、NISTに対し、6か月以内に暫定ガイドラインを、1年以内に最終ガイドラインを公表するよう求めています。大統領令の要件は連邦政府にソフトウェアを販売する企業を対象としていますが、基準は民間部門にも広がり、ソフトウェア市場全体に影響を及ぼす可能性があります。

まずは大統領令を詳しく確認し、現在のソフトウェアサプライチェーンにどのような重大なギャップがあるかを特定して、対策の計画を始めるのが賢明です。

Snykは、NISTがガイドラインを策定する過程を追い、ブログで最新情報をお届けしますので、ぜひご注目ください。また、大統領令への対応に向けたNISTの取り組みにも積極的に参加しており、特にSBOM SIGを通じてSBOMの仕様策定に取り組んでいます。

Snykが政府機関による大統領令の要件への対応をどのように支援しているか、詳しくはsnyk_federal@snyk.ioまでお問い合わせいただくか、Snyk for Governmentのウェブページをご覧ください。