(57)【要約】【課題】監視対象システムにおける異常の発生に至る経路の特定を支援する。【解決手段】分析ＥＣＵ２６は、監視対象システムにおいて伝送されるパケットをグループ化した第１のフローに関する情報および第２のフローに関する情報を取得する。分析ＥＣＵ２６は、第１のフローを入力とし、第２のフローを出力とする変換に関する情報を取得する。分析ＥＣＵ２６は、監視対象システムにおいて生成されたアラート情報であって、１つのフローを特定可能な情報を含むアラート情報を受け付ける。分析ＥＣＵ２６は、アラート情報により第２のフローが特定された場合、上記変換に関する情報と、上記変換に関する情報において第２のフローと対応付けられた第１のフローに関する情報の少なくとも一方を含む経路情報を生成する。【選択図】図４
2020150430.tif 000002
【特許請求の範囲】
【請求項１】
監視対象システムにおいて伝送されるパケットをグループ化した第１のフローに関する情報および第２のフローに関する情報と、前記第１のフローを入力とし、前記第２のフローを出力とする変換に関する情報とを直接または間接的に取得する取得部と、
前記監視対象システムにおいて生成されたアラート情報であって、少なくとも１つのフローを特定可能な情報を含むアラート情報を受け付けるアラート受付部と、
前記アラート情報により前記第２のフローが特定された場合、前記変換に関する情報と、前記変換に関する情報において前記第２のフローと対応付けられた前記第１のフローに関する情報の少なくとも一方を含む経路情報を生成する生成部と、
を備える情報処理装置。
【請求項２】
前記第１のフローに関する情報と、前記第２のフローに関する情報の少なくとも一方は、ＣＡＮ（Controller Area Network）フレームの送信元と宛先に関する情報を含む、
請求項１に記載の情報処理装置。
【請求項３】
前記生成部により生成された経路情報に応じて、異常に対処するための処理を実行する異常対処部をさらに備える、
請求項１または２に記載の情報処理装置。
【請求項４】
前記経路情報は、前記アラート情報が生成される要因となったパケットの伝送に関わる１つ以上の装置を示す情報を含み、
前記異常に対処するための処理は、前記経路情報が示す装置が備える防御機能を有効にする処理である、
請求項３に記載の情報処理装置。
【請求項５】
前記経路情報は、前記アラート情報が生成される要因となったパケットの伝送に関わる１つ以上の装置を示す情報を含み、
前記異常に対処するための処理は、前記経路情報が示す装置に関するログを、前記アラート情報を受け付ける前よりも詳細に記録する処理である、
請求項３に記載の情報処理装置。
【請求項６】
前記経路情報は、前記アラート情報が生成される要因となったパケットの伝送に関わる１つ以上の装置を示す情報を含み、
前記異常に対処するための処理は、前記１つ以上の装置のうち前記監視対象システムの外部に対するインタフェースとなる装置に応じて、攻撃の種類を識別する処理である、
請求項３に記載の情報処理装置。
【請求項７】
請求項１から６のいずれか１項に記載の情報処理装置と、
前記第１のフローに関する情報および前記第２のフローに関する情報を記憶する第１記憶部と、
前記変換に関する情報を記憶する第２記憶部と、を備えた情報処理システム。
【請求項８】
異常検出部をさらに備え、
前記第１記憶部は、前記監視対象システムを構成する装置から収集された複数のフローに関する情報を記憶し、
前記第２記憶部は、前記監視対象システムを構成する装置から収集された複数の変換に関する情報を記憶し、
前記生成部は、前記アラート情報を受け付けない場合であっても、前記第２記憶部に記憶された変換に関する情報が示す入出力に応じて複数のフローを連結させた経路情報を生成し、
前記異常検出部は、前記生成部により生成された経路情報に応じて、前記監視対象システムにおける異常を検出する、
請求項７に記載の情報処理システム。
【請求項９】
監視対象システムにおいて伝送されるパケットをグループ化した第１のフローに関する情報および第２のフローに関する情報と、
前記第１のフローを入力とし、前記第２のフローを出力とする変換に関する情報とを直接または間接的に取得し、
前記監視対象システムにおいて生成されたアラート情報であって、１つのフローを特定可能な情報を含むアラート情報を受け付け、
前記アラート情報により前記第２のフローが特定された場合、前記変換に関する情報と、前記変換に関する情報において前記第２のフローと対応付けられた前記第１のフローに関する情報の少なくとも一方を含む経路情報を生成する、
ことをコンピュータが実行する情報処理方法。
【請求項１０】
監視対象システムにおいて伝送されるパケットをグループ化した第１のフローに関する情報および第２のフローに関する情報と、
前記第１のフローを入力とし、前記第２のフローを出力とする変換に関する情報とを直接または間接的に取得し、
前記監視対象システムにおいて生成されたアラート情報であって、１つのフローを特定可能な情報を含むアラート情報を受け付け、
前記アラート情報により前記第２のフローが特定された場合、前記変換に関する情報と、前記変換に関する情報において前記第２のフローと対応付けられた前記第１のフローに関する情報の少なくとも一方を含む経路情報を生成する、
ことをコンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示はデータ処理技術に関し、特に情報処理装置、情報処理システム、情報処理方法およびコンピュータプログラムに関する。
【背景技術】
【０００２】
ＣＡＮ（Controller Area Network）フレームの受信周期に応じて、ネットワークの異常を検知する技術が提案されている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１４６８６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の技術は、外部からの攻撃の有無を検知できるが、攻撃の経路を特定することはできず、十分な対処を行うことが難しい可能性がある。
【０００５】
本開示はこうした課題に鑑みてなされたものであり、１つの目的は、監視対象システムにおける異常の発生に至る経路の特定を支援することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明のある態様の情報処理装置は、監視対象システムにおいて伝送されるパケットをグループ化した第１のフローに関する情報および第２のフローに関する情報と、第１のフローを入力とし、第２のフローを出力とする変換に関する情報とを取得する取得部と、監視対象システムにおいて生成されたアラート情報であって、少なくとも１つのフローを特定可能な情報を含むアラート情報を受け付けるアラート受付部と、アラート情報により第２のフローが特定された場合、変換に関する情報と、変換に関する情報において第２のフローと対応付けられた第１のフローに関する情報の少なくとも一方を含む経路情報を生成する生成部と、を備える。
【０００７】
本発明の別の態様は、情報処理方法である。この方法は、監視対象システムにおいて伝送されるパケットをグループ化した第１のフローに関する情報および第２のフローに関する情報と、第１のフローを入力とし、第２のフローを出力とする変換に関する情報とを取得し、監視対象システムにおいて生成されたアラート情報であって、少なくとも１つのフローを特定可能な情報を含むアラート情報を受け付け、アラート情報により第２のフローが特定された場合、変換に関する情報と、変換に関する情報において第２のフローと対応付けられた第１のフローに関する情報の少なくとも一方を含む経路情報を生成する、ことをコンピュータが実行する。
【０００８】
なお、以上の構成要素の任意の組合せ、本開示の表現を、装置、コンピュータプログラム、コンピュータプログラムを記録した記録媒体、情報処理装置または情報処理システムを搭載した車両などの間で変換したものもまた、本開示の態様として有効である。
【発明の効果】
【０００９】
本開示によれば、監視対象システムにおける異常の発生に至る経路の特定を支援できる。
【図面の簡単な説明】
【００１０】
【図１】フローの例を示す図である。
【図２】図２（ａ）は、車載システムの構成例を示す図であり、図２（ｂ）は、図２（ａ）の車載システムにおけるフロー情報を示す図であり、図２（ｃ）は、図２（ａ）の車載システムにおける変換情報を示す図である。
【図３】図３（ａ）は、車載システムの構成例を示す図であり、図３（ｂ）は、図３（ａ）の車載システムにおけるフロー情報を示す図であり、図３（ｃ）は、図３（ａ）の車載システムにおける変換情報を示す図である。
【図４】実施例の車載システムの構成を示す図である。
【図５】図４の分析ＥＣＵの機能ブロックを示すブロック図である。
【図６】分析ＥＣＵの動作を示すフローチャートである。
【図７】攻撃経路情報の例を示す図である。
【発明を実施するための形態】
【００１１】
まず、実施例における「フロー」を説明する。実施例におけるフローは、ＩＰＦＩＸ（Internet Protocol Flow Information Export）プロトコルで定められたフローに準拠する。具体的には、実施例におけるフローは、通信トラフィック内で共通の送信元および送信先を持つパケットの集合であり、言い換えれば、監視対象システムで伝送されるパケットのグループである。
【００１２】
図１は、フローの例を示す。同図は、Ｐ１〜Ｐ１０で示す１０個のパケットがこの順に到達したことを示している。これらのパケットのうちＰ１、Ｐ３、Ｐ５、Ｐ７およびＰ１０はフローＦ１に属し、Ｐ２、Ｐ６およびＰ９はフローＦ２に属し、Ｐ４およびＰ８はフローＦ３に属する。
【００１３】
ＩＰネットワークにおけるフロー情報は、送信元ＩＰアドレス、送信元ポート番号、宛先ＩＰアドレス、宛先ポート番号、プロトコル種別およびトラフィック量を含む。例えば、フローＦ１は、送信元ＩＰアドレスが「１９２．１６８．１．１０」、送信元ポート番号が「６０２２」、宛先ＩＰアドレスが「１０．１２８．１３．１１」、宛先ポート番号が「８０」のパケットのグループである。プロトコル種別は、例えば、ＴＣＰ／ＩＰ、ＵＤＰ／ＩＰ、ＩＣＭＰ、ＣＡＮ等である。トラフィック量は、転送速度ｂｐｓ（bit per second）と、パケット処理速度ｐｐｓ（packets per second）を含む。
【００１４】
ＣＡＮには一般的なフロー定義はないが、実施例では、ＣＡＮフレームにより特定される送信元と宛先に関する情報とによりＣＡＮにおけるフローを定義する。具体的には、ＣＡＮフレームにより特定される送信元ＥＣＵとＣＡＮ−ＩＤとの組み合わせをＣＡＮのフローとして定義する。送信元ＥＣＵは、公知のＥＣＵフィンガープリントにより特定されてもよい。すなわち、ＣＡＮフレームの信号波形から送信元ＥＣＵが特定されてもよい。一方、宛先ＥＣＵは、ＣＡＮ−ＩＤと受信ＥＣＵの対応を定義した信号表で特定されてもよい。または、送信元ＥＣＵが、ＣＡＮフレームのペイロードに自ＥＣＵを識別可能なデータ（署名、ハッシュチェーン等）を自律的に設定することにより、ＣＡＮフレームのペイロードのデータから送信元ＥＣＵが特定されてもよい。ハッシュチェーンによる送信元の識別方法は、特開２０１８−１３３７４４号公報で公知であるのでここでは説明しない。ＥＣＵ内のプロセス間通信においては、プロセスＩＤとプログラム識別子により送信元と宛先を識別し、フローを定義する。
【００１５】
図２（ａ）は、車載システムの構成例を示す。車両１０は、ＴＣＵ１２、ＥＳＷ１４、ＩＶＩ−ＥＣＵ１６、ブレーキＥＣＵ１８、ステアリングＥＣＵ２０、監視ＥＣＵ２２を含む。装置間を結ぶ実線はＩＰネットワークを示し、装置間を結ぶ二重線はＣＡＮを示している。以降の図においても同様である。
【００１６】
ＴＣＵ（Telematics Communication Unit)１２は、携帯通信網（言い換えれば通信キャリア網）に接続可能な通信装置である。ＥＳＷ１４は、イーサネットスイッチである（「イーサネット」は登録商標）。ＩＶＩ（In-Vehicle Infotainment system）−ＥＣＵ（Electronic Control Unit）１６は、ナビゲーション、ディスプレイ、オーディオ等のインフォテインメント機器を制御する。ブレーキＥＣＵ１８は、車両１０のブレーキ装置の動作を制御する。ステアリングＥＣＵ２０は、車両１０のステアリング装置の動作を制御する。
【００１７】
監視ＥＣＵ２２は、車載システムの各装置（例えばブレーキＥＣＵ１８、ステアリングＥＣＵ２０等）に対する攻撃を検知する。監視ＥＣＵ２２は、公知の方法により攻撃を検知してもよい。例えば、監視ＥＣＵ２２は、ＣＡＮフレームの周期異常をもとに攻撃を検知してもよく、攻撃に使用されたＣＡＮフレームのＣＡＮ−ＩＤを特定してもよい。監視ＥＣＵ２２は、攻撃を検知した場合、検知内容を示すアラート情報を出力する。なお、監視ＥＣＵ２２は、公知の方法によりＩＰネットワークの異常をさらに検知してもよい。
【００１８】
図２（ｂ）は、図２（ａ）の車載システムにおけるフロー情報を示す。図２（ｃ）は、図２（ａ）の車載システムにおける変換情報を示す。変換情報は、第１のフローを入力とし、第１のフロートは異なる第２のフローを出力とする変換に関する情報である。図２（ｃ）の変換Ｐ１は、フローＦ１が入力され、フローＦ２およびフローＦ３を出力する変換であることを示している。また、変換情報は、変換処理が実装されたプログラム名と、変換処理を実行する装置名（ＩＤでもよい）を含む。図２（ｃ）の変換Ｐ１は、プログラム名が「プログラムα」であり、変換処理の実行主体が「ＩＶＩ−ＥＣＵ１６」であることを示している。
【００１９】
図２（ａ）はまた、車両１０を攻撃するハッカーのＰＣ（ハッカーＰＣ１００）を示している。ハッカーＰＣ１００がステアリングＥＣＵ２０を攻撃する場合、ハッカーＰＣ１００から送信されたパケットの内容（攻撃内容）は、フローＦ１、フローＦ２の経路でステアリングＥＣＵ２０に到達する。
【００２０】
図３（ａ）も、車載システムの構成例を示す。車両１０は、ＴＣＵ１２、ＥＳＷ１４、ＩＶＩ−ＥＣＵ１６、ＧＷ−ＥＣＵ２４、ステアリングＥＣＵ２０を含む。ＧＷ（GateWay）−ＥＣＵ２４は、バス、フローまたは通信プロトコル等の差異を吸収して、パケットを中継するゲートウェイ装置である。ＧＷ−ＥＣＵ２４は、異なるＣＡＮバス間でＣＡＮフレームを中継する。また、ＧＷ−ＥＣＵ２４は、図２（ａ）の監視ＥＣＵ２２の機能を含む。
【００２１】
図３（ｂ）は、図３（ａ）の車載システムにおけるフロー情報を示す。図３（ｃ）は、図３（ａ）の車載システムにおける変換情報を示す。図２（ａ）と同様に、図３（ａ）も、ハッカーＰＣ１００を示している。ハッカーＰＣ１００がステアリングＥＣＵ２０を攻撃する場合、ハッカーＰＣ１００から送信されたパケットの内容（攻撃内容）は、フローＦ１、フローＦ２、フローＦ３の経路でステアリングＥＣＵ２０に到達する。
【００２２】
図４は、実施例の車載システム１１の構成を示す。車載システム１１は、実施例における監視対象装置であり、ＴＣＵ１２、ＥＳＷ１４、ＩＶＩ−ＥＣＵ１６、ＧＷ−ＥＣＵ２４、ステアリングＥＣＵ２０、監視ＥＣＵ２２、分析ＥＣＵ２６を備える。ＴＣＵ１２は、携帯通信網を介してサーバ１０２と接続される。サーバ１０２は、車載システム１１の各装置のログを収集し、保存する。なお、サーバ１０２において車載システム１１の各装置のログを収集し保存する構成は一例であって、車載システム１１の内部に備えられた記憶装置に各装置のログを収集し保存する構成であってもよく、特に限定はされない。
【００２３】
ＩＶＩ−ＥＣＵ１６は、フローＦ１からフローＦ２へのフロー変換を実行し、ＧＷ−ＥＣＵ２４は、フローＦ２からフローＦ３へのフロー変換を実行する。なお、ＴＣＵ１２がＩＰアドレス変換機能、例えばＮＡＴ（Network Address Translation）機能を有する場合、ＴＣＵ１２もフロー変換を実行する。
【００２４】
フロー変換は、（１）Ｌｉｎｕｘ（登録商標）ホストのプロセスによるフロー変換、（２）ゲートウェイ装置によるフロー変換を含む。（１）のフロー変換は、ＩＰパケット間の変換（アドレス変換等）や、ＩＰパケットとＣＡＮフレームの変換、プロセス間通信によるフローの変換を含む。また、（２）のフロー変換は、ＣＡＮフレーム間の変換（異なるバス間での中継等）や、ＩＰパケットとＣＡＮフレームの変換を含む。
【００２５】
監視ＥＣＵ２２は、監視対象システムである車載システム１１に対する攻撃を検知し、攻撃を検知した場合、アラート情報を生成して分析ＥＣＵ２６へ送信する。分析ＥＣＵ２６は、監視ＥＣＵ２２からアラート情報を受け付けた場合に、そのアラート情報をもとに攻撃経路を分析する。
【００２６】
図５は、図４の分析ＥＣＵ２６の機能ブロックを示すブロック図である。本開示のブロック図において示される各ブロックは、ハードウェア的には、コンピュータのＣＰＵ・メモリをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。
【００２７】
分析ＥＣＵ２６は、通信部４０と制御部４２を備える。通信部４０は、所定の通信プロトコルにしたがって外部装置（サーバ１０２、他ＥＣＵ等）と通信する。制御部４２は、攻撃経路の分析に関する各種データ処理を実行する。制御部４２は、通信部４０を介して、外部装置とデータを送受信する。
【００２８】
制御部４２は、フロー情報記憶部４４、変換情報記憶部４６、フロー情報受付部４８、変換情報受付部５０、アラート受付部５２、解析部５４、経路情報記憶部５６、異常対処部５８を含む。これら複数の機能ブロックに対応する複数のモジュールを含むコンピュータプログラムが、分析ＥＣＵ２６のＲＯＭに記憶されてもよい。分析ＥＣＵ２６のＣＰＵは、このコンピュータプログラムをＲＡＭに読み出して実行することにより、上記複数の機能ブロックの機能を発揮してもよい。
【００２９】
フロー情報記憶部４４は、車載システム１１の各装置から収集されたフロー情報であって、複数のフローに関する複数のフロー情報を記憶する。車載システム１１におけるフローＦ１、フローＦ２、フローＦ３は、図３に示したフローＦ１、フローＦ２、フローＦ３に対応する。フロー情報記憶部４４は、図３に示したフローＦ１の情報、フローＦ２の情報およびフローＦ３の情報を記憶する。
【００３０】
変換情報記憶部４６は、車載システム１１の各装置から収集された変換情報であって、１つ以上のフロー変換に関する１つ以上の変換情報を記憶する。車載システム１１におけるＩＶＩ−ＥＣＵ１６は、図３に示した変換Ｐ１を実行し、ＧＷ−ＥＣＵ２４は、図３に示した変換Ｐ２を実行する。変換情報記憶部４６は、図３に示した変換Ｐ１の情報および変換Ｐ２の情報を記憶する。
【００３１】
車載システム１１の複数の装置（ＥＣＵ等）のそれぞれは、自装置でのパケット処理に関するフロー情報および変換情報を分析ＥＣＵ２６へ送信する。実施例では、ＴＣＵ１２は、出力フローの情報としてフローＦ１の情報を分析ＥＣＵ２６へ送信する。ＩＶＩ−ＥＣＵ１６は、入力フローの情報としてフローＦ１の情報を分析ＥＣＵ２６へ送信し、出力フローの情報としてフローＦ２の情報を分析ＥＣＵ２６へ送信する。また、ＩＶＩ−ＥＣＵ１６は、変換Ｐ１の情報を分析ＥＣＵ２６へ送信する。
【００３２】
ＧＷ−ＥＣＵ２４は、入力フローの情報としてフローＦ２の情報を分析ＥＣＵ２６へ送信し、出力フローの情報としてフローＦ３の情報を分析ＥＣＵ２６へ送信する。また、ＧＷ−ＥＣＵ２４は、変換Ｐ２の情報を分析ＥＣＵ２６へ送信する。ステアリングＥＣＵ２０は、入力フローの情報としてフローＦ３の情報を分析ＥＣＵ２６へ送信する。
【００３３】
フロー情報受付部４８は、車載システム１１の各装置から送信されたフロー情報を受け付け、フロー情報記憶部４４に格納する。また、変換情報受付部５０は、車載システム１１の各装置から送信された変換情報を受け付け、変換情報記憶部４６に格納する。
【００３４】
変形例として、フロー情報受付部４８および変換情報受付部５０は、車載システム１１の各装置からフロー情報および変換情報を自律的に取得してもよい。別の変形例として、車載システム１１の各装置は、パケットの処理実績を示す情報（例えばログデータ）を分析ＥＣＵ２６へ送信してもよい。分析ＥＣＵ２６は、各装置から送信されたログデータが示す入力パケット、出力パケットおよび変換前後のパケットをもとに、フロー情報および変換情報を生成し、フロー情報記憶部４４および変換情報記憶部４６に格納してもよい。また、フロー情報記憶部４４や変換情報記憶部４６は、分析ＥＣＵ２６の一部として構成されてもよいが、分析ＥＣＵ２６の外部にある記憶装置によって実現されてもよく、特に限定はされない。すなわち、分析ＥＣＵ２６は、内部に備えられたフロー情報記憶部４４や変換情報記憶部４６からフロー情報や変換情報を取得してもよいし、外部に備えられたフロー情報記憶部４４や変換情報記憶部４６からフロー情報や変換情報を取得してもよい。
【００３５】
アラート受付部５２は、監視ＥＣＵ２２から送信されたアラート情報を受け付ける。アラート情報は、１つのフローを特定可能な情報を含む。１つのフローを特定可能な情報は、実施例ではパケットの送信先を示す情報であり、例えば宛先ＩＰアドレスと宛先ポート番号の組合せ、またはＣＡＮ−ＩＤである。
【００３６】
解析部５４は、車載システム１１に対する攻撃の経路を示す攻撃経路情報を生成する生成部の機能を含む。具体的には、解析部５４は、アラート情報により第１のフローが特定された場合、第１のフローを含むフロー変換を示す変換情報と、その変換情報において第１のフロー対応付けられた第２のフローに関する情報の少なくとも一方を含む攻撃経路情報を生成する。実施例では、解析部５４は、アラート情報が示すフローを起点として、変換情報により対応付けられたフローを辿っていくことにより、複数のフローと１つ以上の変換を含み得る攻撃経路情報を生成する。
【００３７】
解析部５４は、生成した攻撃経路情報のデータを経路情報記憶部５６に格納する。異常対処部５８は、経路情報記憶部５６に記憶された攻撃経路情報に応じて、異常に対処するための処理を実行する。攻撃経路情報および異常対処処理の具体例は後述する。
【００３８】
以上の構成による分析ＥＣＵ２６の動作を説明する。図６は、分析ＥＣＵ２６の動作を示すフローチャートである。フロー情報受付部４８は、車載システム１１の各装置から送信されたフロー情報を受信すると（Ｓ１０のＹ）、フロー情報をフロー情報記憶部４４に格納する（Ｓ１２）。フロー情報を未受信であれば（Ｓ１０のＮ）、Ｓ１２の処理をスキップする。変換情報受付部５０は、車載システム１１の各装置から送信された変換情報を受信すると（Ｓ１４のＹ）、変換情報を変換情報記憶部４６に格納する（Ｓ１６）。変換情報を未受信であれば（Ｓ１４のＮ）、Ｓ１６の処理をスキップする。
【００３９】
アラート受付部５２が、監視ＥＣＵ２２から送信されたアラート情報を受信すると（Ｓ１８のＹ）、解析部５４は、フロー情報記憶部４４に記憶されたフロー情報を参照して、アラート情報に対応するフロー情報（「フロー情報Ａ」と呼ぶ。）を特定する（Ｓ２０）。解析部５４は、フロー情報Ａを攻撃経路情報に記録する（Ｓ２２）。解析部５４は、変換情報記憶部４６に記憶された変換情報の中から、フロー情報Ａに関連する変換情報（「変換情報Ｂ」と呼ぶ。）を検索する。変換情報Ｂが存在すれば（Ｓ２４のＹ）、解析部５４は、変換情報Ｂを攻撃経路情報に記録する（Ｓ２６）。
【００４０】
解析部５４は、フロー情報記憶部４４に記憶されたフロー情報の中から、変換情報Ｂに関連するフロー情報（「フロー情報Ｃ」と呼ぶ。）を検索する。フロー情報Ｃが存在すれば（Ｓ２８のＹ）、Ｓ２２に戻り、解析部５４は、フロー情報Ｃを攻撃経路情報に記録する。フロー情報Ｃが存在せず（Ｓ２８のＮ）、または変換情報Ｂが存在せず（Ｓ２４のＮ）、すなわち、車載システム１１における末端のフロー情報または変換情報に達した場合、解析部５４は、攻撃経路情報の生成処理を終了する。解析部５４は、生成した攻撃経路情報を経路情報記憶部５６に格納する（Ｓ３０）。
【００４１】
異常対処部５８は、経路情報記憶部５６に記憶された攻撃経路情報をもとに異常対処処理を実行する（Ｓ３２）。アラート情報を未受信であれば（Ｓ１８のＮ）、以降の処理をスキップして本図のフローを終了する。車載システム１１の動作中、分析ＥＣＵ２６は、図６に記載の処理を繰り返し実行する。実施例の分析ＥＣＵ２６によると、監視対象システムにおける異常発生に関する経路を特定し、その経路に応じて、異常または攻撃に対する適切な対処を実行でき、または、適切な対処を実行できるよう支援できる。
【００４２】
図７は、攻撃経路情報の例を示す。攻撃経路情報６０は、経路グラフ６２と属性情報６４を含む。経路グラフ６２は、フロー名称と変換名称を要素に含む。属性情報６４は、経路グラフ６２の各要素に対応付けられた情報であって、各要素に関する属性を示す。実施例の属性情報６４は、フロー情報の項目および変換情報の項目を含み、また、アラート情報が生成される要因となったパケットの伝送に関わる１つ以上の装置を示す情報を含む。
【００４３】
図７の攻撃経路情報６０は、監視ＥＣＵ２２が、攻撃ＣＡＮフレーム（ＣＡＮ−ＩＤは０ｘ１００）を検知し、分析ＥＣＵ２６が、そのことを示すアラート情報を受け付けた場合に生成する攻撃経路情報である。分析ＥＣＵ２６の解析部５４は、フロー情報記憶部４４を参照してＣＡＮ−ＩＤ「０ｘ１００」に対応付けられたフローＦ３を特定する。解析部５４は、フローＦ３を経路グラフ６２の１番目の要素として記録するとともに、フローＦ３の情報を属性情報６４に記録する。
【００４４】
次に解析部５４は、フローＦ３を出力とする変換を変換情報記憶部４６から検索し、変換Ｐ２の情報を取得する。解析部５４は、変換Ｐ２を経路グラフ６２の２番目の要素として記録するとともに、変換Ｐ２の情報を属性情報６４に記録する。次に解析部５４は、変換Ｐ２の入力であるフローＦ２をフロー情報記憶部４４から検索し、フローＦ２の情報を取得する。解析部５４は、フローＦ２を経路グラフ６２の３番目の要素として記録するとともに、フローＦ２の情報を属性情報６４に記録する。
【００４５】
次に解析部５４は、フローＦ２を出力とする変換を変換情報記憶部４６から検索し、変換Ｐ１の情報を取得する。解析部５４は、変換Ｐ１を経路グラフ６２の４番目の要素として記録するとともに、変換Ｐ１の情報を属性情報６４に記録する。次に解析部５４は、変換Ｐ１の入力であるフローＦ１をフロー情報記憶部４４から検索し、フローＦ１の情報を取得する。解析部５４は、フローＦ１を経路グラフ６２の５番目の要素として記録するとともに、フローＦ１の情報を属性情報６４に記録する。フローＦ１を出力とする変換は存在しないため、解析部５４は、フロー情報および変換情報の探索を終了し、図７に示す攻撃経路情報６０を経路情報記憶部５６に格納する。
【００４６】
異常対処部５８による異常対処処理の例を説明する。異常対処部５８は、経路情報記憶部５６に攻撃経路情報が格納された場合、言い換えれば、解析部５４により攻撃経路情報が生成された場合、以下に示す（１）から（４）の異常対処処理の１つまたは組み合わせを実行してもよい。
【００４７】
（１）異常対処部５８は、アラート受付部５２により受け付けられたアラート情報と、経路情報記憶部５６に格納された攻撃経路情報とを予め定められた外部装置（例えばサーバ１０２）へ送信してもよい。また、異常対処部５８は、攻撃経路情報が示す攻撃経路上の機器を脆弱性のある機器としてサーバ１０２へ通知してもよい。
【００４８】
（２）異常対処部５８は、攻撃経路情報が示す装置が備える防御機能を有効にしてもよい。攻撃経路情報が示す装置は、攻撃経路上（すなわち経路グラフ６２）に存在する装置であり、すなわち、アラート情報の要因となったパケットの伝送に関わる装置とも言える。例えば、異常対処部５８は、アラート情報が示すＣＡＮフレーム（ＣＡＮ−ＩＤ＝０ｘ１００）を処理するＧＷ−ＥＣＵ２４に対して、ＣＡＮフレーム（ＣＡＮ−ＩＤ＝０ｘ１００）をフィルタリングする（言い換えれば中継せず廃棄する）よう指示するコマンドを送信してもよい。また、異常対処部５８は、ＧＷ−ＥＣＵ２４に対して、ＣＡＮフレーム（ＣＡＮ−ＩＤ＝０ｘ１００）を無効化する（例えばエラーフレームを送信する）よう指示するコマンドを送信してもよい。
【００４９】
（３）異常対処部５８は、攻撃経路情報が示す装置に関するログを、アラート情報を受け付ける前よりも詳細に記録してもよい。例えば、分析ＥＣＵ２６は、車載システム１１の各装置において生成されたログを定常的に収集してサーバ１０２へ送信してもよい。異常対処部５８は、アラート情報が受け付けられた場合、攻撃経路上の装置に対してそれまでより詳細なログを生成するよう指示するコマンドを送信し、それまでより詳細なログをサーバ１０２へ送信してもよい。一方、異常対処部５８は、攻撃経路外の装置に対しては、それまでよりログ量を削減する（言い換えれば粒度が粗いログを生成する）よう指示するコマンドを送信することにより、サーバへ送信するログのデータ量を削減してもよい。
【００５０】
なお、分析ＥＣＵ２６は、車載システム１１の各装置から常時詳細なログを収集し、ログの内容をフィルタリングして（典型的には比較的重要な内容のみを残して）、フィルタリング後のログをサーバ１０２へ送信する構成であってもよい。異常対処部５８は、アラート情報が受け付けられた場合、攻撃経路上の装置のログについてはそれまでより詳細な内容を含むログをサーバ１０２へ送信してもよい。一方、異常対処部５８は、攻撃経路外の装置のログについてはそれまでより粗い内容のログ（すなわちデータ量を低減したログ）をサーバ１０２へ送信してもよい。
【００５１】
（４）異常対処部５８は、攻撃経路情報が示す攻撃経路上の１つ以上の装置のうち監視対象システム（すなわち車載システム１１）の外部に対するインタフェースとなる装置に応じて、攻撃の種類を識別してもよい。異常対処部５８は、識別した攻撃の種類を示す情報を所定の記憶部に格納してもよい。また、異常対処部５８は、アラート情報と攻撃の種類を示す情報とをサーバ１０２へ通知してもよい。監視対象システムの外部に対するインタフェースとなる装置は、アラート情報の要因となったパケットが監視対象システム内に流入する際に入口となった装置であり、ここでは「末端装置」と呼ぶ。図７に示した攻撃経路情報６０の場合、フローＦ１の入口であるＴＣＵ１２が末端装置として特定されてもよい。
【００５２】
末端装置が、ＴＣＵ１２等、キャリア網と接続される装置の場合、異常対処部５８は、攻撃の種類をリモート攻撃と識別してもよい。また、末端装置が、ＩＶＩ−ＥＣＵ１６等、ＷｉＦｉ（登録商標）やＢｌｕｅｔｏｏｔｈ（登録商標）等の近距離通信網と接続される装置の場合、異常対処部５８は、攻撃の種類を近接攻撃と識別してもよい。また、末端装置が、ＯＢＤ（On-Board Diagnostics）ポートやシリアル通信ポートを有する装置の場合、異常対処部５８は、攻撃の種類を物理アクセス攻撃と識別してもよい。
【００５３】
以上、本開示を実施例をもとに説明した。この実施例は例示であり、実施例の各構成要素あるいは各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本開示の範囲にあることは当業者に理解されるところである。
【００５４】
第１変形例を説明する。分析ＥＣＵ２６は、異常検出部をさらに備えてもよい。解析部５４は、アラート情報を受け付けない場合であっても、変換情報記憶部４６に記憶された変換情報が示す入出力に応じて、フロー情報記憶部４４に記憶された複数のフローを連結させた経路情報を生成する。この経路情報は、図７に示した攻撃経路情報６０に対応する内容（経路グラフ６２および属性情報６４）を含み、車載システム１１におけるパケットの伝送経路を示す情報である。
【００５５】
異常検出部は、解析部５４により生成された経路情報に応じて、車載システム１１における異常を検出する。具体的には、異常検出部は、予め定められた経路情報のホワイトリスト（正常な経路情報）と、ブラックリスト（異常な経路情報）の一方または両方を記憶する。異常検出部は、解析部５４により生成された経路情報が、ホワイトリストが示す経路情報に不一致であり、または、解析部５４により生成された経路情報が、ブラックリストが示す経路情報に一致する場合、車載システム１１においてパケットが伝送された経路が異常と判定する。
【００５６】
異常対処部５８は、異常検出部によりパケット伝送経路の異常が検出された場合、その異常の旨および異常が検出された経路情報をサーバ１０２へ通知してもよい。この変形例によると、監視ＥＣＵ２２により異常が未検出の場合でも、車載システム１１における意図されないパケットの伝送や、脆弱性のある機器を検出でき、車載システム１１の安全性を一層高めることができる。
【００５７】
第２変形例を説明する。フロー情報は分析ＥＣＵ２６の外部装置（車両１０内外の他装置であり、例えばサーバ１０２等）に記憶されてもよい。分析ＥＣＵ２６は、車載システム１１の各装置が処理するフローのＩＤを記憶し、そのＩＤをキーとして外部装置に記憶されたフロー情報を参照してもよい。同様に、変換情報は分析ＥＣＵ２６の外部装置に記憶されてもよい。分析ＥＣＵ２６は、車載システム１１の各装置が実行するフロー変換のＩＤを記憶し、そのＩＤをキーとして外部装置に記憶された変換情報を参照してもよい。すなわち、分析ＥＣＵ２６は、フロー情報やフロー変換情報を取得する際、フロー情報やフロー変換情報そのものを直接的に取得する構成に限らず、フロー情報のＩＤやフロー変換情報のＩＤを介して間接的に取得し、ＩＤ間の関連付けにより間接的に経路情報を生成する構成であってもよい。この場合、間接的な経路情報はＩＤを介して直接的な経路情報に変換できる。さらには、「第１フロー−フロー変換情報−第２フロー」の組み合わせを特定可能なＩＤを付与し、当該ＩＤに基づいて経路情報を出力可能とするような構成についても本発明の技術的範囲に含まれることは言うまでもない。
【００５８】
第３変形例を説明する。監視ＥＣＵ２２と分析ＥＣＵ２６の一方または両方の機能を、車載システム１１におけるセントラルゲートウェイ（例えばＧＷ−ＥＣＵ２４）が備える構成でもよい。
【００５９】
第４変形例を説明する。実施例において分析ＥＣＵ２６が実行した処理はクラウド側で実行されてもよい。例えば、実施例における分析ＥＣＵ２６の機能をサーバ１０２が備えてもよい。また、実施例において分析ＥＣＵ２６が実行した処理は、複数台の機器が連携することにより実現されてもよい。すなわち、実施例に記載の技術は、装置の物理的な位置に依存せず、車両１０内またはクラウドを含む様々な位置に設けられた１つ以上の機器が連携する分析システムに適用することができる。
【００６０】
上述した実施例および変形例の任意の組み合わせもまた本開示の実施の形態として有用である。組み合わせによって生じる新たな実施の形態は、組み合わされる実施例および変形例それぞれの効果をあわせもつ。また、請求項に記載の各構成要件が果たすべき機能は、実施例および変形例において示された各構成要素の単体もしくはそれらの連携によって実現されることも当業者には理解されるところである。
【００６１】
実施例および変形例に記載の技術は、以下の項目によって特定されてもよい。
［項目１］
監視対象システムにおいて伝送されるパケットをグループ化した第１のフローに関する情報および第２のフローに関する情報と、前記第１のフローを入力とし、前記第２のフローを出力とする変換に関する情報とを直接または間接的に取得する取得部と、
前記監視対象システムにおいて生成されたアラート情報であって、少なくとも１つのフローを特定可能な情報を含むアラート情報を受け付けるアラート受付部と、
前記アラート情報により前記第２のフローが特定された場合、前記変換に関する情報と、前記変換に関する情報において前記第２のフローと対応付けられた前記第１のフローに関する情報の少なくとも一方を含む経路情報を生成する生成部と、
を備える情報処理装置。
この情報処理装置によると、監視対象システムにおける異常発生に関する経路を特定し、その経路に応じて異常または攻撃に対する適切な対処を実行できるよう支援できる。
［項目２］
前記第１のフローに関する情報と、前記第２のフローに関する情報の少なくとも一方は、ＣＡＮ（Controller Area Network）フレームの送信元と宛先に関する情報を含む、
項目１に記載の情報処理装置。
この情報処理装置によると、ＣＡＮを含む監視対象システムにおける異常発生に関する経路を特定することができる。
［項目３］
前記生成部により生成された経路情報に応じて、異常に対処するための処理を実行する異常対処部をさらに備える、
項目１または２に記載の情報処理装置。
この情報処理装置によると、監視対象システムにおける異常発生に関する経路に応じて、異常または攻撃に対する適切な対処を実行することができる。
［項目４］
前記経路情報は、前記アラート情報が生成される要因となったパケットの伝送に関わる１つ以上の装置を示す情報を含み、
前記異常に対処するための処理は、前記経路情報が示す装置が備える防御機能を有効にする処理である、
項目３に記載の情報処理装置。
この情報処理装置によると、攻撃経路上の装置であり、言い換えれば、脆弱性がありうる装置の防御機能を有効にすることで、監視対象システムの安全性を一層高めることができる。
［項目５］
前記経路情報は、前記アラート情報が生成される要因となったパケットの伝送に関わる１つ以上の装置を示す情報を含み、
前記異常に対処するための処理は、前記経路情報が示す装置に関するログを、前記アラート情報を受け付ける前よりも詳細に記録する処理である、
項目３に記載の情報処理装置。
この情報処理装置によると、攻撃経路上の装置であり、言い換えれば、脆弱性がありうる装置に関するログを詳細に記録することにより、攻撃に関する分析を支援でき、また、適切な対処を実行できるよう支援できる。
［項目６］
前記経路情報は、前記アラート情報が生成される要因となったパケットの伝送に関わる１つ以上の装置を示す情報を含み、
前記異常に対処するための処理は、前記１つ以上の装置のうち前記監視対象システムの外部に対するインタフェースとなる装置に応じて、攻撃の種類を識別する処理である、
項目３に記載の情報処理装置。
この情報処理装置によると、攻撃の種類を識別することにより、攻撃に関する分析を支援でき、また、適切な対処を実行できるよう支援できる。
［項目７］
項目１から６のいずれか１項に記載の情報処理装置と、
前記第１のフローに関する情報および前記第２のフローに関する情報を記憶する第１記憶部と、
前記変換に関する情報を記憶する第２記憶部と、を備えた情報処理システム。
この情報処理システムによると、監視対象システムにおける異常発生に関する経路を特定し、その経路に応じて異常または攻撃に対する適切な対処を実行できるよう支援できる。
［項目８］
異常検出部をさらに備え、
前記第１記憶部は、前記監視対象システムを構成する装置から収集された複数のフローに関する情報を記憶し、
前記第２記憶部は、前記監視対象システムを構成する装置から収集された複数の変換に関する情報を記憶し、
前記生成部は、前記アラート情報を受け付けない場合であっても、前記第２記憶部に記憶された変換に関する情報が示す入出力に応じて複数のフローを連結させた経路情報を生成し、
前記異常検出部は、前記生成部により生成された経路情報に応じて、前記監視対象システムにおける異常を検出する、
項目７に記載の情報処理システム。
この情報処理システムによると、監視対象システムで異常が未検出であっても、監視対象システムにおける意図されないパケットの伝送や、脆弱性のある機器を検出でき、監視対象システムの安全性を一層高めることができる。
［項目９］
監視対象システムにおいて伝送されるパケットをグループ化した第１のフローに関する情報および第２のフローに関する情報と、
前記第１のフローを入力とし、前記第２のフローを出力とする変換に関する情報とを直接または間接的に取得し、
前記監視対象システムにおいて生成されたアラート情報であって、１つのフローを特定可能な情報を含むアラート情報を受け付け、
前記アラート情報により前記第２のフローが特定された場合、前記変換に関する情報と、前記変換に関する情報において前記第２のフローと対応付けられた前記第１のフローに関する情報の少なくとも一方を含む経路情報を生成する、
ことをコンピュータが実行する情報処理方法。
この情報処理方法によると、監視対象システムにおける異常発生に関する経路を特定し、その経路に応じて異常または攻撃に対する適切な対処を実行できるよう支援できる。
［項目１０］
監視対象システムにおいて伝送されるパケットをグループ化した第１のフローに関する情報および第２のフローに関する情報と、
前記第１のフローを入力とし、前記第２のフローを出力とする変換に関する情報とを直接または間接的に取得し、
前記監視対象システムにおいて生成されたアラート情報であって、１つのフローを特定可能な情報を含むアラート情報を受け付け、
前記アラート情報により前記第２のフローが特定された場合、前記変換に関する情報と、前記変換に関する情報において前記第２のフローと対応付けられた前記第１のフローに関する情報の少なくとも一方を含む経路情報を生成する、
ことをコンピュータに実行させるためのコンピュータプログラム。
このコンピュータプログラムによると、監視対象システムにおける異常発生に関する経路を特定し、その経路に応じて異常または攻撃に対する適切な対処を実行できるよう支援する処理をコンピュータに実行させることができる。
【符号の説明】
【００６２】
１０  車両、  １１  車載システム、  ２６  分析ＥＣＵ、  ４４  フロー情報記憶部、  ４６  変換情報記憶部、  ５２  アラート受付部、  ５４  解析部、  ５８  異常対処部。
【図１】
2020150430.tif 000003
【図２】
2020150430.tif 000004
【図３】
2020150430.tif 000005
【図４】
2020150430.tif 000006
【図５】
2020150430.tif 000007
【図６】
2020150430.tif 000008
【図７】
2020150430.tif 000009