セキュアなソフトウェア開発をいかに証明するか―米国におけるセキュアソフトウェア開発フレームワーク(SSDF)の概要と活用の利点

  • 2024-06-17

概要と背景

米国サイバーセキュリティ・インフラストラクチャ・セキュリティ庁(CISA)は、2024年3月11日にセキュアソフトウェア開発証明書フォーム*1(以下、本書)をリリース*2しました。これは、連邦政府によって使用されるソフトウェアの製造者が安全な開発プラクティスを採用していることを証明するためのものであり、米国内の安全なデジタルエコシステム確保に向けて大きな後押しとなりました。そこで今回は、この証明要件の参照元であるNIST SP 800-218ソフトウェア開発フレームワークVersion 1.1(以下、SSDF)*3について解説します。

SSDFは米国国立標準技術研究所(NIST)によって、2022年2月に公開されました。SSDFの目的は、セキュアなソフトウェア開発を支援することです。ソフトウェア開発において脆弱性を低減させ、脆弱性の根本原因に対処して再発防止を図るために、組織にとってどのような手法が適切かつ効果的であるか、その判断材料を提供しています。

ソフトウェア開発ライフサイクル(以下、SDLC)の概念において、ソフトウェアセキュリティに関する詳細な対処法は明示されていません。SSDFでは、開発中のソフトウェアが安全であることを保証するために、SDLCの各フェーズにおける実装に統合可能なレベルの抽象的なセキュアソフトウェア開発手法の重要事項を提示しています。

SSDFの概要

SSDFでは、組織の準備(Prepare the Organization:PO)、ソフトウェアの保護(Protect the Software:PS)、安全なソフトウェアの作成(Produce Well-Secured Software:PW)、脆弱性への対応(Respond to Vulnerabilities:RV)の4つの大分類で推奨事項が示されています(図表2)。推奨事項はいずれも方法論ではなく、達成状態を抽象的に定義してます。ツールや技術、仕組みではなく実装例に焦点を当てており、実装方法を指定していない点が特徴です。そのため、実際に推奨事項を組織で実装する際は、追加情報として他のリソースを調べる必要があります。

図表2 SSDFの概要

本書の表1では、推奨事項がプラクティスとタスクの2つのレイヤーで整理されてます(図表3)。さらに、各推奨事項に対する実装例および参考文献が記載されているため、実装時にどのリソースを調査すべきかを簡単に参照することが可能です。

図表3 本書表1 SSDF Version1.1の構成

利点

推奨事項を抽象的に指定することの利点は主に7つあります(図表4)。まず、組織規模やセキュリティの成熟度、開発環境などに関わらず、あらゆる組織で活用できる点です(利点1~4、6)。企業組織だけでなくプロジェクトに適用したり、既存のソフトウェア開発ワークフローに統合したりすることが可能です。また、SSDFは自組織のビジネス要件やリスク許容度、リソースを考慮して、セキュアソフトウェア開発活動における優先度付けに役立ちます。例えば、組織の現状とSSDFの推奨事項を比較することで対処すべきギャップを明らかにし、将来のターゲットや実施事項を明確にすることができます(利点5)。さらに、調達プロセスやセキュリティ管理活動において、サプライヤーのソフトウェア開発手法を理解する手助けとしても活用でき、購入者とサプライヤー間のコミュニケーション促進にも役立つでしょう(利点7)。

図表4 SSDFの利点

まとめ

セキュアソフトウェア開発証明書フォームは、署名や第三者評価を添付することによって、ソフトウェア製造者がセキュアなソフトウェア開発を自己証明できる手段です。これは、ソフトウェア製造者が利用者に対して安全性を開示するというメリットにもつながります。

この証明要件の参照元であるSSDF v1.1は、セキュアソフトウェア開発における抽象的な推奨事項が体系的に整理されているので、ソフトウェア開発者やセキュリティ担当者にとってあらゆる場面で活用しやすい有益なリソースといえます。しかし、現時点では詳細な実践方法や特定の開発方法における適用の仕方はカバーされていません。将来的な更新により、DevOpsなどの特定の開発方法やオープンソフトウェアなどにおいて、SSDFがどのように適用されるかといったユースケースをカバーしていくことが期待されます。

今後、ソフトウェア開発者やソフトウェア採用者が、セキュアなソフトウェア開発を担保し、証明していくためには、まずはSSDF v1.1を実践することがその第一歩となるでしょう。

*1 Department of Homeland Security Cybersecurity and Infrastructure Security Agency (CISA), Secure Software Development Attestation Form Instructions, 2024年5月20日閲覧,
https://www.cisa.gov/sites/default/files/2024-04/Self_Attestation_Common_Form_FINAL_508c.pdf

*2 Department of Homeland Security Cybersecurity and Infrastructure Security Agency (CISA), Secure Software Development Attestation Form, 2024年5月20日閲覧,
https://www.cisa.gov/secure-software-attestation-form

*3 NIST, 2022, NIST Special Publication 800-218 Secure Software Development Framework (SSDF) Version 1.1:Recommendations for Mitigating the Risk of Software Vulnerabilities, 2024年5月20日閲覧
https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-218.pdf

執筆者

丸山 満彦

パートナー, PwCコンサルティング合同会社

Email

上杉 謙二

ディレクター, PwCコンサルティング合同会社

Email

エレドン ビリゲ

マネージャー, PwCコンサルティング合同会社

Email

葉 美樹

シニアアソシエイト, PwCコンサルティング合同会社

Email

{{filterContent.facetedTitle}}

{{contentList.dataService.numberHits}} {{contentList.dataService.numberHits == 1 ? 'result' : 'results'}}
{{contentList.loadingText}}

{{filterContent.facetedTitle}}

{{contentList.dataService.numberHits}} {{contentList.dataService.numberHits == 1 ? 'result' : 'results'}}
{{contentList.loadingText}}

本ページに関するお問い合わせ