• Column
  • CRA発効で製品セキュリティはユーザー保護から社会保護・安全保障へ

CRAの要求を満たすSBOMは「ソフトウェアBOM」ではなく「セキュアBOM」【第3回】

久木宮 到、松尾 正克(デロイト トーマツ サイバー)
2026年7月29日

第1回第2回では、CRA(EU Cyber Resilience Act:欧州サイバーレジリエンス法)における品質保証とステークホルダーとの関係構築について解説した。今回は、そのセキュリティ品質が「適切に確保されている」ことを示すエビデンスとして不可欠な「SBOM」を解説する。SBOMは一般に「ソフトウェアBOM(Bill of Materials:部品表)」を意味するが、本連載ではCRA対応のためのハードウェアなどを含む「セキュリティ対策の部品一覧」の意味から、あえて「セキュアBOM」とする。

 従来の製造物責任法(PL法)では、セキュリティ対策が十分でなくても、結果としてセキュリティインシデントさえ発生しなければ罰せられることはなかった。そのため、セキュリティ対策よりコストや納期を優先するメーカーが少なくなかった。CRA(EU Cyber Resilience Act:欧州サイバーレジリエンス法)は、そのPL法の欠点をカーバーする。結果だけでなく、十分なセキュリティ対策の取り組みをメーカーに要求する。

 具体的には、CRAはメーカーに対して、企画・開発段階でセキュリティのリスク分析を網羅的に実施し、許容できないセキュリティリスクに対して妥当性のあるセキュリティ対策を講じることを要求。さらに出荷後、セキュリティ対策が危殆化した、またコンポーネントに脆弱性が発見された場合には遅滞のない修復を求める。

 従って、セキュリティ対策よりコストや納期を優先することは許されない。セキュリティの検討や対策が不十分なまま製品を出荷すれば、たとえセキュリティインシデントが発生していなくても、今後はCRAで罰せられることになる。

 ではCRAの要求通りに、妥当性のあるセキュリティ対策を講じたことを、どのように証明すれば良いだろうか。セキュリティ対策が危殆化した、あるいはコンポーネントに脆弱性が発見された場合に、遅滞なく修復するには、どのような仕掛けが必要だろうか。この証明と仕掛けを担うのが筆者らが提言する「セキュアBOM」である。

 セキュアBOMは、セキュリティ対策の一覧表だ。セキュアBOMがあれば、EU(European Union:欧州連合)当局やユーザーなどの第三者も妥当性をチェックでき、メーカーは妥当性のあるセキュリティ対策を講じたことを、EU当局を含む第三者証明しやすくなる。

 またセキュアBOMが作成できていれば、出荷後にセキュリティ対策が危殆化する、または新たな脆弱性が発見された場合に「どの製品が影響を受けるのか」「どこを修復すれば良いか」が素早く分かるようになり、遅滞のない修復が可能になる。

 一般に「SBOM」といえば「ソフトウェアBOM」のことである。OSS(Open Source Software)ライブラリーや商用コンポーネント、ファームウェアなど製品に関わるソフトウェアを網羅的に管理する一覧表だ。しかしソフトウェアBOMだけでCRAに対応しようとすると、運用に膨大なコストとリソースが必要になるだけでなく、ハードウェア対策部分が抜けてCRA違反に問われる可能性も高くなる。

 インシデント発生時も、その膨大なリストから関連モジュールを特定するだけで時間がかかり、迅速な初動対応が妨げられる。仮に対象を特定できたとしても、そこから修正や回避策といった具体的な対処に直結しにくい点も課題だ。結果として、CRAが求める迅速な報告や対応を十分に果たせなくなる恐れがある。

セキュアBOMの本質は“説明責任を果たす”こと

 にもかかわず「ソフトウェアBOMさえ作ればCRA対応は万全だ」という風潮があることは見逃せない。なぜ、そのような風潮が生まれるのだろうか。そこには、いくつかの勘違いがある(図1)。

図1:CRA対応における“よくある”勘違いの例

よくある勘違い1:全部管理した方が安全

 典型的な勘違いに「製品に関わる全ての要素を一覧化して管理すれば安全」という考え方がある。だが実際には、製品に関わる膨大な量のモジュールやコンポーネントについて、日々変化する脆弱性情報を追跡し続けることは非現実的である。

 セキュリティ対策は、ある日突然、その有効性を失うことがある。仮にソフトウェアBOM管理ツールを用いて、あるモジュールに対する脆弱性情報を自動的に検知したとしても、実際に製品への影響があるかどうかの確認は、開発現場の担当者が都度実施しなければならない。そのため、監視対象を増やせば増やすほど、また検知される脆弱性が増えれば増えるほど、開発現場には確認のためのコストとリソースが必要になり、結果として現場は疲弊していく。

 例えば、製品に組み込んでいるOSSに脆弱性が見つかった場合を考えてみよう。この場合、OSSを組み込んでいる、あるいはOSSのインターフェースを利用している全てのモジュールについて、個別に影響を確認する必要がある。脆弱性情報は日々変化する。脆弱性が見つかる度に開発現場が調査していては、現場の負担が増加するのは避けられない。

 多数の脆弱性が検知されることで、本来優先すべき対応や更新判断に必要な情報が埋もれてしまうことも考えられる。だからこそCRA対応では、現場が疲弊しないよう、確認すべき対象を相応の根拠に基づいて限定し、原因の特定や対応内容の決定に時間がかからないようにしなければならない。