AWS JAPAN APN ブログ
SBOM 法規制の検討状況と yamory を活用した効率的な管理
本記事は Visional グループの 1 社である株式会社アシュアード yamory 事業部 プロダクトオーナー 鈴木 康弘 氏と、アマゾン ウェブ サービス ジャパン合同会社 パートナーソリューションアーキテクト 飯田 祐基による共著です。
近年、米国をはじめ各国で Software Bill of Materials (SBOM) の開示を義務化する法規制の動きが活発化しています。この背景にはオープソースソフトウェアの利用増加、ソフトウェアサプライチェーンの複雑化やサイバー攻撃手法の高度化に伴う、ソフトウェアサプライチェーンにおけるセキュリティリスクの高まりが挙げられます。
この記事では SBOM とはどの様なものか、その重要性や各国の法規制の検討状況を解説するとともに、 アシュアード社が提供する yamory により、SBOM を管理するだけでなく、その脆弱性管理についても効率的に行えることを解説します。
Software Bill of Materials (SBOM) とは?
SBOM はソフトウェアのサプライチェーンにおけるリスク管理と、セキュリティの確保に重要な役割を果たします。一言でいえば、ソフトウェアの構成要素がわかるリストでありソフトウェアの資産管理表です。
例えば、自動車を製造する際にはハンドル、タイヤ、エンジンさらにはネジの 1 つ 1 つを様々な場所から調達し、これらを合わせて組み立てることにより製品が完成します。製造業ではこれらを管理するために Bill Of Materials (BOM) と呼ばれる部品表を作成します。
同様に 1 つのソフトウェアは多くの商用ライブラリや、 オープンソースソフトウェアから構成され単体のプログラムであることはほとんどありません。そのため、ソフトウェアに利用されるコンポーネントを把握し、セキュリティリスクの管理のために使われるのが SBOM です。
SBOM 利用の目的
例えば、何か有償のソフトウェアを利用している際に、そのソフトウェアでどのようなライブラリが利用されているかは販売元に問い合わせないと分かりません。そのため、そのソフトウェアで利用しているライブラリに重大なバグがあった際にすぐに気づくことができないといったリスクが考えられます。
これに対し SBOM はリスク管理強化のために、ソフトウェアの構成を文書化することで下記に挙げる様な内容の実現を目的としています。
- ソフトウェアサプライチェーンの可視化: サプライチェーンの上流から下流まで、ソフトウェアに含まれるコンポーネントの可視化を行い、ソフトウェア資産の管理を可能にする。
- セキュリティリスクの特定: ソフトウェアライブラリとそのバージョンを把握できます。これにより、既知の脆弱性を事前に特定し、適切にパッチを当てるなどの対策を行えるようにする。
- ライセンスリスクの管理: オープンソースソフトウェアは様々なライセンスで提供されているため、ソフトウェアライセンスを正確に把握し、違反のリスクを回避できるようにする。
- コンプライアンス評価と監査への対応: コンプライアンス評価や監査対応を効率的に行えるようにする。
このように SBOM は、サイバーセキュリティリスク管理はもちろん、管理コスト削減、知的財産保護、規制遵守など様々な側面で重要な役割を果たします。
SBOM フォーマット
SBOM はソフトウェアサプライチェーンの中で組織を越えて共有する必要があるため、データフォーマットを統一する必要があります。標準的なフォーマットとしては Softtware Package Data Exchange (SPDX)、CycloneDX が挙げられ、後ほど解説する米国大統領令においても、これらのフォーマットを使用することが求められています。
Software Package Data Exchange (SPDF)
SPDX は、Linux Foundation を主体とするオープンソースプロジェクトです。SPDX の使用は ISO/IEC 5962:2021 として、セキュリティ、ライセンスコンプライアンス、その他のソフトウェアサプライチェーン成果物に関する、国際オープンスタンダードとして認定されています。
SDPX は、JSON、YAML、RDF/XML など複数のフォーマットに対応しており、GitHub 上でサンプルが公開されています。
CycloneDX
CycloneDX は、OWASP Foundation のサポートを中心に策定が進められている BOM スタンダードで、SBOM の他にも、SaaSBOM (SaaS)、HBOM (ハードウェア)など、様々なユースケースの BOM をサポートする包括的な規格です。
CycloneDX は、JSON、XML などのフォーマットに対応しており、GitHub 上でサンプルが公開されています。
世界各国での SBOM に関する検討状況
SBOM は各国で法規制が検討されつつあり、場合によっては必ず対応しなければならない可能性があります。米国、EU、日本国内でのそれぞれの検討状況は以下です。
米国での検討状況
2021 年 5 月 12 日にサイバーセキュリティ強化のための大統領令 (EO 14028) への署名が行われ、第 4 条「ソフトウェア・サプライチェーンの強化」の一環として「SBOM の提供」が盛り込まれています。また、この大統領令の中では、米国国立標準技術研究所 (NIST) を中心としてガイドラインを作成する旨が指示され、将来的に連邦政府のソフトウェア調達に関する契約条件を見直す旨が示されています。
これを受け、NIST は 2022 年 2 月にソフトウェアサプライチェーンのセキュリティ強化のガイドラインとして NIST SP800-218 (SSDF) を策定し、さらに 2023 年 11 月にはアメリカ合衆国サイバーセキュリティ・社会基盤安全保障庁 (CISA)、国家安全保障庁 (NSA)、国家情報長官室 (ODNI) から、SBOM をソフトウェアサプライチェーンリスクマネージメントの中心要素として位置付ける新ガイダンスが発表されました。
また、米国連邦政府は 2023 年 7 月 18 日に IoT 製品セキュリティ向上に関する政策である U.S. Cyber Trust Mark プログラムを 2024 年以降に開始することを発表しています。
US. Cyber Trust Mark は法的遵守義務が定められているわけではありませんが、IoT 製品を提供する日本国内の企業は競合他社の同プログラムへの参加により、米国における市場シェアへの影響が考えられます。
EU での検討状況
デジタル製品に関する包括的なサイバーセキュリティ要件を規定するものとして、欧州サイバーレジリエンス法 (Cyber Resilience Act) の草案が 2022 年 9 月 15 日に公表されました。草案はパブリックコメントによる意見収集を経て修正案が作成され、2023 年 11 月 30 日には欧州会議より、サイバーレジリエンス法案に関して暫定的な政治合意に達した旨の発表が行われています。
サイバーレジリエンス法案の施工は現時点で 2024 年以降の実施を予定されており、移行期間は 36 ヶ月とされています。
欧州サイバーレジリエンス法の対象はデジタル要素を持つ製品かつ、EU 圏内で販売されるもの全てであるため、その影響範囲は広く、日本国内の企業であっても欧州へ輸出を行っている製造業などは広く影響を受けることとなります。
日本国内での検討状況
日本国内でも経済産業省を中心にタスクフォースが組まれ、サイバー・フィジカルセキュリティ対策フレームワーク実現のための検討が既に進んでおり、医療機器や自動車といった分野での実証実験も行われています。
またその結果、2023 年 7 月 28 日に経済産業省からソフトウェア管理に向けた SBOM の導入に関する手引きが公開され、SBOM に関する基本的な情報の提供や、導入から管理までのフェーズが示され、国内でも着々と整備が進んでいる状況と言えます。
yamory を活用した SBOM 管理と脆弱性対策
脆弱性管理クラウド yamory は、AWS ファンデーショナルテクニカルレビュー (FTR) の認定、および AWS Gravition Ready 製品、Amazon Linux Ready 製品に認定されています。加えて、yamory は AWS Marketplace から購入し、デプロイし、管理することが可能です。
yamory は、脆弱性管理の自動化とともに、SBOM 対応が可能な SaaS サービスです。ソフトウェアやシステムの利用状況を自動で把握し、yamory 独自の脆弱性データベースと照合することで、複数プロダクト、レイヤーの脆弱性だけでなく、様々なリスクの一元管理を可能にします。
また、yamory は先に挙げたソフトウェア管理に向けた SBOM 導入に関する手引きにおいて、SBOM の作成や運用・管理に資するツールとして、国産で唯一掲載されているサービスです。ここからは yamory の特徴を説明します。
幅広いレイヤーに対応した脆弱性管理
アプリケーションライブラリ、ミドルウェア、OS の脆弱性管理に対応している他、オンプレミス環境上のネットワーク機器、Cloud Security Posture Management (CSPM) にも対応しており、幅広い範囲での脆弱性管理を 1 つのソリューションで実現することが出来ます。
図 1 yamory がサポートする脆弱性管理の範囲
また、脆弱性だけではなく、End Of Life (EOL) や、SBOM 導入の目的の 1 つである、OSS ライセンスのリスクチェックも行うことができます。この様なリスク管理はシートを使って手作業で行なっているなど、管理がバラバラになりがちです。しかし、yamory を利用すればソフトウェアに関するリスクを一元化、自動化することが可能となり、属人性をなくし対応漏れや、管理コストの削減を実現することができます。
図 2 yamory で管理することができる内容
SBOM を利用した組織全体を通じた利用ソフトウェアの可視化
yamory の SBOM エクスポート機能は標準として定められつつある SPDX、Cyclone DX に対応しています。
また、取引先やグループ会社から取得した SBOM 形式ファイルのインポートにも対応しているため、外部の SBOM データを取り込む作業においても手間なく行うことができます。
図 3 yamory の SBOM 管理機能
さらに yamory ではチーム単位での管理だけではなく、セキュリティチームによる全体管理が行えるため SBOM の管理においても組織全体を管理することが可能になります。
図 4 セキュティチームによる全体管理
SBOM 出力の流れ
ここでは、実際の SBOM 出力の流れをご紹介します。SBOM はスキャン画面に表示される各プロジェクトグループごとに出力することが可能です。
まずはスキャン画面に移動し、右上の「操作」メニューに内にある「SBOM 出力」を選択します。
図 5 スキャン画面
SBOM 出力画面でフォーマット、および対象プロジェクトを選択することでプロジェクトごとに生成された SBOM ファイルをまとめた zip ファイルとしてダウンロードすることができます。
2024 年 9 月の現時点では、出力フォーマットは以下のバージョンに対応しています。
図 6 SBOM 出力画面
この様に SBOM 出力を手間をかけることなく非常に簡単に行うことができます。
製造業では必須の C 言語、C++ 言語にも対応
特に製造業でのソフトウェア開発において良く使われる言語である C 言語、C++ 言語に対応しているため、組み込みソフトウェアに関する SBOM 管理も yamory で問題なく行うことができます。
その他にも様々な言語に対応しており、Java/Kotlin、C#/Visual Basic/F# (.NET)、Javascript/TypeScript、Python などにも対応しています。
まとめ
ソフトウェアサプライチェーンの複雑化に伴い、SBOM を活用したサイバーセキュリティ対策への法整備が世界各国で進んでいます。製造業など一部の企業においては、法的規制により必ず対応を行う必要がでる可能性があります。 この様な課題に対し yamory を使うことで SBOM への対応を行うことはもちろん、脆弱性やライセンスリスクなどソフトウェアに関する様々なリスクに対して効率良く一元管理することが可能となります。
Visional – AWS パートナースポットライト
Visional グループはビズリーチをはじめとした HR Tech 領域を中心に、産業のデジタルトランスフォーメーションを推進するさまざまな事業を展開する AWS ソフトウェアパートナー企業です。株式会社アシュアードは脆弱性管理クラウド yamory などサイバーセキュリティ領域における事業を運営している Visional グループの 1 社です。