はじめに
どのようにしてセキュリティリスクを予測し、軽減すればいいのか。業界標準である ISO®/SAE® 21434 や DO-356 に準拠するには、新製品の市場投入前にその問いに答えを出す必要があります。しかし、変更内容の文書化、追跡、実装、検証を支援する統合プロセスがなければ、それを実現するのは困難でしょう。このプロセスは業界によって TARA (Threat Analysis and Risk Assessment)、SRA (Security Risk Assessment) など、さまざまな名称で呼ばれています。SRA のモデルベース フレームワーク (図 1) を用いることで、ステップバイステップのガイド付きプロセスを通して、設計と安全性とセキュリティを密接に結び付けることができます。また、MATLAB® のさまざまな機能を活用すると、ニーズに応じて、簡単にプロセスをカスタマイズし、拡張・自動化することもできます。
コンテキスト: 倉庫ロボット
このホワイトペーパーでは、リモートオペレーター、ソフトウェア アーキテクチャ、プラントモデル、カメラモデルで構成される倉庫ロボットの例を取り上げます (図 3)。ソフトウェア アーキテクチャの詳細 (図 4) を見ると、計画スケジューラと、計画、制御、位置推定器の各モジュールが組み込まれていることがわかります。
モデルベースのセキュリティ分析は、次のステップで構成されます (図 2 を参照)。
- アセットと脅威の特定
- セキュリティリスクの計算
- 対策の定義、実装、検証
アセットと脅威の特定
アセットと脅威を特定する際には、「何に保護が必要か」という問いが重要になります。理想を言えば、「システムに価値をもたらすもの」すべが保護の対象となります。しかし、システムの複雑さやコストの制約により、実際には安全性に関わる機能など、必要なものだけが保護の対象に選ばれます。これらの機能はアセットと呼ばれ、それぞれに以下のような保護すべきプロパティが 1 つ以上あります。
- 可用性
- 完全性
- 真正性
- 機密性
- 否認防止
- 認可
アセットの特定: 保護の対象
アセットの特定にはさまざまな手法があり、たとえば、ユーザーへの露出度の評価、データフローの調査、SBOM (Software Bill of Materials) の確認、安全機能における役割の考慮などがあります。簡単に言えば、外部入力を利用するすべてのコンポーネントを対象にする必要があります。
ロボットのソフトウェア アーキテクチャ内には、倉庫の天井カメラ (シミュレーション モデル) からの信号 (robotPosition) に依存する以下のようなコンポーネントがあります。
- 計画スケジューラ
- 位置推定器
本レポートでは、この例に基づいて、これらのアセットに関連する信号の可用性、完全性、真正性の保護に焦点を当てます。なお、これらのアセットについては他にも保護すべきプロパティがあり、本来はシステム内のすべてのアセットについて、この分析を行う必要があります。
この分析全体を通じてトレーサビリティを確保するためには、Simulink Fault Analyzer™ の Safety Analysis Manager スプレッドシートを活用することが重要です。これらのアセットをスプレッドシートに追加する際には、System Composer™ のステレオタイプを使用します。「asset (アセット)」というステレオタイプをこれらのサブシステムに割り当てると、自動的にシートに追加されます。スプレッドシートでは、アセットタイプ、保護プロパティ、その他記録したい情報を管理することができます (図 5)。Requirements Toolbox™ を使用すると、アセットを特定された脅威に紐付け、分析全体をつなぐデジタルスレッドを作成できます。これにより、以下が可能となります。
- 業界標準のトレーサビリティ要件への準拠
- 変更に対する影響分析の実施
脅威の特定: リスク要因
保護すべきアセットが特定できたら、次はこれらのアセットに対して想定される脅威を特定します。ソフトウェア セキュリティの脅威を特定する一般的な方法として、STRIDE モデリング フレームワークがあります。表 1 には、アセットに求められるプロパティと脅威が直接マッピングされています。
| 脅威 | プロパティ | 脅威の定義 |
| なりすまし | 真正性 | 本来とは異なる事象や人物を装うこと |
| 改ざん | 完全性 | ディスク、ネットワーク、メモリなどの情報を改変すること |
| 否認 | 否認防止 | 行為を行っていない、責任がないと主張すること (正当または虚偽の場合がある) |
| 情報漏洩 | 機密性 | 権限のない者が情報を入手すること |
| サービス拒否 | 可用性 | サービス提供に必要なリソースを枯渇させること |
| 特権昇格 | 認可 | 権限のない操作を許可してしまうこと |
具体的な脅威を特定できたら、CAPEC エントリ (CAPEC-601 など) を使用して脅威スプレッドシートを更新します。アセットシートと同様に、脅威シートも分析全体に紐付けることで、トレーサビリティと影響分析が可能になります。
セキュリティリスクの計算
特定の脅威に対するリスクの計算には、主に 2 つの要素が関わります。1 つ目は実現可能性で、これは攻撃の難易度を表わします。2 つ目は影響で、結果の深刻度を評価します。
実現可能性: 攻撃の難易度
ISO 18045 の Attack Potential (攻撃ポテンシャル) 手法を活用することで、攻撃の実現可能性を以下の評価項目に基づいて体系的に評価することができます。
- 専門技術: 攻撃者の技術レベルは?
- 知識: どの程度の内部情報が必要か?
- 装備: 攻撃の実行にどんなツールやハードウェアが必要か?
- 所要時間: 脆弱性を見つけて攻撃を仕掛けるまでに、どのくらいの時間がかかるか?
- 攻撃のタイミング: いつ、どのような状況で攻撃を実行できるか?
脅威スプレッドシート (図 6) には、考慮すべき各評価項目ごとに列が設けられており、MATLAB のカスタマイズ可能な数式によって実現可能性が自動的に計算されます。前述のとおり、Attack Potential 手法を用い、各評価項目の標準化された列挙値を合計することで実現可能性を算出します。
影響: 深刻度
すべての脅威には、潜在的な影響、つまり結果が伴います。この例では、影響が安全面から評価されており、既存の安全性分析 (ハザードアセスメント) の影響評価がそのまま活用されています。ただし、これは簡略化されたものになります。通常、影響は、運用、財務、プライバシーの各側面からも評価されます。
ハザードアセスメント (図 7) では、位置センサーの機能障害の深刻度は S3 から S5 の範囲になっています。簡潔にするために、これらのうち最も高い値をサービス拒否攻撃 (DoS) の影響として採用します。
リスクの計算と対応
実現可能性と影響の評価が完了したら、MATLAB の別の数式によってリスクが自動的に計算されます。この例では、リスクは実現可能性と影響を掛け合わせて計算されています。
リスク許容度に応じて、どのようにリスク対応を行うかを判断することができます。このスプレッドシート (図 8) のリスク対応は、次の特性のいずれかを示しています。
- 回避: リスクを完全に回避する必要がある (例:機能自体を削除する)
- 低減: 技術的な対策を講じてリスクを低減する必要がある
- 移転: リスクを保険会社、ユーザー、サードパーティなどに移転する
- 保有: 特に対応せず、「現状のまま」リスクを受容する
- 該当なし: このシステムには該当する脅威が存在しない
注: 回避ならびに低減のリスク対応は、いずれも技術的要件につながります。
リスクの計算や、脅威・アセット・その他の要素間の関係は、グラフとして可視化できます。これにより、それぞれが全体のリスクにどのように寄与しているかを把握することができます。グラフには各関係の重要度に関する情報が示されるため、作業の優先順位を決定する際に活用できます。図 9 から分かるように、DoS は改ざんよりも大きな脅威となっており、優先的に処理する必要があります。これは、DoS の深刻度 (S5) が、改変の深刻度 (S4) より高いためです。
図 9. リスクの可視化。
対策の定義、実装、検証
カメラから位置推定器への信号を妨害する (DoS) リスクを軽減するには、実現可能性を下げる対策を講じることでリスクを緩和できます。この例では、緊急ブレーキを追加することで影響を抑えました。この対策は、対策シート内のリンクを通じて、脅威スプレッドシートまで追跡することができます (図 10)。各対策はセキュリティ目標に紐付けられており、少なくとも 1 つ以上の派生要件があります。この例では、要件は「妨害の検出から 1 秒以内にロボットを停止させる」ことで、トレーサビリティと影響分析にも紐付けされています。
一貫性と完全性のチェック
このホワイトペーパーでは、脅威の特定、リスク評価、許容限度を越えたリスクへの対策の定義を取り上げてきました。次のステップは、対策の開発となります。セキュリティ目標を次の工程に進める前に、以下の点を確認して、脅威とリスクモデルが妥当であることを検証します。
- 各アセットに対して少なくとも 1 つ以上の脅威が特定されている (完全性の観点)
- すべての脅威が確認されている
- リスクが高すぎる場合には対策が割り当てられている
- 要件 (セキュリティ目標など) が作成され、対策に紐付けられている
- 脅威、アセット、モデル、安全性分析間でリンクが途切れていない
単一の関数呼び出しを用いて、すべての検証を行い、プロット (図 11) を生成することができます。
図 11. 脅威とリスクモデルの検証。
対策の実装
対策の定義が完了したら、それをモデルに実装する段階となります。コントローラーの Simulink® モデルで、MATLAB を使用して、関数ブロックを追加します (図 12)。このブロックはトレーサビリティを確保するために要件に紐付けされます。
検証と妥当性確認
対策の実装が完了したら、次のステップとして、攻撃をモデル化し、対策の機能を検証します。この作業には Simulink Fault Analyzer を活用して、攻撃のモデリングとシミュレーションを行います。図 13 は、攻撃をモデル化する際に使用する設定内容を可視化したものです。
故障を有効にしてモデルを実行した後は、図 14 のように シミュレーション データ インスペクター (SDI) を使用して信号を詳細に確認することができます。図 15 で示すように、Navigation Toolbox™ を用いて攻撃時の応答を可視化することもできます。これらのツールを使用すると、意図したとおりに対策が機能していることを視覚的に検証できます。このワークフローは、Simulink テスト マネージャーのフレームワークを通じて拡張することで、すべての機能が適切に検証されていることを確認できます。
図 15. 対策が適用された攻撃 (左) と適用されていない攻撃 (右) の可視化。
まとめ
モデルベースのセキュリティ分析フレームワークは、組み込みトレーサビリティ、コンプライアンスに向けたカスタマイズ性、プロセスを自動化する能力を備えたワークフローを実現することで、設計と分析の一貫性を確保します。この合理化されたワークフローを通じて、設計の初期段階に検証と妥当性確認を行うことでプロセスが加速し、開発期間の短縮とコスト削減の両方が実現します。潜在的な脅威の発見から、リスクの定量化や評価、対策の有効性の定義やシミュレーションに至るまで、このエンドツーエンドのアプローチによってセキュリティプロセス全体を確実にカバーすることができます。
参考文献
The MITRE Corporation.“CAPEC - Common Attack Pattern Enumeration and Classification (CAPEC™).”2025 年 3 月 18 日閲覧。
The MITRE Corporation.“MITRE ATT&CK®.”2025 年 3 月 18 日閲覧。
The MITRE Corporation.“MITRE EMB3D™.”2025 年 3 月 18 日閲覧。
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)