最初に、本発明の実施形態の内容を列記して説明する。
(1)本発明の実施の形態に係る検知装置は、車両に搭載される車載ネットワークにおける不正メッセージを検知する検知装置であって、前記車載ネットワークにおける1または複数の送信メッセージを取得するメッセージ取得部と、前記メッセージ取得部によって取得された前記送信メッセージに含まれる、同じ時刻に対応する複数種類のデータの組を取得するデータ取得部と、予め作成された、複数の時刻にそれぞれ対応する複数の前記組に基づく検出条件を記憶する記憶部と、前記データ取得部によって取得された前記組、および前記検出条件に基づいて前記不正メッセージを検知する検知部とを備える。
たとえば、複数種類のデータ間に何らかの関係がある場合、当該関係を用いて、あるデータから他のデータがとり得る値の範囲を算出することができる。上記のような構成により、たとえば、上記組におけるあるデータから当該組における他のデータがとり得る値の範囲を検出条件に基づいて算出することができるので、当該他のデータの正当性を正しく判断することができる。これにより、不正と判断したデータを含むメッセージを不正メッセージとして検知することができる。したがって、車載ネットワークにおける不正メッセージを正しく検知することができる。
(2)好ましくは、前記検出条件は、所定の相関関係を有する複数種類のデータの前記組に基づいて作成されている。
このように、データ間においてある程度の関係が存在する複数種類のデータの組に基づいて検出条件が作成される構成により、組におけるあるデータから当該組における他のデータがとり得る値の範囲をより狭めることが可能な検出条件を作成することができる。これにより、当該他のデータの正当性をより正しく判断することができる。すなわち、適切な検出条件を作成することができる。
(3)より好ましくは、ある種類の前記データと前記相関関係を有する前記データである相関データが複数種類ある場合、前記ある種類の前記データと前記複数種類の前記相関データとに基づいて1つの前記検出条件が作成されている。
このような構成により、たとえば、攻撃者が、ある種類のデータおよび複数種類の相関データのうちの一部のデータを改変した場合においても、改変したデータと残りのデータとの関係に基づいて、上記組のデータの異常を判断することができる。すなわち、攻撃者は、不正侵入するためには、ある種類のデータおよび複数種類の相関データの全部を改変しなければならないので、車載ネットワークに対する不正侵入を困難にすることができる。これにより、車載ネットワークにおけるセキュリティを向上させることができる。
(4)より好ましくは、前記検知部は、前記データ取得部によって取得された前記ある種類の前記データおよび前記複数種類の前記相関データ、ならびに前記検出条件に基づいて、前記ある種類の前記データの推定誤差を算出し、算出した前記推定誤差、および前記検出条件を用いて作成された前記推定誤差の分布に基づいて、前記ある種類の前記データの正当性を評価し、評価結果に基づいて、前記ある種類の前記データが前記不正メッセージであるか否かを判断する。
このような構成により、たとえば、ある種類のデータが、センサによって計測された値のように連続して変化する値である場合において、ある種類のデータが正しい値を有する可能性をより正しく評価することができるので、ある種類のデータの正当性をより正しく判断することができる。
(5)より好ましくは、前記ある種類の前記データは、状態を表すデータであり、前記検知部は、前記データ取得部によって取得された前記複数種類の前記相関データ、および前記検出条件に基づいて、前記ある種類の前記データの値を推定し、推定した前記値と前記ある種類の前記データとの比較結果に基づいて、前記ある種類の前記データが前記不正メッセージであるか否かを判断する。
このような構成により、たとえば、ある種類のデータが、ギアのシフトポジションまたはシートベルトの状態のように不連続に変化する値である場合において、ある種類のデータが示すべき値をより正しく推定することができるので、ある種類のデータの正当性をより正しく判断することができる。
(6)より好ましくは、ある種類の前記データと前記相関関係を有する前記データである相関データが複数種類ある場合、前記ある種類の前記データと前記複数種類の前記相関データとに基づいて複数の前記検出条件がそれぞれ作成されている。
このような構成により、車載ネットワークに対する不正侵入を困難にするとともに、検出条件の算出における計算負荷を軽減することができる。
(7)好ましくは、前記データ取得部は、異なる前記送信メッセージにそれぞれ含まれる前記複数種類のデータの組を取得する。
受信時刻、送信時刻または作成時刻等が異なる複数種類のデータは、異なる送信メッセージにそれぞれ含まれることが多い。上記のような構成により、時刻によって検知対象のデータの種類が制限されることを防ぐことができる。
(8)より好ましくは、前記メッセージ取得部は、取得した複数の前記送信メッセージを記憶部に保存し、前記データ取得部は、前記記憶部に保存された各前記送信メッセージから前記組を取得する。
このような構成により、たとえば、記憶部に保存された複数の送信メッセージにおけるデータをリサンプリングすることができるので、複数種類のデータの時刻を合わせることができる。これにより、同じ時刻に対応する複数種類のデータの組を容易に取得することができる。
(9)好ましくは、前記検知装置は、さらに、前記データ取得部によって取得された前記組に基づいて前記検出条件を更新する更新部を備える。
このような構成により、たとえば、検出条件の算出に用いた組が母集団として不完全であっても、新たに取得した組を母集団に含めることができるので、母集団の完成度をより高めることができる。これにより、より適切な検出条件に更新することができる。
(10)好ましくは、前記検知装置は、さらに、前記車載ネットワークにおける前記送信メッセージを監視する監視部と、前記送信メッセージの送信間隔の分布を取得する分布取得部とを備え、前記検知部は、前記監視部による監視結果および前記分布取得部によって取得された前記分布に基づいて前記不正メッセージを検知し、前記検知部は、前記不正メッセージとすべきでないと判断した前記送信メッセージについては、前記データ取得部によって取得された前記組、および前記検出条件に基づいて、前記不正メッセージであるか否かについて判断する。
送信間隔を精度よく偽装した送信メッセージは、上記監視結果および上記分布に基づいて不正メッセージとして検知することが困難である。上記のような構成により、当該送信メッセージを、上記組および検出条件に基づいて不正メッセージとして検知することができるので、車載ネットワークにおけるセキュリティを向上させることができる。
(11)本発明の実施の形態に係る検知方法は、車両に搭載される車載ネットワークにおける不正メッセージを検知し、記憶部を備える検知装置における検知方法であって、前記車載ネットワークにおける1または複数の送信メッセージを取得するステップと、取得した前記送信メッセージに含まれる、同じ時刻に対応する複数種類のデータの組を取得するステップとを含み、前記記憶部は、予め作成された、複数の時刻にそれぞれ対応する複数の前記組に基づく検出条件を記憶し、前記検知方法は、さらに、取得した前記組、および前記検出条件に基づいて前記不正メッセージを検知するステップを含む。
たとえば、複数種類のデータ間に何らかの関係がある場合、当該関係を用いて、あるデータから他のデータがとり得る値の範囲を算出することができる。上記のような構成により、たとえば、上記組におけるあるデータから当該組における他のデータがとり得る値の範囲を検出条件に基づいて算出することができるので、当該他のデータの正当性を正しく判断することができる。これにより、不正と判断したデータを含むメッセージを不正メッセージとして検知することができる。したがって、車載ネットワークにおける不正メッセージを正しく検知することができる。
(12)本発明の実施の形態に係る検知プログラムは、車両に搭載される車載ネットワークにおける不正メッセージを検知し、記憶部を備える検知装置において用いられる検知プログラムであって、コンピュータを、前記車載ネットワークにおける1または複数の送信メッセージを取得するメッセージ取得部と、前記メッセージ取得部によって取得された前記送信メッセージに含まれる、同じ時刻に対応する複数種類のデータの組を取得するデータ取得部、として機能させるためのプログラムであり、前記記憶部は、予め作成された、複数の時刻にそれぞれ対応する複数の前記組に基づく検出条件を記憶し、さらに、コンピュータを、前記データ取得部によって取得された前記組、および前記検出条件に基づいて前記不正メッセージを検知する検知部、として機能させるためのプログラムである。
たとえば、複数種類のデータ間に何らかの関係がある場合、当該関係を用いて、あるデータから他のデータがとり得る値の範囲を算出することができる。上記のような構成により、たとえば、上記組におけるあるデータから当該組における他のデータがとり得る値の範囲を検出条件に基づいて算出することができるので、当該他のデータの正当性を正しく判断することができる。これにより、不正と判断したデータを含むメッセージを不正メッセージとして検知することができる。したがって、車載ネットワークにおける不正メッセージを正しく検知することができる。
以下、本発明の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。また、以下に記載する実施の形態の少なくとも一部を任意に組み合わせてもよい。
<第1の実施の形態>
[構成および基本動作]
図1は、本発明の第1の実施の形態に係る車載通信システムの構成を示す図である。
図1を参照して、車載通信システム301は、ゲートウェイ装置(検知装置)101と、複数の車載通信機111と、複数のバス接続装置群121とを備える。
図2は、本発明の第1の実施の形態に係るバス接続装置群の構成を示す図である。
図2を参照して、バス接続装置群121は、複数の制御装置122を含む。なお、バス接続装置群121は、複数の制御装置122を備える構成に限らず、1つの制御装置122を含む構成であってもよい。
車載通信システム301は、道路を走行する車両(以下、対象車両とも称する。)1に搭載される。車載ネットワーク12は、対象車両1の内部における装置である車載装置を複数含む。具体的には、車載ネットワーク12は、車載装置の一例である、複数の車載通信機111および複数の制御装置122を含む。
なお、車載ネットワーク12は、複数の車載装置を含む構成であれば、複数の車載通信機111を含みかつ制御装置122を含まない構成であってもよいし、車載通信機111を含まずかつ複数の制御装置122を含む構成であってもよいし、1つの車載通信機111および1つの制御装置122を含む構成であってもよい。
車載ネットワーク12において、車載通信機111は、たとえば、対象車両1の外部における装置と通信する。具体的には、車載通信機111は、たとえば、TCU(Telematics Communication Unit)、近距離無線端末装置、およびITS(Intelligent Transport Systems)無線機である。
TCUは、たとえば、LTE(Long Term Evolution)または3G等の通信規格に従って、無線基地局装置と無線通信を行うことが可能であり、かつゲートウェイ装置101と通信を行うことが可能である。TCUは、たとえば、ナビゲーション、車両盗難防止、リモートメンテナンスおよびFOTA(Firmware Over The Air)等のサービスに用いる情報を中継する。
近距離無線端末装置は、たとえば、Wi−Fi(登録商標)およびBluetooth(登録商標)等の通信規格に従って、対象車両1に乗車している人間(以下、搭乗者とも称する。)の保持するスマートホン等の無線端末装置と無線通信を行うことが可能であり、かつゲートウェイ装置101と通信を行うことが可能である。当該近距離無線端末装置は、たとえば、エンターテイメント等のサービスに用いる情報を中継する。
また、近距離無線端末装置は、たとえば、所定の通信規格に従って、搭乗者の保持するスマートキー等の無線端末装置、およびタイヤに設けられた無線端末装置とLF(Low Frequency)帯またはUHF(Ultra High Frequency)帯の電波を用いて無線通信を行うことが可能であり、かつゲートウェイ装置101と通信を行うことが可能である。当該近距離無線端末装置は、たとえば、スマートエントリおよびTPMS(Tire Pressure Monitoring System)等のサービスに用いる情報を中継する。
ITS無線機は、たとえば、道路の近傍に設けられた光ビーコン、電波ビーコンおよびITSスポット等の路側機と路車間通信を行うことが可能であり、他の車両に搭載された車載端末と車車間通信を行うことが可能であり、かつゲートウェイ装置101と通信を行うことが可能である。ITS無線機は、たとえば、渋滞緩和、安全運転支援およびルートガイダンス等のサービスに用いる情報を中継する。
ゲートウェイ装置101は、たとえば、ファームウェアのアップデート等のデータ、およびゲートウェイ装置101により蓄積されたデータ等を対象車両1の外部における整備用端末装置とポート112を介して送受信することが可能である。
ゲートウェイ装置101は、たとえばバス13,14を介して車載装置と接続する。具体的には、バス13,14は、たとえば、CAN(Controller Area Network)(登録商標)、FlexRay(登録商標)、MOST(Media Oriented Systems Transport)(登録商標)、イーサネット(登録商標)、およびLIN(Local Interconnect Network)等の規格に従うバスである。
この例では、車載通信機111は、イーサネットの規格に従う対応のバス14を介してゲートウェイ装置101と接続されている。また、バス接続装置群121における各制御装置122は、CANの規格に従う対応のバス13を介してゲートウェイ装置101と接続されている。制御装置122は、たとえば、対象車両1における機能部を制御可能である。
バス13は、たとえば系統別に設けられる。具体的には、バス13は、たとえば、駆動系バス、シャーシ/安全系バス、ボディ/電装系バスおよびAV/情報系バスである。
駆動系バスには、制御装置122の一例であるエンジン制御装置、AT(Automatic Transmission)制御装置およびHEV(Hybrid Electric Vehicle)制御装置が接続されている。エンジン制御装置、AT制御装置およびHEV制御装置は、エンジン、AT、およびエンジンとモータとの切替をそれぞれ制御する。
シャーシ/安全系バスには、制御装置122の一例であるブレーキ制御装置、シャーシ制御装置およびステアリング制御装置が接続されている。ブレーキ制御装置、シャーシ制御装置およびステアリング制御装置は、ブレーキ、シャーシおよびステアリングをそれぞれ制御する。
ボディ/電装系バスには、制御装置122の一例である計器表示制御装置、エアコン制御装置、盗難防止制御装置、エアバック制御装置およびスマートエントリ制御装置が接続されている。計器表示制御装置、エアコン制御装置、盗難防止制御装置、エアバック制御装置およびスマートエントリ制御装置は、計器、エアコン、盗難防止機構、エアバック機構およびスマートエントリをそれぞれ制御する。
AV/情報系バスには、制御装置122の一例であるナビゲーション制御装置、オーディオ制御装置、ETC(Electronic Toll Collection System)(登録商標)制御装置および電話制御装置が接続されている。ナビゲーション制御装置、オーディオ制御装置、ETC制御装置および電話制御装置は、ナビゲーション装置、オーディオ装置、ETC装置および携帯電話をそれぞれ制御する。
また、バス13には、制御装置122が接続される構成に限らず、制御装置122以外の装置、たとえばセンサが接続されてもよい。
ゲートウェイ装置101は、たとえば、セントラルゲートウェイ(Central Gateway:CGW)であり、車載装置と通信を行うことが可能である。
ゲートウェイ装置101は、たとえば、対象車両1において異なるバス13に接続された制御装置122間でやり取りされる情報、各車載通信機111間でやり取りされる情報、制御装置122および車載通信機111間でやり取りされる情報を中継する中継処理を行う。
より詳細には、対象車両1では、たとえば、所定の取り決めに従って、ある車載装置から他の車載装置へ周期的にメッセージが送信される。この例では、ある制御装置122から他の制御装置122へ周期的に送信されるメッセージについて説明するが、制御装置122および車載通信機111間において送信されるメッセージ、ならびに各車載通信機111間において送信されるメッセージについても同様である。
メッセージの送信は、ブロードキャストによって行われてもよいし、ユニキャストによって行われてもよい。以下、周期的に送信されるメッセージを周期メッセージとも称する。
また、対象車両1では、周期メッセージの他に、ある制御装置122から他の制御装置122へ不定期に送信されるメッセージが存在する。メッセージには、メッセージの内容および送信元等を識別するためのIDが含まれる。メッセージが周期メッセージであるか否かをIDによって識別することが可能である。
図3は、本発明の第1の実施の形態に係る車載通信システムにおけるゲートウェイ装置の構成を示す図である。
図3を参照して、ゲートウェイ装置101は、通信処理部51と、記憶部52と、データ取得部53と、検知部54と、メッセージ取得部55とを備える。
ゲートウェイ装置101は、検知装置として機能し、対象車両1に搭載される車載ネットワーク12における不正メッセージを検知する。
詳細には、ゲートウェイ装置101における通信処理部51は、中継処理を行う。より詳細には、通信処理部51は、ある制御装置122から対応のバス13経由でメッセージを受信すると、受信したメッセージを他の制御装置122へ対応のバス13経由で送信する。
メッセージ取得部55は、車載ネットワーク12における複数の送信メッセージを取得する。メッセージ取得部55は、たとえば、取得した複数の送信メッセージを記憶部52に保存する。
より詳細には、記憶部52には、たとえば、メッセージ取得部55が監視対象とすべきデータの種類を含む検出条件情報が登録されている。検出条件情報の詳細については、後述する。
メッセージ取得部55は、記憶部52に登録されている検出条件情報に基づいて、自己が監視対象とすべきデータの種類を認識する。
メッセージ取得部55は、通信処理部51が中継するメッセージに含まれるデータを監視し、監視対象の種類のデータを含むメッセージを検出するごとに、以下の処理を行う。
すなわち、メッセージ取得部55は、検出したメッセージを通信処理部51から取得し、取得したメッセージに、当該メッセージの受信時刻を示すタイムスタンプを付す。
そして、メッセージ取得部55は、タイムスタンプを付したメッセージを記憶部52に保存する。
図4は、本発明の第1の実施の形態に係るゲートウェイ装置が用いる通常モデルの作成過程を説明するための図である。なお、図4において、横軸はデータXを示し、縦軸はデータYを示す。
図4を参照して、記憶部52は、予め作成された、複数の時刻たとえばデータの作成時刻にそれぞれ対応する複数の組に基づく検出条件を記憶する。ここで、組は、たとえば、メッセージ取得部55によって取得された送信メッセージに含まれる、同じ作成時刻に対応する2種類のデータの組である。
具体的には、記憶部52は、たとえば、サーバによって予め作成された通常モデルM2を記憶する。通常モデルM2は、たとえば、所定の相関関係を有する2種類のデータの組に基づいて作成されている。
より具体的には、サーバには、たとえば、互いに異なる種類の時系列の生データR1〜生データRNがユーザによって登録される。ここで、Nは、2以上の整数である。この例では、生データR1〜生データRNは、たとえば、対象車両1と同じ種類のテスト車両において開発時に取得されたデータである。
サーバは、たとえば、時系列の生データR1〜生データRNを、共通の複数の作成時刻におけるデータ1〜データNに変換する。
より詳細には、サーバは、たとえば、生データR1および生データR2の作成時刻が同期していない場合、生データR2をリサンプリングすることにより、生データR2の作成時刻を生データR1の作成時刻に同期させる。
同様に、サーバは、たとえば、生データR1および生データR3の作成時刻が同期していない場合、生データR3をリサンプリングすることにより、生データR3の作成時刻を生データR1の作成時刻に同期させる。
サーバは、生データR4〜生データRNに対しても同様の処理を施すことにより、生データR4〜生データRNの作成時刻を生データR1の作成時刻に同期させる。これにより、時系列の生データR1〜生データRNが、共通の複数の作成時刻におけるデータ1〜データNに変換される。
サーバは、たとえば、共通の複数の作成時刻におけるデータ1〜データNの中から、共通の複数の作成時刻におけるデータX,Yを選択する。ここで、X,Yは、互いに異なり、かつ1〜Nのうちのいずれかの整数である。データX,Yの選択は、たとえば総当たりで行われる。
図4には、共通の複数の作成時刻にそれぞれ対応する、データXおよびデータYの組が黒丸によって示される。
サーバは、たとえば、選択したデータXおよびデータYの複数の組に基づいて相関係数を算出する。
サーバは、たとえば、算出した相関係数が0.4以上かつ0.7以下である場合、データXおよびデータYに相関有りと判断する。また、サーバは、たとえば、算出した相関係数が0.7より大きい場合、データXおよびデータYに強い相関有りと判断する。
サーバは、データXおよびデータYについて相関有り、または強い相関有りと判断した場合、データXおよびデータYに基づいて通常モデルM2を作成する。
具体的には、サーバは、たとえば、マハラノビス、Oneclass−SVM(Support Vector Machine)、LOF(Local Outlier Factor)、Isolation forest、およびNN(Nearest−Neighbor)等のアルゴリズムに従って、機械学習により通常モデルM2を作成する。
一方、サーバは、データXおよびデータYについて相関有りと判断せず、かつ強い相関有りと判断しなかった場合、通常モデルM2を作成しない。
サーバは、たとえば、複数の通常モデルM2を作成し、作成した通常モデルM2ごとにモデル情報を作成する。ここで、モデル情報は、通常モデルM2、ならびに対応のデータXおよびデータYの種類の組み合わせを示す。
データXおよびデータYの種類の組み合わせは、たとえば、エンジン回転数および速度、ヨーレートおよび舵角、ヨーレートおよび車高、ならびにアクセル開度および車体加速度等である。
サーバによって作成された複数のモデル情報は、たとえば、検出条件情報としてまとめられた後、対象車両1の製造時において記憶部52に登録される。
なお、検出条件情報は、更新されてもよい。具体的には、たとえば、通信処理部51は、サーバによってアップデートされた検出条件情報を車載通信機111経由でサーバから受信し、記憶部52に登録された検出条件情報を、受信した検出条件情報に更新する。
また、サーバは、複数の通常モデルM2を作成する構成に限らず、1つの通常モデルM2を作成する構成であってもよい。
再び図3を参照して、データ取得部53は、メッセージ取得部55によって取得された送信メッセージに含まれる、同じ時刻たとえば受信時刻に対応する2種類のデータの組を取得する。
より詳細には、データ取得部53は、記憶部52が保存する検出条件情報に含まれる複数のモデル情報を記憶部52から取得する。
[2種類のデータが同じ送信メッセージに含まれる場合]
データ取得部53は、たとえば、記憶部52に保存された各送信メッセージから2種類のデータの組を取得する。
より詳細には、データ取得部53は、たとえば、取得した複数のモデル情報に基づいて、同じ送信メッセージに含まれる2種類のデータの組を記憶部52から取得する。
具体的には、たとえば、モデル情報の示す種類の組み合わせに合ったデータが同じメッセージに格納されて車載ネットワーク12において伝送される場合、データ取得部53は、記憶部52に保存された当該同じメッセージから当該2種類のデータを取得する。
データ取得部53は、たとえば、当該2種類のデータを含むメッセージがメッセージ取得部55によって記憶部52に新たに保存されると、新たに保存されたメッセージから当該2種類のデータを取得し、取得した2種類のデータの組、およびモデル情報の示す種類の組み合わせを検知部54へ出力する。
[2種類のデータが異なる送信メッセージにそれぞれ含まれる場合]
図5は、本発明の第1の実施の形態に係るゲートウェイ装置において行われる同期処理のタイミングを説明するための図である。なお、図5において、横軸は時間を示す。
図5を参照して、データ取得部53は、たとえば、取得した複数のモデル情報に基づいて、異なる送信メッセージにそれぞれ含まれる2種類のデータの組を記憶部52から取得する。
具体的には、たとえば、モデル情報の示す種類の組み合わせに合ったデータが別個のメッセージに格納されて車載ネットワーク12において伝送される場合、データ取得部53は、以下の処理を行う。
すなわち、データ取得部53は、たとえば、一方の種類のデータDJを含む複数のメッセージMJ、および他方の種類のデータDKを含む複数のメッセージMKを記憶部52から取得する。ここで、メッセージMJおよびメッセージMKは、たとえば車載ネットワーク12において同じ周期で伝送されるメッセージである。
データ取得部53は、たとえば、一方の種類のデータDJを含む複数のメッセージMJに付されたタイムスタンプに基づいて、一方の種類のデータDJに受信時刻を対応付ける。
具体的には、データ取得部53は、データDJの一例であるデータDJ1,DJ2に、それぞれ受信時刻tj1,tj2を対応付ける。
同様に、データ取得部53は、たとえば、他方の種類のデータDKを含む複数のメッセージMKに付されたタイムスタンプに基づいて、他方の種類のデータDKに受信時刻を対応付ける。
具体的には、データ取得部53は、データDKの一例であるデータDK1,DK2に、それぞれ受信時刻tk1,tk2を対応付ける。
データ取得部53は、たとえば、一方の種類のデータDJに対応付けた受信時刻、および他方の種類のデータDKに対応付けた受信時刻に基づいて他方の種類のデータDKをリサンプリングすることにより、一方の種類のデータDJの受信時刻と他方の種類のデータDKの受信時刻とを同期させる同期処理を行う。
データ取得部53は、たとえば、一方の種類のデータDJを含むメッセージMJがメッセージ取得部55によって記憶部52に新たに保存されると、同期処理を行う。
具体的には、データ取得部53は、たとえば、受信時刻tj2に対応するメッセージMJがメッセージ取得部55によって記憶部52に新たに保存されると、データDK1,DK2等を含むデータDKをリサンプリングすることにより、受信時刻tj1,tj2にそれぞれ対応するリサンプルデータRDK1,RDK2を生成する。
データ取得部53は、たとえば、同期処理が完了すると、同期させた2種類のデータから最新の2種類のデータの組を取得し、取得した2種類のデータの組、およびモデル情報の示す種類の組み合わせを検知部54へ出力する。
具体的には、データ取得部53は、たとえば、データDJ2およびリサンプルデータRDK2の組、ならびにモデル情報の示す種類の組み合わせを検知部54へ出力する。
なお、データ取得部53が同期処理を行うタイミングは、たとえば、他方の種類のデータDKを含むメッセージMKがメッセージ取得部55によって記憶部52に新たに保存されるタイミングであってもよい。
具体的には、データ取得部53は、たとえば、受信時刻tk2に対応するメッセージMKがメッセージ取得部55によって記憶部52に新たに保存されると、データDK1,DK2等を含むデータDKをリサンプリングすることにより、受信時刻tj1に対応するリサンプルデータRDK1を生成する。
そして、データ取得部53は、たとえば、データDJ1およびリサンプルデータRDK1の組、ならびにモデル情報の示す種類の組み合わせを検知部54へ出力する。
また、データ取得部53が同期処理を行うタイミングは、たとえば、一方の種類のデータを含むメッセージおよび他方の種類のデータを含むメッセージの両方がメッセージ取得部55によって記憶部52に新たに保存されるタイミングであってもよい。
図6は、本発明の第1の実施の形態に係るゲートウェイ装置において行われる同期処理のタイミングを説明するための図である。なお、図6において、横軸は時間を示す。
図6を参照して、一方の種類のデータDPを含むメッセージMP、および他方の種類のデータDQを含むメッセージMQは、たとえば車載ネットワーク12において異なる周期で伝送されるメッセージである。
データ取得部53は、データDPの一例であるデータDP1,DP2に、それぞれ受信時刻tp1,tp2を対応付ける。
また、データ取得部53は、データDQの一例であるデータDQ1,DQ2,DQ3,DQ4に、それぞれ受信時刻tq1,tq2,tq3,tq4を対応付ける。
データ取得部53は、たとえば、メッセージMP,MQの両方がメッセージ取得部55によって記憶部52に新たに保存されると、同期処理を行う。
具体的には、データ取得部53は、たとえば、受信時刻tp1において、メッセージMP,MQの両方がメッセージ取得部55によって記憶部52に新たに保存されたと判断し、同期処理を行う。
同様に、データ取得部53は、たとえば、受信時刻tp2において、メッセージMP,MQの両方がメッセージ取得部55によって記憶部52に新たに保存されたと判断し、同期処理を行う。
データ取得部53は、たとえば、受信時刻tp2における同期処理では、データDQ1〜DQ4等を含むデータDQをリサンプリングすることにより、受信時刻tp1,tp2にそれぞれ対応するリサンプルデータRDQ1,RDQ2を生成する。
データ取得部53は、たとえば、データDP2およびリサンプルデータRDQ2の組、ならびにモデル情報の示す種類の組み合わせを検知部54へ出力する。
なお、データ取得部53は、受信時刻tp2における同期処理では、データDP1,DP2等を含むデータDPをリサンプリングすることにより、受信時刻tq1〜tq4にそれぞれ対応する、図示しないリサンプルデータRDP1〜RDP4を生成してもよい。
この場合、データ取得部53は、リサンプルデータRDP4およびデータDQ4の組、ならびにモデル情報の示す種類の組み合わせを検知部54へ出力する。
この際、データ取得部53は、リサンプルデータRDP2およびデータDQ2の組、ならびにリサンプルデータRDP3およびデータDQ3の組も合わせて検知部54へ出力してもよい。これにより、不正メッセージの検知に用いるデータ数を増やすことができる。
図7は、本発明の第1の実施の形態に係るゲートウェイ装置における検知部が行う不正メッセージの検知を説明するための図である。なお、図7の見方は、図4と同様である。
図7を参照して、検知部54は、データ取得部53によって取得された組、および検出条件に基づいて、データ取得部53によって取得された組に対応する不正メッセージを検知する。
より詳細には、検知部54は、データ取得部53から2種類のデータの組、およびモデル情報の示す種類の組み合わせを受けると、記憶部52における検出条件情報に含まれる複数のモデル情報を参照し、受けた組み合わせに対応する通常モデルM2を記憶部52における対応のモデル情報から取得する。
検知部54は、データ取得部53から受けた2種類のデータの組、および対応のモデル情報から取得した通常モデルM2に基づいて、当該組に対応する不正メッセージを検知する。
具体的には、検知部54は、たとえば、2種類のデータの組に基づく位置が位置Pnである場合、位置Pnが通常モデルM2の境界B2の内側に位置するので、当該2種類のデータを含む1つまたは2つのメッセージは正当メッセージであると判断する。
一方、検知部54は、たとえば、データ取得部53から受けた2種類のデータの組に基づく位置が位置Paである場合、位置Paが通常モデルM2の境界B2の外側に位置するので、当該2種類のデータを含む1つまたは2つのメッセージは不正メッセージであると判断する。
ここで、通常モデルM2は、作成時刻の同じ2種類のデータの複数の組に基づいて作成されている一方、位置Pn,Paは、受信時刻の同じ2種類のデータの組に基づいている。
車載ネットワーク12ではメッセージの伝送が高速に行われるので、データの作成時刻およびデータの受信時刻が略同じであるとみなすことができる。これにより、通常モデルM2、および2種類のデータの組に基づく位置に基づいて不正メッセージの検知を行うことができる。なお、データの送信時刻も、データの作成時刻およびデータの受信時刻と略同じであるとみなすことができる。
検知部54は、不正メッセージを確認した場合、たとえば、以下の処理を行う。すなわち、検知部54は、不正であると判断した1つまたは2つのメッセージのID、および対応の種類の組み合わせ等を記憶部52に記録する。
また、検知部54は、バス13において不正メッセージが伝送されていることを対象車両1内または対象車両1外における上位装置へ通信処理部51経由で通知する。
[効果]
図8および図9は、本発明の第1の実施の形態に係る車載通信システムの効果を説明するための図である。なお、図8および図9の見方は、図4と同様である。
図8に示す通常モデルM2は、図7に示す通常モデルM2と同様である。図9に示す通常モデルMR2は、たとえば、相関関係のないデータXおよびデータYを用いて、通常モデルM2の作成手順と同様の作成手順に従って作成されたモデルである。
位置Paは、通常モデルM2を用いる場合、異常と判断されるのに対して、通常モデルMR2を用いる場合、位置Paが通常モデルMR2の境界BR2の内側に位置するので、正常と判断される。
これは、位置PaのデータXの成分に対するデータYの許容範囲が、図8における許容範囲R1より図9における許容範囲R2の方が大きいためである。
したがって、通常モデルM2を用いてデータフィールドの監視を行う場合、攻撃者が対象車両1を不正制御するためのデータYをメッセージに挿入したとしても、データXとの相関関係によってデータYの許容範囲がより狭くなるため、攻撃を正しく検知することが可能となる。
また、攻撃者が対象車両1を不正制御するためのデータXをメッセージに挿入した場合も、データYとの相関関係によってデータXの許容範囲がより狭くなるため、攻撃を同様に正しく検知することが可能となる。
[通常モデルの変形例1]
再び図3を参照して、通常モデルは、所定の相関関係を有する2種類のデータの組に基づいて作成される構成であるとしたが、これに限定するものではなく、所定の相関関係を有するたとえば3種類のデータの組に基づいて作成される構成であってもよい。
具体的には、通常モデルM3は、たとえば、所定の相関関係を有する3種類のデータの組に基づいて作成されている。
より詳細には、たとえば、ある種類のデータと相関関係を有するデータである相関データが2種類ある場合、当該ある種類のデータと当該2種類の相関データとに基づいて1つの通常モデルM3が作成されている。
より具体的には、サーバは、たとえば、共通の複数の作成時刻におけるデータ1〜データNにおいて、データSおよびデータTに相関有りまたは強い相関有りと判断し、かつデータSおよびデータUに相関有りまたは強い相関有りと判断した場合、以下の処理を行う。
すなわち、サーバは、データTおよびデータU間の相関係数の大小に関わらず、データS,T,Uに基づいて通常モデルM3を作成する。ここで、S,T,Uは、互いに異なり、かつ1〜Nのうちのいずれかの整数である。
サーバは、たとえば、複数の通常モデルM3を作成し、作成した通常モデルM3ごとにモデル情報を作成する。モデル情報は、通常モデルM3、ならびに対応のデータS、データTおよびデータUの種類の組み合わせを示す。
データSおよびデータTの種類の組み合わせ、ならびにデータSおよびデータUの種類の組み合わせは、たとえば、ヨーレートおよび舵角、ならびにヨーレートおよび車高である。
サーバによって作成された複数のモデル情報は、たとえば、検出条件情報としてまとめられた後、対象車両1の製造時において記憶部52に登録される。
なお、検出条件情報には、通常モデルM3に基づくモデル情報だけが含まれる構成であってもよいし、通常モデルM3に基づくモデル情報、および通常モデルM2に基づくモデル情報が含まれる構成であってもよい。
データ取得部53は、記憶部52から検出条件情報を取得し、取得した検出条件情報に含まれる複数のモデル情報を取得する。
データ取得部53は、モデル情報の示す組み合わせに合ったデータを含むメッセージがメッセージ取得部55によって記憶部52に新たに保存されると、以下の処理を行う。
すなわち、データ取得部53は、モデル情報に基づいて、同じ送信メッセージに含まれる3種類のデータの組を記憶部52から取得し、取得した3種類のデータの組、およびモデル情報の示す種類の組み合わせを検知部54へ出力する。
また、データ取得部53は、たとえば、モデル情報の示す組み合わせに合ったデータをそれぞれ含む複数のメッセージのいずれか1つがメッセージ取得部55によって記憶部52に新たに保存されると、以下の処理を行う。
すなわち、データ取得部53は、モデル情報に基づいて、異なる送信メッセージにそれぞれ含まれる3種類のデータの組を記憶部52から取得し、取得した3種類のデータに対して同期処理を行う。
データ取得部53は、同期処理が完了すると、同期させた3種類のデータから最新の3種類のデータの組を取得し、取得した3種類のデータの組、およびモデル情報の示す種類の組み合わせを検知部54へ出力する。
検知部54は、データ取得部53から3種類のデータの組、およびモデル情報の示す種類の組み合わせを受けると、記憶部52における検出条件情報に含まれる複数のモデル情報を参照し、受けた組み合わせに対応する通常モデルM3を記憶部52における対応のモデル情報から取得する。
検知部54は、データ取得部53から受けた3種類のデータの組、および対応のモデル情報から取得した通常モデルM3に基づいて、当該組に対応する不正メッセージを検知する。
具体的には、通常モデルM3は3次元であるので、検知部54は、データ取得部53から受けた3種類のデータの組に基づく3次元空間での位置が、通常モデルM3の境界面の内部に存在する場合、当該3種類のデータを含む1つ、2つまたは3つのメッセージは正当メッセージであると判断する。
一方、検知部54は、データ取得部53から受けた3種類のデータの組に基づく3次元空間での位置が、通常モデルM3の境界面の外部に存在する場合、当該3種類のデータを含む1つ、2つまたは3つのメッセージは不正メッセージであると判断する。
通常モデルM3を用いる構成により、不正メッセージをより精度よく検知することができる。
[通常モデルの変形例2]
図10は、本発明の第1の実施の形態に係る通常モデルの変形例についての学習フェーズにおける作成処理を説明するための図である。
図10を参照して、通常モデルの変形例2では、検知部54は、監視対象のセンサデータの推定値を用いて車載ネットワーク12における不正メッセージを検知する。
この例では、監視対象センサデータとたとえばq種類のデータを含む相関データ群とに基づいて1つの通常モデルM4が作成されている。
監視対象センサデータは、センサによって計測されたデータ(以下、センサデータとも称する。)であり、具体的には、車速、エンジン回転数およびヨーレート等の連続して変化するデータである。
相関データ群に含まれるq種類のデータは、センサデータであってもよいし、予め定義された状態を表すデータであるステータスデータであってもよい。ここで、ステータスデータは、具体的には、たとえば対象車両1におけるギアおよびシートベルト等の操作部の状態を表す。
監視対象センサデータと相関データ群に含まれるq種類のデータの各々とは、相関関係を有する。また、相関データ群に含まれるq種類のデータ間には、相関関係があってもよいし、なくてもよい。
サーバは、たとえば、学習データセットに基づいて、LASSO(Least Absolute Shrinkage and Selection Operator)および回帰木等を用いて、通常モデルM4を学習させる。
ここで、学習データセットは、複数の同じ時刻、具体的にはtm1,tm2,tm3,tm4,tm5等にそれぞれ対応する監視対象センサデータおよび相関データ群を含む。
より詳細には、サーバは、たとえば、同じ時刻に対応する相関データ群を通常モデルM4に入力したときに、対応の監視対象センサデータの値に近い推定値が出力されるように通常モデルM4を作成する。
図11は、本発明の第1の実施の形態に係る通常モデルの変形例についてのテストフェーズにおける検証処理を説明するための図である。
図11を参照して、通常モデルM4は、学習データセットと同様の、テストデータセットを用いて検証される。
詳細には、サーバは、通常モデルM4を用いて推定誤差の分布を作成する。より詳細には、サーバは、テストデータセットの一部である時刻tt1における相関データ群を通常モデルM4に入力することにより、通常モデルM4から出力される推定値を取得する。
そして、サーバは、たとえば、以下の式(1)を用いて推定誤差yerrを算出する。
ここで、yobsは、対応の監視対象センサデータの値、すなわち時刻tt1における監視対象センサデータの値である。また、ycalcは、通常モデルM4から出力された推定値である。
サーバは、テストデータセットにおける、時刻tt1と異なる時刻における相関データ群および監視対象センサデータも同様に処理することにより、各時刻における推定誤差yerrを含む検証データを作成する。
サーバは、検証データに基づいて、推定誤差yerrの分布を作成する。この分布は、推定誤差yerrの頻度を表す。この例では、当該分布は、単峰である。
サーバは、作成した分布が単峰である場合、検証データに含まる各推定誤差yerrの平均値μおよび分散σ^2を算出する。ここで、「a^b」は、aのb乗を意味する。
サーバは、たとえば、通常モデルM4、平均値μおよび分散σ^2、ならびに監視対象センサデータおよび相関データ群におけるq種類のデータの種類の組み合わせを示すモデル情報Md1を作成する。
サーバによって作成されたモデル情報Md1は、たとえば、対象車両1の製造時において検出条件情報として記憶部52に登録される。
再び図3を参照して、データ取得部53は、記憶部52から検出条件情報を取得し、取得した検出条件情報に含まれるモデル情報Md1を取得する。
データ取得部53は、モデル情報Md1の示す組み合わせに合ったデータを含むメッセージがメッセージ取得部55によって記憶部52に新たに保存されると、以下の処理を行う。
すなわち、データ取得部53は、モデル情報Md1に基づいて、同じ送信メッセージに含まれる監視対象センサデータおよび相関データ群の組を記憶部52から取得し、取得した組、およびモデル情報Md1の示す種類の組み合わせを検知部54へ出力する。
また、データ取得部53は、たとえば、モデル情報Md1の示す組み合わせに合ったデータをそれぞれ含む複数のメッセージのいずれか1つがメッセージ取得部55によって記憶部52に新たに保存されると、以下の処理を行う。
すなわち、データ取得部53は、モデル情報Md1に基づいて、異なる送信メッセージにそれぞれ含まれる監視対象センサデータおよび相関データ群の組を記憶部52から取得し、取得した監視対象センサデータおよび相関データ群に対して同期処理を行う。
データ取得部53は、同期処理が完了すると、同期させた監視対象センサデータおよび相関データ群から最新の監視対象センサデータおよび相関データ群の組を取得し、取得した組、およびモデル情報Md1の示す種類の組み合わせを検知部54へ出力する。
図12は、本発明の第1の実施の形態に係る通常モデルの変形例を用いた不正メッセージの検知処理を説明するための図である。
図12を参照して、検知部54は、たとえば、データ取得部53から時刻td1における監視対象センサデータおよび相関データ群の組、およびモデル情報Md1の示す種類の組み合わせを受けると、記憶部52における検出条件情報に含まれる複数のモデル情報を参照し、受けた組み合わせに対応するモデル情報Md1を記憶部52から取得する。
検知部54は、たとえば、データ取得部53によって取得された監視対象センサデータおよび相関データ群の組、ならびにモデル情報Md1に含まれる通常モデルM4に基づいて、監視対象センサデータの推定誤差を算出する。
より詳細には、検知部54は、データ取得部53から受けた相関データ群を、モデル情報Md1に含まれる通常モデルM4に入力することにより、通常モデルM4から出力される推定値を取得する。
そして、検知部54は、取得した推定値および時刻td1における監視対象センサデータの値を、それぞれycalcおよびyobsとして上述の式(1)に代入することにより推定誤差yerrを算出する。
検知部54は、たとえば、算出した推定誤差yerr、および通常モデルM4を用いて作成された推定誤差yerrの分布に基づいて、監視対象センサデータの正当性を評価し、評価結果に基づいて、監視対象センサデータが不正メッセージであるか否かを判断する。
より詳細には、検知部54は、たとえば、算出した推定誤差yerr、ならびにモデル情報Md1に含まれる平均値μおよび分散σ^2を以下の式(2)に代入することによりスコアSを算出する。このスコアSは、マハラノビス距離に相当し、監視対象センサデータの正当性の評価値である。
検知部54は、たとえば、算出したスコアSが所定のしきい値Th1以上である場合、監視対象センサデータは不正メッセージであると判断する。
一方、検知部54は、たとえば、算出したスコアSが所定のしきい値Th1より小さい場合、監視対象センサデータは正当メッセージであると判断する。
なお、サーバが作成する推定誤差yerrの分布が単峰であるとしたが、これに限定するものではない。サーバが作成する推定誤差yerrの分布は、多峰であってもよい。
この場合、サーバは、推定誤差yerrの分布を、たとえば、K個のガウス分布を重ね合わせた混合ガウス分布によって近似し、各ガウス分布の平均値μ1〜μKおよび分散σ1^2〜σK^2、ならびに各ガウス分布の混合比C1〜CKを算出する。
サーバは、たとえば、通常モデルM4、平均値μ1〜μK、分散σ1^2〜σK^2および混合比C1〜CK、ならびに監視対象センサデータおよび相関データ群におけるq種類のデータの種類の組み合わせを示すモデル情報Md1を作成する。
この場合、検知部54は、算出した推定誤差yerr、ならびにモデル情報Md1に含まれる平均値μ1〜μK、分散σ1^2〜σK^2および混合比C1〜CKを以下の式(3)に代入することによりスコアSを算出する。
ここで、式(3)におけるBは、以下の式(4)により表される。
[通常モデルの変形例3]
図13は、本発明の第1の実施の形態に係る通常モデルの変形例についての学習フェーズにおける作成処理を説明するための図である。
図13を参照して、通常モデルの変形例3では、検知部54は、監視対象のステータスデータの推定値を用いて車載ネットワーク12における不正メッセージを検知する。
この例では、監視対象ステータスデータとたとえばq種類のデータを含む相関データ群とに基づいて1つの通常モデルM5が作成されている。
監視対象ステータスデータは、ステータスデータであり、具体的には、ギアのシフトポジションおよびシートベルトの状態等の不連続に変化するデータである。
相関データ群に含まれるq種類のデータは、センサデータであってもよいし、ステータスデータであってもよい。
監視対象ステータスデータと相関データ群に含まれるq種類のデータの各々とは、相関関係を有する。また、相関データ群に含まれるq種類のデータ間には、相関関係があってもよいし、なくてもよい。
サーバは、たとえば、学習データセットに基づいて、決定木およびRandom Forest等を用いて、通常モデルM5を学習させる。
ここで、学習データセットは、複数の同じ時刻、具体的にはtm1,tm2,tm3,tm4,tm5等にそれぞれ対応する監視対象ステータスデータおよび相関データ群を含む。
より詳細には、サーバは、たとえば、同じ時刻に対応する相関データ群を通常モデルM5に入力したときに、対応の監視対象ステータスデータの値と一致する推定値が出力されるように通常モデルM5を作成する。
サーバは、たとえば、通常モデルM5、ならびに監視対象ステータスデータおよび相関データ群におけるq種類のデータの種類の組み合わせを示すモデル情報Md2を作成する。
サーバによって作成されたモデル情報Md2は、たとえば、対象車両1の製造時において検出条件情報として記憶部52に登録される。
再び図3を参照して、データ取得部53は、記憶部52から検出条件情報を取得し、取得した検出条件情報に含まれるモデル情報Md2を取得する。
データ取得部53は、モデル情報Md2の示す組み合わせに合ったデータを含むメッセージがメッセージ取得部55によって記憶部52に新たに保存されると、以下の処理を行う。
すなわち、データ取得部53は、モデル情報Md2に基づいて、同じ送信メッセージに含まれる監視対象ステータスデータおよび相関データ群の組を記憶部52から取得し、取得した組、およびモデル情報Md2の示す種類の組み合わせを検知部54へ出力する。
また、データ取得部53は、たとえば、モデル情報Md2の示す組み合わせに合ったデータをそれぞれ含む複数のメッセージのいずれか1つがメッセージ取得部55によって記憶部52に新たに保存されると、以下の処理を行う。
すなわち、データ取得部53は、モデル情報Md2に基づいて、異なる送信メッセージにそれぞれ含まれる監視対象ステータスデータおよび相関データ群の組を記憶部52から取得し、取得した監視対象ステータスデータおよび相関データ群に対して同期処理を行う。
データ取得部53は、同期処理が完了すると、同期させた監視対象ステータスデータおよび相関データ群から最新の監視対象ステータスデータおよび相関データ群の組を取得し、取得した組、およびモデル情報Md2の示す種類の組み合わせを検知部54へ出力する。
図14は、本発明の第1の実施の形態に係る通常モデルの変形例を用いた不正メッセージの検知処理を説明するための図である。
図14を参照して、検知部54は、たとえば、データ取得部53から時刻td1における監視対象ステータスデータおよび相関データ群の組、およびモデル情報Md2の示す種類の組み合わせを受けると、記憶部52における検出条件情報に含まれる複数のモデル情報を参照し、受けた組み合わせに対応するモデル情報Md2を記憶部52から取得する。
検知部54は、たとえば、データ取得部53によって取得された相関データ群、およびモデル情報Md2に含まれる通常モデルM5に基づいて、監視対象ステータスデータの値を推定する。
より詳細には、検知部54は、データ取得部53から受けた相関データ群を、モデル情報Md2に含まれる通常モデルM5に入力することにより、通常モデルM5から出力される監視対象ステータスデータの推定値を取得する。
そして、検知部54は、取得した推定値と監視対象ステータスデータとの比較結果に基づいて、監視対象ステータスデータが不正メッセージであるか否かを判断する。
より詳細には、検知部54は、たとえば、取得した推定値と時刻td1における監視対象ステータスデータの値とを比較し、これらの値が一致しない場合、監視対象ステータスデータは不正メッセージであると判断する。
一方、検知部54は、たとえば、取得した推定値と時刻td1における監視対象ステータスデータの値とが一致する場合、監視対象ステータスデータは正当メッセージであると判断する。
[通常モデルの変形例4]
ゲートウェイ装置101は、データS,T,Uに基づく通常モデルM3を用いる構成であるとしたが、これに限定するものではない。
たとえば、ある種類のデータと相関関係を有するデータである相関データが2種類ある場合、ある種類のデータと当該2種類の相関データとに基づいて2つの検出条件がそれぞれ作成されている。
具体的には、サーバは、共通の複数の作成時刻におけるデータ1〜データNにおいて、データSおよびデータTに相関有りまたは強い相関有りと判断し、かつデータSおよびデータUに相関有りまたは強い相関有りと判断した場合、以下の処理を行う。
すなわち、サーバは、データTおよびデータU間の相関係数の大小に関わらず、データS,Tに基づいて通常モデルM2を作成するとともに、データS,Uに基づいて通常モデルM2を作成する。
このような構成により、データS,T,Uに基づいて通常モデルM3を作成する構成とくらべて、通常モデルの作成における計算負荷を軽減することができる。
[通常モデルの変形例5]
ゲートウェイ装置101は、データS,T,Uに基づく、1つの通常モデルM3または2つの通常モデルM2を用いる構成であるとしたが、これに限定するものではない。
より詳細には、たとえば、多次元のデータの組は、特許文献2(特開2016−57438号公報)に記載の主成分分析を用いて、より低次元のデータの組に変換することが可能である。
具体的には、サーバは、たとえば、3種類のデータの組を、主成分分析を用いて2種類のデータの組に変換し、変換後の組に基づいて通常モデルM2を作成する。
ゲートウェイ装置101における記憶部52には、3種類のデータの組を2種類のデータの組に変換するための固有ベクトル、サーバによって作成された通常モデルM2、ならびに対応のデータS、データTおよびデータUの種類の組み合わせを示すモデル情報が登録される。
検知部54は、データ取得部53から3種類のデータの組、およびモデル情報の示す種類の組み合わせを受けると、記憶部52におけるモデル情報を参照し、受けた組み合わせに対応する通常モデルM2および固有ベクトルを記憶部52における対応のモデル情報から取得する。
検知部54は、取得した固有ベクトルを用いて、データ取得部53から受けた3種類のデータの組を2種類のデータの組に変換し、変換後の組および通常モデルM2に基づいて、当該3種類のデータを含む1つ、2つまたは3つのメッセージが不正メッセージであるか否かを判断する。
[動作の流れ]
車載通信システム301における各装置は、コンピュータを備え、当該コンピュータにおけるCPU等の演算処理部は、以下のシーケンス図またはフローチャートの各ステップの一部または全部を含むプログラムを図示しないメモリからそれぞれ読み出して実行する。これら複数の装置のプログラムは、それぞれ、外部からインストールすることができる。これら複数の装置のプログラムは、それぞれ、記録媒体に格納された状態で流通する。
図15は、本発明の第1の実施の形態に係るゲートウェイ装置がメッセージを受信する際の動作手順を定めたフローチャートである。
図15を参照して、モデル情報が、通常モデルM2、ならびに対応のデータXおよびデータYの種類の組み合わせを示す状況を想定する。
まず、ゲートウェイ装置101は、たとえば制御装置122からメッセージを受信するまで待機する(ステップS102でNO)。
そして、ゲートウェイ装置101は、制御装置122からメッセージを受信すると(ステップS102でYES)、受信したメッセージに監視対象の種類のデータが含まれるか否かを確認する(ステップS104)。
次に、ゲートウェイ装置101は、受信したメッセージに監視対象の種類のデータが含まれる場合(ステップS104でYES)、受信したメッセージを記憶部52に保存する(ステップS106)。この際、ゲートウェイ装置101は、メッセージにタイムスタンプを付す。
次に、ゲートウェイ装置101は、受信したメッセージを記憶部52に保存するか(ステップS106)、または受信したメッセージに監視対象の種類のデータが含まれない場合(ステップS104でNO)、受信したメッセージの中継処理を行った後、制御装置122から新たなメッセージを受信するまで待機する(ステップS102でNO)。
図16は、本発明の第1の実施の形態に係るゲートウェイ装置が、受信したメッセージを記憶部に保存した際の動作手順を定めたフローチャートである。
図16を参照して、モデル情報が、通常モデルM2、ならびに対応のデータXおよびデータYの種類の組み合わせを示す状況を想定する。
まず、ゲートウェイ装置101は、メッセージが記憶部52に保存されるまで待機する(ステップS202でNO)。
そして、ゲートウェイ装置101は、メッセージが記憶部52に保存されると(ステップS202でYES)、モデル情報の示す2種類の組み合わせに合ったデータが当該メッセージすなわち同じメッセージに格納されているか否かを確認する(ステップS204)。
次に、ゲートウェイ装置101は、モデル情報の示す2種類の組み合わせに合ったデータが同じメッセージに含まれない場合、すなわち別個のメッセージに分かれて含まれる場合(ステップS204でNO)、モデル情報の示す2種類のデータに対して同期処理を行う(ステップS206)。
次に、ゲートウェイ装置101は、当該メッセージからモデル情報の示す2種類のデータの組を取得するか、または同期処理を行った2種類のデータからモデル情報の示す2種類のデータの最新の組を取得する(ステップS208)。
次に、ゲートウェイ装置101は、取得した2種類のデータの組に対応する通常モデルM2を記憶部52から取得する(ステップS210)。
次に、ゲートウェイ装置101は、取得した2種類のデータの組に基づく位置が、通常モデルM2の境界B2の内側に位置するか否かを確認する(ステップS212)。
ゲートウェイ装置101は、取得した2種類のデータの組に基づく位置が境界B2の内側に位置する場合(ステップS212でYES)、当該2種類のデータを含む1つまたは2つのメッセージは正当メッセージであると判断する(ステップS214)。
一方、ゲートウェイ装置101は、取得した2種類のデータの組に基づく位置が境界B2の外側に位置する場合(ステップS212でNO)、当該2種類のデータを含む1つまたは2つのメッセージは不正メッセージであると判断する(ステップS216)。
次に、ゲートウェイ装置101は、新たなメッセージが記憶部52に保存されるまで待機する(ステップS202でNO)。
なお、上記動作の流れでは、モデル情報が、通常モデルM2、ならびに対応のデータXおよびデータYの種類の組み合わせを示す状況を想定したが、これに限定するものではない。モデル情報が、たとえば、通常モデルM3、ならびに対応のデータS、データTおよびデータUの種類の組み合わせを示してもよい。この場合、ゲートウェイ装置101は、上記ステップS208において、3種類のデータの組を取得し、上記ステップS210において、対応の通常モデルM3を記憶部52から取得する。
また、本発明の第1の実施の形態に係るゲートウェイ装置では、メッセージ取得部55は、車載ネットワーク12における複数の送信メッセージを取得する構成であるとしたが、これに限定するものではない。メッセージ取得部55は、車載ネットワーク12における1つの送信メッセージを取得する構成であってもよい。たとえば、モデル情報の示す2種類の組み合わせに合ったデータが当該1つの送信メッセージに含まれる場合、送信メッセージが不正メッセージであるか否かを判断することが可能である。
また、本発明の第1の実施の形態に係る車載通信システムでは、ゲートウェイ装置101が、車載ネットワーク12における不正メッセージを検知する構成であるとしたが、これに限定するものではない。車載通信システム301において、ゲートウェイ装置101とは別の検知装置が、車載ネットワーク12における不正メッセージを検知する構成であってもよい。
また、本発明の第1の実施の形態に係るゲートウェイ装置では、データ取得部53は、同じ受信時刻に対応する2種類のデータの組および3種類のデータの組を取得する構成であるとしたが、これに限定するものではない。データ取得部53は、同じ受信時刻に対応するM種類のデータの組を取得する構成であってもよい。ここで、Mは4以上の整数である。この場合、通常モデルは、M種類のデータに基づいて作成される。
また、本発明の第1の実施の形態に係るゲートウェイ装置では、データ取得部53は、同じ受信時刻に対応する複数種類のデータの組を取得する構成であるとしたが、これに限定するものではない。データ取得部53は、受信時刻に限らず、同じ送信時刻または同じ作成時刻等に対応する複数種類のデータの組を取得する構成であってもよい。具体的には、たとえば、制御装置122がデータの作成時刻またはメッセージの送信時刻をメッセージに格納して送信する場合、データ取得部53は、同じ送信時刻または同じ作成時刻に対応する複数種類のデータの組を取得することが可能である。
また、本発明の第1の実施の形態に係るゲートウェイ装置では、検知部54は、制御装置122間でやり取りされるメッセージを不正メッセージの検知対象とする構成であるとしたが、これに限定するものではない。検知部54は、制御装置122および車載通信機111間でやり取りされるメッセージ、ならびに車載通信機111間でやり取りされるメッセージを不正メッセージの検知対象とする構成であってもよい。
また、本発明の第1の実施の形態に係るゲートウェイ装置では、通常モデルは、所定の相関関係を有する複数種類のデータの組に基づいて作成される構成であるとしたが、これに限定するものではない。通常モデルは、所定の相関関係を有さない複数種類のデータの組に基づいて作成される構成であってもよい。
また、本発明の第1の実施の形態に係るゲートウェイ装置では、データ取得部53は、メッセージ取得部55によって記憶部52に保存された各送信メッセージから複数種類のデータを取得し、取得したデータをリサンプリングする構成であるとしたが、これに限定するものではない。たとえば、各送信メッセージの受信時刻が近い場合、データ取得部53は、メッセージ取得部55から各送信メッセージを直接受けて、受けた各送信メッセージから複数種類のデータを取得し、取得したデータをリサンプリングせずに検知に用いる構成であってもよい。
ところで、特許文献1には、車載ネットワークに限定して接続される第1のECUおよび第2のECUがメッセージ認証に用いる第1の暗号鍵と、車載ネットワークおよび車外ネットワークの両方に接続される第3のECUが用いる第2の暗号鍵とが異なることにより、車外ネットワークに接続されない第1のECUおよび第2のECUに対する車外ネットワークからのサイバー攻撃を防ぐ構成が開示されている。
しかしながら、メッセージ認証を用いるセキュリティ対策では、プロトコルの脆弱性を突いた攻撃、第1の暗号鍵の不正入手による攻撃、および暗号アルゴリズムの陳腐化を突いた攻撃等により、当該セキュリティ対策が無効化されることがある。
このような攻撃を受けた場合において、攻撃者が車載ネットワークに侵入したことを正しく検知するための技術が求められる。
これに対して、本発明の第1の実施の形態に係るゲートウェイ装置は、対象車両1に搭載される車載ネットワーク12における不正メッセージを検知する。メッセージ取得部55は、車載ネットワーク12における1または複数の送信メッセージを取得する。データ取得部53は、メッセージ取得部55によって取得された送信メッセージに含まれる、同じ時刻に対応する複数種類のデータの組を取得する。記憶部52は、予め作成された、複数の時刻にそれぞれ対応する複数の組に基づく検出条件を記憶する。そして、検知部54は、データ取得部53によって取得された組、および検出条件に基づいて不正メッセージを検知する。
たとえば、複数種類のデータ間に何らかの関係がある場合、当該関係を用いて、あるデータから他のデータがとり得る値の範囲を算出することができる。上記のような構成により、たとえば、上記組におけるあるデータから当該組における他のデータがとり得る値の範囲を検出条件に基づいて算出することができるので、当該他のデータの正当性を正しく判断することができる。これにより、不正と判断したデータを含むメッセージを不正メッセージとして検知することができる。したがって、車載ネットワークにおける不正メッセージを正しく検知することができる。
また、本発明の第1の実施の形態に係るゲートウェイ装置では、検出条件は、所定の相関関係を有する複数種類のデータの組に基づいて作成されている。
このように、データ間においてある程度の関係が存在する複数種類のデータの組に基づいて検出条件が作成される構成により、組におけるあるデータから当該組における他のデータがとり得る値の範囲をより狭めることが可能な検出条件を作成することができる。これにより、当該他のデータの正当性をより正しく判断することができる。すなわち、適切な検出条件を作成することができる。
また、本発明の第1の実施の形態に係るゲートウェイ装置では、ある種類のデータと相関関係を有するデータである相関データが複数種類ある場合、当該ある種類のデータと当該複数種類の相関データとに基づいて1つの検出条件が作成されている。
このような構成により、たとえば、攻撃者が、ある種類のデータおよび複数種類の相関データのうちの一部のデータを改変した場合においても、改変したデータと残りのデータとの関係に基づいて、上記組のデータの異常を判断することができる。すなわち、攻撃者は、不正侵入するためには、ある種類のデータおよび複数種類の相関データの全部を改変しなければならないので、車載ネットワーク12に対する不正侵入を困難にすることができる。これにより、車載ネットワーク12におけるセキュリティを向上させることができる。
また、本発明の第1の実施の形態に係るゲートウェイ装置では、検知部54は、データ取得部53によって取得されたある種類のデータおよび複数種類の相関データ、ならびに検出条件に基づいて、ある種類のデータの推定誤差を算出する。そして、検知部54は、算出した推定誤差、および検出条件を用いて作成された推定誤差の分布に基づいて、ある種類のデータの正当性を評価し、評価結果に基づいて、ある種類のデータが不正メッセージであるか否かを判断する。
このような構成により、たとえば、ある種類のデータが、センサによって計測された値のように連続して変化する値である場合において、ある種類のデータが正しい値を有する可能性をより正しく評価することができるので、ある種類のデータの正当性をより正しく判断することができる。
また、本発明の第1の実施の形態に係るゲートウェイ装置では、ある種類のデータは、状態を表すデータである。検知部54は、データ取得部53によって取得された複数種類の相関データ、および検出条件に基づいて、ある種類のデータの値を推定し、推定した値とある種類のデータとの比較結果に基づいて、ある種類のデータが不正メッセージであるか否かを判断する。
このような構成により、たとえば、ある種類のデータが、ギアのシフトポジションまたはシートベルトの状態のように不連続に変化する値である場合において、ある種類のデータが示すべき値をより正しく推定することができるので、ある種類のデータの正当性をより正しく判断することができる。
また、本発明の第1の実施の形態に係るゲートウェイ装置では、ある種類のデータと相関関係を有するデータである相関データが複数種類ある場合、当該ある種類のデータと当該複数種類の相関データとに基づいて複数の検出条件がそれぞれ作成されている。
このような構成により、車載ネットワーク12に対する不正侵入を困難にするとともに、検出条件の算出における計算負荷を軽減することができる。
また、本発明の第1の実施の形態に係るゲートウェイ装置では、データ取得部53は、異なる送信メッセージにそれぞれ含まれる複数種類のデータの組を取得する。
受信時刻、送信時刻または作成時刻等が異なる複数種類のデータは、異なる送信メッセージにそれぞれ含まれることが多い。上記のような構成により、時刻によって検知対象のデータの種類が制限されることを防ぐことができる。
また、本発明の第1の実施の形態に係るゲートウェイ装置では、メッセージ取得部55は、取得した複数の送信メッセージを記憶部52に保存する。そして、データ取得部53は、記憶部52に保存された各送信メッセージから上記組を取得する。
このような構成により、たとえば、記憶部52に保存された複数の送信メッセージにおけるデータをリサンプリングすることができるので、複数種類のデータの時刻を合わせることができる。これにより、同じ時刻に対応する複数種類のデータの組を容易に取得することができる。
次に、本発明の他の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
<第2の実施の形態>
本実施の形態は、第1の実施の形態に係るゲートウェイ装置と比べて、通常モデルを更新するゲートウェイ装置に関する。以下で説明する内容以外は第1の実施の形態に係るゲートウェイ装置と同様である。
[課題]
図17は、本発明の第2の実施の形態に係るゲートウェイ装置における誤検知の一例を説明するための図である。なお、図17の見方は、図4と同様である。
図17を参照して、通常モデルM2は、図4に示す、共通の複数の作成時刻におけるデータXおよびデータYの組(以下、母集団とも称する。)に基づくモデルである。この母集団は、対象車両1の開発時において、偏りがより小さくなるように取得されたデータとする。したがって、この母集団は、真の母集団に近い。
たとえば、対象車両1の開発時に取得されたデータが偏っている場合、偏った母集団に基づく通常モデルME2が作成される。
この通常モデルME2を用いて不正メッセージの検知を行う場合、位置Ps1,Ps2は通常モデルME2の境界BE2の外側に位置するので、位置Ps1のデータXまたはデータYを含むメッセージ、および位置Ps2のデータXまたはデータYを含むメッセージは不正メッセージであると判断される。
しかしながら、位置Ps1は、より正しい通常モデルM2の境界B2の内側に位置しているので、通常モデルME2を用いた場合において、位置Ps1のデータXまたはデータYを含むメッセージを不正メッセージであると判断することは誤検知である。
予め作成された通常モデルME2の母集団が偏っている場合においても、より正しい通常モデルを利用可能にするための技術が求められる。
[構成および基本動作]
図18は、本発明の第2の実施の形態に係る車載通信システムにおけるゲートウェイ装置の構成を示す図である。
図18を参照して、ゲートウェイ装置(検知装置)102は、通信処理部51と、記憶部52と、データ取得部53と、検知部54と、メッセージ取得部55と、更新部56とを備える。
ゲートウェイ装置102における通信処理部51、記憶部52、データ取得部53、検知部54およびメッセージ取得部55の動作は、図3に示すゲートウェイ装置101における通信処理部51、記憶部52、データ取得部53、検知部54およびメッセージ取得部55とそれぞれ同様である。
図19は、本発明の第2の実施の形態に係るゲートウェイ装置における更新部が行う通常モデルの更新を説明するための図である。なお、図19の見方は、図4と同様である。
図18および図19を参照して、通常モデルME2、ならびに対応のデータXおよびデータYの種類の組み合わせを示すモデル情報を含む検出条件情報が記憶部52に登録されている状況を想定する。
データ取得部53は、記憶部52から検出条件情報を取得し、取得した検出条件情報に含まれる複数のモデル情報を取得する。
データ取得部53は、たとえば、取得したモデル情報に基づいて2種類のデータの組を記憶部52から取得する。
ここでは、データXおよびデータYの組が同じ送信メッセージに含まれる状況を想定する。データ取得部53は、たとえば、上記送信メッセージがメッセージ取得部55によって記憶部52に新たに保存されると、モデル情報の示す組み合わせに基づいて、データXおよびデータYの組を上記送信メッセージから取得する。
データ取得部53は、取得したデータXおよびデータYの組、およびモデル情報の示す種類の組み合わせを検知部54および更新部56へ出力する。
更新部56は、たとえば、データ取得部53によって取得された組に基づいて検出条件を更新する。
より詳細には、たとえば、ゲートウェイ装置102では、通常モデルを更新すべき更新期間がユーザによって定められており、更新部56は、更新期間において通常モデルを更新する。
具体的には、更新部56は、データ取得部53からデータXおよびデータYの組、およびモデル情報の示す種類の組み合わせを受けると、記憶部52における検出条件情報に含まれる複数のモデル情報を参照し、受けた組み合わせに対応する通常モデルME2を記憶部52における対応のモデル情報から取得する。
そして、更新部56は、更新期間である場合、所定のアルゴリズムに従って、取得した通常モデルME2に基づいて、許容範囲を示す境界AE2を設定する。境界AE2は、通常モデルME2の境界BE2の外側に位置する。
更新部56は、データXおよびデータYの組に基づく位置が、位置Ps2のように境界AE2の外側に存在する場合、通常モデルME2を更新しない。
一方、更新部56は、データXおよびデータYの組に基づく位置が、位置Ps1のように境界AE2の内側に存在する場合、通常モデルME2を更新する。
図20は、本発明の第2の実施の形態に係るゲートウェイ装置における更新部が更新した通常モデルを説明するための図である。なお、図20の見方は、図4と同様である。
図18および図20を参照して、更新部56は、たとえば、位置Ps1のデータXおよびデータYの組に基づいて、通常モデルME2を更新することにより通常モデルMF2を作成する。境界AF2は、通常モデルMF2に応じた境界であり、通常モデルMF2の境界BF2の外側に位置する。
データ取得部53は、記憶部52に保存された、通常モデルME2、ならびに対応のデータXおよびデータYの種類の組み合わせを示すモデル情報を、通常モデルMF2、ならびに対応のデータXおよびデータYの種類の組み合わせを示すモデル情報に更新する。
位置Ps1は、更新後の通常モデルMF2の境界BF2の内側に位置しているので、更新後の通常モデルMF2を用いる場合、位置Ps1のデータXまたはデータYを含むメッセージを正当メッセージであると正しく判断することができる。
また、更新部56が、更新期間において通常モデルMF2をさらに更新することにより、真の母集団に基づく通常モデルにより近づけることができる。
なお、本発明の第2の実施の形態に係るゲートウェイ装置では、更新部56は、2種類のデータの組に基づいて検出条件を更新する構成であるとしたが、これに限定するものではない。更新部56は、3種類以上のデータの組に基づいて検出条件を更新する構成であってもよい。
その他の構成および動作は第1の実施の形態に係るゲートウェイ装置と同様であるため、ここでは詳細な説明を繰り返さない。
以上のように、本発明の第2の実施の形態に係るゲートウェイ装置では、更新部56はデータ取得部53によって取得された組に基づいて検出条件を更新する。
このような構成により、たとえば、検出条件の算出に用いた組が母集団として不完全であっても、新たに取得した組を母集団に含めることができるので、母集団の完成度をより高めることができる。これにより、より適切な検出条件に更新することができる。
次に、本発明の他の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
<第3の実施の形態>
本実施の形態は、第1の実施の形態に係るゲートウェイ装置と比べて、メッセージの送信間隔に基づく不正メッセージの検知を組み込んだゲートウェイ装置に関する。以下で説明する内容以外は第1の実施の形態に係るゲートウェイ装置と同様である。
[構成および基本動作]
図21は、本発明の第3の実施の形態に係る車載通信システムにおけるゲートウェイ装置の構成を示す図である。
図21を参照して、ゲートウェイ装置(検知装置)103は、通信処理部51と、記憶部52と、データ取得部53と、メッセージ取得部55と、監視部57と、分布取得部58と、検知部64とを備える。
ゲートウェイ装置103における通信処理部51、記憶部52、データ取得部53およびメッセージ取得部55の動作は、図3に示すゲートウェイ装置101における通信処理部51、記憶部52、データ取得部53およびメッセージ取得部55とそれぞれ同様である。
図22は、本発明の第3の実施の形態に係る車載通信システムにおける監視対象の周期メッセージの送信間隔の時間変化の一例を示す図である。なお、図22において、縦軸は送信間隔を示し、横軸は時間を示す。
図22を参照して、送信間隔は、たとえば、ある監視対象の周期メッセージ(以下、対象メッセージとも称する。)がバス13において伝送されるタイミングの間隔である。
図22に示すように、対象メッセージの送信間隔は一定でなく、ばらついている。これは、対象メッセージが伝送される際に調停が行われたり、クロックのずれによる内部処理の遅延ばらつきが発生したりするからである。
ここで、調停について説明する。メッセージには、たとえば、IDに応じて優先度が割り当てられている。たとえば、複数のメッセージの送信タイミングが重なる場合、車載ネットワーク12では、優先度の高いメッセージを、優先度の低いメッセージより優先的にバス13を伝送させる調停が行われる。このような調停により、送信間隔のばらつきが発生する。
図23は、本発明の第3の実施の形態に係る車載通信システムにおける対象メッセージの送信間隔の度数分布の一例を示す図である。なお、図23において、縦軸は度数を示し、横軸は送信間隔を示す。
図23を参照して、送信間隔の度数分布は、Ctミリ秒を中心としてほぼ対称である。送信間隔の度数分布は、たとえば所定のモデル関数Func1により近似することが可能である。
再び図21を参照して、監視部57は、たとえば、車載ネットワーク12における送信メッセージを監視する。より詳細には、監視部57は、たとえば、通信処理部51におけるメッセージの中継処理を監視し、監視結果に基づいて対象メッセージの送信間隔を測定する。
具体的には、たとえば、監視部57には、対象メッセージを示すID(以下、登録IDとも称する。)が1つ登録されている。なお、監視部57には、複数の登録IDが登録されてもよい。
監視部57は、たとえば、通信処理部51がメッセージを受信すると、通信処理部51によって受信されたメッセージに含まれるIDを確認する。監視部57は、確認したIDが登録IDと一致する場合、通信処理部51によって受信されたメッセージすなわち対象メッセージの受信時刻t1をたとえば測定基準として保持する。
そして、監視部57は、通信処理部51において登録IDを含む新たな対象メッセージが受信されると、新たに受信された対象メッセージの受信時刻t2を保持するとともに、以下の処理を行う。
すなわち、監視部57は、受信時刻t2から受信時刻t1を差し引くことにより、対象メッセージの送信間隔を算出し、算出した送信間隔および登録IDを検知部64へ出力する。
分布取得部58は、たとえば、送信メッセージの送信間隔の分布を取得する。詳細には、分布取得部58は、たとえば、他の装置、具体的にはサーバによって予め作成された送信間隔の分布を示す分布情報を取得する。
より詳細には、サーバは、たとえば、対象メッセージの送信間隔を複数取得する。この送信間隔は、たとえば、対象車両1と同じ種類のテスト車両において測定される。なお、サーバは、対象車両1において測定された送信間隔を取得してもよい。
サーバは、たとえば、モデル関数Func1として、以下の式(5)に示す、変数をxとする正規分布の確率密度関数(以下、正規分布関数とも称する。)pを用いる。
ここで、xバーおよびσ^2は、パラメータであり、それぞれ複数の送信間隔の平均値および分散である。xバーおよびσ^2は、それぞれ、以下の式(6)および(7)により算出される。
ここで、tは、送信間隔のサンプル数である。xiは、i番目の送信間隔である。サーバは、たとえば、所定の頒布タイミングにおいて、xバーおよびσ^2を含む分布情報を対象車両1へ送信する。
分布取得部58は、車載通信機111および通信処理部51経由でサーバから分布情報を受信すると、受信した分布情報に基づいて、式(5)により示されるモデル関数Func1を作成し、作成したモデル関数Func1を検知部64へ出力する。
なお、ゲートウェイ装置101では、分布取得部58が、車載通信機111および通信処理部51経由でサーバから分布情報を受信して検知部64へ出力する構成であるとしたが、これに限定するものではない。たとえば、ゲートウェイ装置101が不揮発性メモリを保持しており、分布取得部58が、整備用端末装置によってポート112経由で分布情報が書き込まれた不揮発性メモリから分布情報を取得して検知部64へ出力する構成であってもよい。
図24は、本発明の第3の実施の形態に係るゲートウェイ装置における検知部による不正メッセージの検出例を示す図である。なお、図24において、縦軸はスコアを示し、横軸は変数xを示す。
図24を参照して、検知部64は、たとえば、監視部57による監視結果および分布取得部58によって取得された送信間隔の分布に基づいて不正メッセージを検知する。
詳細には、検知部64は、たとえば、監視部57によって測定された送信間隔と、当該送信間隔の分布を示す分布情報と、所定のしきい値とに基づいて、送信メッセージを不正メッセージとすべきか否かについて判断する。ここでは、検知部64には、しきい値ThBが登録されている。
言い換えると、検知部64は、たとえば、監視部57によって測定された送信間隔の、当該送信間隔の分布における位置に基づいて不正メッセージを検知する。
検知部64は、分布取得部58からモデル関数Func1を受けると、受けたモデル関数Func1を変形することによりスコア関数Sc1を作成する。より詳細には、検知部64は、たとえば、−log(Func1)をスコア関数Sc1として作成する。ここで、「log(c)」は、cの常用対数を意味する。
図24では、スコア関数Sc1は、測定基準の時刻がx=0になるように表されている。したがって、図24に示す横軸は、送信間隔を示す。また、スコア関数Sc1は、変数xが平均値すなわちxバーである場合に最小値を示す。
検知部64は、監視部57から受けた送信間隔をスコア関数Sc1における変数xに代入することによりスコアを算出する。
検知部64は、算出したスコアがたとえばしきい値ThB以下である場合、今回伝送された対象メッセージを不正メッセージとすべきでないと判断する、すなわち対象メッセージが正当メッセージ、または送信間隔が偽装されたメッセージ(以下、偽装メッセージとも称する。)であると判断する。具体的には、検知部64は、図24に示す送信間隔Tcを監視部57から受けた場合、今回伝送された対象メッセージCが正当メッセージまたは偽装メッセージであると判断する。
これは、たとえば、対象メッセージが正当メッセージまたは偽装メッセージである場合、調停および内部処理の遅延等によるばらつきを含めても、図23に示す度数分布の中心の近傍に送信間隔が位置する可能性が高いからである。
一方、検知部64は、算出したスコアがしきい値ThBより大きい場合、今回伝送された対象メッセージが不正メッセージであると判断する。具体的には、検知部64は、図24に示す送信間隔Taを監視部57から受けた場合、今回伝送された対象メッセージAが不正メッセージであると判断する。同様に、検知部64は、送信間隔Tbを監視部57から受けた場合、今回伝送された対象メッセージBが不正メッセージであると判断する。
これは、たとえば、対象メッセージが不正メッセージである場合、当該対象メッセージが所定の取り決めに従って送信されていない可能性が高いからである。
また、セキュリティのレベルを下げる場合、検知部64に登録されたしきい値をThBより大きいThAに変更する。これにより、たとえば、送信間隔Tbに対応する対象メッセージBのように、検知部64により不正メッセージと判断されたメッセージが、しきい値の変更後において正当メッセージまたは偽装メッセージと判断される。
検知部64は、監視部57から受けた送信間隔に基づく判断結果を監視部57へ通知する。
監視部57は、たとえば、正当メッセージまたは偽装メッセージと判断された送信メッセージの受信タイミングを送信間隔の測定基準として用いる。
より詳細には、監視部57は、検知部64から通知された判断結果が、今回伝送された対象メッセージが正当メッセージまたは偽装メッセージであることを示す場合、受信時刻t2を送信間隔の新たな測定基準として用いる。
そして、監視部57は、通信処理部51において登録IDを含む新たな対象メッセージが受信されると、新たに受信された対象メッセージの受信時刻t3を保持するとともに、以下の処理を行う。
すなわち、監視部57は、受信時刻t3から受信時刻t2を差し引くことにより、対象メッセージの新たな送信間隔を算出し、算出した送信間隔を検知部64へ出力する。
一方、監視部57は、検知部64から通知された判断結果が、今回伝送された対象メッセージが不正メッセージであることを示す場合、受信時刻t1を測定基準のまま維持する。
そして、監視部57は、通信処理部51において登録IDを含む新たな対象メッセージが受信されると、新たに受信された対象メッセージの受信時刻t3を保持するとともに、以下の処理を行う。
すなわち、監視部57は、受信時刻t3から受信時刻t1を差し引くことにより、対象メッセージの新たな送信間隔を算出し、算出した送信間隔を検知部64へ出力する。
検知部64は、たとえば、不正メッセージとすべきでないと判断した送信メッセージについては、データ取得部53によって取得された組、および検出条件に基づいて、不正メッセージであるか否かについて判断する。
より詳細には、検知部64は、今回伝送された対象メッセージCが正当メッセージまたは偽装メッセージであると判断した場合、監視部57から受けた登録IDをデータ取得部53へ出力する。
データ取得部53は、検知部64から登録IDを受けると、記憶部52に保存された複数のメッセージの中から、受けた登録IDを有する最新のメッセージすなわち最新の対象メッセージを取得する。
この例では、対象メッセージにおいて1つのデータが含まれる。データ取得部53は、取得した最新の対象メッセージに含まれる1つのデータの種類(以下、対象種類とも称する。)を認識する。なお、対象メッセージにおいて、2つ以上のデータが含まれてもよい。
データ取得部53は、記憶部52が保存する検出条件情報に含まれる複数のモデル情報を参照し、参照した複数のモデル情報の中から、認識した対象種類を示すモデル情報を記憶部52から取得する。
データ取得部53は、取得したモデル情報に基づいて、対象種類と組み合わされるデータの種類(以下、相手方種類とも称する。)を特定する。
データ取得部53は、たとえば、対象種類のデータを含む複数の対象メッセージ、および相手方種類のデータを含む複数のメッセージを記憶部52から取得し、取得した各メッセージに基づいて、対象種類のデータの受信時刻と相手方種類のデータの受信時刻とを同期させる同期処理を行う。
データ取得部53は、同期処理が完了すると、同期させた2種類のデータから最新の2種類のデータの組を取得し、取得した2種類のデータの組、およびモデル情報の示す種類の組み合わせを検知部64へ出力する。
検知部64は、データ取得部53から2種類のデータの組、およびモデル情報の示す種類の組み合わせを受けると、記憶部52における検出条件情報に含まれる複数のモデル情報を参照し、受けた組み合わせに対応する通常モデルM2を記憶部52における対応のモデル情報から取得する。
検知部64は、データ取得部53から受けた2種類のデータの組に基づく位置、および取得した通常モデルM2に基づいて、対象メッセージが不正メッセージであるか否かについて判断する。
具体的には、検知部64は、図7に示すように、データ取得部53から受けた2種類のデータの組に基づく位置が位置Pnである場合、位置Pnが通常モデルM2の境界B2の内側に位置するので、対象メッセージが正当メッセージであると判断する。
一方、検知部64は、データ取得部53から受けた2種類のデータの組に基づく位置が位置Paである場合、位置Paが通常モデルM2の境界B2の外側に位置するので、対象メッセージが偽装メッセージすなわち不正メッセージであると判断する。
検知部64は、対象メッセージが不正メッセージであると判断した場合、たとえば、以下の処理を行う。すなわち、検知部64は、登録ID、相手方種類のデータを含むメッセージのID、および対応の種類の組み合わせ等を記憶部52に記録する。
また、検知部64は、バス13において不正メッセージが伝送されていることを対象車両1内または対象車両1外における上位装置へ通信処理部51経由で通知する。
[動作の流れ]
図25は、本発明の第3の実施の形態に係るゲートウェイ装置が対象メッセージを受信する際の動作手順を定めたフローチャートである。
図25を参照して、まず、ゲートウェイ装置103は、最初の対象メッセージを受信し、当該対象メッセージの受信時刻を測定基準として設定する(ステップS302)。
次に、ゲートウェイ装置103は、対象メッセージを受信するまで待機する(ステップS304でNO)。
そして、ゲートウェイ装置103は、対象メッセージを受信すると(ステップS304でYES)、受信した対象メッセージを不正メッセージとすべきか否かについて判断する判断処理を行う(ステップS306)。
次に、ゲートウェイ装置103は、新たな対象メッセージを受信するまで待機する(ステップS306でNO)。
図26は、本発明の第3の実施の形態に係るゲートウェイ装置が判断処理を行う際の動作手順を定めたフローチャートである。図26は、図25のステップS306における動作の詳細を示している。
図26を参照して、ゲートウェイ装置103は、対象メッセージの受信時刻から測定基準を差し引くことにより送信間隔を算出する(ステップS402)。
次に、ゲートウェイ装置103は、算出した送信間隔をスコア関数Sc1に代入することによりスコアを算出する(ステップS404)。
次に、ゲートウェイ装置103は、算出したスコアがしきい値ThBより大きい場合(ステップS406でNO)、今回伝送された対象メッセージが不正メッセージであると判断する(ステップS424)。
一方、ゲートウェイ装置103は、算出したスコアがしきい値ThB以下である場合(ステップS406でYES)、今回伝送された対象メッセージが正当メッセージまたは偽装メッセージであると判断する(ステップS408)。
次に、ゲートウェイ装置103は、測定基準を、今回伝送された対象メッセージの受信時刻に更新する(ステップS410)。
次に、ゲートウェイ装置103は、対象種類のデータおよび相手方種類のデータの両方が対象メッセージに格納されているか否かを確認する(ステップS412)。
次に、ゲートウェイ装置103は、対象種類のデータおよび相手方種類のデータの両方が対象メッセージに含まれない場合、すなわち別個のメッセージに分かれて含まれる場合(ステップS412でNO)、対象種類のデータおよび相手方種類のデータに対して同期処理を行う(ステップS414)。
次に、ゲートウェイ装置103は、2種類のデータの組、より詳細には対象種類のデータおよび相手方種類のデータの組を対象メッセージから取得するか、または同期処理を行った対象種類のデータおよび相手方種類のデータから、対象種類のデータおよび相手方種類のデータの最新の組を取得する(ステップS416)。
次に、ゲートウェイ装置103は、対象種類のデータおよび相手方種類のデータの組に対応する通常モデルM2を記憶部52から取得する(ステップS418)。
次に、ゲートウェイ装置103は、取得した対象種類のデータおよび相手方種類のデータの組に基づく位置が、通常モデルM2の境界B2の内側に位置するか否かを確認する(ステップS420)。
ゲートウェイ装置103は、取得した対象種類のデータおよび相手方種類のデータの組に基づく位置が境界B2の内側に位置する場合(ステップS420でYES)、今回伝送された対象メッセージが正当メッセージであると判断する(ステップS422)。
一方、ゲートウェイ装置103は、取得した対象種類のデータおよび相手方種類のデータの組に基づく位置が境界B2の外側に位置する場合(ステップS420でNO)、今回伝送された対象メッセージが偽装メッセージすなわち不正メッセージであると判断する(ステップS424)。
なお、本発明の第3の実施の形態に係るゲートウェイ装置では、監視部57は、対象メッセージの受信時刻に基づいて送信間隔を測定する構成であるとしたが、これに限定するものではない。監視部57は、たとえば、対象メッセージの送信時刻を取得し、取得した送信時刻に基づいて送信間隔を測定する構成であってもよい。
また、本発明の第3の実施の形態に係るゲートウェイ装置は、テスト車両において測定された対象メッセージの送信間隔の分布を取得する構成であるとしたが、これに限定するものではない。ゲートウェイ装置103は、対象車両1において測定された送信間隔を蓄積し、蓄積した送信間隔に基づいて当該分布を作成する構成であってもよい。
以上のように、本発明の第3の実施の形態に係るゲートウェイ装置では、監視部57は、車載ネットワーク12における送信メッセージを監視する。分布取得部58は、送信メッセージの送信間隔の分布を取得する。検知部64は、監視部57による監視結果および分布取得部58によって取得された分布に基づいて不正メッセージを検知する。そして、検知部64部は、不正メッセージとすべきでないと判断した送信メッセージについては、データ取得部53によって取得された組、および検出条件に基づいて、不正メッセージであるか否かについて判断する。
送信間隔を精度よく偽装した送信メッセージは、上記監視結果および上記分布に基づいて不正メッセージとして検知することが困難である。上記のような構成により、当該送信メッセージを、上記組および検出条件に基づいて不正メッセージとして検知することができるので、車載ネットワーク12におけるセキュリティを向上させることができる。
その他の構成および動作は第1の実施の形態に係るゲートウェイ装置と同様であるため、ここでは詳細な説明を繰り返さない。
なお、本発明の第1の実施の形態〜第3の実施の形態に係る各装置の構成要素および動作のうち、一部または全部を適宜組み合わせることも可能である。
上記実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記説明ではなく特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
以上の説明は、以下に付記する特徴を含む。
[付記1]
車両に搭載される車載ネットワークにおける不正メッセージを検知する検知装置であって、
前記車載ネットワークにおける1または複数の送信メッセージを取得するメッセージ取得部と、
前記メッセージ取得部によって取得された前記送信メッセージに含まれる、同じ時刻に対応する複数種類のデータの組を取得するデータ取得部と、
予め作成された、複数の時刻にそれぞれ対応する複数の前記組に基づく検出条件を記憶する記憶部と、
前記データ取得部によって取得された前記組、および前記検出条件に基づいて前記不正メッセージを検知する検知部とを備え、
前記検知装置は、前記送信メッセージを中継するゲートウェイ装置であり、
前記車載ネットワークは、前記車両の内部における装置である車載装置を含み、
前記車載装置は、前記車載ネットワークの設けられた車両の外部における装置と通信する車載通信機、または前記車両における機能部を制御可能な制御装置であり、
前記送信メッセージは、CAN(Controller Area Network)、FlexRay、MOST(Media Oriented Systems Transport)、イーサネットまたはLIN(Local Interconnect Network)の通信規格に従って前記車載ネットワークにおいて伝送され、
前記検出条件は、通常モデルであり、サーバにおいて予め作成され、
前記時刻は、受信時刻、送信時刻または作成時刻である、検知装置。