ソフトウェアサプライチェーンの各工程でとるべき施策
次に御舩氏は、ソフトウェアサプライチェーンのリスク管理に関する具体的な施策を紹介した。施策は、「調達→製造・開発→リリース・デプロイ→運用」の各工程に沿って構築する必要がある。
はじめに、全工程に共通する施策として、システムの構成や資産の管理、脅威分析、セキュリティ要件の明確化を実施し、組織全体に浸透させなければならない。これには、各種操作のログ取得と定期的な監査体制の確立、技術進化に適応できる開発者を育成するための教育体制の整備などが含まれる。
では、それぞれの工程におけるリスクや施策の例を見ていこう。まずは調達工程、システム開発時に使用するライブラリやソフトウェアの調達、業務委託先の選定を行う工程だ。ここでのリスクとしては、サードパーティー製コンポーネントへの悪意あるコードの注入や、委託先従業員による不正な改造が考えられる。これに対処するためには、製造組織がコード検査を行い、調達した人材のリスト管理を徹底するなどの施策が必要となる。
次に、製造・開発工程。ここでは、システムの設計や実装、テストが行われる。想定されるリスクとしては、ソースコードへの悪意ある変更が加えられることや、CI/CDパイプライン上の秘密情報の漏洩などが挙げられる。対策として、ソースコードへの変更をコミットログから確認し、開発ソースコードやパイプライン上に秘密情報を表示しないことが有効だ。
続いてはリリース・デプロイ工程、ソフトウェアの配布を行う工程だ。配布時に正規でない悪性のソフトウェアが利用されるリスクが想定されるため、ソフトウェアのバージョン管理と構成管理を適切に行い、リリース時にはデジタル署名を付与して提供することが対策として重要だと御舩氏は述べる。
そして最後の運用工程では、システムの稼動中に、運用担当者による不適切な変更が行われるリスクが存在する。対策としては、運用環境で不正な変更が行えないようにアクセス制御を設けることや、システムを安全に管理するために監視や不正検知を行うことが挙げられる。また、インシデント発生時に迅速かつ適切に対応できるよう、インシデント対応プロセスを文書化し、運用担当者が十分な訓練を受けておくことも必要である。