(57)【要約】  分析装置は、ネットワークに接続された複数の機器のそれぞれから送信されるログデータを前記ネットワークを介して受信する受信部と、前記機器ごとに、当該機器から送信されたログデータに基づいて、当該機器において発生している事象が複数の種別のいずれであるかを判定する判定部と、前記判定部による判定結果が同じ種別である複数の事象に係る複数の機器のそれぞれのログデータの比較に基づいて、当該複数の機器に跨る事象の発生を検知する検知部と、を有することで、複数の機器に跨って発生している事象の発生を検知可能とする。
2020075800.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続された複数の機器のそれぞれから送信されるログデータを前記ネットワークを介して受信する受信部と、
前記機器ごとに、当該機器から送信されたログデータに基づいて、当該機器において発生している事象が複数の種別のいずれであるかを判定する判定部と、
前記判定部による判定結果が同じ種別である複数の事象に係る複数の機器のそれぞれのログデータの比較に基づいて、当該複数の機器に跨る事象の発生を検知する検知部と、
を有することを特徴とする分析装置。
【請求項２】
前記判定部は、前記機器において異常が検知された際のログデータに基づいて、当該機器において発生している事象が複数の種別のいずれであるかを判定する、
ことを特徴とする請求項１記載の分析装置。
【請求項３】
前記判定部は、前記機器において発生している事象が前記異常の誤検知であるかを判定する、
ことを特徴とする請求項２記載の分析装置。
【請求項４】
前記判定部は、前記機器において発生している前記機器の事象が故障であるかを判定する、
ことを特徴とする請求項１乃至３いずれか一項記載の分析装置。
【請求項５】
前記判定部は、前記機器において発生している事象がサイバー攻撃であるかを判定する、
ことを特徴とする請求項１乃至４いずれか一項記載の分析装置。
【請求項６】
複数の機器と、前記複数の機器にネットワークを介して接続される分析装置とを含む分析システムであって、
前記分析装置は、
前記複数の機器のそれぞれから送信されるログデータを前記ネットワークを介して受信する受信部と、
前記機器ごとに、当該機器から送信されたログデータに基づいて、当該機器において発生している事象が複数の種別のいずれであるかを判定する判定部と、
前記判定部による判定結果が同じ種別である複数の事象に係る複数の機器のそれぞれのログデータの比較に基づいて、当該複数の機器に跨る事象の発生を検知する検知部と、
を有し、
前記機器は、
当該機器において発生する外部通信に関するログデータ及び制御系通信に関するログデータを一括で管理する接続情報管理部と、
当該機器内のアプリケーション及びＯＳの動作に関するログデータを一括で管理する機能実施管理部と、
当該機器において発生している事象の種別の判定を行わずに、前記ログデータに基づいて前記複数の種別を含む異常を検知する異常判定部と、
前記ログデータを前記分析装置へ送信するログ送信部と、
を有する、
ことを特徴とする分析システム。
【請求項７】
ネットワークに接続された複数の機器のそれぞれから送信されるログデータを前記ネットワークを介して受信する受信手順と、
前記機器ごとに、当該機器から送信されたログデータに基づいて、当該機器において発生している事象が複数の種別のいずれであるかを判定する判定手順と、
前記判定手順における判定結果が同じ種別である複数の事象に係る複数の機器のそれぞれのログデータの比較に基づいて、当該複数の機器に跨る事象の発生を検知する検知手順と、
をコンピュータが実行することを特徴とする分析方法。
【請求項８】
請求項１乃至５いずれか一項記載の各部としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分析装置、分析システム、分析方法及びプログラムに関する。
【背景技術】
【０００２】
従来、ＩｏＴ（Internet of Things）デバイスやロボット等の産業機械を制御するＩｏＴデバイスの制御機器、又はそれらの接続を管理するネットワーク機器（以下、これらを総称して単に「機器」という。）上に搭載され、サイバー攻撃を検知する監視・検知ソフトウェアや監視・検知アプライアンスが有る。また、これらの機器が検知したサイバー攻撃の検知ログはセンタ上に配置された分析サーバにアップロードされる。【０００３】
監視・検知ソフトウェアや監視・検知アプライアンスは、機器から取得される通信ログやシステムログを監視し、サイバー攻撃を検知する。また、センタは、サイバー攻撃の検知ログについて詳細に分析を行い、攻撃手段等のサイバー攻撃の詳細な内容の把握を行う。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】"ITシステムや制御システム、IoTなど多様な環境におけるセキュリティインシデントの解決を世界規模で支援する統合セキュリティオペレーションセンターを開設"、［online］、インターネット＜URL：https://www.hitachi-systems.com/news/2017/20171031_01.html＞
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、各機器からのログを個別に分析するだけでは、検知することが困難な事象が有る。例えば、個別の分析では、複数の機器に跨って発生している事象（例えば、大規模なサイバー攻撃等）の発生を検知するのは困難である。【０００６】
本発明は、上記の点に鑑みてなされたものであって、複数の機器に跨って発生している事象の発生を検知可能とすることを目的とする。
【課題を解決するための手段】
【０００７】
そこで上記課題を解決するため、分析装置は、ネットワークに接続された複数の機器のそれぞれから送信されるログデータを前記ネットワークを介して受信する受信部と、前記機器ごとに、当該機器から送信されたログデータに基づいて、当該機器において発生している事象が複数の種別のいずれであるかを判定する判定部と、前記判定部による判定結果が同じ種別である複数の事象に係る複数の機器のそれぞれのログデータの比較に基づいて、当該複数の機器に跨る事象の発生を検知する検知部と、を有する。
【発明の効果】
【０００８】
複数の機器に跨って発生している事象の発生を検知可能とすることができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態におけるシステム構成例を示す図である。
【図２】本発明の実施の形態における監視サーバ１０のハードウェア構成例を示す図である。
【図３】本発明の実施の形態における車両２０のハードウェア構成例を示す図である。
【図４】本発明の実施の形態における車両２０及び監視サーバ１０の機能構成例を示す図である。
【図５】監視サーバ１０が実行する処理手順の一例を説明するためのフローチャートである。
【発明を実施するための形態】
【００１０】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態におけるシステム構成例を示す図である。図１において、複数の車両２０は、インターネット等のネットワークＮ１を介して各種のサーバ（監視サーバ１０、自動車会社公式サーバ３０ａ、サービス提供サーバ３０ｂ等）に接続される自動車（コネクテッドカー）である。例えば、各車両２０は、移動体通信網等の無線ネットワークを介してネットワークＮ１に接続し、各種のサーバと通信する。
【００１１】
自動車会社公式サーバ３０ａは、車両２０の自動車会社が運営する、車両２０（コネクテッドカー）の管理及び自動車会社の公式のサービスの提供をネットワークＮ１を介して行う１以上のコンピュータである。例えば、自動車会社公式サーバ３０ａは、テレマティクスサービスを提供してもよい。
【００１２】
サービス提供サーバ３０ｂは、サードパーティが運営する、車両２０の利便性を高めるための各種のサービスを車両２０の利用者に対して提供する１以上のコンピュータである。
【００１３】
監視サーバ１０は、車両２０から送信（アップロード）されるデータに基づいて、複数の車両２０に跨る事象の発生の検知等を行う１以上のコンピュータである。
【００１４】
図２は、本発明の実施の形態における監視サーバ１０のハードウェア構成例を示す図である。図２において、監視サーバ１０は、それぞれバスＢで相互に接続されているドライブ装置１００、補助記憶装置１０２、メモリ装置１０３、ＣＰＵ１０４、及びインタフェース装置１０５等を有する。
【００１５】
監視サーバ１０での処理を実現するプログラムは、ＣＤ−ＲＯＭ等の記録媒体１０１によって提供される。プログラムを記憶した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００１６】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従って監視サーバ１０に係る機能を実行する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。
【００１７】
図３は、本発明の実施の形態における車両２０のハードウェア構成例を示す図である。図３において、車両２０は、通信装置２１０、情報系サブシステム２２０、制御系サブシステム２３０及び関門器２４０等を含む。
【００１８】
通信装置２１０は、ネットワークＮ１に接続するための通信モジュールや、他の車両２０又は道路上の機器等と通信するための通信モジュールや、スマートフォン等と無線ＬＡＮ又は近距離無線通信を介して接続するための通信モジュール等を含む。
【００１９】
情報系サブシステム２２０は、インストールされたプログラムに応じた情報処理を実行する部分であり、ＣＰＵ２２１、メモリ装置２２２、補助記憶装置２２３、表示装置２２４及び入力装置２２５等を含む。補助記憶装置２２３には、インストールされたプログラムや、当該プログラムによって利用される各種データが記憶される。メモリ装置２２２は、起動対象とされたプログラムを補助記憶装置２２３から読み出して格納する。ＣＰＵ２２１は、メモリ装置２２２に格納されたプログラムに従って情報系サブシステム２２０に係る機能を実行する。表示装置２２４はプログラムによるＧＵＩ（Graphical User Interface）等を表示する。入力装置２２５は、ボタン等やタッチパネル等の操作部品であり、様々な操作指示を入力させるために用いられる。なお、例えば、カーナビゲーション、カーオーディオのヘッドユニット等の車載機が情報系サブシステム２２０の一例である。
【００２０】
制御系サブシステム２３０は、車両２０の挙動を制御する部分であり、各種の制御のための複数のマイコン２３１等を含む。例えば、ＥＣＵ（Electronic Control Unit）がマイコン２３１の一例である。
【００２１】
関門器２４０は、情報系サブシステム２２０と制御系サブシステム２３０と接続するためのゲートウェイ（例えば、ＣＧＷ（Central Gateway））である。すなわち、情報系サブシステム２２０において扱われる通信プロトコルは、例えば、ＩＰプロトコルであり、制御系サブシステム２３０においてマイコン２３１間の通信に利用される通信プロトコルは、制御に特化した非ＩＰプロトコル（例えば、ＣＡＮ（Controller Area Network））である。したがって、これらの通信プロトコルの違いを吸収するための関門器２４０が設けられる。
【００２２】
なお、図４に示したハードウェア構成は、一例に過ぎない。後述の機能を実現可能であれば、車両２０のハードウェア構成は特定のものに限定されない。
【００２３】
図４は、本発明の実施の形態における車両２０及び監視サーバ１０の機能構成例を示す図である。図４において、車両２０の情報系サブシステム２２０は、接続情報管理部２５１、管理機能実施部２５２、サービス機能実施部２５３、機能実施管理部２５４、異常判定部２５５及びログ送信部２５６等を有する。これら各部は、情報系サブシステム２２０にインストールされた１以上のプログラムが、ＣＰＵ２２１に実行させる処理により実現される。情報系サブシステム２２０は、また、ログＤＢ２６１及び検知ＤＢ２６２等のデータベース（記憶部）を有する。これら各データベース（記憶部）は、例えば、メモリ装置２２２又は補助記憶装置２２３等を用いて実現可能である。
【００２４】
管理機能実施部２５２は、インターネット等を経由して、車両２０を管理する自動車会社公式サーバ３０ａにアクセスすることで、例えば、タブレット・スマートフォン等のリモートアクセス端末を用いた車両２０の遠隔操作やソフトウェアの更新等を行うための処理を実行する。
【００２５】
サービス機能実施部２５３及び管理機能実施部２５２は、外部ネットワーク（車両２０外のネットワーク）介してそれぞれの機能を実現する。サービス機能実施部２５３は、インターネット等を経由して、自動車会社公式サーバ３０ａを介さずにサービス提供サーバ３０ｂにアクセスすることで、サービス提供サーバ３０ｂが提供するサービスを利用するアプリケーション群である。例えば、動画配信サービス等が当該サービスの一例として挙げられる。この場合、サービス機能実施部２５３は、動画のダウンロード及び再生等を行う。
【００２６】
サービス機能実施部２５３から車両２０の制御に関与する管理機能実施部２５２へのアクセスを実行することが出来ないが、サービス機能実施部２５３と管理機能実施部２５２とは同一のＯＳ（Operating System）によって実現されている。このため、サービス機能実施部２５３のアプリケーションや当該ＯＳの脆弱性を狙った攻撃を行い、管理機能実施部２５２を経由して不正に機器を制御する脅威が想定される。
【００２７】
接続情報管理部２５１は、外部通信ログ及び制御系通信ログ（以下、それぞれを区別しない場合「通信ログ」という。）等のログデータを逐次的に（通信のたびに）収集し、収集したログデータをログＤＢ２６１に記憶することで、通信ログを一括で管理する。
【００２８】
外部通信ログは、ＩＰ通信のような、管理機能実施部２５２又はサービス機能実施部２５３と外部ネットワークとの通信ログ、Ｗｉ−Ｆｉ（登録商標）やＢｌｕｔｏｏｔｈ（登録商標）接続などによる無線通信ログ、ＵＳＢ等の物理デバイスの接続による通信ログ等を含む。
【００２９】
制御系通信ログは、制御系サブシステム２３０のマイコン２３１間でＣＡＮ（Controller Area Network）等のプロトコルによって送受信される非ＩＰ系の通信ログをいう。
【００３０】
例えば、通信ログは、車両ＩＤ、タイムスタンプ（日時情報）、接続元情報（車両２０を構成するサブシステム）、外部接続先情報（自動車会社公式サーバ３０ａ又はサービス提供サーバ３０ｂ等の外部サーバ、近接無線で接続する機器、ＵＳＢ等の物理的に接続する機器）、及び実行命令を含む要求や応答の情報から構成される。又は、通信ログは、通信内容（ヘッダ情報を含む通信データ）に対して、日時情報（タイムスタンプ）が付与されたデータでもよい。なお、車両ＩＤとは、車両２０の識別情報である。
【００３１】
機能実施管理部２５４は、システムログ、アプリケーションログ、センサログ、エラーログ等を逐次的に収集し、収集したログをログＤＢ２６１に記憶することで、これらのログを一括で管理する。システムログ及びアプリケーションログは、情報系サブシステム２２０を構成するＯＳやＯＳ上で動作するアプリケーションの動作等に関するログデータをいう。したがって、サービス機能実施部２５３や管理機能実施部２５２によって実行される、通信以外の処理に関する情報を含むログデータもシステムログ又はアプリケーションログに含まれる。センサログは、車両２０のＧＰＳ（Global Positioning System）受信機によって測定される車両２０の位置情報（緯度、経度）や、車両２０の速度、車両２０の加速度等、車両２０に搭載されている各種のセンサによって計測される値を含むログデータをいう。エラーログは、制御系サブシステム２３０を構成するマイコン２３１が出力するエラー（異常）に関する情報を含むログデータをいう。
【００３２】
なお、システムログ及びアプリケーションログは、例えば、車両ＩＤ、タイムスタンプ、車両２０内の情報系サブシステム２２０を構成するＯＳやアプリケーションのプロセスに関する情報、アクション（生成、削除、変更等のオブジェクトに対する操作）に関する情報、オブジェクト（ファイル、通信、（子）プロセス）に関する情報等を含む。また、センサログは、車両ＩＤ、タイムスタンプ、及びセンサによる計測値等を含む。また、エラーログは、例えば、車両ＩＤ、タイムスタンプ及びエラーコード等を含む。
【００３３】
ログＤＢ２６１には、上記した各種のログが時系列に記憶される。
【００３４】
異常判定部２５５は、ログＤＢ２６１に記憶されたログデータ（外部通信ログ、制御系通信ログ、システムログ、アプリケーションログ、センサログ、エラーログ）に基づいて、車両２０における異常の発生の有無を判定する。但し、車両２０のリソースは限られているため、異常判定部２５５は、何らかの異常の発生を検知した場合、異常の検知結果を示すログ（以下、「検知ログ」という。）を生成し、当該検知ログを検知ＤＢ２６２に記憶する。なお、ログデータに基づく異常の有無の判定（計算）は、公知技術を用いて行うことができる。例えば、ログデータを入力とし、異常スコアを出力とする、所定の学習済みの異常検知学習モデル（例えば、ニューラルネットワーク）に対し、各ログデータを入力することで、異常スコアが判定されてもよい。異常スコアは、異常の有無を示す０又は１であってもよいし、異常の程度を最小値（例えば、「０」）から最大値（例えば、「１」）の範囲で示す値であってもよい。この場合、異常スコアが閾値を超えた場合に、異常が発生したと判定されてもよい。なお、このように、異常判定部２５５は、何らかの異常の有無を判定するにとどまり、異常の原因がサイバー攻撃である等、異常の詳細についての分析は行わない。
【００３５】
ログ送信部２５６は、ログＤＢ２６１又は検知ＤＢ２６２に記憶されたログデータを監視サーバ１０に送信する。ログデータの送信タイミングは、各ログデータがログＤＢ２６１又は検知ＤＢ２６２に記憶されるたびに（すなわち、リアルタイムで）行われてもよいし、一定周期でバッチ的に行われてもよい。又は、検知ＤＢ２６２に検知ログが記憶された際に、当該検知ログと、ログＤＢ２６１に記憶されたログデータのうち、当該検知ログに係る異常の検知に用いられたログデータのみが送信されてもよい。
【００３６】
一方、監視サーバ１０は、ログ受信部１１及び分析部１２等を有する。これら各部は、監視サーバ１０にインストールされた１以上のプログラムが、ＣＰＵ１０４に実行させる処理により実現される。監視サーバ１０は、また、統合ログＤＢ１２１、故障判定ＤＢ１２２、攻撃判定ＤＢ１２３及び誤検知判定ＤＢ１２４等のデータベースを利用する。これら各データベースは、例えば、補助記憶装置１０２、又は監視サーバ１０にネットワークを介して接続可能な記憶装置等を用いて実現可能である。
【００３７】
ログ受信部１１は、各車両２０のログ送信部２５６から送信されるログデータを受信し、受信したログデータを統合ログＤＢ１２１に記憶する。統合ログＤＢ１２１には、車両ＩＤ別にログデータが記憶されてもよい。
【００３８】
分析部１２は、統合ログＤＢ１２１に記憶されているログデータを相関させた分析を行って、複数の車両２０に跨った事象の発生を検知する。具体的には、分析部１２は、各車両２０から送信されるログデータに基づいて、各車両２０において発生している事象を、事象に関する複数の種別（本実施の形態では、故障、サイバー攻撃、異常の誤検知、それ以外）のいずれであるかを判定する（いずれかに分類する）。故障であるとの判定結果は、故障判定ＤＢ１２２に記憶される。サイバー攻撃であるとの判定結果は、攻撃判定ＤＢ１２３に記憶される。誤検知であるとの判定結果は、誤検知判定ＤＢ１２４に記憶される。
【００３９】
分析部１２は、更に、同じ種別に分類された複数の事象に係る複数の車両２０のそれぞれのログデータの比較に基づいて、当該複数の車両２０に跨る事象の発生を検知する。なお、監視サーバ１０が有する計算リソースは、各車両２０が個々に有する計算リソースに比べて潤沢（大規模）である。したがって、分析部１２が監視サーバ１０に配備されることにより、分析部１２は、潤沢な計算リソースを用いて処理を実行することができる。
【００４０】
以下、監視サーバ１０が実行する処理手順について説明する。図５は、監視サーバ１０が実行する処理手順の一例を説明するためのフローチャートである。なお、図５の処理手順は、複数の車両２０について並列的に実行されうる。
【００４１】
ログ受信部１１は、或る車両２０（以下、「対象車両２０」という。）のログ送信部２５６から送信（アップロード）されたログデータ群（以下、「対象ログ群」という。）を受信すると（Ｓ１０１でＹｅｓ）、対象ログ群を統合ログＤＢ１２１に記憶する（Ｓ１０２）。
【００４２】
続いて、分析部１２は、対象ログ群における検知ログの有無に基づいて、対象車両２０に関する異常の有無を判定する（Ｓ１０３）。なお、本実施の形態では、異常判定部２５５によって異常が検知された場合にのみ検知ログが生成される例を説明するが、異常判定部２５５が、異常を検知しない場合にも、異常を検知しなかったことを示す検知ログを生成する場合には、分析部１２は、検知ログを参照して、異常の有無を判定すればよい。
【００４３】
対象ログ群に検知ログが含まれていない場合（又は対象ログ群に含まれている検知ログが異常を検知しないことを示す場合）（Ｓ１０３でＮｏ）、ステップＳ１０１に戻る。対象ログ群に検知ログが含まれている場合（又は対象ログ群に含まれている検知ログが異常を検知したことを示す場合）（Ｓ１０３でＹｅｓ）、分析部１２は、対象車両２０の故障の可能性の有無を判定する（Ｓ１０４）。故障の可能性の有無は、対象ログ群にエラーログが含まれているか否かによって行われてもよい。又は、検知ログと車両ＩＤが共通し、当該検知ログのタイムスタンプの日時以前の所定の期間内の日時を示すタイムスタンプを含むエラーログが統合ログＤＢ１２１に記憶されているか否かに基づいて、故障の可能性の有無が判定されてもよい。すなわち、分析部１２は、該当するエラーログが有る場合、故障の可能性が有ると判定し、該当するエラーログが無い場合、故障の可能性は無いと判定する。
【００４４】
分析部１２は、故障の可能性が有ると判定すると（すなわち、対象車両２０で発生した事象を故障に分類すると）（Ｓ１０４でＹｅｓ）、故障であるという判定結果（以下、「故障判定結果」という。）を故障判定ＤＢ１２２に記憶する（Ｓ１０５）。故障判定結果には、対象車両２０の車両ＩＤ、現時点のタイムスタンプ、及び対象ログ群等が含まれる。
【００４５】
続いて、分析部１２は、対象車両２０と型式及び年式が同じで、対象車両２０の現在位置の付近（例えば、半径Ｎｋｍ以内等）を走行中の他の車両２０に関する故障判定結果群を故障判定ＤＢ１２２から検索する（Ｓ１０６）。本実施の形態において各車両２０の型式及び年式は、車両ＩＤに含まれていることとする。したがって、対象車両２０と型式及び年式が同じである他の車両２０の故障判定結果群（以下、「故障判定結果群Ａ」という。）は、対象車両２０の車両ＩＤの型式及び年式部分と、故障判定ＤＢ１２２に記憶されている各故障判定結果の車両ＩＤの型式及び年式部分とを比較することで特定可能である。
【００４６】
また、対象車両２０の現在位置は、対象ログ群に含まれている最新のセンサログの位置情報に基づいて特定可能である。また、各故障判定結果に係る車両２０の位置は、当該故障判定結果に含まれる最新のセンサログの位置情報に基づいて特定可能である。したがって、対象車両２０と型式及び年式が同じで、対象車両２０の現在位置の付近を走行中の他の車両２０に関する故障判定結果群は、故障判定結果群Ａのうち、対象車両２０の故障判定結果のタイムスタンプとの差が閾値以内のタイムスタンプに係る故障判定結果であって、センサログが示す位置情報の位置と、対象車両２０の故障判定結果のセンサログが示す位置情報位置との差がＮｋｍ以内である故障判定結果の集合（以下、「故障判定結果群Ｂ」という。）である。
【００４７】
続いて、分析部１２は、故障判定結果群Ｂに含まれる故障判定結果の数が閾値ａ以上であるか否かを判定する（Ｓ１０７）。なお、ステップＳ１０７では、故障判定結果群Ａに含まれる故障判定結果の数が閾値ａ以上であるか否かが判定されてもよい。すなわち、対象車両２０との位置関係は考慮されないようにしてもよい。
【００４８】
該当する故障判定結果の数が閾値ａ未満である場合（Ｓ１０７でＮｏ）、ステップＳ１０１へ戻る。この場合、対象車両２０の故障は、個別の事象として扱われる。
【００４９】
該当する故障判定結果の数が閾値ａ以上である場合（Ｓ１０７Ｙｅｓ）、分析部１２は、該当する各故障判定結果と、対象車両２０の故障判定結果とを比較し（Ｓ１０８）、該当する各故障判定結果の中で、対象車両２０の故障判定結果と傾向が類似している故障判定結果の数が閾値ｂ以上であるか否かを判定する（Ｓ１０９）。すなわち、複数の車両２０に関する故障判定結果について、複数の車両２０のログを参照し比較する分析が行われる。例えば、該当する各故障判定結果に含まれる各種のログデータと、対象車両２０の故障判定結果に含まれる各種のログデータとが比較されてもよい。比較対象のログデータは、エラーログ及び制御系通信ログに限定されてもよい。類似しているか否かは、複数のパラメータの類似度を計算する公知の方法を用いて行われてもよい。又は、対象車両２０の故障判定結果に含まれるシステムログ又は制御系通信ログと、比較対象の故障判定結果に含まれるシステムログ又は制御系通信ログとの双方において、通常発生しない異常パターンが観測されるか否かに基づいて、双方の類似性が評価されてもよい。
【００５０】
該当する故障判定結果が閾値ｂ未満である場合（Ｓ１０９でＮｏ）、ステップＳ１０１へ戻る。この場合、対象車両２０の故障は、個別の事象として扱われる。
【００５１】
該当する故障判定結果の数が閾値ｂ以上である場合（Ｓ１０９Ｙｅｓ）、分析部１２は、ロット単位での故障が発生していることを検知する（Ｓ１１０）。ロット単位での故障とは、例えば、型式及び年式が共通する車両２０における故障をいう。すなわち、ロット単位での複数の車両２０に跨って同じ故障が発生していることが検知される。この場合、分析部１２は、対象車両２０の型式及び年式等を含む、ロット単位での故障の可能性の検知を示す通知を、例えば、自動車会社公式サーバ３０ａ等に送信してもよい。自動車会社は、当該通知に基づき、当該故障の対象の車両２０について、物理的な部品の交換等を実施してもよい。
【００５２】
又は、ステップＳ１０４において、故障の可能性が無いと判定した場合（Ｓ１０４でＮｏ）、分析部１２は、サイバー攻撃の可能性の有無を判定する（Ｓ１１１）。サイバー攻撃の可能性の有無は、例えば、対象ログ群のうち、外部通信ログを参照することで行われてもよい。一例として、分析部１２は、外部通信ログの外部接続先情報が示す接続先の悪性度を分析する。悪性度の分析は、監視サーバ１０が保有するブラックリストとの照会によって行われてもよいし、不正なリダイレクトによる悪性サイトへの接続をＨＴＴＰ通信の遷移に着目し、機械学習を用いて悪性Ｗｅｂサイトへの接続を検知することで行われてもよいし、公知の他の技術を用いて行われてもよい。更に、分析部１２は、接続先の悪性度が高い場合に、接続元である情報系サブシステム２２０のシステムログやアプリケーションログ等が、所定のパターンに合致するか否か等に基づいて、サイバー攻撃の有無を判定してもよい。
【００５３】
分析部１２は、サイバー攻撃の可能性が有ると判定すると（すなわち、対象車両２０で発生した事象をサイバー攻撃に分類すると）（Ｓ１１１でＹｅｓ）、サイバー攻撃であるという判定結果（以下、「攻撃判定結果」という。）を攻撃判定ＤＢ１２３に記憶する（Ｓ１１２）。攻撃判定結果には、対象車両２０の車両ＩＤ、現時点のタイムスタンプ、及び対象ログ群等が含まれる。
【００５４】
続いて、分析部１２は、対象車両２０と型式及び年式が同じで、対象車両２０の現在位置の付近（例えば、半径Ｎｋｍ以内等）を走行中の他の車両２０に関する攻撃判定結果群を攻撃判定ＤＢ１２３から検索する（Ｓ１１３）。該当する攻撃判定結果群の特定方法は、ステップＳ１０６と同様でよい。
【００５５】
該当する攻撃判定結果の数が閾値ｃ未満である場合（Ｓ１１４でＮｏ）、ステップＳ１０１へ戻る。この場合、対象車両２０に対するサイバー攻撃は、個別の事象として扱われる。
【００５６】
該当する攻撃判定結果の数が閾値ｃ以上である場合（Ｓ１１４Ｙｅｓ）、分析部１２は、該当する各攻撃判定結果と、対象車両２０の攻撃判定結果とを比較し（Ｓ１１５）、該当する各攻撃判定結果の中で、対象車両２０の攻撃判定結果と傾向が類似している攻撃判定結果の数が閾値ｄ以上であるか否かを判定する（Ｓ１１６）。すなわち、複数の車両２０に関する攻撃判定結果について、複数の車両２０のログを参照し比較する分析が行われる。例えば、該当する各攻撃判定結果に含まれる各種のログデータと、対象車両２０の攻撃判定結果に含まれる各種のログデータとが比較されてもよい。類似しているか否かは、複数のパラメータの類似度を計算する公知の方法を用いて行われてもよい。又は、対象車両２０の攻撃判定結果に含まれるシステムログと比較対象の攻撃判定結果に含まれるシステムログとの双方において、通常発生しない異常パターン（例えば、システム内ファイル構成のサーチや権限昇格等に繋がるシェルコマンドの実行等）が観測されるか否か、対象車両２０の攻撃判定結果に含まれる外部通信ログと比較対象の攻撃判定結果に含まれる外部通信ログとの双方において、通常発生しない通信の異常パターン（例えば、ｉｎｃｏｍｉｎｇ等）の多発が観測されるか否か、対象車両２０の攻撃判定結果に含まれる制御系通信ログと比較対象の攻撃判定結果に含まれる制御系通信ログとの双方において、通常発生しない制御系通信の異常パターン（例えば、送信タイミング、ペイロード値等）が観測されるか否かに基づいて、攻撃判定結果の類似性が判定されてもよい。すなわち、上記したいずれかの異常パターンが双方において観測される場合に、当該双方は類似していると判定されてもよい。
【００５７】
該当する攻撃判定結果が閾値ｄ未満である場合（Ｓ１１６でＮｏ）、ステップＳ１０１へ戻る。この場合、対象車両２０の攻撃は、個別の事象として扱われる。
【００５８】
該当する攻撃判定結果の数が閾値ｄ以上である場合（Ｓ１１６Ｙｅｓ）、分析部１２は、大規模の（複数台の車両２０に跨る）サイバー攻撃の発生を検知する（Ｓ１１７）。この場合、分析部１２は、対象車両２０の攻撃判定結果、当該攻撃判定結果と類似すると判定された攻撃判定結果、及び悪性度が高いと判定した接続先を示す情報等を含む、大規模なサイバー攻撃の可能性の検知を示す通知を、例えば、自動車会社公式サーバ３０ａ等に送信してもよい。自動車会社公式サーバ３０ａは、当該通知に応じ、当該通知に含まれる攻撃判定結果に係る車両ＩＤによって特定される各車両２０の外部通信を遮断したり、当該接続先への外部通信を遮断したりすることで、サイバー攻撃の拡大を迅速に抑止してもよい。
【００５９】
又は、ステップＳ１１１において、サイバー攻撃の可能性が無いと判定した場合（Ｓ１１１でＮｏ）、分析部１２は、誤検知の可能性の有無を判定する（Ｓ１１８）。誤検知とは、対象車両２０の異常判定部２５５による異常の判定の誤りをいう。誤検知の可能性の有無は、例えば、対象ログ群のうち、検知ログ及び制御系通信ログを参照することで行われてもよい。一例として、分析部１２は、過去に誤検知と判定された制御系通信ログ（すなわち、誤検知であることが既知である制御系通信ログ）から抽出される特徴情報と、対象ログ群における制御系通信ログから抽出される特徴情報を比較して、同様の通信間隔のパターンや値の遷移が見られるかに基づいて、誤検知の可能性の有無を判定してもよい。なお、「過去に誤検知と判定された」とは、例えば、過去において人手等によって調査した結果、誤検知であったことが判明したことをいう。
【００６０】
分析部１２は、誤検知の可能性が有ると判定すると（すなわち、対象車両２０で発生した事象を誤検知に分類すると）（Ｓ１１８でＹｅｓ）、誤検知であるという判定結果（以下、「誤検知判定結果」という。）を誤検知判定ＤＢ１２４に記憶する（Ｓ１１９）。誤検知判定結果には、対象車両２０の車両ＩＤ、現時点のタイムスタンプ、及び対象ログ群等が含まれる。
【００６１】
続いて、分析部１２は、対象車両２０と型式及び年式が同じで、対象車両２０の現在位置の付近（例えば、半径Ｎｋｍ以内等）を走行中の他の車両２０に関する誤検知判定結果群を誤検知判定ＤＢ１２４から検索する（Ｓ１２０）。該当する誤検知判定結果群の特定方法は、ステップＳ１０６と同様でよい。
【００６２】
該当する誤検知判定結果の数が閾値ｅ未満である場合（Ｓ１２１でＮｏ）、ステップＳ１０１へ戻る。この場合、対象車両２０に対する誤検知は、個別の事象として扱われる。
【００６３】
該当する誤検知判定結果の数が閾値ｅ以上である場合（Ｓ１２１Ｙｅｓ）、分析部１２は、該当する各誤検知判定結果と、対象車両２０の誤検知判定結果とを比較し（Ｓ１２２）、該当する各誤検知判定結果の中で、対象車両２０の誤検知判定結果と傾向が類似している誤検知判定結果の数が閾値ｆ以上であるか否かを判定する（Ｓ１２３）。すなわち、複数の車両２０に関する誤検知判定結果について、複数の車両２０のログを参照し比較する分析が行われる。例えば、該当する各誤検知判定結果に含まれる各種のログデータと、対象車両２０の誤検知判定結果に含まれる各種のログデータとが比較されてもよい。類似しているか否かは、複数のパラメータの類似度を計算する公知の方法を用いて行われてもよい。又は、対象車両２０の誤検知判定結果に含まれる制御系通信ログが示す制御系通信のパターン（例えば、通信間隔や通信データの遷移等）と、比較対象の誤検知判定結果に含まれる制御系通信ログが示す制御系通信のパターン（例えば、通信間隔や通信データの遷移等）とが比較され、その類似性が評価されてもよい（例えば、公知の方法で類似度が算出されてもよい）。制御系通信のパターンの類似度が閾値以上である比較対象に係る誤検知判定結果が、対象車両２０の誤検知判定結果と傾向が類似している誤検知判定結果として判定されてもよい。
【００６４】
該当する誤検知判定結果が閾値ｆ未満である場合（Ｓ１２３でＮｏ）、ステップＳ１０１へ戻る。この場合、対象車両２０の誤検知は、個別の事象として扱われる。そうすることで、例えば、電磁波等の影響により制御系通信に異常が発生し、あるエリアでのみ誤検知が発生している場合には、該当する誤検知判定結果の数が閾値ｆ未満である可能性が高くなるため、異常検知学習モデルの不備であると判定されることを回避することができる。
【００６５】
該当する誤検知判定結果の数が閾値ｆ以上である場合（Ｓ１２３Ｙｅｓ）、分析部１２は、複数の車両２０について、異常判定部２５５が利用する異常検知学習モデルに不備が有ることを検知する（Ｓ１２４）。この場合、分析部１２は、対象車両２０の誤検知判定結果及び当該誤検知判定結果と類似していると判定された誤検知判定結果等を含む、異常検知学習モデルの不備の可能性の検知を示す通知を、例えば、自動車会社公式サーバ３０ａ等に送信してもよい。自動車会社公式サーバ３０ａは、当該通知に応じ、各車両２０の異常検知学習モデルのアップデートや、管理実施機能部２５２としてＣＰＵ２２１を機能させるプログラムのアップデート等を行ってもよい。
【００６６】
なお、本実施の形態では、車両２０を機器の一例として説明したが、通信機能を有する他の機器について本実施の形態が適用されてもよい。例えば、工場におけるロボット等の産業用制御機器、各地に配置されたセンサ、オーディオ機器、家電製品、通信端末（スマートフォン、タブレット端末等）や、一般的にＩｏＴ（Internet of Things）機器と呼ばれる機器について、本実施の形態が適用されてもよい。
【００６７】
上述したように、本実施の形態によれば、複数の機器（車両２０）からのログデータに基づいて、似たような傾向を持つ事象が発生している機器を特定し、特定された複数のログデータを比較して分析することで、１台の機器を詳細に分析しても分からない事象である、広範囲に実施されるサイバー攻撃、異常検知学習モデルの不備、及び製造ロット単位で発生している故障等を検知することができる。すなわち、複数の機器に跨って発生している事象の発生を検知可能とすることができる。
【００６８】
なお、本実施の形態において、監視サーバ１０は、分析装置の一例である。ログ受信部１１は、受信部の一例である。分析部１２は、判定部及び検知部の一例である。
【００６９】
以上、本発明の実施の形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００７０】
本出願は、２０１８年１０月１１日に出願された日本国特許出願第２０１８−１９２４１２号に基づきその優先権を主張するものであり、同日本国特許出願の全内容を参照することにより本願に援用する。
【符号の説明】
【００７１】
１０          監視サーバ
１１          ログ受信部
１２          分析部
２０          車両
３０ａ        自動車会社公式サーバ
３０ｂ        サービス提供サーバ
１００        ドライブ装置
１０１        記録媒体
１０２        補助記憶装置
１０３        メモリ装置
１０４        ＣＰＵ
１０５        インタフェース装置
１２１        統合ログＤＢ
１２２        故障判定ＤＢ
１２３        攻撃判定ＤＢ
１２４        誤検知判定ＤＢ
２１０        通信装置
２２１        ＣＰＵ
２２２        メモリ装置
２２３        補助記憶装置
２２４        表示装置
２２５        入力装置
２２０        情報系サブシステム
２３０        制御系サブシステム
２３１        マイコン
２４０        関門器
２５１        接続情報管理部
２５２        管理機能実施部
２５３        サービス機能実施部
２５４        機能実施管理部
２５５        異常判定部
２５６        ログ送信部
２６１        ログＤＢ
２６２        検知ＤＢ
Ｂ            バス
【図１】
2020075800.tif 000003
【図２】
2020075800.tif 000004
【図３】
2020075800.tif 000005
【図４】
2020075800.tif 000006
【図５】
2020075800.tif 000007
【国際調査報告】
2020075800.tif 000008
2020075800.tif 000009
2020075800.tif 000010
2020075800.tif 000011