S1.1-09 では、製品のセキュリティアップデートの優先度を決定するための方針や指針を文書化することが求められます。
この要件では、以下の内容について検討・決定し、文書化しておく必要があります。
-
セキュリティアップデートの優先度を決定するための基準
-
インシデントレスポンスをハンドリングするための組織体制
-
脆弱性情報の収集、トリアージや分析、対策、アップデートなどの一連の対応プロセス
-
製品のステークホルダー間の連絡体制
本節では、 Armadillo を用いた IoT 機器において、上記の内容の決定に役立つ機能やサービスについての説明をします。
また、「アットマークテクノの方針」では、参考情報としてアットマークテクノが上記の内容に対してどのような方針で対応しているかを説明します。
一般的に脆弱性の収集は、使用している各種ライブラリの提供元や、セキュリティ関連の情報を提供する組織から取得します。
しかし、 IoT 機器を構成するソフトウェアの数と種類は膨大であり、それらの情報を手動で収集するには多大な労力が必要です。
ABOS ではアットマークテクノが提供する OS 部分と、開発者が作成するコンテナアプリケーション部分の両方において、 SBOM (Software Bill of Materials) を活用して脆弱性情報を収集します。
OS 部分の SBOM は、アットマークテクノがリリースしています。
コンテナアプリケーション部分の SBOM は、 ABOS の専用開発ツールである ABOSDE を用いてアプリケーションを開発することで自動的に生成されます。
11.1.1. SBOM スキャンツールを用いた脆弱性情報の収集
SBOM をスキャンツールにかけることで、その時点でのソフトウェアの脆弱性情報を収集することができます。
ABOS の開発環境である ATDE では、デフォルトで SBOM スキャンツールである OSV-Scanner []がインストールされています。
図11.1「OSV-Scanner を用いて SBOM をスキャンする」では、例として ATDE 上で OSV-Scanner を用いて ABOSDE で開発したアプリケーションの SBOM (development.swu.spdx.json)をスキャンします。
|
今回は見やすさのために format を markdown に設定しています
|
OSV URL 列の URL にアクセスすることで各脆弱性の詳細を確認することができます。
11.1.2. 継続的な SBOM スキャンによる脆弱性情報の収集
SBOM のスキャンは、そのスキャンを実行した時点での脆弱性情報のみを収集します。
しかし、脆弱性は日々新たに発見され続けるため、 SBOM をスキャンした時点では脆弱性情報が存在しなかったライブラリに対しても、後から脆弱性情報が公開される可能性があります。
そのため、 製品をリリースした後も定期的に SBOM をスキャンして脆弱性情報を収集する必要があります。
「SBOM スキャンツールを用いた脆弱性情報の収集」で紹介したスキャン手順を手動、あるいは CI/CD パイプラインの一部として定期的に実行することで、継続的に脆弱性情報を収集する仕組みを構築しても良いですが、 ABOS では Armadillo Twin と連携することで、 SBOM を Armadillo Twin 上にアップロードするだけで定期的にスキャンを実行し、脆弱性情報を収集する仕組みを提供していますので、そちらを利用することを推奨します。
Armadillo Twin による継続的な SBOM スキャンについては、
Armadillo Twin ユーザーマニュアル 「SWU イメージを管理する」
を参照してください。
11.2. セキュリティアップデートの優先度の決定
脆弱性の収集方法について紹介しましたが、必ずしも検出した全ての脆弱性に対応する必要はありません。
実際には脆弱性や製品の性質によって、対応する必要のない脆弱性や、逆に他の脆弱性よりも優先して対応する必要のある脆弱性があります。
セキュリティアップデートの優先度は、脆弱性の深刻度や影響範囲、製品の利用状況などを考慮して決定します。
脆弱性には基本的に CVE (Common Vulnerabilities and Exposures) と呼ばれる識別子が付与されており、この識別子を用いて検出した脆弱性のより詳細な情報を調べることができます。
また、脆弱性には深刻度を表す CVSS (Common Vulnerability Scoring System) スコアが付与されていることもあります。
この CVSS スコアも脆弱性の深刻度を判断するための参考になります。
SBOM をスキャンして取得できる情報と、開発した IoT 機器の利用状況を考慮して、セキュリティアップデートの優先度を決定することが重要です。
この節では、アットマークテクノがどのように脆弱性情報を収集し、セキュリティアップデートの優先度を決定しているかについて説明します。
開発ベンダーが社内体制を整備する際の参考情報としたり、製品のステークホルダーとしてアットマークテクノの方針を理解したりするためにご活用ください。
11.3.1. アットマークテクノの脆弱性情報の収集方法
アットマークテクノでは、 ABOS のリリースイメージの SBOM を毎日スキャンし、脆弱性情報を収集しています。
また、以下のメーリングリストを購読することでも脆弱性情報を収集しています。
Open Source Software Security Wiki
Debian Mailing Lists: debian-security-announce
Alpine Linux announcements
さらに、アットマークテクノでは第三者からの脆弱性情報の報告を受け付けるための窓口(https://www.atmark-techno.com/form/vulnerability_report)も設けています。
11.3.2. アットマークテクノの脆弱性の分析方法
アットマークテクノでは、収集した脆弱性情報を以下の基準に従って分析し、優先度を決定しています。
基本的には収集した脆弱性情報を一つ一つ確認する
-
アナウンス内容およびソースコード、修正パッチの内容を確認し、重要度を判断する
-
発見された脆弱性の数が多い場合は、 CVSS (Common Vulnerability Scoring System) のスコアを参考に深刻度を測る
11.3.3. アットマークテクノの脆弱性に対する対応優先度
アットマークテクノでは、発見された全ての脆弱性に対して対応を実施するわけではありません。
以下の基準に従って、対応の優先度を決定しています。
任意コマンド実行の可能性がある脆弱性
-
対応優先度が高い脆弱性と判断し、直ちに修正を行ってお客様に可及的速やかに提供する
アップデートニュースには以下を記載する
-
脆弱性の内容と、それがもたらす影響
-
脆弱性の対象となるかどうかの判断方法
-
(可能であれば)アップデート以外のワークアラウンド
製品の動作の妨害につながる脆弱性
製品の運用上無関係な脆弱性