(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-11-25
(45)【発行日】2024-12-03
(54)【発明の名称】脆弱性分析システム、脆弱性分析方法、およびプログラム
(51)【国際特許分類】
G06F 21/57 20130101AFI20241126BHJP
【FI】
G06F21/57 370
(21)【出願番号】P 2024039485
(22)【出願日】2024-03-13
【審査請求日】2024-08-02
【早期審査対象出願】
(73)【特許権者】
【識別番号】322003857
【氏名又は名称】パナソニックオートモーティブシステムズ株式会社
(74)【代理人】
【識別番号】100109210
【氏名又は名称】新居 広守
(74)【代理人】
【識別番号】100137235
【氏名又は名称】寺谷 英作
(74)【代理人】
【識別番号】100131417
【氏名又は名称】道坂 伸一
(72)【発明者】
【氏名】富家 琴音
(72)【発明者】
【氏名】根本 祐輔
(72)【発明者】
【氏名】和田 紘幸
(72)【発明者】
【氏名】青島 初帆
【審査官】塩澤 如正
(56)【参考文献】
【文献】特開2023-047569(JP,A)
【文献】特開2020-166650(JP,A)
【文献】特開2015-041167(JP,A)
【文献】特開2020-052686(JP,A)
【文献】中国特許出願公開第112329022(CN,A)
【文献】米山 哲平 他,システム設計における車載機器向けソフトウェア脆弱性抽出のコンセプト,2019年 暗号と情報セキュリティシンポジウム(SCIS2019)予稿集 [USB],日本,一般社団法人電子情報通信学会,2019年02月12日,pp1-5
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/57
(57)【特許請求の範囲】
【請求項1】
車両が有する資産ごとに当該資産の種類を示す分類情報を格納している分類格納部と、
分析対象アイテムが有する資産を示す設計情報を取得し、前記設計情報によって示されている資産の種類を、前記分類情報を参照することによって特定する分類特定部と、
特定された前記種類に予め対応付けられている1以上の第1脆弱性のそれぞれが前記分析対象アイテムに該当するか否かを判定する該非判定部と、
前記該非判定部による判定結果を示す分析結果レポートを出力する出力部と、を備え、
前記分類情報によって示されている複数の種類には、車載セキュリティに関する種類
と、前記車載セキュリティに限定されないセキュリティに関する種類とが含まれている、
脆弱性分析システム。
【請求項2】
前記分類格納部は、
前記車載セキュリティに関する1以上の種類のそれぞれと、当該種類に分類される1以上の資産とを関連付けて示す第1分類情報を格納している第1分類格納部と、
前記車載セキュリティに限定されないセキュリティに関する1以上の種類のそれぞれと、当該種類に分類される1以上の資産とを関連付けて示す第2分類情報を格納している第2分類格納部とを含む、
請求項1に記載の脆弱性分析システム。
【請求項3】
前記脆弱性分析システムは、さらに、
前記分析対象アイテムに該当すると判定された前記第1脆弱性である該当脆弱性ごとに、当該該当脆弱性への対策の優先度を対策優先度として導出する優先度導出部を備える、
請求項1に記載の脆弱性分析システム。
【請求項4】
前記優先度導出部は、
(a)前記分析対象アイテムを有する車両の走行に前記該当脆弱性が与える影響、
(b)前記該当脆弱性に属する第2脆弱性が過去に複数の車両から見つかった実績数、および
(c)過去に前記該当脆弱性への対策にかかった実績工数、
のうちの少なくとも1つを用いて、前記該当脆弱性の前記対策優先度を導出する、
請求項3に記載の脆弱性分析システム。
【請求項5】
前記優先度導出部は、
前記分析対象アイテムが有する前記資産が与えるアーキテクチャへの影響の大きさである影響度を用いて、前記該当脆弱性の前記対策優先度を導出する、
請求項3に記載の脆弱性分析システム。
【請求項6】
前記優先度導出部は、
前記資産への攻撃によって前記分析対象アイテムが受ける影響のレベル、前記資産への攻撃可能性のレベル、および前記資産への攻撃経路の数を用いて、前記該当脆弱性の前記対策優先度を導出する、
請求項3に記載の脆弱性分析システム。
【請求項7】
前記脆弱性分析システムは、さらに、
前記分析対象アイテムに該当しないと判定された前記第1脆弱性に対して、前記第1脆弱性が前記分析対象アイテムに該当しない理由を導出する理由導出部を備える、
請求項1に記載の脆弱性分析システム。
【請求項8】
コンピュータによって行われる脆弱性分析方法であって、
分析対象アイテムが有する資産を示す設計情報を取得し、
車両が有する資産ごとに当該資産の種類を示す分類情報を参照することによって、前記設計情報によって示されている資産の種類を特定し、
特定された前記種類に予め対応付けられている1以上の第1脆弱性のそれぞれが前記分析対象アイテムに該当するか否かを判定し、
前記1以上の第1脆弱性のそれぞれの判定結果を示す分析結果レポートを出力し、
前記分類情報によって示されている複数の種類には、車載セキュリティに関する種類
と、前記車載セキュリティに限定されないセキュリティに関する種類とが含まれている、
脆弱性分析方法。
【請求項9】
分析対象アイテムが有する資産を示す設計情報を取得し、
車両が有する資産ごとに当該資産の種類を示す分類情報を参照することによって、前記設計情報によって示されている資産の種類を特定し、
特定された前記種類に予め対応付けられている1以上の第1脆弱性のそれぞれが前記分析対象アイテムに該当するか否かを判定し、
前記1以上の第1脆弱性のそれぞれの判定結果を示す分析結果レポートを出力することを、
コンピュータに実行させ、
前記分類情報によって示されている複数の種類には、車載セキュリティに関する種類
と、前記車載セキュリティに限定されないセキュリティに関する種類とが含まれている、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、分析対象アイテムの脆弱性を分析する脆弱性分析システムなどに関する。
【背景技術】
【0002】
例えば、特許文献1には、脆弱性分析システムとして脆弱性評価装置が開示されている。この脆弱性評価装置は、資産価値に基づいて、製品の構成要素ごとのセキュリティホールに対する脅威レベルを算出するとともに、対応すべきセキュリティ対策の優先順位を決定する。資産価値およびセキュリティホールを示す情報は、製品の構成要素ごとに保持部に格納されている。また、その脆弱性評価装置は、攻撃経路を形成する要素名、およびその要素名に対応した脆弱性情報を紐付けた攻撃マップが格納される攻撃マップ保持部を備える。さらに、脆弱性評価装置は、セキュリティ対策ごとに、防御対象の構成要素、および対策効果を数値化した係数が紐付けられて格納されたセキュリティ対策分類保持部を備える。また、脆弱性評価装置は、セキュリティホールへの攻撃難易度と資産価値との乗算結果に基づいて、脆弱性の評価数値を設定する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記特許文献1の脆弱性評価装置では、脆弱性の分析精度が低いという課題がある。
【0005】
そこで、本開示は、脆弱性の分析精度の向上を図ることができる脆弱性分析システムなどを提供する。
【課題を解決するための手段】
【0006】
本開示の一態様に係る脆弱性分析システムは、車両が有する資産ごとに当該資産の種類を示す分類情報を格納している分類格納部と、分析対象アイテムが有する資産を示す設計情報を取得し、前記設計情報によって示されている資産の種類を、前記分類情報を参照することによって特定する分類特定部と、特定された前記種類に予め対応付けられている1以上の第1脆弱性のそれぞれが前記分析対象アイテムに該当するか否かを判定する該非判定部と、前記該非判定部による判定結果を示す分析結果レポートを出力する出力部と、を備え、前記分類情報によって示されている複数の種類には、車載セキュリティに関する種類が含まれている。
【0007】
なお、その包括的または具体的な態様は、装置、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、装置、方法、集積回路、コンピュータプログラム、および記録媒体の任意な組み合わせで実現されてもよい。また、記録媒体は、非一時的な記録媒体であってもよい。
【発明の効果】
【0008】
本開示の脆弱性分析システムは、脆弱性の分析精度の向上を図ることができる。
【0009】
なお、本開示の一態様における更なる利点および効果は、明細書および図面から明らかにされる。かかる利点および/または効果は、実施の形態並びに明細書および図面に記載された構成によって提供されるが、必ずしも全ての構成が必要とはされない。
【図面の簡単な説明】
【0010】
【
図1】
図1は、実施の形態における脆弱性分析システムの構成の一例を示す図である。
【
図2】
図2は、実施の形態における設計情報を生成するための画面の一例を示す図である。
【
図3】
図3は、実施の形態における分類特定部および該非判定部の処理の一例を説明するための図である。
【
図4】
図4は、実施の形態における該非判定部の処理の一例を説明するための図である。
【
図5】
図5は、実施の形態における優先度導出部の構成の一例を示す図である。
【
図6】
図6は、実施の形態における第1優先度導出部の処理を説明するための図である。
【
図7】
図7は、実施の形態における第2優先度導出部の処理を説明するための図である。
【
図8】
図8は、実施の形態における第3優先度導出部の処理を説明するための図である。
【
図9】
図9は、脅威分析システムによるリスク値の決定などを例示的に説明するための図である。
【
図10】
図10は、実施の形態における出力部から出力される分析結果レポートの一例を示す図である。
【
図11】
図11は、実施の形態における分類特定部、該非判定部、および理由導出部の一連の処理動作の一例を示すフローチャートである。
【
図12】
図12は、実施の形態における優先度導出部の処理動作の一例を示すフローチャートである。
【発明を実施するための形態】
【0011】
本開示の第1態様に係る脆弱性分析システムは、車両が有する資産ごとに当該資産の種類を示す分類情報を格納している分類格納部と、分析対象アイテムが有する資産を示す設計情報を取得し、前記設計情報によって示されている資産の種類を、前記分類情報を参照することによって特定する分類特定部と、特定された前記種類に予め対応付けられている1以上の第1脆弱性のそれぞれが前記分析対象アイテムに該当するか否かを判定する該非判定部と、前記該非判定部による判定結果を示す分析結果レポートを出力する出力部と、を備え、前記分類情報によって示されている複数の種類には、車載セキュリティに関する種類が含まれている。なお、第1脆弱性は、例えば、CWE(Common Weakness Enumeration)-IDによって識別される脆弱性であって、脆弱性タイプとも呼ばれる。
【0012】
これにより、分類情報によって示されている複数の種類には、車載セキュリティに関する種類が含まれているため、資産の種類として車載セキュリティ特有の種類が特定される場合がある。このような場合、車載セキュリティ特有の第1脆弱性が分析対象アイテムに該当するか否かが判定される。したがって、第1脆弱性の判定を、車載セキュリティ特有の観点から行うことができる。これにより、脆弱性の分析精度の向上を図ることができる。
【0013】
また、第2態様に係る脆弱性分析システムでは、前記分類格納部は、前記車載セキュリティに関する1以上の種類のそれぞれと、当該種類に分類される1以上の資産とを関連付けて示す第1分類情報を格納している第1分類格納部と、前記車載セキュリティに限定されないセキュリティに関する1以上の種類のそれぞれと、当該種類に分類される1以上の資産とを関連付けて示す第2分類情報を格納している第2分類格納部とを含んでもよい。なお、第2態様は第1態様に従属していてもよい。
【0014】
これにより、第1脆弱性の判定を、車載セキュリティ特有の観点と、一般的なセキュリティの観点とに基づいて行うことができる。これにより、脆弱性の分析精度の向上をより効果的に図ることができる。
【0015】
また、第3態様に係る脆弱性分析システムは、さらに、前記分析対象アイテムに該当すると判定された前記第1脆弱性である該当脆弱性ごとに、当該該当脆弱性への対策の優先度を対策優先度として導出する優先度導出部を備えてもよい。なお、第3態様は第1態様または第2態様に従属していてもよい。
【0016】
これにより、分析対象アイテムに該当すると判定された複数の第1脆弱性、すなわち複数の該当脆弱性のそれぞれに対して対策優先度が導出される。そして、その複数の該当脆弱性には、車載セキュリティ特有の該当脆弱性が含まれる場合がある。このような場合には、その車載セキュリティ特有の該当脆弱性に対して、他の該当脆弱性よりも大きい対策優先度を導出することができる。あるいは、その車載セキュリティ特有の該当脆弱性に対して、車載セキュリティ特有の手法によって対策優先度を導出することができる。これにより、複数の該当脆弱性に対して適切な対策優先度を導出することができ、それらの該当脆弱性への対策の不足または遅れなどを抑制することができる。また、該当脆弱性の数が多くても、それらの対策優先度が適切に導出されため、それらの該当脆弱性への対策を適切な順序で行うことができる。
【0017】
また、第4態様に係る脆弱性分析システムでは、前記優先度導出部は、(a)前記分析対象アイテムを有する車両の走行に前記該当脆弱性が与える影響、(b)前記該当脆弱性に属する第2脆弱性が過去に複数の車両から見つかった実績数、および(c)過去に前記該当脆弱性への対策にかかった実績工数、のうちの少なくとも1つを用いて、前記該当脆弱性の前記対策優先度を導出してもよい。なお、第4態様は、第1態様または第2態様に従属する第3態様に従属していてもよい。また、車両の走行は、車両の走る、曲がる、および止まるなどの機能に相当する。また、第2脆弱性は、例えば、CVE(Common Vulnerabilities and Exposures)-IDによって識別される脆弱性である。
【0018】
これにより、車両の走行に該当脆弱性が与える影響、第2脆弱性の実績数、該当脆弱性への対策の実績工数などの観点から、対策優先度が高精度に導出することができる。
【0019】
また、第5態様に係る脆弱性分析システムでは、前記優先度導出部は、前記分析対象アイテムが有する前記資産が与えるアーキテクチャへの影響の大きさである影響度を用いて、前記該当脆弱性の前記対策優先度を導出してもよい。なお、第5態様は、第1態様または第2態様に従属する第3態様、あるいは第4態様に従属していてもよい。
【0020】
これにより、アーキテクチャへの影響の大きさの観点から、対策優先度を高精度に導出することができる。
【0021】
また、第6態様に係る脆弱性分析システムでは、前記優先度導出部は、前記資産への攻撃によって前記分析対象アイテムが受ける影響のレベル、前記資産への攻撃可能性のレベル、および前記資産への攻撃経路の数を用いて、前記該当脆弱性の前記対策優先度を導出してもよい。なお、第6態様は、第1態様または第2態様に従属する第3態様、第4態様、あるいは第5態様に従属していてもよい。なお、攻撃経路は、アタックパスとも呼ばれる。
【0022】
これにより、影響のレベル、攻撃可能性のレベル、および攻撃経路の数の観点から、対策優先度を高精度に導出することができる。
【0023】
また、第7態様に係る脆弱性分析システムは、さらに、前記分析対象アイテムに該当しないと判定された前記第1脆弱性に対して、前記第1脆弱性が前記分析対象アイテムに該当しない理由を導出する理由導出部を備えてもよい。なお、第7態様は、第1態様~第6態様の何れか1つに従属していてもよい。
【0024】
これにより、非該当の理由が導出されるため、該非判定部による判定結果の信頼性を保証することができる。
【0025】
以下、実施の形態について、図面を参照しながら具体的に説明する。
【0026】
なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置および接続形態、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【0027】
また、各図は、模式図であり、必ずしも厳密に図示されたものではない。また、各図において、同じ構成部材については同じ符号を付している。
【0028】
(実施の形態)
図1は、本実施の形態における脆弱性分析システムの構成の一例を示す図である。
【0029】
本実施の形態における脆弱性分析システム10は、例えば車両に含まれる分析対象アイテムにおける情報セキュリティの脆弱性を分析するシステムである。つまり、脆弱性分析システム10は、分析対象アイテムの設計情報d1を取得し、その設計情報d1に示されている1以上の資産のそれぞれに対して、その資産の脆弱性を分析する。そして、脆弱性分析システム10は、その脆弱性の分析結果を示す情報として分析結果レポートd2を出力する。
【0030】
なお、分析対象アイテムおよび資産は、例えばプログラムによって実現される機能であってもよい。また、分析対象アイテムは、車両に搭載されるECU(Electronic Control Unit)などであってもよい。また、脆弱性分析システム10は、例えば、ISO(International Organization for Standardization)/SAE(Society of Automotive Engineers) 21434の法規に対応したシステムであってもよい。
【0031】
このような脆弱性分析システム10は、分類特定部11、分類格納部12、該非判定部13、脆弱性管理格納部14、理由導出部15、優先度導出部16、および出力部17を備える。
【0032】
分類格納部12は、車両が有する資産ごとにその資産の種類を示す分類情報を格納している記録媒体である。なお、分類情報は、資産を分類した結果を示す情報であるとも言える。また、本実施の形態では、分類格納部12は、第1分類格納部12aと、第2分類格納部12bとを有する。
【0033】
第1分類格納部12aは、複数の資産を車両特有の観点で分類した結果を示す第1分類情報を格納している記録媒体である。具体的には、第1分類情報は、車載セキュリティに関する1以上の種類のそれぞれと、その種類に分類される1以上の資産とを関連付けて示す。言い換えれば、第1分類情報では、複数の資産が、車両特有、車載特有、または車載セキュリティ特有の観点で分類されている。
【0034】
第2分類格納部12bは、複数の資産を一般的なセキュリティの観点で分類した結果を示す第2分類情報を格納している記録媒体である。具体的には、第2分類情報は、車載セキュリティに限定されないセキュリティに関する1以上の種類のそれぞれと、その種類に分類される1以上の資産とを関連付けて示す。
【0035】
つまり、本実施の形態における分類情報は、第1分類情報および第2分類情報を含む。そして、その分類情報によって示されている複数の種類には、車載セキュリティに関する種類が含まれている。なお、車載セキュリティは、例えば、車両に搭載される情報処理システムまたはプログラムにおけるセキュリティである。
【0036】
脆弱性管理格納部14は、複数の種類のそれぞれと、その種類に該当する1以上の第1脆弱性と対応付けて示す脆弱性管理情報を格納している記録媒体である。
【0037】
なお、本実施の形態では、その第1脆弱性は、CWE-IDによって識別される脆弱性である。CWE―IDは、脆弱性のカテゴリーまたはタイプの識別情報である。つまり、本実施の形態において、第1脆弱性は、抽象度の高い脆弱性であって、脆弱性タイプとも呼ばれる。また、具体的には、CWEは、MITRE Corporationが公開している、ソフトウェアにおけるセキュリティ上の脆弱性の種類を識別するための共通の基準である。そして、CWE-IDは、ViewまたはCategoryなどによって分類されている。
【0038】
なお、第1分類格納部12a、第2分類格納部12b、脆弱性管理格納部14などの記録媒体は、例えば、ハードディスクドライブ、RAM(Random Access Memory)、ROM(Read Only Memory)、または半導体メモリなどである。また、このような記録媒体は、揮発性であっても不揮発性であってもよい。
【0039】
分類特定部11は、分析対象アイテムが有する資産を示す設計情報d1を取得する。そして、分類特定部11は、その設計情報d1によって示されている資産の種類を、上述の分類情報(すなわち第1分類情報および第2分類情報)を参照することによって特定する。なお、分類特定部11は、1つの資産に対して複数の種類を特定してもよい。
【0040】
該非判定部13は、分類特定部11によって特定された種類に予め対応付けられている1以上の第1脆弱性のそれぞれが分析対象アイテムに該当するか否かを判定する。つまり、該非判定部13は、脆弱性管理格納部14の脆弱性管理情報を参照することによって、その脆弱性管理情報において、分類特定部11によって特定された種類に予め対応付けられている1以上の第1脆弱性のそれぞれを検索する。そして、該非判定部13は、その検索された1以上の第1脆弱性のそれぞれが分析対象アイテムに該当するか否かを判定する。該非判定部13は、その判定結果を示す判定結果情報を理由導出部15、優先度導出部16、および出力部17に出力する。
【0041】
理由導出部15は、該非判定部13から判定結果情報を取得すると、その判定結果情報に基づいて、分析対象アイテムに該当しないと判定された第1脆弱性に対して、その第1脆弱性が分析対象アイテムに該当しない理由を導出する。なお、分析対象アイテムに該当すると判定された第1脆弱性は、以下、該当脆弱性とも呼ばれる。そして、理由導出部15は、その導出された理由を示す理由情報を出力部17に出力する。
【0042】
優先度導出部16は、分析対象アイテムに該当すると判定された第1脆弱性、すなわち該当脆弱性ごとに、その該当脆弱性への対策の優先度を対策優先度として導出する。そして、優先度導出部16は、導出された対策優先度を示す優先度情報を出力部17に出力する。本実施の形態における優先度導出部16は、分析対象アイテムが有する資産の数が多く、それらの資産のそれぞれに対応する該当脆弱性の数が多い場合でも、それらの該当脆弱性への対策優先度を導出する。
【0043】
出力部17は、該非判定部13から判定結果情報を取得し、理由導出部15から理由情報を取得し、優先度導出部16から優先度情報を取得する。そして、出力部17は、その判定結果情報、理由情報、および優先度情報を含む分析結果レポートd2を出力する。つまり、分析結果レポートd2には、該非判定部13による判定結果が示されている。
【0044】
図2は、設計情報d1を生成するための画面の一例を示す図である。
【0045】
例えば、コンピュータは、
図2に示す画面をディスプレイに表示する。その画面は、ユーザに対して質問を行うことによって、その質問に対する回答をユーザから受け付けるための画面である。質問は、分析対象アイテムについての質問である。コンピュータは、その画面を介して、ユーザから回答を受け付けることによって、その回答に応じた1以上の資産を示す設計情報d1を生成して分類特定部11に出力する。
【0046】
具体的には、その画面には、質問1-1「外部の機器と通信するプログラムですか?」が含まれる。さらに、その画面には、その質問に対する回答が「はい」の場合、他の質問1-2「使用する外部インターフェース、プログラムが接続する機器、使用するプロトコル、接続先機器の認証方法、の組み合わせを全て列挙してください」が含まれる。なお、外部インターフェースは、外部I/Fとも表記される。
【0047】
コンピュータは、ユーザによる入力操作に応じて、質問1-1に対する回答「はい」を受け付け、さらに、質問1-2に対する回答を受け付ける。質問1-2に回答するときには、ユーザは、各項目に対して複数の選択肢から1つの選択肢を回答として選択する。各項目は、「使用外部I/F」、「接続先外部機器」、「プロトコル」、「接続先機器認証方法」、「ネットワーク防御機能」、「正当性検証方法」などである。ユーザは、これらの各項目に対して回答を選択する。例えば、ユーザは、項目「外部使用I/F」に対して「車内CAN」を回答として選択し、項目「接続先外部機器」に対して「GW内部の制御ECU/機器」を回答として選択し、項目「プロトコル」に対して「CAN-FD」を回答として選択する。さらに、ユーザは、項目「接続先機器認証方法」に対して「なし」を回答として選択し、項目「ネットワーク防御機能」に対して「IDS/IPS」を回答として選択し、項目「正当性検証方法」に対して「なし」を回答として選択する。これにより、質問1-2に対して、「車内CAN」、「GW内部の制御ECU/機器」、「CAN-FD」、「なし」、「IDS/IPS」、および「なし」を含む1つの組み合わせが回答として受け付けられる。つまり、回答番号「1-2-2」によって示される回答が受け付けられる。
【0048】
コンピュータは、このように受け付けられた回答に基づいて設計情報d1を生成する。
【0049】
図3は、分類特定部11および該非判定部13の処理の一例を説明するための図である。
【0050】
分類特定部11は、上述の設計情報d1を取得する。その設計情報d1は、例えば
図3の(a)に示すように、「CANプロトコル」および「パスワード認証機能」をそれぞれ資産として示す。なお、CANは、Controller Area Networkを意味する。また、「CANプロトコル」および「パスワード認証機能」は、
図2に示す回答番号「1-2-2」および「1-2-4」のそれぞれによって示される回答に基づく資産の例である。
【0051】
分類特定部11は、資産「CANプロトコル」を、第1分類格納部12aの第1分類情報12adおよび第2分類格納部12bの第2分類情報12bdから検索する。この場合、資産「CANプロトコル」は、第1分類情報12adに示されている。そのため、分類特定部11は、
図3の(b)に示すように、第1分類情報12adにおいて資産「CANプロトコル」に関連付けられている種類を特定する。その種類は、車載セキュリティに関する種類、あるいは車載セキュリティ特有の種類である。また、種類は、例えば第1種類および第2種類を含む。第2種類は、第1種類をさらに細かく分類することによって得られる種類であってもよい。あるいは、第2種類は、第1種類とは独立した種類であってもよい。
図3の例では、分類特定部11は、資産「CANプロトコル」に関連付けられている、第1種類として「CAN」を特定し、第2種類として「-」を特定する。なお、「-」は、第2種類がないことを示し、「(なし)」とも表記される。
【0052】
同様に、分類特定部11は、資産「パスワード認証」を、第1分類格納部12aの第1分類情報12adおよび第2分類格納部12bの第2分類情報12bdから検索する。この場合、資産「パスワード」は、第2分類情報12bdに示されている。そのため、分類特定部11は、
図3の(b)に示すように、第2分類情報12bdにおいて資産「パスワード認証」に関連付けられている種類を特定する。その種類は、車載セキュリティに限定されないセキュリティ、すなわち一般的なセキュリティに関する種類である。
図3の例では、分類特定部11は、資産「パスワード認証」に関連付けられている、第1種類として「認証」を特定し、第2種類として「パスワード」を特定する。
【0053】
これにより、
図3の(c)に示すように、資産「CANプロトコル」に対して、第1種類「CAN」と第2種類「(なし)」との組み合わせが特定結果として得られる。さらに、資産「パスワード認証」に対して、第1種類「認証」と第2種類「パスワード」との組み合わせが特定結果として得られる。
【0054】
そして、該非判定部13は、
図3の(d)に示すように、脆弱性管理格納部14の脆弱性管理情報14dを参照することによって、特定された第1種類と第2種類との組み合わせに対応付けられている1以上の第1脆弱性を検索する。すなわち、該非判定部は、1以上のCWE-IDを検索する。具体的には、脆弱性管理情報14dでは、第1種類「CAN」と第2種類「-」との組み合わせに対して、CWE-ID「300」および「419」などが対応付けられている。さらに、脆弱性管理情報14dでは、第1種類「認証」と第2種類「パスワード」との組み合わせに対して、CWE-ID「258」および「259」などが対応付けられている。したがって、該非判定部13は、第1種類「CAN」と第2種類「-」との組み合わせに対して、CWE-ID「300」および「419」などを検索する。さらに、該非判定部13は、第1種類「認証」と第2種類「パスワード」との組み合わせに対して、CWE-ID「258」および「259」などを検索する。
【0055】
なお、脆弱性管理情報14dでは、第1種類および第2種類のそれぞれに対して、1以上のCWE-IDが対応付けられていてもよい。この場合、該非判定部13は、脆弱性管理情報14dを参照することによって、第1種類に対応付けられている1以上のCWE-IDを検索し、さらに、第2種類に対応付けられている1以上のCWE-IDを検索する。
【0056】
図4は、該非判定部13の処理の一例を説明するための図である。
【0057】
該非判定部13は、
図4の(a)に示すように1以上のCWE-IDを検索すると、
図4の(b)に示すように、その1以上のCWE-IDのそれぞれが、分析対象アイテムに該当するか否かを判定する。例えば、該非判定部13は、予め定められたテーブルを参照することによって、その判定を行ってもよく、ユーザによる入力操作に応じて、その判定を行ってもよい。そして、該非判定部13は、その1以上のCWE-IDのそれぞれに対する判定結果を示す判定結果情報d3を生成して出力する。なお、判定結果情報d3は、CWE-IDごとに、そのCWE-IDのタイトルを示していてもよい。
【0058】
このように、本実施の形態では、第1分類情報12adおよび第2分類情報12bdからなる分類情報によって示されている複数の種類には、車載セキュリティに関する種類が含まれている。したがって、資産の種類として車載セキュリティ特有の種類が特定される場合がある。このような場合、車載セキュリティ特有の第1脆弱性が分析対象アイテムに該当するか否かが判定される。したがって、第1脆弱性の判定を、車載セキュリティ特有の観点から行うことができる。これにより、脆弱性の分析精度の向上を図ることができる。
【0059】
また、本実施の形態では、分類情報が第1分類情報12adおよび第2分類情報12bdからなるため、第1脆弱性の判定を、車載セキュリティ特有の観点と、一般的なセキュリティの観点とに基づいて行うことができる。これにより、脆弱性の分析精度の向上をより効果的に図ることができる。
【0060】
図5は、優先度導出部16の構成の一例を示す図である。
【0061】
本実施の形態における優先度導出部16は、第1優先度導出部21、第2優先度導出部22、第3優先度導出部23、CWE実績格納部24、実績工数格納部25、およびアーキテクチャ格納部26を備える。
【0062】
CWE実績格納部24は、CWE実績情報を格納している記録媒体である。そのCWE実績情報は、CWE-IDごとに、そのCWE-IDに属するCVE-IDが車載CVEとして過去1年間で割り当てられた数である実績数を示す。なお、CVE-IDによって識別される脆弱性は、第2脆弱性とも呼ばれる。
【0063】
実績工数格納部25は、実績工数情報を格納している記録媒体である。その実績工数情報は、CWE-IDごとに、そのCWE-IDによって識別される脆弱性(すなわち第1脆弱性)への対策にかかった実績工数を示す。
【0064】
アーキテクチャ格納部26は、アーキテクチャ情報を格納している記録媒体である。そのアーキテクチャ情報は、アーキテクチャの種類ごとに、その種類のアーキテクチャへの影響の大きさを影響度として示す。
【0065】
なお、CWE実績格納部24、実績工数格納部25、アーキテクチャ格納部26などの記録媒体は、例えば、ハードディスクドライブ、RAM、ROM、または半導体メモリなどである。また、このような記録媒体は、揮発性であっても不揮発性であってもよい。
【0066】
第1優先度導出部21は、該非判定部13による判定結果を示す判定結果情報d3を取得する。判定結果情報d3は、例えば、
図4の(b)に示すように、1以上のCWE-IDと、各CWE-IDが該当か非該当かの判定結果とを示す。なお、該当すると判定されたCWE-IDは、以下、該当CWE-IDとも呼ばれ、該当CWE-IDによって識別される脆弱性(すなわち第1脆弱性)は、以下、該当脆弱性とも呼ばれる。
【0067】
そして、第1優先度導出部21は、該当CWE-IDごとに、すなわち該当CWE-IDによって識別される該当脆弱性ごとに、その該当脆弱性への対策の優先度を第1優先度として導出する。このとき、第1優先度導出部21は、CWE実績格納部24のCWE実績情報と、実績工数格納部25の実績工数情報とに基づいて、各該当CWE-IDの第1優先度を導出する。また、第1優先度導出部21は、各該当CWE-IDに対して導出された第1優先度を示す第1優先度情報を、第2優先度導出部22に出力する。
【0068】
第2優先度導出部22は、該当CWE-IDごとに、すなわち該当CWE-IDによって識別される該当脆弱性ごとに、その該当脆弱性への対策の優先度を第2優先度として導出する。例えば、第2優先度導出部22は、第1優先度導出部21から第1優先度情報を取得すると、その第1優先度情報に示されている各該当CWE-IDの第1優先度を特定する。さらに、第2優先度導出部22は、各該当CWE-IDと、各該当CWE-IDの第1優先度と、アーキテクチャ格納部26のアーキテクチャ情報とを用いて、各該当CWE-IDの第2優先度を導出する。そして、第2優先度導出部22は、各該当CWE-IDに対して導出された第2優先度を示す第2優先度情報を、第3優先度導出部23に出力する。
【0069】
第3優先度導出部23は、該当CWE-IDごとに、すなわち該当CWE-IDによって識別される該当脆弱性ごとに、その該当脆弱性への対策の優先度を第3優先度として導出する。例えば、第3優先度導出部23は、第2優先度導出部22から第2優先度情報を取得すると、その第2優先度情報に示されている各該当CWE-IDの第2優先度を特定する。さらに、第3優先度導出部23は、資産のリスク値と、各該当CWE-IDの第2優先度と、資産へのアタックパス数とを用いて、各該当CWE-IDの第3優先度を導出する。そして、第3優先度導出部23は、各該当CWE-IDに対して導出された第3優先度を対策優先度として示す優先度情報d4を出力する。
【0070】
図6は、第1優先度導出部21の処理を説明するための図である。
【0071】
例えば、分析対象アイテムは、
図6に示すように、車両のリモート駐車機能である。その分析対象アイテムには、Bluetooth(登録商標)通信機能、第1機能、第2機能、およびCAN通信機能がそれぞれ資産として含まれている。それらの資産のうち、資産「CAN通信機能」には、CWE-ID「CWE-b」によって識別される第1脆弱性(具体的には脆弱性タイプ)がある。なお、「CWE-b」は、該当CWE-IDであり、上述の第1脆弱性は、該当脆弱性である。
【0072】
第1優先度導出部21は、例えばユーザによる入力操作に応じて、該当CWE-IDによって識別される該当脆弱性が車両に与える影響を受け付ける。その影響は、例えば、安全(S)のレベルと、財産(F)のレベルと、操作性能(O)のレベルと、プライバシー(P)のレベルとによって表現される。言い換えれば、影響は、SFOPによって表現される。そのレベルは4段階で表現される。例えば、そのレベルには、レベルの高い順に、「Severe」、「Major」、「Moderate」、「Negligible」などがある。
【0073】
例えば、第1優先度導出部21は、
図6の(a)に示すように、安全性(S)のレベルとして「Severe」を受け付け、財産(F)のレベルとして「Moderate」を受け付ける。さらに、第1優先度導出部21は、操作性能(O)のレベルとして「Major」を受け付け、プライバシー(F)のレベルとして「Negligible」を受け付ける。安全性(S)のレベル「Severe」は、生命を脅かす障害または致命傷が生じるレベルである。財産(F)のレベル「Moderate」は、車両価格を下回る軽微な損失が生じるレベルである。操作性能(O)のレベル「Major」は、重要な車両機能の喪失が生じるレベルである。プライバシー(P)のレベル「Negligible」は、車両の機能または性能に影響がないレベルである。
【0074】
なお、上述の例では、第1優先度導出部21は、該当CWE-IDに対するSFOPを、ユーザによる入力操作に応じて受け付けるが、予め定められたテーブルを参照することによって受け付けてもよい。そのテーブルでは、各CWE-IDごとにSFOPが定義されている。
【0075】
第1優先度導出部21は、このようなSFOPを受け付けると、そのSFOPのうち、CWE-ID「CWE-b」によって識別される該当脆弱性が車両の安全および走行に与える影響に基づいて、その該当脆弱性に対する第1係数を導出する。車両の安全に与える影響は、安全(S)のレベルによって表現される。車両の走行に与える影響は、車両の走る機能、曲がる機能、および止まる機能に与える影響であって、操作性能(O)のレベルによって表現される。そこで、第1優先度導出部21は、安全(S)のレベル「Severe」と、操作性能(O)のレベル「Major」とから、第1係数「3.5」を導出する。なお、安全(S)のレベルおよび操作性能(O)のレベルからなる組み合わせと、第1係数とは、予め対応付けられていてもよい。つまり、第1優先度導出部21は、複数のその組み合わせのそれぞれと、その組み合わせに対応付けられている第1係数とを示すテーブルから、受け付けられた安全(S)のレベルおよび操作性能(O)のレベルからなる組み合わせに対応する第1係数を検索する。これにより、第1係数が導出される。
【0076】
なお、上述の例では、第1優先度導出部21は、安全(S)のレベルおよび操作性能(O)のレベルからなる組み合わせに基づいて、第1係数を導出するが、安全(S)のレベルおよび操作性能(O)のレベルのうちの一方のみに基づいて、第1係数を導出してもよい。例えば、第1優先度導出部21は、安全(S)のレベルのみに基づいて、第1係数を導出してもよい。あるいは、第1優先度導出部21は、SFOPの全てのレベルを用いて、第1係数を導出してもよい。
【0077】
次に、第1優先度導出部21は、
図6の(b)に示すように、CWE実績格納部24に格納されているCWE実績情報24dを参照する。CWE実績情報24dは、上述のように、CWE-IDごとに、そのCWE-IDに属するCVE-IDが車載CVEとして過去1年間で割り当てられた数である実績数を示す。つまり、CWE実績情報24dは、車載業界または車両業界において、CWE-IDに属する複数の車載CVEのそれぞれによって識別される脆弱性(すなわち第2脆弱性)が直近の過去1年間で見つかった数を示す。第1優先度導出部21は、該当脆弱性がCWE-ID「CWE-b」によって識別される第1脆弱性である場合、CWE実績情報24dからCWE-ID「CWE-b」を検索する。そして、第1優先度導出部21は、CWE実績情報24dにおいてそのCWE-ID「CWE-b」に対応付けられている実績数「200」を特定する。さらに、第1優先度導出部21は、実績数が多いほど、大きい第2係数を導出する。例えば、第1優先度導出部21は、実績数「200」から第2係数「4」を導出する。なお、実績数と第2係数との関係は、関数によって表現されてもよく、テーブル形式で表現されていてもよい。
【0078】
次に、第1優先度導出部21は、
図6の(c)に示すように、実績工数格納部25に格納されている実績工数情報25dを参照する。実績工数情報25dは、上述のように、CWE-IDごとに、そのCWE-IDによって識別される第1脆弱性への対策にかかった実績工数を示す。第1優先度導出部21は、該当脆弱性がCWE-ID「CWE-b」によって識別される第1脆弱性である場合、実績工数情報25dからCWE-ID「CWE-b」を検索する。そして、第1優先度導出部21は、実績工数情報25dにおいてそのCWE-ID「CWE-b」に対応付けられている実績工数「1」を特定する。さらに、第1優先度導出部21は、実績工数が多いほど、大きい第3係数を導出する。例えば、第1優先度導出部21は、実績工数「1」から第3係数「2」を導出する。なお、実績工数と第3係数との関係は、関数によって表現されてもよく、テーブル形式で表現されていてもよい。
【0079】
そして、第1優先度導出部21は、第1係数、第2係数、および第3係数に基づいて、第1優先度を導出する。例えば、第1優先度導出部21は、第1係数、第2係数、および第3係数を乗算することによって、第1優先度を導出する。上述の例の場合、第1優先度導出部21は、第1係数「3.5」、第2係数「4」、および第3係数「2」を乗算することによって、第1優先度「28」を導出する。なお、上述の例では、第1優先度の導出には乗算が用いられるが、上記3つの係数の平均など、乗算以外の他の演算または数式が用いられてもよい。
【0080】
このように、本実施の形態における第1優先度導出部21は、第1係数、第2係数、および第3係数に基づいて、該当脆弱性への対策の第1優先度を導出する。また、本実施の形態における優先度導出部16は、その第1優先度を用いて対策優先度を導出する。したがって、本実施の形態における優先度導出部16は、(a)分析対象アイテムを有する車両の走行に該当脆弱性が与える影響、(b)該当脆弱性に属する第2脆弱性が過去に複数の車両から見つかった実績数、および、(c)過去に該当脆弱性への対策にかかった実績工数を用いて、該当脆弱性の対策優先度を導出する。なお、(a)の影響は、上述の安全(S)のレベルおよび操作性能(O)のレベルであり、(b)の実績数は、CWE実績情報24dから特定される実績数であり、(c)の実績工数は、実績工数情報25dから特定される実績工数である。
【0081】
このように、本実施の形態では、分析対象アイテムに該当すると判定された複数の第1脆弱性、すなわち複数の該当脆弱性のそれぞれに対して対策優先度が導出される。そして、その複数の該当脆弱性には、車載セキュリティ特有の該当脆弱性が含まれる場合がある。このような場合には、その車載セキュリティ特有の該当脆弱性に対して、他の該当脆弱性よりも大きい対策優先度を導出することができる。あるいは、その車載セキュリティ特有の該当脆弱性に対して、車載セキュリティ特有の手法によって対策優先度を導出することができる。これにより、複数の該当脆弱性に対して適切な対策優先度を導出することができ、それらの該当脆弱性への対策の不足または遅れなどを抑制することができる。また、該当脆弱性の数が多くても、それらの対策優先度が適切に導出されため、それらの該当脆弱性への対策を適切な順序で行うことができる。
【0082】
また、本実施の形態では、上述の(a)、(b)および(c)を用いて、該当脆弱性の対策優先度が導出される。したがって、車両の走行に該当脆弱性が与える影響、第2脆弱性の実績数、該当脆弱性への対策の実績工数などの観点から、対策優先度が高精度に導出することができる。
【0083】
図7は、第2優先度導出部22の処理を説明するための図である。
【0084】
第2優先度導出部22は、
図7に示すように、アーキテクチャ格納部26に格納されているアーキテクチャ情報26dを参照する。アーキテクチャ情報26dは、上述のように、アーキテクチャの種類ごとに、その種類のアーキテクチャへの影響の大きさを影響度として示す。例えば、アーキテクチャ情報26dでは、アーキテクチャの種類が、複数の上位類に分類され、さらに、各上位類は複数の下位類に分類されている。つまり、アーキテクチャの種類は、上位類と下位類との組み合わせからなる。言い換えれば、アーキテクチャの種類は、大分類と小分類とから構成されている。また、アーキテクチャ情報26dでは、各上位類は、CWE-Viewに対応付けられている。
【0085】
第2優先度導出部22は、該当脆弱性がCWE-ID「CWE-b」によって識別される第1脆弱性である場合、そのCWE-ID「CWE-b」に対応するアーキテクチャの種類を特定する。CWE-ID「CWE-b」に対応する資産は、CAN通信機能であって、アーキテクチャの種類としてシステムおよびソフトウェアに関連する。したがって、第2優先度導出部22は、CWE-ID「CWE-b」に対応するアーキテクチャの種類として、システムおよびソフトウェアを特定する。そして、第2優先度導出部22は、アーキテクチャ情報26dにおいて、上位類「システム」に対応付けられている影響度「4」と、上位類「ソフトウェア」に対応付けられている影響度「3、2、1」とを特定する。さらに、第2優先度導出部22は、それらの特定された影響度から、最も大きい影響度「4」を選択する。
【0086】
次に、第2優先度導出部22は、第1優先度情報に示されている該当CWE-ID「CWE-b」の第1優先度と、該当CWE-ID「CWE-b」に対して特定および選択された影響度「4」とに基づいて、第2優先度を導出する。例えば、第2優先度導出部22は、第1優先度と影響度とを乗算することによって、第2優先度を導出する。上述の例の場合、第2優先度導出部22は、第1優先度「28」と影響度「4」とを乗算することによって、第2優先度「112」を導出する。なお、上述の例では、第2優先度の導出には乗算が用いられるが、乗算以外の他の演算または数式が用いられてもよい。
【0087】
このように、本実施の形態における第2優先度導出部22は、アーキテクチャへの影響度に基づいて、該当脆弱性への対策の第2優先度を導出する。また、本実施の形態における優先度導出部16は、その第2優先度を用いて対策優先度を導出する。したがって、本実施の形態における優先度導出部16は、分析対象アイテムが有する資産が与えるアーキテクチャへの影響の大きさである影響度を用いて、該当脆弱性の対策優先度を導出する。
【0088】
これにより、アーキテクチャへの影響の大きさの観点から、対策優先度を高精度に導出することができる。
【0089】
図8は、第3優先度導出部23の処理を説明するための図である。
【0090】
第3優先度導出部23は、
図8に示すように、該当脆弱性がCWE-ID「CWE-b」によって識別される第1脆弱性である場合、そのCWE-ID「CWE-b」、すなわち該当CWE-ID「CWE-b」に対応する資産のリスク値を決定する。さらに、第3優先度導出部23は、そのリスク値と、その資産へのアタックパスの数であるアタックパス数とに基づいて、第4係数を導出する。なお、アタックパスは、攻撃経路とも呼ばれる。そして、第3優先度導出部23は、その第4係数と、第2優先度導出部22によって導出された第2優先度とに基づいて、第3優先度を対策優先度として導出する。
【0091】
具体的には、第3優先度導出部23は、まず、設計情報d1などに基づいて、分析対象アイテムのDFD(Data Flow Diagram)を導出する。なお、第3優先度導出部23は、他の情報を用いてDFDを導出してもよく、DFDを他のシステムまたは装置から取得してもよく、ユーザによる入力操作に基づいて導出してもよい。また、DFDは、スマートフォン、GW(Gateway)、センサーECUなどの外部機器と、分析対象アイテムであるリモート駐車機能に含まれる各構成要素との間におけるデータの流れなどを示す図である。
【0092】
次に、第3優先度導出部23は、そのDFDに基づいて、該当CWE-ID「CWE-b」に対応する資産へのアタックパスを特定する。
図8の例では、その資産は、CAN通信機能である。CAN通信機能へのアタックパスには、第1アタックパスと、第2アタックパスと、第3アタックパスとがある。第1アタックパスは、
図8に示すように、リモート駐車機能の外部にあるスマートフォンからCAN通信機能に至るパスである。第2アタックパスは、リモート駐車機能の外部にあって車両制御ECUに接続されているGWからCAN通信機能に至るパスである。第3アタックパスは、リモート駐車機能の外部にあるセンサーECUからCAN通信機能に至るパスである。したがって、リモート駐車機能の外部からCAN通信機能へのアタックパスの数、すなわちアタックパス数は、「3」である。そのため、第3優先度導出部23は、アタックパス数として「3」を特定する。
【0093】
次に、第3優先度導出部23は、該当CWE-ID「CWE-b」に対応する資産(
図8の例ではCAN通信機能)へのアタックパスごとのリスク値を決定する。第3優先度導出部23は、資産のリスク値を決定するときには、その資産への攻撃によって分析対象アイテムが受ける影響のレベルと、その資産へのアタックパスを介した攻撃可能性のレベルと、リスクマトリクステーブルとを用いる。なお、影響のレベル、攻撃可能性のレベル、およびリスクマトリクステーブルは、例えばISO21434によって定義されている。例えば、第3優先度導出部23は、影響のレベルが「Severe」であって、攻撃可能性のレベルが「Low」である場合、リスクマトリクステーブルにおいて、影響のレベル「Severe」および攻撃可能性のレベル「Low」に対応付けられているリスク値を検索する。このような検索によって、第3優先度導出部23は、リスク値「3」を決定する。また、第3優先度導出部23は、アタックパスごとにリスク値を決定した後、それらのリスク値から最大のリスク値を選択する。
図8の例では、最大のリスク値として「3」が選択される。
【0094】
次に、第3優先度導出部23は、上述のように選択された最大のリスク値「3」と、特定されたアタックパス数「3」とを例えば乗算することによって、第4係数「9」を導出する。さらに、第3優先度導出部23は、その第4係数「9」と第2優先度「112」とを例えば乗算することによって、第3優先度「1108」を導出する。この第3優先度「1108」が、対策優先度として扱われる。なお、上述の例では、第3優先度の導出には乗算が用いられるが、乗算以外の他の演算または数式が用いられてもよい。
【0095】
このように、本実施の形態における第3優先度導出部23は、リスク値とアタックパス数とに基づいて、該当脆弱性への対策の第3優先度を導出する。そのリスク値は、資産への攻撃によって分析対象アイテムが受ける影響のレベルと、その資産への攻撃可能性のレベルとに基づいて決定される。また、本実施の形態では、その第3優先度が対策優先度として扱われる。したがって、本実施の形態における優先度導出部16は、資産への攻撃によって分析対象アイテムが受ける影響のレベル、資産への攻撃可能性のレベル、および資産への攻撃経路の数を用いて、該当脆弱性の対策優先度を導出する。
【0096】
これにより、影響のレベル、攻撃可能性のレベル、および攻撃経路の数の観点から、対策優先度を高精度に導出することができる。
【0097】
なお、第3優先度導出部23によるリスク値の決定と、最大のリスク値の選択とは、脅威分析システムでも行われていてもよい。例えば、分析対象アイテムに対しては、まず、脅威分析システムによって脅威分析が行われ、その後、脆弱性分析システム10によって脆弱性分析が行われる。そして、脅威分析システムによる脅威分析では、リスク値の決定と、最大のリスク値の選択とが行われ、脆弱性分析システム10による脆弱性分析でも、第3優先度導出部23によって、リスク値の決定と、最大のリスク値の選択とが行われる。つまり、本実施の形態における第3優先度導出部23は、その脅威分析システムと同様の処理を行うことによって、リスク値の決定と、最大のリスク値の選択とを行う。あるいは、脅威分析システムによる脅威分析において、リスク値の決定と、最大のリスク値の選択とが行われる場合には、第3優先度導出部23は、リスク値の決定と、最大のリスク値の選択とを行うことなく、脅威分析システムによる処理結果として得られる最大のリスク値を、その脅威分析システムから取得してもよい。
【0098】
図9は、脅威分析システムによるリスク値の決定などを例示的に説明するための図である。
【0099】
脅威分析システムは、
図9の(a)に示すように、例えば、分析対象アイテム80が有する資産A、資産B、および資産Cのそれぞれのリスク値を評価する。資産A、資産B、および資産Cは、分析対象アイテム80において守られるべきデータまたは機能などである。また、分析対象アイテム80は、例えば車両に搭載されるECUとして構成され、スマホ91およびDiag92などの外部機器と無線または有線を介して通信する。なお、スマホ91は、スマートフォンであり、Diag92は、車両の不備、不具合などを診断する装置、すなわちダイアグノーシスである。このような分析対象アイテム80は、それぞれ物理構成要素であるBTインターフェース81、USBインターフェース82、CANインターフェース83、Mainマイコン84、およびCANマイコン85を備える。BTインターフェース81は、BT I/Fとも表記され、Bluetoothのためのインターフェースである。USBインターフェース82は、USB I/Fとも表記され、USB(Universal Serial Bus)のためのインターフェースである。CANインターフェース83は、CAN I/Fとも表記され、CANのためのインターフェースである。Mainマイコン84は、分析対象アイテム80を制御するマイクロコンピュータである。Mainマイコン84は、上述の資産A、資産B、および資産Cを有する。CANマイコン85は、分析対象アイテム80のCANに関する制御を行うマイクロコンピュータである。なお、物理構成要素は、ハードウェアの構成要素である。
【0100】
ここで、Mainマイコン84と、BTインターフェース81、USBインターフェース82、およびCANマイコン85のそれぞれとの間には、物理経路がある。また、BTインターフェース81とスマホ91との間にも物理経路がある。また、CANマイコン85とCANインターフェース83との間にも物理経路があり、CANインターフェース83とDiag92との間にも物理経路がある。なお、物理経路は、物理的な接続経路である。
【0101】
また、物理構成要素には、攻撃可能性のレベルが割り当てられている場合がある。例えば、BTインターフェース81には、攻撃可能性のレベルとして「Medium」が割り当てられている。また、USBインターフェース82には、攻撃可能性のレベルとして「Very Low」が割り当てられている。
【0102】
また、資産には、その資産への攻撃によって分析対象アイテム80が受ける影響のレベルが設定されている。例えば、資産Aには、影響のレベルとして「Moderate」が設定され、資産Bには、影響のレベルとして「Severe」が設定され、資産Cには、影響のレベルとして「Major」が設定されている。なお、影響のレベルは、影響度とも呼ばれる。
【0103】
脅威分析システムは、資産A、資産B、および資産Cのそれぞれについて、その資産への1以上のアタックパスを決定する。つまり、脅威分析システムは、資産A、資産B、および資産Cのそれぞれについて、外部機器からその資産に至るまでの1以上の物理構成要素の配列からなる物理経路を1つ以上決定する。
【0104】
例えば、スマホ91が資産A、資産B、および資産Cに対する攻撃を行う場合、スマホ91は、攻撃可能性のレベル「Medium」が割り当てられているBTインターフェース81を介してMainマイコン84にアクセスする可能性がある。あるいは、スマホ91は、攻撃可能性のレベル「Very Low」が割り当てられているUSBインターフェース82を介してMainマイコン84にアクセスする可能性がある。つまり、資産A、資産B、および資産Cへのアタックパスには、BTインターフェース81を経由するアタックパスと、USBインターフェース82を経由するアタックパスとがある。そのため、脅威分析システムは、資産A、資産B、および資産Cのそれぞれについて、2つのアタックパスを決定する。
【0105】
脅威分析システムは、資産A、資産B、および資産Cのそれぞれについて、決定されたアタックパスごとに、
図9の(b)に示すリスクマトリクステーブルを参照しながら、そのアタックパスに対応する攻撃可能性のレベルと、資産の影響のレベルとを用いて、リスク値を決定する。つまり、脅威分析システムは、資産Aへの2つのアタックパスのそれぞれに対してリスク値を決定し、資産Bへの2つのアタックパスのそれぞれに対してリスク値を決定し、資産Cへの2つのアタックパスのそれぞれに対してリスク値を決定する。
【0106】
リスクマトリクステーブルは、
図9の(b)に示すように、攻撃可能性のレベルと影響のレベルとの組み合わせごとに、その組み合わせに対応するリスク値を示す。攻撃可能性のレベルは、「Very Low」、「Low」、「Medium」、「High」によって区別される。なお、これらのレベルは、低い順に配列されている。また、影響のレベルは、「Severe」、「Major」、「Moderate」、「Negligible」によって区別される。なお、これらのレベルは、高い順に配列されている。
【0107】
上述の例では、資産Aの影響のレベルは、「Moderate」であり、資産Bの影響のレベルは、「Severe」であり、資産Cの影響のレベルは、「Major」である。また、2つのアタックパスのうちの一方に対応する攻撃可能性のレベルは、「Medium」であり、他方に対応する攻撃可能性のレベルは、「Very Low」である。
【0108】
したがって、脅威分析システムは、リスクマトリクステーブルを参照することによって、資産Aのリスク値として、攻撃可能性のレベル「Medium」と資産Aの影響のレベル「Moderate」との組み合わせに対応するリスク値「2」を決定する。さらに、脅威分析システムは、資産Aのリスク値として、攻撃可能性のレベル「Very Low」と資産Aの影響のレベル「Moderate」との組み合わせに対応するリスク値「1」を決定する。そして、脅威分析システムは、そのリスク値「2」および「1」から、最大のリスク値「2」を選択する。
【0109】
同様に、脅威分析システムは、リスクマトリクステーブルを参照することによって、資産Bのリスク値として、攻撃可能性のレベル「Medium」と資産Bの影響のレベル「Severe」との組み合わせに対応するリスク値「4」を決定する。さらに、脅威分析システムは、資産Bのリスク値として、攻撃可能性のレベル「Very Low」と資産Bの影響のレベル「Severe」との組み合わせに対応するリスク値「2」を決定する。そして、脅威分析システムは、そのリスク値「4」および「2」から、最大のリスク値「4」を選択する。
【0110】
同様に、脅威分析システムは、リスクマトリクステーブルを参照することによって、資産Cのリスク値として、攻撃可能性のレベル「Medium」と資産Cの影響のレベル「Major」との組み合わせに対応するリスク値「3」を決定する。さらに、脅威分析システムは、資産Cのリスク値として、攻撃可能性のレベル「Very Low」と資産Cの影響のレベル「Major」との組み合わせに対応するリスク値「1」を決定する。そして、脅威分析システムは、そのリスク値「3」および「1」から、最大のリスク値「3」を選択する。
【0111】
図10は、出力部17から出力される分析結果レポートd2の一例を示す図である。
【0112】
出力部17は、該非判定部13から取得された判定結果情報d3と、理由導出部15から取得された理由情報d5と、優先度導出部16から取得された優先度情報d4とを含む分析結果レポートd2を出力する。つまり、分析結果レポートd2は、
図10に示すように、CWE-IDごとに、そのCWE-IDによって識別される第1脆弱性のタイトルと、その第1脆弱性が分析対象アイテムに該当するか否かの判定結果とを示す。このような、タイトルおよび判定結果は、判定結果情報d3に示されている。また、
図10の例では、分析結果レポートd2は、CWE-IDごとに、そのCWE-IDによって識別される第1脆弱性の配置先を示す。配置先は、例えば、分析対象アイテム(例えば、リモート駐車機能)に含まれる各機能のうちの、第1脆弱性を有する機能である。このような配置先も、判定結果情報d3に示されていてもよい。
【0113】
さらに、分析結果レポートd2は、CWE-IDごとに、そのCWE-IDによって識別される第1脆弱性が該当脆弱性ではない場合、その第1脆弱性が分析対象アイテムに該当しない理由を判定理由として示す。この判定理由は、理由情報d5に示されている。例えば、理由導出部15は、該非判定部13から判定結果情報d3を取得すると、その判定結果情報d3に示されている第1脆弱性のタイトルなどの内容に基づいて、第1脆弱性の特徴「パスワード」を特定する。そして、理由導出部15は、その特徴「パスワード」が第1脆弱性の配置先「CAN通信機能」で使用されないことを、上述の判定理由として導出し、その判定理由を示す理由情報d5を出力する。このような理由情報d5によって示される判定理由が分析結果レポートd2に含められている。これにより、第1脆弱性が分析対象アイテムに該当しない理由、すなわち非該当の理由が判定理由として導出されるため、該非判定部13による判定結果の信頼性を保証することができる。
【0114】
さらに、分析結果レポートd2は、CWE-IDごとに、そのCWE-IDによって識別される第1脆弱性が該当脆弱性である場合、その第1脆弱性への対策の優先度を対策優先度として示す。この対策優先度は、優先度情報d4に示されている。
【0115】
図11は、分類特定部11、該非判定部13、および理由導出部15の一連の処理動作の一例を示すフローチャートである。
【0116】
まず、分類特定部11は、分析対象アイテムの設計情報d1に示されている1以上の資産を特定する(ステップS1)。そして、分類特定部11は、その1以上の資産から1つの資産を選択する(ステップS2)。
【0117】
次に、分類特定部11は、選択された資産が属する1以上の種類を、第1分類情報12adおよび第2分類情報12bdを参照することによって特定する(ステップS3)。なお、1以上の種類は、上述の第1種類および第2種類であってもよい。
【0118】
次に、該非判定部13は、ステップS3で特定された1以上の種類から1つの種類を選択する(ステップS4)。そして、該非判定部13は、選択された種類に対応付けられている全ての第1脆弱性を、脆弱性管理情報14dを参照することによって検索し、その全ての第1脆弱性のそれぞれが分析対象アイテムに該当するか否かを判定する(ステップS5)。さらに、該非判定部13は、そのステップS5の判定結果を示す判定結果情報d3を出力する(ステップS6)。
【0119】
次に、該非判定部13は、ステップS3で特定された1以上の種類のうち、ステップS4で選択されていない他の種類があるか否かを判定する(ステップS7)。ここで、該非判定部13は、他の種類があると判定する場合には(ステップS7のYes)、他の種類に対してステップS4からの処理を繰り返し実行する。一方、他の種類がないと該非判定部13によって判定されると(ステップS7のNo)、理由導出部15は、ステップS6で出力された全ての判定結果情報d3に示されている非該当の第1脆弱性ごとに、その非該当の理由を出力する(ステップS8)。つまり、理由導出部15は、理由情報d5を出力する。
【0120】
そして、分類特定部11は、ステップS8の処理が行われた後、分析対象アイテムの設計情報d1に示されている1以上の資産のうち、ステップS2で選択されていない他の資産があるか否かを判定する(ステップS9)。ここで、分類特定部11は、他の資産があると判定すると(ステップS9のYes)、他の資産に対してステップS2からの処理を繰り返し実行する。一方、分類特定部11は、他の資産がないと判定すると(ステップS9のNo)、資産に関する処理を終了する。
【0121】
図12は、優先度導出部16の処理動作の一例を示すフローチャートである。
【0122】
まず、優先度導出部16は、設計情報d1に示されている1以上の資産から、1つの資産を選択する(ステップS11)。そして、優先度導出部16は、ステップS11で選択された資産に対応する全ての該当脆弱性のそれぞれに対してステップS12のループ処理を実行する。
【0123】
具体的には、第1優先度導出部21は、該当脆弱性に対して、第1係数をSFOPに基づいて導出する(ステップS13)。さらに、第1優先度導出部21は、該当脆弱性に対して、第2係数を車載CVE割り当て実績数に基づいて導出する(ステップS14)。さらに、第1優先度導出部21は、該当脆弱性に対して、第3係数をその該当脆弱性への対策の実績工数に基づいて導出する(ステップS15)。そして、第1優先度導出部21は、ステップS13~S15で導出された第1係数、第2係数、および第3係数に基づいて、該当脆弱性への対策の第1優先度を導出する(ステップS16)。
【0124】
次に、第2優先度導出部22は、ステップS16で導出された第1優先度と、アーキテクチャへの影響度とに基づいて、該当脆弱性への対策の第2優先度を導出する(ステップS17)。
【0125】
次に、第3優先度導出部23は、例えば設計情報d1などに基づいて、分析対象アイテムのDFDを導出する(ステップS18)。そして、第3優先度導出部23は、そのDFDに基づいて、ステップS11で選択された資産への1以上のアタックパスを特定する(ステップS19)。さらに、第3優先度導出部23は、ステップS19で特定されたアタックパスごとに、そのアタックパスにおける資産のリスク値を決定する(ステップS20)。その後、第3優先度導出部23は、ステップS20で決定されたアタックパスごとのリスク値から、最大のリスク値を選択する(ステップS21)。そして、第3優先度導出部23は、ステップS21で選択されたリスク値と、ステップS19で特定されたアタックパスの数であるアタックパス数とを用いて、該当脆弱性への対策の第3優先度を、対策優先度として導出する(ステップS22)。このような対策優先度が、ステップS11で選択された資産に対応する全ての該当脆弱性のそれぞれに対して導出される。
【0126】
そして、ステップS12のループ処理が行われた後、優先度導出部16は、設計情報d1に示されている1以上の資産から、ステップS11で選択されていない他の資産があるか否かを判定する(ステップS23)。ここで、優先度導出部16は、他の資産があると判定すると(ステップS23のYes)、ステップS11からの処理を繰り返し実行する。そのステップS11では、他の資産が選択され、ステップS12のループ処理では、他の資産に対応する全ての該当脆弱性のそれぞれへの対策の第3優先度、すなわち対策優先度が導出される。一方、優先度導出部16は、他の資産がないと判定すると(ステップS23のNo)、対策優先度の導出のための処理を終了する。
【0127】
以上、本開示の1つまたは複数の態様に係る脆弱性分析システム10および脆弱性分析方法について、実施の形態に基づいて説明したが、本開示は、その実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を上記実施の形態に施したものも本開示に含まれてもよい。
【0128】
例えば、上記実施の形態では、脆弱性分析システム10は、設計情報d1に示されている資産の粒度に応じて、第1脆弱性が分析対象アイテムに該当するか否かの判定を行ってもよく、該当脆弱性の対策優先度の導出を行ってもよい。つまり、その資産の粒度は、ソフトウェアの構成単位であってもよく、そのソフトウェアに含まれる詳細なモジュール単位、また関数単位などであってもよい。
【0129】
また、上記実施の形態におけるCWE実績情報24dには、過去に見つかった第2脆弱性の数として、CVE-IDによって識別される脆弱性の数が示されているが、その第2脆弱性は、CVE-IDによって識別される脆弱性以外の脆弱性であってもよい。さらに、CWE実績格納部24に格納されているそのCWE実績情報24dは、定期的に更新されてもよい。例えば、第1優先度導出部21は、脆弱性分析システム10の外部にあるコンピュータとの間で通信ネットワークを介した通信を行うことによって、そのCWE実績情報24dを更新してもよい。同様に、第1優先度導出部21は、そのコンピュータとの間で通信ネットワークを介した通信を行うことによって、実績工数格納部25に格納されている実績工数情報25dを更新してもよい。
【0130】
また、上記実施の形態における理由導出部15は、第1脆弱性が分析対象アイテムに該当しない理由、すなわち非該当の理由を導出するが、それに限定されることなく、他の事項を導出してもよい。例えば、理由導出部15は、第1脆弱性への対策が既に行われていること、第1脆弱性への対策よりも他に優先すべき要件があること、第1脆弱性への対策が後工程で行われることなど、を導出してもよく、それらの理由を導出してもよい。このような理由導出部15による導出は、予め定められたデータベースを参照することによって行われてもよい。
【0131】
また、上記実施の形態において、脆弱性分析システム10に含まれる各構成要素は、その構成要素に対応する処理を、人による入力操作に応じて行ってもよく、その入力操作を受け付けずに自動的に行ってもよい。また、自動的に行われる処理には、入力と出力との相関関係を示す機械学習モデルなどが用いられてもよい。
【0132】
なお、上記実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPU(Central Processing Unit)またはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記実施の形態の評価支援システムなどを実現するソフトウェアは、
図11または
図12に示すフローチャートの各ステップをコンピュータに実行させるコンピュータプログラムである。
【0133】
なお、以下のような場合も本開示に含まれる。
【0134】
(1)上記の少なくとも1つのシステムまたは装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。そのRAMまたはハードディスクユニットには、コンピュータプログラムが記憶されている。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、上記の少なくとも1つの装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【0135】
(2)上記の少なくとも1つのシステムまたは装置を構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。RAMには、コンピュータプログラムが記憶されている。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
【0136】
(3)上記の少なくとも1つのシステムまたは装置を構成する構成要素の一部または全部は、その装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。ICカードまたはモジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。ICカードまたはモジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、ICカードまたはモジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
【0137】
(4)本開示は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、コンピュータプログラムからなるデジタル信号であるとしてもよい。
【0138】
また、本開示は、コンピュータプログラムまたはデジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD(Compact Disc)-ROM、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(登録商標) Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されているデジタル信号であるとしてもよい。
【0139】
また、本開示は、コンピュータプログラムまたはデジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
【0140】
また、プログラムまたはデジタル信号を記録媒体に記録して移送することにより、またはプログラムまたはデジタル信号をネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【産業上の利用可能性】
【0141】
本開示の脆弱性分析システムは、例えば車両などに組み込まれるプログラムなどの脆弱性を分析する装置またはシステムなどに適用することができる。
【符号の説明】
【0142】
10 脆弱性分析システム
11 分類特定部
12 分類格納部
12a 第1分類格納部
12ad 第1分類情報
12b 第2分類格納部
12bd 第2分類情報
13 該非判定部
14 脆弱性管理格納部
14d 脆弱性管理情報
15 理由導出部
16 優先度導出部
17 出力部
21 第1優先度導出部
22 第2優先度導出部
23 第3優先度導出部
24 CWE実績格納部
24d CWE実績情報
25 実績工数格納部
25d 実績工数情報
26 アーキテクチャ格納部
26d アーキテクチャ情報
d1 設計情報
d2 分析結果レポート
d3 判定結果情報
d4 優先度情報
d5 理由情報
【要約】
【課題】脆弱性の分析精度の向上を図ることができる脆弱性分析システムを提供する。
【解決手段】脆弱性分析システム10は、車両が有する資産ごとに当該資産の種類を示す分類情報を格納している分類格納部12と、分析対象アイテムが有する資産を示す設計情報d1を取得し、設計情報d1によって示されている資産の種類を、分類情報を参照することによって特定する分類特定部11と、特定された種類に予め対応付けられている1以上の第1脆弱性のそれぞれが分析対象アイテムに該当するか否かを判定する該非判定部13と、該非判定部13による判定結果を示す分析結果レポートd2を出力する出力部17と、を備える。分類情報によって示されている複数の種類には、車載セキュリティに関する種類が含まれている。
【選択図】
図1