(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-16
(45)【発行日】2024-12-24
(54)【発明の名称】検知装置、車両、検知方法および検知プログラム
(51)【国際特許分類】
H04L 12/46 20060101AFI20241217BHJP
H04L 12/22 20060101ALI20241217BHJP
H04L 12/66 20060101ALI20241217BHJP
B60R 16/023 20060101ALI20241217BHJP
【FI】
H04L12/46 100C
H04L12/22
H04L12/66
B60R16/023 P
(21)【出願番号】P 2022524308
(86)(22)【出願日】2021-03-30
(86)【国際出願番号】 JP2021013437
(87)【国際公開番号】W WO2021235105
(87)【国際公開日】2021-11-25
【審査請求日】2023-09-21
(31)【優先権主張番号】P 2020086520
(32)【優先日】2020-05-18
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】395011665
【氏名又は名称】株式会社オートネットワーク技術研究所
(73)【特許権者】
【識別番号】000183406
【氏名又は名称】住友電装株式会社
(73)【特許権者】
【識別番号】000002130
【氏名又は名称】住友電気工業株式会社
(74)【代理人】
【識別番号】110000682
【氏名又は名称】弁理士法人ワンディ-IPパ-トナ-ズ
(72)【発明者】
【氏名】濱田 芳博
(72)【発明者】
【氏名】上田 浩史
【審査官】安井 雅史
(56)【参考文献】
【文献】特開2019-029961(JP,A)
【文献】特開2019-075056(JP,A)
【文献】特開2016-184358(JP,A)
【文献】特開2016-010089(JP,A)
【文献】特開2014-236376(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/00 -12/66
H04L 41/00 -69/40
B60R 16/00 -17/02
(57)【特許請求の範囲】
【請求項1】
車両に搭載される車載ネットワークにおける不正メッセージを検知する検知装置であって、
前記車載ネットワークにおける1または複数の送信メッセージを取得するメッセージ取得部と、
前記メッセージ取得部によって取得された前記送信メッセージに含まれる、同じ時刻に対応する複数種類のデータの組を取得するデータ取得部と、
予め作成された、複数の時刻にそれぞれ対応する複数の前記組に基づく検出条件を記憶する記憶部と、
前記データ取得部によって取得された前記組、および前記検出条件に基づいて、前記組における監視対象の種類の前記データの推定誤差を算出する算出部と、
前記算出部により算出された前記推定誤差と、前記算出部により過去に算出された前記推定誤差とに基づいて、前記監視対象の前記種類の前記データに対応する前記送信メッセージが不正メッセージであるか否かを判断する判断部とを備え、
前記判断部は、前記算出部により算出された前記推定誤差と、前記算出部により過去に算出された前記推定誤差とに基づいて、前記推定誤差の移動平均を算出し、算出した前記移動平均に基づいて、前記監視対象の前記種類の前記データに対応する前記送信メッセージが不正メッセージであるか否かを判断する、検知装置。
【請求項2】
前記検出条件は、所定の相関関係を有する複数種類のデータの前記組に基づいて作成されている、請求項
1に記載の検知装置。
【請求項3】
前記監視対象の前記種類の前記データと前記相関関係を有する前記データである相関データが複数種類ある場合、前記監視対象の前記種類の前記データと前記複数種類の前記相関データとに基づいて1つの前記検出条件が作成されている、請求項
2に記載の検知装置。
【請求項4】
前記監視対象の前記種類の前記データと前記相関関係を有する前記データである相関データが複数種類ある場合、前記監視対象の前記種類の前記データと前記複数種類の前記相関データとに基づいて複数の前記検出条件がそれぞれ作成されている、請求項
2に記載の検知装置。
【請求項5】
前記データは、状態を表すステータスデータである、請求項1から請求項
4のいずれか1項に記載の検知装置。
【請求項6】
前記データ取得部は、異なる前記送信メッセージにそれぞれ含まれる前記複数種類のデータの組を取得する、請求項1から請求項
5のいずれか1項に記載の検知装置。
【請求項7】
前記メッセージ取得部は、取得した複数の前記送信メッセージを記憶部に保存し、
前記データ取得部は、前記記憶部に保存された各前記送信メッセージから前記組を取得する、請求項
6に記載の検知装置。
【請求項8】
前記検知装置は、さらに、
前記車載ネットワークにおける前記送信メッセージを監視する監視部と、
前記送信メッセージの送信間隔の分布を取得する分布取得部とを備え、
前記判断部は、前記監視部による監視結果および前記分布取得部によって取得された前記分布に基づいて不正メッセージを検知し、
前記算出部は、前記判断部により前記分布に基づいて不正メッセージとすべきでないと判断された前記送信メッセージについては、前記送信メッセージに格納された前記データの前記推定誤差を算出し、
前記判断部は、前記算出部により算出された前記推定誤差と、前記算出部により過去に算出された前記推定誤差とに基づいて、前記分布に基づいて不正メッセージとすべきでないと判断した前記送信メッセージが不正メッセージであるか否か、を判断する、請求項1から請求項
7のいずれか1項に記載の検知装置。
【請求項9】
請求項1から請求項
8のいずれか1項に記載の検知装置を備える、車両。
【請求項10】
車両に搭載される車載ネットワークにおける不正メッセージを検知し、記憶部を備える検知装置における検知方法であって、
前記車載ネットワークにおける1または複数の送信メッセージを取得するステップと、
取得した前記送信メッセージに含まれる、同じ時刻に対応する複数種類のデータの組を取得するステップとを含み、
前記記憶部は、予め作成された、複数の時刻にそれぞれ対応する複数の前記組に基づく検出条件を記憶し、
前記検知方法は、さらに、
取得した前記組、および前記検出条件に基づいて、前記組における監視対象
の種類の前記データの推定誤差を算出するステップと、
算出した前記推定誤差と、過去に算出した前記推定誤差とに基づいて、前記監視対象の前記種類の前記データに対応する前記送信メッセージが不正メッセージであるか否かを判断するステップとを含み、
前記送信メッセージが不正メッセージであるか否かを判断するステップにおいては、算出した前記推定誤差と、過去に算出した前記推定誤差とに基づいて、前記推定誤差の移動平均を算出し、算出した前記移動平均に基づいて、前記監視対象の前記種類の前記データに対応する前記送信メッセージが不正メッセージであるか否かを判断する、検知方法。
【請求項11】
車両に搭載される車載ネットワークにおける不正メッセージを検知し、記憶部を備える検知装置において用いられる検知プログラムであって、
コンピュータを、
前記車載ネットワークにおける1または複数の送信メッセージを取得するメッセージ取得部と、
前記メッセージ取得部によって取得された前記送信メッセージに含まれる、同じ時刻に対応する複数種類のデータの組を取得するデータ取得部、
として機能させるためのプログラムであり、
前記記憶部は、予め作成された、複数の時刻にそれぞれ対応する複数の前記組に基づく検出条件を記憶し、
さらに、コンピュータを、
前記データ取得部によって取得された前記組、および前記検出条件に基づいて、前記組における監視対象の種類の前記データの推定誤差を算出する算出部と、
前記算出部により算出された前記推定誤差と、前記算出部により過去に算出された前記推定誤差とに基づいて、前記監視対象の前記種類の前記データに対応する前記送信メッセージが不正メッセージであるか否かを判断する判断部、
として機能させるための
プログラムであり、
前記判断部は、前記算出部により算出された前記推定誤差と、前記算出部により過去に算出された前記推定誤差とに基づいて、前記推定誤差の移動平均を算出し、算出した前記移動平均に基づいて、前記監視対象の前記種類の前記データに対応する前記送信メッセージが不正メッセージであるか否かを判断する、検知プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、検知装置、車両、検知方法および検知プログラムに関する。
この出願は、2020年5月18日に出願された日本出願特願2020-86520号を基礎とする優先権を主張し、その開示のすべてをここに取り込む。
【背景技術】
【0002】
特許文献1(特開2019-29961号公報)には、以下のような検知装置が開示されている。すなわち、検知装置は、車両に搭載される車載ネットワークにおける不正メッセージを検知する検知装置であって、前記車載ネットワークにおける1または複数の送信メッセージを取得するメッセージ取得部と、前記メッセージ取得部によって取得された前記送信メッセージに含まれる、同じ時刻に対応する複数種類のデータの組を取得するデータ取得部と、予め作成された、複数の時刻にそれぞれ対応する複数の前記組に基づく検出条件を記憶する記憶部と、前記データ取得部によって取得された前記組、および前記検出条件に基づいて前記不正メッセージを検知する検知部とを備える。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【0004】
本開示の検知装置は、車両に搭載される車載ネットワークにおける不正メッセージを検知する検知装置であって、前記車載ネットワークにおける1または複数の送信メッセージを取得するメッセージ取得部と、前記メッセージ取得部によって取得された前記送信メッセージに含まれる、同じ時刻に対応する複数種類のデータの組を取得するデータ取得部と、予め作成された、複数の時刻にそれぞれ対応する複数の前記組に基づく検出条件を記憶する記憶部と、前記データ取得部によって取得された前記組、および前記検出条件に基づいて、前記組における監視対象の種類の前記データの推定誤差を算出する算出部と、前記算出部により算出された前記推定誤差と、前記算出部により過去に算出された前記推定誤差とに基づいて、前記監視対象の前記種類の前記データに対応する前記送信メッセージが不正メッセージであるか否かを判断する判断部とを備える。
【0005】
本開示の検知方法は、車両に搭載される車載ネットワークにおける不正メッセージを検知し、記憶部を備える検知装置における検知方法であって、前記車載ネットワークにおける1または複数の送信メッセージを取得するステップと、取得した前記送信メッセージに含まれる、同じ時刻に対応する複数種類のデータの組を取得するステップとを含み、前記記憶部は、予め作成された、複数の時刻にそれぞれ対応する複数の前記組に基づく検出条件を記憶し、前記検知方法は、さらに、取得した前記組、および前記検出条件に基づいて、前記組における監視対象の前記種類の前記データの推定誤差を算出するステップと、算出した前記推定誤差と、過去に算出した前記推定誤差とに基づいて、前記監視対象の前記種類の前記データに対応する前記送信メッセージが不正メッセージであるか否かを判断するステップとを含む。
【0006】
本開示の検知プログラムは、車両に搭載される車載ネットワークにおける不正メッセージを検知し、記憶部を備える検知装置において用いられる検知プログラムであって、コンピュータを、前記車載ネットワークにおける1または複数の送信メッセージを取得するメッセージ取得部と、前記メッセージ取得部によって取得された前記送信メッセージに含まれる、同じ時刻に対応する複数種類のデータの組を取得するデータ取得部、として機能させるためのプログラムであり、前記記憶部は、予め作成された、複数の時刻にそれぞれ対応する複数の前記組に基づく検出条件を記憶し、さらに、コンピュータを、前記データ取得部によって取得された前記組、および前記検出条件に基づいて、前記組における監視対象の種類の前記データの推定誤差を算出する算出部と、前記算出部により算出された前記推定誤差と、前記算出部により過去に算出された前記推定誤差とに基づいて、前記監視対象の前記種類の前記データに対応する前記送信メッセージが不正メッセージであるか否かを判断する判断部、として機能させるためのプログラムである。
【0007】
本開示の一態様は、このような特徴的な処理部を備える検知装置として実現することができるだけでなく、検知装置を備える車載通信システムとして実現することができる。また、本開示の一態様は、検知装置の一部または全部を実現する半導体集積回路として実現することができる。
【図面の簡単な説明】
【0008】
【
図1】
図1は、本開示の第1の実施の形態に係る車載通信システムの構成を示す図である。
【
図2】
図2は、本開示の第1の実施の形態に係るバス接続装置群の構成を示す図である。
【
図3】
図3は、本開示の第1の実施の形態に係る車載通信システムにおけるゲートウェイ装置の構成を示す図である。
【
図4】
図4は、本開示の第1の実施の形態に係るゲートウェイ装置が用いる通常モデルの作成過程を説明するための図である。
【
図5】
図5は、本開示の第1の実施の形態に係るゲートウェイ装置において行われる同期処理のタイミングを説明するための図である。
【
図6】
図6は、本開示の第1の実施の形態に係るゲートウェイ装置において行われる同期処理のタイミングを説明するための図である。
【
図7】
図7は、本開示の第1の実施の形態に係る通常モデルの学習フェーズにおける作成処理を説明するための図である。
【
図8】
図8は、本開示の第1の実施の形態に係る通常モデルのテストフェーズにおける検証処理を説明するための図である。
【
図9】
図9は、本開示の第1の実施の形態に係る通常モデルを用いた不正メッセージの検知処理を説明するための図である。
【
図10】
図10は、本開示の第1の実施の形態に係る通常モデルの変形例についての学習フェーズにおける作成処理を説明するための図である。
【
図11】
図11は、本開示の第1の実施の形態に係る通常モデルの変形例を用いた不正メッセージの検知処理を説明するための図である。
【
図12】
図12は、本開示の第1の実施の形態に係るゲートウェイ装置が送信メッセージを受信する際の動作手順を定めたフローチャートである。
【
図13】
図13は、本開示の第1の実施の形態に係るゲートウェイ装置が、受信した送信メッセージを記憶部に保存した際の動作手順を定めたフローチャートである。
【
図14】
図14は、本開示の第2の実施の形態に係る車載通信システムにおけるゲートウェイ装置の構成を示す図である。
【
図15】
図15は、本開示の第2の実施の形態に係る車載通信システムにおける監視対象の周期メッセージの送信間隔の時間変化の一例を示す図である。
【
図16】
図16は、本開示の第2の実施の形態に係る車載通信システムにおける対象メッセージの送信間隔の度数分布の一例を示す図である。
【
図17】
図17は、本開示の第2の実施の形態に係るゲートウェイ装置における検知部による不正メッセージの検出例を示す図である。
【
図18】
図18は、本開示の第2の実施の形態に係るゲートウェイ装置が対象メッセージを受信する際の動作手順を定めたフローチャートである。
【
図19】
図19は、本開示の第2の実施の形態に係るゲートウェイ装置が判断処理を行う際の動作手順を定めたフローチャートである。
【発明を実施するための形態】
【0009】
従来、車載ネットワークにおける不正メッセージを検知する検知装置が開発されている。
【0010】
[本開示が解決しようとする課題]
特許文献1に記載の技術を超えて、車載ネットワークにおける不正メッセージをより正しく検知することが可能な技術が望まれる。
【0011】
この発明は、上述の課題を解決するためになされたもので、その目的は、車載ネットワークにおける不正メッセージをより正しく検知することが可能な検知装置、車両、検知方法および検知プログラムを提供することである。
【0012】
[本開示の効果]
本開示によれば、車載ネットワークにおける不正メッセージをより正しく検知することができる。
【0013】
[本開示の実施形態の説明]
最初に、本開示の実施形態の内容を列記して説明する。
【0014】
(1)本開示の実施の形態に係る検知装置は、車両に搭載される車載ネットワークにおける不正メッセージを検知する検知装置であって、前記車載ネットワークにおける1または複数の送信メッセージを取得するメッセージ取得部と、前記メッセージ取得部によって取得された前記送信メッセージに含まれる、同じ時刻に対応する複数種類のデータの組を取得するデータ取得部と、予め作成された、複数の時刻にそれぞれ対応する複数の前記組に基づく検出条件を記憶する記憶部と、前記データ取得部によって取得された前記組、および前記検出条件に基づいて、前記組における監視対象の種類の前記データの推定誤差を算出する算出部と、前記算出部により算出された前記推定誤差と、前記算出部により過去に算出された前記推定誤差とに基づいて、前記監視対象の前記種類の前記データに対応する前記送信メッセージが不正メッセージであるか否かを判断する判断部とを備える。
【0015】
このように、複数種類のデータの組における監視対象の種類のデータの推定誤差を算出し、算出した推定誤差と、過去に算出した推定誤差とに基づいて、当該データに対応する送信メッセージが不正メッセージであるか否かを判断する構成により、たとえば現在の推定誤差の正当性に基づいて送信メッセージが不正メッセージであるか否かを判断する従来技術の構成と比べて、データの突発的な変化が判断結果に与える影響を抑制することができるため、検知性能を向上させることができる。したがって、車載ネットワークにおける不正メッセージをより正しく検知することができる。
【0016】
(2)好ましくは、前記算出部は、算出した前記推定誤差、および前記検出条件を用いて作成された前記推定誤差の分布に基づいて、前記監視対象の前記種類の前記データの正当性に関する評価値を算出し、前記判断部は、前記算出部により算出された前記評価値と、前記算出部により過去に算出された前記評価値とに基づいて、前記監視対象の前記種類の前記データに対応する前記送信メッセージが不正メッセージであるか否かを判断する。
【0017】
このような構成により、現在の評価値と過去の評価値とに基づいて、車載ネットワークにおける不正メッセージをより正しく検知することができる。
【0018】
(3)好ましくは、前記判断部は、前記算出部により算出された前記推定誤差と、前記算出部により過去に算出された前記推定誤差とに基づいて、前記推定誤差の移動平均を算出し、算出した前記移動平均に基づいて、前記監視対象の前記種類の前記データに対応する前記送信メッセージが不正メッセージであるか否かを判断する。
【0019】
このような構成により、現在の推定誤差と過去の推定誤差とに基づく移動平均に基づいて、車載ネットワークにおける不正メッセージをより正しく検知することができる。
【0020】
(4)好ましくは、前記検出条件は、所定の相関関係を有する複数種類のデータの前記組に基づいて作成されている。
【0021】
このように、データ間においてある程度の関係が存在する複数種類のデータの組に基づいて検出条件が作成される構成により、組におけるあるデータから当該組における他のデータがとり得る値の範囲をより狭めることが可能な検出条件を作成することができる。これにより、当該他のデータの正当性をより正しく判断することができる。すなわち、適切な検出条件を作成することができる。
【0022】
(5)より好ましくは、前記算出部は、算出した前記推定誤差、および前記検出条件を用いて作成された前記推定誤差の分布に基づいて、前記監視対象の前記種類の前記データの正当性に関する評価値を算出し、前記判断部は、前記算出部により算出された前記評価値と、前記算出部により過去に算出された前記評価値とに基づいて、前記監視対象の前記種類の前記データに対応する前記送信メッセージが不正メッセージであるか否かを判断する。
【0023】
このような構成により、たとえば、攻撃者が、監視対象の種類のデータおよび複数種類の相関データのうちの一部のデータを改変した場合においても、改変したデータと残りのデータとの関係に基づいて、上記組のデータの異常を判断することができる。すなわち、攻撃者は、不正侵入するためには、監視対象の種類のデータおよび複数種類の相関データの全部を改変しなければならないので、車載ネットワークに対する不正侵入を困難にすることができる。これにより、車載ネットワークにおけるセキュリティを向上させることができる。
【0024】
(6)より好ましくは、前記監視対象の前記種類の前記データと前記相関関係を有する前記データである相関データが複数種類ある場合、前記監視対象の前記種類の前記データと前記複数種類の前記相関データとに基づいて複数の前記検出条件がそれぞれ作成されている。
【0025】
このような構成により、車載ネットワークに対する不正侵入を困難にするとともに、検出条件の算出における計算負荷を軽減することができる。
【0026】
(7)好ましくは、前記データは、状態を表すステータスデータである。
【0027】
このような構成により、たとえば、監視対象の種類のステータスデータが、ギアのシフトポジションまたはシートベルトの状態のように不連続に変化する値である場合において、監視対象の種類のステータスデータに対応する送信メッセージが不正メッセージであるか否かをより正しく判断することができる。
【0028】
(8)好ましくは、前記データ取得部は、異なる前記送信メッセージにそれぞれ含まれる前記複数種類のデータの組を取得する。
【0029】
受信時刻、送信時刻または作成時刻等が異なる複数種類のデータは、異なる送信メッセージにそれぞれ含まれることが多い。上記のような構成により、時刻によって検知対象のデータの種類が制限されることを防ぐことができる。
【0030】
(9)より好ましくは、前記メッセージ取得部は、取得した複数の前記送信メッセージを記憶部に保存し、前記データ取得部は、前記記憶部に保存された各前記送信メッセージから前記組を取得する。
【0031】
このような構成により、たとえば、記憶部に保存された複数の送信メッセージにおけるデータをリサンプリングすることができるので、複数種類のデータの時刻を合わせることができる。これにより、同じ時刻に対応する複数種類のデータの組を容易に取得することができる。
【0032】
(10)好ましくは、前記検知装置は、さらに、前記車載ネットワークにおける前記送信メッセージを監視する監視部と、前記送信メッセージの送信間隔の分布を取得する分布取得部とを備え、前記判断部は、前記監視部による監視結果および前記分布取得部によって取得された前記分布に基づいて不正メッセージを検知し、前記算出部は、前記判断部により前記分布に基づいて前記不正メッセージとすべきでないと判断された前記送信メッセージについては、前記送信メッセージに格納された前記データの前記推定誤差を算出し、前記判断部は、前記算出部により算出された前記推定誤差と、前記算出部により過去に算出された前記推定誤差とに基づいて、前記分布に基づいて不正メッセージとすべきでないと判断した前記送信メッセージが不正メッセージであるか否か、を判断する。
【0033】
送信間隔を精度よく偽装した送信メッセージは、上記監視結果および上記分布に基づいて不正メッセージとして検知することが困難である。上記のような構成により、当該送信メッセージを、上記組および検出条件に基づいて不正メッセージとして検知することができるので、車載ネットワークにおけるセキュリティを向上させることができる。
【0034】
(11)本開示の実施の形態に係る車両は、前記検知装置を備える。
【0035】
このような構成により、検知装置を備える車両において、車載ネットワークにおける不正メッセージをより正しく検知することができる。
【0036】
(12)本開示の実施の形態に係る検知方法は、車両に搭載される車載ネットワークにおける不正メッセージを検知し、記憶部を備える検知装置における検知方法であって、前記車載ネットワークにおける1または複数の送信メッセージを取得するステップと、取得した前記送信メッセージに含まれる、同じ時刻に対応する複数種類のデータの組を取得するステップとを含み、前記記憶部は、予め作成された、複数の時刻にそれぞれ対応する複数の前記組に基づく検出条件を記憶し、前記検知方法は、さらに、取得した前記組、および前記検出条件に基づいて、前記組における監視対象の前記種類の前記データの推定誤差を算出するステップと、算出した前記推定誤差と、過去に算出した前記推定誤差とに基づいて、前記監視対象の前記種類の前記データに対応する前記送信メッセージが不正メッセージであるか否かを判断するステップとを含む。
【0037】
このように、複数種類のデータの組における監視対象の種類のデータの推定誤差を算出し、算出した推定誤差と、過去に算出した推定誤差とに基づいて、当該データに対応する送信メッセージが不正メッセージであるか否かを判断する方法により、たとえば現在の推定誤差の正当性に基づいて送信メッセージが不正メッセージであるか否かを判断する従来技術の構成と比べて、データの突発的な変化が判断結果に与える影響を抑制することができるため、検知性能を向上させることができる。したがって、車載ネットワークにおける不正メッセージをより正しく検知することができる。
【0038】
(13)本開示の実施の形態に係る検知プログラムは、車両に搭載される車載ネットワークにおける不正メッセージを検知し、記憶部を備える検知装置において用いられる検知プログラムであって、コンピュータを、前記車載ネットワークにおける1または複数の送信メッセージを取得するメッセージ取得部と、前記メッセージ取得部によって取得された前記送信メッセージに含まれる、同じ時刻に対応する複数種類のデータの組を取得するデータ取得部、として機能させるためのプログラムであり、前記記憶部は、予め作成された、複数の時刻にそれぞれ対応する複数の前記組に基づく検出条件を記憶し、さらに、コンピュータを、前記データ取得部によって取得された前記組、および前記検出条件に基づいて、前記組における監視対象の種類の前記データの推定誤差を算出する算出部と、前記算出部により算出された前記推定誤差と、前記算出部により過去に算出された前記推定誤差とに基づいて、前記監視対象の前記種類の前記データに対応する前記送信メッセージが不正メッセージであるか否かを判断する判断部、として機能させるためのプログラムである。
【0039】
このように、複数種類のデータの組における監視対象の種類のデータの推定誤差を算出し、算出した推定誤差と、過去に算出した推定誤差とに基づいて、当該データに対応する送信メッセージが不正メッセージであるか否かを判断する構成により、たとえば現在の推定誤差の正当性に基づいて送信メッセージが不正メッセージであるか否かを判断する従来技術の構成と比べて、データの突発的な変化が判断結果に与える影響を抑制することができるため、検知性能を向上させることができる。したがって、車載ネットワークにおける不正メッセージをより正しく検知することができる。
【0040】
以下、本開示の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。また、以下に記載する実施の形態の少なくとも一部を任意に組み合わせてもよい。
【0041】
<第1の実施の形態>
[構成および基本動作]
図1は、本開示の第1の実施の形態に係る車載通信システムの構成を示す図である。
【0042】
図1を参照して、車載通信システム301は、ゲートウェイ装置101と、複数の車載通信機111と、複数のバス接続装置群121とを備える。
【0043】
図2は、本開示の第1の実施の形態に係るバス接続装置群の構成を示す図である。
【0044】
図2を参照して、バス接続装置群121は、複数の制御装置122を含む。なお、バス接続装置群121は、複数の制御装置122を備える構成に限らず、1つの制御装置122を含む構成であってもよい。
【0045】
車載通信システム301は、道路を走行する車両1に搭載される。車載ネットワーク12は、車両1の内部における装置である車載装置を複数含む。具体的には、車載ネットワーク12は、車載装置の一例である、複数の車載通信機111および複数の制御装置122を含む。
【0046】
なお、車載ネットワーク12は、複数の車載装置を含む構成であれば、複数の車載通信機111を含みかつ制御装置122を含まない構成であってもよいし、車載通信機111を含まずかつ複数の制御装置122を含む構成であってもよいし、1つの車載通信機111および1つの制御装置122を含む構成であってもよい。
【0047】
車載ネットワーク12において、車載通信機111は、たとえば、車両1の外部における装置と通信する。具体的には、車載通信機111は、たとえば、TCU(Telematics Communication Unit)、近距離無線端末装置、およびITS(Intelligent Transport Systems)無線機である。
【0048】
TCUは、たとえば、LTE(Long Term Evolution)または3G等の通信規格に従って、無線基地局装置と無線通信を行うことが可能であり、かつゲートウェイ装置101と通信を行うことが可能である。TCUは、たとえば、ナビゲーション、車両盗難防止、リモートメンテナンスおよびFOTA(Firmware Over The Air)等のサービスに用いる情報を中継する。
【0049】
近距離無線端末装置は、たとえば、Wi-Fi(登録商標)およびBluetooth(登録商標)等の通信規格に従って、車両1に乗車している人間すなわち搭乗者の保持するスマートホン等の無線端末装置と無線通信を行うことが可能であり、かつゲートウェイ装置101と通信を行うことが可能である。当該近距離無線端末装置は、たとえば、エンターテイメント等のサービスに用いる情報を中継する。
【0050】
また、近距離無線端末装置は、たとえば、所定の通信規格に従って、搭乗者の保持するスマートキー等の無線端末装置、およびタイヤに設けられた無線端末装置とLF(Low Frequency)帯またはUHF(Ultra High Frequency)帯の電波を用いて無線通信を行うことが可能であり、かつゲートウェイ装置101と通信を行うことが可能である。当該近距離無線端末装置は、たとえば、スマートエントリおよびTPMS(Tire Pressure Monitoring System)等のサービスに用いる情報を中継する。
【0051】
ITS無線機は、たとえば、道路の近傍に設けられた光ビーコン、電波ビーコンおよびITSスポット等の路側機と路車間通信を行うことが可能であり、他の車両に搭載された車載端末と車車間通信を行うことが可能であり、かつゲートウェイ装置101と通信を行うことが可能である。ITS無線機は、たとえば、渋滞緩和、安全運転支援およびルートガイダンス等のサービスに用いる情報を中継する。
【0052】
ゲートウェイ装置101は、たとえば、ファームウェアのアップデート等のデータ、およびゲートウェイ装置101により蓄積されたデータ等を車両1の外部における整備用端末装置とポート112を介して送受信することが可能である。
【0053】
ゲートウェイ装置101は、たとえば伝送線13,14を介して車載装置と接続する。具体的には、伝送線13,14は、たとえば、CAN(Controller Area Network)(登録商標)、FlexRay(登録商標)、MOST(Media Oriented Systems Transport)(登録商標)、イーサネット(登録商標)、およびLIN(Local Interconnect Network)等の規格に従う伝送線である。
【0054】
この例では、車載通信機111は、イーサネットの規格に従う対応の伝送線14を介してゲートウェイ装置101と接続されている。また、バス接続装置群121における各制御装置122は、CANの規格に従う対応の伝送線13を介してゲートウェイ装置101と接続されている。制御装置122は、たとえば、車両1における機能部を制御可能である。
【0055】
伝送線13は、たとえば系統別に設けられる。具体的には、伝送線13は、たとえば、駆動系バス、シャーシ/安全系バス、ボディ/電装系バスおよびAV/情報系バスである。
【0056】
駆動系バスには、制御装置122の一例であるエンジン制御装置、AT(Automatic Transmission)制御装置およびHEV(Hybrid Electric Vehicle)制御装置が接続されている。エンジン制御装置、AT制御装置およびHEV制御装置は、エンジン、AT、およびエンジンとモータとの切替をそれぞれ制御する。
【0057】
シャーシ/安全系バスには、制御装置122の一例であるブレーキ制御装置、シャーシ制御装置およびステアリング制御装置が接続されている。ブレーキ制御装置、シャーシ制御装置およびステアリング制御装置は、ブレーキ、シャーシおよびステアリングをそれぞれ制御する。
【0058】
ボディ/電装系バスには、制御装置122の一例である計器表示制御装置、エアコン制御装置、盗難防止制御装置、エアバック制御装置およびスマートエントリ制御装置が接続されている。計器表示制御装置、エアコン制御装置、盗難防止制御装置、エアバック制御装置およびスマートエントリ制御装置は、計器、エアコン、盗難防止機構、エアバック機構およびスマートエントリをそれぞれ制御する。
【0059】
AV/情報系バスには、制御装置122の一例であるナビゲーション制御装置、オーディオ制御装置、ETC(Electronic Toll Collection System)(登録商標)制御装置および電話制御装置が接続されている。ナビゲーション制御装置、オーディオ制御装置、ETC制御装置および電話制御装置は、ナビゲーション装置、オーディオ装置、ETC装置および携帯電話をそれぞれ制御する。
【0060】
また、伝送線13には、制御装置122が接続される構成に限らず、制御装置122以外の装置、たとえばセンサが接続されてもよい。
【0061】
ゲートウェイ装置101は、たとえば、セントラルゲートウェイ(Central Gateway:CGW)であり、車載装置と通信を行うことが可能である。
【0062】
ゲートウェイ装置101は、たとえば、車両1において異なる伝送線13に接続された制御装置122間でやり取りされる情報、各車載通信機111間でやり取りされる情報、制御装置122および車載通信機111間でやり取りされる情報を中継する中継処理を行う。
【0063】
より詳細には、車両1では、たとえば、所定の取り決めに従って、ある車載装置から他の車載装置へ周期的にメッセージが送信される。この例では、ある制御装置122から他の制御装置122へ周期的に送信されるメッセージについて説明するが、制御装置122および車載通信機111間において送信されるメッセージ、ならびに各車載通信機111間において送信されるメッセージについても同様である。
【0064】
メッセージの送信は、ブロードキャストによって行われてもよいし、ユニキャストによって行われてもよい。以下、周期的に送信されるメッセージを周期メッセージとも称する。
【0065】
また、車両1では、周期メッセージの他に、ある制御装置122から他の制御装置122へ不定期に送信されるメッセージが存在する。メッセージには、メッセージの内容および送信元等を識別するためのIDが含まれる。メッセージが周期メッセージであるか否かをIDによって識別することが可能である。
【0066】
[ゲートウェイ装置]
図3は、本開示の第1の実施の形態に係る車載通信システムにおけるゲートウェイ装置の構成を示す図である。
【0067】
図3を参照して、ゲートウェイ装置101は、通信処理部51と、記憶部52と、データ取得部53と、検知部54と、メッセージ取得部55とを備える。通信処理部51、データ取得部53、検知部54およびメッセージ取得部55は、たとえば、CPU(Central Processing Unit)およびDSP(Digital Signal Processor)等のプロセッサにより実現される。記憶部52は、たとえば不揮発性メモリである。検知部54は、算出部の一例であり、かつ判断部の一例である。
【0068】
ゲートウェイ装置101は、検知装置として機能し、車両1に搭載される車載ネットワーク12における不正メッセージを検知する。
【0069】
詳細には、ゲートウェイ装置101における通信処理部51は、中継処理を行う。より詳細には、通信処理部51は、ある制御装置122から対応の伝送線13経由でメッセージを受信すると、受信したメッセージを他の制御装置122へ対応の伝送線13経由で送信する。
【0070】
[メッセージ取得部]
メッセージ取得部55は、車載ネットワーク12における複数の送信メッセージを取得する。メッセージ取得部55は、たとえば、取得した複数の送信メッセージを記憶部52に保存する。
【0071】
より詳細には、記憶部52には、たとえば、メッセージ取得部55が取得対象とすべきデータの種類を含む検出条件情報が登録されている。検出条件情報の詳細については、後述する。
【0072】
メッセージ取得部55は、記憶部52に登録されている検出条件情報に基づいて、自己が取得対象とすべきデータの種類を認識する。
【0073】
メッセージ取得部55は、通信処理部51が中継するメッセージに含まれるデータを監視し、取得対象の種類のデータを含むメッセージを検出するごとに、以下の処理を行う。
【0074】
すなわち、メッセージ取得部55は、検出したメッセージを通信処理部51から取得し、取得したメッセージに、当該メッセージの受信時刻を示すタイムスタンプを付す。
【0075】
そして、メッセージ取得部55は、タイムスタンプを付したメッセージを記憶部52に保存する。
【0076】
[記憶部]
図4は、本開示の第1の実施の形態に係るゲートウェイ装置が用いる通常モデルの作成過程を説明するための図である。なお、
図4において、横軸はデータXを示し、縦軸はデータYを示す。
【0077】
図4を参照して、記憶部52は、予め作成された、複数の時刻たとえばデータの作成時刻にそれぞれ対応する複数の組に基づく検出条件を記憶する。ここで、組は、たとえば、メッセージ取得部55によって取得された送信メッセージに含まれる、同じ作成時刻に対応する2種類のデータの組である。
【0078】
具体的には、記憶部52は、たとえば、サーバによって予め作成された通常モデルM2を記憶する。通常モデルM2は、たとえば、所定の相関関係を有する2種類のデータの組に基づいて作成されている。より詳細には、通常モデルM2は、監視対象の種類のデータと、当該監視対象の種類のデータと相関関係を有するデータの組に基づいて作成されている。
【0079】
より具体的には、サーバには、たとえば、各々が複数の時系列データを含む、互いに異なる種類の生データR1~生データRNがユーザによって登録される。ここで、Nは、2以上の整数である。この例では、生データR1~生データRNは、たとえば、車両1と同じ種類のテスト車両において開発時に取得されたデータである。
【0080】
サーバは、たとえば、生データR1~生データRNを、各々が共通の複数の作成時刻における複数の時系列データを含むデータ1~データNに変換する。
【0081】
より詳細には、サーバは、たとえば、生データR1に含まれる時系列データの作成時刻および生データR2に含まれる時系列データの作成時刻が同期していない場合、生データR2をリサンプリングすることにより、生データR2に含まれる時系列データの作成時刻を生データR1に含まれる時系列データの作成時刻に同期させる。
【0082】
同様に、サーバは、たとえば、生データR1に含まれる時系列データの作成時刻および生データR3に含まれる時系列データの作成時刻が同期していない場合、生データR3をリサンプリングすることにより、生データR3に含まれる時系列データの作成時刻を生データR1に含まれる時系列データの作成時刻に同期させる。
【0083】
サーバは、生データR4~生データRNに対しても同様の処理を施すことにより、生データR4~生データRNに含まれる時系列データの作成時刻を生データR1に含まれる時系列データの作成時刻に同期させる。これにより、各々が複数の時系列データを含む生データR1~生データRNが、各々が共通の複数の作成時刻における複数の時系列データを含むデータ1~データNに変換される。
【0084】
サーバは、たとえば、データ1~データNの中から、データX,Yを選択する。ここで、X,Yは、互いに異なり、かつ1~Nのうちのいずれかの整数である。データX,Yの選択は、たとえば総当たりで行われる。
【0085】
図4には、共通の複数の作成時刻における複数の時系列データにそれぞれ対応する、データXおよびデータYの組が黒丸によって示される。
【0086】
サーバは、たとえば、選択したデータXおよびデータYの複数の組に基づいて相関係数を算出する。
【0087】
サーバは、たとえば、算出した相関係数が0.4以上かつ0.7以下である場合、データXおよびデータYに相関有りと判断する。また、サーバは、たとえば、算出した相関係数が0.7より大きい場合、データXおよびデータYに強い相関有りと判断する。
【0088】
サーバは、データXおよびデータYについて相関有り、または強い相関有りと判断した場合、データXおよびデータYに基づいて通常モデルM2を作成する。
【0089】
具体的には、サーバは、たとえば、マハラノビス、Oneclass-SVM(Support Vector Machine)、LOF(Local Outlier Factor)、Isolation forest、およびNN(Nearest-Neighbor)等のアルゴリズムに従って、機械学習により通常モデルM2を作成する。
【0090】
一方、サーバは、データXおよびデータYについて相関有りと判断せず、かつ強い相関有りと判断しなかった場合、通常モデルM2を作成しない。
【0091】
サーバは、たとえば、複数の通常モデルM2を作成し、作成した通常モデルM2ごとにモデル情報を作成する。ここで、モデル情報は、通常モデルM2、ならびに対応のデータXおよびデータYの種類の組み合わせを示す。
【0092】
データXおよびデータYの種類の組み合わせは、たとえば、エンジン回転数および速度、ヨーレートおよび舵角、ヨーレートおよび車高、ならびにアクセル開度および車体加速度等である。
【0093】
サーバによって作成された複数のモデル情報は、たとえば、検出条件情報としてまとめられた後、車両1の製造時において記憶部52に登録される。
【0094】
なお、検出条件情報は、更新されてもよい。具体的には、たとえば、通信処理部51は、サーバによってアップデートされた検出条件情報を車載通信機111経由でサーバから受信し、記憶部52に登録された検出条件情報を、受信した検出条件情報に更新する。
【0095】
また、サーバは、複数の通常モデルM2を作成する構成に限らず、1つの通常モデルM2を作成する構成であってもよい。
【0096】
[データ取得部]
再び
図3を参照して、データ取得部53は、メッセージ取得部55によって取得された送信メッセージに含まれる、同じ時刻たとえば受信時刻に対応する2種類のデータの組を取得する。
【0097】
より詳細には、データ取得部53は、記憶部52が保存する検出条件情報に含まれる複数のモデル情報を記憶部52から取得する。
【0098】
(2種類のデータが同じ送信メッセージに含まれる場合)
データ取得部53は、たとえば、記憶部52に保存された各送信メッセージから2種類のデータの組を取得する。
【0099】
より詳細には、データ取得部53は、たとえば、取得した複数のモデル情報に基づいて、同じ送信メッセージに含まれる2種類のデータの組を記憶部52から取得する。
【0100】
具体的には、たとえば、モデル情報の示す種類の組み合わせに合ったデータが同じ送信メッセージに格納されて車載ネットワーク12において伝送される場合、データ取得部53は、記憶部52に保存された当該同じ送信メッセージから当該2種類のデータを取得する。
【0101】
データ取得部53は、たとえば、当該2種類のデータを含む送信メッセージがメッセージ取得部55によって記憶部52に新たに保存されると、新たに保存された送信メッセージから当該2種類のデータを取得し、取得した2種類のデータの組、およびモデル情報の示す種類の組み合わせを検知部54へ出力する。このように、データ取得部53は、たとえば2種類のデータが同じ送信メッセージに含まれる場合、「2種類のデータの組」として、同じ受信時刻の送信メッセージに格納された2種類のデータの組を取得する。
【0102】
(2種類のデータが異なる送信メッセージにそれぞれ含まれる場合)
図5は、本開示の第1の実施の形態に係るゲートウェイ装置において行われる同期処理のタイミングを説明するための図である。なお、
図5において、横軸は時間を示す。
【0103】
図5を参照して、データ取得部53は、たとえば、取得した複数のモデル情報に基づいて、異なる送信メッセージにそれぞれ含まれる2種類のデータの組を記憶部52から取得する。
【0104】
具体的には、たとえば、モデル情報の示す種類の組み合わせに合ったデータが別個の送信メッセージに格納されて車載ネットワーク12において伝送される場合、データ取得部53は、以下の処理を行う。
【0105】
すなわち、データ取得部53は、たとえば、一方の種類のデータDJを含む複数の送信メッセージMJ、および他方の種類のデータDKを含む複数の送信メッセージMKを記憶部52から取得する。ここで、送信メッセージMJおよび送信メッセージMKは、たとえば車載ネットワーク12において同じ周期で伝送されるメッセージである。
【0106】
データ取得部53は、たとえば、一方の種類のデータDJを含む複数の送信メッセージMJに付されたタイムスタンプに基づいて、一方の種類のデータDJに受信時刻を対応付ける。
【0107】
具体的には、データ取得部53は、データDJの一例であるデータDJ1,DJ2に、それぞれ受信時刻tj1,tj2を対応付ける。
【0108】
同様に、データ取得部53は、たとえば、他方の種類のデータDKを含む複数の送信メッセージMKに付されたタイムスタンプに基づいて、他方の種類のデータDKに受信時刻を対応付ける。
【0109】
具体的には、データ取得部53は、データDKの一例であるデータDK1,DK2に、それぞれ受信時刻tk1,tk2を対応付ける。
【0110】
データ取得部53は、たとえば、一方の種類のデータDJに対応付けた受信時刻、および他方の種類のデータDKに対応付けた受信時刻に基づいて他方の種類のデータDKをリサンプリングすることにより、一方の種類のデータDJの受信時刻と他方の種類のデータDKの受信時刻とを同期させる同期処理を行う。
【0111】
データ取得部53は、たとえば、一方の種類のデータDJを含む送信メッセージMJがメッセージ取得部55によって記憶部52に新たに保存されると、同期処理を行う。
【0112】
具体的には、データ取得部53は、たとえば、受信時刻tj2に対応する送信メッセージMJがメッセージ取得部55によって記憶部52に新たに保存されると、データDK1,DK2等を含むデータDKをリサンプリングすることにより、受信時刻tj1,tj2にそれぞれ対応するリサンプルデータRDK1,RDK2を生成する。たとえば、データ取得部53は、複数のデータDKに基づいてデータDKの内挿を行うことにより、受信時刻tj1,tj2にそれぞれ対応するリサンプルデータRDK1,RDK2を生成する。
【0113】
データ取得部53は、たとえば、同期処理が完了すると、同期させた2種類のデータから最新の2種類のデータの組を取得し、取得した2種類のデータの組、およびモデル情報の示す種類の組み合わせを検知部54へ出力する。
【0114】
具体的には、データ取得部53は、たとえば、データDJ2およびリサンプルデータRDK2の組、ならびにモデル情報の示す種類の組み合わせを検知部54へ出力する。すなわち、データ取得部53は、たとえば2種類のデータが異なる送信メッセージに含まれる場合、「2種類のデータの組」として、受信時刻tj2の送信メッセージMJに格納された一方の種類のデータDJ2と、他方の種類のデータDKを含む送信メッセージMKのうちの当該受信時刻tj2の直前である受信時刻tk2の送信メッセージMK、に格納されたデータDK2のリサンプルデータRDK2とからなるデータの組を取得する。このように、データ取得部53は、たとえば2種類のデータが異なる送信メッセージに含まれる場合、同じ受信時刻の送信メッセージに格納された2種類のデータの組を取得する構成に限定されない。
【0115】
なお、データ取得部53が同期処理を行うタイミングは、たとえば、他方の種類のデータDKを含む送信メッセージMKがメッセージ取得部55によって記憶部52に新たに保存されるタイミングであってもよい。
【0116】
具体的には、データ取得部53は、たとえば、受信時刻tk2に対応する送信メッセージMKがメッセージ取得部55によって記憶部52に新たに保存されると、データDK1,DK2等を含むデータDKをリサンプリングすることにより、受信時刻tj1に対応するリサンプルデータRDK1を生成する。たとえば、データ取得部53は、複数のデータDKに基づいてデータDKの内挿を行うことにより、受信時刻tj1に対応するリサンプルデータRDK1を生成する。
【0117】
そして、データ取得部53は、たとえば、データDJ1およびリサンプルデータRDK1の組、ならびにモデル情報の示す種類の組み合わせを検知部54へ出力する。
【0118】
また、データ取得部53が同期処理を行うタイミングは、たとえば、一方の種類のデータを含む送信メッセージおよび他方の種類のデータを含む送信メッセージの両方がメッセージ取得部55によって記憶部52に新たに保存されるタイミングであってもよい。
【0119】
図6は、本開示の第1の実施の形態に係るゲートウェイ装置において行われる同期処理のタイミングを説明するための図である。なお、
図6において、横軸は時間を示す。
【0120】
図6を参照して、一方の種類のデータDPを含む送信メッセージMP、および他方の種類のデータDQを含む送信メッセージMQは、たとえば車載ネットワーク12において異なる周期で伝送されるメッセージである。
【0121】
データ取得部53は、データDPの一例であるデータDP1,DP2に、それぞれ受信時刻tp1,tp2を対応付ける。
【0122】
また、データ取得部53は、データDQの一例であるデータDQ1,DQ2,DQ3,DQ4に、それぞれ受信時刻tq1,tq2,tq3,tq4を対応付ける。
【0123】
データ取得部53は、たとえば、送信メッセージMP,MQの両方がメッセージ取得部55によって記憶部52に新たに保存されると、同期処理を行う。
【0124】
具体的には、データ取得部53は、たとえば、受信時刻tp1において、送信メッセージMP,MQの両方がメッセージ取得部55によって記憶部52に新たに保存されたと判断し、同期処理を行う。
【0125】
同様に、データ取得部53は、たとえば、受信時刻tp2において、送信メッセージMP,MQの両方がメッセージ取得部55によって記憶部52に新たに保存されたと判断し、同期処理を行う。
【0126】
データ取得部53は、たとえば、受信時刻tp2における同期処理では、データDQ1~DQ4等を含むデータDQをリサンプリングすることにより、受信時刻tp1,tp2にそれぞれ対応するリサンプルデータRDQ1,RDQ2を生成する。たとえば、データ取得部53は、複数のデータDQに基づいてデータDQの内挿を行うことにより、受信時刻tp1,tp2にそれぞれ対応するリサンプルデータRDQ1,RDQ2を生成する。
【0127】
データ取得部53は、たとえば、データDP2およびリサンプルデータRDQ2の組、ならびにモデル情報の示す種類の組み合わせを検知部54へ出力する。
【0128】
なお、データ取得部53は、受信時刻tp2における同期処理では、データDP1,DP2等を含むデータDPをリサンプリングすることにより、受信時刻tq1~tq4にそれぞれ対応する、図示しないリサンプルデータRDP1~RDP4を生成してもよい。具体的には、たとえば、データ取得部53は、複数のデータDPに基づいてデータDPの内挿を行うことにより、受信時刻tq1~tq4にそれぞれ対応するリサンプルデータRDP1~RDP4を生成する。
【0129】
この場合、データ取得部53は、リサンプルデータRDP4およびデータDQ4の組、ならびにモデル情報の示す種類の組み合わせを検知部54へ出力する。すなわち、データ取得部53は、たとえば2種類のデータが異なる送信メッセージに含まれる場合、「2種類のデータの組」として、受信時刻tq4の送信メッセージMQに格納された一方の種類のデータDQ4と、他方の種類のデータDPを含む送信メッセージMPのうちの当該受信時刻tq4の直後である受信時刻tp2の送信メッセージMP、に格納されたデータDP2のリサンプルデータRDP4とからなるデータの組を取得する。
【0130】
この際、データ取得部53は、リサンプルデータRDP2およびデータDQ2の組、ならびにリサンプルデータRDP3およびデータDQ3の組も合わせて検知部54へ出力してもよい。これにより、不正メッセージの検知に用いるデータ数を増やすことができる。
【0131】
ここで、通常モデルM2は、作成時刻の同じ2種類のデータの複数の組に基づいて作成されている一方、データ取得部53により取得される2種類のデータの組は、受信時刻の同じ2種類のデータの組である。
【0132】
車載ネットワーク12ではメッセージの伝送が高速に行われるので、データの作成時刻およびデータの受信時刻が略同じであるとみなすことができる。なお、データの送信時刻も、データの作成時刻およびデータの受信時刻と略同じであるとみなすことができる。
【0133】
[検知部]
検知部54は、データ取得部53により取得された2種類のデータの組における監視対象の種類のデータである監視対象データの推定値を算出し、算出した推定値を用いて監視対象データを含む送信メッセージが不正メッセージであるか否かを判断する。
【0134】
図7は、本開示の第1の実施の形態に係る通常モデルの学習フェーズにおける作成処理を説明するための図である。
【0135】
図7を参照して、監視対象データと相関データとに基づいて1つの通常モデルM2が作成される。監視対象データと相関データとは、相関関係を有する。
【0136】
監視対象データは、センサによって計測されたデータであり、具体的には、車速、エンジン回転数およびヨーレート等の連続して変化するデータである。以下、センサよって計測されたデータをセンサデータとも称する。
【0137】
相関データは、センサデータであってもよいし、予め定義された状態を表すデータであるステータスデータであってもよい。ここで、ステータスデータは、具体的には、たとえば車両1におけるギアおよびシートベルト等の操作部の状態を表す。
【0138】
サーバは、たとえば、学習データセットに基づいて、LASSO(Least Absolute Shrinkage and Selection Operator)および回帰木等を用いて、通常モデルM2を学習させる。
【0139】
ここで、学習データセットは、複数の同じ時刻、具体的には時刻tm1,tm2,tm3,tm4,tm5等にそれぞれ対応する監視対象データおよび相関データを含む。
【0140】
より詳細には、サーバは、たとえば、同じ時刻に対応する相関データを通常モデルM2に入力したときに、対応の監視対象データの値に近い推定値が出力されるように通常モデルM2を作成する。
【0141】
図8は、本開示の第1の実施の形態に係る通常モデルのテストフェーズにおける検証処理を説明するための図である。
【0142】
図8を参照して、通常モデルM2は、学習データセットと同様の、テストデータセットを用いて検証される。
【0143】
詳細には、サーバは、通常モデルM2を用いて推定誤差の分布を作成する。より詳細には、サーバは、テストデータセットの一部である時刻tt1における相関データを通常モデルM2に入力することにより、通常モデルM2から出力される推定値を取得する。
【0144】
そして、サーバは、たとえば、以下の式(1)を用いて推定誤差ydiffを算出する。
【数1】
【0145】
ここで、y1は、対応の監視対象データの値、すなわち時刻tt1における監視対象データの値である。また、y1ハットは、通常モデルM2から出力された推定値である。
【0146】
サーバは、テストデータセットにおける、時刻tt1と異なる時刻における相関データおよび監視対象データも同様に処理することにより、各時刻における推定誤差ydiffを含む検証データを作成する。
【0147】
サーバは、検証データに基づいて、推定誤差ydiffの分布を作成する。この分布は、推定誤差ydiffの頻度を表す。この例では、当該分布は、単峰である。
【0148】
サーバは、作成した分布が単峰である場合、検証データに含まる各推定誤差ydiffの平均値μおよび分散σ^2を算出する。ここで、「a^b」は、aのb乗を意味する。
【0149】
サーバは、たとえば、通常モデルM2、平均値μおよび分散σ^2、ならびに監視対象データおよび相関データの種類の組み合わせを示すモデル情報Md2を作成する。
【0150】
サーバによって作成されたモデル情報Md2は、たとえば、車両1の製造時において検出条件情報として記憶部52に登録される。
【0151】
再び
図3を参照して、データ取得部53は、記憶部52から検出条件情報を取得し、取得した検出条件情報に含まれるモデル情報Md2を取得する。
【0152】
データ取得部53は、モデル情報Md2の示す組み合わせに合ったデータを含む送信メッセージがメッセージ取得部55によって記憶部52に新たに保存されると、上述のように2種類のデータの組を取得する。具体的には、以下の処理を行う。
【0153】
すなわち、データ取得部53は、モデル情報Md2に基づいて、同じ送信メッセージに含まれる監視対象データおよび相関データの組を記憶部52から取得し、取得した組、およびモデル情報Md2の示す種類の組み合わせを検知部54へ出力する。
【0154】
また、データ取得部53は、たとえば、モデル情報Md2の示す組み合わせに合ったデータをそれぞれ含む複数の送信メッセージのいずれか1つがメッセージ取得部55によって記憶部52に新たに保存されると、上述のように同期処理を行う。具体的には、以下の処理を行う。
【0155】
すなわち、データ取得部53は、モデル情報Md2に基づいて、異なる送信メッセージにそれぞれ含まれる監視対象データおよび相関データの組を記憶部52から取得し、取得した監視対象データおよび相関データに対して同期処理を行う。
【0156】
データ取得部53は、同期処理が完了すると、同期させた監視対象データおよび相関データから最新の監視対象データおよび相関データの組を取得し、取得した組、およびモデル情報Md2の示す種類の組み合わせを検知部54へ出力する。
【0157】
図9は、本開示の第1の実施の形態に係る通常モデルを用いた不正メッセージの検知処理を説明するための図である。
【0158】
図9を参照して、検知部54は、たとえば、データ取得部53から時刻td1における監視対象データおよび相関データの組、およびモデル情報Md2の示す種類の組み合わせを受けると、記憶部52における検出条件情報に含まれる複数のモデル情報を参照し、受けた組み合わせに対応するモデル情報Md2を記憶部52から取得する。
【0159】
検知部54は、たとえば、データ取得部53によって取得された監視対象データおよび相関データの組、ならびにモデル情報Md2に含まれる通常モデルM2に基づいて、データ取得部53によって取得された組における2種類のデータのうちの監視対象データの推定誤差ydiffを算出する。
【0160】
より詳細には、検知部54は、データ取得部53から受けた相関データを、モデル情報Md2に含まれる通常モデルM2に入力することにより、通常モデルM2から出力される推定値を取得する。
【0161】
そして、検知部54は、取得した推定値および時刻td1における監視対象データの値を、それぞれy1ハットおよびy1として上述の式(1)に代入することにより時刻td1における推定誤差ydiffを算出する。検知部54は、算出した推定誤差ydiffを記憶部52に保存する。
【0162】
たとえば、検知部54は、算出した推定誤差ydiff、および通常モデルM2を用いて作成された推定誤差ydiffの分布に基づいて、監視対象データの正当性に関する評価値を算出する。
【0163】
より詳細には、検知部54は、たとえば、算出した推定誤差ydiff、ならびにモデル情報Md2に含まれる平均値μおよび分散σ^2を以下の式(2)に代入することにより時刻tにおけるマハラノビス距離D(t)^2を算出する。たとえば、検知部54は、時刻td1における推定誤差ydiffのマハラノビス距離D(td1)^2を算出する。マハラノビス距離D(t)^2は、監視対象データの正当性に関する評価値の一例である。
【数2】
【0164】
なお、検知部54は、多変量解析を行うことにより、推定誤差ydiffのベクトルを算出し、以下の式(3)に基づいてマハラノビス距離D(t)^2を算出する構成であってもよい。
【数3】
【0165】
ここで、X(t)は推定誤差ydiffのベクトルであり、μxは推定誤差ydiffの平均ベクトルである。
【0166】
検知部54は、算出したマハラノビス距離D(t)^2を推定誤差ydiffに対応付けて記憶部52に保存する。
【0167】
検知部54は、算出した推定誤差ydiffと、過去に算出した推定誤差ydiffとに基づいて、監視対象データに対応する送信メッセージが不正メッセージであるか否かを判断する。より詳細には、検知部54は、推定誤差ydiffを算出すると、当該推定誤差ydiffと、記憶部52における直前に算出した推定誤差ydiffとに基づいて、監視対象データに対応する送信メッセージが不正メッセージであるか否かを判断する。
【0168】
たとえば、検知部54は、算出したマハラノビス距離D(t)^2と、過去に算出したマハラノビス距離D(t)^2とに基づいて、監視対象データに対応する送信メッセージが不正メッセージであるか否かを判断する。
【0169】
より詳細には、検知部54は、時刻tにおけるマハラノビス距離D(t)^2を算出すると、当該マハラノビス距離D(t)^2と、記憶部52における直前に算出した時刻(t-1)におけるマハラノビス距離D(t-1)^2とに基づいて、監視対象データに対応する送信メッセージが不正メッセージであるか否かを判断する。
【0170】
たとえば、検知部54は、CUSUM(Cumulative Sum)またはMCUSUM(Multivariate Cumulative Sum)に従う解析手法を用いて、監視対象データに対応する送信メッセージが不正メッセージであるか否かを判断する。
【0171】
より詳細には、検知部54は、マハラノビス距離D(t)^2を算出すると、算出したマハラノビス距離D(t)^2を以下の式(4)に代入することによりスコアT(t)^2を算出し、算出したスコアT(t)^2を記憶部52に保存する。
【数4】
【0172】
ここで、スコアT(t-1)^2は、マハラノビス距離D(t)^2の直前に算出した時刻(t-1)におけるマハラノビス距離D(t-1)^2のスコアである。kは、スコアT(t-1)^2とマハラノビス距離D(t)^2との和の外れ値を制限するための予め設定されるパラメータである。
【0173】
検知部54は、たとえば、算出したスコアT(t)^2が所定のしきい値Th1以上である場合、監視対象データに対応する送信メッセージは不正メッセージであると判断する。
【0174】
一方、検知部54は、たとえば、算出したスコアT(t)^2が所定のしきい値Th1より小さい場合、監視対象データに対応する送信メッセージは正当メッセージであると判断する。
【0175】
検知部54は、監視対象データに対応する送信メッセージが不正メッセージであると判断した場合、たとえば、以下の処理を行う。すなわち、検知部54は、不正であると判断した送信メッセージのID、および対応の種類の組み合わせ等を記憶部52に記録する。
【0176】
また、検知部54は、伝送線13において不正メッセージが伝送されていることを車両1内または車両1外における上位装置へ通信処理部51経由で通知する。
【0177】
なお、サーバが作成する推定誤差ydiffの分布が単峰であるとしたが、これに限定するものではない。サーバが作成する推定誤差ydiffの分布は、多峰であってもよい。
【0178】
この場合、サーバは、推定誤差ydiffの分布を、たとえば、K個のガウス分布を重ね合わせた混合ガウス分布によって近似し、各ガウス分布の平均値μ1~μKおよび分散σ1^2~σK^2、ならびに各ガウス分布の混合比C1~CKを算出する。
【0179】
サーバは、たとえば、通常モデルM2、平均値μ1~μK、分散σ1^2~σK^2および混合比C1~CK、ならびに監視対象データおよび相関データの種類の組み合わせを示すモデル情報Md2を作成する。
【0180】
この場合、検知部54は、算出した推定誤差ydiff、ならびにモデル情報Md2に含まれる平均値μ1~μk、分散σ1^2~σk^2および混合比C1~Ckを以下の式(5)に代入することによりマハラノビス距離D(t)^2を算出する。
【数5】
【0181】
ここで、式(5)におけるBは、以下の式(6)により表される。
【数6】
【0182】
[変形例1]
なお、検知部54は、マハラノビス距離D(t)^2を算出し、CUSUMまたはMCUSUMに従う解析手法を用いて、監視対象データに対応する送信メッセージが不正メッセージであるか否かを判断する構成であるとしたが、これに限定するものではない。
【0183】
たとえば、検知部54は、算出した推定誤差ydiffと、過去に算出した推定誤差ydiffとに基づいて、推定誤差ydiffの移動平均を算出し、算出した移動平均に基づいて、監視対象データに対応する送信メッセージが不正メッセージであるか否かを判断する構成であってもよい。すなわち、検知部54は、EWMA(Exponentilly Weighted Moving Average)またはMEWMA(Multivariate Exponentilly Weighted Moving Average)に従う解析手法を用いて、監視対象データに対応する送信メッセージが不正メッセージであるか否かを判断する構成であってもよい。
【0184】
より詳細には、検知部54は、多変量解析を行うことにより、推定誤差ydiffのベクトルを算出し、以下の式(7)に基づいて指数加重移動平均A(t)を算出する。
【数7】
【0185】
ここで、X(t)は推定誤差ydiffのベクトルであり、λは予め設定された移動平均係数である。
【0186】
そして、検知部54は、指数加重移動平均A(t)を算出すると、算出した指数加重移動平均A(t)を以下の式(8)に代入することによりスコアTa(t)^2を算出する。
【数8】
【0187】
検知部54は、たとえば、算出したスコアTa(t)^2が所定のしきい値Th2以上である場合、監視対象データに対応する送信メッセージは不正メッセージであると判断する。
【0188】
一方、検知部54は、たとえば、算出したスコアTa(t)^2が所定のしきい値Th2より小さい場合、監視対象データに対応する送信メッセージは正当メッセージであると判断する。
【0189】
[変形例2]
再び
図3を参照して、通常モデルは、所定の相関関係を有する2種類のデータの組に基づいて作成される構成であるとしたが、これに限定するものではなく、所定の相関関係を有するたとえば3種類以上のデータの組に基づいて作成される構成であってもよい。
【0190】
より詳細には、たとえば、監視対象データと相関関係を有する相関データがq種類ある場合、当該監視対象データと当該q種類の相関データとに基づいて1つの通常モデルM4が作成される。qは、2以上の整数である。
【0191】
監視対象データとq種類の相関データの各々とは、相関関係を有する。また、q種類の相関データ間には、相関関係があってもよいし、なくてもよい。
【0192】
サーバは、たとえば、学習データセットに基づいて、LASSOおよび回帰木等を用いて、通常モデルM4を学習させる。
【0193】
ここで、学習データセットは、複数の同じ時刻、具体的には時刻tm1,tm2,tm3,tm4,tm5等にそれぞれ対応する監視対象データおよび相関データ群を含む。
【0194】
より詳細には、サーバは、たとえば、同じ時刻に対応する相関データ群を通常モデルM4に入力したときに、対応の監視対象データの値に近い推定値が出力されるように通常モデルM4を作成する。
【0195】
サーバは、各時刻における推定誤差ydiffを含む検証データを作成し、生成した検証データに基づいて、推定誤差ydiffの分布を作成する。
【0196】
サーバは、検証データに含まる各推定誤差ydiffの平均値μおよび分散σ^2を算出する。
【0197】
サーバは、たとえば、通常モデルM4、平均値μおよび分散σ^2、ならびに監視対象データおよび相関データ群におけるq種類のデータの種類の組み合わせを示すモデル情報Md4を作成する。
【0198】
サーバによって作成されたモデル情報Md4は、たとえば、車両1の製造時において検出条件情報として記憶部52に登録される。
【0199】
再び
図3を参照して、データ取得部53は、記憶部52から検出条件情報を取得し、取得した検出条件情報に含まれるモデル情報Md4を取得する。
【0200】
データ取得部53は、モデル情報Md4の示す組み合わせに合ったデータを含む送信メッセージがメッセージ取得部55によって記憶部52に新たに保存されると、以下の処理を行う。
【0201】
すなわち、データ取得部53は、モデル情報Md4に基づいて、同じ送信メッセージに含まれる監視対象データおよび相関データ群の組を記憶部52から取得し、取得した組、およびモデル情報Md4の示す種類の組み合わせを検知部54へ出力する。
【0202】
また、データ取得部53は、たとえば、モデル情報Md4の示す組み合わせに合ったデータをそれぞれ含む複数の送信メッセージのいずれか1つがメッセージ取得部55によって記憶部52に新たに保存されると、以下の処理を行う。
【0203】
すなわち、データ取得部53は、モデル情報Md4に基づいて、異なる送信メッセージにそれぞれ含まれる監視対象データおよび相関データ群の組を記憶部52から取得し、取得した監視対象データおよび相関データ群に対して同期処理を行う。
【0204】
データ取得部53は、同期処理が完了すると、同期させた監視対象データおよび相関データ群から最新の監視対象データおよび相関データ群の組を取得し、取得した組、およびモデル情報Md4の示す種類の組み合わせを検知部54へ出力する。
【0205】
検知部54は、たとえば、データ取得部53から時刻td1における監視対象データおよび相関データ群の組、ならびにモデル情報Md4の示す種類の組み合わせを受けると、記憶部52における検出条件情報に含まれる複数のモデル情報を参照し、受けた組み合わせに対応するモデル情報Md4を記憶部52から取得する。
【0206】
検知部54は、たとえば、データ取得部53によって取得された監視対象データおよび相関データ群の組、ならびにモデル情報Md4に含まれる通常モデルM4に基づいて、上述の式(1)を用いて監視対象データの推定誤差ydiffを算出し、算出した推定誤差ydiffを記憶部52に保存する。
【0207】
検知部54は、算出した推定誤差ydiff、ならびにモデル情報Md4に含まれる平均値μおよび分散σ^2を上述の式(2)に代入することによりマハラノビス距離D(t)^2を算出し、算出したマハラノビス距離D(t)^2を推定誤差ydiffに対応付けて記憶部52に保存する。
【0208】
そして、検知部54は、算出したマハラノビス距離D(t)^2を上述の式(4)に代入することによりスコアT(t)^2を算出し、算出したスコアT(t)^2に基づいて、監視対象データに対応する送信メッセージが不正メッセージであるか否かを判断する。
【0209】
通常モデルM4を用いる構成により、不正メッセージをより精度よく検知することができる。
【0210】
[変形例3]
変形例2では、監視対象データと相関関係を有する相関データがq種類ある場合、当該監視対象データと当該q種類の相関データとに基づいて1つの通常モデルM4が作成される構成であるとしたが、これに限定するものではない。
【0211】
たとえば、監視対象データと相関関係を有する相関データが2種類ある場合、監視対象データと当該2種類の相関データとに基づいて2つの検出条件がそれぞれ作成される。
【0212】
具体的には、サーバは、共通の複数の作成時刻におけるデータ1~データNにおいて、データSおよびデータTに相関有りまたは強い相関有りと判断し、かつデータSおよびデータUに相関有りまたは強い相関有りと判断した場合、以下の処理を行う。
【0213】
すなわち、サーバは、データTおよびデータU間の相関係数の大小に関わらず、データS,Tに基づいて通常モデルM4を作成するとともに、データS,Uに基づいて通常モデルM4を作成する。
【0214】
このような構成により、データS,T,Uに基づいて1つの通常モデルM4を作成する構成と比べて、通常モデルの作成における計算負荷を軽減することができる。
【0215】
[変形例4]
ゲートウェイ装置101は、データS,T,Uに基づく、1つの通常モデルM4または2つの通常モデルM4を用いる構成であるとしたが、これに限定するものではない。
【0216】
より詳細には、たとえば、多次元のデータの組は、特許文献2(特開2016-57438号公報)に記載の主成分分析を用いて、より低次元のデータの組に変換することが可能である。
【0217】
具体的には、サーバは、たとえば、3種類のデータの組を、主成分分析を用いて2種類のデータの組に変換し、変換後の組に基づいて通常モデルM4を作成する。
【0218】
ゲートウェイ装置101における記憶部52には、3種類のデータの組を2種類のデータの組に変換するための固有ベクトル、サーバによって作成された通常モデルM4、ならびに対応のデータS、データTおよびデータUの種類の組み合わせを示すモデル情報が登録される。
【0219】
検知部54は、データ取得部53から3種類のデータの組、およびモデル情報の示す種類の組み合わせを受けると、記憶部52におけるモデル情報を参照し、受けた組み合わせに対応する通常モデルM4および固有ベクトルを記憶部52における対応のモデル情報から取得する。
【0220】
検知部54は、取得した固有ベクトルを用いて、データ取得部53から受けた3種類のデータの組を2種類のデータの組に変換し、変換後の組および通常モデルM4に基づいて、当該3種類のデータを含む1つ、2つまたは3つの送信メッセージが不正メッセージであるか否かを判断する。
【0221】
[変形例5]
図10は、本開示の第1の実施の形態に係る通常モデルの変形例についての学習フェーズにおける作成処理を説明するための図である。
【0222】
図10を参照して、監視対象データとq種類の相関データとに基づいて1つの通常モデルM5が作成される。監視対象データとq種類の相関データの各々とは、相関関係を有する。また、q種類の相関データ間には、相関関係があってもよいし、なくてもよい。
【0223】
監視対象データは、状態を表すステータスデータである。具体的には、監視対象スデータは、たとえば、ギアのシフトポジションおよびシートベルトの状態等の不連続に変化するステータスデータである。
【0224】
相関データ群に含まれるq種類のデータは、センサデータであってもよいし、ステータスデータであってもよい。
【0225】
サーバは、たとえば、学習データセットに基づいて、決定木およびRandom Forest等を用いて、通常モデルM5を学習させる。
【0226】
ここで、学習データセットは、複数の同じ時刻、具体的には時刻tm1,tm2,tm3,tm4,tm5等にそれぞれ対応する監視対象データおよび相関データ群を含む。
【0227】
より詳細には、サーバは、たとえば、同じ時刻に対応する相関データ群を通常モデルM5に入力したときに、対応の監視対象データの値と一致する推定値が出力されるように通常モデルM5を作成する。
【0228】
サーバは、たとえば、通常モデルM5、ならびに監視対象データおよび相関データ群におけるq種類のデータの種類の組み合わせを示すモデル情報Md5を作成する。
【0229】
サーバによって作成されたモデル情報Md5は、たとえば、車両1の製造時において検出条件情報として記憶部52に登録される。
【0230】
再び
図3を参照して、データ取得部53は、記憶部52から検出条件情報を取得し、取得した検出条件情報に含まれるモデル情報Md5を取得する。
【0231】
データ取得部53は、モデル情報Md5の示す組み合わせに合ったデータを含む送信メッセージがメッセージ取得部55によって記憶部52に新たに保存されると、以下の処理を行う。
【0232】
すなわち、データ取得部53は、モデル情報Md5に基づいて、同じ送信メッセージに含まれる監視対象データおよび相関データ群の組を記憶部52から取得し、取得した組、およびモデル情報Md5の示す種類の組み合わせを検知部54へ出力する。
【0233】
また、データ取得部53は、たとえば、モデル情報Md5の示す組み合わせに合ったデータをそれぞれ含む複数の送信メッセージのいずれか1つがメッセージ取得部55によって記憶部52に新たに保存されると、以下の処理を行う。
【0234】
すなわち、データ取得部53は、モデル情報Md5に基づいて、異なる送信メッセージにそれぞれ含まれる監視対象データおよび相関データ群の組を記憶部52から取得し、取得した監視対象データおよび相関データ群に対して同期処理を行う。
【0235】
データ取得部53は、同期処理が完了すると、同期させた監視対象データおよび相関データ群から最新の監視対象データおよび相関データ群の組を取得し、取得した組、およびモデル情報Md5の示す種類の組み合わせを検知部54へ出力する。
【0236】
図11は、本開示の第1の実施の形態に係る通常モデルの変形例を用いた不正メッセージの検知処理を説明するための図である。
【0237】
図11を参照して、検知部54は、たとえば、データ取得部53から時刻td1における監視対象データおよび相関データ群の組、およびモデル情報Md5の示す種類の組み合わせを受けると、記憶部52における検出条件情報に含まれる複数のモデル情報を参照し、受けた組み合わせに対応するモデル情報Md5を記憶部52から取得する。
【0238】
検知部54は、たとえば、データ取得部53によって取得された相関データ群、およびモデル情報Md2に含まれる通常モデルM5に基づいて、監視対象データの値を推定する。
【0239】
より詳細には、検知部54は、データ取得部53から受けた相関データ群を、モデル情報Md5に含まれる通常モデルM5に入力することにより、通常モデルM5から出力される監視対象データの推定値を取得する。
【0240】
そして、検知部54は、取得した推定値と、時刻td1における監視対象データの値とを比較することにより、推定誤差ydiffを算出する。
【0241】
より詳細には、検知部54は、たとえば、取得した推定値と時刻td1における監視対象データの値とを比較し、これらの値が一致する場合は「1」を、これらの値が一致しない場合は「ゼロ」を推定誤差ydiffとして算出する。
【0242】
検知部54は、推定誤差ydiffを算出すると、算出した推定誤差ydiffを記憶部52に保存する。
【0243】
検知部54は、算出した推定誤差ydiffと、過去に算出した推定誤差ydiffとに基づいて、監視対象データに対応する送信メッセージが不正メッセージであるか否かを判断する。より詳細には、検知部54は、推定誤差ydiffを算出すると、当該推定誤差ydiffと、記憶部52における直前に算出した推定誤差ydiffとに基づいて、監視対象データに対応する送信メッセージが不正メッセージであるか否かを判断する。
【0244】
たとえば、検知部54は、新たに算出した推定誤差ydiff、および記憶部52における直前に算出した推定誤差ydiffが「ゼロ」である場合、監視対象データに対応する送信メッセージは不正メッセージであると判断する。
【0245】
一方、検知部54は、新たに算出した推定誤差ydiff、および記憶部52における直前に算出した推定誤差ydiffの少なくともいずれか一方が「1」である場合、監視対象データに対応する送信メッセージは正当メッセージであると判断する。
【0246】
[動作の流れ]
本開示の実施の形態に係る車載通信システムにおける各装置は、メモリを含むコンピュータを備え、当該コンピュータにおけるCPU等の演算処理部は、以下のフローチャートおよびシーケンスの各ステップの一部または全部を含むプログラムを当該メモリから読み出して実行する。これら複数の装置のプログラムは、それぞれ、外部からインストールすることができる。これら複数の装置のプログラムは、それぞれ、記録媒体に格納された状態で流通する。
【0247】
図12は、本開示の第1の実施の形態に係るゲートウェイ装置が送信メッセージを受信する際の動作手順を定めたフローチャートである。
【0248】
図12を参照して、モデル情報Md2が、通常モデルM2、ならびに監視対象データであるデータXおよび相関データであるデータYの種類の組み合わせを示す状況を想定する。
【0249】
まず、ゲートウェイ装置101は、たとえば制御装置122からの送信メッセージを待ち受ける(ステップS102でNO)。
【0250】
そして、ゲートウェイ装置101は、制御装置122から送信メッセージを受信すると(ステップS102でYES)、受信した送信メッセージに取得対象の種類のデータが含まれるか否かを確認する(ステップS104)。
【0251】
次に、ゲートウェイ装置101は、受信した送信メッセージに取得対象の種類のデータが含まれる場合(ステップS104でYES)、受信した送信メッセージを記憶部52に保存する(ステップS106)。この際、ゲートウェイ装置101は、送信メッセージにタイムスタンプを付す。
【0252】
次に、ゲートウェイ装置101は、受信した送信メッセージを記憶部52に保存するか(ステップS106)、または受信した送信メッセージに取得対象の種類のデータが含まれない場合(ステップS104でNO)、受信した送信メッセージの中継処理を行った後、制御装置122から新たな送信メッセージを待ち受ける(ステップS102でNO)。
【0253】
図13は、本開示の第1の実施の形態に係るゲートウェイ装置が、受信した送信メッセージを記憶部に保存した際の動作手順を定めたフローチャートである。
【0254】
図13を参照して、モデル情報Md2が、通常モデルM2、ならびに監視対象データであるデータXおよび相関データであるデータYの種類の組み合わせを示す状況を想定する。
【0255】
まず、ゲートウェイ装置101は、送信メッセージが記憶部52に保存されるのを待ち受ける(ステップS202でNO)。
【0256】
そして、ゲートウェイ装置101は、送信メッセージが記憶部52に保存されると(ステップS202でYES)、モデル情報Md2の示す2種類の組み合わせに合った監視対象データおよび相関データが当該送信メッセージすなわち同じ送信メッセージに格納されているか否かを確認する(ステップS204)。
【0257】
次に、ゲートウェイ装置101は、モデル情報Md2の示す2種類の組み合わせに合った監視対象データおよび相関データが同じ送信メッセージに含まれない場合、すなわち別個の送信メッセージに分かれて含まれる場合(ステップS204でNO)、モデル情報Md2の示す監視対象データおよび相関データに対して同期処理を行う(ステップS206)。
【0258】
次に、ゲートウェイ装置101は、当該送信メッセージからモデル情報Md2の示す監視対象データおよび相関データの組を取得するか、または同期処理を行った監視対象データおよび相関データからモデル情報Md2の示す監視対象データおよび相関データの最新の組を取得する(ステップS208)。
【0259】
次に、ゲートウェイ装置101は、取得した監視対象データおよび相関データの組に対応する通常モデルM2を記憶部52から取得する(ステップS210)。
【0260】
次に、ゲートウェイ装置101は、取得した監視対象データおよび相関データの組、ならびに通常モデルM2に基づいて、監視対象データの推定誤差ydiffを算出する(ステップS212)。
【0261】
次に、ゲートウェイ装置101は、算出した推定誤差ydiff、および通常モデルM2を用いて作成された推定誤差ydiffの分布に基づいて、マハラノビス距離D(t)^2を算出する(ステップS214)。
【0262】
次に、ゲートウェイ装置101は、算出したマハラノビス距離D(t)^2と、記憶部52における直前に算出したマハラノビス距離D(t-1)^2とに基づいて、スコアT(t)^2を算出する(ステップS216)。
【0263】
次に、ゲートウェイ装置101は、算出したスコアT(t)^2と、所定のしきい値Th1とを比較する(ステップS218)。
【0264】
次に、ゲートウェイ装置101は、スコアT(t)^2がしきい値Th1より小さい場合、監視対象データに対応する送信メッセージは正当メッセージであると判断する(ステップS222)。
【0265】
一方、ゲートウェイ装置101は、スコアT(t)^2がしきい値Th1以上である場合、監視対象データに対応する送信メッセージは不正メッセージであると判断する(ステップS224)。
【0266】
次に、ゲートウェイ装置101は、新たな送信メッセージが記憶部52に保存されるのを待ち受ける(ステップS202でNO)。
【0267】
なお、上記動作の流れでは、通常モデルM2、ならびに対応の監視対象データおよび相関データの種類の組み合わせを示すモデル情報Md2が用いられる状況を想定したが、これに限定するものではない。たとえば、通常モデルM4、ならびに監視対象データおよびq種類の相関データの組み合わせを示すモデル情報Md4が用いられてもよい。この場合、ゲートウェイ装置101は、上記ステップS208において、監視対象データおよびq種類の相関データの組を取得し、上記ステップS210において、対応の通常モデルM4を記憶部52から取得する。
【0268】
また、本開示の第1の実施の形態に係るゲートウェイ装置では、メッセージ取得部55は、車載ネットワーク12における複数の送信メッセージを取得する構成であるとしたが、これに限定するものではない。メッセージ取得部55は、車載ネットワーク12における1つの送信メッセージを取得する構成であってもよい。たとえば、モデル情報の示す2種類の組み合わせに合ったデータが当該1つの送信メッセージに含まれる場合、送信メッセージが不正メッセージであるか否かを判断することが可能である。
【0269】
また、本開示の第1の実施の形態に係る車載通信システムでは、ゲートウェイ装置101が、車載ネットワーク12における不正メッセージを検知する構成であるとしたが、これに限定するものではない。車載通信システム301において、ゲートウェイ装置101とは別の検知装置が、車載ネットワーク12における不正メッセージを検知する構成であってもよい。
【0270】
また、本開示の第1の実施の形態に係るゲートウェイ装置では、データ取得部53は、同じ受信時刻に対応する複数種類のデータの組を取得する構成であるとしたが、これに限定するものではない。データ取得部53は、受信時刻に限らず、同じ送信時刻または同じ作成時刻等に対応する複数種類のデータの組を取得する構成であってもよい。具体的には、たとえば、制御装置122がデータの作成時刻または送信メッセージの送信時刻を送信メッセージに格納して送信する場合、データ取得部53は、同じ送信時刻または同じ作成時刻に対応する複数種類のデータの組を取得することが可能である。
【0271】
また、本開示の第1の実施の形態に係るゲートウェイ装置では、検知部54は、制御装置122間でやり取りされる送信メッセージを不正メッセージの検知対象とする構成であるとしたが、これに限定するものではない。検知部54は、制御装置122および車載通信機111間でやり取りされる送信メッセージ、ならびに車載通信機111間でやり取りされる送信メッセージを不正メッセージの検知対象とする構成であってもよい。
【0272】
また、本開示の第1の実施の形態に係るゲートウェイ装置では、通常モデルは、所定の相関関係を有する複数種類のデータの組に基づいて作成される構成であるとしたが、これに限定するものではない。通常モデルは、所定の相関関係を有さない複数種類のデータの組に基づいて作成される構成であってもよい。
【0273】
また、本開示の第1の実施の形態に係るゲートウェイ装置では、データ取得部53は、メッセージ取得部55によって記憶部52に保存された各送信メッセージから複数種類のデータを取得し、取得したデータをリサンプリングする構成であるとしたが、これに限定するものではない。たとえば、各送信メッセージの受信時刻が近い場合、データ取得部53は、メッセージ取得部55から各送信メッセージを直接受けて、受けた各送信メッセージから複数種類のデータを取得し、取得したデータをリサンプリングせずに検知に用いる構成であってもよい。
【0274】
ところで、車載ネットワークにおける不正メッセージをより正しく検知することが可能な技術が望まれる。
【0275】
たとえば、不正な車載装置による攻撃モデルとして、正常な車載装置からの正当メッセージを停止させるとともに、正当メッセージと同一の送信周期の不正メッセージを送信するという、いわゆる占有バス型の攻撃モデルが想定される。このような占有バス型の攻撃モデルにおいて、不正な車載装置が、正常な車載装置からの正当メッセージの送信時刻を機械学習し、送信間隔の標準偏差が正当メッセージの送信間隔の標準偏差と略同一となるように不正メッセージが送信された場合、当該不正メッセージを検知することは容易ではない。
【0276】
特許文献1に記載の技術では、占有バス型の攻撃モデルによる不正メッセージを検知し得る。しかしながら、特許文献1に記載の技術では、正当メッセージに含まれる監視対象データが突発的に変化した場合、当該正当メッセージを不正メッセージであると誤検知してしまうおそれがあるため、検知性能のさらなる向上が望まれる。
【0277】
これに対して、本開示の第1の実施の形態に係るゲートウェイ装置101は、車両1に搭載される車載ネットワーク12における不正メッセージを検知する。メッセージ取得部55は、車載ネットワーク12における1または複数の送信メッセージを取得する。データ取得部53は、メッセージ取得部55によって取得された送信メッセージに含まれる、同じ時刻に対応する複数種類のデータの組を取得する。記憶部52は、予め作成された、複数の時刻にそれぞれ対応する複数の組に基づく検出条件を記憶する。検知部54は、データ取得部53によって取得された組、および検出条件に基づいて、組における監視対象データの推定誤差を算出する。検知部54は、算出した推定誤差と、過去に算出した推定誤差とに基づいて、監視対象データに対応する送信メッセージが不正メッセージであるか否かを判断する。
【0278】
本開示の第1の実施の形態に係る検知方法は、車両1に搭載される車載ネットワーク12における不正メッセージを検知し、記憶部52を備えるゲートウェイ装置101における検知方法である。記憶部52は、予め作成された、複数の時刻にそれぞれ対応する複数の組に基づく検出条件を記憶する。この検知方法では、まず、ゲートウェイ装置101が、車載ネットワーク12における1または複数の送信メッセージを取得する。次に、ゲートウェイ装置101が、取得した送信メッセージに含まれる、同じ時刻に対応する複数種類のデータの組を取得する。次に、ゲートウェイ装置101が、取得した組、および検出条件に基づいて、組における監視対象データの推定誤差を算出する。次に、ゲートウェイ装置101が、算出した推定誤差と、過去に算出した推定誤差とに基づいて、監視対象データに対応する送信メッセージが不正メッセージであるか否かを判断する。
【0279】
このように、複数種類のデータの組における監視対象データの推定誤差を算出し、算出した推定誤差と、過去に算出した推定誤差とに基づいて、当該監視対象データに対応する送信メッセージが不正メッセージであるか否かを判断する構成および方法により、たとえば現在の推定誤差の正当性に基づいて送信メッセージが不正メッセージであるか否かを判断する従来技術の構成と比べて、データの突発的な変化が判断結果に与える影響を抑制することができるため、検知性能を向上させることができる。
【0280】
したがって、本開示の第1の実施の形態に係る検知装置および検知方法では、車載ネットワークにおける不正メッセージをより正しく検知することができる。より詳細には、上記の構成および方法によれば、占有バス型の攻撃モデルにおいて、たとえば推定誤差の累積値を用いて不正メッセージを検知することができるため、特許文献1に記載の技術と比べて検知性能を向上させることができる。また、上記の構成および方法によれば、正常な車載装置からの正当メッセージを停止することなく不正メッセージを送信するという、いわゆる共有バス型の攻撃モデルにおいても、たとえば推定誤差の累積値を用いて不正メッセージを検知することができるため、正常メッセージを不正メッセージであると判定されるおそれがある程度許容される場合において、特許文献1に記載の技術と比べて検知性能を向上させることができる。
【0281】
次に、本開示の他の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
【0282】
<第2の実施の形態>
本実施の形態は、第1の実施の形態に係るゲートウェイ装置と比べて、送信メッセージの送信間隔に基づく不正メッセージの検知を組み込んだゲートウェイ装置に関する。以下で説明する内容以外は第1の実施の形態に係るゲートウェイ装置と同様である。
【0283】
[構成および基本動作]
図14は、本開示の第2の実施の形態に係る車載通信システムにおけるゲートウェイ装置の構成を示す図である。
【0284】
図14を参照して、ゲートウェイ装置103は、通信処理部51と、記憶部52と、データ取得部53と、メッセージ取得部55と、監視部57と、分布取得部58と、検知部64とを備える。検知部64は、算出部の一例であり、かつ判断部の一例である。
【0285】
ゲートウェイ装置103における通信処理部51、記憶部52、データ取得部53およびメッセージ取得部55の動作は、
図3に示すゲートウェイ装置101における通信処理部51、記憶部52、データ取得部53およびメッセージ取得部55とそれぞれ同様である。監視部57、分布取得部58および検知部64は、たとえば、CPUおよびDSP等のプロセッサにより実現される。
【0286】
図15は、本開示の第2の実施の形態に係る車載通信システムにおける監視対象の周期メッセージの送信間隔の時間変化の一例を示す図である。なお、
図15において、縦軸は送信間隔を示し、横軸は時間を示す。
【0287】
図15を参照して、送信間隔は、たとえば、ある監視対象の周期メッセージが伝送線13において伝送されるタイミングの間隔である。以下、監視対象の周期メッセージを対象メッセージとも称する。
【0288】
図15に示すように、対象メッセージの送信間隔は一定でなく、ばらついている。これは、対象メッセージが伝送される際に調停が行われたり、クロックのずれによる内部処理の遅延ばらつきが発生したりするからである。
【0289】
ここで、調停について説明する。メッセージには、たとえば、IDに応じて優先度が割り当てられている。たとえば、複数のメッセージの送信タイミングが重なる場合、車載ネットワーク12では、優先度の高いメッセージを、優先度の低いメッセージより優先的に伝送線13を伝送させる調停が行われる。このような調停により、送信間隔のばらつきが発生する。
【0290】
図16は、本開示の第2の実施の形態に係る車載通信システムにおける対象メッセージの送信間隔の度数分布の一例を示す図である。なお、
図16において、縦軸は度数を示し、横軸は送信間隔を示す。
【0291】
図16を参照して、送信間隔の度数分布は、Ctミリ秒を中心としてほぼ対称である。送信間隔の度数分布は、たとえば所定のモデル関数Func1により近似することが可能である。
【0292】
再び
図14を参照して、監視部57は、たとえば、車載ネットワーク12における送信メッセージを監視する。より詳細には、監視部57は、たとえば、通信処理部51における送信メッセージの中継処理を監視し、監視結果に基づいて対象メッセージの送信間隔を測定する。
【0293】
具体的には、たとえば、監視部57には、対象メッセージを示すIDが1つ登録されている。以下、対象メッセージを示す、登録されたIDを登録IDとも称する。なお、監視部57には、複数の登録IDが登録されてもよい。
【0294】
監視部57は、たとえば、通信処理部51が送信メッセージを受信すると、通信処理部51によって受信された送信メッセージに含まれるIDを確認する。監視部57は、確認したIDが登録IDと一致する場合、通信処理部51によって受信された送信メッセージすなわち対象メッセージの受信時刻t1をたとえば測定基準として保持する。
【0295】
そして、監視部57は、通信処理部51において登録IDを含む新たな対象メッセージが受信されると、新たに受信された対象メッセージの受信時刻t2を保持するとともに、以下の処理を行う。
【0296】
すなわち、監視部57は、受信時刻t2から受信時刻t1を差し引くことにより、対象メッセージの送信間隔を算出し、算出した送信間隔および登録IDを検知部64へ出力する。
【0297】
分布取得部58は、たとえば、送信メッセージの送信間隔の分布を取得する。詳細には、分布取得部58は、たとえば、他の装置、具体的にはサーバによって予め作成された送信間隔の分布を示す分布情報を取得する。
【0298】
より詳細には、サーバは、たとえば、対象メッセージの送信間隔を複数取得する。この送信間隔は、たとえば、車両1と同じ種類のテスト車両において測定される。なお、サーバは、車両1において測定された送信間隔を取得してもよい。
【0299】
サーバは、たとえば、モデル関数Func1として、以下の式(9)に示す、変数をxとする正規分布の確率密度関数pを用いる。以下、確率密度関数pを正規分布関数とも称する。
【数9】
【0300】
ここで、xバーおよびσ^2は、パラメータであり、それぞれ複数の送信間隔の平均値および分散である。xバーおよびσ^2は、それぞれ、以下の式(10)および(11)により算出される。
【数10】
【数11】
【0301】
ここで、tは、送信間隔のサンプル数である。xiは、i番目の送信間隔である。サーバは、たとえば、所定の頒布タイミングにおいて、xバーおよびσ^2を含む分布情報を車両1へ送信する。
【0302】
分布取得部58は、車載通信機111および通信処理部51経由でサーバから分布情報を受信すると、受信した分布情報に基づいて、式(9)により示されるモデル関数Func1を作成し、作成したモデル関数Func1を検知部64へ出力する。
【0303】
なお、ゲートウェイ装置101では、分布取得部58が、車載通信機111および通信処理部51経由でサーバから分布情報を受信して検知部64へ出力する構成であるとしたが、これに限定するものではない。たとえば、ゲートウェイ装置101が不揮発性メモリを保持しており、分布取得部58が、整備用端末装置によってポート112経由で分布情報が書き込まれた不揮発性メモリから分布情報を取得して検知部64へ出力する構成であってもよい。
【0304】
図17は、本開示の第2の実施の形態に係るゲートウェイ装置における検知部による不正メッセージの検出例を示す図である。なお、
図17において、縦軸はスコアを示し、横軸は変数xを示す。
【0305】
図17を参照して、検知部64は、たとえば、監視部57による監視結果および分布取得部58によって取得された送信間隔の分布に基づいて不正メッセージを検知する。
【0306】
詳細には、検知部64は、たとえば、監視部57によって測定された送信間隔と、当該送信間隔の分布を示す分布情報と、所定のしきい値とに基づいて、送信メッセージを不正メッセージとすべきか否かについて判断する。ここでは、検知部64には、しきい値ThBが登録されている。
【0307】
言い換えると、検知部64は、たとえば、監視部57によって測定された送信間隔の、当該送信間隔の分布における位置に基づいて不正メッセージを検知する。
【0308】
検知部64は、分布取得部58からモデル関数Func1を受けると、受けたモデル関数Func1を変形することによりスコア関数Sc1を作成する。より詳細には、検知部64は、たとえば、-log(Func1)をスコア関数Sc1として作成する。ここで、「log(c)」は、cの常用対数を意味する。
【0309】
図17では、スコア関数Sc1は、測定基準の時刻がx=0になるように表されている。したがって、
図17に示す横軸は、送信間隔を示す。また、スコア関数Sc1は、変数xが平均値すなわちxバーである場合に最小値を示す。
【0310】
検知部64は、監視部57から受けた送信間隔をスコア関数Sc1における変数xに代入することによりスコアを算出する。
【0311】
検知部64は、算出したスコアがたとえばしきい値ThB以下である場合、今回伝送された対象メッセージを不正メッセージとすべきでないと判断する、すなわち対象メッセージが正当メッセージ、または送信間隔が偽装されたメッセージであると判断する。以下、送信間隔が偽装されたメッセージを偽装メッセージとも称する。
【0312】
具体的には、検知部64は、
図17に示す送信間隔Tcを監視部57から受けた場合、今回伝送された対象メッセージCが正当メッセージまたは偽装メッセージであると判断する。
【0313】
これは、たとえば、対象メッセージが正当メッセージまたは偽装メッセージである場合、調停および内部処理の遅延等によるばらつきを含めても、
図16に示す度数分布の中心の近傍に送信間隔が位置する可能性が高いからである。
【0314】
一方、検知部64は、算出したスコアがしきい値ThBより大きい場合、今回伝送された対象メッセージが不正メッセージであると判断する。具体的には、検知部64は、
図17に示す送信間隔Taを監視部57から受けた場合、今回伝送された対象メッセージAが不正メッセージであると判断する。同様に、検知部64は、送信間隔Tbを監視部57から受けた場合、今回伝送された対象メッセージBが不正メッセージであると判断する。
【0315】
これは、たとえば、対象メッセージが不正メッセージである場合、当該対象メッセージが所定の取り決めに従って送信されていない可能性が高いからである。
【0316】
また、セキュリティのレベルを下げる場合、検知部64に登録されたしきい値をThBより大きいThAに変更する。これにより、たとえば、送信間隔Tbに対応する対象メッセージBのように、検知部64により不正メッセージと判断された送信メッセージが、しきい値の変更後において正当メッセージまたは偽装メッセージと判断される。
【0317】
検知部64は、監視部57から受けた送信間隔に基づく判断結果を監視部57へ通知する。
【0318】
監視部57は、たとえば、正当メッセージまたは偽装メッセージと判断された送信メッセージの受信タイミングを送信間隔の測定基準として用いる。
【0319】
より詳細には、監視部57は、検知部64から通知された判断結果が、今回伝送された対象メッセージが正当メッセージまたは偽装メッセージであることを示す場合、受信時刻t2を送信間隔の新たな測定基準として用いる。
【0320】
そして、監視部57は、通信処理部51において登録IDを含む新たな対象メッセージが受信されると、新たに受信された対象メッセージの受信時刻t3を保持するとともに、以下の処理を行う。
【0321】
すなわち、監視部57は、受信時刻t3から受信時刻t2を差し引くことにより、対象メッセージの新たな送信間隔を算出し、算出した送信間隔を検知部64へ出力する。
【0322】
一方、監視部57は、検知部64から通知された判断結果が、今回伝送された対象メッセージが不正メッセージであることを示す場合、受信時刻t1を測定基準のまま維持する。
【0323】
そして、監視部57は、通信処理部51において登録IDを含む新たな対象メッセージが受信されると、新たに受信された対象メッセージの受信時刻t3を保持するとともに、以下の処理を行う。
【0324】
すなわち、監視部57は、受信時刻t3から受信時刻t1を差し引くことにより、対象メッセージの新たな送信間隔を算出し、算出した送信間隔を検知部64へ出力する。
【0325】
検知部64は、たとえば、監視部57によって測定された送信間隔の分布に基づいて不正メッセージとすべきでないと判断した対象メッセージについては、当該対象メッセージに格納されたデータの推定誤差ydiffを算出し、算出した推定誤差ydiffと、過去に算出した推定誤差ydiffとに基づいて、不正メッセージであるか否かを判断する。
【0326】
より詳細には、検知部64は、今回伝送された対象メッセージCが正当メッセージまたは偽装メッセージであると判断した場合、監視部57から受けた登録IDをデータ取得部53へ出力する。
【0327】
データ取得部53は、検知部64から登録IDを受けると、記憶部52に保存された複数の送信メッセージの中から、受けた登録IDを有する最新の送信メッセージすなわち最新の対象メッセージを取得する。
【0328】
この例では、対象メッセージにおいて1つのデータが格納されている。データ取得部53は、取得した最新の対象メッセージに格納された1つのデータの種類を認識する。なお、対象メッセージにおいて、2つ以上のデータが含まれてもよい。以下、データ取得部53により取得された最新の対象メッセージに含まれる1つのデータの種類を対象種類とも称する。
【0329】
データ取得部53は、記憶部52が保存する検出条件情報に含まれる複数のモデル情報を参照し、参照した複数のモデル情報の中から、認識した対象種類を示すモデル情報を記憶部52から取得する。
【0330】
データ取得部53は、取得したモデル情報に基づいて、対象種類と組み合わされるデータの種類を特定する。以下、対象種類と組み合わされるデータの種類を相手方種類とも称する。また、以下、対象種類のデータが監視対象データであり、相手方種類のデータが相関データであるものとする。
【0331】
データ取得部53は、たとえば、対象種類のデータを含む複数の対象メッセージ、および相手方種類のデータを含む複数の送信メッセージを記憶部52から取得し、取得した各送信メッセージに基づいて、対象種類のデータの受信時刻と相手方種類のデータの受信時刻とを同期させる同期処理を行う。
【0332】
データ取得部53は、同期処理が完了すると、同期させた2種類のデータから最新の2種類のデータの組を取得し、取得した2種類のデータの組、およびモデル情報の示す種類の組み合わせを検知部64へ出力する。
【0333】
検知部64は、データ取得部53から2種類のデータの組、およびモデル情報の示す種類の組み合わせを受けると、記憶部52における検出条件情報に含まれる複数のモデル情報を参照し、受けた組み合わせに対応する通常モデルM2を記憶部52における対応のモデル情報から取得する。
【0334】
検知部64は、データ取得部53によって取得された対象種類のデータおよび相手方種類のデータの組、ならびにモデル情報Md2に含まれる通常モデルM2に基づいて、対象種類のデータの推定誤差ydiffを算出する。
【0335】
検知部54は、算出した推定誤差ydiff、ならびにモデル情報Md2に含まれる平均値μおよび分散σ^2を上述の式(2)に代入することによりマハラノビス距離D(t)^2を算出する。
【0336】
検知部54は、マハラノビス距離D(t)^2を算出すると、算出したマハラノビス距離D(t)^2を上述の式(4)に代入することによりスコアT(t)^2を算出し、算出したスコアT(t)^2に基づいて、対象メッセージが不正メッセージであるか否かを判断する。
【0337】
検知部64は、対象メッセージが不正メッセージであると判断した場合、たとえば、以下の処理を行う。すなわち、検知部64は、登録ID、相手方種類のデータを含む送信メッセージのID、および対応の種類の組み合わせ等を記憶部52に記録する。
【0338】
また、検知部64は、伝送線13において不正メッセージが伝送されていることを車両1内または車両1外における上位装置へ通信処理部51経由で通知する。
【0339】
[動作の流れ]
図18は、本開示の第2の実施の形態に係るゲートウェイ装置が対象メッセージを受信する際の動作手順を定めたフローチャートである。
【0340】
図18を参照して、まず、ゲートウェイ装置103は、最初の対象メッセージを受信し、当該対象メッセージの受信時刻を測定基準として設定する(ステップS302)。
【0341】
次に、ゲートウェイ装置103は、対象メッセージを待ち受ける(ステップS304でNO)。
【0342】
そして、ゲートウェイ装置103は、対象メッセージを受信すると(ステップS304でYES)、受信した対象メッセージを不正メッセージとすべきか否かについて判断する判断処理を行う(ステップS306)。
【0343】
次に、ゲートウェイ装置103は、新たな対象メッセージを待ち受ける(ステップS304でNO)。
【0344】
図19は、本開示の第2の実施の形態に係るゲートウェイ装置が判断処理を行う際の動作手順を定めたフローチャートである。
図19は、
図18のステップS306における動作の詳細を示している。
【0345】
図19を参照して、ゲートウェイ装置103は、対象メッセージの受信時刻から測定基準を差し引くことにより送信間隔を算出する(ステップS402)。
【0346】
次に、ゲートウェイ装置103は、算出した送信間隔をスコア関数Sc1に代入することによりスコアを算出する(ステップS404)。
【0347】
次に、ゲートウェイ装置103は、算出したスコアがしきい値ThBより大きい場合(ステップS406でNO)、今回伝送された対象メッセージが不正メッセージであると判断する(ステップS428)。
【0348】
一方、ゲートウェイ装置103は、算出したスコアがしきい値ThB以下である場合(ステップS406でYES)、今回伝送された対象メッセージが正当メッセージまたは偽装メッセージであると判断する(ステップS408)。
【0349】
次に、ゲートウェイ装置103は、測定基準を、今回伝送された対象メッセージの受信時刻に更新する(ステップS410)。
【0350】
次に、ゲートウェイ装置103は、対象種類のデータすなわち監視対象データ、および相手方種類のデータすなわち相関データの両方が対象メッセージに格納されているか否かを確認する(ステップS412)。
【0351】
次に、ゲートウェイ装置103は、監視対象データおよび相関データの両方が対象メッセージに含まれない場合、すなわち別個の送信メッセージに分かれて含まれる場合(ステップS412でNO)、監視対象データおよび相関データに対して同期処理を行う(ステップS414)。
【0352】
次に、ゲートウェイ装置103は、2種類のデータの組、より詳細には監視対象データおよび相関データの組を対象メッセージから取得するか、または同期処理を行った監視対象データおよび相関データから、監視対象データおよび相関データの最新の組を取得する(ステップS416)。
【0353】
次に、ゲートウェイ装置103は、監視対象データおよび相関データの組に対応する通常モデルM2を記憶部52から取得する(ステップS418)。
【0354】
次に、ゲートウェイ装置103は、取得した監視対象データおよび相関データの組、ならびに通常モデルM2に基づいて、監視対象データの推定誤差ydiffを算出する。また、ゲートウェイ装置103は、算出した推定誤差ydiff、および通常モデルM2を用いて作成された推定誤差ydiffの分布に基づいて、マハラノビス距離D(t)^2を算出する。また、ゲートウェイ装置103は、算出したマハラノビス距離D(t)^2と、記憶部52における直前に算出したマハラノビス距離D(t-1)^2とに基づいて、スコアT(t)^2を算出する(ステップS420)。
【0355】
次に、ゲートウェイ装置103は、算出したスコアT(t)^2と、所定のしきい値Th1とを比較する(ステップS422)。
【0356】
次に、ゲートウェイ装置103は、スコアT(t)^2がしきい値Th1より小さい場合、今回伝送された対象メッセージが正当メッセージであると判断する(ステップS426)。
【0357】
一方、ゲートウェイ装置103は、スコアT(t)^2がしきい値Th1以上である場合、今回伝送された対象メッセージが不正メッセージであると判断する(ステップS428)。
【0358】
なお、本開示の第2の実施の形態に係るゲートウェイ装置では、監視部57は、対象メッセージの受信時刻に基づいて送信間隔を測定する構成であるとしたが、これに限定するものではない。監視部57は、たとえば、対象メッセージの送信時刻を取得し、取得した送信時刻に基づいて送信間隔を測定する構成であってもよい。
【0359】
また、本開示の第2の実施の形態に係るゲートウェイ装置は、テスト車両において測定された対象メッセージの送信間隔の分布を取得する構成であるとしたが、これに限定するものではない。ゲートウェイ装置103は、車両1において測定された送信間隔を蓄積し、蓄積した送信間隔に基づいて当該分布を作成する構成であってもよい。
【0360】
その他の構成および動作は第1の実施の形態に係るゲートウェイ装置と同様であるため、ここでは詳細な説明を繰り返さない。
【0361】
なお、本開示の第1の実施の形態および第2の実施の形態に係る各装置の構成要素および動作のうち、一部または全部を適宜組み合わせることも可能である。
【0362】
上記実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記説明ではなく請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【0363】
以上の説明は、以下に付記する特徴を含む。
【0364】
[付記1]
車両に搭載される車載ネットワークにおける不正メッセージを検知する検知装置であって、
前記車載ネットワークにおける1または複数の送信メッセージを取得するメッセージ取得部と、
前記メッセージ取得部によって取得された前記送信メッセージに含まれる、同じ時刻に対応する複数種類のデータの組を取得するデータ取得部と、
予め作成された、複数の時刻にそれぞれ対応する複数の前記組に基づく検出条件を記憶する記憶部と、
前記データ取得部によって取得された前記組、および前記検出条件に基づいて、前記組における監視対象の種類の前記データの推定誤差を算出する算出部と、
前記算出部により算出された前記推定誤差と、前記算出部により過去に算出された前記推定誤差とに基づいて、前記監視対象の前記種類の前記データに対応する前記送信メッセージが不正メッセージであるか否かを判断する判断部とを備え、
前記データは、センサデータであり、
前記時刻は、受信時刻、送信時刻または作成時刻であり、
前記判断部は、前記推定誤差と、過去に算出した前記推定誤差とに基づいて、CUSUM、MCUSUM、EWMAまたはMEWMAに従う解析手法を用いて、前記対象種類の前記データに対応する前記送信メッセージが不正メッセージであるか否かを判断する、検知装置。
【0365】
[付記2]
車両に搭載される車載ネットワークにおける不正メッセージを検知する検知装置であって、
前記車載ネットワークにおける1または複数の送信メッセージを取得するメッセージ取得部と、
前記メッセージ取得部によって取得された前記送信メッセージに含まれる、同じ時刻に対応する複数種類のデータの組を取得するデータ取得部と、
予め作成された、複数の時刻にそれぞれ対応する複数の前記組に基づく検出条件を記憶する記憶部と、
前記データ取得部によって取得された前記組、および前記検出条件に基づいて、前記組における監視対象の種類の前記データの推定誤差を算出する算出部と、
前記算出部により算出された前記推定誤差と、前記算出部により過去に算出された前記推定誤差とに基づいて、前記監視対象の前記種類の前記データに対応する前記送信メッセージが不正メッセージであるか否かを判断する判断部とを備え、
前記メッセージ取得部、前記データ取得部、前記算出部および前記判断部は、プロセッサにより実現される、検知装置。
【符号の説明】
【0366】
1 車両
12 車載ネットワーク
13,14 伝送線
51 通信処理部
52 記憶部
53 データ取得部
54 検知部
55 メッセージ取得部
57 監視部
58 分布取得部
64 検知部
101,103 ゲートウェイ装置
111 車載通信機
112 ポート
121 バス接続装置群
122 制御装置
301 車載通信システム