(57)【要約】      （修正有）【課題】処理異常検知のための情報管理装置、システム、コンピュータプログラム及び方法を提供する。【解決手段】情報管理システム１０において、情報管理装置２０は、異常の検知処理２２を実行するプロセッサ２１を備える。検知処理２２は、車両５０において実行される処理の実行時期を示す実行時期情報を、車両５０から取得し、実行時期情報が示す実行時期と、車両５０において処理の実行が許容される実行許容期間と、を対比した結果に基づいて、車両５０における処理の実行の異常を検知する。【選択図】図１
2020077234.tif 000002
【特許請求の範囲】
【請求項１】
異常の検知処理を実行するプロセッサを備え、
前記検知処理は、
機器において実行される処理の実行時期を示す実行時期情報を、前記機器から取得し、
前記実行時期情報が示す前記実行時期と、前記機器において前記処理の実行が許容される実行許容期間と、を対比した結果に基づいて、前記機器における前記処理の実行の異常を検知する
ことを含む、情報管理装置。
【請求項２】
前記機器において実行される前記処理は、前記機器におけるソフトウェアの更新処理を含む、
請求項１に記載の情報管理装置。
【請求項３】
前記機器において実行される前記処理は、前記実行許容期間を示す管理情報を有するコンピュータからソフトウェアを受信する受信処理を含み、
前記実行時期は、前記受信処理の実行時期である、
請求項１又は２に記載の情報管理装置。
【請求項４】
前記機器において実行される処理は、前記機器が受信したソフトウェアを前記機器において実行可能にするインストール処理を含み、
前記実行時期は、前記インストール処理の実行時期である、
請求項１又は２に記載の情報管理装置。
【請求項５】
前記機器において実行される処理は、
ソフトウェアを受信する受信処理と、
受信した前記ソフトウェアを前記機器において実行可能にするインストール処理と、を含み、
前記実行時期は、前記受信処理の実行時期及び前記インストール処理の実行時期を含む、
請求項１又は２に記載の情報管理装置。
【請求項６】
前記プロセッサは、前記実行許容期間を示す管理情報を有するコンピュータから、前記管理情報を取得する取得処理をさらに実行するよう構成され、
前記検知処理において前記実行時期と対比される前記実行許容期間は、前記管理情報によって示される期間である、
請求項１から５のいずれか１項に記載の情報管理装置。
【請求項７】
前記取得処理において前記管理情報の取得先となる前記コンピュータは、前記機器と通信可能であり、前記機器において実行される処理の実行時期を前記管理情報に基づいて管理するコンピュータである、
請求項６に記載の情報管理装置。
【請求項８】
前記検知処理は、前記処理が実行される前記機器の種類を示す情報を、前記機器から取得することをさらに含み、
前記検知処理において前記実行時期と対比される前記実行許容期間は、前記機器の種類に応じた実行許容期間である、
請求項１から７のいずれか１項に記載の情報管理装置。
【請求項９】
前記機器は車両である、
請求項１から８のいずれか１項に記載の情報管理装置。
【請求項１０】
機器において実行される処理の実行時期を示す実行時期情報を前記機器から取得し、前記実行時期情報が示す実行時期と前記機器において前記処理の実行が許容される実行許容期間とを対比した結果に基づいて前記機器における前記処理の実行の異常を検知するよう構成された情報管理装置と、
前記機器において実行される処理の実行時期を、前記処理の実行が許容される実行許容期間を示す管理情報に基づいて管理するコンピュータと、
を備え、
前記情報管理装置は、前記管理情報を前記コンピュータから取得するよう構成されている
システム。
【請求項１１】
異常の検知処理をコンピュータに実行させるコンピュータプログラムであって、
前記検知処理は、
機器において実行される処理の実行時期を示す実行時期情報を、前記機器から取得し、
前記実行時期情報が示す実行時期と、前記機器において前記処理の実行が許容される実行許容期間と、を対比した結果に基づいて、前記機器における前記処理の実行の異常を検知する
ことを含む、コンピュータプログラム。
【請求項１２】
情報管理装置が、機器において実行される処理の実行時期を示す実行時期情報を、前記機器から取得し、前記実行時期情報が示す実行時期と、前記機器において前記処理の実行が許容される実行許容期間と、を対比した結果に基づいて、前記機器における前記処理の実行の異常を検知する
ことを含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、処理異常検知のための情報管理装置、システム、コンピュータプログラム及び方法に関する。
【背景技術】
【０００２】
特許文献１は、車両に搭載された車載機器の記憶部に記憶されたプログラム又はデータの更新を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−１００００２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年、車両に、車両外部との通信機能を追加したコネクティッドカーが主流になろうとしている。コネクティッドカーの普及により、プログラム又はデータなどのソフトウェアの更新が、無線通信などの通信機能を使用して行われることになる。
【０００５】
しかし、車両のように、外部と通信可能な機器は、外部からクラッキングされるおそれがある。車両の場合、クラッキングにより、車両が車外から遠隔操作される懸念が生じる。このため、機器において実行されるソフトウェア更新などの処理が、正当なものでない場合には、それを検知することが望まれる。特に、異常な処理であっても、正常な処理と同じ実施手順で実行された場合には、異常の検知が困難であるが、そのような場合であっても、異常を検知することが望まれる。
【課題を解決するための手段】
【０００６】
本開示のある側面は、情報管理装置である。情報管理装置は、異常の検知処理を実行するプロセッサを備え、前記検知処理は、機器において実行される処理の実行時期を示す実行時期情報を、前記機器から取得し、前記実行時期情報が示す前記実行時期と、前記機器において前記処理の実行が許容される実行許容期間と、を対比した結果に基づいて、前記機器における前記処理の実行の異常を検知することを含む。
【０００７】
本開示の他の側面は、情報管理装置とコンピュータとを備えたシステムである。システムは、機器において実行される処理の実行時期を示す実行時期情報を前記機器から取得し、前記実行時期情報が示す実行時期と前記機器において前記処理の実行が許容される実行許容期間とを対比した結果に基づいて前記機器における前記処理の実行の異常を検知するよう構成された情報管理装置と、前記機器において実行される処理の実行時期を、前記時処理の実行が許容される実行許容期間を示す管理情報に基づいて管理するコンピュータと、を備え、前記情報管理装置は、前記管理情報を前記コンピュータから取得するよう構成されている。
【０００８】
本開示の他の側面は、コンピュータプログラムである。コンピュータプログラムは、異常の検知処理をコンピュータに実行させる。前記検知処理は、機器において実行される処理の実行時期を示す実行時期情報を、前記機器から取得し、前記実行時期情報が示す実行時期と、前記機器において前記処理の実行が許容される実行許容期間と、を対比した結果に基づいて、前記機器における前記処理の実行の異常を検知する。
【０００９】
本開示の他の側面は、方法である。方法は、情報管理装置が、機器において実行される処理の実行時期を示す実行時期情報を、前記機器から取得し、前記実行時期情報が示す実行時期と、前記機器において前記処理の実行が許容される実行許容期間と、を対比した結果に基づいて、前記機器における前記処理の実行の異常を検知することを含む。
【発明の効果】
【００１０】
本開示によれば、機器において実行される処理が、実行許容期間から外れた異常なものである場合には、それを検知することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、情報管理システムの構成を示す図である。
【図２】図２は、車両内ネットワーク図である。
【図３】図３は、管理情報データベースの説明図である。
【図４】図４は、正常ソフトウェア更新処理のタイミングチャートである。
【図５】図５は、正常なログと管理情報との対比説明図である。
【図６】図６は、検知処理のフローチャートである。
【図７】図７は、異常ソフトウェア更新処理のタイミングチャートである。
【図８】図８は、異常なログと管理情報との対比説明図である。
【図９】図９Ａは、管理情報とログの他の例を示す図である。図９Ｂは、管理情報とログのさらに他の例を示す図である。
【図１０】図１０は、管理情報とログのさらに他の例を示す図である。
【発明を実施するための形態】
【００１２】
［１．実施形態の概要］
【００１３】
（１）実施形態に係る情報管理装置は、異常の検知処理を実行するプロセッサを備える。前記検知処理は、機器において実行される処理の実行時期を示す実行時期情報を、前記機器から取得することを含む。機器は、例えば、車両である。機器は、処理が実行される他の機器、例えば、モバイル機器などであってもよい。実行時期情報は、既に行われた処理の実行時期を示してもよいし、将来行われる予定の処理の実行時期（実行予定時期）を示すものであってもよい。
【００１４】
前記検知処理は、前記実行時期情報が示す前記実行時期と、前記機器において前記処理の実行が許容される実行許容期間と、を対比した結果に基づいて、前記機器における前記処理の実行の異常を検知することを含む。本実施形態によれば、実行時期と実行許容時間との対比という簡易な処理により、異常を検知することができる。
【００１５】
（２）前記機器において実行される前記処理は、前記機器におけるソフトウェアの更新処理を含むことができる。この場合、ソフトウェア更新の正当性を確認することができる。
【００１６】
（３）前記機器において実行される前記処理は、前記実行許容期間を示す管理情報を有するコンピュータからソフトウェアを受信する受信処理を含み、前記実行時期は、前記受信処理の実行時期であるのが好ましい。この場合、ソフトウェアの受信処理の正当性を確認することができる。
【００１７】
（４）前記機器において実行される処理は、前記機器が受信したソフトウェアを前記機器において実行可能にするインストール処理を含み、前記実行時期は、前記インストール処理の実行時期であるのが好ましい。この場合、インストール処理の正当性を確認することができる。
【００１８】
（５）  前記機器において実行される処理は、ソフトウェアを受信する受信処理と、受信した前記ソフトウェアを前記機器において実行可能にするインストール処理と、を含み、前記実行時期は、前記受信処理の実行時期及び前記インストール処理の実行時期を含むことができる。この場合、受信処理及びインストール処理の正当性を確認することができる。
【００１９】
（６）前記プロセッサは、前記実行許容期間を示す管理情報を有するコンピュータから、前記管理情報を取得する取得処理をさらに実行するよう構成され、前記検知処理において前記実行時期と対比される前記実行許容期間は、前記管理情報によって示される期間であるのが好ましい。この場合、情報管理装置は、実行許容時間を容易に把握することができる。
【００２０】
（７）前記取得処理において前記管理情報の取得先となる前記コンピュータは、前記機器と通信可能であり、前記機器において実行される処理の実行時期を前記管理情報に基づいて管理するコンピュータであるのが好ましい。この場合、前記コンピュータが管理のため有している管理情報を、情報管理装置における異常検知に流用することができる。
【００２１】
（８）前記検知処理は、前記処理が実行される前記機器の種類を示す情報を、前記機器から取得することをさらに含み、前記検知処理において前記実行時期と対比される前記実行許容期間は、前記機器の種類に応じた実行許容期間であるのが好ましい。この場合、機器の種類に応じて実行許容期間が異なっていても対応することができる。
【００２２】
（９）前記機器は車両であるのが好ましい。
【００２３】
（１０）実施形態に係るシステムは、機器において実行される処理の実行時期を示す実行時期情報を前記機器から取得し、前記実行時期情報が示す実行時期と前記機器において前記処理の実行が許容される実行許容期間とを対比した結果に基づいて前記機器における前記処理の実行の異常を検知するよう構成された情報管理装置と、前記機器において実行される処理の実行時期を、前記処理の実行が許容される実行許容期間を示す管理情報に基づいて管理するコンピュータと、を備え、前記情報管理装置は、前記管理情報を前記コンピュータから取得するよう構成されている。
【００２４】
（１１）実施形態に係るコンピュータプログラムは、異常の検知処理をコンピュータに実行させる。前記検知処理は、機器において実行される処理の実行時期を示す実行時期情報を、前記機器から取得し、前記実行時期情報が示す実行時期と、前記機器において前記処理の実行が許容される実行許容期間と、を対比した結果に基づいて、前記機器における前記処理の実行の異常を検知することを含む。
【００２５】
（１２）実施形態に係る方法は、情報管理装置が、機器において実行される処理の実行時期を示す実行時期情報を、前記機器から取得し、前記実行時期情報が示す実行時期と、前記機器において前記処理の実行が許容される実行許容期間と、を対比した結果に基づいて、前記機器における前記処理の実行の異常を検知することを含む。
【００２６】
［２  実施形態の詳細］
【００２７】
［２．１  情報管理サーバ（情報管理装置）を備えた情報管理システム］
【００２８】
図１は、実施形態に係る情報管理システム１０を示している。情報管理システム１０は、情報管理サーバ２０を備える。実施形態に係る情報管理サーバ２０は、処理が実行される機器における異常を、機器から受信したログに基づいて検知する情報管理装置として機能する。実施形態において、機器は、車両５０である。実施形態において、車両５０は、車外との通信機能を有するコネクティッドカーである。車両５０は、無線通信経由でのソフトウェア更新（Software Over The Air:SOTA）が可能である。なお、ここでの、ソフトウェア更新は、ファームウェア更新（Firmware Over The Air: FOTA）を含むものとする。また、ソフトウェアは、プログラムであってもよいし、データであってもよい。
【００２９】
情報管理サーバ２０は、Security Information and Event Management（ＳＩＥＭ）として機能する。ＳＩＥＭは、機器におけるファイアウォール及び不正侵入検知システム（Intrusion Detection System:IDS）などにおけるイベントを、複数の機器から収集して一元的に管理・保管し、脅威となる事象を把握する。実施形態の情報管理サーバ２０は、複数の車両５０内において発生した様々なイベントに関するログ（イベントの実行時期情報）を収集して蓄積する。情報管理サーバ２０は、蓄積されたログを分析し、車両５０への攻撃又は攻撃予兆などの異常を検知する。情報管理サーバ２０は、異常が検知されると、異常情報を、他の車両５０へ通知する。
【００３０】
図２に示すように、車両５０は、車外と無線通信するための通信機能を有する。車両５０は、車外通信のための通信ユニット５１を備える。通信ユニット５１は、例えば、Telematics Communication Unit(ＴＣＵ：)である。ＴＣＵ５１は、Central GateWay（ＣＧＷ：ゲートウェイ）５２を介して、車両内ネットワーク５７に接続されている。車両内ネットワーク５７には、複数のElectronic Control Unit（ＥＣＵ：電子制御ユニット）５５が接続されている。ＴＣＵ５１は、車両５０内において行われた通信（例えば、ＴＣＵ５１とＣＧＷ５２との間の通信、ＣＧＷとＥＣＵ５５との間の通信、又はＥＣＵ５５間の通信）のログ（車両ログ）を、無線通信により、車外へ送信する。ログは、定期的に送信されるか、又は、イベントドリブンにより送信される。車両５０から送信されたログは、無線通信回線及び無線通信回線に接続されたネットワークを介して、情報管理サーバ２０に到達する。情報管理サーバ２０は、受信したログを蓄積する。なお、車外通信機能は、ＣＧＷ５２が担ってもよいし、ＴＣＵ及びＣＧＷの統合ユニットが担ってもよい。
【００３１】
図１に戻り、情報管理サーバ２０は、プロセッサ２１及び記憶装置２５を備えるコンピュータである。プロセッサ２１は、記憶装置２５に記憶されたコンピュータプログラム２９を実行することにより、コンピュータを情報管理サーバ２０として機能させる。コンピュータプログラム２９は、プロセッサ２１に後述の検知処理２２を実行させる。また、コンピュータプログラム２９は、プロセッサ２１に後述の同期処理（取得処理）２３を実行させる。
【００３２】
記憶装置２５は、管理情報データベース２６を備える。管理情報データベース２６は、後述のＯＴＡサーバ４０が備える管理情報データベース４１と同期する。記憶装置２５は、ログデータベース２７を備える。ログデータベース２７は、車両５０から送信されたログを蓄積する。
【００３３】
情報管理サーバ２０は、インターネットなどのネットワーク３０に接続されている。また、情報管理サーバ２０は、無線通信経由で車両５０との通信が可能である。
【００３４】
実施形態の情報管理システム１０は、Over The Air（ＯＴＡ）サーバ４０を備える。実施形態のＯＴＡサーバ４０は、車両５０において用いられるソフトウェアを無線通信経由で更新させる。すなわち、ＯＴＡサーバ４０は、ソフトウェアの更新管理サーバとして機能する。
【００３５】
ＯＴＡサーバ４０は、プロセッサ及び記憶装置を有するコンピュータである。ＯＴＡサーバ４０は、ネットワーク３０に接続されている。また、ＯＴＡサーバ４０は、無線通信経由で車両５０との通信が可能である。ＯＴＡサーバ４０は、更新ソフトウェア４２を、車両５０に配信する。更新ソフトウェア４２は、車両５０のＴＣＵ５１及びＣＧＷ５３を経由して、車両５０のＥＣＵ５５に送信される。ＥＣＵ５５は、更新ソフトウェアをインストールし、ＥＣＵ５５において実行可能にする。従来は、ディーラに車両５０を持ち込んでソフトウェア更新をするのが一般的であったが、無線通信経由でのソフトウェア更新により、ディーラに車両５０を持ち込む必要がなくなる。
【００３６】
ＯＴＡサーバ４０は、キャンペーンと呼ばれる管理情報２６１に基づいて、ソフトウェアの更新を管理する。管理情報２６１は、更新のスケジュール等が規定されている。図３に示すように、実施形態の管理情報２６１は、更新可能期間（実行許容期間）を示す情報９１、対象車両（機器種別）を示す情報９２、対象コンポーネント（対象ＥＣＵ）を示す情報９３、ソフトウェア名／ソフトウェアバージョンを示す情報９４を有する。
【００３７】
更新可能期間（実行許容期間）を示す情報９１は、車両５０がソフトウェア更新することが可能な期間を示す。車両５０は、更新可能期間内においてのみソフトウェアを更新することが許容され、それ以外の期間ではソフトウェアを更新することができない。対象車両（機器種別）を示す情報９２は、ソフトウェア更新をすべき車両５０の種類を示す。ソフトウェア更新をすべき車両５０は、例えば、リコールの対象となっている車両である。対象コンポーネント（対象ＥＣＵ）を示す情報９３は、車両５０においてソフトウェアを更新すべきコンポーネントを示す。コンポーネントは、例えば、ＥＣＵ５５である。ソフトウェアが更新されるコンポーネントは、ＴＣＵ又はＣＧＷであってもよい。ソフトウェア名／ソフトウェアバージョンを示す情報９４は、更新すべきソフトウェアの名称及びバージョンを示す。
【００３８】
図１に戻り、ソフトウェア更新においては、まず、カーメーカ６０が、更新ソフトウェア４２をＯＴＡサーバ４０に登録するとともに、更新ソフトウェア４２の更新のための管理情報２６１をＯＴＡサーバ４０に登録する。管理情報２６１は、ＯＴＡサーバ４０の管理情報データベース４１に格納される。
【００３９】
ＯＴＡサーバ４０の管理情報データベース４１と、情報管理サーバ２０の管理情報データベース２６と、は同期しており。両データベース２６，４１の内容は一致する。同期のため、情報管理サーバ２０は、ＯＴＡサーバ４０との間で、同期処理２３を実行する。同期処理２３は、定期的又は管理情報データベース４１の内容に変更があったときに実行される。したがって、ＯＴＡサーバ４０に新規に登録された管理情報２６１は、情報管理サーバ２０にも登録が反映される。なお、同期処理２３は、情報管理サーバ２０が、ＯＴＡサーバ４０から管理情報２６１を取得する取得処理でもある。
【００４０】
ＯＴＡサーバ４０は、登録された管理情報２６１に基づいて、ソフトウェア更新のための処理を実行する。図４に示すように、まず、ＯＴＡサーバ４０は、管理情報２６１が示す更新可能期間になると、ソフトウェア更新通知を車両５０へ送信する（ステップＳ１０１）。ソフトウェア更新通知が送信される車両５０は、管理情報２６１が示す対象車両に該当する車両（ソフトウェア更新が必要な車両）である。なお、ここでは、ＥＣＵのファームウェアが更新されるものとする。
【００４１】
ソフトウェア更新通知を受けた車両５０のＴＣＵ５１は、ＯＴＡサーバ４０にアクセスし、管理情報２６１の内容を確認する（ステップＳ１０２）。管理情報２６１の内容確認により、車両５０は、更新可能期間を把握できるため、その更新可能期間内にソフトウェア更新が完了するように動作する。具体的には、ＴＣＵ５１は、ＯＴＡサーバ４０から更新ソフトウェア４２をダウンロード（受信）する（ステップＳ１０３）。なお、何らかの都合により、更新可能期間内にソフトウェア更新が完了できないと判断される場合には、車両５０は、更新を実行しない。したがって、正常に更新が行われる限りは、更新可能期間外にソフトウェア更新が行われることはない。
【００４２】
車両５０のＣＧＷ５３は、定期的に、ソフトウェア更新の有無を確認する問い合わせをＴＣＵ５１に対して行う（ステップＳ２０１）。ＴＣＵ５１は、更新ソフトウェア４２をダウンロードしている場合には、ステップＳ２０１の問い合わせに対して、「更新あり」をＣＧＷ５３に対して通知する（ステップＳ２０２）。すると、ＣＧＷ５３は、ＴＣＵ５２に対して、更新ソフトウェアを要求する（ステップＳ２０３）。要求を受けたＴＣＵ５１は、更新ソフトウェアをＣＧＷ５３へ転送する（ステップＳ２０４）。ＣＧＷ５３は、更新ソフトウェアを対象ＥＣＵ５５へ転送する（Ｓ３０１）。対象ＥＣＵ５５は、更新ソフトウェアをインストールし、対象ＥＣＵ５５において、更新ソフトウェアを実行可能にする（ステップＳ４０１）。以上により、ソフトウェア更新が完了する。
【００４３】
車両５０は、上記のソフトウェア更新の処理のうち、ＴＣＵ５１とＣＧＷ５３間においてソフトウェア要求（ステップＳ２０３）又はソフトウェア転送（ステップＳ２０４）の通信が発生した時刻を記録する。ここでは、ソフトウェア要求（ステップＳ２０３）又はソフトウェア転送（ステップＳ２０４）の通信は、「ソフトウェア更新のための通信」というイベントとして扱われる。
【００４４】
ＴＣＵ５１は、「ソフトウェア更新のための通信」のログ（実行時期情報）２７１を情報管理サーバ２０へアップロードする（ステップＳ５０１）。アップロードは、「ソフトウェア更新のための通信」が発生したタイミングで行われてもよいし、定期的なアップロードタイミングで行われてもよい。アップロードされたログ２７１は、ログデータベース２７に蓄積される。なお、車両５０は、「ソフトウェア更新のための通信」イベントを示すログ２７１に限らず、車両５０内において発生する様々なイベントを示す多数のログを送信する。
【００４５】
図５には、ログ２７１の例が示されている。ログ２７１は、ログ送信元の車両ＩＤ、イベントの発生日時（実行時期）、及びイベント内容を示す情報を含む。ログ送信元の車両ＩＤは、ログ送信元をユニークに識別するために用いられてもよいし、送信元の車両５０の種類を識別したりするために用いられてもよい。図５では、イベントの発生日時は、２０１８年１１月１日  １１：００であり、イベント内容は、「ソフトウェア更新のための通信」である。なお、実行時期情報であるログ２７１は、一般的には、既に発生したイベント（処理）の実行時期を示すが、実施形態においては、実行時期情報は、将来実行する予定の処理の実行時期を示すものであってもよい。
【００４６】
情報管理サーバ２０は、受信したログ２７１に基づいて異常を検知する検知処理２２を実行する。図６に示すように、検知処理２２において、情報管理サーバ２０は、まず、ログ２７１を受信する（ステップＳ１１）。ログ２７１を受信することにより、情報管理サーバ２０は、ログ２７１の内容を把握できる。続いて、情報管理サーバ２０は、ログ２７１を分析する（ステップＳ１２）。分析の結果、ログ２７１が示すイベント、管理情報（キャンペーン）２６１と対比すべきイベント（ここでは、「ソフトウェア更新のための通信」）である場合には、ステップＳ１３が実行される。ステップＳ１３では、分析結果（ログ２７１の内容）と管理情報（キャンペーン）２６１との対比がなされる。
【００４７】
実施形態において、ログ２７１と対比されるべき管理情報２６１は、管理情報データベース２６に格納された複数の管理情報２６１の中から選択される。情報管理サーバ２０は、受信したログ２７１が示す車両ＩＤから、ログ２７１の送信元の車種を識別する。情報管理サーバ２０は、識別された車種についての管理情報２６１を、管理情報データベース２６から選択する。具体的には、管理情報２６１の情報９２が示す車種が、ログ２７１の送信元の車種に対応している管理情報２６１が、選択される。例えば、ログ２７１から識別された車種が「ＡＡＡ」であれば、情報９２が車種「ＡＡＡ」を示している管理情報２６１が選択される。なお、ログ２７１は、車種を直接的に示す情報を有していてもよく、その場合、情報管理サーバ２０は、ログ２７１中の車種を示す情報から車種を識別することができる。
【００４８】
図５には、対象車両を示す情報９２が「ＡＡＡ」である管理情報２６１、すなわち、車種「ＡＡＡ」についての管理情報２６１が示されている。ログ２７１の車両ＩＤから識別される車種が「ＡＡＡ」である場合、そのログ２７１は、図５に示す管理情報２６１と対比される。実施形態においては、ログ２７１が示すイベント発生日時（ソフトウェア更新の実行時期）と、管理情報２６１が示す更新可能期間と、が対比される。
【００４９】
ステップＳ１４において、情報管理サーバ２０は、ログ２７１の内容と、管理情報（キャンペーン）２６１の内容と、に不一致があるかどうかが判定される。不一致がある場合、情報管理サーバ２０は、ソフトウェアの不正更新、すなわち異常、を検知する（ステップＳ１５）。不一致がなければ、異常は検知されない。図５に示すログ２７１の場合、ソフトウェア更新のための通信が発生した日時は、２０１８年１１月０１日１１：００であり、この日時は、対比される管理情報２６１が示す更新可能期間である２０１８年１１月０１日１０：００−１２：００内に収まっている。したがって、ログ２７１の内容と、管理情報（キャンペーン）２６１の内容と、は一致しており、異常は検知されない。
【００５０】
一般に、ログから異常を検知するには、ログから異常を検知するために構築された異常検知モデルを用いることが考えられるが、異常検知モデルを構築するには、専門的で高度な知識が必要である。また、モデル構築のための労力が必要となる。これに対して、本実施形態によれば、ログ２７１と管理情報２６１との対比という簡単な処理により異常検知が行える。
【００５１】
本実施形態では、異常検知を簡単に行うため、ソフトウェア更新などの特定の処理においては、その処理の実行が許容される期間が、あらかじめ決まっていることを利用している。すなわち、処理が正当に実行されているのであれば、その処理の実行時期は、実行許容期間内に収まっているはずである。したがって、処理の実行時期が、実行許容期間から外れていれば、異常であるとみなされる。
【００５２】
図５に示す例では、車種「ＡＡＡ」の車両５０について、ソフトウェア更新が行われるのは、ソフトウェア更新の実行許容期間である更新可能期間２０１８年１１月０１日１０：００−１２：００内に限られており、正常な車両５０であれば、この更新可能期間外にソフトウェア更新を行うことはない。すなわち、正常な車両５０は、更新可能期間外に更新処理を実行しようとしないし、ＯＴＡサーバ４０も、更新可能期間外での更新処理を許可しないため、正常な車両５０とＯＴＡサーバ４０間では、更新可能期間外の更新処理は起こらない。
【００５３】
これに対して、クラッキングなどにより異常が生じている車両５０は、ＯＴＡサーバ４０以外の不正なサーバ（例えば、Command and Control（Ｃ＆Ｃ）サーバ）にアクセスして、不正ソフトウェアをダウンロードし、ソフトウェア更新をすることがある。不正ソフトウェアのダウンロード等は、ＯＴＡサーバ４０が管理する更新可能期間とは無関係に行われるため、更新可能期間外の更新処理になりやすい。本実施形態では、このことを利用して、不正ソフトウェアのダウンロードなどの異常を検知する。
【００５４】
図７は、不正ソフトウェアが異常更新される例を示している。まず、攻撃者（Attacker）７０は、車両５０に侵入し（ステップＳ６０１）、バックドア（マルウェア）を仕掛ける（ステップＳ６０２）。すると、車両５０のＴＣＵ５１は、マルウェアをインストールする（ステップＳ７０１）。これにより、ＴＣＵ５１は、マルウェアに感染する。マルウェアに感染したＴＣＵ５１は、Ｃ＆Ｃサーバ（不正サーバ）８０から、更新用の不正ソフトウェアをダウンロードする（ステップＳ６０３）。
【００５５】
車両５０のＣＧＷ５３は、定期的に、ソフトウェア更新の有無を確認する問い合わせをＴＣＵ５１に対して行う（ステップＳ２０１）。したがって、ＴＣＵ５１が、更新用の不正ソフトウェアをダウンロードすると、ＴＣＵ５１は、ステップＳ２０１の問い合わせに対して、「更新あり」をＣＧＷ５３に対して通知する（ステップＳ２０２）。すると、ＣＧＷ５３は、ＴＣＵ５２に対して、更新ソフトウェアを要求する（ステップＳ２０３）。要求を受けたＴＣＵ５１は、更新ソフトウェアをＣＧＷ５３へ転送する（ステップＳ２０４）。ＣＧＷ５３は、更新ソフトウェアを対象ＥＣＵ５５へ転送する（Ｓ３０１）。対象ＥＣＵ５５は、更新ソフトウェアをインストールし、対象ＥＣＵ５５において、更新ソフトウェアを実行可能にする（ステップＳ４０１）。以上により、ソフトウェア更新が完了する。更新されたソフトウェアは不正なものであるため、車両５０は異常な挙動を起こすことがある。
【００５６】
車両５０は、上記のソフトウェア更新の処理のうち、ＴＣＵ５１とＣＧＷ５３間においてソフトウェア要求（ステップＳ２０３）又はソフトウェア転送（ステップＳ２０４）の通信が発生した時刻を記録する。
【００５７】
ＴＣＵ５１は、「ソフトウェア更新のための通信」のログ２７１を情報管理サーバ２０へアップロードする（ステップＳ５０１）。
【００５８】
上記のような不正ソフトウェアの更新処理において、車両５０内のＴＣＵ５１−ＣＧＷ５３−ＥＣＵ５５間で行われる手順（ステップＳ２０１からステップＳ２０４、ステップＳ３０１、及びステップＳ４０１）自体は、図４に示す正常な場合の手順と同じである。したがって、車両５０内で生じるイベントとしては、図４の場合も図７の場合も共通しており、車両５０内で生じるイベントを示すログも共通したものとなる。このため、図４の手順で送信されるログ２７１を正常として扱い、図７の手順で送信されるログ２７１を異常として取り扱うのは、一般的には容易ではない。
【００５９】
しかし、本実施形態では、ログ２７１と管理情報２６１と対比することで、図７の手順で送信されたログ２７１から異常を容易に検知することができる。図８は、図７の手順で送信されたログ２７１の例と、そのログ２７１と対比される管理情報２６１の例を示している。情報管理サーバ２０は、受信したログ２７１の車両ＩＤから識別される車種が「ＡＡＡ」である場合、車種「ＡＡＡ」についての管理情報２６１を管理情報データベース２６から読み出し、ログ２７１と対比する。
【００６０】
図８に示すログ２７１の場合、ソフトウェア更新のための通信が発生した日時は、２０１８年１１月０１日９：００であり、この日時は、対比される管理情報２６１が示す更新可能期間である２０１８年１１月０１日１０：００−１２：００外である。したがって、ログ２７１の内容と、管理情報（キャンペーン）２６１の内容と、は不一致である。不一致であるということは、管理情報２６１に基づく情報管理サーバ２０での管理外での処理が行われたことを示す。情報管理サーバ２０は、不一致である場合に、ログ２７１が示すソフトウェア更新は異常であることを検知する。
【００６１】
情報管理サーバ２０又はその管理者は、異常が検知されると、ログ２７１の送信元の車両５０への対処を行うことができる。また、情報管理サーバ２０は、ログ２７１の送信元以外の車両５０へ異常に関する情報（異常が発生した車両の情報、攻撃者情報など）を通知することができる。
【００６２】
ソフトウェア更新などの処理の正当性は、処理に用いられるデータ（ソフトウェア）の暗号化又は認証といった手段によっても確認することができるが、本実施形態では、それ以外に、処理の実行時期という観点から、処理の正当性を確認することができる。したがって、他の異常検知手法に加えて、本実施形態の異常検知手法を採用することで、攻撃に対する多層防御が可能となる。
【００６３】
なお、本実施形態において、ログ２７１は、既に実行された処理の実行時期を示しているため、異常の検知は、処理の実行後にしか検知されない。しかし、車両５０がこれから実行しようとする処理の実行時期（実行予定時期）を、あらかじめ情報管理サーバ２０に実行時期情報としてアップロードすることで、処理の実行前に異常を検知することも可能である。
【００６４】
図９Ａ、図９Ｂ、及び図１０は、対比されるログ２７１及び管理情報２６１の他の例を示している。図９Ａに示す管理情報２６１では、ソフトウェア更新処理のうち、更新ソフトウェアのダウンロードという処理の実行可能期間（ダウンロード可能期間）が、２０１８年１１月０１日１０：００−１２：００に設定されている。図９Ａに示す管理情報２６１は、ソフトウェア更新のためのダウンロード処理（ソフトウェアの受信処理）が、ダウンロード可能期間内において可能であることを示している。この場合、ダウンロード後のインストールは、ダウンロード可能期間後に行われてもよい。
【００６５】
図９Ａに示す管理情報２６１と対比されるログ２７１は、車両５０における「ソフトウェアダウンロード」イベントのログ２７１である。図９Ａの例では、ソフトウェアダウンロードが実行された日時は、２０１８年１１月０１日１１：００であり、管理情報２６１が示すダウンロード可能期間である２０１８年１１月０１日１０：００−１２：００内であるから正常なダウンロード処理であると判断される。
【００６６】
図９Ｂに示す管理情報２６１では、ソフトウェア更新処理のうち、更新ソフトウェアのインストールという処理の実行可能期間（インストール可能期間）が、２０１８年１１月０１日１０：００−１３：００に設定されている。図９Ｂに示す管理情報２６１は、ソフトウェア更新のためのインストール処理が、インストール可能期間内において可能であることを示している。この場合、インストール前に行われるダウンロードは、インストール可能期間前に行われてもよい。
【００６７】
図９Ｂに示す管理情報２６１と対比されるログ２７１は、車両５０における「ソフトウェアインストール」イベントのログ２７１である。図９Ｂの例では、ソフトウェアインストールが実行された日時は、２０１８年１１月０１日１２：３０であり、管理情報２６１が示すインストール可能期間である２０１８年１１月０１日１０：００−１３：００内であるから正常なインストール処理であると判断される。
【００６８】
図１０に示す管理情報２６１では、ダウンロード可能期間及びインストール可能期間の両方が設定されている。図１０では、ダウンロード可能期間は、２０１８年１１月０１日１０：００−１２：００に設定され、インストール可能期間は、２０１８年１１月０１日１０：００−１３：００に設定されている
【００６９】
図１０に示す管理情報２６１は、車両５０における「ソフトウェアダウンロード」イベントのログ２７１ａ及び「ソフトウェアインストール」イベントのログ２７１ｂと対比される。図１０の例では、ソフトウェアダウンロードが実行された日時は、２０１８年１１月０１日１１：００であり、管理情報２６１が示すダウンロード可能期間である２０１８年１１月０１日１０：００−１２：００内であるから正常なダウンロード処理であると判断される。また、ソフトウェアインストールが実行された日時は、２０１８年１１月０１日１２：３０であり、管理情報２６１が示すインストール可能期間である２０１８年１１月０１日１０：００−１３：００内であるから正常なインストール処理であると判断される。
【００７０】
［３．付記］
【００７１】
なお、今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味、及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００７２】
１０      ：情報管理システム
２０      ：情報管理サーバ
２１      ：プロセッサ
２２      ：検知処理
２３      ：同期処理
２５      ：記憶装置
２６      ：管理情報データベース
２７      ：ログデータベース
２９      ：コンピュータプログラム
３０      ：ネットワーク
４０      ：ＯＴＡサーバ（コンピュータ）
４１      ：管理情報データベース
４２      ：更新ソフトウェア
５０      ：車両
５５      ：ＥＣＵ
５７      ：車両内ネットワーク
６０      ：カーメーカ
９１      ：情報
９２      ：情報
９３      ：情報
９４      ：情報
２６１    ：キャンペーン（管理情報）
２７１    ：ログ（実行時期情報）
２７１ａ  ：ログ（実行時期情報）
２７１ｂ  ：ログ（実行時期情報）
【図１】
2020077234.tif 000003
【図２】
2020077234.tif 000004
【図３】
2020077234.tif 000005
【図４】
2020077234.tif 000006
【図５】
2020077234.tif 000007
【図６】
2020077234.tif 000008
【図７】
2020077234.tif 000009
【図８】
2020077234.tif 000010
【図９】
2020077234.tif 000011
【図１０】
2020077234.tif 000012