(57)【要約】  １つ又は複数の機器のうちいずれかの機器が出力した第１のデータを、当該第１のデータに関連する第１のコンテキスト情報と対応付けて記憶部に格納する記憶処理部と、１つ又は複数の機器のうちいずれかの機器から第２のデータを受信した場合、当該第２のデータに関連する第２のコンテキスト情報を取得し、当該受信した第２のデータ及び当該取得した第２のコンテキスト情報と、前記記憶部に格納された第１のデータ及び第１のコンテキスト情報とに基づいて、当該受信した第２のデータの分析が必要であるか否かを判断する判断部とを有する。
2020075809.tif 000002
【特許請求の範囲】
【請求項１】
１つ又は複数の機器のうちいずれかの機器が出力した第１のデータを、当該第１のデータに関連する第１のコンテキスト情報と対応付けて記憶部に格納する記憶処理部と、
１つ又は複数の機器のうちいずれかの機器から第２のデータを受信した場合、当該第２のデータに関連する第２のコンテキスト情報を取得し、当該受信した第２のデータ及び当該取得した第２のコンテキスト情報と、前記記憶部に格納された第１のデータ及び第１のコンテキスト情報とに基づいて、当該受信した第２のデータの分析が必要であるか否かを判断する判断部と、
を有する情報処理装置。
【請求項２】
前記判断部は、
前記第２のデータと前記第１のデータとのデータ類似度を計算し、前記第２のコンテキスト情報と前記第１のコンテキスト情報とのコンテキスト類似度を計算し、
前記データ類似度及び前記コンテキスト類似度に基づいて決定されたラベルを、前記第２のデータ及び前記第２のコンテキスト情報に付与する、請求項１に記載の情報処理装置。
【請求項３】
前記判断部は、前記データ類似度が閾値を超えているという条件と、前記コンテキスト類似度が閾値を超えているという条件との双方が満たされる場合、当該受信した第２のデータの分析が必要ないと判断する、請求項２に記載の情報処理装置。
【請求項４】
前記判断部は、前記データ類似度が閾値を超えているという条件と、前記コンテキスト類似度が閾値を超えているという条件との一方が満たされる場合、前記第２のデータに類似するデータ又はコンテキスト情報が存在することを示すラベルを、前記第２のデータ及び前記第２のコンテキスト情報に付与する、請求項２に記載の情報処理装置。
【請求項５】
前記第２のコンテキスト情報の一部を補間する補間部を更に有する、請求項１乃至４のうちいずれか１項に記載の情報処理装置。
【請求項６】
前記第１のコンテキスト情報及び前記第２のコンテキスト情報は、機器の静的な状態を示す静的コンテキスト、機器の動的に変化する情報を示す動的コンテキスト、及び機器と外部接続機器との間の通信に関する情報を示す通信コンテキストのうち少なくとも１つを含む、請求項１乃至５のうちいずれか１項に記載の情報処理装置。
【請求項７】
情報処理装置が、
１つ又は複数の機器のうちいずれかの機器が出力した第１のデータを、当該第１のデータに関連する第１のコンテキスト情報と対応付けて記憶部に格納する記憶処理手順と、
１つ又は複数の機器のうちいずれかの機器から第２のデータを受信した場合、当該第２のデータに関連する第２のコンテキスト情報を取得し、当該受信した第２のデータ及び当該取得した第２のコンテキスト情報と、前記記憶部に格納された第１のデータ及び第１のコンテキスト情報とに基づいて、当該受信した第２のデータの分析が必要であるか否かを判断する判断手順と、
を実行するデータ分析方法。
【請求項８】
請求項１乃至６のうちいずれか１項に記載の各部として情報処理装置を機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、データ分析方法及びプログラムに関する。
【背景技術】
【０００２】
今後普及が見込まれるコネクテッドカー（外部ネットワークに接続する車両）においては、従来においてディーラーでの持ち込み作業であったＥＣＵ（Electronic Control Unit）のソフトウェアアップデートが無線で行われるなど、利便性の向上が期待されている。【０００３】
一方で、車両やその制御機器が外部ネットワークに繋がることにより、従来のＩＴ機器同様、悪意の有る攻撃者からのサイバー攻撃の対象となる懸念が指摘されている。実際に車両に搭載されたＥＣＵを、外部ネットワークからのアクセスによって不正に改竄し、車両制御を乗っ取ることが可能であったとする研究も報告されている。【０００４】
このような脅威に対して、様々な事前の対策技術が検討されているが、サイバー攻撃のリスクを完全に防ぐような対策手段というものは存在しない。したがって、万が一サイバー攻撃が発生した場合に対しても有効な事後の対策を考えておく必要がある。ＥＣＵを改竄することで車両の制御を乗っ取るような攻撃を考えた場合、車両での対策を取るためには、車載ネットワークで発生する通信を継続的に監視し、異常を検出する手法がある。しかしながら、一般に車載機器の計算リソースは潤沢ではない場合が多く、計算負荷の大きな異常検知手法は適用困難である場合が多い。【０００５】
そこで、車両の外部通信機器からＥＣＵまでの通信経路のログをクラウドで分析することによって、サイバー攻撃を判別する技術の検討が進んでいる（例えば、非特許文献１）。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】安齋潤、今本吉治"自動走行車向け侵入検知・防御システムに関する提案"、暗号と情報セキュリティシンポジウム SCIS 2018、Jan 23-26, 2018
【発明の概要】
【発明が解決しようとする課題】
【０００７】
車両に対するサイバー攻撃の発生は、異常事象が検知された母数から見れば圧倒的少数の事象であることが多い。すなわち、仮に異常事象の発生が検知されたとしても、その異常事象がサイバー攻撃に起因する異常事象であるかを分析するには、一般的に大量のログを分析する必要があり、時間や労力を要するという問題がある。【０００８】
なお、上記のような問題は、車両に限られず、ネットワークに接続される各種の機器について共通の課題であると考えられる。【０００９】
本発明は、上記の点に鑑みてなされたものであって、機器が出力したデータを分析するコストを低減することを目的する。
【課題を解決するための手段】
【００１０】
そこで上記課題を解決するため、情報処理装置は、１つ又は複数の機器のうちいずれかの機器が出力した第１のデータを、当該第１のデータに関連する第１のコンテキスト情報と対応付けて記憶部に格納する記憶処理部と、１つ又は複数の機器のうちいずれかの機器から第２のデータを受信した場合、当該第２のデータに関連する第２のコンテキスト情報を取得し、当該受信した第２のデータ及び当該取得した第２のコンテキスト情報と、前記記憶部に格納された第１のデータ及び第１のコンテキスト情報とに基づいて、当該受信した第２のデータの分析が必要であるか否かを判断する判断部とを有する。
【発明の効果】
【００１１】
機器が出力したデータを分析するコストを低減することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施の形態におけるシステム構成例を示す図である。
【図２】本発明の実施の形態における監視サーバ１０のハードウェア構成例を示す図である。
【図３】本発明の実施の形態における車両２０のハードウェア構成例を示す図である。
【図４】本発明の実施の形態における車両２０及び監視サーバ１０の機能構成例を示す図である。
【図５】ログの発生時における処理手順の一例を説明するためのフローチャートである。
【図６Ａ】ログの構成例を示す図である。
【図６Ｂ】ログの構成例を示す図である。
【図７】制御系ログＤＢ２７１の構成例を示す図である。
【図８】センサログＤＢ２７２の構成例を示す図である。
【図９】ログの受信時における処理手順の一例を説明するためのフローチャートである。
【図１０】コンテキスト情報ＤＢ１７３の構成例を示す図である。
【図１１】ステップＳ２０３〜Ｓ２０５の一例を説明するためのフローチャートである。
【発明を実施するための形態】
【００１３】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態におけるシステム構成例を示す図である。図１において、複数の車両２０は、インターネット等のネットワークＮ１を介して各種のサーバ（監視サーバ１０、サービス提供サーバ３０ａ、サービス提供サーバ３０ｂ等）に接続される自動車（コネクテッドカー）である。例えば、各車両２０は、移動体通信網等の無線ネットワークを介してネットワークＮ１に接続し、各種のサーバと通信する。
【００１４】
サービス提供サーバ３０ａ及びサービス提供サーバ３０ｂ等（以下、それぞれを区別しない場合「サービス提供サーバ３０」という。）は、車両２０に対して、又は車両２０から収集される情報に基づいて所定のサービスを提供する１以上のコンピュータである。例えば、サービス提供サーバ３０ａは、テレマティクスサービスを提供してもよい。また、サービス提供サーバ３０ｂは、各車両２０から収集されるデータに基づくサービスを提供してもよい。
【００１５】
監視サーバ１０は、車両２０から送信（アップロード）されるデータに基づいて、車両２０における異常の発生の検知や、異常の内容の解析等を行う１以上のコンピュータである。異常の一例として、車両２０に対するネットワークを介したサイバー攻撃等が挙げられる。
【００１６】
図２は、本発明の実施の形態における監視サーバ１０のハードウェア構成例を示す図である。図２において、監視サーバ１０は、それぞれバスＢで相互に接続されているドライブ装置１００、補助記憶装置１０２、メモリ装置１０３、ＣＰＵ１０４、及びインタフェース装置１０５等を有する。
【００１７】
監視サーバ１０での処理を実現するプログラムは、ＣＤ−ＲＯＭ等の記録媒体１０１によって提供される。プログラムを記憶した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００１８】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従って監視サーバ１０に係る機能を実行する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。
【００１９】
図３は、本発明の実施の形態における車両２０のハードウェア構成例を示す図である。図３において、車両２０は、通信装置２１０、情報系サブシステム２２０、制御系サブシステム２３０及び関門器２４０等を含む。
【００２０】
通信装置２１０は、ネットワークＮ１に接続するための通信モジュールや、他の車両２０又は道路上の機器等と通信するための通信モジュールや、スマートフォン等と無線ＬＡＮ又は近距離無線通信を介して接続するための通信モジュール等を含む。
【００２１】
情報系サブシステム２２０は、インストールされたプログラムに応じた情報処理を実行する部分であり、ＣＰＵ２２１、メモリ装置２２２、補助記憶装置２２３、表示装置２２４及び入力装置２２５等を含む。補助記憶装置２２３には、インストールされたプログラムや、当該プログラムによって利用される各種データが記憶される。メモリ装置２２２は、起動対象とされたプログラムを補助記憶装置２２３から読み出して格納する。ＣＰＵ２２１は、メモリ装置２２２に格納されたプログラムに従って情報系サブシステム２２０に係る機能を実行する。表示装置２２４はプログラムによるＧＵＩ（Graphical User Interface）等を表示する。入力装置２２５は、ボタン等やタッチパネル等の操作部品であり、様々な操作指示を入力させるために用いられる。なお、例えば、カーナビゲーション、カーオーディオのヘッドユニット等の車載機が情報系サブシステム２２０の一例である。
【００２２】
制御系サブシステム２３０は、車両２０の挙動を制御する部分であり、各種の制御のための複数のマイコン２３１等を含む。例えば、ＥＣＵ（Electronic Control Unit）がマイコン２３１の一例である。
【００２３】
関門器２４０は、情報系サブシステム２２０と制御系サブシステム２３０と接続するためのゲートウェイ（例えば、ＣＧＷ（Central Gateway））である。すなわち、情報系サブシステム２２０において扱われる通信プロトコルは、例えば、ＩＰプロトコルであり、制御系サブシステム２３０においてマイコン２３１間の通信に利用される通信プロトコルは、制御に特化した非ＩＰプロトコル（例えば、ＣＡＮ（Controller Area Network））である。したがって、これらの通信プロトコルの違いを吸収するための関門器２４０が設けられる。
【００２４】
なお、図３に示したハードウェア構成は、一例に過ぎない。後述の機能を実現可能であれば、車両２０のハードウェア構成は特定のものに限定されない。
【００２５】
図４は、本発明の実施の形態における車両２０及び監視サーバ１０の機能構成例を示す図である。図４において、車両２０の情報系サブシステム２２０は、制御系ログ取得部２５１、センサログ生成部２５２、異常判定部２５３、コンテキスト情報生成部２５４及びログ送信部２５５等を有する。これら各部は、情報系サブシステム２２０にインストールされた１以上のプログラムが、ＣＰＵ２２１に実行させる処理により実現される。情報系サブシステム２２０は、また、制御系ログＤＢ２７１、センサログＤＢ２７２及び検知アルゴリズムＤＢ２７３等のデータベース（記憶部）を有する。これら各データベース（記憶部）は、例えば、メモリ装置２２２又は補助記憶装置２２３等を用いて実現可能である。
【００２６】
制御系ログ取得部２５１は、制御系ログを取得し、制御系ログＤＢ２７１に保存（記憶）する。制御系ログとは、制御系サブシステム２３０における各マイコン２３１による通信に関するログデータをいう。通信内容のデータ自体が、制御系ログとされてもよい。したがって、制御系ログは、いずれかのマイコン２３１によって通信が行われるたびに発生する。なお、当該通信の内容は、例えば、車両２０の制御、オーディオ、カーナビのようなインフォメント系の情報、車両２０内のインジケータ表示等に関する通信等の内容を示すものである。
【００２７】
センサログ生成部２５２は、センサログを生成し、センサログＤＢ２７２に保存する。センサログとは、車両２０の各所に配置されているセンサ（例えば、加速度計やＧＰＳ（Global Positioning System）受信機等）から取得されるデータ（例えば、センサによる計測値等）を含むログデータをいう。各センサからのデータの取得及び、当該データに基づくセンサログの生成は、例えば、一定周期、又は特定のイベントの発生等のタイミングにおいて実行される。センサごとにセンサログの生成タイミングは異なっていてもよい。また、センサログが生成されるセンサは、車両２０が有する全センサのうちの一部でもよい。
【００２８】
異常判定部２５３は、制御系ログ及びセンサログ（以下、それぞれを区別しない場合、単に「ログ」という。）に基づいて、検知アルゴリズムＤＢ２７３に記憶されている検知アルゴリズムを用いて、異常の程度（レベル）を判定する。具体的には、異常判定部２５３は、車両２０から生成されるログの異常の程度を示す指標の値（以下、「異常スコア」という。）を計算する。但し、異常スコアの計算には、制御系ログのみが利用されてもよく、センサログのみが利用されてもよい。計算された異常スコアは制御系ログＤＢ２７１又はセンサログＤＢ２７２に保存される。
【００２９】
コンテキスト情報生成部２５４は、ログが取得又は生成されたときの車両２０の静的な状態、動的に変化する情報、通信に関する情報等の状況を示す、ログに関連する情報（以下、「コンテキスト情報」という。）を生成する。例えば、異常スコアが計算されたときに、コンテキスト情報生成部２５４は、ログが取得又は生成された時間における車両２０に関するコンテキスト情報を生成する。コンテキスト情報は、制御系ログＤＢ２７１又はセンサログＤＢ２７２に格納されたログに基づいて生成されてもよく、通信装置２１０から取得された情報に基づいて生成されてもよい。
【００３０】
ログ送信部２５５は、監視サーバ１０への送信（アップロード）のタイミング（以下「送信タイミング」という。）が到来したときに、制御系ログＤＢ２７１又はセンサログＤＢ２７２に記憶されているログに、コンテキスト情報を付与して監視サーバ１０へ送信する。
【００３１】
一方、監視サーバ１０は、ログ受信部１５１、コンテキスト情報補間部１５２、比較部１５３、ログ記憶処理部１５４及び分析結果受信部１５５等を有する。これら各部は、監視サーバ１０にインストールされた１以上のプログラムが、ＣＰＵ１０４に実行させる処理により実現される。監視サーバ１０は、また、制御系ログＤＢ１７１、センサログＤＢ１７２及びコンテキスト情報ＤＢ１７３等のデータベース（記憶部）を利用する。制御系ログＤＢ１７１、センサログＤＢ１７２及びコンテキスト情報ＤＢ１７３を併せてナレッジＤＢ１７４と呼ぶ。これら各データベース（記憶部）は、例えば、補助記憶装置１０２、又は監視サーバ１０にネットワークを介して接続可能な記憶装置等を用いて実現可能である。
【００３２】
ログ受信部１５１は、車両２０から送信（アップロード）されるログを受信する。ログ受信部１５１において受信したログは、監視サーバ１０において被疑事象として扱われる。被疑事象にはコンテキスト情報（以下、「被疑コンテキスト」という。）が付与されている。
【００３３】
コンテキスト情報補間部１５２は、被疑コンテキストに不足がある場合、不足しているコンテキスト情報を生成して被疑コンテキストを補間する。例えば、車両２０内の機器の種類やオプションの有無、車両２０内の機器の一部の故障等の理由によって、被疑コンテキストの不足又は誤りが生じる可能性がある。コンテキスト情報補間部１５２は、インタフェース装置１０５を介して外部から取得された情報に基づいて、不足しているコンテキスト情報を生成してもよく、監視サーバ１０のコンテキスト情報ＤＢ１７３に格納された他のコンテキスト情報に基づいて、不足しているコンテキスト情報を生成してもよい。
【００３４】
比較部１５３は、被疑事象及び被疑コンテキストと、ナレッジＤＢ１７４に保存されている過去の事象（以下、「既知事象」という。）及び過去のコンテキスト情報（以下、「既知コンテキスト」という。）とを比較し、被疑事象の分析が必要であるか否かを判断する。被疑事象及び被疑コンテキストと比較される既知事象及び既知コンテキストは、異なる車両に関するものでもよく、同じ車両に関するもの（異なる時間に得られたもの）でもよい。
【００３５】
例えば、比較部１５３は、制御系ログＤＢ１７１又はセンサログＤＢ１７２に保存されている任意の既知事象を抽出し、被疑事象と既知事象との類似度を計算する。さらに、比較部１５３は、コンテキスト情報ＤＢ１７３に保存されている任意の既知コンテキストを抽出し、被疑コンテキストと既知コンテキストとの類似度を計算する。これらの類似度に基づき、被疑事象及び被疑コンテキストの組に一致又は類似する既知事象及び既知コンテキストの組が存在する場合、比較部１５３は、既に分析が終了しているとみなし、被疑事象の分析が必要ないと判断する。一方、被疑事象及び被疑コンテキストの組に一致又は類似する既知事象及び既知コンテキストの組が存在しない場合、比較部１５３は、被疑事象の分析が必要であると判断する。被疑事象の分析が必要であると判断した場合であっても、被疑事象の分析が必要ないと判断した場合であっても、比較部１５３は、既知事象及び既知コンテキストとの比較結果と共に被疑事象及び被疑コンテキストを分析官等へ通知し、被疑事象の分析を要求してもよい。
【００３６】
ログ記憶処理部１５４は、被疑事象を制御系ログＤＢ１７１又はセンサログＤＢ１７２に記憶する。また、ログ記憶処理部１５４は、当該被疑事象の出力元のマイコン２３１又はセンサの識別情報、被疑コンテキスト情報等をコンテキスト情報ＤＢ１７３に記憶する。すなわち、ナレッジＤＢ１７４には、車両２０から送信されるログ及びコンテキスト情報が蓄積され、蓄積される情報には、サイバー攻撃により発生した事象の他に、機器の故障により発生した事象、利用者の誤操作により発生した事象、機器の誤検知により発生した事象等が含まれる。ログ記憶処理部１５４は、制御系ログＤＢ１７１、センサログＤＢ１７２及びコンテキスト情報ＤＢ１７３のレコードの中で、日時の古いレコードを削除してもよい。
【００３７】
分析結果受信部１５５は、比較部１５３からの要求に応じて分析官等により入力された分析結果を受信する。分析結果は、例えば、１（正常）又は２（異常）のいずれかを示すラベルである。２（異常）のラベルは、２−１（故障）、２−２（サイバー攻撃）、２−３（誤検知）に細分化されてもよく、故障やサイバー攻撃の内容に応じて更に細分化したラベル（例えば、２−１−ｉ、２−２−ｉ等）が用いられてもよい。分析結果は、ログ記憶処理部１５４からコンテキスト情報ＤＢ１７３に登録される。
【００３８】
なお、図４では、異常スコアの計算及びコンテキスト情報の生成が車両２０において行われる例について説明したが、異常スコアの計算又はコンテキスト情報の生成は監視サーバ１０において行われてもよい。また、異常スコア又はコンテキスト情報は分析官等によって手動で入力されてもよい。
【００３９】
異常スコアの計算が監視サーバ１０において行われる場合、ログ送信部２５５は、送信タイミングが到来したときに、ログを監視サーバ１０へ送信する。監視サーバ１０の異常判定部（図示せず）は、車両２０の異常判定部２５３と同様に異常スコアを計算し、異常スコアを制御系ログＤＢ１７１又はセンサログＤＢ１７２に保存する。
【００４０】
コンテキスト情報の生成が監視サーバ１０において行われる場合、監視サーバ１０のコンテキスト情報補間部１５２は、車両２０のコンテキスト情報生成部２５４と同様にコンテキスト情報を生成し、コンテキスト情報をコンテキスト情報ＤＢ１７３に記憶する。コンテキスト情報は、監視サーバ１０の制御系ログＤＢ１７１又はセンサログＤＢ１７２に格納されたログに基づいて生成されてもよく、インタフェース装置１０５を介して取得された情報に基づいて生成されてもよい。
【００４１】
以下、車両２０の情報系サブシステム２２０が実行する処理手順について説明する。図５は、ログの発生時における処理手順の一例を説明するためのフローチャートである。
【００４２】
制御系ログ取得部２５１による制御系ログの取得、又はセンサログ生成部２５２によるセンサログの生成等により、制御系ログＤＢ２７１又はセンサログＤＢ２７２にいずれかのログ（以下「対象ログ」という。）が保存される（Ｓ１０１）。
【００４３】
図６Ａ及び図６Ｂは、ログの構成例を示す図である。図６Ａは、制御系ログの一例を示す。制御系ログは、日時、車両ＩＤ及び要素ＩＤと、Ｄａｔａ［０］、Ｄａｔａ［１］、Ｄａｔａ［２］、Ｄａｔａ［３］、Ｄａｔａ［４］、・・・等（以下、「Ｄａｔａ［］」という。）とを含む。日時は、制御系ログが取得された日時（当該制御系ログに係る通信が行われた日時）である。車両ＩＤは、車両２０の識別情報である。要素ＩＤは、車両２０の構成要素の識別情報である。制御系ログにおける要素ＩＤは、当該制御系ログに係る通信を行ったマイコン２３１の識別情報である。Ｄａｔａ［］は、当該通信に含まれているデータである。例えば、当該通信がエンジンの制御に関する通信であれば、エンジンの制御に関する各パラメータの値が、各Ｄａｔａ［］の値となる。但し、エンジンの制御に関する各パラメータの値のみならず、チェックサムやカウンタ等のデータが、Ｄａｔａ［］に含まれてもよい。
【００４４】
一方、図６Ｂは、センサログの一例を示す。センサログは、日時、車両ＩＤ及び要素ＩＤと、当該センサログに係るセンサに特有のデータとを含む。日時は、センサログが生成された日時である。車両ＩＤは、車両２０の識別情報である。要素ＩＤは、当該センサログに係るデータの出力元のセンサの識別情報である。また、図６Ｂにおけるセンサログは、加速度センサから取得されたデータに基づくセンサログであるため、加速度センサに特有のデータとして、Ａｃｃ＿Ｘ、Ａｃｃ＿Ｙ及びＡｃｃ＿Ｚを含む。Ａｃｃ＿Ｘ、Ａｃｃ＿Ｙ及びＡｃｃ＿Ｚは、それぞれ、Ｘ軸方向の加速度、Ｙ軸方向の加速度、Ｚ軸方向の加速度である。
【００４５】
図７は、制御系ログＤＢ２７１の構成例を示す図である。図７に示されるように、制御系ログＤＢ２７１の各レコードは、図６Ａに示した各項目と、異常スコアとを含む。このうち、ステップＳ１０１の時点において、異常スコアの値は空である。異常スコアの値は、ステップＳ１０２において決定されるからである。
【００４６】
図８は、センサログＤＢ２７２の構成例を示す図である。図８に示されるように、センサログＤＢ２７２の各レコードは、図６Ｂに示した各項目と、異常スコアとを含む。このうち、ステップＳ１０１の時点において、異常スコアの値は、制御系ログＤＢ２７１と同様の理由で空である。なお、センサログの形式は、センサごとに異なる。例えば、ＧＰＳ受信機のセンサログであれば、緯度及び経度等が含まれる。したがって、センサログＤＢ２７２には、センサごと（要素ＩＤごと）に区別されて異なるテーブルにセンサログが記憶されてもよい。
【００４７】
異常判定部２５３は、対象ログについての異常スコアを判定（計算）し、制御系ログＤＢ２７１又はセンサログＤＢ２７２に保存する（Ｓ１０２）。異常スコアの判定は、一定周期で行われてもよく、特定の値を含むログの発生に応じて行われてもよく、異常の判定に必要な一定量のログが保存されるごとに行われてもよい。
【００４８】
対象ログについての異常スコアの判定（計算）は、公知技術を用いて行うことができる。例えば、マイコン２３１間の通信間隔や、マイコン２３１が出力したデータ値に基づいて異常スコアが判定されてもよい。また、例えば、ログを入力とし、異常スコアを出力とする学習済みのモデル（例えば、ニューラルネットワーク）に対し、対象ログを入力することで、異常スコアが判定されてもよい。異常スコアは、異常の有無を示す０又は１であってもよいし、異常の程度を最小値（例えば、０）から最大値（例えば、１）の範囲で示す値であってもよい。また、異常スコアの判定は、制御系ログ及びセンサログの双方を用いて行われなくてよい。例えば、制御系ログ及びセンサログのいずれか一方のみが用いられて異常スコアの判定が行われてもよい。
【００４９】
コンテキスト情報生成部２５４は、異常判定部２５３において異常スコアが判定されたときに、対象ログについてのコンテキスト情報を生成する（Ｓ１０３）。
【００５０】
コンテキスト情報生成部２５４は、車両２０の静的な状態を示す静的コンテキスト、車両２０の動的に変化する情報を示す動的コンテキスト、車両２０と外部接続機器との間の通信に関する情報を示す通信コンテキスト等を生成する。
【００５１】
静的コンテキストの例は、機種、型式、年式、製造年月日、出荷年月日、機体番号、代理店等の販売事業者、機器内ソフトウェア情報（ＲＯＭデータやバージョン情報等）等である。動的コンテキストの例は、現在地、移動経路、天候（気温、天気、風速等）、使用者（運転者、搭乗者等）、外部接続機器、消耗品（バッテリー、ガソリン、潤滑油等）の残量、センサ情報（温度、物体感知、角度、回転数等）、アクチュエータ情報（角度、回転数等）等である。通信コンテキストの例は、外部接続機器との通信時刻、通信時間帯、通信内容、通信による車両状態の変化等である。なお、これらのコンテキスト情報の分類は単なる便宜上のものであり、例えば、車両２０のソフトウェアが更新される可能性がある場合には、機器内ソフトウェア情報が動的コンテキストに分類されてもよい。また、上記のコンテキスト情報の任意の組み合わせが用いられてもよく、他のコンテキスト情報が用いられてもよい。
【００５２】
例えば、スマートフォンや外部のサーバ等から通信装置２１０を介して天候、気温等の情報が取得できる場合、コンテキスト情報生成部２５４は、気象環境を表す動的コンテキストを生成する。例えば、コンテキスト情報生成部２５４は、センサログＤＢ２７２に保存されているＧＰＳ受信機のセンサログから、車両２０の場所を表す動的コンテキストを生成する。例えば、コンテキスト情報生成部２５４は、センサログＤＢ２７２に保存されているＧＰＳ受信機のセンサログと、制御系ログＤＢ２７１に保存されている車速の制御系ログとを用いて、車両２０の速度及び加速度を表す動的コンテキストを生成する。動的コンテキスト及び通信コンテキストは瞬間値として生成されてもよく、或る期間内の連続値又は離散値として生成されてもよい。例えば、或る時刻における外部接続機器を示す通信コンテキストや、或る時刻における運転者を示す動的コンテキストは、瞬間値として生成される。例えば、或る期間における移動経路を示す動的コンテキストや、或る期間における通信による車両状態の変化を示す通信コンテキストは、連続値又は離散値として生成される。
【００５３】
ログ送信部２５５は、送信タイミングが到来したときに、対象ログに、コンテキスト情報を付与して監視サーバ１０へ送信する（Ｓ１０４）。
【００５４】
なお、異常スコアの判定（Ｓ１０２）及びコンテキスト情報の生成（Ｓ１０３）は、監視サーバ１０が対象ログを受信した後に監視サーバ１０が実行してもよい。
【００５５】
以下、監視サーバ１０が実行する処理手順について説明する。図９は、ログの受信時における処理手順の一例を説明するためのフローチャートである。
【００５６】
ログ受信部１５１は、対象ログ（被疑事象）をコンテキスト情報（被疑コンテキスト）と共に受信する（Ｓ２０１）。
【００５７】
コンテキスト情報補間部１５２は、被疑コンテキストの不足を検出した場合、コンテキスト情報を補間する（Ｓ２０２）。例えば、車両２０の現在地が不足している場合、当該車両２０とＶ２Ｖ（Vehicle-to-Vehicle）によって通信している他の車両を特定し、他の車両の現在地をコンテキスト情報ＤＢ１７３から抽出してコンテキスト情報を補間してもよく、Ｖ２Ｉ（Vehicle-to-Infrastructure）によって通信している外部の機器等から車両２０の現在地を推測し、コンテキスト情報を補間してもよい。なお、コンテキスト情報補間部１５２は、被疑コンテキストと外部の機器等から得られたコンテキスト情報の不一致又は矛盾を検出した場合、被疑事象の分析を他の分析器又は分析官等へ要求してもよい。コンテキスト情報の不一致又は矛盾は、故障又はサイバー攻撃に起因する可能性があるからである。
【００５８】
比較部１５３は、制御系ログＤＢ１７１又はセンサログＤＢ１７２に保存されている任意の既知事象を抽出する。制御系ログＤＢ１７１及びセンサログＤＢ１７２は、それぞれ図７及び図８と同様に構成されている。比較部１５３は、被疑事象と既知事象との類似度を計算し、被疑事象との類似度が閾値を超える既知事象を抽出する。同様に、比較部１５３は、コンテキスト情報ＤＢ１７３に保存されている任意の被疑コンテキストを抽出し、被疑コンテキストと既知コンテキストとの類似度を計算し、被疑コンテキストとの類似度が閾値を超える既知コンテキストを抽出する（Ｓ２０３）。
【００５９】
図１０は、コンテキスト情報ＤＢ１７３の構成例を示す図である。図１０に示されるように、コンテキスト情報ＤＢ１７３の各レコードは、制御系ログＤＢ１７１又はセンサログＤＢ１７２の中の日時、車両ＩＤ及び要素ＩＤに加えて、コンテキスト情報及びラベルを含む。コンテキスト情報には、ログ受信部１５１が受信して必要に応じてコンテキスト情報補間部１５２が補間したコンテキスト情報が保存される。分析結果を示すラベルは、分析官等による分析において決定される。車両ＩＤ及び要素ＩＤの組み合わせによって、被疑事象の出力元の車両２０及びマイコン２３１又はセンサが識別できる。なお、コンテキスト情報ＤＢ１７３のレコードと、制御系ログＤＢ１７１又はセンサログＤＢ１７２のレコードとの対応関係は、日時と車両ＩＤと要素ＩＤとの組によって識別されてもよく、制御系ログＤＢ１７１又はセンサログＤＢ１７２のレコードを示すログＩＤをコンテキスト情報ＤＢ１７３に追加することによって識別されてもよい。
【００６０】
比較部１５３における類似する既知事象又は既知コンテキストの抽出は、公知技術を用いて行うことができる。例えば、マハラノビス距離の測定、ｋ−近傍法等のパターンマッチング方法が利用されてもよい。また、被疑コンテキストと既知コンテキストとの類似度の計算において、コンテキスト情報に応じた重みが適用されてもよい。
【００６１】
比較部１５３における類似度の計算において、比較対象の抽象化が行われてもよい。これは、被疑事象に一致又は類似する既知事象が存在しない状況や、被疑コンテキストに一致又は類似する既知コンテキストが存在しない状況を低減するためである。抽象化の方法はコンテキスト情報に応じて予め決められる。温度のコンテキスト情報を例に挙げて説明する。例えば、外気温が３０℃でエンジン内温度が１４０℃であるときに発生した被疑事象である場合、まず、温度が一致する既知コンテキストをコンテキスト情報ＤＢ１７３から抽出する。温度が一致する既知コンテキストがコンテキスト情報ＤＢ１７３に存在しない場合、外気温が２５℃以上３５℃以下でエンジン内温度が１３０℃以上である既知コンテキスト、外気温とエンジン内温度との差が１１０℃以上である既知コンテキスト、単位時間内に外気温が０．１％未満上昇したのに対してエンジン内温度が５０％以上上昇した既知コンテキスト等の被疑コンテキストの抽象化を行い、抽象化された被疑コンテキストに一致する既知コンテキストをコンテキスト情報ＤＢ１７３から抽出する。このように、比較対象の粒度を次第に粗くして類似する既知事象及び既知コンテキストを抽出してもよい。抽象化の粒度は、類似度に反映されてもよい。抽象化が行われていない場合には、類似度に１の係数が乗算されてもよい。例えば、粒度が細かい抽象化が行われた場合には、類似度に０．８の係数が乗算されてもよく、粒度が粗い抽象化が行われた場合には、類似度に０．５の係数が乗算されてもよい。なお、温度に関する抽象化を行っても類似するコンテキスト情報が見つからない場合、温度のコンテキスト情報を無視して他のコンテキスト情報との類似度が計算されてもよい。所定数以上のコンテキスト情報が一致又は類似する場合には、コンテキスト情報が類似すると判断されてもよい。
【００６２】
類似する既知事象又は既知コンテキストが抽出された場合、比較部１５３は、コンテキスト情報ＤＢ１７３に登録されている既知事象又は既知コンテキストのラベルを被疑事象及び被疑コンテキストに付与する（Ｓ２０４）。なお、事象とコンテキスト情報の双方が一致する場合、確定的なラベルが付与されてもよい。事象が一致するがコンテキスト情報が一致しない場合、又はコンテキスト情報が一致するが事象が一致しない場合には、暫定的なラベルが付与されてもよい。
【００６３】
比較部１５３は、被疑事象及び被疑コンテキストに対して行われた比較結果を出力する（Ｓ２０５）。具体的には、比較部１５３は、被疑事象をログ記憶処理部１５４から制御系ログＤＢ１７１又はセンサログＤＢ１７２に保存し、被疑コンテキストをログ記憶処理部１５４からコンテキスト情報ＤＢ１７３に保存する。さらに比較部１５３は、被疑事象及び被疑コンテキストの分析を他の分析器又は分析官等に要求するための分析要求を生成する。確定的なラベルが付与されている場合、比較部１５３は、被疑事象の分析は不要であると判断し、確定的なラベルをログ記憶処理部１５４からコンテキスト情報ＤＢ１７３に保存してもよい。
【００６４】
他の分析器又は分析官等は、分析要求に応じて被疑事象及び被疑コンテキストを分析し、分析結果としてのラベル（異常、故障、サイバー攻撃、誤検知等）を決定する。ログにコンテキスト情報が付与されているため、サイバー攻撃等の大規模な異常（複数の車両２０に跨る異常）の発生の可能性の有無も判定できる。斯かる異常の発生の可分析方法は、所定の方法に限定されない。例えば、学習済みのモデル（ニューラルネットワーク等）に基づいて行われてもよいし、他の公知技術を用いて行われてもよい。また、異常の発生の可能性の有無の判定には、自動車会社のＣＥＲＴ（Computer Emergency Response Team）、別の企業が有するＳＯＣ（Security Operation Center）、セキュリティベンダからの発表等の情報が利用されてもよい。分析結果受信部１５５は、他の分析器又は分析官等により決定されたラベルを受信し、ログ記憶処理部１５４は、受信したラベルをコンテキスト情報ＤＢ１７３の該当レコードに登録する。
【００６５】
以下、ステップＳ２０３〜Ｓ２０５について更に詳細に説明する。図１１は、ステップＳ２０３〜Ｓ２０５の一例を説明するためのフローチャートである。図１１は、ログ受信部１５１が被疑事象及び被疑コンテキストを受信する毎に、比較部１５３が実施する処理である。
【００６６】
比較部１５３は、ログ受信部１５１において受信した被疑事象及び被疑コンテキストを取得し（Ｓ３０１）、ナレッジＤＢ１７４から１つ又は複数の既知事象（以下、「既知事象群」という。）及び１つ又は複数の既知コンテキスト（以下、「既知コンテキスト群」という。）を取得する（Ｓ３０２）。
【００６７】
比較部１５３は、被疑事象と既知事象群との類似度を計算する（Ｓ３０３）。類似度が閾値を超える既知事象が存在する場合（Ｓ３０４：Ｙｅｓ）、当該既知事象についてコンテキスト情報ＤＢ１７３に登録されているラベルを被疑事象に暫定的に付与する（Ｓ３０５）。類似する複数の既知事象が存在する場合、類似度の最も高い既知事象のラベルが付与されてもよく、当該複数の既知事象のラベルが同じである場合又は当該複数の既知事象の中で同じラベルを有する既知事象の割合が閾値以上である場合、当該ラベルが付与されてもよい。
【００６８】
同様に、比較部１５３は、被疑コンテキストと既知コンテキスト群との類似度を計算する（Ｓ３０６）。類似度が閾値を超える既知コンテキストが存在する場合（Ｓ３０７：Ｙｅｓ）、当該既知コンテキストについてコンテキスト情報ＤＢ１７３に登録されているラベルを取得する。類似する複数の既知コンテキストが存在する場合、類似度の最も高い既知コンテキストのラベルが付与されてもよく、当該複数の既知コンテキストのラベルが同じである場合又は当該複数の既知コンテキストの中で同じラベルを有する既知コンテキストの割合が閾値以上である場合、当該ラベルが付与されてもよい。
【００６９】
被疑事象に暫定的に付与されたラベルが類似する既知コンテキストのラベルと一致する場合（Ｓ３０８：Ｙｅｓ）、比較部１５３は、被疑事象に付与されたラベルを確定ラベルに設定する（Ｓ３０９）。さらに、被疑コンテキストにも、確定ラベルを付与する（Ｓ３１０）。この場合、被疑事象に付与されるラベルと、被疑コンテキストに付与されるラベルは同じである。すなわち、被疑事象に付与されるラベルと、被疑コンテキストに付与されるラベルが同じであることが、確定ラベルであることを意味する。
【００７０】
比較部１５３は、確定ラベルが付与された被疑事象及び被疑コンテキストを含む比較結果を生成する（Ｓ３１１）。比較結果には、既知事象との類似度、既知コンテキストとの類似度等の情報が含まれてもよい。比較結果は、他の分析器又は分析官等の分析が必要ないとして、確定ラベルがコンテキスト情報ＤＢ１７３に登録されてもよい。また、比較結果は、他の分析器又は分析官等に通知され、分析結果受信部１５５が他の分析器又は分析官等により入力されたラベルを受け取ったときに、当該ラベルをコンテキスト情報ＤＢ１７３に登録してもよい。
【００７１】
一方、類似度が閾値を超える既知コンテキストが存在しない場合（Ｓ３０７：Ｎｏ）又は被疑事象に暫定的に付与されたラベルが類似する既知コンテキストのラベルと一致しない場合（Ｓ３０８：Ｎｏ）、比較部１５３は、暫定的にラベルが付与された被疑事象及び被疑コンテキストを含む比較結果を生成する（Ｓ３１２）。この場合、ラベルは被疑事象に暫定的に付与されるが、被疑コンテキストには付与されない。すなわち、被疑事象のみにラベルが付与されていることが、暫定ラベルであることを意味する。比較結果には、既知事象との類似度、既知コンテキストとの類似度等の情報が含まれてもよい。比較結果は、他の分析器又は分析官等の分析を要求するために、他の分析器又は分析官等に通知される。分析結果受信部１５５が他の分析器又は分析官等により入力されたラベルを受け取ったときに、当該ラベルをコンテキスト情報ＤＢ１７３に登録してもよい。
【００７２】
類似度が閾値を超える既知事象が存在しない場合（Ｓ３０４：Ｎｏ）、比較部１５３は、被疑コンテキストと既知コンテキスト群との類似度を計算する（Ｓ３１３）。類似度が閾値を超える既知コンテキストが存在する場合（Ｓ３１４：Ｙｅｓ）、当該既知コンテキストについてコンテキスト情報ＤＢ１７３に登録されているラベルを取得し、当該ラベルを被疑コンテキストに暫定的に付与する（Ｓ３１５）。類似する複数の既知コンテキストが存在する場合、類似度の最も高い既知コンテキストのラベルが付与されてもよく、当該複数の既知コンテキストのラベルが同じである場合又は当該複数の既知コンテキストの中で同じラベルを有する既知コンテキストの割合が閾値以上である場合、当該ラベルが付与されてもよい。
【００７３】
比較部１５３は、暫定的にラベルが付与された被疑事象及び被疑コンテキストを含む比較結果を生成する（Ｓ３１６）。この場合、ラベルは被疑コンテキストに暫定的に付与されるが、被疑事象には付与されない。すなわち、被疑コンテキストのみにラベルが付与されていることが、暫定ラベルであることを意味する。比較結果には、既知事象との類似度、既知コンテキストとの類似度等の情報が含まれてもよい。比較結果は、他の分析器又は分析官等の分析を要求するために、他の分析器又は分析官等に通知される。分析結果受信部１５５が他の分析器又は分析官等により入力されたラベルを受け取ったときに、当該ラベルをコンテキスト情報ＤＢ１７３に登録してもよい。
【００７４】
一方、類似度が閾値を超える既知コンテキストが存在しない場合（Ｓ３１４：Ｎｏ）、比較部１５３は、ラベルが付与されていない被疑事象及び被疑コンテキストを含む比較結果を生成する（Ｓ３１７）。この場合、ラベルが被疑事象にも被疑コンテキストにも付与されない。すなわち、ラベルが付与されていないことが、未知の事象であることを意味する。比較結果には、既知事象との類似度、既知コンテキストとの類似度等の情報が含まれてもよい。比較結果は、他の分析器又は分析官等の分析を要求するために、他の分析器又は分析官等に通知される。分析結果受信部１５５が他の分析器又は分析官等により入力されたラベルを受け取ったときに、当該ラベルをコンテキスト情報ＤＢ１７３に登録してもよい。
【００７５】
なお、上記のフローチャートでは、被疑事象と既知事象との類似度を計算した後に、被疑コンテキストと既知コンテキストとの類似度を計算しているが、これらの類似度の計算の順序は限定されるものではなく、逆の順序で行われてもよく、同時に行われてもよい。
【００７６】
このように、本実施の形態では、分析が必要な被疑事象及び被疑コンテキストを絞ることができるため、分析に要するコストを削減できる。また、分析結果をデータベースに反映することで、同様の分析が複数回行われる状況を回避できる。
【００７７】
なお、本実施の形態では、車両２０を機器の一例として説明したが、通信機能を有する他の機器について本実施の形態が適用されてもよい。例えば、工場におけるロボット等の産業用制御機器、各地に配置されたセンサ、オーディオ機器、家電製品、通信端末（スマートフォン、タブレット端末等）や、一般的にＩｏＴ（Internet of Things）機器と呼ばれる機器について、本実施の形態が適用されてもよい。
【００７８】
上述したように、本実施の形態によれば、車両２０において発生するデータ（ログ）に対してコンテキスト情報が付与されて監視サーバ１０へ送信される。監視サーバ１０は、送信されたログ及びコンテキスト情報を紐付けてナレッジＤＢ１７４に保存し、ナレッジＤＢ１７４に格納された既知事象及び既知コンテキストを参照して、分析官等が分析すべきログの量を減少させることができる。
【００７９】
また、監視サーバ１０は、分析官等が分析すべきログに、既知事象及び既知コンテキストとの類似度に基づいたラベルを付与することで、分析官等の分析を支援することができる。
【００８０】
また、監視サーバ１０は、コンテキスト情報の補間、比較対象を抽象化した類似判定等により、類似する既知事象又は既知コンテキストが存在しない状況を低減できる。
【００８１】
なお、本実施の形態において、車両２０は、機器の一例である。監視サーバ１０は、情報処理装置の一例である。ログ受信部１５１及びログ記憶処理部１５４は、記憶処理部の一例である。比較部１５３は、判断部の一例である。コンテキスト情報補間部１５２は、補間部の一例である。
【００８２】
以上、本発明の実施の形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００８３】
本国際出願は２０１８年１０月１１日に出願した日本国特許出願２０１８−１９２４１６号に基づく優先権を主張するものであり、２０１８−１９２４１６号の全内容を本国際出願に援用する。
【符号の説明】
【００８４】
１０          監視サーバ
２０          車両
３０ａ        サービス提供サーバ
３０ｂ        サービス提供サーバ
１００        ドライブ装置
１０１        記録媒体
１０２        補助記憶装置
１０３        メモリ装置
１０４        ＣＰＵ
１０５        インタフェース装置
１５１        ログ受信部
１５２        コンテキスト情報補間部
１５３        比較部
１５４        ログ記憶処理部
１５５        分析結果受信部
１７１        制御系ログＤＢ
１７２        センサログＤＢ
１７３        コンテキスト情報ＤＢ
１７４        ナレッジＤＢ
２１０        通信装置
２２１        ＣＰＵ
２２２        メモリ装置
２２３        補助記憶装置
２２４        表示装置
２２５        入力装置
２２０        情報系サブシステム
２３０        制御系サブシステム
２３１        マイコン
２４０        関門器
２５１        制御系ログ取得部
２５２        センサログ生成部
２５３        異常判定部
２５４        コンテキスト情報生成部
２５５        ログ送信部
２７１        制御系ログＤＢ
２７２        センサログＤＢ
２７３        検知アルゴリズムＤＢ
Ｂ            バス
【図１】
2020075809.tif 000003
【図２】
2020075809.tif 000004
【図３】
2020075809.tif 000005
【図４】
2020075809.tif 000006
【図５】
2020075809.tif 000007
【図６Ａ】
2020075809.tif 000008
【図６Ｂ】
2020075809.tif 000009
【図７】
2020075809.tif 000010
【図８】
2020075809.tif 000011
【図９】
2020075809.tif 000012
【図１０】
2020075809.tif 000013
【図１１】
2020075809.tif 000014
【国際調査報告】
2020075809.tif 000015
2020075809.tif 000016
2020075809.tif 000017
2020075809.tif 000018