(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-13
(45)【発行日】2024-08-21
(54)【発明の名称】攻撃分析装置、攻撃分析方法、及び攻撃分析プログラム
(51)【国際特許分類】
G06F 21/55 20130101AFI20240814BHJP
【FI】
G06F21/55 320
(21)【出願番号】P 2021109150
(22)【出願日】2021-06-30
【審査請求日】2023-11-08
(73)【特許権者】
【識別番号】000004260
【氏名又は名称】株式会社デンソー
(74)【代理人】
【識別番号】230120499
【氏名又は名称】藤江 和典
(74)【代理人】
【識別番号】100201385
【氏名又は名称】中安 桂子
(72)【発明者】
【氏名】村上 亮介
(72)【発明者】
【氏名】井本 礼一郎
(72)【発明者】
【氏名】江川 万寿三
【審査官】▲柳▼谷 侑
(56)【参考文献】
【文献】特開2019-125344(JP,A)
【文献】特開2019-028506(JP,A)
【文献】特開2019-080119(JP,A)
【文献】国際公開第2019/084961(WO,A1)
【文献】特開2019-174426(JP,A)
【文献】国際公開第2015/128896(WO,A1)
【文献】国際公開第2005/048119(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/55
(57)【特許請求の範囲】
【請求項1】
電子制御システムを構成する電子制御装置に搭載されたセキュリティセンサで生成されるとともに前記セキュリティセンサが異常を検知したことを示す異常検知信号を含むセキュリティログを取得するセキュリティログ取得部(101)と、
前記セキュリティセンサの生存信号を取得する生存信号取得部(102)と、
前記電子制御システムにおける予測攻撃経路と、前記セキュリティセンサで生成されることが予測される予測異常検知信号との対応関係を示す予測テーブルを保存する予測テーブル保存部(103)と、
前記予測テーブルを用いて、前記セキュリティログに含まれる前記異常検知信号及び前記生存信号から、前記電子制御システムが受けた攻撃の攻撃経路を推定する攻撃経路推定部(104)と、
前記攻撃経路を示す攻撃情報を出力する攻撃情報出力部(105)と、を有
し、
前記攻撃経路推定部は、
前記予測テーブルを用いて、前記異常検知信号と前記予測異常検知信号とを比較することにより前記予測攻撃経路から予測攻撃経路候補を選択する予測攻撃経路候補選択部(106)と、
前記生存信号を用いて、前記予測攻撃経路候補の確からしさを示す信頼度を求める信頼度算出部(107)と、を有し、
前記攻撃情報出力部は、前記予測攻撃経路候補及び前記信頼度を前記攻撃経路として前記攻撃情報を出力する、
攻撃分析装置(100)。
【請求項2】
前記生存信号が前記セキュリティセンサ自体の動作が異常であることを示す場合、
前記信頼度算出部は、前記セキュリティセンサである異常セキュリティセンサが経路に含まれる予測攻撃経路候補の信頼度を上げる処理を行う、
請求項1記載の攻撃分析装置。
【請求項3】
前記生存信号が前記セキュリティセンサ自体の動作が異常であることを示す場合、
前記信頼度算出部は、前記セキュリティセンサである異常セキュリティセンサに対応する前記予測異常検知信号を信頼度の算出に用いない、
請求項1記載の攻撃分析装置。
【請求項4】
前記生存信号が前記セキュリティセンサ自体の動作が正常であることを示す場合、
前記信頼度算出部は、前記セキュリティセンサである正常セキュリティセンサが経路に含まれない予測攻撃経路候補の信頼度を上げる処理を行う、
請求項1記載の攻撃分析装置。
【請求項5】
前記生存信号は、所定の周期で前記セキュリティセンサから送信される、
請求項1~4記載の攻撃分析装置。
【請求項6】
前記予測攻撃経路は、予測攻撃起点及び予測攻撃対象で特定される、
請求項1記載の攻撃分析装置。
【請求項7】
前記電子制御システム及び当該攻撃分析装置は、移動体に搭載されている、
請求項1~6記載の攻撃分析装置。
【請求項8】
前記電子制御システムは、移動体に搭載されており、
当該攻撃分析装置は、前記移動体の外部に設置されたサーバ装置である、
請求項1~6記載の攻撃分析装置。
【請求項9】
攻撃分析装置で実行される攻撃分析方法であって、前記攻撃分析装置は、電子制御システムにおける予測攻撃経路と、セキュリティセンサで生成されることが予測される予測異常検知信号との対応関係を示す予測テーブルを保存する予測テーブル保存部(103)を有し、
当該攻撃分析方法は、
前記電子制御システムを構成する電子制御装置に搭載された前記セキュリティセンサで生成されるとともに前記セキュリティセンサが異常を検知したことを示す異常検知信号を含むセキュリティログを取得し(S101)、
前記セキュリティセンサの生存信号を取得し(S102)、
前記予測テーブルを読み出し、前記セキュリティログに含まれる前記異常検知信号及び前記生存信号から、前記電子制御システムが受けた攻撃の攻撃経路を推定し(S103)、
前記攻撃経路を示す攻撃情報を出力する(S104)、
攻撃分析方法
であり、
前記攻撃経路の推定は、
前記予測テーブルを用いて、前記異常検知信号と前記予測異常検知信号とを比較することにより前記予測攻撃経路から予測攻撃経路候補を選択し、
前記生存信号を用いて、前記予測攻撃経路候補の確からしさを示す信頼度を求め、
前記攻撃情報の出力は、前記予測攻撃経路候補及び前記信頼度を前記攻撃経路として前記攻撃情報を出力する、
攻撃分析方法。
【請求項10】
攻撃分析装置で実行可能な攻撃分析プログラムであって、前記攻撃分析装置は、電子制御システムにおける予測攻撃経路と、セキュリティセンサで生成されることが予測される予測異常検知信号との対応関係を示す予測テーブルを保存する予測テーブル保存部(103)を有し、
当該攻撃分析プログラムは、
前記電子制御システムを構成す
る電子制御装置に搭載された前記セキュリティセンサで生成されるとともに前記セキュリティセンサが異常を検知したことを示す異常検知信号を含むセキュリティログを取得し(S101)、
前記セキュリティセンサの生存信号を取得し(S102)、
前記予測テーブルを読み出し、前記セキュリティログに含まれる前記異常検知信号及び前記生存信号から、前記電子制御システムが受けた攻撃の攻撃経路を推定し(S103)、
前記攻撃経路を示す攻撃情報を出力する(S104)、
攻撃分析プログラム
であり、
前記攻撃経路の推定は、
前記予測テーブルを用いて、前記異常検知信号と前記予測異常検知信号とを比較することにより前記予測攻撃経路から予測攻撃経路候補を選択し、
前記生存信号を用いて、前記予測攻撃経路候補の確からしさを示す信頼度を求め、
前記攻撃情報の出力は、前記予測攻撃経路候補及び前記信頼度を前記攻撃経路として前記攻撃情報を出力する、
攻撃分析プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、主に自動車をはじめとする移動体に搭載された電子制御システムに対する攻撃を分析する装置であって、攻撃分析装置、攻撃分析方法、及び攻撃分析プログラムに関する。
【背景技術】
【0002】
近年、車車間通信や路車間通信のようなV2Xをはじめ、運転支援や自動運転制御を行う技術が注目されている。これに伴い、車両が通信機能を備えるようになり、いわゆる車両のコネクティッド化が進んでいる。この結果、車両が不正アクセスといったサイバー攻撃を受ける可能性が増加している。そのため、車両に対するサイバー攻撃を分析して、その対応策を構築することが必要とされている。
【0003】
車両に発生した異常を検知し、検知した異常に基づいてサイバー攻撃を分析する手法として、様々なものがある。例えば、特許文献1には、検知した異常データを収集するとともに、異常が検出された項目の組み合わせと、攻撃毎に予め特定された異常検出パターンとを照合して、異常に対応する攻撃の種類を特定することが記載されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
ここで、本発明者は、以下の課題を見出した。
車両に搭載される電子制御システムに対しサイバー攻撃を受けた場合、電子制御システムを構成するセキュリティセンサで生成されたセキュリティログに基づき、攻撃経路の推定を行うことができる。しかし、セキュリティログの情報だけを用いる場合、攻撃経路の推定の精度には限界がある。
【0006】
そこで、本発明は、電子制御システムに対するサイバー攻撃を受けた場合に、より高い精度で攻撃経路の推定を行う攻撃分析装置等を実現することを目的とする。
【課題を解決するための手段】
【0007】
本開示の攻撃分析装置は、
電子制御システムを構成する電子制御装置に搭載されたセキュリティセンサで生成されるとともに前記セキュリティセンサが異常を検知したことを示す異常検知信号を含むセキュリティログを取得するセキュリティログ取得部(101)と、
前記セキュリティセンサの生存信号を取得する生存信号取得部(102)と、
前記電子制御システムにおける予測攻撃経路と、前記セキュリティセンサで生成されることが予測される予測異常検知信号との対応関係を示す予測テーブルを保存する予測テーブル保存部(103)と、
前記予測テーブルを用いて、前記セキュリティログに含まれる前記異常検知信号及び前記生存信号から、前記電子制御システムが受けた攻撃の攻撃経路を推定する攻撃経路推定部(104)と、
前記攻撃経路を示す攻撃情報を出力する攻撃情報出力部(105)と、
を有する。
【0008】
なお、特許請求の範囲、及び本項に記載した発明の構成要件に付した括弧内の番号は、本発明と後述の実施形態との対応関係を示すものであり、本発明を限定する趣旨ではない。
【発明の効果】
【0009】
上述のような構成により、本開示の攻撃分析装置は、電子制御システムに対するサイバー攻撃を受けた場合に、より高い精度で攻撃経路の推定を行うことが可能となる。
【図面の簡単な説明】
【0010】
【
図1】実施形態1の攻撃分析装置の配置を説明する説明図
【
図2】実施形態1の電子制御システムの構成例を説明するブロック図
【
図3】実施形態1の攻撃分析装置の構成例を示すブロック図
【
図4】実施形態1の攻撃分析装置の予測テーブル保存部に保存された予測テーブルを説明する説明図
【
図5】実施形態1の実施例1における信頼度算出部の信頼度算出方法を説明する説明図
【
図6】実施形態1の実施例2における信頼度算出部の信頼度算出方法を説明する説明図
【
図7】実施形態1の実施例3における信頼度算出部の信頼度算出方法を説明する説明図
【
図8】実施形態1の攻撃分析装置の動作を示すフローチャート
【発明を実施するための形態】
【0011】
以下、本発明の実施形態について、図面を参照して説明する。
【0012】
なお、本発明とは、特許請求の範囲又は課題を解決するための手段の項に記載された発明を意味するものであり、以下の実施形態に限定されるものではない。また、少なくともかぎ括弧内の語句は、特許請求の範囲又は課題を解決するための手段の項に記載された語句を意味し、同じく以下の実施形態に限定されるものではない。
【0013】
特許請求の範囲の従属項に記載の構成及び方法は、特許請求の範囲の独立項に記載の発明において任意の構成及び方法である。従属項に記載の構成及び方法に対応する実施形態の構成及び方法、並びに特許請求の範囲に記載がなく実施形態のみに記載の構成及び方法は、本発明において任意の構成及び方法である。特許請求の範囲の記載が実施形態の記載よりも広い場合における実施形態に記載の構成及び方法も、本発明の構成及び方法の例示であるという意味で、本発明において任意の構成及び方法である。いずれの場合も、特許請求の範囲の独立項に記載することで、本発明の必須の構成及び方法となる。
【0014】
実施形態に記載した効果は、本発明の例示としての実施形態の構成を有する場合の効果であり、必ずしも本発明が有する効果ではない。
【0015】
複数の実施形態がある場合、各実施形態に開示の構成は各実施形態のみで閉じるものではなく、実施形態をまたいで組み合わせることが可能である。例えば一の実施形態に開示の構成を、他の実施形態に組み合わせても良い。また、複数の実施形態それぞれに開示の構成を集めて組み合わせても良い。
【0016】
発明が解決しようとする課題に記載した課題は公知の課題ではなく、本発明者が独自に知見したものであり、本発明の構成及び方法と共に発明の進歩性を肯定する事実である。
【0017】
1.第1の実施形態
(1)攻撃分析装置100と電子制御システムSの配置
図1は、本実施形態の攻撃分析装置100の配置を説明する図である。攻撃分析装置100は、電子制御システムSに対するサイバー攻撃を検知し、電子制御システムSが受けたサイバー攻撃の攻撃経路を推定する。攻撃分析装置100は、電子制御システムSから必要な情報を取得することができる任意の配置をとりうる。
以下、サイバー攻撃を、攻撃と略して記載する。また、攻撃により影響を受ける電子制御システムS側からの視点に基づき、攻撃を異常と記載することがある。
【0018】
例えば、
図1(a)に示すように、電子制御システムS及び攻撃分析装置100が、「移動体」である車両に「搭載」される場合と、
図1(b)に示すように、電子制御システムSは「移動体」である車両に「搭載」され、攻撃分析装置100は、車両の外部に設置されたサーバ装置で実現する場合と、が想定される。
ここで、
「移動体」とは、移動可能な物体をいい、移動速度は任意である。また移動体が停止している場合も当然含む。例えば、自動車、自動二輪車、自転車、歩行者、船舶、航空機、及びこれらに搭載される物を含み、またこれらに限らない。
「搭載」される、とは、移動体に直接固定されている場合の他、移動体に固定されていないが移動体と共に移動する場合も含む。例えば、移動体に乗った人が所持している場合、移動体に載置された積荷に搭載されている場合、が挙げられる。
【0019】
図1(a)の場合、攻撃分析装置100と電子制御システムSとは、例えばCAN(Controller Area Network)、LIN(Local Interconnect Network)といった車載ネットワークで接続されている。あるいは、Ethernet(登録商標)やWi-Fi(登録商標)、Bluetooth(登録商標)等、有線無線を問わず任意の通信方式を用いて接続することができる。別の例として、電子制御システムSを構成する電子制御装置の少なくとも一つに攻撃分析装置100の機能を内蔵することもできる。
【0020】
図1(a)の場合、攻撃分析装置100は、電子制御システムSが攻撃を受けると遅滞なく、サイバー攻撃を分析することができ、ひいてはサイバー攻撃に対する対応を迅速に行うことが可能である。
【0021】
図1(b)の場合、攻撃分析装置100と電子制御システムSとは、例えば、IEEE802.11(Wi―Fi(登録商標))やIEEE802.16(WiMAX(登録商標))、W-CDMA(Wideband Code Division Multiple Access)、HSPA(High Speed Packet Access)、LTE(Long Term Evolution)、LTE-A(Long Term Evolution Advanced)、4G、5G等の無線通信方式からなる通信手段を用いて接続することができる。あるいは、DSRC(Dedicated Short Range Communication)を用いることができる。
車両が駐車場に駐車されていたり、修理工場に収容されている場合は、無線通信方式に代えて、有線通信方式を用いることができる。例えば、LAN(Local Area Network)やインターネット、固定電話回線を用いることができる。
【0022】
図1(b)の場合、サーバ装置は、車両に搭載された電子制御システムSが攻撃を受けると、無線通信ネットワークを介して、電子制御システムSを構成する電子制御装置に搭載されたセキュリティセンサで生成されたセキュリティログを車両から受信する。そのため、攻撃分析装置100が車両に搭載される場合と比較して、攻撃を分析し分析結果を車両にフィードバックするまでに時間を要する反面、車両側の処理負荷を軽減することが可能である。また、サーバ装置の豊富なリソースを用いることができるので、複雑かつ大量の演算を実行することが可能である。
【0023】
その他の配置として、以下の例が考えられる。
電子制御システムSが車両に搭載されず、静止体に搭載されていてもよい。
また、電子制御システムSと攻撃分析装置100が異なる車両に搭載され、直接又は基地局等を介して間接的に通信を行うようにしてもよい。
【0024】
(2)電子制御システムSの構成
(a)全体構成
図2は、電子制御システムSの構成例を説明する図である。電子制御システムSは、TCU11、IVI12、CGW13、ECU14、ECU15、ECU16、ECU17を有する。
【0025】
TCU11(Telematics Control Unit)は、通信機能を有する電子制御装置(ECU:Electric Control Unit)であり、外部の情報蓄積サーバやインターネットを介した通信を行うことにより、情報の送受信を行う。TCU11は電子制御システムSの外部と通信を行うことで、外部からの攻撃の入り口となりうることから、エントリーポイントと呼ばれる。
【0026】
IVI12(In-Vehicle Infotainment system)は、情報と娯楽を提供する機能を有するECUであるが、TCU11と同様通信機能を有し、外部の情報蓄積サーバやインターネットを介した通信を行うことにより、情報の送受信を行う。IVI12も電子制御システムSの外部と通信を行うことで、外部からの攻撃の入り口となりうることから、エントリーポイントと呼ばれる。
【0027】
CGW13(Central GateWay)は、主にゲートウェイ(GW)機能を有するECUである。例えば、TCU11やIVI12で受信した情報を、CANやLINをはじめとする車載ネットワークや、イーサネット(ETH)等の通信ネットワークを介して接続されたECU14~17に転送する。また、ECU14~17から送信された情報を、TCU11やIVI12に転送する。
CGW13には、ゲートウェイ機能以外の機能を搭載することもできる。
また、後述の攻撃分析装置100を、CGW13の機能として搭載することもできる。
【0028】
ECU14~17は、CGW13とネットワークを介して接続されるECUである。
図2では、ECU14及びECU15はイーサネットを介して接続されている。ECU16及びECU17は車載ネットワークであるCANを介して接続されている。ECU14~ECU17は、車両の各機能を実現する任意のECUであるが、エンジン、ハンドル、ブレーキ等の制御を行う駆動系電子制御装置、メータやパワーウインドウ等の制御を行う車体系電子制御装置、ナビゲーション装置等の情報系電子制御装置、あるいは、障害物や歩行者との衝突を防止するための制御を行う安全制御系電子制御装置が例として挙げられる。
【0029】
以下の説明では、上述のTCU11、IVI12、CGW13、ECU14、ECU15、ECU16、ECU17の固有の特徴に着目しない場合は、それぞれを各ECU、あるいは単にECUと呼ぶ。
【0030】
(b)多層防御と層
多くの電子制御システムSでは、攻撃に対するセキュリティ性を高めるために多層防御が採用されている。多層防御によれば、攻撃に対する対策としてセキュリティ機能を階層的・多層的に設けることで、攻撃を受けた場合に一の対策(すなわち、一層目)が突破されても、次の対策(すなわち、二層目)が攻撃を防御することができるため、電子制御システムの防御力を高めることができる。そのため、多層防御を採用した電子制御システムSでは、セキュリティレベルが異なる複数の層が存在することとなる。そこで、電子制御システムSをセキュリティレベルに応じて複数の層に分割し、各ECUをそれぞれいずれかの層に分類する。
【0031】
図2に示す電子制御システムSは三層の防御層を有する。この例では、TCU11及びIVI12が第一層に属し、CGW13が第二層に属し、ECU14~17が第三層に属している。
TCU11及びIVI12は外部との通信機能を有するECUであり、これらのECUには車両外部から車両内部に入ってくるデータを監視するセキュリティ機能が搭載されている。このようなセキュリティ機能を有するECUによって監視される領域を第一層としている。
CGW13は、例えば、車両外部に接続されるECUへのネットワークと車両制御を行うECUへのネットワークとの間で通信されるデータを監視するセキュリティ機能が搭載された、ゲートウェイ機能を有するECUである。CGW13は、TCU11及びIVI12とは異なるセキュリティ対策を行うものであり、CGW13によって監視される領域は、TCU11及びIVI12によって防御される領域である第一層とは異なるセキュリティレベルを有する領域といえる。そこで、CGW13によって監視される領域を第二層としている。
ECU14~17は、CGW13のセキュリティ機能を通過したデータのみが通信され、第二層とは異なるセキュリティレベルを有する領域といえる。そこで、ECU14~17が属している領域を第三層としている。
【0032】
なお、本実施例では三層の防御層を有していたが、四層以上の防御層を設けてもよい。例えば、サブゲートウェイECUを介して接続されているECUを第四層としてもよい。
【0033】
また、本実施例で説明した階層はエントリーポイントを始点とした物理的な階層であるが、この全部または一部に代えて機能的な階層を用いてもよい。例えば、ECU間でマスタースレーブ関係が設定されている場合が挙げられる。
【0034】
(c)セキュリティセンサ
電子制御システムSを構成する各ECUには、ECU内部やECUが接続されたネットワークを監視する単数又は複数のセキュリティセンサが搭載される。セキュリティセンサがECU内部又はネットワークに発生した異常を検知すると、セキュリティログを生成・出力する。セキュリティログには、セキュリティセンサが異常を検知したことを示す異常検知信号が含まれる。
【0035】
セキュリティセンサの例としては、ファイアウォール、プロキシ、CAN―IDS、CANフィルタ、TLS、MAC検証、ファイルアクセス監視、セキュアブート、セキュアリプロ、CFI、サンドボックス、認証などが挙げられる。
【0036】
なお、セキュリティログには、異常検知信号の他、セキュリティセンサが検知した異常が発生した位置を示す異常位置情報、電子制御システムSを特定する識別情報、セキュリティセンサが搭載されたECUを特定する識別情報、異常を検知したセキュリティセンサの識別情報、異常を検知した時刻、異常を検知した回数、異常を検知した順番、異常の検知前に受信したデータの内容やIPアドレス(送信元及び送信先)の情報、等を含んでもよい。
【0037】
(d)生存信号
各ECUのセキュリティセンサは、生存信号を生成し、各ECUが接続されたネットワークに向けて送信している。生存信号は、キープアライブ情報、又はハートビート情報と呼ばれることもある。
【0038】
生存信号は、所定の周期で所定の信号を生成・送信されるものであるが、セキュリティセンサが動作をしているかどうか、及び/又は、セキュリティセンサが正常な動作をしているかどうかを判定するために用いられる。例えば、生存信号が全く送信されていなければ、セキュリティセンサは動作をしていないと判定できる、また、生存信号が所定の周期以外で送信されていた場合あるいは不規則に送信されていた場合は、セキュリティセンサ自体動作はしているが、正常な動作をしていないと判定できる。生存信号が所定の信号でない場合も、セキュリティセンサ自体動作はしているが、正常な動作はしていないと判定できる。
【0039】
生存信号の内容は、本実施形態では所定の信号、例えば既知の数列を用いているが、セキュリティセンサに固有の情報や、セキュリティセンサの設定情報、その他内容に意味のある情報を用いるようにしてもよい。例えば、セキュリティセンサの設定情報を生存信号の内容にする場合、セキュリティセンサの異常パターン、ホワイトリスト、ブラックリスト、送信周期、セキュリティセンサのバージョン情報、証明書などが挙げられる。生存信号の内容を用いることにより、攻撃経路の推定の精度をさらに上げることができる。
【0040】
生存信号の送信タイミングは、本実施形態では所定の周期としているが、これに代えて、又はこれと共に、セキュリティセンサの設定情報が変更された時、別プロセスから要求があった時、所定のセキュリティイベントが検出された時、に送信するようにしてもよい。
【0041】
生存信号の送信主体は、本実施形態では生存信号により生死の判定の対象となるセキュリティセンサであるが、これに代えて、当該セキュリティセンサを監視している別プロセスやECUが、セキュリティセンサの動作状況の監視結果を生存信号として送信してもよい。
【0042】
(3)攻撃分析装置100の構成
図3を参照して、本実施形態の攻撃分析装置100を説明する。攻撃分析装置100は、前述の電子制御システムSに対する攻撃を検知し、分析する装置である。攻撃分析装置100は、セキュリティログ取得部101、生存信号取得部102、予測テーブル保存部103、攻撃経路推定部104、及び攻撃情報出力部105を有する。また、攻撃経路推定部104は、予測攻撃経路候補選択部106及び信頼度算出部107からなる。
【0043】
攻撃分析装置100は、車両に設ける場合、電子制御システムSに車載ネットワークで接続して設けるようにしてもよい。あるいは、電子制御システムSの内部に設けるようにしてもよい。例えば、CGW13やTCU11の一機能として設けるようにしてもよい。
【0044】
攻撃分析装置100は、汎用のCPU(Central Processing Unit)、RAM等の揮発性メモリ、ROM、フラッシュメモリ、又はハードディスク等の不揮発性メモリ、各種インターフェース、及びこれらを接続する内部バスで構成することができる。そして、これらのハードウェア上でソフトウェアを実行することにより、
図3に記載の各機能ブロックの機能を発揮させるように構成することができる。
もちろん、攻撃分析装置100を、LSI等の専用のハードウェアで実現してもよい。
【0045】
攻撃分析装置100は、本実施形態では半完成品としての電子制御装置(ECU(Electric Control Unit)、以下ECUと略する。)の形態を想定しているが、これに限らない。例えば、部品の形態としては、半導体回路や半導体モジュール、半完成品の形態としては、電子制御装置、電子制御ユニット、システムボード、完成品の形態としては、サーバ、ワークステーション、パーソナルコンピュータ(PC)、タブレット、スマートフォン、携帯電話、ナビゲーションシステムが挙げられる。
なお、攻撃分析装置100は、単一のECUの他、複数のECUで構成されてもよい。
【0046】
セキュリティログ取得部101は、電子制御システムSを構成するECUに搭載された「セキュリティセンサ」で生成されるとともにセキュリティセンサが異常を検知したことを示す異常検知信号を含むセキュリティログを取得する。例えば、
図1(a)の配置の場合は、電子制御システムSのTCU11、CGW13、又はECU14~17等に搭載されたセキュリティセンサが車載ネットワークに出力したセキュリティログを、車載ネットワークに接続されたセキュリティログ取得部101で受信することにより取得する。
図1(b)の配置の場合は、電子制御システムSのTCU11、CGW13、又はECU14~17等に搭載されたセキュリティセンサが車載ネットワークに出力し、TCU11から無線通信を用いて送信されたセキュリティログを、インターネット等のネットワークに接続されたセキュリティログ取得部101で受信することにより取得する。
【0047】
ここで、「セキュリティセンサ」とは、電子制御システムを構成する電子制御装置やネットワークを監視し、セキュリティイベント発生時にセキュリティログを出力する機能をいい、実現手段は問わない。
【0048】
生存信号取得部102は、電子制御システムSを構成するECUに搭載されたセキュリティセンサの「生存信号」を取得する。例えば、
図1(a)の配置の場合は、電子制御システムSのTCU11、CGW13、又はECU14~17等に搭載されたセキュリティセンサが車載ネットワークに出力した生存信号を、車載ネットワークに接続された生存信号取得部102で受信することにより取得する。
図1(b)の配置の場合は、電子制御システムSのTCU11、CGW13、又はECU14~17等に搭載されたセキュリティセンサが車載ネットワークに出力し、TCU11から無線通信を用いて送信された生存信号を、インターネット等のネットワークに接続された生存信号取得部102で受信することにより取得する。
【0049】
ここで、「生存信号」とは、セキュリティセンサの動作の有無、及び/又は、セキュリティセンサの正常動作の有無、を直接的又は間接的に示す信号をいう。
【0050】
なお、セキュリティログ取得部101と生存信号取得部102は、1つの取得部で実現してもよい。
【0051】
予測テーブル保存部103は、電子制御システムSにおける予測攻撃起点及び予測攻撃対象で特定される予測攻撃経路と、セキュリティセンサで生成されることが予測される予測異常検知信号との対応関係を示す予測テーブルを保存している。予測テーブルは、パターンマッチングテーブル、あるいはマッチングテーブルと呼ばれることもある。
【0052】
図4は、予測テーブルの一例を示す図である。
図4の予測テーブルは、予測攻撃起点から予測攻撃対象に対する攻撃があった場合に、各ECUに搭載されたどのセキュリティセンサが異常を検知するかを関係付けたものである。
図4では、1が異常を検知している状態、0が異常を検知していない状態を表している。すなわち、
図4の予測攻撃起点と予測攻撃対象が「予測攻撃経路」に相当し、各セキュリティセンサの0又は1が「予測異常検知信号」に相当している。
例えば、事象E1は、予測攻撃起点を外部、予測攻撃対象をCGW13とする予測攻撃経路である場合に、CGW13のセキュリティセンサE、F、Gが異常を検知すること、すなわち予測異常検知信号を出力することを示している。事象E2及び事象E3も同様のルールで予測攻撃経路と予測異常検知信号とが関連付けられている。
【0053】
本実施形態では、予測攻撃経路は、予測攻撃起点と予測攻撃対象で定められているが、予測攻撃起点から予測攻撃対象までの間に経由するECUの情報を含めてもよい。
【0054】
本実施形態では、TCU11、CGW13、及びECU14のセキュリティセンサの予測異常検知信号のパターンを用いているが、その他の各ECUに搭載されたセキュリティセンサの予測異常検知信号のパターンも用いるようにしてもよい。
【0055】
図3に戻り、攻撃経路推定部104は、予測テーブルを用いて、セキュリティログに含まれる異常検知信号及び生存信号から、電子制御システムが受けた攻撃の攻撃経路を推定する。
【0056】
望ましくは、攻撃経路推定部104は、予測攻撃経路候補選択部106を有する。
さらに望ましくは、攻撃経路推定部104は、信頼度算出部107を有する。
【0057】
予測攻撃経路候補選択部106は、予測テーブルを用いて、異常検知信号と予測異常検知信号とを比較することにより予測攻撃経路から予測攻撃経路候補を選択する。
信頼度算出部107は、生存信号を用いて、予測攻撃経路候補の確からしさを示す「信頼度」を求める。
【0058】
ここで、「信頼度」とは、確からしさの程度を示すものであれば足り、数値で示される場合の他、規格化された値や、記号や集合で示される場合も含む。
【0059】
攻撃情報出力部105は、攻撃経路推定部104で推定した攻撃経路を示す攻撃情報を出力する。
望ましくは、攻撃情報出力部105は、予測攻撃経路候補選択部106で選択した予測攻撃経路候補を推定した攻撃経路として、攻撃情報を出力する。
さらに望ましくは、攻撃情報出力部105は、予測攻撃経路候補選択部106で選択した予測攻撃経路候補及び信頼度算出部107で求めた信頼度を推定した攻撃経路として、攻撃情報を出力する。
【0060】
以下に、実施例として、具体的な攻撃経路推定部104の推定方法及び攻撃情報出力部105が出力する攻撃情報の内容を、
図5~
図7を用いて説明する。
図5~
図7は、
図4の予測テーブルを用いた予測攻撃経路候補の選択方法及び信頼度の算出方法を説明する図である。
【0061】
(a)実施例1
本実施例は、予測テーブルから求めた信頼度を、生存信号を用いて補正する例である。以下、
図5を用いてその処理を説明する。
【0062】
CGW13のセキュリティセンサFが異常検知信号を出力し、セキュリティログ取得部101がこの異常検知信号を受信したとする。また、TCU11のセキュリティセンサAが、セキュリティセンサA自体の動作が異常であることを示す生存信号を出力し、生存信号取得部102がこの生存信号を受信したとする。
【0063】
予測攻撃経路候補選択部106は、予測テーブルの中から、セキュリティセンサFが予測異常検知信号を検出する事象を、異常検知信号と予測異常検知信号とを比較することにより選択する。
図5の場合、セキュリティセンサFが予測異常検知信号を検出する事象は、事象E1及び事象E3であるから、事象E1及び事象E3を予測攻撃経路候補として選択する。
【0064】
信頼度算出部107は、予測攻撃経路候補選択部106で選択した予測攻撃経路候補の信頼度を求める。例えば、各予測攻撃経路候補の異常検知信号と予測異常検知信号の割合や、センサの重要度を踏まえた重みづけ、その他所定の演算を用いて信頼度を算出する。事象E1は、異常検知信号がセキュリティセンサFのみであるのに対し、予測異常検知信号はセキュリティセンサE、F、Gであることを踏まえ、所定の演算で信頼度を0.5としている。事象E3は、異常検知信号がセキュリティセンサFのみであるのに対し、予測異常検知信号はセキュリティセンサA、D、F、Gであることを踏まえ、所定の演算で信頼度を0.4としている。
【0065】
さらに、生存信号が「セキュリティセンサA自体の動作が異常であること」を示しているので、信頼度算出部107は、セキュリティセンサA(「異常セキュリティセンサ」に相当)を有するTCU11が経路に含まれる予測攻撃経路候補の信頼度を上げる処理を行う。
図5の場合、予測攻撃起点から予測攻撃対象までの間にTCU11が確実に含まれているのは事象E3であるので、事象E3の信頼度に予め定めた値、本実施例ではαを加え、これを事象E3の新たな信頼度とする。αは、定数でもよいし、条件により変化する変数でもよい。なお、事象E1は、エントリーポイントとしてIVI12を経由している可能性があり、TCU11が経路に確実に含まれているとは言えないので、信頼度の補正は行わない。
【0066】
ここで、「セキュリティセンサ自体の動作が異常であること」とは、セキュリティセンサが動作していない、又は、セキュリティセンサの動作が正常でないことをいう。
【0067】
攻撃情報出力部105は、予測攻撃経路候補である事象E1及び事象E3を攻撃経路として攻撃情報を出力する。この際、攻撃経路として、事象E1の信頼度(0.5)及び事情E3の信頼度(0.4+α)を含めて出力してもよい。
【0068】
なお、本実施例の説明では、セキュリティセンサAの生存信号を受信している場合を例に挙げているが、生存信号を受信しない場合も、セキュリティセンサAが動作していないとして、同様の処理を行う。すなわち、「生存信号がセキュリティセンサ自体の動作が異常であることを示す場合」とは、「生存信号を受信しないことによりセキュリティセンサ自体の動作が異常であることを示す場合」も含む概念である。後述の実施例2においても同様である。
【0069】
また、本実施例の説明では、まず生存信号を用いずに信頼度を求め、次に生存信号を用いて信頼度の補正を行っているが、このような2段階の演算によらずに信頼度を求めるようにしてもよい。後述の実施例3も同様である。
【0070】
本実施例によれば、従来の異常検知信号に加えて生存信号を用いて信頼度を求めているので、攻撃経路推定部104の推定の精度を上げることができる。
さらに、セキュリティセンサが攻撃により動作が異常になった可能性を加味した信頼度の算出方法を採用しているので、攻撃経路の推定の精度を上げることができる。
【0071】
(b)実施例2
本実施例は、生存信号を用い、使用する予測テーブルの部分を限定して信頼度を求める例である。以下、
図6を用いてその処理を説明する。
【0072】
受信する異常検知信号及び生存信号は、実施例1と同様である。すなわち、CGW13のセキュリティセンサFが異常検知信号を出力し、セキュリティログ取得部101がこの異常検知信号を受信したとする。また、TCU11のセキュリティセンサAが、セキュリティセンサA自体の動作が異常であることを示す生存信号を出力し、生存信号取得部102がこの生存信号を受信したとする。
【0073】
予測攻撃経路候補選択部106の動作も実施例1と同様である。すなわち、予測攻撃経路候補選択部106は、予測テーブルの中から、セキュリティセンサFが予測異常検知信号を検出する事象を、異常検知信号と予測異常検知信号とを比較することにより選択する。
図6の場合、セキュリティセンサFが予測異常検知信号を検出する事象は、事象E1及び事象E3であるから、事象E1及び事象E3を予測攻撃経路候補として選択する。
【0074】
信頼度算出部107は、予測攻撃経路候補選択部106で選択した予測攻撃経路候補の信頼度を求める。もっとも、生存信号が「セキュリティセンサA自体の動作が異常であること」を示している場合は、セキュリティセンサA(「異常セキュリティセンサ」に相当)に対応する予測異常検知信号を信頼度の算出に用いない。
【0075】
本実施例も実施例1と同様の演算を用いて信頼度を算出する。事象E1は、異常検知信号がセキュリティセンサFのみであるのに対し、予測異常検知信号はセキュリティセンサE、F、Gであることを踏まえ、所定の演算で信頼度を0.5としている。これに対し、事象E3は、異常検知信号がセキュリティセンサFのみであるのに対し、予測異常検知信号はセキュリティセンサA、D、F、Gである。しかし、生存信号がセキュリティセンサA自体の動作が異常であることを示していることから、セキュリティセンサAの予測異常検知信号を信頼度の算出に用いない。この結果、信頼度を=0.5としている。
【0076】
攻撃情報出力部105は、予測攻撃経路候補である事象E1及び事象E3を攻撃経路として攻撃情報を出力する。この際、攻撃経路として、事象E1の信頼度(0.5)及び事情E3の信頼度(0.5)を含めて出力してもよい。
【0077】
本実施例によれば、従来の異常検知信号に加えて生存信号を用いて信頼度を求めているので、攻撃経路推定部104の推定の精度を上げることができる。
さらに、セキュリティセンサが攻撃により動作が異常になった可能性を加味した信頼度の算出方法を採用しているので、攻撃経路の推定の精度を上げることができる。
【0078】
(c)実施例3
本実施例は、実施例1及び実施例2と異なり、セキュリティセンサの動作が正常であることを示している場合の例である。以下、
図7を用いてその処理を説明する。
【0079】
受信する異常検知信号は、実施例1と同様である。すなわち、CGW13のセキュリティセンサFが異常検知信号を出力し、セキュリティログ取得部101がこの異常検知信号を受信したとする。これに対し、本実施例では、ECU14のセキュリティセンサJが、セキュリティセンサJ自体の動作が正常であることを示す生存信号を出力し、生存信号取得部102がこの生存信号を受信したとする。
【0080】
予測攻撃経路候補選択部106の動作は実施例1と同様である。すなわち、予測攻撃経路候補選択部106は、予測テーブルの中から、セキュリティセンサFが予測異常検知信号を検出する事象を、異常検知信号と予測異常検知信号とを比較することにより選択する。
図7の場合、セキュリティセンサFが予測異常検知信号を検出する事象は、事象E1及び事象E3であるから、事象E1及び事象E3を予測攻撃経路候補として選択する。
【0081】
信頼度算出部107における信頼度の求め方も実施例1と同様である。すなわち、事象E1の信頼度は0.5である。事象E3の信頼度は0.4である。
【0082】
さらに、生存信号が「セキュリティセンサJ自体の動作が正常であること」を示しているので、信頼度算出部107は、セキュリティセンサJ(「正常セキュリティセンサ」に相当)を有するECU14が経路に含まれない予測攻撃経路候補の信頼度を上げる処理を行う。
図7の場合、予測攻撃起点から予測攻撃対象までの間にECU14が含まれていないのは事象E1及び事象E3であるので、事象E1及び事象E3の信頼度に予め定めた値、本実施例ではαを加え、これを事象E1及び事象E3の新たな信頼度とする。αは、定数でもよいし、条件により変化する変数でもよい。
【0083】
ここで、「セキュリティセンサ自体の動作が正常であること」とは、セキュリティセンサが動作しており、かつ、セキュリティセンサが正常に動作していることをいう。
【0084】
攻撃情報出力部105は、予測攻撃経路候補である事象E1及び事象E3を攻撃経路として攻撃情報を出力する。この際、攻撃経路として、事象E1の信頼度(0.5+α)及び事情E3の信頼度(0.4+α)を含めて出力してもよい。
【0085】
本実施例によれば、従来の異常検知信号に加えて生存信号を用いて信頼度を求めているので、攻撃経路推定部104の推定の精度を上げることができる。
さらに、セキュリティセンサの動作が正常であることを加味した信頼度の算出方法を採用しているので、攻撃経路の推定の精度を上げることができる。
【0086】
(d)その他の実施例
実施例1では、動作が異常であるセキュリティセンサが搭載されたECUが予測攻撃経路に含まれるかどうかで信頼度の補正の要否を決定しているが、これは、動作が異常であるセキュリティセンサ自体が予測攻撃経路に含まれるかどうかで信頼度の補正の要否を決定することと同義である。
また、実施例1において、動作が異常であるセキュリティセンサが搭載されたECUの属する層が予測攻撃経路に含まれるかどうかで信頼度の補正の要否を決定するようにしてもよい。実施例3も同様である。
【0087】
実施例1~3では、予測攻撃経路候補選択部106で選択された予測攻撃経路候補の全てを攻撃経路として攻撃情報出力部105から出力しているが、予測攻撃経路候補の一部のみを攻撃経路として出力してもよい。例えば、信頼度の高い方から3番目までの予測攻撃経路候補を攻撃経路として出力してもよい。
【0088】
実施例1~3では、予測テーブルにおける予測攻撃経路を有する事象のみを取り上げているが、これに加え、セキュリティセンサ自体の誤反応を事象に加えてもよい。
図4~7の場合、E5がセキュリティセンサ自体の誤反応を示す事象である。
【0089】
(4)攻撃分析装置100の動作
図8を参照して、攻撃分析装置100の動作を説明する。
図8は、攻撃分析装置100で実行される攻撃分析方法を示すだけでなく、攻撃分析装置100で実行可能な攻撃分析プログラムの処理手順を示すものでもある。そして、これらの処理は、
図8に示した順序には限定されない。すなわち、あるステップでその前段のステップの結果を利用する関係にある等の制約がない限り、順序を入れ替えてもよい。
【0090】
攻撃分析装置100は、電子制御システムSにおける予測攻撃起点及び予測攻撃対象で特定される予測攻撃経路と、セキュリティセンサで生成されることが予測される予測異常検知信号との対応関係を示す予測テーブルを保存する予測テーブル保存部(103)を有している。
【0091】
電子制御システムSを構成する電子制御装置に搭載されたセキュリティセンサで生成されるとともに前記セキュリティセンサが異常を検知したことを示す異常検知信号を含むセキュリティログを取得する(S101)。
【0092】
セキュリティセンサの生存信号を取得する(S102)。
【0093】
予測テーブルを予測テーブル保存部103から読み出し、S101で取得したセキュリティログに含まれる異常検知信号、及びS102で取得した生存信号から、電子制御システムSが受けた攻撃の攻撃経路を推定する(S103)。
【0094】
S103で推定した攻撃経路を示す攻撃情報を出力する(S104)。
【0095】
(5)小括
以上、本開示の攻撃分析装置100によれば、電子制御システムSがサイバー攻撃を受けた場合に、電子制御システムSを構成する電子制御装置に搭載されたセキュリティセンサの生存信号を用いて、推定した攻撃経路の信頼度を求めている。生存信号は、セキュリティセンサの機能の生死やセキュリティセンサの動作の正常・異常を客観的に評価可能な信号であるので、攻撃経路の信頼性の評価に用いることにより、従来の異常検知信号のみを用いた場合に比べ、より正確に攻撃経路を推定することができる。
また、生存信号は、攻撃による被害状況の推定にも用いることができる。例えば、攻撃によりセキュリティセンサが無効化されているという状況や、攻撃によりECUが攻撃者に操作されているという状況を推定することができる。
【0096】
2.その他の発明
第1の実施形態では、生存信号や生存信号の内容を用いて攻撃経路の信頼度を求めた。もっとも、生存信号の内容として例示したセキュリティセンサの設定情報は、生存信号とは別の信号として車載ネットワークに出力することも可能である。このようなセキュリティセンサの設定情報を用いる場合、生存信号は攻撃経路の信頼度を求めるために必ずしも用いる必要はない。
セキュリティセンサの設定情報の例として、セキュリティセンサの異常パターン、ホワイトリスト、ブラックリスト、送信周期、セキュリティセンサのバージョン情報、証明書などが挙げられる。
【0097】
生存信号に代えてセキュリティセンサの設定情報を用いる場合、以下の発明として把握できる。
【0098】
電子制御システムを構成する電子制御装置に搭載されたセキュリティセンサで生成されるとともに前記セキュリティセンサが異常を検知したことを示す異常検知信号を含むセキュリティログを取得するセキュリティログ取得部(101)と、
前記セキュリティセンサの設定情報を取得する生存信号取得部と、
前記電子制御システムにおける予測攻撃経路と、前記セキュリティセンサで生成されることが予測される予測異常検知信号との対応関係を示す予測テーブルを保存する予測テーブル保存部(103)と、
前記予測テーブルを用いて、前記セキュリティログに含まれる前記異常検知信号及び前記設定情報から、前記電子制御システムが受けた攻撃の攻撃経路を推定する攻撃経路推定部(104)と、
前記攻撃経路を示す攻撃情報を出力する攻撃情報出力部(105)と、を有する、
攻撃分析装置(100)。
【0099】
3.総括
以上、本発明の各実施形態における攻撃分析装置等の特徴について説明した。
【0100】
各実施形態で使用した用語は例示であるので、同義の用語、あるいは同義の機能を含む用語に置き換えてもよい。
【0101】
実施形態の説明に用いたブロック図は、装置の構成を機能毎に分類及び整理したものである。それぞれの機能を示すブロックは、ハードウェア又はソフトウェアの任意の組み合わせで実現される。また、機能を示したものであることから、かかるブロック図は方法の発明、及び当該方法を実現するプログラムの発明の開示としても把握できるものである。
【0102】
各実施形態に記載した処理、フロー、及び方法として把握できる機能ブロック、については、一のステップでその前段の他のステップの結果を利用する関係にある等の制約がない限り、順序を入れ替えてもよい。
【0103】
各実施形態、及び特許請求の範囲で使用する、第1、第2、乃至、第N(Nは整数)、の用語は、同種の2以上の構成や方法を区別するために使用しており、順序や優劣を限定するものではない。
【0104】
各実施形態は、車両に搭載される電子制御システムに対する攻撃を分析するための車両用攻撃分析装置を前提としているが、本発明は、特許請求の範囲で特に限定する場合を除き、車両用以外の専用又は汎用の装置も含むものである。
【0105】
また、本発明の攻撃分析装置の形態の例として、以下のものが挙げられる。
部品の形態として、半導体素子、電子回路、モジュール、マイクロコンピュータが挙げられる。
半完成品の形態として、電子制御装置(ECU(Electric Control Unit))、システムボードが挙げられる。
完成品の形態として、携帯電話、スマートフォン、タブレット、パーソナルコンピュータ(PC)、ワークステーション、サーバが挙げられる。
その他、通信機能を有するデバイス等を含み、例えばビデオカメラ、スチルカメラ、カーナビゲーションシステムが挙げられる。
【0106】
また攻撃分析装置に、アンテナや通信用インターフェースなど、必要な機能を追加してもよい。
【0107】
本発明の攻撃分析装置は、特にサーバ側で用いられることにより、各種サービスの提供を目的とするために用いられることが想定される。かかるサービスの提供に伴い、本発明の攻撃分析装置が使用され、本発明の方法が使用され、又は/及び本発明のプログラムが実行されることになる。
【0108】
加えて、本発明は、各実施形態で説明した構成及び機能を有する専用のハードウェアで実現できるだけでなく、メモリやハードディスク等の記録媒体に記録した本発明を実現するためのプログラム、及びこれを実行可能な専用又は汎用CPU及びメモリ等を有する汎用のハードウェアとの組み合わせとしても実現できる。
【0109】
専用や汎用のハードウェアの非遷移的実体的記録媒体(例えば、外部記憶装置(ハードディスク、USBメモリ、CD/BD等)、又は内部記憶装置(RAM、ROM等))に格納されるプログラムは、記録媒体を介して、あるいは記録媒体を介さずにサーバから通信回線を経由して、専用又は汎用のハードウェアに提供することもできる。これにより、プログラムのアップグレードを通じて常に最新の機能を提供することができる。
【産業上の利用可能性】
【0110】
本発明の攻撃分析装置は、主として自動車に搭載された電子制御システムが受けたサイバー攻撃を分析する装置を対象としているが、自動車に搭載されない通常のシステムに対する攻撃を分析する装置を対象としてもよい。
【符号の説明】
【0111】
100 攻撃分析装置、101 セキュリティログ取得部、102 生存信号取得部、103 予測テーブル保存部、104 攻撃経路推定部、105 攻撃情報出力部、106 予測攻撃経路候補選択部、107 信頼度算出部