IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカの特許一覧

特許7530367異常車両検出サーバおよび異常車両検出方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-30
(45)【発行日】2024-08-07
(54)【発明の名称】異常車両検出サーバおよび異常車両検出方法
(51)【国際特許分類】
   G06F 21/55 20130101AFI20240731BHJP
   B60R 16/02 20060101ALI20240731BHJP
【FI】
G06F21/55 320
B60R16/02 650J
【請求項の数】 29
(21)【出願番号】P 2021542969
(86)(22)【出願日】2020-08-26
(86)【国際出願番号】 JP2020032208
(87)【国際公開番号】W WO2021039851
(87)【国際公開日】2021-03-04
【審査請求日】2023-06-08
(31)【優先権主張番号】PCT/JP2019/034264
(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)【参考文献】
【文献】特開2018-190465(JP,A)
【文献】特開2019-129528(JP,A)
【文献】特開2017-111796(JP,A)
【文献】桑原 拓也 ほか7名,CANメッセージ頻度に注目した車載ネットワークの統計的異常検知,SCIS2016 暗号と情報セキュリティシンポジウム2016,電子情報通信学会,2016年,pp.1-7
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/55
B60R 16/02
(57)【特許請求の範囲】
【請求項1】
車両システムにおいて発生したイベント内容を含む車両ログに基づく車両情報であって複数の車両のそれぞれから受信した複数の車両情報に基づいて、所定の運転挙動とは異なる不審挙動を検出し、前記複数の車両のそれぞれについて、当該車両に対してリバースエンジニアリングが行われている可能性を示す異常スコアを取得する異常スコア取得部と、
前記複数の車両のうちの一の車両の前記異常スコアと前記複数の車両のうちの2以上の車両の前記異常スコアの統計値とに基づいて、前記一の車両が異常車両であるか否かを判定する異常車両判定部と、を備え、
前記2以上の車両は、前記一の車両と同一の車種の車両を含み、
前記異常車両判定部は、前記一の車両の前記異常スコアと、前記一の車両と同一の車種の前記異常スコアに基づく前記統計値とを比較し、比較結果に基づいて前記一の車両が前記異常車両であるか否かを判定する、
異常車両検出サーバ。
【請求項2】
車両システムにおいて発生したイベント内容を含む車両ログに基づく車両情報であって複数の車両のそれぞれから受信した複数の車両情報に基づいて、所定の運転挙動とは異なる不審挙動を検出し、前記複数の車両のそれぞれについて、当該車両に対してリバースエンジニアリングが行われている可能性を示す異常スコアを取得する異常スコア取得部と、
前記複数の車両のうちの一の車両の前記異常スコアと前記複数の車両のうちの2以上の車両の前記異常スコアの統計値とに基づいて、前記一の車両が異常車両であるか否かを判定する異常車両判定部と、を備え、
前記2以上の車両は、前記一の車両と同一のエリアに位置する車両を含み、
前記異常車両判定部は、前記一の車両の前記異常スコアと、前記一の車両と同一のエリアに位置する車両の前記異常スコアに基づく前記統計値とを比較し、比較結果に基づいて前記一の車両が前記異常車両であるか否かを判定する、
常車両検出サーバ。
【請求項3】
前記異常車両判定部は、さらに、前記異常車両と同一の車種である異常車種または、前記異常車両が検出されたエリアである異常エリアにおいて、所定の台数以下の前記異常車両が存在する場合、前記リバースエンジニアリングにおける攻撃の進行度が第一の攻撃段階であると判定し、前記所定の台数より多い前記異常車両が存在する場合、前記第一の攻撃段階より前記リバースエンジニアリングにおける攻撃の進行度が進行した第二の攻撃段階であると判定する、
請求項1または2に記載の異常車両検出サーバ。
【請求項4】
車両システムにおいて発生したイベント内容を含む車両ログに基づく車両情報であって複数の車両のそれぞれから受信した複数の車両情報に基づいて、所定の運転挙動とは異なる不審挙動を検出し、前記複数の車両のそれぞれについて、当該車両に対してリバースエンジニアリングが行われている可能性を示す異常スコアを取得する異常スコア取得部と、
前記複数の車両のうちの一の車両の前記異常スコアと前記複数の車両のうちの2以上の車両の前記異常スコアの統計値とに基づいて、前記一の車両が異常車両であるか否かを判定する異常車両判定部と、を備え、
前記異常車両判定部は、さらに、前記異常車両と同一の車種である異常車種または、前記異常車両が検出されたエリアである異常エリアにおいて、所定の台数以下の前記異常車両が存在する場合、前記リバースエンジニアリングにおける攻撃の進行度が第一の攻撃段階であると判定し、前記所定の台数より多い前記異常車両が存在する場合、前記第一の攻撃段階より前記リバースエンジニアリングにおける攻撃の進行度が進行した第二の攻撃段階であると判定する、
異常車両検出サーバ。
【請求項5】
前記異常スコア取得部は、前記車両ログに含まれる前記イベント内容に基づいて前記異常スコアを算出し、前記イベント内容に基づいて特定されるネットワーク機器の接続頻発、インターネット接続異常、診断コマンドの頻発、アクセス先アドレスの変化、アクセス元アドレスの変化のいずれかを前記不審挙動であると検出し、前記不審挙動を検出した場合、前記不審挙動をネットワーク解析活動であると判定し、前記一の車両の前記異常スコアを増加させる、
請求項1から4のいずれか1項に記載の異常車両検出サーバ。
【請求項6】
車両システムにおいて発生したイベント内容を含む車両ログに基づく車両情報であって複数の車両のそれぞれから受信した複数の車両情報に基づいて、所定の運転挙動とは異なる不審挙動を検出し、前記複数の車両のそれぞれについて、当該車両に対してリバースエンジニアリングが行われている可能性を示す異常スコアを取得する異常スコア取得部と、
前記複数の車両のうちの一の車両の前記異常スコアと前記複数の車両のうちの2以上の車両の前記異常スコアの統計値とに基づいて、前記一の車両が異常車両であるか否かを判定する異常車両判定部と、を備え、
前記異常スコア取得部は、前記車両ログに含まれる前記イベント内容に基づいて前記異常スコアを算出し、前記イベント内容に基づいて特定されるネットワーク機器の接続頻発、インターネット接続異常、診断コマンドの頻発、アクセス先アドレスの変化、アクセス元アドレスの変化のいずれかを前記不審挙動であると検出し、前記不審挙動を検出した場合、前記不審挙動をネットワーク解析活動であると判定し、前記一の車両の前記異常スコアを増加させる、
異常車両検出サーバ。
【請求項7】
さらに、異常対策通知部を備え、
前記異常スコア取得部が前記不審挙動を前記ネットワーク解析活動であると判定した場合、前記異常対策通知部は、前記異常スコアの値に応じて、ネットワークインターフェースの遮断、アクセス先およびアクセス元のアドレスの制限、前記ネットワーク機器の接続数の制限、および、ドライバへの警告のいずれか1つ以上を実施させる、
請求項5または6に記載の異常車両検出サーバ。
【請求項8】
前記異常スコア取得部は、前記車両ログに含まれる前記イベント内容に基づいて前記異常スコアを算出し、前記イベント内容に基づいて特定される車両制御機能の頻発、システムエラーの頻発、システムエラーの削除、故障コードの頻発、システムログイン、および、ファイル数またはプロセス数の変化のいずれかを前記不審挙動であると検出し、前記不審挙動を検出した場合に、前記不審挙動をシステム解析活動であると判定し、前記一の車両の前記異常スコアを増加させる、
請求項1からのいずれか1項に記載の異常車両検出サーバ。
【請求項9】
車両システムにおいて発生したイベント内容を含む車両ログに基づく車両情報であって複数の車両のそれぞれから受信した複数の車両情報に基づいて、所定の運転挙動とは異なる不審挙動を検出し、前記複数の車両のそれぞれについて、当該車両に対してリバースエンジニアリングが行われている可能性を示す異常スコアを取得する異常スコア取得部と、
前記複数の車両のうちの一の車両の前記異常スコアと前記複数の車両のうちの2以上の車両の前記異常スコアの統計値とに基づいて、前記一の車両が異常車両であるか否かを判定する異常車両判定部と、を備え、
前記異常スコア取得部は、前記車両ログに含まれる前記イベント内容に基づいて前記異常スコアを算出し、前記イベント内容に基づいて特定される車両制御機能の頻発、システムエラーの頻発、システムエラーの削除、故障コードの頻発、システムログイン、および、ファイル数またはプロセス数の変化のいずれかを前記不審挙動であると検出し、前記不審挙動を検出した場合に、前記不審挙動をシステム解析活動であると判定し、前記一の車両の前記異常スコアを増加させる、
異常車両検出サーバ。
【請求項10】
さらに、異常対策通知部を備え、
前記異常スコア取得部が前記不審挙動を前記システム解析活動であると判定した場合、前記異常対策通知部は、前記異常スコアの値に応じて、車両制御機能の起動停止、前記車両ログの送信頻度の増加、前記車両ログの種類数の増加、および、ドライバへの警告のいずれか1つ以上を実施させる、
請求項8または9に記載の異常車両検出サーバ。
【請求項11】
前記異常スコア取得部は、前記不審挙動を検出した場合であっても、前記不審挙動を検出した時刻に基づく所定の期間内に再度前記不審挙動を検出した場合または所定のエリアにて前記不審挙動を検出した場合、前記異常スコアを増加させない、
請求項1から10のいずれか1項に記載の異常車両検出サーバ。
【請求項12】
車両システムにおいて発生したイベント内容を含む車両ログに基づく車両情報であって複数の車両のそれぞれから受信した複数の車両情報に基づいて、所定の運転挙動とは異なる不審挙動を検出し、前記複数の車両のそれぞれについて、当該車両に対してリバースエンジニアリングが行われている可能性を示す異常スコアを取得する異常スコア取得部と、
前記複数の車両のうちの一の車両の前記異常スコアと前記複数の車両のうちの2以上の車両の前記異常スコアの統計値とに基づいて、前記一の車両が異常車両であるか否かを判定する異常車両判定部と、を備え、
前記異常スコア取得部は、前記不審挙動を検出した場合であっても、前記不審挙動を検出した時刻に基づく所定の期間内に再度前記不審挙動を検出した場合または所定のエリアにて前記不審挙動を検出した場合、前記異常スコアを増加させない、
異常車両検出サーバ。
【請求項13】
前記異常スコア取得部は、前記不審挙動が検出された時刻に基づく所定の期間中に、前記不審挙動が検出された車両において再度前記不審挙動が検出されなかった場合、前記異常スコアを減少させる、
請求項1から12のいずれか1項に記載の異常車両検出サーバ。
【請求項14】
車両システムにおいて発生したイベント内容を含む車両ログに基づく車両情報であって複数の車両のそれぞれから受信した複数の車両情報に基づいて、所定の運転挙動とは異なる不審挙動を検出し、前記複数の車両のそれぞれについて、当該車両に対してリバースエンジニアリングが行われている可能性を示す異常スコアを取得する異常スコア取得部と、
前記複数の車両のうちの一の車両の前記異常スコアと前記複数の車両のうちの2以上の車両の前記異常スコアの統計値とに基づいて、前記一の車両が異常車両であるか否かを判定する異常車両判定部と、を備え、
前記異常スコア取得部は、前記不審挙動が検出された時刻に基づく所定の期間中に、前記不審挙動が検出された車両において再度前記不審挙動が検出されなかった場合、前記異常スコアを減少させる、
異常車両検出サーバ。
【請求項15】
前記異常車両判定部が前記異常車両と判定した車両に対して、前記異常スコアの値または前記不審挙動の種別に基づいて、ネットワークインターフェースの遮断、アクセス先とアクセス元のアドレスの制限、ネットワーク接続機器数の制限、ドライバへの警告、ネットワーク接続制限と、車両制御機能制限、車両制御機能の起動停止、車両ログの送信頻度の増加、車両ログの種類数の増加、ドライバへの通知のうち、いずれか1つ以上の対策を要求する異常対策通知部をさらに備える、
請求項1から14のいずれか1項に記載の異常車両検出サーバ。
【請求項16】
車両システムにおいて発生したイベント内容を含む車両ログに基づく車両情報であって複数の車両のそれぞれから受信した複数の車両情報に基づいて、所定の運転挙動とは異なる不審挙動を検出し、前記複数の車両のそれぞれについて、当該車両に対してリバースエンジニアリングが行われている可能性を示す異常スコアを取得する異常スコア取得部と、
前記複数の車両のうちの一の車両の前記異常スコアと前記複数の車両のうちの2以上の車両の前記異常スコアの統計値とに基づいて、前記一の車両が異常車両であるか否かを判定する異常車両判定部と、を備え、
前記異常車両判定部が前記異常車両と判定した車両に対して、前記異常スコアの値または前記不審挙動の種別に基づいて、ネットワークインターフェースの遮断、アクセス先とアクセス元のアドレスの制限、ネットワーク接続機器数の制限、ドライバへの警告、ネットワーク接続制限と、車両制御機能制限、車両制御機能の起動停止、車両ログの送信頻度の増加、車両ログの種類数の増加、ドライバへの通知のうち、いずれか1つ以上の対策を要求する異常対策通知部をさらに備える、
異常車両検出サーバ。
【請求項17】
前記異常車両判定部によって前記異常車種が前記第二の攻撃段階であると判定された場合、前記異常車両と判定した車両と同一の車種の車両に対して、前記異常スコアの値または前記不審挙動の種別に基づいて、ネットワークインターフェースの遮断、アクセス先とアクセス元のアドレスの制限、ネットワーク接続機器数の制限、ドライバへの警告、ネットワーク接続制限と、車両制御機能制限、車両制御機能の起動停止、車両ログの送信頻度の増加、車両ログの種類数の増加、ドライバへの通知のうち、いずれか1つ以上を要求する異常対策通知部をさらに備える、
請求項3または4に記載の異常車両検出サーバ。
【請求項18】
前記異常車両判定部によって前記異常エリアにおいて前記異常車両が前記第二の攻撃段階であると判定された場合、当該異常エリアに位置する前記異常車両以外の車両に対して、前記異常スコアの値または前記不審挙動の種別に基づいて、ネットワークインターフェースの遮断、アクセス先とアクセス元のアドレスの制限、ネットワーク接続機器数の制限、ドライバへの警告、ネットワーク接続制限と、車両制御機能制限、車両制御機能の起動停止、車両ログの送信頻度の増加、車両ログの種類数の増加、ドライバへの通知のうち、いずれか1つ以上を要求する異常対策通知部をさらに備える、
請求項3または4に記載の異常車両検出サーバ。
【請求項19】
前記異常スコアが高い順に前記異常車両をリスト表示する異常表示部をさらに備える、
請求項1から18のいずれか1項に記載の異常車両検出サーバ。
【請求項20】
前記異常車両と判定された車両の位置情報を地図上に表示する異常表示部をさらに備える、
請求項1から18のいずれか1項に記載の異常車両検出サーバ。
【請求項21】
前記異常車両判定部によって前記異常車種において前記第一の攻撃段階と判定された場合、前記異常車両と判定された車両、車種、および、位置情報の少なくとも1つの情報を表示し、前記第二の攻撃段階と判定された場合、前記攻撃の進行度が前記第一の攻撃段階より高い階層であると表示する異常表示部をさらに備える、
請求項3または4に記載の異常車両検出サーバ。
【請求項22】
車両に搭載された車両システムにおいて発生したイベント内容を含む車両ログに基づく車両情報であって複数の車両のそれぞれから受信した複数の前記車両情報に基づいて、所定の運転挙動とは異なる不審挙動を検出し、前記複数の車両のそれぞれについて、当該車両に対してリバースエンジニアリングが行われている可能性を示す異常スコアを取得する異常スコア取得ステップと、
前記複数の車両のうちの一の車両の前記異常スコアと前記複数の車両のうちの2以上の車両の前記異常スコアの統計値とに基づいて、前記一の車両が異常車両であるか否かを判定する異常車両判定ステップと、を含
前記2以上の車両は、前記一の車両と同一の車種の車両を含み、
前記異常車両判定ステップは、前記一の車両の前記異常スコアと、前記一の車両と同一の車種の前記異常スコアに基づく前記統計値とを比較し、比較結果に基づいて前記一の車両が前記異常車両であるか否かを判定する、
異常車両検出方法。
【請求項23】
車両に搭載された車両システムにおいて発生したイベント内容を含む車両ログに基づく車両情報であって複数の車両のそれぞれから受信した複数の前記車両情報に基づいて、所定の運転挙動とは異なる不審挙動を検出し、前記複数の車両のそれぞれについて、当該車両に対してリバースエンジニアリングが行われている可能性を示す異常スコアを取得する異常スコア取得ステップと、
前記複数の車両のうちの一の車両の前記異常スコアと前記複数の車両のうちの2以上の車両の前記異常スコアの統計値とに基づいて、前記一の車両が異常車両であるか否かを判定する異常車両判定ステップと、を含み、
前記2以上の車両は、前記一の車両と同一のエリアに位置する車両を含み、
前記異常車両判定ステップは、前記一の車両の前記異常スコアと、前記一の車両と同一のエリアに位置する車両の前記異常スコアに基づく前記統計値とを比較し、比較結果に基づいて前記一の車両が前記異常車両であるか否かを判定する、
異常車両検出方法。
【請求項24】
車両に搭載された車両システムにおいて発生したイベント内容を含む車両ログに基づく車両情報であって複数の車両のそれぞれから受信した複数の前記車両情報に基づいて、所定の運転挙動とは異なる不審挙動を検出し、前記複数の車両のそれぞれについて、当該車両に対してリバースエンジニアリングが行われている可能性を示す異常スコアを取得する異常スコア取得ステップと、
前記複数の車両のうちの一の車両の前記異常スコアと前記複数の車両のうちの2以上の車両の前記異常スコアの統計値とに基づいて、前記一の車両が異常車両であるか否かを判定する異常車両判定ステップと、を含み、
前記異常車両判定ステップは、さらに、前記異常車両と同一の車種である異常車種または、前記異常車両が検出されたエリアである異常エリアにおいて、所定の台数以下の前記異常車両が存在する場合、前記リバースエンジニアリングにおける攻撃の進行度が第一の攻撃段階であると判定し、前記所定の台数より多い前記異常車両が存在する場合、前記第一の攻撃段階より前記リバースエンジニアリングにおける攻撃の進行度が進行した第二の攻撃段階であると判定する、
異常車両検出方法。
【請求項25】
車両に搭載された車両システムにおいて発生したイベント内容を含む車両ログに基づく車両情報であって複数の車両のそれぞれから受信した複数の前記車両情報に基づいて、所定の運転挙動とは異なる不審挙動を検出し、前記複数の車両のそれぞれについて、当該車両に対してリバースエンジニアリングが行われている可能性を示す異常スコアを取得する異常スコア取得ステップと、
前記複数の車両のうちの一の車両の前記異常スコアと前記複数の車両のうちの2以上の車両の前記異常スコアの統計値とに基づいて、前記一の車両が異常車両であるか否かを判定する異常車両判定ステップと、を含み、
前記異常スコア取得ステップは、前記車両ログに含まれる前記イベント内容に基づいて前記異常スコアを算出し、前記イベント内容に基づいて特定されるネットワーク機器の接続頻発、インターネット接続異常、診断コマンドの頻発、アクセス先アドレスの変化、アクセス元アドレスの変化のいずれかを前記不審挙動であると検出し、前記不審挙動を検出した場合、前記不審挙動をネットワーク解析活動であると判定し、前記一の車両の前記異常スコアを増加させる、
異常車両検出方法。
【請求項26】
車両に搭載された車両システムにおいて発生したイベント内容を含む車両ログに基づく車両情報であって複数の車両のそれぞれから受信した複数の前記車両情報に基づいて、所定の運転挙動とは異なる不審挙動を検出し、前記複数の車両のそれぞれについて、当該車両に対してリバースエンジニアリングが行われている可能性を示す異常スコアを取得する異常スコア取得ステップと、
前記複数の車両のうちの一の車両の前記異常スコアと前記複数の車両のうちの2以上の車両の前記異常スコアの統計値とに基づいて、前記一の車両が異常車両であるか否かを判定する異常車両判定ステップと、を含み、
前記異常スコア取得ステップは、前記車両ログに含まれる前記イベント内容に基づいて前記異常スコアを算出し、前記イベント内容に基づいて特定される車両制御機能の頻発、システムエラーの頻発、システムエラーの削除、故障コードの頻発、システムログイン、および、ファイル数またはプロセス数の変化のいずれかを前記不審挙動であると検出し、前記不審挙動を検出した場合に、前記不審挙動をシステム解析活動であると判定し、前記一の車両の前記異常スコアを増加させる、
異常車両検出方法。
【請求項27】
車両に搭載された車両システムにおいて発生したイベント内容を含む車両ログに基づく車両情報であって複数の車両のそれぞれから受信した複数の前記車両情報に基づいて、所定の運転挙動とは異なる不審挙動を検出し、前記複数の車両のそれぞれについて、当該車両に対してリバースエンジニアリングが行われている可能性を示す異常スコアを取得する異常スコア取得ステップと、
前記複数の車両のうちの一の車両の前記異常スコアと前記複数の車両のうちの2以上の車両の前記異常スコアの統計値とに基づいて、前記一の車両が異常車両であるか否かを判定する異常車両判定ステップと、を含み、
前記異常スコア取得ステップは、前記不審挙動を検出した場合であっても、前記不審挙動を検出した時刻に基づく所定の期間内に再度前記不審挙動を検出した場合または所定のエリアにて前記不審挙動を検出した場合、前記異常スコアを増加させない、
異常車両検出方法。
【請求項28】
車両に搭載された車両システムにおいて発生したイベント内容を含む車両ログに基づく車両情報であって複数の車両のそれぞれから受信した複数の前記車両情報に基づいて、所定の運転挙動とは異なる不審挙動を検出し、前記複数の車両のそれぞれについて、当該車両に対してリバースエンジニアリングが行われている可能性を示す異常スコアを取得する異常スコア取得ステップと、
前記複数の車両のうちの一の車両の前記異常スコアと前記複数の車両のうちの2以上の車両の前記異常スコアの統計値とに基づいて、前記一の車両が異常車両であるか否かを判定する異常車両判定ステップと、を含み、
前記異常スコア取得ステップは、前記不審挙動が検出された時刻に基づく所定の期間中に、前記不審挙動が検出された車両において再度前記不審挙動が検出されなかった場合、前記異常スコアを減少させる、
異常車両検出方法。
【請求項29】
車両に搭載された車両システムにおいて発生したイベント内容を含む車両ログに基づく車両情報であって複数の車両のそれぞれから受信した複数の前記車両情報に基づいて、所定の運転挙動とは異なる不審挙動を検出し、前記複数の車両のそれぞれについて、当該車両に対してリバースエンジニアリングが行われている可能性を示す異常スコアを取得する異常スコア取得ステップと、
前記複数の車両のうちの一の車両の前記異常スコアと前記複数の車両のうちの2以上の車両の前記異常スコアの統計値とに基づいて、前記一の車両が異常車両であるか否かを判定する異常車両判定ステップと、を含み、
前記異常車両判定ステップが前記異常車両と判定した車両に対して、前記異常スコアの値または前記不審挙動の種別に基づいて、ネットワークインターフェースの遮断、アクセス先とアクセス元のアドレスの制限、ネットワーク接続機器数の制限、ドライバへの警告、ネットワーク接続制限と、車両制御機能制限、車両制御機能の起動停止、車両ログの送信頻度の増加、車両ログの種類数の増加、ドライバへの通知のうち、いずれか1つ以上の対策を要求する異常対策通知ステップをさらに含む、
異常車両検出方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、異常車両検出サーバおよび異常車両検出方法に関する。
【背景技術】
【0002】
近年、自動車の中のシステムには、電子制御ユニット(以下、ECU(Electronic Control Unit))と呼ばれる装置が多数配置されている。これらのECUをつなぐネットワークを車載ネットワークと呼ばれる。車載ネットワークには、多数の規格が存在するが、その中でも最も主流な車載ネットワークの一つに、Controller Area Network(以降、CAN(登録商標、以下同様))という規格が存在する。また、さらに、自動運転またはコネクテッドカーの普及に伴い、車載ネットワークトラフィックの増大が予想され、車載Ethernet(登録商標、以下同様(以下イーサネットとも記載する))の普及が進んでいる。
【0003】
一方で、車載システムに侵入し、車両を不正制御する脅威も報告されている。このような脅威に対して、非特許文献1には、従来のInternet Protocol(IP)通信で用いられてきた暗号通信を用いて不正なノードの通信による不正制御を防ぐ方法が開示されている。また、特許文献1には、車載ネットワークの異常な通信を検知し、不正なフレームを遮断する方法が開示されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特許第5664799号公報
【非特許文献】
【0005】
【文献】RFC5406:Guidelines for Specifying the Use of IPsec Version2、2009年2月
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、非特許文献1の方法では、暗号通信を用いるため、送受信ノードによる暗号化・復号処理が必要となりオーバーヘッドが発生する。また、暗号通信に用いる鍵管理が重要となり、ECUの制御を奪わる、または、鍵が漏洩する等の場合には、不正なフレーム送信による不正制御が可能となる。また、特許文献1の方法は、不正なフレームを送信されたことによる異常への対処であり、攻撃の発生を未然に防ぐわけではない。このように、車載ネットワークの安全性には、改善の余地がある。
【0007】
そこで、本開示は、車載ネットワークの安全性をより高めることができる車両異常検出サーバおよび車両異常検出方法を提供する。
【課題を解決するための手段】
【0008】
本開示の一態様に係る車両異常検出サーバは、車両システムにおいて発生したイベント内容を含む車両ログに基づく車両情報であって複数の車両のそれぞれから受信した複数の車両情報に基づいて、所定の運転挙動とは異なる不審挙動を検出し、前記複数の車両のそれぞれについて、当該車両に対してリバースエンジニアリングが行われている可能性を示す異常スコアを取得する異常スコア取得部と、前記複数の車両のうちの一の車両の前記異常スコアと前記複数の車両のうちの2以上の車両の前記異常スコアの統計値とに基づいて、前記一の車両が異常車両であるか否かを判定する異常車両判定部と、を備える。
【0009】
本開示の一態様に係る車両異常検出方法は、車両に搭載された車両システムにおいて発生したイベント内容を含む車両ログに基づく車両情報であって複数の車両のそれぞれから受信した複数の前記車両情報に基づいて、所定の運転挙動とは異なる不審挙動を検出し、前記複数の車両のそれぞれについて、当該車両に対してリバースエンジニアリングが行われている可能性を示す異常スコアを取得する異常スコア取得ステップと、前記複数の車両のうちの一の車両の前記異常スコアと前記複数の車両のうちの2以上の車両の前記異常スコアの統計値とに基づいて、前記一の車両が異常車両であるか否かを判定する異常車両判定ステップと、を含む。
【発明の効果】
【0010】
本開示の一態様に係る車両異常検出サーバ等によれば、車載ネットワークの安全性をより高めることができる。
【図面の簡単な説明】
【0011】
図1図1は、実施の形態における異常車両検出システムの全体構成図である。
図2図2は、実施の形態における車両システムの構成図である。
図3図3は、実施の形態における異常車両検出サーバの構成図である。
図4図4は、実施の形態における車両ログ送信装置の構成図である。
図5図5は、実施の形態における車両ログの一例を示す図である。
図6図6は、実施の形態における異常ルールの一例を示す図である。
図7図7は、実施の形態における除外ルールの一例を示す図である。
図8図8は、実施の形態における異常スコアの一例を示す図である。
図9図9は、実施の形態における対策ルールの一例を示す図である。
図10図10は、実施の形態における異常スコアリスト表示画面の一例を示す図である。
図11図11は、実施の形態における異常エリア表示画面の一例を示す図である。
図12図12は、実施の形態における異常階層表示画面の一例を示す図である。
図13図13は、実施の形態における車両ログ受信処理のシーケンスを示す図である。
図14図14は、実施の形態における異常車両検出サーバが除外ルール共有サーバから除外ルールを受信して記憶するまでの処理シーケンスを示す図である。
図15図15は、実施の形態における異常スコア算出処理のシーケンスを示す図である。
図16図16は、実施の形態における異常対策処理のシーケンスを示す図である。
図17図17は、実施の形態における異常表示処理のシーケンスを示す図である。
図18図18は、実施の形態における車両別異常スコア算出処理のフローチャートである。
図19図19は、実施の形態における車種別異常スコア算出処理のフローチャートである。
図20図20は、実施の形態におけるエリア別異常スコア算出処理のフローチャートである。
図21図21は、実施の形態における異常車両判定処理のフローチャートである。
図22図22は、実施の形態における異常対策処理のフローチャートである。
図23図23は、実施の形態における異常カテゴリ別の異常対策処理のフローチャートの一例である。
図24図24は、実施の形態における異常カテゴリ別の異常対策処理のフローチャートの他の一例である。
図25図25は、実施の形態におけるエリア別攻撃段階判定処理のフローチャートである。
図26図26は、実施の形態における車種別攻撃段階判定処理のフローチャートである。
【発明を実施するための形態】
【0012】
(本開示に至った経緯)
本開示の実施の形態等の説明に先立ち、本開示の基礎に至った経緯について説明する。
【0013】
上記のように、特許文献1および非特許文献1に開示されている技術では、車載ネットワークの安全性を高める観点から改善の余地がある。
【0014】
一般に、車両の不正制御を試みる攻撃者は、車両の不正制御を引き起こすためのフレームの調査等の車載ネットワークのリバースエンジニアリングを事前に行う。このときの車載ネットワークのフレーム調査段階における攻撃者の活動を把握することができれば、フレームの調査段階を攻撃発生の予兆として捉え、攻撃者の調査の妨害または対象車両の重点監視等のアクションにつなげることができる。
【0015】
そこで、本願発明者らは、車載ネットワークの調査段階における攻撃者の活動を把握することができる車両異常検出サーバ等について鋭意検討を行い、以下に説明する車両異常検出サーバ等を創案した。例えば、本願発明者らは、複数車両の車両ログをサーバ上で監視し、攻撃者のリバースエンジニアリングによって発生する所定(例えば通常)とは異なる車両挙動を不審挙動と捉え、車両がリバースエンジニアリングされている可能性の高さを示す異常スコアを算出し、同一車種等の異常スコアの統計値(例えば、平均値)よりも高い異常スコアを有する車両を異常車両として検出し、異常スコアの値と異常カテゴリとに基づいて異常に対して対策を実施することで、車載ネットワークの安全性を効果的に高めることができることを見出した。
【0016】
本開示の一実施態様の異常車両検出サーバは、車両システムにおいて発生したイベント内容を含む車両ログに基づく車両情報であって複数の車両のそれぞれから受信した複数の車両情報に基づいて、所定の運転挙動とは異なる不審挙動を検出し、前記複数の車両のそれぞれについて、当該車両に対してリバースエンジニアリングが行われている可能性を示す異常スコアを取得する異常スコア取得部と、前記複数の車両のうちの一の車両の前記異常スコアと前記複数の車両のうちの2以上の車両の前記異常スコアの統計値とに基づいて、前記一の車両が異常車両であるか否かを判定する異常車両判定部と、を備える。
【0017】
これにより、車載ネットワークシステムをリバースエンジニアリングしている疑わしさを算出することが可能となり、より疑わしい車両を把握することができるため、車載ネットワークシステムの安全性を効果的に高めることができる。
【0018】
また、例えば、前記2以上の車両は、前記一の車両と同一の車種の車両を含み、前記異常車両判定部は、前記一の車両の前記異常スコアと、前記一の車両と同一の車種の前記異常スコアに基づく前記統計値とを比較し、比較結果に基づいて前記一の車両が前記異常車両であるか否かを判定してもよい。
【0019】
これにより、特定の車種において発生する可能性が高い異常を除外することができ、同一車種の他の車両では発生数が少なく、より疑わしい異常および車両を抽出できるため、車載ネットワークシステムの安全性をより効果的に高めることができる。
【0020】
また、例えば、前記2以上の車両は、前記一の車両と同一のエリアに位置する車両を含み、前記異常車両判定部は、前記一の車両の前記異常スコアと、前記一の車両と同一のエリアに位置する車両の前記異常スコアに基づく前記統計値とを比較し、比較結果に基づいて前記一の車両が前記異常車両であるか否かを判定してもよい。
【0021】
これにより、特定のエリアにおいて発生する可能性が高い異常を除外することができ、同一エリアに位置する他の車両では発生数が少なく、より疑わしい異常および車両を抽出できるため、車載ネットワークシステムの安全性をより効果的に高めることができる。
【0022】
また、例えば、前記異常車両判定部は、さらに、前記異常車両と同一の車種である異常車種または、前記異常車両が検出されたエリアである異常エリアにおいて、所定の台数以下の前記異常車両が存在する場合、前記リバースエンジニアリングにおける攻撃の進行度が第一の攻撃段階であると判定し、前記所定の台数より多い前記異常車両が存在する場合、前記第一の攻撃段階より前記リバースエンジニアリングにおける攻撃の進行度が進行した第二の攻撃段階であると判定してもよい。
【0023】
これにより、所定の台数以下の少数の車両にのみ異常が発生している場合は、攻撃者が異常車両を解析途中である第一の攻撃段階(例えば偵察フェーズ)であると判定でき、所定の台数より多い車両に異常が発生している場合は、第二の攻撃段階(例えば、攻撃者が車両のネットワーク解析およびシステム解析に成功して他の車両への攻撃適用を試行しているデリバリーフェーズ)であると判定できる。攻撃段階が判定できれば、対策の手段の切り替えおよび解析の優先度の変更が可能となる。
【0024】
また、例えば、前記異常スコア取得部は、前記車両ログに含まれる前記イベント内容に基づいて前記異常スコアを算出し、前記イベント内容に基づいて特定されるネットワーク機器の接続頻発、インターネット接続異常、診断コマンドの頻発、アクセス先アドレスの変化、アクセス元アドレスの変化のいずれかを前記不審挙動であると検出し、前記不審挙動を検出した場合、前記不審挙動をネットワーク解析活動であると判定し、前記一の車両の前記異常スコアを増加させてもよい。
【0025】
これにより、攻撃者が車両システムの通信機能を解析しようとする試行をとらえることができるため車載ネットワークシステムの安全性をより一層効果的に高めることができる。
【0026】
また、例えば、さらに、異常対策通知部を備え、前記異常スコア取得部が前記不審挙動を前記ネットワーク解析活動であると判定した場合、前記異常対策通知部は、前記異常スコアの値に応じて、ネットワークインターフェースの遮断、アクセス先およびアクセス元のアドレスの制限、前記ネットワーク機器の接続数の制限、および、ドライバへの警告のいずれか1つ以上を実施させてもよい。
【0027】
これにより、攻撃者が車両システムの通信機能を解析しようとする試行を妨害することができるため、車載ネットワークシステムの安全性をより一層効果的に高めることができる。
【0028】
また、例えば、前記異常スコア取得部は、前記車両ログに含まれる前記イベント内容に基づいて前記異常スコアを算出し、前記イベント内容に基づいて特定される車両制御機能の頻発、システムエラーの頻発、システムエラーの削除、故障コードの頻発、システムログイン、および、ファイル数またはプロセス数の変化のいずれかを前記不審挙動であると検出し、前記不審挙動を検出した場合に、前記不審挙動をシステム解析活動であると判定し、前記一の車両の前記異常スコアを増加させてもよい。
【0029】
これにより、攻撃者が車両システムの車両制御機能またはホストマシン自体を解析しようとする試行をとらえることができるため、車載ネットワークシステムの安全性をより一層効果的に高めることができる。
【0030】
また、例えば、さらに、異常対策通知部を備え、前記異常スコア取得部が前記不審挙動を前記システム解析活動であると判定した場合、前記異常対策通知部は、前記異常スコアの値に応じて、車両制御機能の起動停止、前記車両ログの送信頻度の増加、前記車両ログの種類数の増加、および、ドライバへの警告のいずれか1つ以上を実施させてもよい。
【0031】
これにより、攻撃者が車両システムの車両制御機能またはホストマシン自体を解析しようとする試行を妨害することができるため、車載ネットワークシステムの安全性をより一層効果的に高めることができる。
【0032】
また、例えば、前記異常スコア取得部は、前記不審挙動を検出した場合であっても、前記不審挙動を検出した時刻に基づく所定の期間内に再度前記不審挙動を検出した場合または所定のエリアにて前記不審挙動を検出した場合、前記異常スコアを増加させなくてもよい。
【0033】
これにより、開発者が車両システムの検証のために不審挙動を発生させている場合、修理業者がエラー解除している場合、車両システムのソフトウェア更新によってファイル数が変わる場合などを不審挙動であると検出することによる誤検知を防ぐことができるため、不審挙動の検出精度を効果的に向上させることができる。
【0034】
また、例えば、前記異常スコア取得部は、前記不審挙動が検出された時刻に基づく所定の期間中に、前記不審挙動が検出された車両において再度前記不審挙動が検出されなかった場合、前記異常スコアを減少させなくてもよい。
【0035】
これにより、攻撃者が攻撃対象車両を通常走行に用いる可能性は低いと考えられるため、しばらく通常走行され、不審な挙動が発生しなかった場合は、攻撃対象車両である可能性が低いと考えられるため、攻撃対象車両であるか否かの判定精度を効果的に向上させることができる。
【0036】
また、例えば、前記異常車両判定部が前記異常車両と判定した車両に対して、前記異常スコアの値または前記不審挙動の種別に基づいて、ネットワークインターフェースの遮断、アクセス先とアクセス元のアドレスの制限、ネットワーク接続機器数の制限、ドライバへの警告、ネットワーク接続制限と、車両制御機能制限、車両制御機能の起動停止、車両ログの送信頻度の増加、車両ログの種類数の増加、ドライバへの通知のうち、いずれか1つ以上の対策を要求する異常対策通知部をさらに備えてもよい。
【0037】
これにより、攻撃者によるリバースエンジニアリング活動の疑わしさが高い車両に対して、車両制御機能を制限することで攻撃者の解析を妨げること、および、車両ログの種類数を増やして攻撃内容を解析することが可能となり、攻撃者の解析の妨害および攻撃者の攻撃内容の把握を効率的に行うことができる。
【0038】
また、例えば、前記異常車両判定部によって前記異常車種が前記第二の攻撃段階であると判定された場合、前記異常車両と判定した車両と同一の車種の車両に対して、前記異常スコアの値または前記不審挙動の種別に基づいて、ネットワークインターフェースの遮断、アクセス先とアクセス元のアドレスの制限、ネットワーク接続機器数の制限、ドライバへの警告、ネットワーク接続制限と、車両制御機能制限、車両制御機能の起動停止、車両ログの送信頻度の増加、車両ログの種類数の増加、ドライバへの通知のうち、いずれか1つ以上を要求する異常対策通知部をさらに備えてもよい。
【0039】
これにより、攻撃者によるリバースエンジニアリング活動の疑わしさが高い車種に対して、車両制御機能を制限することで攻撃者の解析を妨げること、および、車両ログの種類数を増やして攻撃内容を解析することが可能となり、攻撃者の解析の妨害および攻撃者の攻撃内容の把握を効率的に行うことができる。
【0040】
また、例えば、前記異常車両判定部によって前記異常エリアにおいて前記異常車両が前記第二の攻撃段階であると判定された場合、当該異常エリアに位置する前記異常車両以外の車両に対して、前記異常スコアの値または前記不審挙動の種別に基づいて、ネットワークインターフェースの遮断、アクセス先とアクセス元のアドレスの制限、ネットワーク接続機器数の制限、ドライバへの警告、ネットワーク接続制限と、車両制御機能制限、車両制御機能の起動停止、車両ログの送信頻度の増加、車両ログの種類数の増加、ドライバへの通知のうち、いずれか1つ以上を要求する異常対策通知部をさらに備えてもよい。
【0041】
これにより、攻撃者によるリバースエンジニアリング活動の疑わしさが高いエリアに対して、車両制御機能を制限することで攻撃者の解析を妨げること、および車両ログの種類数を増やして攻撃内容を解析することが可能となり、攻撃者の解析の妨害および攻撃者の攻撃内容の把握を効率的に行うことができる。
【0042】
また、例えば、前記異常スコアが高い順に前記異常車両をリスト表示する異常表示部をさらに備えてもよい。
【0043】
これにより、異常表示部の表示内容を確認して異常車両を解析するオペレーターが、より疑わしい車両から優先的に解析することができるため、解析作業を効果的に行うことができる。
【0044】
また、例えば、前記異常車両と判定された車両の位置情報を地図上に表示する異常表示部をさらに備えてもよい。
【0045】
これにより、異常表示部の表示内容を確認して異常車両を解析するオペレーターが、異常車両がどのエリアに位置していて、どの施設で異常が発生しているかを判定でき、解析の手がかりとすることができるため、解析作業を効果的に行うことができる。
【0046】
また、例えば、前記異常車両判定部によって前記異常車種において前記第一の攻撃段階と判定された場合、前記異常車両と判定された車両、車種、および、位置情報の少なくとも1つの情報を表示し、前記第二の攻撃段階と判定された場合、前記攻撃の進行度が前記第一の攻撃段階より高い階層であると表示する異常表示部をさらに備えてもよい。
【0047】
これにより、異常表示部の表示内容を確認して異常車両を解析するオペレーターが、異常車両に対する攻撃の進行度を把握することができ、解析の優先度をつけることができるため、解析作業をより効果的に行うことができる。
【0048】
また、本開示の一実施態様の異常車両検出方法は、車両に搭載された車両システムにおいて発生したイベント内容を含む車両ログに基づく車両情報であって複数の車両のそれぞれから受信した複数の前記車両情報に基づいて、所定の運転挙動とは異なる不審挙動を検出し、前記複数の車両のそれぞれについて、当該車両に対してリバースエンジニアリングが行われている可能性を示す異常スコアを取得する異常スコア取得ステップと、前記複数の車両のうちの一の車両の前記異常スコアと前記複数の車両のうちの2以上の車両の前記異常スコアの統計値とに基づいて、前記一の車両が異常車両であるか否かを判定する異常車両判定ステップと、を含む。
【0049】
これにより、上記異常車両検出サーバと同様の効果を奏する。
【0050】
以下、図面を参照しながら、本開示の実施の形態に関わる異常車両検出システムについて説明する。なお、以下で説明する実施の形態は、いずれも本開示の好ましい一具体例を示す。つまり、以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置および接続形態、ステップ、ステップの順序などは、本開示の一例であり、本開示を限定する主旨ではない。本開示は、請求の範囲の記載に基づいて特定される。したがって、以下の実施の形態における構成要素のうち、本開示の最上位概念を示す独立請求項に記載されていない構成要素は、本開示の課題を達成するために必ずしも必要ではないが、より好ましい形態を構成する構成要素として説明される。
【0051】
また、各図は模式図であり、必ずしも厳密に図示されたものではない。また、各図において、実質的に同一の構成に対しては同一の符号を付し、重複する説明は省略または簡略化される場合がある。
【0052】
(実施の形態)
[1 異常車両検出システムの全体構成図]
図1は、本実施の形態における異常車両検出システムの全体構成を示す図である。図1に示すように、異常車両検出システムは、異常車両検出サーバ10と、車両システム20と、除外ルール共有サーバ30とを備える。また、異常車両検出システムでは、外部ネットワークを介して異常車両検出サーバ10と、除外ルール共有サーバ30と、車両システム20とが通信可能に接続される。外部ネットワークは、例えば、インターネットである。外部ネットワークの通信方法は、有線であっても無線であっても良い。また、無線通信方式は、既存技術であるWi-Fi(登録商標)、または、3G/LTE(Long Term Evolution)であっても良いが、これに限定されない。
【0053】
車両システム20は、車両に搭載され、車両ログ送信装置200を備える。車両ログ送信装置200は、外部ネットワークを介して、車両ログを異常車両検出サーバ10へ送信する通信装置である。車両ログの詳細は後述する。なお、図1では、異常車両検出システムが備える車両システム20は1台のみである場合を示しているが、1以上の車両システム20それぞれが、車両ログを異常車両検出サーバ10へ送信してもよい。異常車両検出システムは、例えば、複数の車両システム20を備えていてもよい。
【0054】
除外ルール共有サーバ30は、異常車両検出サーバ10が利用する除外ルールを異常車両検出サーバ10へ送信するサーバである。除外ルールは、例えば、車両システム20の開発者によって作成され、除外ルール共有サーバ30へアップロードされる。除外ルールは、車両システム20のソフトウェアアップデートのリスト、または、ディーラー、開発拠点、検証拠点、修理業者などのリストを含む。除外ルールには、異常車両検出サーバ10が車両ログのイベント内容と異常ルールとを参照して異常スコアを算出する際に、除外対象となる異常ルール、その期間、および、位置情報の少なくとも1つ以上が記載される。除外ルールの詳細は後述する。
【0055】
異常車両検出サーバ10は、車両ログ送信装置200から車両ログを受信し、除外ルール共有サーバ30から除外ルールを受信する。そして、異常車両検出サーバ10は、車両ログと、除外ルールと、事前に記憶された車両ログを異常と判定する条件が記載された異常ルールとに基づいて車両ごとに異常スコアを算出し、異常車両を検出するサーバである。異常スコアの算出方法および異常車両の判定方法の詳細は後述する。
【0056】
なお、異常スコアの算出は、以下では、異常車両検出サーバ10で行われる例について説明するが、車両システム20により行われてもよい。異常車両検出サーバ10は、外部ネットワークを介して車両システム20から当該車両システム20の異常スコアを取得してもよい。異常車両検出サーバ10が外部ネットワークを介して車両システム20から取得する車両ログまたは異常スコアは、車両ログに基づく車両情報の一例である。
【0057】
[2 車両システムの構成図]
図2は、本実施の形態における車両システム20の構成図である。車両システム20は、車両ログ送信装置200と、セントラルECU300と、ZoneECU400aと、ZoneECU400bと、ZoneECU400cと、ZoneECU400dと、ボディECU500aと、カーナビECU500bと、ステアリングECU500cと、ブレーキECU500dとを備える。車両ログ送信装置200と、セントラルECU300と、ZoneECU400aと、ZoneECU400bと、ZoneECU400cと、ZoneECU400dとは、車載ネットワークであるイーサネット13を介して接続される。ボディECU500aと、ZoneECU400aとは、イーサネット11を介して接続される。また、カーナビECU500bと、ZoneECU400bとは、イーサネット12を介して接続される。また、ステアリングECU500cと、ZoneECU400cとは、CAN14を介して接続される。また、ブレーキECU500dと、ZoneECU400dとは、CAN-FD(CAN with Flexible Data Rate)15を介して接続される。車両ログ送信装置200と、セントラルECU300とは、外部ネットワークにも接続される。
【0058】
車両ログ送信装置200は、イーサネット13を介して、セントラルECU300から車両ログを収集し、外部ネットワークを介して、収集した車両ログを異常車両検出サーバ10へ送信する装置である。
【0059】
セントラルECU300は、イーサネット13を介して、ZoneECU400a、ZoneECU400b、ZoneECU400c、および、ZoneECU400dを制御し、車両システム20全体を制御する。例えば、セントラルECU300は、自動駐車、自動運転などの車両制御機能を制御する。また、車両システム20内で発生したネットワーク機器の接続またはインターネット接続異常などのイベント情報を、ZoneECU400a~dから収集し、収集したイベント情報を車両ログとして記憶し、車両ログを車両ログ送信装置200へ送信する。
【0060】
ZoneECU400a、ZoneECU400b、ZoneECU400c、および、ZoneECU400dは、イーサネット13を介して、セントラルECU300と他のZoneECUとを通信する。例えば、ZoneECU400aは、イーサネット11を介して、ボディECU500aと通信し、車両のロック、ワイパーなどの車体に関わる機能を制御する。また、ZoneECU400bは、イーサネット12を介して、カーナビECU500bと通信し、カーナビの表示を制御する。例えば、ZoneECU400cは、CAN14を介して、ステアリングECU500cと通信し、ステアリングの操舵を制御する。また、ZoneECU400dは、CAN-FD15を介して、ブレーキECU500dと通信し、ブレーキを制御する。
【0061】
ボディECU500aは、車両に搭載される車体に関わる機能を制御する。
【0062】
カーナビECU500bは、車両に搭載されるカーナビの表示を制御する。
【0063】
ステアリングECU500cは、車両に搭載されるステアリングの操舵を制御する。
【0064】
ブレーキECU500dは、車両に搭載されるブレーキを制御する。
【0065】
[3 異常車両検出サーバ10の構成図]
図3は、本実施の形態における異常車両検出サーバ10の構成図である。異常車両検出サーバ10は、サーバ側通信部101と、車両ログ受信部102と、車両ログ記憶部103と、除外ルール受信部104と、ルール記憶部105と、異常スコア算出部106と、異常スコア記憶部107と、異常車両判定部108と、異常対策通知部109と、異常表示部110とを有する。
【0066】
サーバ側通信部101は、外部ネットワークを介して、車両ログ送信装置200から車両ログを受信し、車両ログ受信部102へ送信する。また、除外ルール共有サーバ30から除外ルールを受信し、受信した除外ルールを除外ルール受信部104へ送信する。
【0067】
車両ログ受信部102は、サーバ側通信部101から車両ログを受信し、受信した車両ログを車両ログ記憶部103へ記憶する。
【0068】
除外ルール受信部104は、サーバ側通信部101から除外ルールを受信し、受信した除外ルールをルール記憶部105へ記憶する。
【0069】
ルール記憶部105は、事前に、車両ログに含まれるイベントのうち異常と判定する条件が記載された異常ルールと、異常ルールに記載された異常カテゴリと、異常スコアに応じた対策内容とが記載された対策ルールを記憶する。また、ルール記憶部105は、除外ルール受信部104が除外ルール共有サーバ30から受信した除外ルールを記憶する。
【0070】
異常スコア算出部106は、車両ログを受信すると、ルール記憶部105から異常ルールと除外ルールとを取得し、車両ログに記載されたイベント内容と、異常ルールと、除外ルールとに基づき、車両1台ごとに異常スコアを算出することで車両1台ごとの異常スコアを取得する。異常スコア算出部106は、例えば、車両システム20において発生したイベント内容のデータを含む車両ログに基づく車両情報であって複数の車両のそれぞれから受信した複数の車両情報のイベント内容に基づいて、所定の運転挙動とは異なる不審挙動を検出し、複数の車両のそれぞれについて、当該車両に対してリバースエンジニアリングが行われている可能性を示す異常スコアを取得する異常スコアを算出する。異常スコア算出部106は、例えば、車両ログに含まれるイベント内容に基づいて、異常スコアを算出する。そして、異常スコア算出部106は、取得した(例えば、算出した)異常スコアを異常スコア記憶部107に異常スコアを記録する。異常スコアの算出方法の詳細については後述する。異常スコア算出部106は、異常スコア取得部の一例である。
【0071】
異常スコアは、例えば、リバースエンジニアリングが行われている可能性(例えば、攻撃者がリバースエンジニアリングしている疑わしさ)を示す指標である。また、異常スコアは、例えば、リバースエンジニアリングが行われている可能性を判定可能な指標である。また、異常スコアは、例えば、通常の運転者であれば行わない、または、行う可能性が低い、車両における利用が行われていることを示す指標であるとも言える。なお、本明細書におけるリバースエンジニアリングは、車載ネットワークを解析することである。よって、異常スコアは、例えば、車両の車載ネットワークの解析が行われている可能性、または、解析の度合いを示す指標であるとも言える。
【0072】
異常車両判定部108は、異常スコア記憶部107が記憶する異常スコアを参照し、攻撃を試行されていると推測される異常車両を検出する。異常車両判定部108は、例えば、複数の車両のうちの一の車両の異常スコアと複数の車両のうち2以上の車両の異常スコアの統計値とに基づいて、一の車両が異常車両であるか否かを判定することで異常車両を検出する。また、異常車両判定部108は、異常車両の情報(例えば、車両情報)に基づいて、攻撃段階を判定する。異常車両の検出方法の詳細および攻撃段階の判定方法の詳細については後述する。また、2以上の車両は、異常車両であると判定された一の車両と同一の車種の車両を含んでいてもよいし、当該一の車両と同一のエリアに位置する車両を含んでいてもよい。また、2以上の車両は、当該一の車両と同一のECUを搭載する車両を含んでいてもよいし、当該一の車両と同一サプライヤ(同一メーカ)の車両を含んでいてもよいし、当該一の車両と同一の基地局を使用して無線通信している車両を含んでいてもよい。なお、2以上の車両に当該一の車両が含まれていてもよいし、含まれていなくてもよい。
【0073】
異常対策通知部109は、異常車両判定部108が異常車両であると判定した車両と、異常車両と同一の車種の車両、および、異常車両と同一のエリアに位置する車両の少なくとも1つの車両とに対して、異常対策通知を送信する。異常対策通知は、例えば、ネットワークインターフェースの遮断、アクセス先とアクセス元のアドレスの制限、ネットワーク接続機器数の制限、ドライバへの警告、ネットワーク接続制限、車両制御機能制限、車両制御機能の起動停止、車両ログの送信頻度の増加、車両ログの種類数の増加、および、ドライバへの通知のうち、いずれか1つ以上の対策を含む通知である。異常対策通知部109は、不審挙動がネットワーク解析活動またはシステム解析活動であると判定された場合、車両システム20の車両ログ送信装置200またはセントラルECU300へ通知することで上記のいずれか1つ以上の対策を車両システム20に実行させる。
【0074】
異常表示部110は、異常車両判定部108が異常車両と判定した車両と、当該車両(異常車両)と同一の車種の車両、および、当該車両(異常車両)と同一のエリアに位置する車両の少なくとも1つの車両とに関する情報をユーザに対して表示する。例えば、異常車両検出サーバ10を利用して解析を行うオペレーターがユーザであり、異常表示部110は、グラフィカルユーザーインターフェースを用いて当該情報を表示する。当該情報は、ユーザが重点的に監視する異常車両を特定可能な情報を含む。
【0075】
[4 車両ログ送信装置の構成図]
図4は、本実施の形態における車両ログ送信装置200の構成図である。車両ログ送信装置200は、車両側通信部210と、車両ログ送信部220と、異常対策部230とを有する。
【0076】
車両側通信部210は、外部ネットワークを介して、異常車両検出サーバ10と接続され、各種情報を交換する。
【0077】
車両ログ送信部220は、イーサネット13を介して、セントラルECU300と接続され、セントラルECU300から車両ログを受信し、車両側通信部210を経由して、異常車両検出サーバ10へ受信した車両ログを送信する。
【0078】
異常対策部230は、異常車両検出サーバ10が異常車両を検出した場合、異常車両検出サーバ10が送信した異常対策通知を受信し、受信した異常対策通知の内容に応じて、セントラルECU300または車両ログ送信部220へ対策を指示する。異常対策部230は、例えば、対策通知内容が車両制御機能制限である場合、セントラルECU300へ機能制限を指示し、対策通知内容が車両ログの送信頻度の増加である場合、車両ログ送信部220へ送信頻度の増加を指示する。
【0079】
[5 車両ログの一例]
図5は、本実施の形態における車両ログ記憶部103に格納される車両ログの一例である。車両ログは、車両システム20内で発生したイベント内容であり、異常スコア算出部106が異常スコアを算出する際に用いられる。車両ログは、イベントごとに、車両ログ番号、車両識別子、車種、時刻、車両位置情報、イベント名を含んで構成される。図5では、車両ログ番号が1である行では、車両と1対1で対応する車両識別子が「A1」であり、車両の車種を表す車種が「A」であり、イベント発生時刻を表す時刻が「TA11」であり、イベント発生時の車両の位置を表す車両位置情報が「X1、Y1」であり、イベント名が「ネットワーク機器登録」であることを示している。例えば、車両位置情報は、GPS情報を用いて取得される、イベントが発生した時刻における車両の位置情報である。ネットワーク機器登録およびネットワーク機器削除は、例えば、スマートフォンがBluetooth(登録商標)でカーナビECU500bと接続または削除されたイベントである。または、ネットワーク機器登録およびネットワーク機器削除は、例えば、タブレット機器がカーナビECU500bとWi―Fiで接続または削除されたイベントである。
【0080】
また、車両制御機能作動は、緊急ブレーキ作動または自動駐車モードの起動など、車両システム20を制御する機能が作動したイベントである。
【0081】
また、システムエラー発生は、セントラルECU300が、ZoneECU400a~d上で発生したエラー、または、イーサネット13、イーサネット11、イーサネット12、CAN14、CAN-FD15上で発生したネットワークエラーが発生したイベントである。また、システムエラー解除は、ディーラー等で利用される車両診断ツールを用いて、システムエラーを解除するイベントである。
【0082】
また、アドレスAへアクセスは、カーナビECU500bがアドレスAのWebサーバに対してアクセスしたイベントである。
【0083】
また、アドレスBからアクセスは、アドレスBのサーバからカーナビECU500bに対してアクセスがされたイベントである。
【0084】
また、システムログインは、カーナビECU500bに対してログインが試行されたイベントである。
【0085】
ファイル数増加は、セントラルECU300上に格納されるファイルの種類数が増加したイベントである。
【0086】
つまり、図5の例では、車両識別子が同一でありイベント名がネットワーク機器登録である行と、イベント名がネットワーク機器削除である行とを参照することで、時刻TA11からTA12の間で、ネットワーク機器が1個接続され、その後1個減少したことが分かる。
【0087】
また、車両識別子が同一でありイベント名がインターネット切断である行と、直近の時刻で発生したイベント名がインターネット接続の行とを参照することで、時刻の差からインターネット切断時間を得ることができる。VPN(Virtual Private Network)切断およびVPN接続についても同様である。
【0088】
また、車両ログ番号が7である行と8である行の車両ログを参照することで、緊急ブレーキが、時刻TA23に「X1、Y3」というエリアで発動し、時刻TA24に、「X1、Y4」というエリアで発動したことがわかる。以降では車両位置情報をエリアとして表記することもある。エリアは、予め地図上において設定される領域(静的な領域)であってもよいし、異常車両の位置に応じて設定される領域(動的な領域)であってもよい。
【0089】
また、イベント名がアドレスAへアクセスのイベントと、イベント名がアドレスBへのアクセスのイベントとを参照すれば、カーナビECU500bが2のアドレスへアクセスしたことが分かるため、アクセス先アドレスの変化を取得することができる。
【0090】
また、イベント名がファイル数またはプロセス数が増加のイベントを複数参照すれば、ファイル数またはプロセス数の変化を取得することができる。イベント名は、イベント内容の一例である。
【0091】
また、車両ログに含まれる時刻情報を参照することで、あるイベントが所定の期間内に所定の回数発生した場合に異常スコアを加算するという異常ルールに対して一致するか否かを判定することが可能である。
【0092】
[6 異常ルールの一例]
図6は、本実施の形態におけるルール記憶部105に格納される異常ルールの一例である。異常ルールは、異常ルール番号、異常ルール内容、期間、回数、異常スコア、異常カテゴリを含む。異常ルール内容が示す不審挙動の発生は、車両ログ(例えば、イベント名など)に基づいて特定可能である。
【0093】
図6のルール番号「1」の行では、ルール内容が「ネットワーク機器接続」であり、期間が「1時間」であり、回数が「4」であり、異常スコアが「+1」であり、異常カテゴリが「ネットワーク解析」であることが分かる。図6には、例えば、車両ログから1時間以内のネットワーク接続数を取得し、4回以上であれば、異常スコアを「+1」するというルールが記載されている。また、期間「―」は期間を考慮しないことを示し、例えば、異常ルール番号が8の行では、車両ログからシステムログイン回数を取得し、1回以上であれば異常スコアを「+5」するというルールが記載されている。
【0094】
ネットワーク機器接続は、攻撃者がスマートフォンなどの端末を車両システム20につなげることで侵入を図る際に増加するため、1時間に4回の接続を異常として判定する。
【0095】
インターネットまたはVPN遮断は、攻撃者が車両システム20および車両システム20と接続されるサーバの通信を傍受する場合、または、攻撃者が攻撃発覚を恐れて意図的に切断する場合に発生するため、10分間に1回の発生を異常として判定する。
【0096】
アクセス先アドレスの変化は、攻撃者が車両システム20に対して、悪意のあるURLへアクセスさせようと試行した際に変化するため、一例として1回で異常として判定する。
【0097】
アクセス元アドレスの変化は、攻撃者が車両システム20に対して、ポートスキャンなど攻撃を試行した際に変化するため、1回で異常として判定する。
【0098】
車両制御機能作動は、攻撃者が緊急ブレーキの発動コマンドを調査する際に、緊急ブレーキを複数回発動させる場合に発生するため、1時間に10回の発生を異常として判定する。
【0099】
システムエラー発生は、攻撃者が車両システム20をブルートフォース攻撃した際に、エラーとなるような通信を発生させてしまう場合に発生するため、24時間に2回の発生で異常として判定する。
【0100】
システムエラー解除は、攻撃者がシステムエラーを発生させてしまった場合に、車両診断ツールなどを用いて自らシステムエラーを消去する場合に発生するため、1回で異常として判定する。
【0101】
システムログインは、攻撃者が車両システム20に対してユーザログインを試行した場合に発生するため、1回で異常として判定する。
【0102】
ファイル数またはプロセス数の変化は、攻撃者がマルウェアを車両システム20にインストールした際に、ファイル数またはプロセス数が増加するため、1回で異常として判定する。
【0103】
異常カテゴリは、ネットワーク解析またはシステム解析のいずれかが記載される。ネットワーク解析は、攻撃者が車両システム20の通信機能を解析している可能性が高いことを示す。ネットワーク解析は、攻撃者が車両システム20のホストマシンを解析している可能性が高いことを示す。異常カテゴリは、異常対策時に、効果的な異常対策手段を選択するために利用される。
【0104】
異常スコア算出部106は、例えば、ネットワーク機器の接続頻発、インターネット接続異常、診断コマンドの頻発、アクセス先アドレスの変化、アクセス元アドレスの変化のいずれかを不審挙動であると検出し、当該不審挙動が発生した場合に、ネットワーク解析活動であると判定し、当該車両の異常スコアを増加させてもよい。また、異常スコア算出部106は、例えば、車両制御機能の頻発、システムエラーの頻発、システムエラーの削除、故障コードの頻発、システムログイン、および、ファイル数またはプロセス数の変化のいずれかを不審挙動であると検出し、当該不審挙動が発生した場合に、システム解析活動であると判定し、当該車両の異常スコアを増加させてもよい。
【0105】
なお、図6に示す、異常ルールは一例であり、これに限定されない。また。図6に示す期間、回数、異常スコアの数値は一例であり、これに限定されない。
【0106】
[7 除外ルールの一例]
図7は、本実施の形態におけるルール記憶部105に格納される除外ルールの一例である。図7では、1つの除外ルールごとに、除外ルール番号、位置情報、有効期間、内容、除外対象異常ルールが記載される。
【0107】
図7の除外ルール番号が「3」である行では、位置情報が「X6、Y6」であり、有効期限が設定なしを示す「―」であり、内容が「修理業者A」であり、除外対象ルールが「システムエラー解除」である。つまり、位置情報X6、Y6では、修理業者Aが存在し、修理業者Aがシステムエラーを専用ツールで解除する可能性があるため、異常ルールにおいてシステムエラー解除のイベントを異常と判定せずに、異常スコアをカウントしないことを示す。
【0108】
また、図7の除外ルール番号が4である行では、位置情報が「日本」、有効期間が「T3~T4」、内容が「ソフト更新A」、除外対象ルールが「ファイル数またはプロセス数の変化」である。つまり、有効期間T3~T4の間は、車両システム20のソフトウェア更新が行われるので、それに伴いファイル数が増えることがあるため、ファイル数またはプロセス数の変化を異常と判定せず、異常スコアをカウントしないことを示す。
【0109】
また、図7の除外ルール番号Mの行では、位置情報X4、Y4が示すエリアにはトンネルがあることがわかるため、攻撃者によらないインターネットまたはVPN切断が発生する可能性があることから、インターネットまたはVPN切断が発生しても異常と判定せずに異常スコアをカウントしないことを示す。
【0110】
[8 異常スコアの一例]
図8は、本実施の形態における異常スコア記憶部107に格納される異常スコアの一例である。異常スコアは、異常スコア算出部106によって、車両ログと、異常ルールと、除外ルールとを用いて算出される。異常スコアは、車両ごとの異常スコアである車両別異常スコアと、車種ごとの異常スコアの平均である車種別平均異常スコアと、エリア別の異常スコアの平均であるエリア別平均異常スコアとを含む。なお、異常スコアは、少なくとも車両ログと、異常ルールとを用いて算出されればよい。
【0111】
車両別異常スコアでは、異常ルール番号ごとに異常スコアが算出される。異常スコアの算出方法は後述する。例えば、異常ルール番号が2である行では、車両識別子がA1である車両の異常スコアが1であることを示している。また、車両別異常スコアでは、最後に異常と判定されたイベントの発生時刻である最終異常日時が車両別に記憶される。最終異常日時を確認することで、特定の車両に対して、異常が発生していない期間を取得することができるので、攻撃者が攻撃をしていない、つまり、異常が一定期間発生していない車両に対しては異常スコアを低下させることができる。
【0112】
車種別平均異常スコアには、異常ルール番号および車種ごとに異常スコアが算出され、車種ごとの平均値が含まれる。例えば、異常ルール番号が1である行では、車種Aの平均異常スコアが0であることを示している。
【0113】
エリア別平均異常スコアには、異常ルール番号および車種ごとに異常スコアが算出され、エリアごとの平均値が含まれる。例えば、異常ルール番号が6である行では、位置情報X2、Y2が示すエリアの平均異常スコアが0.5であることを示している。
【0114】
[9 対策ルールの一例]
図9は、本実施の形態におけるルール記憶部105に格納される対策ルールの一例である。対策ルールは、対策ルール番号と、異常カテゴリと、異常スコア、対策ルール内容とを含む。異常対策通知部109は、異常と判定された車両の異常スコアを参照し、異常スコアが最も高い異常ルールの異常カテゴリと、当該異常カテゴリの異常スコアの値を取得し、異常カテゴリと異常スコアの値とに応じて対策ルールを選択し、対策ルール内容を異常対策部230へ通知する。
【0115】
異常対策通知部109は、例えば、異常カテゴリがネットワーク解析であり、異常スコアが25であった場合、対策ルール内容は、「アクセス先とアクセス元アドレスを制限」を選択する。
【0116】
異常スコアの値の大きさによって、攻撃者が攻撃を試行している可能性を把握することができる。図9の対策ルールに基づいて対策が選択されることで、異常スコアが大きいほど、より攻撃者の攻撃試行を妨害する対策を講じることができ、異常スコアが小さいほど、攻撃者の攻撃試行の可能性が低いため、車両システム20の通常利用に影響がない範囲での対策を講じることができる。
【0117】
「ネットワークインターフェースを遮断」は、外部ネットワークとのインタフェースを利用不能にし、インターネット接続を完全に遮断する対策である。
【0118】
「アクセス先とアクセス元アドレスを制限」は、インターネットのアクセス先のアドレスを一部に制限し、アクセス元アドレスおよびポートを一部に制限することで、攻撃者のネットワーク解析を妨害する対策である。
【0119】
「ネットワーク接続機器数を制限」は、ネットワーク接続機器を少数に制限することで、WiFiパスワードに対するブルートフォース攻撃などのネットワーク解析を妨害する対策である。
【0120】
「車両制御機能を停止」は、例えば、自動駐車モードまたは緊急ブレーキの発動自体を停止することで、攻撃者のシステム解析を妨害する対策である。
【0121】
「車両ログの送信頻度を増加」は、車両ログが定常時には1時間に1回送信である場合に、10分に1回送信に変更する、つまり車両ログの送信頻度を増加することで、攻撃者のシステム解析の状況をより詳細に捉えるための対策である。
【0122】
「車両ログの種類数を増加」は、車両ログが定常時には2種類である場合に、5種類に変更する、つまり車両ログの種類数を増加することで、攻撃者のシステム解析の状況をより詳細に捉えるための対策である。
【0123】
「ドライバへの警告」は、攻撃者であった場合に、車両システムを監視していることを通知することで、今後の解析を妨害する対策である。
【0124】
図9に示すように、異常対策通知部109は、例えば、不審挙動がネットワーク解析活動であると判定された場合、異常スコアの値に応じて、ネットワークインターフェースを遮断、アクセス先とアクセス元アドレスを制限、ネットワーク接続機器数を制限、および、ドライバへの警告のいずれか1つ以上を実施させる。また、異常対策通知部109は、例えば、不審挙動がシステム解析活動であると判定された場合、異常スコアの値に応じて、車両制御機能の起動停止、車両ログの送信頻度の増加、車両ログの種類数の増加、および、ドライバへの警告のいずれか1つ以上を実施させる。
【0125】
[10 異常スコアリスト表示画面の一例]
図10は、本実施の形態における異常表示部110が表示する異常スコアリスト表示画面の一例である。異常表示部110は、異常スコアリスト表示画面において、例えば、異常スコアの大きい順に車両識別子を並べて表示する。異常表示部110は、例えば、異常スコアが高い順に異常車両をリスト表示してもよい。これにより、異常車両検出サーバ10を利用するオペレーターは、より攻撃が疑われる車両を容易に見つけ出すことができ、優先的に車両ログを解析することができる。なお、異常スコアリスト表示画面では、異常スコアの大きい順に車両識別子を表示することに限定されない。
【0126】
[11 異常スコア地図表示画面の一例]
図11は、本実施の形態における異常表示部110が表示する異常スコア地図表示画面の一例である。当該画面には、地図が表示されており、地図上に緯度X2、X3、X4と、経度Y2、Y3、Y4が表示されている。また、異常車両と判定された車両の最新の位置である位置情報X4、Y4に、異常車両が存在することを示す表示を地図上に表示している。また、異常車両と判定された車両が位置するエリア、例えばX3、Y3を異常エリアとして地図上に表示している。例えば、異常エリアは、異常車両が異常と判定された地点を含む静的または動的なエリアであってもよい。図11は、例えば、位置情報X3、Y3が示す位置において車両が異常と判定され、異常と判定された異常車両が位置情報X4、Y4が示す位置まで移動したことを示している。異常エリアと最新の異常車両の位置とは、地図上において互いに異なる位置であってもよい。このように、異常表示部110は、例えば、異常車両と判定された車両の位置情報を地図上に表示してもよい。
【0127】
これにより、オペレーターは容易に攻撃者が攻撃試行している可能性が高い車が存在する位置を直観的に把握することができ、地図上の施設名等から、攻撃者による攻撃の状況を推測することができる。
【0128】
[12 異常スコア段階表示画面の一例]
図12は、本実施の形態における異常表示部110が表示する異常スコア段階表示画面の一例である。画面には攻撃の進行度を表すフェーズである、偵察、武器化、デリバリー、エクスプロイト、インストール、C&C(Command and Control)、目的実行を段階に分けて表示される。異常車両と判定された車両識別子A1の車両が現在偵察フェーズであると判定された場合、チェックマークが偵察の列に表示され、現在デリバリーフェーズであると判定された場合、チェックマークがデリバリーの列に表示される。図12では、車両識別子A1の車両が現在偵察フェーズおよびデリバリーフェーズであると判定された例を示している。偵察フェーズであることの判定方法およびデリバリーフェーズであることの判定方法の詳細は後述する。
【0129】
異常表示部110は、例えば、異常車両判定部108によって異常車種が偵察フェーズ(第一の攻撃段階の一例)であると判定された場合、異常車両と判定された車両、当該車両の車種、および、当該車両の位置情報の少なくとも1つの情報を表示し、偵察フェーズより攻撃の進行度が高いデリバリフェーズ(第二の攻撃段階の一例)であると判定された場合、現在がデリバリーフェーズの階層であることを示す情報を表示してもよい。なお、位置情報は、異常車両の現在位置を示す情報であるが、異常車両であると判定された位置を示す情報であってもよい。
【0130】
これにより、オペレーターは、車両A1に対する攻撃がどの程度進行しているかを直観的に把握することができる。
【0131】
なお、攻撃の進行度は、サイバーキルチェーンに基づく進行度を示しているが、サイバーキルチェーンに基づく進行度に限定されない。
【0132】
[13 車両ログ受信処理のシーケンス]
図13は、本実施の形態における異常車両検出サーバ10が、車両システム20から車両ログを受信して記憶するまでの処理シーケンスを示している。
【0133】
(S1301)車両システム20のセントラルECU300は、イーサネット13を介して車両ログを収集し、収集した車両ログを車両ログ送信装置200の車両ログ送信部220に送信する。
【0134】
(S1302)車両ログ送信装置200の車両ログ送信部220は、車両側通信部210へ車両ログを送信する。
【0135】
(S1303)車両ログ送信装置200の車両側通信部210は、外部ネットワークを介して、異常車両検出サーバ10のサーバ側通信部101へ車両ログを送信する。
【0136】
(S1304)異常車両検出サーバ10のサーバ側通信部101は、車両ログを受信し、受信した車両ログを車両ログ受信部102へ転送する。サーバ側通信部101は、複数の車両のそれぞれから車両ログを受信し、受信した複数の車両ログのそれぞれを車両ログ受信部102へ転送する。
【0137】
(S1305)異常車両検出サーバ10の車両ログ受信部102は、車両ログを受信し、受信した車両ログを車両ログ記憶部103に記憶する。
【0138】
図13に示す動作は、定期的に実行されてもよいし、異常車両検出サーバ10が複数の車両に車両ログを送信することを示す指示を送信することで実行されてもよい。
【0139】
[14 除外ルール受信処理のシーケンス]
図14は、本実施の形態における異常車両検出サーバ10が、除外ルール共有サーバ30から除外ルールを受信して記憶するまでの処理シーケンスを示している。
【0140】
(S1401)除外ルール共有サーバ30は、外部ネットワークを介して、除外ルールを異常車両検出サーバ10の車両側通信部210に送信する。
【0141】
(S1402)異常車両検出サーバ10のサーバ側通信部101は、除外ルールを受信し、受信した除外ルールを除外ルール受信部104へ転送する。
【0142】
(S1403)異常車両検出サーバ10の除外ルール受信部104は、除外ルールを受信し、受信した除外ルールをルール記憶部105に記憶する。
【0143】
図14に示す動作は、定期的に実行されてもよいし、異常車両検出サーバ10が複数の車両から車両ログを受信すること、異常車両検出サーバ10が複数の車両に車両ログを送信することを示す指示を送信すること、または、後述する図15に示す動作を実行することをトリガとして実行されてもよい。
【0144】
[15 異常スコア算出処理のシーケンス]
図15は、本実施の形態における異常車両検出サーバ10が、異常スコアを算出し、異常車両を検出するまでの処理シーケンスを示している。
【0145】
(S1501)異常車両検出サーバ10の異常スコア算出部106は、車両ログ記憶部103から車両ログを取得し、ルール記憶部105から除外ルールと異常ルールとを取得する。
【0146】
(S1502)異常スコア算出部106は、取得した車両ログと、除外ルールと、異常ルールとに基づき、異常スコアを算出して、異常スコア記憶部107に記憶する。異常スコア算出部106は、複数の車両のそれぞれにおいて異常スコアを算出し、算出した複数の車両それぞれの異常スコアを異常スコア記憶部107に記憶する。異常スコア算出部106は、例えば、複数の車両のそれぞれにおいて、異常カテゴリごとに異常スコアを算出してもよい。
【0147】
(S1503)異常スコア算出部106は、異常スコアを算出後、異常スコアを更新したことを異常車両判定部108へ通知する。異常スコア算出部106は、例えば、複数の車両のそれぞれにおいて、異常スコアを算出した後、異常車両判定部108へ通知する。また、異常スコア算出部106は、異常スコアを更新した車両を特定するための情報(例えば、車両識別子など)を当該通知とともに異常車両判定部108に送信してもよい。
【0148】
(S1504)異常車両判定部108は、異常スコア記憶部107から異常スコアを取得し、異常車両を検出する。
【0149】
[16 異常対策処理のシーケンス]
図16は、本実施の形態における異常車両検出サーバ10が、異常車両を検出後、異常に対して対策を講じるまでの処理シーケンスを示している。
【0150】
(S1601)異常車両検出サーバ10の異常車両判定部108は、検出した異常車両の車両識別子と、車種と、エリア(例えば、異常エリア)と、異常スコアとを異常対策通知部109へ送信する。
【0151】
(S1602)異常車両検出サーバ10の異常対策通知部109は、ステップS1601で送信された情報に基づいて、該当する車両へ異常が検出されたことを示す通知(異常車両通知)をするよう、当該通知をサーバ側通信部101へ送信する。異常対策通知部109は、受信した異常車両の車両識別子に対応する車両、受信した異常車両の車種と同一の車種の車両、および、受信した異常車両のエリアと同一エリアに位置する車両の少なくとも一方の車両へ異常が検出されたことを示す通知(異常車両通知)をするよう、当該通知をサーバ側通信部101へ送信する。異常対策通知部109は、例えば、ステップS1602において、異常車両と、当該異常車両と同一車種の車両および異常車両と同一エリアに位置する車両の少なくとも一方の車両とへ異常が検出されたことを示す通知をするよう、当該通知をサーバ側通信部101へ送信してもよい。当該通知は、異常カテゴリごとの異常スコアを含んでいてもよい。
【0152】
(S1603)異常車両検出サーバ10のサーバ側通信部101は、外部ネットワークを介して、ステップS1602の通知(異常車両通知)を車両ログ送信装置200の車両側通信部210へ送信する。
【0153】
(S1604)車両ログ送信装置200の車両側通信部210は、ステップS1602の通知(異常車両通知)を異常対策部230へ送信する。
【0154】
(S1605)車両ログ送信装置200の異常対策部230は、車両ログ送信部220へ異常対策を要求する。異常対策部230は、ステップS1602の通知(異常車両通知)と図9に示す対策ルールとに基づいた異常対策を車両ログ送信部220へ要求する。異常対策部230は、例えば、異常カテゴリがシステム解析であり、システム解析の異常カテゴリにおける異常スコアが10以上20未満である場合、車両ログの種類数の増加を車両ログ送信部220へ要求する。また、異常対策部230は、例えば、異常カテゴリがシステム解析であり、システム解析の異常カテゴリにおける異常スコアが20以上30未満である場合、車両ログの送信頻度増加を車両ログ送信部220へ要求する。
【0155】
(S1606)車両ログ送信装置200の異常対策部230は、イーサネット13を介して、セントラルECU300へ異常対策を要求する。異常対策部230は、例えば、セントラルECU300に車両制御機能の制限(機能制限)を要求する。
【0156】
[17 異常表示処理のシーケンス]
図17は、本実施の形態における異常車両検出サーバ10が、異常車両を検出後、異常をオペレーターへ表示するまでの処理シーケンスを示している。
【0157】
(S1701)異常車両検出サーバ10の異常車両判定部108は、検出した異常車両の車両識別子と、車種と、エリアとを異常表示部110へ送信する。異常車両判定部108は、さらに、異常スコアを異常表示部110へ送信してもよい。
【0158】
(S1702)異常車両検出サーバ10の異常表示部110は、受信した異常車両の車両識別子と、車種と、エリアとを、グラフィカルユーザーインターフェースを用いて表示する。異常表示部110は、異常車両判定部108から異常スコアを取得した場合、取得した異常スコアもグラフィカルユーザーインターフェースを用いて表示してもよい。
【0159】
(S1703)異常車両検出サーバ10の異常車両判定部108は、エリア別の攻撃段階および車種別の攻撃段階を判定し、判定結果を異常表示部110へ送信する。攻撃段階の判定方法については後述する。
【0160】
(S1704)異常車両検出サーバ10の異常表示部110は、受信した攻撃段階を、グラフィカルユーザーインターフェースを用いて表示する。
【0161】
なお、ステップS1703およびS1704の処理は、行われなくてもよい。また、ステップS1703は、異常車両が存在する場合に実行される。
【0162】
[18 車両別異常スコア算出処理のフローチャート]
図18は、本実施の形態における異常スコア算出部106の車両別異常スコア算出処理のフローチャートを示す。具体的には、図18は、図15に示すステップS1502の処理の一部を詳細に示しており、車両ごとに異常スコアを算出する処理を示すフローチャートである。
【0163】
(S1801)異常スコア算出部106は、変数iを用意し、i=1とする。そして、ステップS1802を実施する。ここで変数iは、1~Nの値で、Nは異常ルール数を示す。
【0164】
(S1802)異常スコア算出部106は、異常ルールiを選択し、ステップS1803を実施する。
【0165】
(S1803)異常スコア算出部106は、車両ログに記載されるイベント内容と、位置情報と、時刻と、異常ルールとを参照し、車両ログのイベントが異常ルールiと合致し、異常であるか否かを判定する。異常スコア算出部106は、車両ログのイベントが異常ルールiと合致し、異常であると判定される場合(S1803でYes)、ステップS1804を実施する。また、異常スコア算出部106は、車両ログのイベントが異常ルールiと合致せず、異常でないと判定される場合(S1803でNo)、ステップS1805を実行する。
【0166】
(S1804)異常スコア算出部106は、車両ログに記載されるイベント内容と、位置情報と、時刻と、除外ルールとを参照し、異常ルールiが除外対象の異常ルールであるか否かを判定する。異常スコア算出部106は、異常ルールiが除外対象の異常ルールでない場合(S1804でNo)、ステップS1806を実行し、異常ルールiが除外対象の異常ルールである場合(S1804でYes)、ステップS1805を実行する。これにより、異常スコア算出部106は、システムエラーが解除されやすいディーラーもしくは修理業者による作業中、および、システム内のファイル数が増減する可能性のあるソフト更新期間中において、異常車両の誤検知を防ぐことが可能となる。
【0167】
(S1805)異常スコア算出部106は、異常スコアに記載される最終異常日時(図8を参照)を参照し、現在の日時から24時間経過しているか否かを判定する。異常スコア算出部106は、現在の日時が読み出した最終異常日時から24時間経過している場合(S1805でYes)、ステップS1807を実施する。また、異常スコア算出部106は、現在の日時が読み出した最終異常日時から24時間経過していない場合(S1805でNo)、ステップS1808を実施する。つまり、異常スコア算出部106は、車両ログに記載される車両識別子と対応する車両の異常スコアを、異常ルールiの異常スコアを含めずに算出する。
【0168】
異常スコア算出部106は、不審挙動を検出した場合(S1803でYes)であっても、不審挙動を検出した時刻に基づく所定の期間内に再度不審挙動が検出された場合(S1805でNo)、車両の異常スコアを増加させなくてもよい。なお、ステップS1805の判定は、所定のエリアにて不審挙動が検出されたか否かにより行われてもよい。この場合、異常スコア算出部106は、不審挙動を検出した場合(S1803でYes)であっても、不審挙動を検出したエリアに基づく所定のエリアに再度不審挙動が検出された場合(S1805でNo)、車両の異常スコアを増加させなくてもよい。所定の期間は、例えば、不審挙動を検出した時刻を当該期間の最初の時刻として含む期間であってもよい。
【0169】
(S1806)異常スコア算出部106は、車両ログに記載される車両識別子と対応する異常スコアに、異常ルールiに記載された異常スコアを加算し、ステップS1808を実施する。つまり、異常スコア算出部106は、車両ログに記載される車両識別子と対応する車両の異常スコアを、異常ルールiの異常スコアを含めて算出する。
【0170】
(S1807)異常スコア算出部106は、車両ログに記載される車両識別子と対応する異常スコアを0に変更し、ステップS1808を実施する。異常スコア算出部106は、異常ルールiが除外対象であり、かつ、現在の日時が最終異常日時から所定時間経過すると、異常スコアをリセットするとも言える。
【0171】
なお、異常スコア算出部106は、ステップS1807において、異常スコアを0にすることに限定されず、異常スコアを減らしてもよい。このように、異常スコア算出部106は、不審挙動が検出された時刻を含む所定の期間中に、不審挙動が検出された車両において再度不審挙動が検出されなかった場合、異常スコアを減少させてもよい。
【0172】
(S1808)異常スコア算出部106は、異常ルールiがNであるか否かを判定する。つまり、異常スコア算出部106は、全ての異常ルールiに対して、ステップS1803以降の処理が行われたか否かを判定する。異常スコア算出部106は、異常ルールiがNである場合(S1808でYes)、処理を終了し、そうでない場合(S1808でNo)、ステップS1809を実施する。
【0173】
(S1809)異常スコア算出部106は、異常ルールiを1インクリメントし、ステップS1802以降の処理を実施する。異常スコア算出部106は、次の異常ルールiに対して、ステップS1803以降の処理を実施する。
【0174】
なお、異常スコア算出部106は、ステップS1808でYesの場合、車両ごとに、異常ルールiごとの異常スコアに所定の演算を行ってもよい。異常スコア算出部106は、ステップS1808でYesの場合、異常ルール全ての異常スコアを合計するが、例えば、異常カテゴリごと(例えば、ネットワーク解析、システム解析ごと)の異常スコアを合計してもよい。このように算出された異常スコアの合計値は、車両別異常スコアの一例である。
【0175】
[19 車種別異常スコア算出処理のフローチャート]
図19は、本実施の形態における異常スコア算出部106の車種別異常スコア算出処理のフローチャートを示す。具体的には、図19は、図15に示すステップS1502の処理の一部を詳細に示しており、異常車両判定部108による異常車両であるか否かの判定に用いられる車種ごとの統計値(図19の例では、異常スコアの平均値)を算出する処理を示すフローチャートである。
【0176】
(S1901)異常スコア算出部106は、車両別異常スコアを異常スコア記憶部107から取得する。異常スコア算出部106は、例えば、図18の動作により算出された車両ごとの車両別異常スコア(例えば、車両ごとの異常スコアの合計値)を取得する。
【0177】
(S1902)異常スコア算出部106は、変数iを用意し、i=1とする。そして、異常スコア算出部106は、ステップS1903を実施する。ここで変数iは、1~Nの値で、Nは異常ルール数を示す。
【0178】
(S1903)異常スコア算出部106は、異常ルールiを選択し、ステップS1904を実施する。異常スコア算出部106は、例えば、異常ルール番号(図6を参照)から変数iに対応する異常ルールi(異常ルール内容)を選択する。異常スコア算出部106は、例えば、変数i=1である場合、異常ルール番号が1であるネットワーク機器接続を選択する。
【0179】
(S1904)異常スコア算出部106は、車種ごとに、すべての車両の車両別異常スコアから、異常ルールiと対応する異常スコアを抽出し、抽出したすべての車両の異常スコアの平均値を算出する。異常スコア算出部106は、車種のすべての車両の異常ルールiにおける異常スコアの平均値を、当該車種の異常ルールiにおける異常スコアとして算出する。
【0180】
なお、車種の異常ルールiにおける異常スコアは、平均値に限定されず、統計値であればよい。車種の異常ルールiにおける異常スコアは、最大値、最小値、中央値、最頻値などであってもよいし、それ以外の統計値であってもよい。
【0181】
(S1905)異常スコア算出部106は、変数iがNであるか否かを判定する。異常スコア算出部106は、変数iがNである場合(S1905でYes)、処理を終了し、そうでない場合(S1904でNo)、ステップS1906を実施する。
【0182】
(S1906)異常スコア算出部106は、変数iを1インクリメントし、ステップS1903を実施する。異常スコア算出部106は、次の異常ルールに対して、ステップS1903以降の処理を実施する。
【0183】
なお、異常スコア算出部106は、ステップS1905でYesの場合、車種ごとに、異常ルールiごとの異常スコアの平均値に所定の演算を行ってもよい。異常スコア算出部106は、ステップS1905でYesの場合、車種ごとに、全ての異常スコアの平均値を算出するが、例えば、異常カテゴリごと(例えば、ネットワーク解析、システム解析ごと)の異常スコアの平均値を算出してもよい。このように算出された異常スコアの合計値は、車種別異常スコアの一例である。
【0184】
[20 エリア別異常スコア算出処理のフローチャート]
図20は、本実施の形態における異常スコア算出部106のエリア別異常スコア算出処理のフローチャートを示す。具体的には、図20は、図15に示すステップS1502の処理の一部を詳細に示しており、異常車両判定部108による異常車両であるか否かの判定に用いられるエリア(例えば、異常エリア)ごとの統計値(図20の例では、異常スコアの平均値)を算出する処理を示すフローチャートである。なお、図20に示すステップS2001~S2003、S2005およびS2006のそれぞれは、図19に示すステップS1901~S1903、S1905およびS1906のそれぞれと同様であり、説明を簡略化する。
【0185】
(S2001)異常スコア算出部106は、車両別異常スコアを異常スコア記憶部107から取得する。
【0186】
(S2002)異常スコア算出部106は、変数iを用意し、i=1とする。そして、ステップS2003を実施する。ここで変数iは1~Nの値で、Nは異常ルール数を示す。
【0187】
(S2003)異常スコア算出部106は、異常ルールiを選択し、ステップS2004を実施する。
【0188】
(S2004)異常スコア算出部106は、エリアごとに、すべての車両の車両別異常スコアから、異常ルールiと対応する異常スコアを抽出し、抽出したすべての車両の異常スコアの平均値を算出する。異常スコア算出部106は、エリア内のすべての車両の異常ルールiにおける異常スコアの平均値を、当該エリアの異常ルールiにおける異常スコアとして算出する。
【0189】
なお、エリアの異常ルールiにおける異常スコアは、平均値に限定されず、統計値であればよい。エリアの異常ルールiにおける異常スコアは、最大値、最小値、中央値、最頻値などであってもよいし、それ以外の統計値であってもよい。
【0190】
(S2005)異常スコア算出部106は、変数iがNである場合(S2005でYes)、処理を終了し、そうでない場合(S2005でNo)、ステップS2006を実施する。
【0191】
(S2006)異常スコア算出部106は、変数iを1インクリメントし、ステップS2003を実施する。
【0192】
なお、異常スコア算出部106は、ステップS2005でYesの場合、エリアごとに、異常ルールiごとの異常スコアの平均値に所定の演算を行ってもよい。異常スコア算出部106は、ステップS2005でYesの場合、エリアごとに、当該エリアに位置する車両全ての異常スコアの平均値を算出するが、例えば、異常カテゴリごと(例えば、ネットワーク解析、システム解析ごと)の異常スコアの平均値を算出してもよい。このように算出された異常スコアの合計値は、エリア別異常スコアの一例である。
【0193】
[21 異常車両検出処理のフローチャート]
図21は、本実施の形態における異常車両判定部108の異常車両検出処理のフローチャートを示す。具体的には、図21は、図15に示すステップS1504の処理の一部を詳細に示すフローチャートである。
【0194】
(S2101)異常車両判定部108は、特定車両を選択し、選択した車両の異常スコアを取得し、ステップS2102を実施する。ここで、異常スコアは、車両別異常スコア、車種別異常スコア、エリア別異常スコアを含む。特定車両の異常スコアは、各異常ルールに対する異常スコアの合計値であるが、ネットワーク解析における異常スコアの合計値またはシステム解析における異常スコアの合計値であってもよい。ステップS2101は、取得ステップの一例である。
【0195】
(S2102)異常車両判定部108は、異常スコアが10よりも大きいか否かを判定する。異常車両判定部108は、異常スコアが10よりも大きい場合(S2102でYes)、ステップS2103を実施し、そうでない場合(S2102でNo)、ステップS2104を実施する。なお、ステップS2102の判定に用いる基準は、10に限定されず、適宜決定されればよい。ステップS2102は、異常車両判定ステップの一例である。
【0196】
(S2103)異常車両判定部108は、ステップS2102でYesの場合、選択中の車両(特定車両)を異常車両として検出し、ステップS2104を実施する。
【0197】
(S2104)異常車両判定部108は、ステップS2101で取得した異常スコアが選択中の車両(特定車両)と同一車種の車種別異常平均スコアよりも大きいか否かを判定する。異常車両判定部108は、例えば、ステップS2104において、車両の異常スコアと、当該車両と同一の車種の車両の異常スコアに基づく統計値とを比較し、比較結果に基づいて当該車両が異常車両であるか否かを判定する。異常車両判定部108は、異常スコアが選択中の車両と同一車種の車種別異常平均スコアよりも大きい場合(S2104でYes)、ステップS2105を実施し、そうでない場合(S2104でNo)、ステップS2106を実施する。ステップS2104は、異常車両判定ステップの一例である。
【0198】
(S2105)異常車両判定部108は、選択中の車両(特定車両)を異常車両として検出し、ステップS2101で取得した異常スコアを2倍にして、異常スコア記憶部107に記憶し、ステップS2106を実施する。異常車両判定部108は、ネットワーク解析に関する異常スコアおよびシステム解析に関する異常スコアの両方を2倍する。異常車両判定部108は、2倍にした異常スコアを特定車両の異常スコアとして異常スコア記憶部107に記憶する。異常車両判定部108は、特定車両の異常スコアを車種別異常平均スコアに基づいて更新するとも言える。これにより、同一車種の車両において、通常と異なる運転挙動を示す車両の異常スコアをより大きくすることができるので、優先的に解析することができる。
【0199】
なお、通常の運転挙動とは、リバースエンジニアリングを行わない運転者が車両を運転するときに行い得ると想定される運転挙動である。また、ここでの運転挙動には、車両の走行時における運転状態の挙動(例えば、図6に示す車両制御機能作動など)、および、車両の内部処理における挙動(例えば、図6にネットワーク機器接続、システムエラー発生など)の両方が含まれる。通常の運転挙動は、所定の運転挙動の一例である。所定の運転挙動は、例えば、図6に示す異常ルール、期間、階数に該当しない運転挙動であってもよい。
【0200】
(S2106)異常車両判定部108は、ステップS2101で取得した異常スコアが選択中の車両(特定車両)が存在するエリアのエリア別異常平均スコアよりも大きいか否かを判定する。異常車両判定部108は、車両の異常スコアと、当該車両と同一のエリアに位置する車両の異常スコアに基づく統計値とを比較し、比較結果に基づいて当該車両が異常車両であるか否かを判定するとも言える。異常車両判定部108は、異常スコアが選択中の車両の存在エリアのエリア別異常平均スコアよりも大きい場合(S2106でYes)、ステップS2107を実施し、そうでない場合(S2106でNo)、処理を終了する。ステップS2106は、異常車両判定ステップの一例である。
【0201】
(S2107)異常車両判定部108は、選択中の車両(特定車両)を異常車両として検出し、ステップS2101で取得した異常スコアまたはステップS2105で算出された異常スコアを2倍にして、異常スコア記憶部107に記憶し、処理を終了する。異常車両判定部108は、ネットワーク解析に関する異常スコアおよびシステム解析に関する異常スコアの両方を2倍する。異常車両判定部108は、2倍にした異常スコアを特定車両の異常スコアとして異常スコア記憶部107に記憶する。異常車両判定部108は、特定車両の異常スコアをエリア別異常平均スコアに基づいて更新するとも言える。これにより、同一エリアの車両において、通常(所定の一例)と異なる運転挙動を示す車両の異常スコアをより大きくすることができるので、オペレーターに異常スコアが大きな異常車両を優先的に解析させることができる。
【0202】
なお、異常車両判定部108は、図21に示すステップS2102、S2104およびS2106の判定のうち、少なくとも1つの判定により異常車両を検出してもよい。
【0203】
[22 異常対策処理のフローチャート]
図22は、本実施の形態における異常対策通知部109の異常対策処理のフローチャートを示す。具体的には、図22は、図16に示すステップS1602で通知する異常車両通知の内容を決定する処理を示すフローチャートである。
【0204】
(S2201)異常対策通知部109は、異常車両判定部108が検出した異常車両の情報を取得し、ステップS2202を実施する。当該情報には、異常スコアが含まれる。
【0205】
(S2202)異常対策通知部109は、異常車両と判定された車両の異常スコアを参照し、異常カテゴリごとの異常スコアの合計値を算出し、ステップS2203を実施する。
【0206】
(S2203)異常対策通知部109は、異常カテゴリが、ネットワーク解析である異常スコアの合計値(異常スコア合計値)に対する処理を実行する。
【0207】
(S2204)異常対策通知部109は、異常カテゴリが、システム解析である異常スコアの合計値(異常スコア合計値)に対する処理を実行する。
【0208】
ここで、図22に示すステップS2203およびS2204の詳細について、図23および図24を参照しながら説明する。図23は、本実施の形態における異常カテゴリ別の異常対策処理のフローチャートの一例である。図23は、図22に示すステップS2203の詳細を示すフローチャートの一例である。なお、図23は、異常スコアのうち、ネットワーク解析における異常スコアを用いて行われる処理である。言い換えると、図23に示す処理において、異常スコアのうち、システム解析における異常スコアは用いられない。なお、図23に示す動作は、異常車両または異常エリアにおいて第二の攻撃段階であると判定された場合に実行されてもよい。
【0209】
(S2231)異常対策通知部109は、ネットワーク解析における異常カテゴリが30(第1の閾値)以上であるか否かを判定する。異常対策通知部109は、異常カテゴリが30以上である場合(S2231でYes)、ステップS2232を実施する。
【0210】
(S2233)異常対策通知部109は、異常カテゴリが30未満である場合(S2231でNo)、異常カテゴリが20以上(第1の閾値より小さい第2の閾値)であるか否かを判定する。異常対策通知部109は、30未満20以上である場合(S2233でYes)、ステップS2234を実施する。
【0211】
(S2235)異常対策通知部109は、異常カテゴリが20未満である場合(S2235でNo)、異常カテゴリが10以上(第2の閾値より小さい第3の閾値)であるか否かを判定する。異常対策通知部109は、20未満10以上の場合(S2235でYes)、ステップS2236を実施する。
【0212】
(S2237)異常対策通知部109は、異常カテゴリが10未満である場合(S2235でNo)、異常カテゴリが1以上(第3の閾値より小さい第4の閾値)であるか否かを判定する。異常対策通知部109は、異常カテゴリが1以上の場合(S2237でYes)、ステップS2238を実施し、異常カテゴリが0の場合(S2237でNo)、対策を実施せずにステップS2204を実施する。
【0213】
(S2232)異常対策通知部109は、ネットワークインターフェースを遮断し、S2204を実施する。
【0214】
(S2234)異常対策通知部109は、アクセス先およびアクセス元アドレスを制限し、S2204を実施する。
【0215】
(S2236)異常対策通知部109は、ネットワーク接続機器数を制限し、S2204を実施する。
【0216】
(S2238)異常対策通知部109は、ドライバへ警告し、S2204を実施する。
【0217】
このように、異常対策通知部109は、ネットワーク解析における異常スコアが高いほど、ネットワークにおける制限が強くなるように、対策を決定する。なお、上記の第1~第4の閾値は、一例であり数値はこれに限定されない。
【0218】
なお、異常対策通知部109は、ネットワーク解析における異常スコア合計値に対応する処理に加え、当該異常スコア合計値以下に対応する処理を実行してもよい。異常対策通知部109は、例えば、ステップS2231でYesの場合、ステップS2232の処理に加え、ステップS2234、S2236およびS2238の少なくとも1つの処理を実行してもよい。
【0219】
図24は、本実施の形態における異常カテゴリ別の異常対策処理のフローチャートの他の一例である。図24は、図22に示すステップS2204の詳細を示すフローチャートの一例である。なお、図24は、異常スコアのうち、システム解析における異常スコアを用いて行われる処理である。言い換えると、図24に示す処理において、異常スコアのうち、ネットワーク解析における異常スコアは用いられない。なお、図24に示す動作は、異常車両または異常エリアにおいて第二の攻撃段階であると判定された場合に実行されてもよい。
【0220】
(S2241)異常対策通知部109は、システム解析における異常カテゴリが30(第5の閾値)以上であるか否かを判定する。異常対策通知部109は、異常カテゴリが30以上である場合(S2241でYes)、ステップS2242を実施する。
【0221】
(S2243)異常対策通知部109は、異常カテゴリが30未満である場合(S2241でNo)、異常カテゴリが20以上(第5の閾値より小さい第6の閾値)であるか否かを判定する。異常対策通知部109は、30未満20以上である場合(S2243でYes)、ステップS2244を実施する。
【0222】
(S2245)異常対策通知部109は、異常カテゴリが20未満である場合(S2243でNo)、異常カテゴリが10以上(第6の閾値より小さい第7の閾値)であるか否かを判定する。異常対策通知部109は、20未満10以上の場合(S2245でYes)、ステップS2246を実施する。
【0223】
(S2247)異常対策通知部109は、異常カテゴリが10未満である場合(S2245でNo)、異常カテゴリが1以上(第7の閾値より小さい第8の閾値)であるか否かを判定する。異常対策通知部109は、異常カテゴリが1以上の場合(S2247でYes)、ステップS2248を実施し、異常カテゴリが0の場合(S2247でNo)、対策を実施せずに処理を終了する。
【0224】
(S2242)異常対策通知部109は、車両制御機能を停止し、終了する。
【0225】
(S2244)異常対策通知部109は、異常車両検出サーバ10へ送信する車両ログの送信頻度を増加させ、終了する。
【0226】
(S2246)異常対策通知部109は、異常車両検出サーバ10へ送信する車両ログの種類数を増加させ、終了する。
【0227】
(S2248)異常対策通知部109は、ドライバへ警告し、終了する。
【0228】
このように、異常対策通知部109は、システム解析における異常スコアが高いほど、車両システム20における制限が強くなるように、対策を決定する。なお、上記の第5~第8の閾値は、一例であり数値はこれに限定されない。
【0229】
なお、異常対策通知部109は、システム解析における異常スコア合計値に対応する処理に加え、当該異常スコア合計値以下に対応する処理を実行してもよい。異常対策通知部109は、例えば、ステップS2241でYesの場合、ステップS2242の処理に加え、ステップS2244、S2246およびS2248の少なくとも1つの処理を実行してもよい。
【0230】
図23および図24に示すように、異常対策通知部109は、異常車両と判定した車両と同一の車種の車両または異常車両と判定した車両が位置する異常エリアに位置する車両に対して、異常スコアの値(例えば、異常車両と判定された車両の異常スコアの値)または不審挙動の種別(例えば、ネットワーク解析またはシステム解析)に基づいて、ネットワークインターフェースの遮断、アクセス先とアクセス元のアドレスの制限、ネットワーク接続機器数の制限、ドライバへの警告、ネットワーク接続制限と、車両制御機能制限、車両制御機能の起動停止、車両ログの送信頻度の増加、車両ログの種類数の増加、および、ドライバへの通知のうち、いずれか1つ以上を要求してもよい。当該1つ以上の要求は、例えば、異常車両、異常車両と判定した車両と同一の車種の車両、および、異常エリアに位置する異常車両以外の車両に対して行われる。
【0231】
[23 エリア別攻撃段階判定処理のフローチャート]
図25は、本実施の形態における異常車両判定部108のエリア別攻撃段階判定処理のフローチャートを示す。具体的には、図25は、攻撃者による攻撃の進行度を判定する処理の一例を示すフローチャートである。図25に示す処理は、例えば、図22に示す処理と並行して行われてもよい。
【0232】
(S2301)異常車両判定部108は、検出した異常車両の情報を取得し、異常車両が検出された位置情報を異常エリアとして取得し、ステップS2302を実施する。
【0233】
(S2302)異常車両判定部108は、ステップS2301にて取得した異常エリア内に、複数の異常車両が存在するか否かを判定する。異常車両判定部108は、異常エリア内にステップS2301で取得した異常車両以外の異常車両が複数存在する場合(S2302でYes)、ステップS2303を実施し、ステップS2301で取得した異常車両以外の異常車両が存在しない場合(S2302でNo)、ステップS2305を実施する。なお、異常車両判定部108は、異常エリア内にステップS2301で取得した異常車両以外の異常車両が所定数以上である場合、ステップS2302でYesと判定し、異常エリア内にステップS2301で取得した異常車両以外の異常車両が所定数未満である場合、ステップS2302でNoと判定してもよい。
【0234】
(S2303)異常車両判定部108は、ステップS2302でYesと判定した場合、異常車両が検出された異常エリアに対する攻撃がデリバリーフェーズ(第二の攻撃段階の一例)であると判定する。
【0235】
(S2304)異常車両判定部108は、デリバリーフェーズである場合、異常対策通知部109を介して異常エリアの車両に対して警告を行い、処理を終了する。異常車両判定部108は、異常エリアの車両に対して、デリバリーフェーズであることを示す情報をドライバ等に報知するための情報を送信する。異常車両判定部108は、例えば、異常エリアに位置する全ての車両に対して警告を行う。異常車両判定部108は、例えば、異常車両ではない1以上の車両のそれぞれに対しても警告を行うとも言える。報知するための情報は、さらに異常に対する対策を行うための情報を含んでいてもよい。報知するための情報は、例えば、図23に示すステップS2232、S2234、S2236、S2238、および、図24に示すステップS2242、S2244、S2246、S2248の少なくとも1つを実行するための情報を含んでいてもよい。
【0236】
(S2305)異常車両判定部108は、異常車両が検出された異常エリアに対する攻撃が偵察フェーズ(第一の攻撃段階の一例)であると判定して終了する。異常車両判定部108は、例えば、異常エリア内の異常車両以外の車両に対して、警告を行わない。なお、異常対策通知部109は、異常車両判定部108がステップS2305の判定を行うと、現在偵察フェーズであることを示す情報を車両に通知してもよい。
【0237】
このように、異常車両判定部108は、異常車両が検出されたエリアである異常エリアにおいて、所定の台数以下の異常車両が存在する場合、第一の攻撃段階であると判定し、所定の台数より多い異常車両が存在する場合、第一の攻撃段階よりリバースエンジニアリングにおける攻撃の進行度が進行した第二の攻撃段階であると判定する。そして、攻撃が第二の攻撃段階である場合、異常エリアの車両に対して、警告が行われる。
【0238】
[24 エリア別攻撃段階判定処理のフローチャート]
図26は、本実施の形態における異常車両判定部108の車種別攻撃段階判定処理のフローチャートを示す。具体的には、図26は、攻撃者による攻撃の進行度を判定する処理の他の一例を示すフローチャートである。
【0239】
(S2401)異常車両判定部108は、検出した異常車両の情報を取得し、取得した情報に基づいて異常車両の車種を異常車種として取得し、ステップS2402を実施する。
【0240】
(S2402)異常車両判定部108は、ステップS2401にて取得した異常車種において、複数の異常車両が存在するか否かを判定する。異常車両判定部108は、異常車種にステップS2401で取得した異常車両以外の異常車両が複数存在する場合(S2402でYes)、ステップS2403を実施し、ステップS2401で取得した異常車両以外の異常車両が存在しない場合(S2402でNo)に、ステップS2405を実施する。なお、異常車両判定部108は、異常車種にステップS2401で取得した異常車両以外の異常車両が所定数以上存在する場合、ステップS2402でYesと判定し、異常車種にステップS2401で取得した異常車両以外の異常車両が所定数未満存在する場合、ステップS2402でNoと判定してもよい。
【0241】
(S2403)異常車両判定部108は、ステップS2402でYesと判定した場合、異常車両の車種に対する攻撃がデリバリーフェーズ(第二の攻撃段階の一例)であると判定する。
【0242】
(S2404)異常車両判定部108は、デリバリーフェーズである場合、異常対策通知部109を介して異常車種の車両に対して警告を行い、処理を終了する。異常車両判定部108は、異常車種の車両に対して、デリバリーフェーズであることを示す情報をドライバ等に報知するための情報を送信する。異常車両判定部108は、例えば、異常車種の車両の全てに対して警告を行う。異常車両判定部108は、例えば、異常車種において異常車両ではない1以上の車両のそれぞれに対して警告を行うとも言える。報知するための情報は、さらに異常に対する対策を行うための情報を含んでいてもよい。報知するための情報は、図23に示すステップS2232、S2234、S2236、S2238、および、図24に示すステップS2242、S2244、S2246、S2248の少なくとも1つを実行するための情報を含んでいてもよい。
【0243】
(S2405)異常車両判定部108は、異常車両の車種に対する攻撃は偵察フェーズ(第一の攻撃段階の一例)であると判定して終了する。異常車両判定部108は、例えば、異常車種における異常車両以外の車両に対して、警告を行わない。なお、異常対策通知部109は、異常車両判定部108がステップS2405の判定を行うと、現在偵察フェーズであることを示す情報を車両に通知してもよい。
【0244】
このように、異常車両判定部108は、異常車両が検出された車種(異常車種)において、所定の台数以下の異常車両が存在する場合、第一の攻撃段階であると判定し、所定の台数より多い異常車両が存在する場合、第一の攻撃段階よりリバースエンジニアリングにおける攻撃の進行度が進行した第二の攻撃段階であると判定する。そして、攻撃が第二の攻撃段階である場合、異常車種の車両に対して、警告が行われる。
【0245】
なお、第一の攻撃段階が偵察フェーズであり、第二の攻撃段階がデリバリーフェーズである例について説明したが、第一の攻撃段階および第二の攻撃段階はこれに限定されない。図12に示すサイバーキルチェーンを例に説明すると、第二の攻撃段階は、第一の攻撃段階とは異なる段階であって、第一の攻撃段階より攻撃の進行度が高い段階(フェーズ)であれば特に限定されない。
【0246】
[その他変形例]
なお、本開示を上記各実施の形態に基づいて説明してきたが、本開示は、上記各実施の形態に限定されないのはもちろんである。以下のような場合も本開示に含まれる。
【0247】
(1)上記の実施の形態では、自動車に搭載される車載ネットワークにおけるセキュリティ対策として説明したが、適用範囲はこれに限られない。自動車に限らず、建機、農機、船舶、鉄道、飛行機などのモビリティにも適用してもよい。
【0248】
すなわち、モビリティネットワークおよびモビリティネットワークシステムにおけるサイバーセキュリティ対策として適用可能である。
【0249】
また、工場やビルなどの産業制御システムで利用される通信ネットワーク、または、組込みデバイスを制御するための通信ネットワークに適用してもよい。
【0250】
(2)上記の実施の形態において、異常ルールに記載される、期間、回数および異常スコアの値は、変更してもよい。各値は、攻撃が疑われる特定の条件を満たした場合に異常スコアが加算されれば特に限定されない。
【0251】
(3)上記の実施の形態において、異常スコア算出部106は、異常ルールごとに異常スコアを算出すると説明したが、異常ルールすべてを適応した異常スコアの合計値を算出してもよい。
【0252】
(4)上記の実施の形態において、異常スコア算出部106は、車種およびエリアごとに異常スコアの平均値を算出すると説明したが、合計値または中央値のような統計値を用いてもよい。
【0253】
(5)上記の実施の形態において、異常スコアリスト表示画面は、異常スコアの高い順に表示させると説明したが、異常スコアの昇順または降順にソートできる機能を用意してもよい。
【0254】
(6)上記の実施の形態において、異常スコア地図表示画面は、異常エリアと異常車両を地図上に表示すると説明したが、異常エリアと異常車両はそれぞれ複数表示してもよく、異常スコアを合わせて表示してもよい。
【0255】
(7)上記の実施の形態において、異常スコア段階表示画面は、特定の異常車両の攻撃進行度を示す段階別に表示すると説明したが、すべての段階を表示する必要はなく、偵察フェーズのみを表示してもよい。
【0256】
(8)上記の実施の形態において、異常スコア算出処理のフローチャートでは、最終異常日時から24時間経過していた場合、異常スコアを0にすると説明したが、必ずしも24時間である必要はなく所定の時間であればよい。また、異常スコアを必ずしも0にする必要はなく、減少させてもよい。
【0257】
(9)上記の実施の形態において、異常車両検出処理のフローチャートでは、異常スコアが車種別異常平均スコアよりも大きい場合とエリア別異常平均スコアよりも大きい場合とに、異常スコアを2倍すると説明したが、必ずしも2倍である必要はなく、固定値を加えるなど異常スコアが大きくなればよい。
【0258】
(10)上記の実施の形態において、エリア別攻撃段階判定処理のフローチャートおよび車種別攻撃段階判定処理のフローチャートでは、異常車両が1台のみであれば偵察フェーズと判定し、複数台であればデリバリーフェーズと判定したが、判定基準の異常車両の台数は、1ではなく所定値で判定してもよい。
【0259】
(11)上記の実施の形態における各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。RAMまたはハードディスクユニットには、コンピュータプログラムが記録されている。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【0260】
(12)上記の実施の形態における各装置を構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。RAMには、コンピュータプログラムが記録されている。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
【0261】
また、上記の各装置を構成する構成要素の各部は、個別に1チップ化されていても良いし、一部またはすべてを含むように1チップ化されてもよい。
【0262】
また、ここでは、システムLSIとしたが、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)、または、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
【0263】
さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
【0264】
(13)上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。ICカードまたはモジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。ICカードまたはモジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、ICカードまたはモジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
【0265】
(14)本開示は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、コンピュータプログラムからなるデジタル信号であるとしてもよい。
【0266】
また、本開示は、コンピュータプログラムまたはデジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(登録商標) Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
【0267】
また、本開示は、コンピュータプログラムまたはデジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
【0268】
また、本開示は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって、メモリは、上記コンピュータプログラムを記録しており、マイクロプロセッサは、コンピュータプログラムにしたがって動作するとしてもよい。
【0269】
また、プログラムまたはデジタル信号を記録媒体に記録して移送することにより、またはプログラムまたはデジタル信号を、ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【0270】
(15)また、上記実施の形態において説明された複数の処理の順序は一例である。複数の処理の順序は、変更されてもよいし、複数の処理は、並行して実行されてもよい。また、複数の処理の一部は、実行されなくてもよい。
【0271】
(16)また、上記実施の形態における異常車両検出サーバは、車両システムにおいて発生したイベント内容のデータを含む車両ログを1以上の車両から受信する異常車両検出サーバであって、受信した車両ログのイベント内容に基づいて、通常の運転とは異なる不審挙動を検出し、車両ログと対応する車両に対してリバースエンジニアリングが行われている可能性を示す異常スコアを算出する異常スコア算出部と、異常スコアが所定値以上の場合に、車両を異常車両として判定する異常車両判定部と、を備える構成であってもよい。
【0272】
(17)上記実施の形態および上記変形例をそれぞれ組み合わせるとしてもよい。
【産業上の利用可能性】
【0273】
本開示は、攻撃者によるリバースエンジニアリング活動が行われる可能性があるモビリティを管理する情報処理装置に有用である。
【符号の説明】
【0274】
10 異常車両検出サーバ
11、12、13 イーサネット
14 CAN
15 CAN-FD
20 車両システム
30 除外ルール共有サーバ
101 サーバ側通信部
102 車両ログ受信部
103 車両ログ記憶部
104 除外ルール受信部
105 ルール記憶部
106 異常スコア算出部
107 異常スコア記憶部
108 異常車両判定部
109 異常対策通知部
110 異常表示部
200 車両ログ送信装置
210 車両側通信部
220 車両ログ送信部
230 異常対策部
300 セントラルECU
400a、400b、400c、400d ZoneECU
500a ボディECU
500b カーナビECU
500c ステアリングECU
500d ブレーキECU
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26