通信・ネットワーク機器メーカーのためのサイバーセキュリティ
ルーター、スイッチ、アクセスポイント、無線機器は、組み込みLinuxディストリビューション、チップベンダーのSDK、数百のオープンソースパッケージからビルドされたファームウェアを搭載して出荷されます。規制当局と通信事業者は今、各リリースに何が入っているかを問うています。CRACIはファームウェアのビルドを実行し、入るすべてのコンポーネントを記録します。
3つの枠組み、1つの問い
ルーター、スイッチ、アクセスポイント、無線機器は、現在はEUの無線機器法、2027年12月からはCyber Resilience Actの重要製品に関するルール、そしてNIS2のもとでサプライヤーを確認しなければならない通信事業者の要求に対応します。3つとも、行き着く問いは同じです。各ファームウェアリリースには何が入っているのか、という問いです。
- 無線機器指令のサイバーセキュリティ要件が、インターネットに接続する無線機器に適用されます。
- 積極的に悪用されている脆弱性と重大インシデントに関するCyber Resilience Actの報告義務が適用されます。
- Cyber Resilience Actが全面的に適用され、無線機器のサイバーセキュリティルールは廃止されます。
無線機器指令:委任規則(EU)2022/30
この委任規則により、無線機器指令の第3条(3)(d)、(e)、(f)の必須要件、すなわちネットワークに害を及ぼさないこと、個人データとプライバシーの保護、詐欺からの保護が適用されます。対象はインターネットに接続する無線機器と、育児用機器、玩具、ウェアラブルなどの一部の他のカテゴリーです。当初の予定より1年遅れて、2025年8月1日から適用されています。Wi-Fiルーターやアクセスポイントは典型的なインターネット接続型の無線機器ですが、有線専用のスイッチは無線機器ではありません。自社製品の分類はご自身で確認してください。
EN 18031-1、-2、-3
EN 18031-1、-2、-3:2024は、(d)、(e)、(f)の整合規格です。その参照は2025年1月に、次の制限付きで官報に掲載されました。
- 「rationale」と「guidance」のセクションは適合推定を与えません。
- 製品がユーザーにパスワードを設定しない、または使用しないことを選ばせる場合、推定は与えられません(6.2.5.1項と6.2.5.2項)。
- EN 18031-2については、保護者のアクセス制御を備えない育児用機器と玩具に推定は与えられません。
- EN 18031-3については、6.3.2.4のセキュアアップデートの評価基準からは推定は与えられません。
実際には、これらの選択肢のいずれかを使う製品は、該当する要件について第三者による評価が必要です。
CRAへの移行
委任規則(EU)2026/339は、CRAが全面的に適用される2027年12月11日をもって2022/30を廃止します。CRAの必須要件が、RED第3条(3)(d)、(e)、(f)のすべてを含むためです。2025年8月1日から2027年12月10日までに上市された無線機器については、無線機器指令に基づく市場監視が続きます。CRAは、自らの規格を策定する際にEN 18031の成果を考慮するよう求めていますが、EN 18031がそれだけでCRAの規格になるわけではありません。つまり、2027年12月10日までに上市される無線機器は委任規則に照らして評価され、2027年12月11日からはCRAが適用されます。
ネットワーク機器のCRAクラス
CRAの附属書IIIは重要製品を列挙しています。クラスIには、ルーター、インターネット接続用のモデム、スイッチ、ネットワーク管理システム、VPN製品、物理および仮想のネットワークインターフェース、オペレーティングシステムが含まれます。クラスIIには、ファイアウォールと侵入検知・防御システムが含まれます。クリティカル製品を定める附属書IVには、ルーターもスイッチも含まれていません。
クラスIの製品を自己評価できるのは、整合規格、共通仕様、または保証レベル「substantial」の欧州サイバーセキュリティ認証スキームを全面的に適用した場合だけです。それ以外の場合はノーティファイドボディが関与します(EU型式審査と型式適合、または完全品質保証)。クラスIIの製品は、常にそれらの経路のいずれか、または認証スキームが必要です。これらのクラスに対するCRAの整合規格が公表されるまで、クラスIのメーカーは第三者による評価を見込んで計画すべきです。
CRAの報告
2026年9月11日から、製造業者は積極的に悪用されている脆弱性と重大インシデントを報告します。24時間以内の早期警告、72時間以内の通知、そして最終報告です。最終報告は、脆弱性については修正が利用可能になってから14日後、重大インシデントについては通知から1か月後です。
NIS2:顧客側の義務
NIS2、指令(EU)2022/2555のもとでは、公衆電子通信ネットワークとサービスの提供者は、規模にかかわらず対象となります。第21条は、サプライチェーンのセキュリティと脆弱性対応を管理し、直接の各サプライヤーの脆弱性、製品の全体的な品質、セキュアな開発プラクティスを考慮することを求めています。通信事業者が機器メーカーにセキュリティ質問票やSBOMの要求を送るのはそのためです。NIS2の義務を負うのは通信事業者であり、機器メーカーではありません。
| 製品 | 2027年12月10日までの委任規則2022/30 | 2027年12月11日からのCRAクラス | 顧客がよく求めるもの |
|---|---|---|---|
| Wi-Fiルーター | 対象:インターネット接続型の無線機器 | 重要製品、クラスI(ルーター) | ファームウェアリリースごとのSBOM、CVEごとの「影響を受けているか?」 |
| 有線専用のエンタープライズスイッチ | 対象外:無線機器ではない | 重要製品、クラスI(スイッチ) | SBOM、通信事業者からのセキュリティ質問票 |
| ファイアウォールアプライアンス | 要確認:無線を備える場合のみ | 重要製品、クラスII(ファイアウォール) | 脆弱性対応プロセス、SBOM、アップデートポリシー |
| ネットワーク管理ソフトウェア | 対象外:無線機器ではない | 重要製品、クラスI(ネットワーク管理システム) | SBOM、セキュアな開発のエビデンス |
| 無線アクセスユニット | 要確認:製品による | 要確認:機能による | SBOM、脆弱性対応、サプライヤー質問票 |
| CPEモデム | 対象:Wi-Fiを備える場合 | 重要製品、クラスI(インターネット接続用のモデム) | ファームウェアリリースごとのSBOM、アップデートのサポート期間 |
これは一般的な情報であり、法的助言ではありません。自社製品の分類はご自身で確認してください。
ネットワーク機器の把握が難しい理由
ファームウェアの大部分は他者のコード。組み込みLinuxディストリビューション、SoCベンダーのSDKとカーネルパッチ、ネットワークスタック、数百のオープンソースパッケージ、そして新しいプラットフォームではRustとGoのサービスです。それぞれが独自の依存関係を持ち込みます。
1つのコードベース、多数のプラットフォーム、多数のリリース。同じファームウェアが多くのハードウェアプラットフォーム向けにビルドされ、多くのリリースが同時に現場で使われます。リリースごとにコンポーネントの組み合わせが異なります。
完成したイメージのスキャンは推測にすぎない。ファームウェアイメージのスキャンは中身を推測するもので、コンパイルされて組み込まれたものを見逃します。Yocto自身のSBOMはレシピについては網羅的ですが、比較したビルドではRustクレートにパッケージURLを付けていなかったため、アドバイザリと照合できませんでした。CRACIでのYoctoビルドについて詳しくはこちら。SBOMスキャナーがYoctoビルドの中身を見逃す理由もご覧ください。
顧客からの問い合わせは、注目度の高いCVEのたびに増える。プロダクトセキュリティチームから聞くところでは、どの問い合わせも「影響を受けているか?」から始まり、それぞれに製品ごと、バージョンごとの回答が必要です。
「影響を受けているか?」の例
一般的な圧縮ライブラリで脆弱性が公開されます(説明のための架空の例です)。2つのプロダクトセキュリティチームが、通信事業者の顧客から同じ質問を受けます。
| ステップ | すべてのビルドのSBOMとビルド履歴がある場合 | 完成したイメージのスキャンに頼る場合 |
|---|---|---|
| コンポーネントを見つける | 記録されたSBOMから、そのライブラリとバージョンを検索する | 現場で使われているイメージを、見つかれば再スキャンする |
| リリースを見つける | ビルド履歴に、直接か推移的かを問わず、それを含んでいたビルドが一覧になる | スキャン結果をリリースノートと手作業で突き合わせる |
| 期間を見つける | 脆弱なバージョンを含む最初と最後のビルドから、露出期間がわかる | イメージがビルドされた時期から推定する |
| 顧客に回答する | 影響を受ける製品とバージョン、そして影響を受けないものの一覧 | 但し書き付きの最善の推測 |
「影響を受けているか?」への回答について詳しくはこちら。
準備の進め方
パスワード処理やセキュアアップデートなどの製品セキュリティ機能は、デバイスの一部です。以下のステップは、そのファームウェアに入るものを対象とします。
- 製品ごとに分類する. 製品ごとに、2027年12月までは委任規則のもとで無線機器に当たるか、それ以降はどのCRAクラスが適用されるかを判断します。クラスによって適合性評価の経路が決まります。
- すべてのリリースビルドからSBOMを作成する. イメージがインストールするパッケージだけでなく、各ファームウェアビルドのカーネル、SDK、取得したソース、すべてのパッケージを記録します。すべてのチームとパイプラインに1つのSBOMポリシーを設定するには、エンジニアリングチーム全体でのSBOM生成をご覧ください。
- どのリリースが何を、いつ出荷したかを記録する. すべてのリリース、そのコンポーネント、出荷日です。この記録があれば、「影響を受けているか?」は調べるだけで答えられます。
- サプライヤーとチップベンダーのSBOMを追加する. チップベンダーのSDKやライセンスを受けたスタックも、ファームウェアの一部です。それらのSBOMを求め、自社のものと並べて監視します。
- 継続的に監視し、影響を受けないという判断を記録する. 新たな脆弱性が公開されるたびにすべてのリリースを確認し直し、脆弱なコンポーネントが製品に影響しない理由をVEXで記録します。
- CRAの報告プロセスを整える. 積極的に悪用されている脆弱性と重大インシデントの報告義務は、2026年9月11日から適用されています。誰がトリアージし、誰が報告を決め、誰が顧客に回答するかを決めておきます。PSIRTの仕組みもご覧ください。
- ビルドを堅牢にする. デフォルト拒否のエグレスポリシーを備えた隔離環境でビルドし、問題が判明しているバージョンをブロックして、アップデートを通じて再び入り込まないようにします。
CRACIの役割
CRACIは、GitHub Actionsのファームウェアビルドを自社のランナーで実行し、各リリースに何が入るかを記録します。そのため、規制当局や通信事業者への回答はビルドから得られます。
何が入ったかを記録するファームウェアビルド
Yoctoをはじめとする組み込みLinuxのビルドを、x86-64またはネイティブARM64、最大32vCPUのCRACIのGitHub Actionsランナーで実行できます。ビルドの実行中、CRACIはホストパッケージ、Gitソース、GitHub Actions、どのレシピやロックファイルにも載らないダウンロードを含め、ビルドが取り込むすべてのパッケージとファイルを記録します。core-image-satoのビルドでは、CRACIのSBOMにはYocto自身のSBOMに含まれるすべてのコンポーネントに加え、Yoctoが見逃した88件が含まれ、653個のRustクレートバージョンそれぞれにパッケージURLが付いていました。CRACIでのYoctoビルドについて詳しくはこちら。
サプライヤーのコードも自社のものと並べて
チップベンダーやその他のサプライヤーのSBOMを追加すれば、購入したコンポーネントも自社でビルドしたファームウェアと並べて監視されます。次にSDKの脆弱性が見つかったときも、ベンダーのコードは自社のコードと同じ記録にあります。
トリアージ、VEX、ポリシーゲート
セキュリティチームは各検出結果をトリアージし、修正を担当するチームに割り当てます。CRACIは、脆弱性が製品にどう影響するかを記録するVEXに対応しており、ポリシーゲートで特定のCVEを以降のすべてのビルドから締め出せます。
必要な接続先にしか到達できないビルド
各ジョブは独自の隔離された仮想マシンで、デフォルト拒否に設定できるエグレスポリシーのもとで実行されます。ポリシーはジョブ開始前に検証され、フェイルクローズします。デフォルト拒否のポリシーでは、ビルドに不要なホストへの接続はブロックされ、アラートが上がります。
CRACIが適さない場合
CRACIは自社でビルドするファームウェアとソフトウェアに適しています。次のような場合には適しません。
- 自社のネットワークを保護する通信事業者や、自社の運用についてNIS2に対応する通信事業者には向きません。CRACIは機器とソフトウェアのメーカーのためのものであり、通信事業者には、そのサプライヤーにより良いエビデンスを提供することでのみ役立ちます。
- GitHub Actions以外でビルドされるファームウェア、WindowsやmacOSでビルドされるファームウェア、自社の施設内にとどめなければならないビルドファームには向きません。GitLab CIとJenkins、WindowsとmacOSのランナー、顧客がホストするランナーはロードマップに掲載されています。
- 自社でビルドしていないイメージには向きません。CRACIはバイナリやサードパーティーのファームウェアをスキャンしません。それらにはベンダーのSBOMかバイナリ解析ツールが必要です(CRACIとONEKEYの比較と組み込みセキュリティツールの比較を参照)。
- PSIRTの本格的なケース管理やアドバイザリ公開のシステムではありません。CRACIは外部からの脆弱性報告をケースとして受け付けず、セキュリティアドバイザリを公開せず、到達可能性分析も行いません。PSIRTツールの比較をご覧ください。
- 適合性評価、EN 18031の試験、パスワード処理、セキュアアップデート、アクセス制御などの製品セキュリティ機能ではありません。CRACIはファームウェアに署名しません。
ネットワーク機器のセキュリティを解説
機器メーカー向けのRED、EN 18031、CRA、NIS2に関するよくあるご質問
CRAで重要製品に当たるネットワーク機器はどれで、どのクラスですか?
附属書IIIのクラスIには、ルーター、インターネット接続用のモデムとスイッチ、ネットワーク管理システム、VPN製品、物理および仮想のネットワークインターフェース、オペレーティングシステムが含まれます。クラスIIには、ファイアウォールと侵入検知・防御システムが含まれます。ルーターとスイッチは、附属書IVのクリティカル製品ではありません。
REDのサイバーセキュリティ要件はいつから、どの無線機器に適用されていますか?
2025年8月1日からです。委任規則(EU)2022/30により、無線機器指令の第3条(3)(d)、(e)、(f)が、インターネットに接続する無線機器と、育児用機器、玩具、ウェアラブルなどの一部の他のカテゴリーに適用されます。この日付は、後の委任規則によって2024年8月1日から変更されました。
EN 18031-1、-2、-3は適合推定を与えますか?
制限付きで与えます。rationaleとguidanceのセクションは推定を与えません。ユーザーがパスワードを設定しない、または使用しないことを選べる場合は推定がありません。EN 18031-2については、保護者のアクセス制御を備えない育児用機器と玩具に推定がなく、EN 18031-3については、6.3.2.4のセキュアアップデートの基準からは推定がありません。これらの場合は第三者による評価が必要です。
CRAが適用されると、REDの委任法令とEN 18031はどうなりますか?
委任規則(EU)2026/339は、CRAが全面的に適用される2027年12月11日をもって2022/30を廃止します。2027年12月10日までに上市された無線機器は、引き続きREDの市場監視の対象です。EN 18031はCRA独自の規格で考慮されることになっていますが、それだけでCRAの規格になるわけではありません。
NIS2は通信事業者のサプライヤーにどう影響しますか?
間接的に影響します。NIS2は通信事業者に義務を課しており、通信事業者はサプライチェーンのセキュリティを管理し、直接の各サプライヤーの脆弱性、製品の品質、セキュアな開発プラクティスを考慮しなければなりません。通信事業者はそれを、セキュリティ質問票、SBOMの要求、契約条件としてサプライヤーに求めます。機器メーカー自身の法的義務は、REDとCRAから生じます。
ルーターやスイッチのメーカーはCRAのもとで自己評価できますか?
整合規格、共通仕様、または保証レベルsubstantialの欧州サイバーセキュリティ認証スキームを全面的に適用する場合に限ります。ルーターとスイッチはクラスIの重要製品だからです。それ以外の場合はノーティファイドボディが関与します。これらの製品に対するCRAの整合規格が公表されるまでは、第三者による評価を見込んで計画してください。
CRACIはYoctoに対応していますか?
はい。YoctoとBitBakeのビルドはCRACIのランナーで実行でき、CRACIはビルドの実行中にジョブのSBOMを記録します。Yocto自身のSPDX出力には、適用されたパッチやレシピが修正済みとするCVEなど、CRACIが記録しないレシピのメタデータが含まれているため、それらに依存している場合はcreate-spdxを有効のままにしてください。
CRACIはどのCIシステムとビルドマシンに対応していますか?
CRACIは、x86-64とARM64、1〜32vCPUのLinuxランナーでGitHub Actionsのジョブを実行します。GitLab CIやJenkinsなどの他のCIシステム、そしてWindowsとmacOSのランナーはロードマップに掲載されています。