近年、グローバルサプライチェーンはかつてないリスクに直面しています。 英国のEU離脱やスエズ運河の封鎖からコロナ禍、そして最近ではウクライナ戦争に至るまで、数多くの重大な問題が世界的に大きな影響を及ぼしています。 サプライチェーンのリスクは、地理的な地域や物理的な対象が置かれている地域に限定されるものではありません。 現代経済のデジタル化の進展と、生産におけるサードパーティのデジタル製品への依存により、組織がサイバーセキュリティの脅威にさらされる機会は飛躍的に増加しています。
デジタルサプライチェーンは、ITエコシステム全体で製品の設計・製造・組み立て・流通に必要なリソースと活動を包めて、オリジナルのリソースを変換して最終的な消費者にサービスを提供します。 しかし攻撃者は、サプライチェーン内の1つまたは複数のシステム・プロセス・開発者またはサービスを標的とすることで、重要なシステムにアクセスしたり、混乱させたりすることができます。
National Counterintelligence and Security Center(NCSC:米国防諜セキュリティセンター)によると、脅威は4つの攻撃タイプに分類できます。
- Supply chain cyber attack(サプライチェーンのサイバー攻撃)
1つ目は、サプライチェーンの上流または下流にある1つ以上のシステム・プロセス・開発者または業務を標的とし、重要システムへのアクセスを取得して破壊的な影響を誘発するサイバー攻撃です。 例えば、小売業者から窃取した認証情報でネットワークへアクセスして、(窃取されたことが)発現せずに横移動して、ハッカーが重要なPOSシステムのエンドポイントを見つける可能性もあります。 マルウェアはPOS システムから詳細なクレジットカード情報をダウンロードし、そのデータを攻撃者のサーバー上に密かに抽出される(exfiltration)こともあります。
- Software-enabled attack (ソフトウェアによる攻撃)
2つ目の攻撃タイプは、ソフトウェアおよびソフトウェアサービスプロバイダーのサプライチェーン攻撃です。通常、ソフトウェア自体の脆弱性を悪用して、プロセスやオペレーションを混乱させたり、無効にしたり、中断させたりします。 ソフトウェアのサプライチェーンには、供給されるソフトウェアだけでなくソフトウェアの設計や開発で使用されるコンポーネント・ツール・ライブラリなどが含まれ、製品の提供やその後のメンテナンスで使用されるパッチキットも含まれるため、これらすべてが攻撃の対象となる可能性があります。
- Software supply chain attack (ソフトウェアサプライチェーン攻撃)
第三の攻撃タイプは、「ソフトウェアサプライチェーン攻撃」です。 これは、セキュリティ上の脅威がソフトウェアベンダーに侵入し、ベンダーが顧客にソフトウェアを提供する前にマルウェアを使ってソフトウェアを埋め込むことで発生します。 ベンダー、顧客とセキュリティツールで検査した証明を含めて、ソースの完全性はベンダーのものとみなされます。 感染したソフトウェアは顧客のデータとシステムに損害を与えてしまいます。 この攻撃の特徴は、ソフトウェアがコンパイルされ証明書が署名されるよりも前にハッカーがベンダーのソフトウェア開発プロセスに侵入することで、マルウェアの検出を難しくしています。
- Hardware-enabled attack (ハードウェアを利用した攻撃)
ベンダーが提供するハードウェアやファームウェアを変更することで、バックドアを挿入する攻撃です。 ベンダーの認証情報を基にすると、外部ツールによる検知・判別が困難な可能性があり、UEFI などはシステムに対する信頼性が高いです。サーバ・ワークステーション・ネットワークインフラなど、バックドアはハードウェアやファームウェア上の様々なデバイスに挿入することができます。
私たちがサービスを取得するとき、リスクは複数のソースからもたらされる可能性があり、多くのタイプを包んでいます。 物理的なセキュリティのアウトソーシングから専門的な職種のためのソフトウェアツールの開発アウトソーシングまで、まず検討できる第三者志向のサービスプロバイダーやベンダーがいくつかあります。 特に、物理的または仮想的な接続(VPN)へのアクセス権を持つ情報システムやソフトウェアプログラムは、プロバイダー自身の情報セキュリティの実装が不十分である可能性があり、サービスを提供する対象を危険にさらす可能性があります。 起こりうる問題のリストは、以下に挙げたものに限定されません。
- ベンダーが購入したソフトウェアやハードウェアの移植
- サプライチェーンマネジメントやベンダーのシステムで使用されているソフトウェアのセキュリティ脆弱性
- 信頼されていないハードウェアやマルウェアが埋め込まれたハードウェアの使用
- 外部記憶デバイスの第三者による使用(外部を含む)、データの収集と廃棄について
次に、ベンダーのサイバーセキュリティ習慣におけるリスクレベルについては、いくつかの質問によって評価することができます。調達契約において提案される内容の例として、書面での説明を求めるか、RFP(提案依頼書) に記載することを推奨します。
- ベンダーのソフトウェア/ハードウェア設計プロセスは文書化されているか?それを測定できるか?
- 既知の脆弱性に対する対応策が製品設計において考慮されているか? (製品設計を通じて、開発期間中の保護メカニズム、ソースコードレビュー)
- 新たな脆弱性に対してベンダーはどのように迅速な対応をするか? 新たなゼロデイ攻撃に対するベンダーの対応能力はどの程度か?
- どのような管理、モニタリングが行われているか?
開発プロセスからのスタート
部品(コンポーネント)調達と製品開発・生産の両方を抱えるソフトウェア開発企業にとって、サプライチェーンのセキュリティ管理は、上流のサプライヤーだけでなくソフトウェア開発でのサプライチェーンリスクを防止するため、ソフトウェアライフサイクルの開発に関わるすべての技術者に向けて、安全なソフトウェアサイクルの開発計画とトレーニングの確立が必要です。 また、上流工程だけでなくサプライヤーの開発工程も考慮する必要があります。
- コンフィギュレーション変更管理(Configuration Change Control)はどのように行うのか? コード品質や脆弱性のテストはどのように行うのか? フリーソフトウェアの脆弱性はどのようにレビューされるのか?
- どのレベルのマルウェア保護と検出が実装され、どのような検証ツールが使用され、どのような検証基準が参照されているか?
- 製品が改ざんされたりバックドアを付けられたりするのを防ぐために、どのような手段が取られているか? バックドアが残されていないか?
- ネットワークや物理的なアクセス制御対策は? アクセスログと監査の仕組みは?
- 顧客データはどのように保護、保管されているか?
- データはどのように暗号化されているか?
- データの保存期間は?
- パートナーシップ終了時のデータの破棄方法は?
- 従業員に対して、どの程度のセキュリティレベルの身辺調査が実施されているか、またその頻度や効果はどの程度か?
- 認証基準を遵守する必要のある上流サプライヤーには、どのようなセキュリティ対策が期待されているか? これらのセキュリティ基準の遵守はどのように評価されるか?
- ソフトウェアシステムおよび関連するパラメータの配布・送信のセキュリティはどのように維持されているか?
- 承認および認可された製品の流通経路が明確に記録されているか?
- コンポーネントの潜在的なリスクと対応策は何か? ベンダーは製品のライフサイクル期間中に、セキュリティを確保するためにどのような対策をしているか?
ネットワーク環境を保護し、安全なアプリケーションを構築し、ネットワークセキュリティのリスクを軽減する上で、ソフトウェア開発者が重要な役割を担っていることは明らかです。 しかし、開発チームとセキュリティチームが組織内に分散しているため、チームで協力して安全なソフトウェア開発を実施することは、ソフトウェアシステム開発者にとって究極の課題となっています。 サイバーセキュリティは決して技術的な問題だけでなく、開発者・プロセス・知識管理の組み合わせでもあります。 ネットワークセキュリティは単なる技術的な問題だけではなく、開発者・プロセス・ナレッジマネジメントの組合せでもあります。コンプライス違反は技術的な問題ではなく、すべてヒューマンエラーに関係しています。サイバーセキュリティの実践がサプライチェーン全体の従業員によって実施され、情報セキュリティシステムによって義務付けられない限り、こうした違反は存在し続けるでしょう。
国家安全保障局(NSA)、サイバーセキュリティ・インフラセキュリティ庁(CISA)、国家情報長官室(ODNI)などの米国連邦政府機関は、開発者向けのガイダンス「ソフトウェアサプライチェーンの安全性:推奨されるプラクティス」を発表しました。これらの原則には、セキュリティ要件の計画、セキュリティの観点からのソフトウエアアーキテクチャの設計、セキュリティ機能の追加、ソフトウェアと基盤となるインフラストラクチャ(ネットワークインフラ環境、ソースコードレビューテストなど)のセキュリティ維持などが含まれます。 ソフトウェア開発者は、急速に変化するセキュリティ環境に対応するために、これらのベストプラクティスと原則を考慮に入れ、通常のビジネスプロセスに導入することが強く推奨されます。

