(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-19
(45)【発行日】2024-09-30
(54)【発明の名称】車両監視装置および車両監視方法
(51)【国際特許分類】
G06F 21/55 20130101AFI20240920BHJP
【FI】
G06F21/55 340
(21)【出願番号】P 2021517062
(86)(22)【出願日】2020-08-19
(86)【国際出願番号】 JP2020031228
(87)【国際公開番号】W WO2021039523
(87)【国際公開日】2021-03-04
【審査請求日】2023-06-01
(31)【優先権主張番号】PCT/JP2019/034263
(32)【優先日】2019-08-30
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】514136668
【氏名又は名称】パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ
【氏名又は名称原語表記】Panasonic Intellectual Property Corporation of America
(74)【代理人】
【識別番号】100109210
【氏名又は名称】新居 広守
(74)【代理人】
【識別番号】100137235
【氏名又は名称】寺谷 英作
(74)【代理人】
【識別番号】100131417
【氏名又は名称】道坂 伸一
(72)【発明者】
【氏名】岸川 剛
(72)【発明者】
【氏名】平野 亮
(72)【発明者】
【氏名】氏家 良浩
(72)【発明者】
【氏名】芳賀 智之
【審査官】塩澤 如正
(56)【参考文献】
【文献】特開2017-111796(JP,A)
【文献】国際公開第2018/168291(WO,A1)
【文献】国際公開第2019/030763(WO,A1)
【文献】スミス クレイグ Craig Smith,カーハッカーズ・ハンドブック 初版 The Car Hacker's Handbook,第1版,株式会社オライリー・ジャパン オライリー ティム
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/55
(57)【特許請求の範囲】
【請求項1】
1以上の電子制御ユニットを備える車載ネットワークシステムを監視する車両監視装置であって、
前記車載ネットワークシステムに流れるフレームを受信するフレーム受信部と、
前記フレーム受信部で受信した前記フレームと当該フレームの受信より前に前記フレーム受信部で受信した1以上のフレームに関する情報を含む車両データとに基づいて通常の運転挙動とは異なる不審挙動を検知し、検知結果に基づいて前記車載ネットワークシステムを搭載する車両に対してリバースエンジニアリングが行われている可能性を示す信用スコアを算出する信用スコア算出部と、を備える、
車両監視装置。
【請求項2】
前記不審挙動は、監視装置の接続、エラーフレーム、ネットワークの瞬断、バッテリー取り外しのいずれかが検知された場合に、パッシブモニタリング活動として検知され、
前記信用スコア算出部は、前記パッシブモニタリング活動が検知された場合に、前記信用スコアを減少させる、
請求項1に記載の車両監視装置。
【請求項3】
前記不審挙動は、所定の第1時間内における、車内のボタンの操作回数、異常な運転挙動の検知回数のいずれかが所定数以上である、または、運転支援機能の発動間隔が所定値未満である場合に、アクティブモニタリング活動として検知され、
前記運転支援機能は、自動駐車支援、オートクルーズコントロール、緊急ブレーキ、レーンキープアシストのいずれかであり、
前記異常な運転挙動は、アクセル開度、ブレーキ圧、所定時間内における操舵角の変化量が所定値以上であることであり、
前記信用スコア算出部は、前記アクティブモニタリング活動が検知された場合に、前記信用スコアを減少させる、
請求項1または2に記載の車両監視装置。
【請求項4】
前記不審挙動は、所定の第1時間内における、前記フレームの受信量、診断コマンドの受信量のいずれかが所定数以上である場合に、インジェクション活動として検知され、
前記信用スコア算出部は、前記インジェクション活動が検知された場合に、前記信用スコアを減少させる、
請求項1~3のいずれか1項に記載の車両監視装置。
【請求項5】
前記不審挙動は、所定の第1時間内における、アップデートコマンドの受信量、同一属性のフレームの受信量のいずれかが所定数以上である場合に、リファインメント活動として検知され、
前記同一属性のフレームとは、前記フレームに含まれる識別子、IPアドレス、MACアドレス、ポート番号のいずれか、または、いずれか2つ以上の組み合わせが同一であるフレームであり、
前記信用スコア算出部は、前記リファインメント活動が検知された場合に、前記信用スコアを減少させる、
請求項1~4のいずれか1項に記載の車両監視装置。
【請求項6】
前記車両監視装置は、さらに、監視レベル変更部を備え、
前記監視レベル変更部は、前記信用スコアが所定の値未満となった場合に、前記信用スコアの値に基づいて、前記車両の機能の制限、前記車両の運転者への注意喚起、近隣車両またはサーバへの信用スコアの通知、および、前記車載ネットワークシステムの監視強化のいずれか1つ以上を実行する、
請求項1~5のいずれか1項に記載の車両監視装置。
【請求項7】
前記不審挙動は、前記リバースエンジニアリングの各段階を示す複数の種類を有し、
前記信用スコア算出部は、前記不審挙動の前記複数の種類のそれぞれにおいて信用スコアを算出する、
請求項1に記載の車両監視装置。
【請求項8】
前記不審挙動の前記複数の種類は、パッシブモニタリング活動、アクティブモニタリング活動、インジェクション活動、リファインメント活動の少なくとも2つを含み、
前記パッシブモニタリング活動は、前記車両データを取得するための行動であり、
前記アクティブモニタリング活動は、前記車両の特定機能動作中または特定状況における前記車両データを取得しようとするための動作であり、
前記インジェクション活動は、前記車載ネットワークシステムへのフレームの注入を試行するための行動であり、
前記リファインメント活動は、前記車載ネットワークシステムに注入されるフレームの精度を向上させるためのフレームの注入を試行するための行動である、
請求項7に記載の車両監視装置。
【請求項9】
前記不審挙動は、監視装置の接続、エラーフレーム、ネットワークの瞬断、バッテリー取り外しのいずれかが検知された場合に、前記パッシブモニタリング活動として検知され、所定の第1時間内における、運転支援機能の発動回数、車内のボタンの操作回数、異常な運転挙動の検知回数、のいずれかが所定数以上である場合に前記アクティブモニタリング活動として検知され、所定の第1時間内における、前記フレームの受信回数、診断コマンドの受信回数のいずれかが所定数以上である場合に前記インジェクション活動として検知され、所定の第1時間内における、アップデートコマンドの受信回数、同一属性のフレームの受信回数のいずれかが所定数以上である場合に前記リファインメント
活動として検知される、
請求項8に記載の車両監視装置。
【請求項10】
前記車両監視装置は、さらに、監視レベル変更部を備え、
前記監視レベル変更部は、前記不審挙動の前記複数の種類と、前記不審挙動の前記複数の種類のそれぞれに対応する信用スコアの値とに基づいて、前記車両の一部機能の制限、前記車両の運転者への注意喚起、および、近隣車両またはサーバへの信用スコアの通知のいずれか1つ以上を実行する、
請求項7~9のいずれか1項に記載の車両監視装置。
【請求項11】
前記信用スコア算出部は、所定の第2時間が経過するまたは前記車両に対して所定の第1操作が実行されると、前記信用スコアを上昇させる、
請求項1~10のいずれか1項に記載の車両監視装置。
【請求項12】
前記信用スコア算出部は、所定の第3時間が経過するまたは前記車両に対して所定の第2操作が実行されると、前記信用スコアをリセットする、
請求項1~11のいずれか1項に記載の車両監視装置。
【請求項13】
1以上の電子制御ユニットを備える車載ネットワークシステムを監視する
車両監視装置で用いられる車両監視方法であって、
前記車載ネットワークシステムに流れるフレームを受信する受信ステップと、
前記受信ステップで受信した前記フレームと当該フレームの受信より前に受信した1以上のフレームに関する情報を含む車両データとに基づいて通常の運転挙動とは異なる不審挙動を検知し、検知結果に基づいて前記車載ネットワークシステムを搭載する車両に対してリバースエンジニアリングが行われている可能性を示す信用スコアを算出する信用スコア算出ステップとを含む、
車両監視方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、1以上の電子制御ユニット(以下、ECU(Electronic Control Unit))によって構成される車載ネットワークシステムを監視する車両監視装置および車両監視方法に関する。
【背景技術】
【0002】
近年、自動車の中のシステムには、ECUと呼ばれる装置が多数配置されている。これらのECUをつなぐネットワークは車載ネットワークと呼ばれる。車載ネットワークには、多数の規格が存在するが、その中でも最も主流な車載ネットワークの一つに、Controller Area Network(以降、CAN(登録商標、以下同様))という規格が存在する。また、さらに、自動運転またはコネクテッドカーの普及に伴い、車載ネットワークのトラフィックの増大に対応するため車載Ethernet(登録商標、以下同様)の普及が進んでいる。
【0003】
一方で、車載ネットワークに侵入し、車両を不正制御する脅威も報告されている。このような脅威に対して、非特許文献1には、従来のInternet Protocol(IP)通信で用いられてきた暗号通信を用いて不正なノードの通信による不正制御を防ぐ方法が開示されている。また、特許文献1には、車載ネットワークの異常な通信を検知し、不正なフレームを遮断する方法が開示されている。
【先行技術文献】
【特許文献】
【0004】
【非特許文献】
【0005】
【文献】RFC5406:Guidelines for Specifying the Use of IPsec Version2、2009年2月
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、非特許文献1の方法では、暗号通信を用いるため、送受信ノードによる暗号化・復号処理が必要となりオーバーヘッドが発生する。また、暗号通信に用いる鍵管理が重要となり、ECUの制御を奪われ、正規の鍵を利用された場合に、不正なフレーム送信による不正制御が可能となってしまう。
【0007】
また、特許文献1の方法は、攻撃者によって不正なフレームが送信されたときの対処方法であり、攻撃の発生を未然に防ぐわけではない。このように、車載ネットワークの安全性には、改善の余地がある。
【0008】
そこで、本開示は、車載ネットワークの安全性をより高めることができる車両監視装置および車両監視方法を提供する。
【課題を解決するための手段】
【0009】
本開示の一態様に係る車両監視装置は、1以上の電子制御ユニットを備える車載ネットワークシステムを監視する車両監視装置であって、前記車載ネットワークシステムに流れるフレームを受信するフレーム受信部と、前記フレーム受信部で受信した前記フレームと当該フレームの受信より前に前記フレーム受信部で受信した1以上のフレームに関する情報を含む車両データとに基づいて通常の運転挙動とは異なる不審挙動を検知し、検知結果に基づいて前記車載ネットワークシステムを搭載する車両に対してリバースエンジニアリングが行われている可能性を示す信用スコアを算出する信用スコア算出部と、を備える。
【0010】
本開示の一態様に係る車両監視方法は、1以上の電子制御ユニットを備える車載ネットワークシステムを監視する車両監視方法であって、前記車載ネットワークシステムに流れるフレームを受信する受信ステップと、前記受信ステップで受信した前記フレームと当該フレームの受信より前に受信した1以上のフレームに関する情報を含む車両データとに基づいて通常の運転挙動とは異なる不審挙動を検知し、検知結果に基づいて前記車載ネットワークシステムを搭載する車両に対してリバースエンジニアリングが行われている可能性を示す信用スコアを算出する信用スコア算出ステップとを含む。
【発明の効果】
【0011】
本開示の一態様に係る車両監視装置等によれば、車載ネットワークの安全性をより高めることができる。
【図面の簡単な説明】
【0012】
【
図1】
図1は、実施の形態1における車載ネットワークシステムの全体構成を示す図である。
【
図2】
図2は、実施の形態1におけるECUの構成を示す図である。
【
図3】
図3は、実施の形態1におけるゲートウェイの構成を示す図である。
【
図4A】
図4Aは、実施の形態1における信用スコアの一例を示す図である。
【
図4B】
図4Bは、実施の形態1における車両データの一例を示す図である。
【
図5】
図5は、実施の形態1における転送ルールの一例を示す図である。
【
図6】
図6は、実施の形態1におけるゲートウェイの処理を示すフローチャートである。
【
図7】
図7は、実施の形態1におけるゲートウェイの信用スコア算出のフローチャートである。
【
図8】
図8は、実施の形態1におけるゲートウェイの監視レベル変更のフローチャートである。
【
図9】
図9は、実施の形態1におけるゲートウェイの動作シーケンスを示す図である。
【
図10】
図10は、実施の形態1におけるゲートウェイの動作シーケンスを示す図である。
【
図11A】
図11Aは、実施の形態1における運転者へ通知する表示内容の一例を示す図である。
【
図11B】
図11Bは、実施の形態1における運転者へ通知する表示内容の別の一例を示す図である。
【
図12】
図12は、実施の形態2におけるゲートウェイの処理を示すフローチャートである。
【
図13】
図13は、実施の形態2におけるゲートウェイの不審スコア算出のフローチャートである。
【
図14】
図14は、実施の形態2におけるゲートウェイの監視レベル変更のフローチャートである。
【発明を実施するための形態】
【0013】
(本開示に至った経緯)
本開示の実施の形態等の説明に先立ち、本開示の基礎に至った経緯について説明する。
【0014】
上記のように、特許文献1および非特許文献1に開示されている技術では、車載ネットワークの安全性を高める観点から改善の余地がある。
【0015】
一般に、車両の不正制御を試みる攻撃者は、車両の不正制御を引き起こすためのフレームの調査等のリバースエンジニアを車載ネットワークに対して事前に行うことで攻撃方法を確立させていくことが想定される。
【0016】
車両の不正制御を実施する前の車載ネットワークの調査段階における攻撃者の活動を把握することができれば、攻撃発生の予兆として、攻撃者によるリバースエンジニアリングを妨害する、または、対象車両を重点的に監視し攻撃内容を未然に把握する等のアクションにつなげることができる。
【0017】
そこで、本願発明者らは、車載ネットワークの調査段階における攻撃者の活動を把握することができる車両監視装置等について鋭意検討を行い、以下に説明する車両監視装置等を創案した。例えば、本願発明者らは、車載ネットワークにおけるフレームを監視し、攻撃者のリバースエンジニアによって発生する通常とは異なる車両の挙動を捉え、車両がリバースエンジニアをされている可能性を算出することで、車載ネットワークの調査段階における攻撃者の活動を把握することができることを見出した。
【0018】
本開示の一実施態様の車両監視装置は、1以上の電子制御ユニットを備える車載ネットワークシステムを監視する車両監視装置であって、前記車載ネットワークシステムに流れるフレームを受信するフレーム受信部と、前記フレーム受信部で受信した前記フレームと当該フレームの受信より前に前記フレーム受信部で受信した1以上のフレームに関する情報を含む車両データとに基づいて通常の運転挙動とは異なる不審挙動を検知し、検知結果に基づいて前記車載ネットワークシステムを搭載する車両に対してリバースエンジニアリングが行われている可能性を示す信用スコアを算出する信用スコア算出部と、を備える。
【0019】
これにより、車載ネットワークシステムをリバースエンジニアリングしている疑わしさ(信用スコア)を算出することが可能となり、より疑わしい車両を把握することができ効果的である。つまり、車両監視装置は、信用スコアに基づいて、車両の不正制御を実施する前の車載ネットワークに対する調査段階における攻撃者の活動を把握することができるので、車両の車載ネットワークの安全性をより高めることができる。
【0020】
また、前記不審挙動は、監視装置の接続、エラーフレーム、ネットワークの瞬断、バッテリー取り外しのいずれかが検知された場合に、パッシブモニタリング活動として検知され、前記信用スコア算出部は、前記パッシブモニタリング活動が検知された場合に、前記信用スコアを減少させるとしてもよい。
【0021】
これにより、攻撃者が、車載ネットワークシステムのログを取得しようとする試行を捉えることが可能となり、効果的である。つまり、車両監視装置は、信用スコアに基づいて、パッシブモニタリング活動を把握することができるので、車両の車載ネットワークの安全性をより高めることができる。
【0022】
また、前記不審挙動は、所定の第1時間内における、車内のボタンの操作回数、異常な運転挙動の検知回数のいずれかが所定数以上である、または、運転支援機能の発動間隔が所定値未満である場合に、アクティブモニタリング活動として検知され、前記運転支援機能は、自動駐車支援、オートクルーズコントロール、緊急ブレーキ、レーンキープアシストのいずれかであり、前記異常な運転挙動は、アクセル開度、ブレーキ圧、所定時間内における操舵角の変化量が所定値以上であることであり、前記信用スコア算出部は、前記アクティブモニタリング活動が検知された場合に、前記信用スコアを減少させるとしてもよい。
【0023】
これにより、攻撃者が、不正制御を行うためのヒントを得るための車載ネットワークログを積極的に取得しようとする活動を捉えることが可能となり効果的である。つまり、車両監視装置は、信用スコアに基づいて、アクティブモニタリング活動を把握することができるので、車両の車載ネットワークの安全性をより高めることができる。
【0024】
また、前記不審挙動は、所定の第1時間内における、前記フレームの受信量、診断コマンドの受信量のいずれかが所定数以上である場合に、インジェクション活動として検知され、前記信用スコア算出部は、前記インジェクション活動が検知された場合に、前記信用スコアを減少させるとしてもよい。
【0025】
これにより、攻撃者が、車載ネットワークに対して、何らかのフレーム注入を試行する活動を捉えることが可能となり効果的である。つまり、車両監視装置は、信用スコアに基づいて、インジェクション活動を把握することができるので、車両の車載ネットワークの安全性をより高めることができる。
【0026】
また、前記不審挙動は、所定の第1時間内における、アップデートコマンドの受信量、同一属性のフレームの受信量のいずれかが所定数以上である場合に、リファインメント活動として検知され、前記同一属性のフレームとは、前記フレームに含まれる識別子、IPアドレス、MACアドレス、ポート番号のいずれか、または、いずれか2つ以上の組み合わせが同一であるフレームであり、前記信用スコア算出部は、前記リファインメント活動が検知された場合に、前記信用スコアを減少させるとしてもよい。
【0027】
これにより、攻撃者が車両の不正制御を実現するために、より洗練された攻撃を試行していることを捉えることが可能となり効果的である。つまり、車両監視装置は、信用スコアに基づいて、リファインメント活動を把握することができるので、車両の車載ネットワークの安全性をより高めることができる。
【0028】
また、前記車両監視装置は、さらに、監視レベル変更部を備え、前記監視レベル変更部は、前記信用スコアが所定の値未満となった場合に、前記信用スコアの値に基づいて、前記車両の機能の制限、前記車両の運転者への注意喚起、近隣車両またはサーバへの信用スコアの通知、および、前記車載ネットワークシステムの監視強化のいずれか1つ以上を実行するとしてもよい。
【0029】
これにより、攻撃者によるリバースエンジニアリング活動の疑わしさが高い車両を重点的に監視することが可能となり効率的である。また、監視レベル変更部によれば、信用スコアの値に基づいて各種対応を行うので、リバースエンジニアリングが行われている場合に、攻撃者がリバースエンジニアリングを継続して行うことを抑制する効果が期待できる。
【0030】
また、前記不審挙動は、前記リバースエンジニアリングの各段階を示す複数の種類を有し、前記信用スコア算出部は、前記不審挙動の前記複数の種類のそれぞれにおいて信用スコアを算出するとしてもよい。
【0031】
これにより、攻撃者のリバースエンジニアリング活動のフェーズごとに不審挙動の疑わしさを把握することが可能となり、効果的である。つまり、車両監視装置は、複数の種類の信用スコアに基づいて、車両の不正制御を実施する前の車載ネットワークに対する調査段階における攻撃者の活動の段階(フェーズ)を把握することができるので、車両の車載ネットワークの安全性をさらに高めることができる。
【0032】
また、前記不審挙動の前記複数の種類は、パッシブモニタリング活動、アクティブモニタリング活動、インジェクション活動、リファインメント活動の少なくとも2つを含み、前記パッシブモニタリング活動は、前記車両データを取得するための行動であり、前記アクティブモニタリング活動は、前記車両の特定機能動作中または特定状況における前記車両データを取得しようとするための動作であり、前記インジェクション活動は、前記車載ネットワークシステムへのフレームの注入を試行するための行動であり、前記リファインメント活動は、前記車載ネットワークシステムに注入されるフレームの精度を向上させるためのフレームの注入を試行するための行動であってもよい。
【0033】
これにより、攻撃者のリバースエンジニアリング活動の段階が、パッシブモニタリング活動、アクティブモニタリング活動、インジェクション活動およびリファインメント活動の少なくとも2つのうちのいずれの活動であるかを把握することができる。つまり、車両監視装置は、現在行われているリバースエンジニアリング活動の段階をより詳細に取得することができるので、車両の車載ネットワークの安全性をさらに高めることができる。
【0034】
また、前記不審挙動は、監視装置の接続、エラーフレーム、ネットワークの瞬断、バッテリー取り外しのいずれかが検知された場合に、前記パッシブモニタリング活動として検知され、所定の第1時間内における、運転支援機能の発動回数、車内のボタンの操作回数、異常な運転挙動の検知回数、のいずれかが所定数以上である場合に前記アクティブモニタリング活動として検知され、所定の第1時間内における、前記フレームの受信回数、診断コマンドの受信回数のいずれかが所定数以上である場合に前記インジェクション活動として検知され、所定の第1時間内における、アップデートコマンドの受信回数、同一属性のフレームの受信回数のいずれかが所定数以上である場合に前記リファインメントとして検知される。
【0035】
これにより、信用スコアを算出するための専用の情報を用いることなく、攻撃者のリバースエンジニアリング活動の段階を取得することができる。つまり、車両監視装置は、より簡単に攻撃者のリバースエンジニアリング活動の段階を取得することができる。
【0036】
また、前記車両監視装置は、さらに、監視レベル変更部を備え、前記監視レベル変更部は、前記不審挙動の前記複数の種類と、前記不審挙動の前記複数の種類のそれぞれに対応する信用スコアの値とに基づいて、前記車両の一部機能の制限、前記車両の運転者への注意喚起、および、近隣車両またはサーバへの信用スコアの通知のいずれか1つ以上を実行するとしてもよい。
【0037】
これにより、攻撃者のリバースエンジニアリング活動のフェーズに応じた対応が可能となり、車載ネットワークの安全性向上に効果的である。
【0038】
また、前記信用スコア算出部は、所定の第2時間が経過するまたは前記車両に対して所定の第1操作が実行されると、前記信用スコアを上昇させてもよい。また、前記信用スコア算出部は、所定の第3時間が経過するまたは前記車両に対して所定の第2操作が実行されると、前記信用スコアをリセットさせてもよい。
【0039】
これにより、信用スコア算出部は、信用スコアを回復させることが可能となる。車両の運転者(攻撃者ではない通常の運転者)により信用スコアが低下する運転が行われた場合に、信用スコアを自動で補正することができる。よって、車両監視装置は、車載ネットワークに対する調査段階における攻撃者の活動を、より確実に把握することができる。
【0040】
また本開示の一実施態様の車両監視方法は、1以上の電子制御ユニットを備える車載ネットワークシステムを監視する車両監視方法であって、前記車載ネットワークシステムに流れるフレームを受信する受信ステップと、前記受信ステップで受信した前記フレームと該フレームの受信より前に受信した1以上のフレームに関する情報を含む車両データとに基づいて通常の運転挙動とは異なる不審挙動を検知し、検知結果に基づいて前記車載ネットワークシステムを搭載する車両に対してリバースエンジニアリングが行われている可能性を示す信用スコアを算出する信用スコア算出ステップとを含む。
【0041】
これにより、上記の車両監視装置と同様の効果を奏する。例えば、車両監視方法によれば、車載ネットワークシステムをリバースエンジニアリングしている疑わしさを算出することが可能となり、より疑わしい車両を把握することができ効果的である。
【0042】
以下、図面を参照しながら、本開示の実施の形態に関わる車載ネットワーク異常検知システムについて説明する。なお、以下で説明する実施の形態は、いずれも本開示の好ましい一具体例を示す。つまり、以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置および接続形態、ステップ、ステップの順序などは、本開示の一例であり、本開示を限定する主旨ではない。本開示は、請求の範囲の記載に基づいて特定される。したがって、以下の実施の形態における構成要素のうち、本開示の最上位概念を示す独立請求項に記載されていない構成要素は、本開示の課題を達成するために必ずしも必要ではないが、より好ましい形態を構成する構成要素として説明される。
【0043】
また、各図は模式図であり、必ずしも厳密に図示されたものではない。また、各図において、実質的に同一の構成に対しては同一の符号を付し、重複する説明は省略または簡略化される場合がある。
【0044】
(実施の形態1)
以下、複数の電子制御ユニット(ECU)が通信する車載ネットワーク(車載ネットワークシステム)を搭載した車両における、車両監視装置および車両監視方法について説明する。より具体的には、車載ネットワークシステムに流れるフレームに基づいて、攻撃者がリバースエンジニアリングを実施することによる車両挙動の不正度を表す信用スコアを算出し、算出した信用スコアに応じて車両の監視機能を変更する車載ネットワークセキュリティ技術について説明する。
【0045】
[1.1 車載ネットワークシステムの全体構成]
図1は、本実施の形態における車載ネットワークシステムの全体構成を示す図である。
図1に示すように、車載ネットワークシステムは、ECU10、11、20、21、30、31、40、41と、診断ポート50と、ゲートウェイ60とを備える。
【0046】
ECU10とECU11とはバス1に接続し、ECU20とECU21とはバス2に接続し、ECU30とECU31とはバス3に接続し、ECU40とECU41とはバス4に接続している。また、診断ポート50は、バス5に接続している。ゲートウェイ60は、全てのバスに接続している。
【0047】
各ECUは、互いにController Area Network(CAN)で接続されており、フレームの通信を行う。各バスは、例えば車両200の機能ごとにドメイン分離されていてもよい。例えばバス1は、パワートレイン系のECUが配置されており、エンジンの制御等に関わる通信が行われる。また、例えば、バス2、はシャシー系のECUが配置されており、ステアリングの制御またはブレーキ制御を実現するための通信が行われる。また、バス3は、情報系のECUが配置されており、カーナビやインフォテインメント系の通信が行われる。また、バス4は、ボディ系のECUが配置され、搭乗者のボタン押下によるエアコン制御またはパワーウインドウ等の制御を行うための通信が行われる。
【0048】
ゲートウェイ60は、全てのバスの情報を受信し、必要であれば受信したフレームを、他のバスへ転送する処理を行う。例えばバス5に、診断用のフレームが流れていた場合には、当該フレームをバス1~4に転送する処理等を行う。ゲートウェイ60は、車両監視装置の一例である。ゲートウェイ60は、1以上のECUによって構成される車載ネットワークシステムにおける処理等を行う。
【0049】
なお、本実施の形態では、各バスはCANで実現されているとしたが、通信プロトコルはこれに限らない。例えば、CAN-FD(CAN with Flexible Data Rate))、FlexRay(登録商標、以下同様)、Ethernetであってもよいし、バスごとに通信プロトコルが異なっていても構わない。
【0050】
[1.2 ECU10の構成]
図2は、本実施の形態におけるECU10の構成を示す図である。なお、ECU11、ECU20、ECU21、ECU30、ECU31、ECU40、ECU41は、ECU10と同様の構成であるが、それぞれ接続されるセンサまたはアクチュエータが異なるので、実現する機能が異なる。
【0051】
ECU10は、例えばプロセッサ、メモリ、通信インタフェース等を備えるコンピュータにより実現される。
図2に示すように、ECU10は、通信部100とホスト部101とを有する。
【0052】
通信部100は、バス1に接続し、バス1に流れるフレームの送受信を行う。通信部100は、車載ネットワークシステムに流れるフレームを送受信するとも言える。通信部100は通信コントローラまたはトランシーバ等によって実現される。
【0053】
ホスト部101は、ECU10のメイン処理を行う部分であり、CPU(Central Processing Unit)とメモリとによって実現される。ホスト部101は、通信部100から受信したフレームを解釈し、通信内容(解釈結果)に応じた処理を実施する。例えばECU10は、エンジン制御を行うECUであるとする。クルーズコントロールの機能で車両速度の増加要求フレームを他のECUから受信した場合に、所望の車両速度となるように、当該ECU10のホスト部101は、エンジン回転数を上昇させる制御等を行う。また、ECU10がエンジン回転数の情報を受信した場合に、当該ECU10のホスト部101は、他のECUへ通知するためにフレームを送信する等の処理を行う。
【0054】
[1.3 ゲートウェイ60の構成]
図3は、本実施の形態におけるゲートウェイ60の構成を示す図である。ゲートウェイ60は、例えばプロセッサ、メモリ、通信インタフェース等を備えるコンピュータにより実現される。
【0055】
図3に示すように、ゲートウェイ60は、フレーム送受信部61と、フレーム解釈部62と、信用スコア算出部63と、監視制御部64と、転送制御部65と、フレーム生成部66と、サーバ通信部67と、信用スコア保持部68と、転送ルール保持部69とを有する。
【0056】
フレーム送受信部61は、バス1~5と接続される通信インタフェースであり、通信コントローラまたはトランシーバ等によって実現される。フレーム送受信部61は、各バスで受信したフレームをフレーム解釈部62へ転送する。また、フレーム送受信部61は、フレーム生成部66からの送信要求に従って、フレームの送信を行う。フレーム送受信部61は、フレーム受信部の一例である。
【0057】
フレーム解釈部62は、フレーム送受信部61から転送されたフレームの解釈を行い、フレームに応じた処理を行う。また、フレーム送受信部61は、受信したフレームを、信用スコア算出部63へ通知する。
【0058】
信用スコア算出部63は、フレーム解釈部62から通知されたフレームと、信用スコア保持部68に保持されている車両情報(車両データ)とに基づいて、車両200の信用スコアを算出し、信用スコア保持部68に格納されている車両200の信用スコアおよび車両情報を更新する。
【0059】
信用スコア算出部63は、車両200が通常とは異なる利用をされている度合いを信用スコアとして算出する。信用スコア算出部63は、特に攻撃者が車両200をリバースエンジニアリングする目的で活動している兆候を捉えるために信用スコアを算出する。
【0060】
信用スコアは、例えば、リバースエンジニアリングが行われている可能性(例えば、攻撃者がリバースエンジニアリングしている疑わしさ)を示す指標である。また、信用スコアは、例えば、リバースエンジニアリングが行われている可能性を判定可能な指標である。また、信用スコアは、例えば、通常の運転者であれば行わない、または、行う可能性が低い車両200における利用が行われていることを示す指標であるとも言える。なお、本明細書におけるリバースエンジニアリングは、車載ネットワークシステムを解析することである。よって、信用スコアは、例えば、車両200の車載ネットワークシステムの解析が行われている可能性、または、解析の度合いを示す指標であるとも言える。
【0061】
本実施の形態では、信用スコア算出部63は、フレーム送受信部61で受信したフレームと当該フレームの受信より前にフレーム送受信部61で受信した1以上のフレームに関する車両データとに基づいて通常の運転挙動とは異なる不審挙動を検知し、不審挙動の検知結果に基づいて車載ネットワークシステムを搭載する車両200に対してリバースエンジニアリングが行われている可能性を示す信用スコアを算出する。信用スコア算出部63は、フレーム送受信部61で受信したフレームと車両データとに基づいて、当該フレームを受信する前の信用スコアを更新するとも言える。
【0062】
このように、信用スコア算出部63は、フレーム送受信部61で受信したフレームを含むフレームの時系列データに基づいて信用スコアを算出する。信用スコア算出部63は、例えば、現在受信したフレームと、現在より過去に受信したフレーム(車両データに含まれるフレーム)とに基づいて現在の信用スコアを算出する。
【0063】
なお、通常の運転挙動とは、リバースエンジニアリングを行わない運転者が車両200を運転するときに行い得ると想定される運転挙動である。また、ここでの運転挙動には、車両200の走行時における運転状態の挙動(例えば、後述する
図4Bに示す緊急ブレーキ発動間隔など)、および、車両200の内部処理における挙動(例えば、後述する
図4Bに示すエラーフレーム発生間隔など)の両方が含まれる。また、以下において、どのような不審挙動のときに信用スコアを減少させるかを例示するが、不審挙動は以下に限定されない。
【0064】
例えば、イグニッションがかかっている時間に対して、停車している時間の割合が高いことは、停車中の車両200に対して、何らかの調査が行われている兆候とも考えられるため、信用スコア算出部63は、信用スコアを減少させる。
【0065】
また、数秒から数分といった短時間で、車両200の運転支援機能(例えば、緊急ブレーキ、クルーズコントロール、自動駐車支援などのいずれか1つ以上)が繰り返し利用される場合も、攻撃者により、不正制御を引き起こすフレームを解析するために、車載ネットワークのログ取得が行われている可能性があるので、信用スコア算出部63は、信用スコアを減少させる。また、運転支援機能には、レーンキープアシスト機能(車線逸脱防止支援機能)が含まれていてもよい。
【0066】
また、車両200の極端な運転状態(例えば、急アクセル、急ブレーキ、急ハンドルなど)の検知間隔が短い場合、または、エアコン、ライト等のボディ系を制御するために車内に配置されたボタンが繰り返し押下されている場合も、攻撃者により、車載ネットワーク解析のためのログ取得が行われている可能性があるので、信用スコア算出部63は、信用スコアを減少させる。
【0067】
また、車載ネットワークにおいてエラーフレームが発生する間隔が短い場合も、攻撃者によって不正なデバイスが接続されている影響が表れている可能性があるので、信用スコア算出部63は、信用スコアを減少させる。
【0068】
また、車載ネットワークのフレームが瞬断される時間が所定期間(例えば数秒程度)発生する場合も、攻撃者によって、車載ネットワークをロギングするためのデバイス、または、不正なフレームを注入するためのデバイスを接続する作業が行われている可能性があるので、信用スコア算出部63は、信用スコアを減少させる。
【0069】
また、車載ネットワークに流れる診断コマンドが所定量以上である場合は、攻撃者によって、診断コマンド注入時の車両200への影響調査、または、攻撃試行の影響で生じた故障コードの消去作業が繰り返し行われている可能性があるので、信用スコア算出部63は、信用スコアを減少させる。
【0070】
他にも、アップデートを行うためのフレーム数、バッテリーの電圧低下またはバッテリーの取り外しが行われる頻度、通常観測されないIPアドレスまたはポート番号を含むパケット数などに応じて、信用スコア算出部63は、信用スコアを減少させうる。
【0071】
上記の信用スコアを減少させる状況は、必ずしも攻撃者による活動とは限らない。そのため、信用スコア算出部63は、算出した信用スコアを不揮発メモリに保持しておき、所定の時間(所定の第2時間の一例)が経過すると(例えば1日おきに)信用スコアを所定値(例えば1)ずつ上昇させてもよい。信用スコア算出部63は、信用スコアを回復させる処理も行うことで、信用スコアを減少させる活動が繰り返し観測される車両200を適切に検出するようにしてもよい。なお、信用スコア算出部63は、車両200に対して所定の操作(所定の第1操作の一例)が実行されると信用スコアを所定値ずつ上昇させてもよい。所定の第1操作は、例えば、イグニッションONする操作であってもよいし、その他の操作であってもよい。
【0072】
信用スコア算出部63は、受信したフレームを監視制御部64に通知する。
【0073】
監視制御部64は、信用スコア保持部68に保持されている信用スコアに基づいて、通知されたフレームに対する処理を決定する。監視制御部64は、例えば、リバースエンジニアリングに対する監視のレベルを示す監視レベルを、信用スコアに基づいて変更する。監視制御部64は、監視レベル変更部の一例である。
【0074】
信用スコアが、所定の閾値よりも高い場合、通知されたフレームに対して特に何も行わず、信用スコア算出部63は、通知されたフレームを転送制御部65へ通知する。
【0075】
信用スコアが、所定の閾値以下の場合、縮退モードに入るために、監視制御部64は、通知されたフレームの破棄、または、転送制御部65への縮退モード通知フレームの通知などを行う。縮退モード通知フレームは、他のECUへ縮退モードに入ることを示す通知を行うためのフレームを送信することを示す通知である。また、信用スコアが減少してきたことを通知するために、監視制御部64は、車両ログ(車両データ)と信用スコアとをサーバ通信部67へ通知する。ここで、車両ログは、車載ネットワークで観測されたフレームの情報を含みうる。
【0076】
転送制御部65は、通知されたフレームを転送ルール保持部69に保持されている転送ルールに基づいて、転送を行うように、フレーム生成部66へ通知する。
【0077】
フレーム生成部66は、転送制御部65から通知されたフレームについての送信要求をフレーム送受信部61に対して行う。
【0078】
サーバ通信部67は、監視制御部64から通知された内容をサーバへ通知し、サーバからの通知を受け、監視制御部64へ内容を通知する。
【0079】
信用スコア保持部68は、車両200の信用スコアと、信用スコアを算出するためのデータとが格納されている。信用スコア保持部68に格納される情報の詳細は、
図4Aおよび
図4Bを用いて後述する。
【0080】
転送ルール保持部69は、フレームの転送に用いるルールが格納されている。転送ルールの詳細は、
図5を用いて後述する。
【0081】
なお、ゲートウェイ60が有する各構成要素の一部または全部は、車両200の外部の装置(例えば、サーバ装置)が有していてもよい。この場合、車両200は、受信したフレームおよび車両データを外部の装置に送信する。外部の装置は、車両200からのフレームおよび車両データに基づいて信用スコアを算出し、車両200に送信する。
【0082】
[1.4 信用スコア保持部68に格納される信用スコアおよび車両データの一例]
図4Aは、本実施の形態における信用スコアの一例を示す図である。
図4Bは、本実施の形態における車両データの一例を示す図である。信用スコアおよび車両データは、信用スコア保持部68に格納されている。また、車両データは、信用スコアの算出に用いられてもよい。また、
図4Bに示す項目は、不審挙動と判定されうる項目である。
【0083】
図4Aにおいて、信用スコアは80であることを示している。信用スコアは、0~100の値をとり、初期値は100である。つまり、
図4Aでは、初期値が100である信用スコアが、挙動不審が検知されたことにより、80まで減少している例を示している。なお、
図4Aに示す80は、例えば、現在の信用スコアを示す。
【0084】
また、
図4Bの車両データにおいて、イグニッションがONされてからのデータとして、今回値と前回値が格納されている。前回値は、前回にイグニッションがONされてからOFFとなるまでの期間のデータが格納されている。車両データとして、車両200の速度が時速0キロである割合を示す停車時間割合、緊急ブレーキがONになってから、次に緊急ブレーキがONとなる間隔を示す緊急ブレーキ発動間隔、クルーズコントロール発動間隔、自動駐車支援発動間隔、アクセル開度が100%を示すフレームを受信した間隔を示す急アクセル検知間隔、急ブレーキ検知間隔、急ハンドル検知間隔、エラーフレームを受信した間隔を示すエラーフレーム発生間隔、メッセージ瞬断時間、バッテリー電圧低下有無またはバッテリーの取り外しの有無、診断コマンド受信回数、アップデートコマンド受信回数、車内に存在するエアコンまたはライト等を制御するボタンが単位時間内(例えば1分間)に押された回数を示すボタン連続押下回数、サードパーティ装置の接続の有無に関する情報が格納されている。なお、発動間隔は、発動する時間間隔を意味し、検知間隔は、検知する時間間隔を意味する。サードパーティ装置は、監視装置の一例である。また、上記の受信回数は、受信量の一例であり、ボタン連続押下回数は、操作回数の一例である。なお、受信量は受信回数に限定されず、データ量であってもよい。例えば、
図4Bは、診断コマンド受信回数に代えて診断コマンドのデータ量(所定の第1時間におけるデータの合計量)であってもよい。
【0085】
図4Bでは、格納されている車両データとして、停車時間割合が今回は70%であるのに対して、前回は50%であったことを示している。また、緊急ブレーキ発動間隔は、今回が60秒であるのに対して、前回は、「-」であり、今回は緊急ブレーキが2回以上発動していないことを示している。また、クルーズコントロールの発動間隔は、今回は、「-」であり、今回は2回以上発動していないことを示しているのに対して、前回は1000秒間隔で発動していることを示している。また、自動駐車支援発動間隔は、今回が30秒間隔で発動しているのに対して、前回は、「-」であり、2回以上自動駐車支援が発動していないことを示している。
【0086】
急アクセル検知間隔は、今回、前回ともに、「-」であり、2回以上の急アクセルを検知していないことを示している。同様に、急ブレーキ検知間隔、急ハンドル検知間隔についても、前回、今回ともに「-」であり、2回以上の該当フレームを受信していないことを示している。なお、急アクセル、急ブレーキおよび急ハンドルは、異常な運転挙動の一例である。
【0087】
エラーフレーム発生間隔は、今回は1秒間隔であり、前回は「-」でありる。今回は、1秒間隔で該当フレームを受信しているのに対し、前回は、2回以上の該当フレームを受信していないことを示している。また、メッセージ瞬断時間は、今回は3秒であり、前回は、0秒(つまり1秒未満)であることを示している。
【0088】
バッテリー電圧低下有無については、今回はバッテリー電圧低下を検知しており、前回はバッテリー電圧低下を検知していないことを示している。診断コマンド受信回数と、アップデートコマンド受信回数は前回、今回ともに0回であることを示している。
【0089】
ボタン連続押下回数については、今回は30回押されたのに対して、前回は3回であることを示している。
【0090】
サードパーティ装置の接続の有無については、今回は接続されたのに対して、前回は接続されなかったことを示している。
【0091】
なお、
図4Bに示す時間間隔に関する項目(例えば、緊急ブレーキ発動間隔、急アクセル検知間隔など)は、所定の第1時間内の発動回数または検知回数であってもよい。また、
図4Bに示す回数に関する項目(例えば、診断コマンドまたはアップデートコマンド受信回数、ボタン連続押下回数など)は、前回の受信時刻または押下時刻、および、今回の受信時刻または押下時刻に基づく時間間隔であってもよい。信用スコア算出部63は、
図4Bに示す項目における時間間隔または回数のいずれかを用いて信用スコアを算出すればよい。車両データには、例えば、車載ネットワークで観測された各項目におけるフレームの情報が含まれる。車両データには、例えば、フレームの受信時刻を示す時刻情報またはフレームの受信量を示す情報などが含まれる。車両データには、例えば、現在より前に(過去に)フレーム送受信部61で受信した1以上のフレームに関する情報が含まれるとも言える。また、
図4Bに示す車両データは、ログ情報の一例である。また、車両データを車両ログまたは車両情報とも記載する。
【0092】
なお、本実施の形態では、信用スコアおよび車両データは平文で保持されているが、暗号化されて保持されていてもよい。
【0093】
[1.5 転送ルール保持部に格納される転送ルールの一例]
図5は、本実施の形態における転送ルールの一例である。転送ルール保持部69は、同図に示すようにフレームのIDごとに、転送元および転送先が格納されたテーブル(転送ルール)を格納している。
【0094】
図5では、IDが0x100のフレームの転送元はバス1であり、当該フレームは、バス2、3、4に転送されることを示している。同様にIDが0x200のフレームの転送元はバス2であり、バス3に転送されることを示しており、IDが0x250のフレームの転送元はバス2であり、バス4に転送されることを示しており、IDが0x300のフレームの転送元はバス3であり、バス1に転送されることを示している。
【0095】
[1.6 ゲートウェイ60の処理を示すフローチャート]
図6は、本実施の形態におけるゲートウェイ60の処理を示すフローチャートである。
【0096】
図6に示すように、ゲートウェイ60は、フレームを受信しているか否かを判定する(S10)。
【0097】
フレームを受信している場合(S10でYes)、ゲートウェイ60は、信用スコアを算出する(S11)。フレームを受信していない場合(S10でNo)、ゲートウェイ60は、フレームを受信するまで待機する。
【0098】
ゲートウェイ60は、信用スコアを算出後、算出した信用スコアが所定値以下であるか否かを確認する(S12)。監視制御部64は、信用スコア算出部63により算出された信用スコアが所定値以下であるか否かを判定する。
【0099】
信用スコアが所定値以下である場合(S12でYes)、ゲートウェイ60は、監視レベルを変更し(S13)、転送処理を実行する(S14)。
【0100】
信用スコアが所定値よりも大きい場合(S12でNo)、ゲートウェイ60は、監視レベルを変更せずに転送処理を実行する(S14)。
【0101】
次に、ゲートウェイ60の信用スコア算出部63は、所定の時間が経過したか否かを判定する(S15)。所定の時間は、例えば、前回ステップS15でYesと判定してからの経過時間であるが、これに限定されず、信用スコアがリセットされてからの経過時間であってもよいし、信用スコアがリセットされてからの運転時間であってもよい。
【0102】
信用スコア算出部63は、所定の時間経過した場合(S15でYes)、信用スコアを1インクリメントする、または、信用スコアをリセットし(S16)、処理を終了する。信用スコア算出部63は、信用スコアを1インクリメントする場合、現在の信用スコアに1インクリメントした信用スコアを信用スコア保持部68に格納する。また、信用スコア算出部63は、信用スコアをリセットする場合、現在の信用スコアに関わらず、信用スコアの初期値(例えば、100)を信用スコア保持部68に格納する。
【0103】
また、信用スコア算出部63は、所定の時間経過していない場合(S15でNo)、信用スコアを変更せずに処理を終了する。
【0104】
なお、ステップS15の判定は、所定の時間に基づいて判定されることに限定されず、車両200に対して所定の操作が実行されることにより行われてもよい。所定の操作は、例えば、ステップS16の処理を実行することを示す操作(例えば、ボタンに対する操作)であってもよいし、イグニッションONまたはOFFする操作であってもよい。信用スコアをインクリメントするための操作は、所定の第1操作の一例であり、信用スコアをリセットするための操作は、所定の第2操作の一例である。
【0105】
なお、信用スコアは、複数回インクリメントが行われた後に、リセットされてもよい。つまり、信用スコアがリセットされるときの時間(所定の第3時間の一例)は、信用スコアがインクリメントされるときの時間(所定の第2時間の一例)より長い時間であってもよい。
【0106】
[1.7 ゲートウェイ60の信用スコア算出のフローチャート]
図7は、本実施の形態におけるゲートウェイ60の信用スコア算出のフローチャートである。具体的には、
図7は、
図6のステップS11の信用スコアを算出する処理の詳細を示すフローチャートである。なお、
図7では、不審挙動として判定される項目が、診断コマンドまたはアップデートコマンドの受信回数、運転支援機能をONするコマンドの受信間隔(例えば、緊急ブレーキの発動間隔)、および、急ブレーキ、急ハンドル、急アクセルの検知間隔である例について説明する。
【0107】
図7に示すように、ゲートウェイ60は、受信したフレームが診断コマンドまたはアップデートコマンドであるか否かを確認する(S1101)。信用スコア算出部63は、受信したフレームが診断コマンドまたはアップデートコマンドであるか否かを判定する。
【0108】
信用スコア算出部63は、受信したフレームが診断コマンドまたはアップデートコマンドである場合(S1101でYes)、該当コマンドの受信回数を更新する(S1102)。信用スコア算出部63は、例えば、信用スコア保持部68に格納されている該当コマンドの受信回数を1インクリメントする。
【0109】
次にゲートウェイ60は、該当コマンドの受信回数が所定値以上(例えば100回以上)であるか否かを判定する(S1103)。信用スコア算出部63は、例えば、更新した当該コマンドの受信回数が、所定値以上であるか否かを判定する。ステップS1103の判定で用いる所定値は、信用スコア保持部68に予め格納されている。
【0110】
所定の第1時間内における該当コマンドの受信回数が所定値以上である場合(S1103でYes)、ゲートウェイ60は、信用スコアを1デクリメントして(S1104)、処理を終了する。また、所定の第1時間内における該当コマンドの受信回数が所定値よりも小さい場合(S1103でNo)、ゲートウェイ60は、処理を終了する。つまり、信用スコア算出部63は、該当コマンドの受信回数が所定値以上である場合、信用スコアを更新し、該当コマンドの受信回数が所定値よりも小さい場合、信用スコアの更新を行わない。なお、所定の第1時間は、例えば、ステップS15の判定に用いた時間であってもよいし、
図7に示す判定処理に用いられる専用の時間であってもよい。所定の第1時間は、例えば、信用スコア保持部68に予め格納されている。また、
図7の説明において使用する他の所定の第1時間においても同様である。
【0111】
このように、信用スコア算出部63は、不審挙動が、所定の第1時間内における診断コマンドまたはアップデートコマンドの受信回数のいずれかが所定数以上である場合に、信用スコアを減少させる。
【0112】
また、信用スコア算出部63は、所定の第1時間内における、診断コマンドの受信回数が所定数以上である場合に、当該不審挙動をインジェクション活動として検知し、インジェクション活動が検知された場合に、信用スコアを減少するとも言える。なお、インジェクション活動として検知される不審挙動は、診断コマンドの受信回数に限定されず、例えば、所定の第1時間内におけるフレームの受信回数であってもよい。
【0113】
また、信用スコア算出部63は、所定の第1時間内における、アップデートコマンドの受信回数が所定数以上である場合に、当該不審挙動をリファインメント活動として検知し、リファインメント活動が検知された場合に、信用スコアを減少してもよい。リファインメント活動として検知される不審挙動は、アップデートコマンドの受信回数が所定回数以上であることに限定されず、例えば、所定の第1時間内における同一属性のフレームの受信回数が所定回数以上であることであってもよい。
【0114】
同一属性のフレームとは、フレームに含まれる識別子、IPアドレス、MACアドレス、ポート番号のいずれか、または、いずれか2つ以上の組み合わせが同一であるフレームである。また、属性は、フレームを特定する情報であり、フレームに含まれる識別子、IPアドレス、MACアドレス、ポート番号などである。
【0115】
ステップS1101において、受信したフレームが診断コマンドまたはアップデートコマンドでない場合(S1101でNo)、ゲートウェイ60は、受信したフレームが、運転支援機能がONとなるコマンドであるか否かを確認する(S1105)。信用スコア算出部63は、不審挙動がインジェクション活動またはリファインメント活動として検知されなかった場合、ステップS1105に進むとも言える。
【0116】
次に、受信したフレームが運転支援機能ONコマンドである場合(S1105でYes)、ゲートウェイ60は、該当機能について前回に当該機能がONとなった時刻(例えば、当該ONコマンドを受信した時刻)からの経過時間を更新する(S1106)。信用スコア算出部63は、運転支援機能ONコマンドのフレームを前回受信した時刻を信用スコア保持部68から取得し、取得した時刻とステップS1105でYesと判定したフレームを受信した時刻とに基づいて経過時間を更新する。信用スコア算出部63は、例えば、経過時間を当該2つの時刻の時間差とする。
【0117】
次に、ゲートウェイ60は、更新した経過時間が所定値未満(例えば5分未満)であるか否かを確認する(S1107)。信用スコア算出部63は、更新した経過時間が所定値未満であるか否かを判定する。ステップS1107の判定で用いる所定値は、信用スコア保持部68に予め格納されている。
【0118】
所定の第1時間内における経過時間が所定値未満である場合(S1107でYes)、ゲートウェイ60は、信用スコアを1デクリメントし(S1104)、終了する。
【0119】
所定の第1時間内における経過時間が所定値以上である場合(S1107でNo)、ゲートウェイ60は、特に何もせずに処理を終了する。つまり、信用スコア算出部63は、経過時間が所定値未満である場合、信用スコアを更新し、経過時間が所定値以上である場合、信用スコアの更新を行わない。
【0120】
このように、信用スコア算出部63は、不審挙動が、所定の第1時間内における運転支援機能の発動間隔が所定値未満である場合に、信用スコアを減少させる。なお、信用スコア算出部63は、所定の第1時間内における、運転支援機能の発動回数が所定数以上である場合に、ステップS1107でYesと判定してもよい。運転支援機能の発動回数は、運転支援機能が発動した回数であってもよいし、運転支援機能ONコマンドを受信した回数であってもよい。
【0121】
また、信用スコア算出部63は、所定の第1時間内における経過時間が所定値未満である場合、または、所定の第1時間内における運転支援機能の発動回数が所定数以上である場合に、当該不審挙動をアクティブモニタリング活動として検知し、アクティブモニタリング活動が検知された場合に、信用スコアを減少させてもよい。アクティブモニタリング活動として検知される不審挙動は、運転支援機能に関するものに限定されず、例えば、所定の第1時間内における車内のボタンの操作回数(例えば、
図4Bに示すボタン連続押下回数)が所定回数以上であることであってもよい。
【0122】
ステップS1105において、受信したフレームが運転支援機能ONコマンドでない場合(S1105でNo)、ゲートウェイ60は、受信したフレームから、急ブレーキ、急ハンドル、急アクセルのいずれかが検知されるか否かを確認する(S1108)。信用スコア算出部63は、受信したフレームが急ブレーキ、急ハンドル、急アクセルのいずれかであるか否かを判定する。
【0123】
急ブレーキ、急ハンドル、急アクセルのいずれかが検知される場合(S1108でYes)、ゲートウェイ60は、前回の検知時刻からの経過時間を更新する(S1109)。信用スコア算出部63は、急ブレーキ、急ハンドル、急アクセルのいずれかのフレームを前回受信した時刻を信用スコア保持部68から取得し、取得した時刻とステップS1108でYesと判定したフレームを受信した時刻とに基づいて経過時間を更新する。信用スコア算出部63は、例えば、経過時間を当該2つの時刻の時間差とする。経過時間は、検知間隔の一例である。
【0124】
ゲートウェイ60は、経過時間が、所定値未満(例えば5分未満)であるかを確認する(S1110)。信用スコア算出部63は、更新した経過時間が所定値未満であるか否かを判定する。ステップS1110の判定で用いる所定値は、信用スコア保持部68に予め格納されている。
【0125】
所定の第1時間内における経過時間が所定値未満である場合(S1110でYes)、ゲートウェイ60は、信用スコアを1デクリメントし(S1104)、終了する。
【0126】
所定の第1時間内における経過時間が所定値以上である場合(S1110でNo)、ゲートウェイ60は、特に何もせずに終了する。つまり、信用スコア算出部63は、経過時間が所定値未満である場合、信用スコアを更新し、経過時間が所定値以上である場合、信用スコアの更新を行わない。
【0127】
このように、信用スコア算出部63は、不審挙動が、所定の第1時間内における、急ブレーキ、急ハンドル、急アクセルのいずれか(異常な運転挙動の一例)の経過時間が所定値未満である場合に、信用スコアを減少するとも言える。
【0128】
また、信用スコア算出部63は、所定の第1時間内における、ブレーキ、急ハンドル、急アクセルのいずれかの経過時間が所定値未満である場合に、当該不審挙動をアクティブモニタリング活動として検知し、アクティブモニタリング活動が検知された場合に、信用スコアを減少するとも言える。
【0129】
なお、不審挙動は、所定の第1時間内における異常な運転挙動の検知回数が所定値以上であることであってもよい。異常な運転挙動は、アクセル開度、ブレーキ圧、所定時間内における操舵角の変化量が所定値以上であることであってもよい。
【0130】
ステップS1108において、受信したフレームが急ブレーキ、急ハンドルおよび急アクセルのいずれも検知されない場合(S1108でNo)、ゲートウェイ60は、受信したフレームがエラーフレームであるか否かを確認する(S1111)。信用スコア算出部63は、受信したフレームがエラーフレームであるか否かを判定する。
【0131】
エラーフレームでない場合(S1111でNo)、ゲートウェイ60は、何もせずに処理を終了する。
【0132】
エラーフレームである場合(S1111でYes)、ゲートウェイ60は、前回の検知時刻からの経過時間を更新する(S1112)。信用スコア算出部63は、エラーフレームを前回受信した時刻を信用スコア保持部68から取得し、取得した時刻とステップS1111でYesと判定したフレームを受信した時刻とに基づいて経過時間を更新する。信用スコア算出部63は、例えば、経過時間を当該2つの時刻の時間差とする。経過時間は、発生間隔の一例である。
【0133】
ゲートウェイ60は、経過時間が、所定値未満(例えば5分未満)であるかを確認する(S1113)。信用スコア算出部63は、更新した経過時間が所定値未満であるか否かを判定する。ステップS1113の判定で用いる所定値は、信用スコア保持部68に予め格納されている。
【0134】
所定の第1時間内における経過時間が所定値未満である場合(S1113でYes)、ゲートウェイ60は、信用スコアを1デクリメントし(S1104)、終了する。
【0135】
所定の第1時間内における経過時間が所定値以上である場合(S1113でNo)、ゲートウェイ60は、何もせずに終了する。つまり、信用スコア算出部63は、経過時間が所定値未満である場合、信用スコアを更新し、経過時間が所定値以上である場合、信用スコアの更新を行わない。
【0136】
このように、信用スコア算出部63は、不審挙動が、所定の第1時間内におけるエラーフレームの経過時間が所定値未満である場合に、信用スコアを減少させる。
【0137】
また、信用スコア算出部63は、所定の第1時間内における、エラーフレームの経過時間が所定値以上である場合に、当該不審挙動をパッシブモニタリング活動として検知し、パッシブモニタリング活動が検知された場合に、信用スコアを減少するとも言える。なお、パッシブモニタリング活動として検知される不審挙動は、エラーフレームが検知されたことであってもよい。また、パッシブモニタリング活動として検知される不審挙動は、サードパーティ装置(監視装置の一例)の接続、ネットワークの瞬断(例えば、メッセージの瞬断)、バッテリー電圧の低下またはバッテリーの取り外しのいずれかが検知されたことであってもよいし、当該いずれかの経過時間が所定値未満であることであってもよい。また、パッシブモニタリング活動として検知される不審挙動は、停車時間割合(例えば、所定の第1時間に対する停車している時間の割合)が所定割合以上であることであってもよい。
【0138】
なお、信用スコア算出部63は、
図7に示すステップS1101、S1105、S1108およびS1111のうち、少なくとも1つの判定を行えばよい。信用スコア算出部63は、例えば、パッシブモニタリング活動、アクティブモニタリング活動、インジェクション活動およびリファインメント活動の少なくとも1つを不審挙動として検知可能であればよい。
【0139】
[1.8 ゲートウェイ60の監視レベル変更のフローチャート]
図8は、本実施の形態におけるゲートウェイ60の監視レベル変更のフローチャートである。具体的には、
図8は、
図6のステップS13の監視レベルを変更する処理の詳細を示すフローチャートである。なお、
図8に示す動作は、例えば、監視制御部64により実行される。
【0140】
図8に示すように、ゲートウェイ60は、ステップS12において、信用スコアが所定値以下である場合(S12でYes)、信用スコアが30以下であるか否かを判定する(S1301)。監視制御部64は、例えば、ステップS11において算出された信用スコアが所定値以下であるか否かを判定する。ステップS1301の判定で用いる所定値は、信用スコア保持部68に予め格納されている。また、信用スコア30は、第1の閾値の一例である。
【0141】
信用スコアが30以下の場合(S1301でYes)、ゲートウェイ60は、縮退モードへ移行する(S1302)。縮退モードとは、運転支援機能の一部またはすべてを無効化するモードである。縮退モードに移行する処理を行うために、ゲートウェイ60は、他のECUへ通知を行ったり、機能を無効化したことを運転者に通知する(注意喚起する)表示を行ったり、ゲートウェイ60で、一部のフレームの転送を止めたりする。その後、ゲートウェイ60は、処理を終了する。なお、縮退モードへ移行することは、車両200の機能を制限することの一例である。また、ゲートウェイ60は、近隣車両またはサーバへ現在の信用スコアを通知してもよい。
【0142】
また、車載ネットワークシステムに侵入検知システムが含まれる場合、縮退モードへ移行することは、侵入検知システムを有効化することであってもよい。侵入検知システムを有効化することは、車載ネットワークの監視を強化することの一例である。
【0143】
ゲートウェイ60は、信用スコアが30以下の場合、車両200の機能の制限、車両200の運転者への注意喚起、近隣車両またはサーバへの信用スコアの通知、車載ネットワークの監視強化のいずれか1つ以上を実行すればよい。
【0144】
信用スコアが30より大きい場合(S1301でNo)、ゲートウェイ60は、信用スコアが50以下であるか否かを判定する(S1303)。監視制御部64は、ステップS1303において、信用スコアが30より大きくかつ50以下であるか否かを判定するとも言える。また、信用スコア50は、第2の閾値の一例である。
【0145】
信用スコアが50以下である場合(S1303でYes)、ゲートウェイ60は、運転者に注意喚起を行うためのフレームを、例えばインストルメントクラスタ等のディスプレイの制御を行うECUへ送信することで、運転者への注意喚起を行うとともに、サーバへ信用スコアまたは車両ログを通知し(S1304)、処理を終了する。なお、ステップS1304では、運転者への注意喚起およびサーバへの通知のいずれかが行われればよい。また、ゲートウェイ60は、ステップS1304において、近隣車両へ信用スコアを通知してもよい。
【0146】
信用スコアが50より大きい場合(S1303でNo)、ゲートウェイ60は、信用スコアが80以下であるか否かを確認する(S1305)。監視制御部64は、ステップS1305において、信用スコアが50より大きくかつ80以下であるか否かを判定するとも言える。また、信用スコア80は、第3の閾値の一例である。
【0147】
信用スコアが80以下である場合(S1305でYes)、ゲートウェイ60は、サーバへ信用スコアを通知する(S1306)。
【0148】
信用スコアが80より大きい場合(S1305でNo)、ゲートウェイ60は、何もせずに処理を終了する。なお、ステップS1305でNoである場合も、サーバへの通知が行われてもよい。
【0149】
このように、監視制御部64は、信用スコアが所定の値以下となった場合に、信用スコアの値に基づいて、車両200の機能の制限、車両200の運転者への注意喚起、近隣車両またはサーバへの信用スコアの通知、車載ネットワークの監視強化のいずれか1つ以上を実行する。監視制御部64は、例えば、信用スコアが低くなると、監視レベルを強くするように、上記のいずれか1つ以上を実行する。監視制御部64は、信用スコアが第1の閾値以下である場合、第1の監視レベルに対応する動作を実行し、信用スコアが第1の閾値より大きくかつ当該第1の閾値より大きい第2の閾値以下である場合、第1の監視レベルより監視レベルが低い第2の監視レベルに対応する動作を実行し、信用スコアが第2の閾値より大きくかつ当該第2の閾値より大きい第3の閾値以下である場合、第2の監視レベルより監視レベルが低い第3の監視レベルに対応する動作を実行する。第1の閾値は、例えば、信用スコアの最小値(例えば、0)より大きな値であり、第3の閾値は、例えば、信用スコアの初期値(例えば、100)より低い値である。なお、第1の閾値~第3の閾値、および、第1の監視レベル~第3の監視レベルに対応する動作は、信用スコア保持部68に予め格納されている。
【0150】
[1.9 ゲートウェイ動作シーケンス(信用スコアが50以下となった場合)]
図9は、本実施の形態におけるゲートウェイ60の動作シーケンスを示す図である。具体的には、
図9は、ゲートウェイ60における信用スコアが51であった時に、不審な運転挙動によって信用スコアが50以下となった場合の動作シーケンスを示す図である。ECU20は、緊急ブレーキを指示するフレームを送信するECUであり、ECU30はディスプレイの制御を行うECUであるとする。
【0151】
図9に示すように、ECU20は、緊急ブレーキONを要求するフレームを送信し(S100)、ゲートウェイ60は、送信された緊急ブレーキONを要求するフレームを受信する。なお、ブレーキを制御するECUも送信された緊急ブレーキONを要求するフレームを受信し、緊急ブレーキを発動させるが、図示を省略する。
【0152】
次に、ECU20は、緊急ブレーキONのフレームの送信完了後に、緊急ブレーキOFFを要求するフレームを送信し(S101)、ゲートウェイ60は、送信された緊急ブレーキOFFを要求するフレームを受信する。
【0153】
その後、ECU20は、再度、緊急ブレーキONを要求するフレームを送信し(S102)、ゲートウェイ60は送信された緊急ブレーキONを要求するフレームを受信する。
【0154】
ゲートウェイ60は、ステップS100における緊急ブレーキONを要求するフレームの受信から、ステップS102における緊急ブレーキONを要求するフレームの受信までの時間(検知間隔の一例)が所定値(例えば5分)より短い場合、信用スコアを1減少させる(S103)。ステップS103の処理は、
図7に示すステップS1107でYesと判定された後に実行されるステップS1104の処理に相当する。
【0155】
ゲートウェイ60は、信用スコアを1減少させた結果、現在の信用スコアが50になったため、運転者に注意喚起表示を行うためのフレームを送信する(S104)。ステップS104の処理は、
図8に示すステップS1304の処理に相当する。
【0156】
ECU30は、運転者へ注意喚起表示を行うためのフレームを受信し、ディスプレイに注意喚起を表示する(S105)。ディスプレイへの表示内容は、例えば、
図11Aのような表示である。
図11Aは、本実施の形態における運転者へ通知する表示内容の一例を示す図である。
図11Aに示すように、ステップS105では、異常な挙動を検知したことを示す情報、および、それに対する対応方法(例えば、センターへ通知)が表示される。
【0157】
ゲートウェイ60は、サーバに対して信用スコアを含む車両ログを通知する(S106)。
【0158】
[1.10 ゲートウェイ動作シーケンス(信用スコアが30以下となった場合)]
図10は、本実施の形態におけるゲートウェイ60の動作シーケンスを示す図である。具体的には、
図10は、ゲートウェイ60における信用スコアが31であった時に、不審な運転挙動によって信用スコアが30以下となった場合の動作シーケンスである。ECU20と、ECU30は、
図9で説明した役割と同様であるとする。
【0159】
図10に示すように、ECU20は、緊急ブレーキONを要求するフレームを送信し(S110)、ゲートウェイ60は、送信された緊急ブレーキONを要求するフレームを受信する。
【0160】
次に、ECU20は、緊急ブレーキONのフレームの送信完了後に、緊急ブレーキOFFを要求するフレームを送信し(S111)、ゲートウェイ60は、送信された緊急ブレーキOFFを要求するフレームを受信する。
【0161】
その後、ECU20は、再度、緊急ブレーキONを要求するフレームを送信し(S112)、ゲートウェイ60は、送信された緊急ブレーキONを要求するフレームを受信する。
【0162】
ゲートウェイ60は、ステップS110における緊急ブレーキONを要求するフレームの受信から、ステップS112における緊急ブレーキONを要求するフレームの受信までの時間(検知間隔の一例)が所定値(例えば5分)より短い場合、信用スコアを1減少させる(S113)。ステップS113の処理は、
図7に示すステップS1107でYesと判定された後に実行されるステップS1104の処理に相当する。
【0163】
ゲートウェイ60は、信用スコアを1減少させた結果、現在の信用スコアが30以下となったため、縮退モードへ移行するためのフレーム(縮退モード要求フレーム)を送信する(S114)。ゲートウェイ60は、縮退モードに緊急ブレーキを無効にすることが含まれる場合、EUC20に対して縮退モードへ移行するためのフレームを送信する。ステップS144の処理は、
図8に示すステップS1302の処理に相当する。
【0164】
ECU20は、送信された縮退モード要求フレームを受信し、以降の緊急ブレーキONを要求するフレームの送信を無効にする(S115)。
【0165】
ECU30は、送信された縮退モード要求フレームを受信し、ディスプレイに機能制限していることを通知するための表示を行う(S116)。ディスプレイの表示内容は、例えば
図11Bのような表示である。
図11Bは、本実施の形態における運転者へ通知する表示内容の別の一例を示す図である。
図11Bに示すように、ステップS116では、異常な挙動が継続したことを示す情報、一部の機能を制限したことを示す情報、および、問い合わせ先が表示される。
【0166】
[1.11 実施の形態1の効果]
実施の形態1に係るゲートウェイ60(車両監視装置の一例)では、攻撃者による車載ネットワークシステムのリバースエンジニアリング活動が疑われる活動に対して、信用スコアを算出する。ゲートウェイ60は、さらに信用スコアに基づいて、対応を決定する。ゲートウェイ60は、サーバへ通知を行うことによって、サーバ側において疑わしい車両が把握され、当該車両を重点的な監視対象と特定することが可能となる。また、ゲートウェイ60は、より疑わしい車両に対しては車両の機能を一部制限することでリバースエンジニアリング活動を妨害することが可能となる。これにより、ゲートウェイ60は、車載ネットワークシステムの安全性を高めることができる。
【0167】
(実施の形態2)
以下、複数の電子制御ユニット(ECU)が通信する車載ネットワーク(車載ネットワークシステム)を搭載した車両200における、車両監視方法について説明する。なお、本実施の形態は、実施の形態1と同様の車載ネットワークシステム構成のため、車載ネットワークシステムの全体構成を示す図を省略し、実施の形態1と異なるゲートウェイの処理フローチャートのみを説明する。
【0168】
なお、本実施の形態では、不審挙動を検知が検知された場合、信用スコアを増加する例について説明する。この場合、信用スコアの初期値は、例えば、0である。また、以下において、不審挙動が検知された場合にスコアが増加する信用スコアを、実施の形態1と区別して不審スコアと記載する。
【0169】
[2.1 ゲートウェイの処理を示すフローチャート]
図12は、本実施の形態におけるゲートウェイ60の処理を示すフローチャートである。なお、
図12に示すステップS20、24、25および26のそれぞれは、
図6に示すステップS10、14、15および16のそれぞれに対応し、以下では説明を省略または簡略化する。
【0170】
図12に示すように、ゲートウェイ60は、フレームを受信しているか否かを判定する(S20)。
【0171】
フレームを受信している場合(S20でYes)、ゲートウェイ60は、各種不審スコアを算出する(S21)。フレームを受信していない場合(S20でNo)、ゲートウェイ60は、フレームを受信するまで待機する。
【0172】
ゲートウェイ60は、不審スコア算出後に、算出した不審スコアのうち、いずれかの不審スコアが所定値以上であるか否かを判定する(S22)。
【0173】
いずれかの不審スコアが所定値以上である場合(S22でYes)、ゲートウェイ60は、監視レベルを変更する(S23)。
【0174】
全ての不審スコアが所定値未満である場合(S22でNo)、ゲートウェイ60は、転送処理を行って(S24)、ステップS25に進む。
【0175】
[2.2 ゲートウェイにおける不審スコア算出のフローチャート]
図13は、本実施の形態におけるゲートウェイ60の不審スコア算出のフローチャートである。具体的には、
図13は、
図12のステップS21の不審スコア算出処理の詳細を示すフローチャートである。
【0176】
図13に示すように、ゲートウェイ60は、フレームを受信した時点で、診断ポート50へのサードパーティ装置(監視装置の一例)の接続検知、エラーフレームの検知、ネットワークの瞬断検知、および、バッテリー外しの検知のいずれかが発生しているか否かを判定する(S2101)。また、ゲートウェイ60は、ステップS2101において、停車時間割合が所定割合以上であるか否かの判定を行ってもよい。
【0177】
ステップS2101でいずれかが検知された場合(S2101でYes)、ゲートウェイ60は、当該不審挙動をパッシングモニタリング活動として検知し、パッシブモニタリングスコアを1増加させ(S2102)、処理を終了する。パッシングモニタリング活動は、例えば、車載ネットワークシステムにおける車両データを取得するための行動である。パッシブモニタリングスコアは、車載ネットワークシステムに対するリバースエンジニアリング活動のうち、パッシブモニタリング活動に対する不審スコアを示す。つまり、パッシブモニタリングスコアは、パッシブモニタリング活動が行われている可能性を示しており、パッシブモニタリングスコアが高いことは、車両200に対してパッシブモニタリング活動が行われている可能性が高いことを示す。信用スコア算出部63は、ステップS2102において、フレーム送受信部61で受信したフレームと車両データとに基づいて、当該フレームを受信する前のパッシブモニタリングスコアを更新するとも言える。
【0178】
ステップS2101でいずれも検知されなかった場合(S2101でNo)、ゲートウェイ60は、さらに緊急ブレーキ等の運転支援機能のON、または、急ブレーキ等の異常動作が繰り返し検知されたか否かを判定する(S2103)。ゲートウェイ60は、例えば、ステップS2103において、所定の第1時間内における、運転支援機能の発動回数、または、異常な運転挙動の検知回数のいずれかが所定数以上であるか否かを判定する。また、ゲートウェイ60は、運転支援機能の発動回数、車内のボタンの操作回数、または、異常な運転挙動の検知回数のいずれかが所定数以上であるか否かを判定してもよい。
【0179】
ステップS2103でいずれかが検知された場合(S2103でYes)、ゲートウェイ60は、当該不審挙動をアクティブモニタリング活動として検知し、アクティブモニタリングスコアを1増加させ(S2104)、処理を終了する。アクティブモニタリング活動は、例えば、車両200の特定機能動作中または特定状況における車載ネットワークの車両データを取得しようとするための動作である。アクティブモニタリングスコアは、車載ネットワークシステムに対するリバースエンジニアリング活動のうち、アクティブモニタリング活動に対する不審スコアを示す。つまり、アクティブモニタリングスコアは、アクティブモニタリング活動が行われている可能性を示しており、アクティブモニタリングスコアが高いことは、車両200に対してアクティブモニタリング活動が行われている可能性が高いことを示す。信用スコア算出部63は、ステップS2104において、フレーム送受信部61で受信したフレームと車両データとに基づいて、当該フレームを受信する前のアクティブモニタリングスコアを更新するとも言える。
【0180】
ステップS2103でいずれも検知されなかった場合(S2103でNo)、ゲートウェイ60は、さらにフレームの受信回数、または、診断コマンドの受信回数が所定の閾値より大きいか否かを判定する(S2105)。受信回数は、受信量の一例である。
【0181】
ステップS2105でいずれかの受信回数が所定の閾値より大きい場合(S2105でYes)、ゲートウェイ60は、当該不審挙動をインジェクション活動として検知し、インジェクションスコアを1増加させ(S2106)、処理を終了する。インジェクション活動は、例えば、車載ネットワークシステムへのフレームの注入を試行するための行動である。つまり、インジェクション活動は、攻撃者による不正なフレームの注入の試行が行われている段階であることを示す。
【0182】
また、インジェクションスコアは、車載ネットワークシステムに対するリバースエンジニアリング活動のうち、インジェクション活動に対する不審スコアを示す。つまり、インジェクションスコアは、インジェクション活動が行われている可能性を示しており、インジェクションスコアが高いことは、車両200に対してインジェクション活動が行われている可能性が高いことを示す。信用スコア算出部63は、ステップS2106において、フレーム送受信部61で受信したフレームと車両データとに基づいて、当該フレームを受信する前のインジェクションスコアを更新するとも言える。
【0183】
ステップS2105でどちらの受信回数も閾値以下である場合(S2105でNo)、ゲートウェイ60は、さらにアップデートコマンドあるいは同一IDフレームの受信回数が、所定の閾値を超えるか否かを判定する(S2107)。なお、同一IDフレームは、同一属性のフレームであることの一例である。ステップS2107では、同一属性のフレームの受信回数に基づいて判定が行われてもよい。また、受信回数は、受信量の一例である。
【0184】
ステップS2107でアップデートコマンドあるいは同一IDフレームの受信回数が所定の閾値を超える場合(S2107でYes)、ゲートウェイ60は、当該不審挙動をリファインメント活動として検知し、リファインメントスコアを1増加させ(S2108)、処理を終了する。リファインメント活動は、例えば、車載ネットワークシステムに注入されるフレームの精度を向上させるためのフレームの注入を試行するための行動である。つまり、リファインメント活動は、インジェクション活動に比べて攻撃者の攻撃内容が洗練されている段階であることを示す。
【0185】
また、リファインメントスコアは、車載ネットワークシステムに対するリバースエンジニアリング活動のうち、リファインメント活動に対する不審スコアを示す。つまり、リファインメントスコアは、リファインメント活動が行われている可能性を示しており、リファインメントスコアが高いことは、車両200に対してリファインメント活動が行われている可能性が高いことを示す。信用スコア算出部63は、ステップS2108において、フレーム送受信部61で受信したフレームと車両データとに基づいて、当該フレームを受信する前のリファインメントスコアを更新するとも言える。
【0186】
ステップS2107でアップデートコマンドあるいは同一IDフレームの受信回数が所定の閾値以下である場合(S2107でNo)、信用スコア算出部63は、何もせずに終了する。
【0187】
ここで、サードパーティ装置の接続検知は、診断ポート50から特定の診断コマンドが流れることから検知されうる。エラーフレームの検知は、ゲートウェイ60のエラーカウンタまたはエラー割込み処理によって検知されうる。ネットワークの瞬断検知は、フレームの受信時刻を常に保持しておき、フレーム受信時に、前回フレームを受信した時刻と現在の時刻との差分が所定の閾値を超えた場合に検知されうる。バッテリー外しの検知は、ゲートウェイ60への電源供給が遮断され、再度電源が供給されたときに、前回電源供給が遮断されたことを検知することで検知されうる。
【0188】
上記のように、本実施の形態では、ゲートウェイ60(具体的には、信用スコア算出部63)は、リバースエンジニアリングの各段階を示すパッシブモニタリング活動、アクティブモニタリング活動、インジェクション活動およびリファインメント活動のそれぞれにおいて、不審スコアを算出する。パッシブモニタリング活動、アクティブモニタリング活動、インジェクション活動およびリファインメント活動は、リバースエンジニアリングの各段階を示す複数の種類の一例である。つまり、不審挙動は、複数の種類を有する。そして、信用スコア算出部63は、不審挙動の複数の種類のそれぞれに対する不審スコアを算出する。
【0189】
なお、複数の種類は、2つ以上の種類を含んでいればよい。不審挙動の複数の種類は、例えば、パッシブモニタリング活動、アクティブモニタリング活動、インジェクション活動およびリファインメント活動の少なくとも2つを含んでいればよい。言い換えると、信用スコア算出部63は、
図13に示すステップS2101、S2103、S2105およびS2107のうち、少なくとも2つの判定を行えばよい。信用スコア算出部63は、例えば、パッシブモニタリング活動、アクティブモニタリング活動、インジェクション活動およびリファインメント活動の少なくとも2つを不審挙動として検知可能であればよい。
【0190】
なお、リファインメント活動、インジェクション活動、アクティブモニタリング活動およびパッシブモニタリング活動の順に、リバースエンジニアリング活動が進んでいる、つまりこの順に車載ネットワークの解析が進んでいることを示す。
【0191】
[2.3 ゲートウェイにおける監視レベル変更のフローチャート]
図14は、本実施の形態におけるゲートウェイ60の監視レベル変更のフローチャートである。具体的には、
図14は、
図12のステップS23の監視レベル変更処理の詳細を示すフローチャートである。なお、
図14に示す動作は、例えば、監視制御部64により実行される。
【0192】
図14に示すように、ゲートウェイ60は、リファインメントスコアが3より大きいか否かを判定する(S2301)。3は、リファインメント活動が行われている可能性があるか否かを判定するための第4の閾値であり、例えば、信用スコア保持部68に予め格納されている。なお、第4の閾値は、3であることに限定されない。
【0193】
リファインメントスコアが3より大きい場合(S2301でYes)、ゲートウェイ60は、縮退モードへ移行する要求フレームを各ECUに送信し、かつ、各不審スコアを含む車両データをサーバへ通知して(S2302)、処理を終了する。
【0194】
リファインメントスコアが3以下である場合(S2301でNo)、ゲートウェイ60は、さらにインジェクションスコアが3より大きいか否かを判定する(S2303)。3は、インジェクション活動が行われている可能性があるか否かを判定するための第5の閾値であり、例えば、信用スコア保持部68に予め格納されている。なお、第5の閾値は、3であることに限定されない。
【0195】
インジェクションスコアが3より大きい場合(S2303でYes)、ゲートウェイ60は、車両200の一部機能を制限し、かつ、各不審スコアを含む車両データをサーバへ通知して(S2304)、処理を終了する。
【0196】
インジェクションスコアが3以下である場合(S2303でNo)、ゲートウェイ60は、さらにアクティブモニタリングスコアが3より大きいか否かを判定する(S2305)。3は、アクティブモニタリング活動が行われている可能性があるか否かを判定するための第6の閾値であり、例えば、信用スコア保持部68に予め格納されている。なお、第6の閾値は、3であることに限定されない。
【0197】
アクティブモニタリングスコアが3より大きい場合(S2305でYes)、ゲートウェイ60は、運転者への注意喚起を行うフレームを送信し、かつ、各不審スコアを含む車両データをサーバへ通知して(S2306)、処理を終了する。
【0198】
アクティブモニタリングスコアが3以下である場合(S2305でNo)、ゲートウェイ60は、さらにパッシブモニタリングスコアが3より大きいか否かを判定する(S2307)。3は、パッシブモニタリング活動が行われている可能性があるか否かを判定するための第7の閾値であり、例えば、信用スコア保持部68に予め格納されている。なお、第7の閾値は、3であることに限定されない。
【0199】
パッシブモニタリングスコアが3より大きい場合(S2307でYes)、ゲートウェイ60は、各不審スコアを含む車両データをサーバへ通知して(S2308)、処理を終了する。
【0200】
パッシブモニタリングスコアが3以下である場合(S2307でNo)、ゲートウェイ60は、何もせずに終了する。
【0201】
このように、監視制御部64は、不審挙動の複数の種類と、不審挙動の複数の種類のそれぞれに対応する不審スコア(信用スコアの一例)の値とに基づいて、車両200の機能の一部の制限、車両200の運転者への注意喚起、近隣車両またはサーバへの信用スコアの通知のいずれか1つ以上を実行する。また、監視制御部64は、車載ネットワークの監視強化を実行してもよい。監視制御部64は、例えば、リバースエンジニアリング活動の段階が進むと、監視レベルを強くするように、車両200の機能の一部の制限、車両200の運転者への注意喚起、近隣車両またはサーバへの信用スコアの通知および車載ネットワークの監視強化のいずれか1つ以上を実行する。
【0202】
監視制御部64は、リファインメントスコアが第4の閾値より大きい場合、第4の監視レベルに対応する動作を実行する。また、監視制御部64は、インジェクションスコアが第5の閾値より大きく、かつ、リファインメントスコアが第4の閾値以下である場合、第4の監視レベルより監視レベルが低い第5の監視レベルに対応する動作を実行する。また、監視制御部64は、アクティブモニタリングスコアが第6の閾値より大きく、かつ、リファインメントスコアが第4の閾値以下、および、インジェクションスコアが第5の閾値以下である場合、第5の監視レベルより監視レベルが低い第6の監視レベルに対応する動作を実行する。また、監視制御部64は、パッシブモニタリングスコアが第7の閾値より大きく、かつ、リファインメントスコアが第4の閾値以下、インジェクションスコアが第5の閾値以下、および、アクティブモニタリングスコアが第6の閾値以下である場合、第6の監視レベルより監視レベルが低い第7の監視レベルに対応する動作を実行する。
【0203】
なお、第4の閾値は、例えば、リファインメントスコアの最小値(例えば、0であり、初期値)より大きく、かつ、リファインメントスコアの最大値(例えば、100)以下の値である。第5の閾値は、例えば、インジェクションスコアの最小値(例えば、0であり、初期値)より大きく、かつ、インジェクションスコアの最大値(例えば、100)以下の値である。第6の閾値は、例えば、アクティブモニタリングスコアの最小値(例えば、0であり、初期値)より大きく、かつ、アクティブモニタリングスコアの最大値(例えば、100)以下の値である。第7の閾値は、例えば、パッシブモニタリングスコアの最小値(例えば、0であり、初期値)より大きく、かつ、パッシブモニタリングスコアの最大値(例えば、100)以下の値である。
【0204】
なお、第4の監視レベル~第7の監視レベルに対応する動作は、信用スコア保持部68に予め格納されている。
【0205】
[2.4 実施の形態2の効果]
実施の形態2に係るゲートウェイ60(車両監視装置の一例)では、攻撃者による車載ネットワークシステムのリバースエンジニアリング活動が疑われる活動に対して、活動のフェーズに応じて不審スコアを算出する。ゲートウェイ60は、さらに各種不審スコアの値に基づいて対応方法を決定することで、より攻撃フェーズの進んだことが疑われる車両200に対して、より重点的な監視を行うことが可能となり、これにより車載ネットワークシステムの安全性をさらに高めることができる。
【0206】
[その他変形例]
なお、本開示を上記各実施の形態に基づいて説明してきたが、本開示は、上記各実施の形態に限定されないのはもちろんである。以下のような場合も本開示に含まれる。
【0207】
(1)上記の実施の形態では、バスはCANであったが、通信プロトコルはCANに限らない、例えばCAN-FD(CAN with Flexible Data Rate)、FlexRay、Ethernetであってもよい。
【0208】
(2)上記の実施の形態では、サーバ通信部がゲートウェイの構成要素として存在したが、サーバ通信部は、ゲートウェイの必須の構成要素でなくてもよい。例えば、サーバと通信を行う装置が他に存在してもよく、ゲートウェイは当該装置を介して通知を行ってもよい。
【0209】
(3)上記の実施の形態では、信用スコア算出部は、ゲートウェイの構成要素であるが、必ずしもゲートウェイの構成要素となる必要はない。例えば、別のECUの構成要素としてもよいし、仮想マシン上のアプリケーションとして信用スコア算出部が機能してもよい。
【0210】
(4)上記の実施の形態では、信用スコアが0~100の値をとりうるとしたが、信用スコアのとりうる値はこれに限らない、例えば0~10の10段階としてもよいし、リバースエンジニアリングの疑わしさのレベルが段階的に示されるものであれば、何でもよい。
【0211】
(5)上記の実施の形態では、信用スコアの初期値が100として、疑わしい挙動を観測した場合に、信用スコアが減少していく例を示したが、信用スコアである必要はなく、不審スコアとして、疑わしい挙動の観測時にスコアが上昇してもよい。信用スコアは、リバースエンジニアリングの疑わしさのレベルが段階的に示されるものであれば、何でもよい。
【0212】
(6)上記の実施の形態では、信用スコアが減少する条件を示したが、信用スコアが上昇する条件も存在してよい。例えば、1日(所定の第2時間の一例)経過ごとに信用スコアが上昇してもよいし、イグニッションのON時に、信用スコアが上昇してもよい。また、例えば、1日(所定の第3時間の一例)経過ごとに信用スコアがリセットされてもよい。また、診断コマンドによって、信用スコアがリセットされてもよいし、サーバからの通知に基づいて信用スコアがリセットされてもよい。これにより、正規の運転者が、疑わしいとされる挙動を偶然に繰り返した結果、信用スコアが低下してしまった場合でも、正常な信用スコアに回復することが可能となる。
【0213】
(7)上記の実施の形態では、信用スコアが減少する条件に合致した場合に、信用スコアが1減少したが、信用スコアの減少量は1に限らない。例えば、観測された不審な挙動に応じて減少量を変化させてもよいし、不審な挙動が繰り返し観測されることによって減少量を大きくしていってもよい。これにより、通常の利用において観測される可能性が低い不審な挙動に対しては、信用スコアをより大きく減少させることができ、不審な車両を特定しやすくなり効果的である。
【0214】
(8)上記の実施の形態では、信用スコアを減少させる条件は同様に扱ったが、フェーズを分類し、フェーズごとに信用スコアを算出してもよい。例えば、攻撃者が単に車載ネットワークのログを取得しようとするパッシブモニタリングと、攻撃者が車両の特定機能動作中や特定状況における車載ネットワークのログを取得しようとするアクティブモニタリングと、攻撃者が車載ネットワークログに対してフレーム注入を試行するインジェクションと、攻撃者がより洗練された攻撃を試行するリファインメントと、に段階分けをしてもよい。これにより、攻撃者のリバースエンジニアリングのフェーズを把握することが可能となり、フェーズの進んだ攻撃者に対して重点的な監視ができ効率的である。パッシブモニタリングは、例えば、診断ポートへサードパーティデバイスの接続の検知、モニタリング装置(監視装置の一例)接続するためのネットワークの瞬断、バッテリーの取り外し、エラーフレームの検知回数または検知間隔などに基づいて判定されうる。アクティブモニタリングは、例えば、運転支援機能の利用間隔や利用量、車内に配置されるボタンの単位時間当たりの押下回数、極端なアクセル、ブレーキ、ハンドル操作が観測される頻度などに基づいて判定されうる。インジェクションは、フレームの受信量または受信間隔、診断コマンドの受信量または受信間隔などによって判定されうる。リファインメントは、同一のIDのフレームに対する受信量の増加または受信間隔の変化、アップデートコマンドの受信量または受信間隔などによって判定されうる。
【0215】
(9)上記の実施の形態では、信用スコア保持部に、信用スコア算出に用いる車両データの今回値と前回値とが保持されているが、前回値でなく、過去に信用スコアを減少させた実績を保存してもよい。例えば、過去1週間において、スコアが減点された量を保持していてもよい。そして、信用スコア算出部は、過去にスコアが減点された実績が信用スコア保持部に格納されている場合、過去にスコアが減点された実績のある不審な挙動を観測したときの信用スコアの減少量を、過去にスコアが減点された実績がないまたは減点された量が小さい不審な挙動を観測したときの信用スコアの減少量、または、予め設定されている減少量より大きくしてもよい。これにより、不審な挙動が繰り返し観測されている時に、よりリバースエンジニアリングが実施されている可能性が高いと判断することができ効果的である。
【0216】
(10)上記の実施の形態では、信用スコアをサーバへ通知していたが、通知先はサーバだけに限らず、近隣車両または路側機に対してV2X通信により信用スコアを通知してもよい。これにより、インターネット接続が遮断され信用スコアをサーバへ通知できない車両についても不審な車両を発見することが可能となり、セキュリティの向上に効果的である。
【0217】
(11)上記の実施の形態では、信用スコアを、車載ネットワークフレームのログに基づいて算出していたが、近隣車両の信用スコアを自車両の信用スコアの算出に用いてもよい。信用スコア算出部は、例えば、信用スコアが所定値以下の複数の車両が所定領域内に所定期間存在する場合に、攻撃者が自車両も解析ターゲット用の車両としている可能性が高いとして、信用スコアを補正(例えば、減少)してもよい。信用スコア算出部は、例えば、不審挙動の複数の種類のそれぞれに対する信用スコアのいずれかが所定値以下の複数の車両(他車両とも記載する)が所定領域内に所定期間存在する場合、信用スコアが所定値以下である不審挙動の種類に応じて、自車両の信用スコアを補正(例えば、減少)してもよい。信用スコア算出部は、例えば、他車両において所定値以下である不審挙動の種類と同じ不審挙動の種類の自車両における信用スコアを減少させてもよい。
【0218】
(12)上記の実施の形態2では、不審スコアの算出時に、パッシブモニタリングスコア、アクティブモニタリングスコア、インジェクションスコア、リファインメントスコアの順で、スコア算出を行っていたが、処理の順番を限定するものではない。同様に監視レベル変更時における各不審スコアの判定処理の順番を限定するものではない。例えば、処理の順番を逆にしてもよいし、すべての判定処理を実行してから、スコア算出、監視レベルの変更などを行ってもよい。
【0219】
(13)上記の実施の形態1、2では、信用スコア(不審スコア)が所定の閾値を下回った(上回った)場合に、サーバ通知を行っているが、サーバ通知を行うタイミングはこれに限らない。例えば定期的にサーバへ車両ログを通知していてもよく、信用スコア(不審スコア)の値に応じて、サーバへの通知頻度または通知量を変更するという対応であってもよい。これにより、疑わしい車両からより詳細な車両ログを通知することで、重点的な監視を実現でき効果的である。また、車両ログは、車両の信用スコア(不審スコア)だけでなく、車載ネットワークシステムに流れるフレームから取得される情報を含んでもよい。例えば、車両の速度またはステアリング角度といった車両のセンサ情報であってもよいし、信用スコアを変化させた根拠となる、信用スコア保持部に格納されている車両データを含んでもよい。
【0220】
(14)上記の実施の形態では、フレーム受信時に、スコア算出を行っていたが、フレーム受信時に行わなくてもよい。例えば、内蔵タイマによって定期的にスコア算出を行ってもよい。
【0221】
(15)上記の実施の形態では、監視レベル変更時にスコアの閾値を設定しているが、閾値は本実施の形態で示した値に限らない。疑わしい車両の検知・対応の感度を高めるために閾値を高く(または低く)設定してもよいし、感度を下げるように設定してもよい。また、リバースエンジニアリングにおける状況(例えば、信用スコアの変化スピード、リバースエンジニアリングの段階など)に応じて閾値が動的に変更されてもよい。
【0222】
(16)上記の実施の形態2では、同一IDフレームの受信量に基づいてリファインメントスコアを上昇させていたが、Ethernetにおいては、同一ポート番号、同一IPアドレス、MACアドレスのフレームの受信量としてもよい。あるいは、これらのヘッダ情報の組み合わせで定義される同一フローの受信量としてもよい。また、受信量は受信パケット数および受信データサイズのいずれでもよい。
【0223】
(17)上記の実施の形態1および2では、信用スコア(不審スコア)の算出条件、または、スコアに応じた処理内容を別途ルールとして保持していてもよい。
【0224】
(18)上記の実施の形態1および2では、信用スコア(不審スコア)は不揮発メモリに保存され、イグニッションOFFとなった後でも保持されるとしたが、不揮発メモリに保持されず、イグニッションごとにリセットされてもよい。これにより、不揮発メモリが不要となり、低コストで車両監視装置を実現することができる。
【0225】
(19)上記の実施の形態では、信用スコア(不審スコア)の値に応じて、サーバ通知、車両の機能制限、運転者への通知などの対応を行っていたが、対応方法はこれらに限らない。例えば、車載ネットワークに侵入検知システムが存在し、侵入検知システムを有効化するとしてもよい。これにより、通常時は侵入検知システムを動作させる必要なく、省電力となり効果的である。あるいは、車載ネットワークログ保存を開始するとしてもよい。これにより、疑わしい挙動発生時の車載ネットワークログを保持しておくことが可能となり、メモリ使用量削減に効果的である。あるいは、サーバへの車載ネットワークログの通知量、通知頻度を変更してもよい。これにより、疑わしい車両からより多くの情報を取得し、通常の車両(信用スコアが所定値以上であり、リバースエンジニアリングが行われていないと想定される車両)からは少ない情報の取得で済むため、通信量の削減に効果的である。あるいは、コールセンターへ通話するとしてもよい。これにより、攻撃者の活動を牽制し、リバースエンジニアリングを抑止することに効果的である。
【0226】
(20)上記の実施の形態では、特に信用スコアを算出する時にモードを設定しなかったが、信用スコアを算出するモードが存在してもよい。例えば、衝突実験を繰り返すテスト車両において、信用スコアが低く算出されるのを抑えるために、テストモードを設けてもよい。テストモードでは、異常な挙動に対して信用スコアが減少しにくく設定される。テストモードは、サーバとの認証によってアクティベートされ、テストモードの車両は、サーバで信用スコアが把握されるとしてもよい。
【0227】
(21)上記の実施の形態では、自動車に搭載される車載ネットワークにおけるセキュリティ対策として説明したが、上記実施の形態のゲートウェイの適用範囲はこれに限られない。ゲートウェイは、自動車に限らず、建機、農機、船舶、鉄道、飛行機などのモビリティに適用されてもよい。
【0228】
すなわち、上記実施の形態のゲートウェイは、モビリティネットワークおよびモビリティネットワークシステムにおけるサイバーセキュリティ対策として適用可能である。
【0229】
また、上記実施の形態のゲートウェイは、工場またはビルなどの産業制御システムで利用される通信ネットワーク、または、組込みデバイスを制御するための通信ネットワークなどに適用されてもよい。
【0230】
(22)上記の実施の形態における各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。RAMまたはハードディスクユニットには、コンピュータプログラムが記録されている。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【0231】
(23)上記の実施の形態における各装置を構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。RAMには、コンピュータプログラムが記録されている。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
【0232】
また、上記の各装置を構成する構成要素の各部は、個別に1チップ化されていても良いし、一部又はすべてを含むように1チップ化されてもよい。
【0233】
また、ここでは、システムLSIとしたが、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)、または、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
【0234】
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
【0235】
(24)上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。ICカードまたはモジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。ICカードまたはモジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、ICカードまたはモジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
【0236】
(25)本開示は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、コンピュータプログラムからなるデジタル信号であるとしてもよい。
【0237】
また、本開示は、コンピュータプログラムまたはデジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(登録商標) Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されているデジタル信号であるとしてもよい。
【0238】
また、本開示は、コンピュータプログラムまたはデジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
【0239】
また、本開示は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって、メモリは、上記コンピュータプログラムを記録しており、マイクロプロセッサは、コンピュータプログラムにしたがって動作するとしてもよい。
【0240】
また、プログラムまたはデジタル信号を記録媒体に記録して移送することにより、またはプログラムまたはデジタル信号を、ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【0241】
(26)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【産業上の利用可能性】
【0242】
本開示は、攻撃者によるリバースエンジニアリング活動が行われる可能性があるモビリティに有用である。
【符号の説明】
【0243】
1、2、3、4、5 バス
10、11、20、21、30、31、40、41 ECU
50 診断ポート
60 ゲートウェイ
61 フレーム送受信部
62 フレーム解釈部
63 信用スコア算出部
64 監視制御部
65 転送制御部
66 フレーム生成部
67 サーバ通信部
68 信用スコア保持部
69 転送ルール保持部
100 通信部
101 ホスト部
200 車両