IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 住友電気工業株式会社の特許一覧

特許7319039処理異常検知のための情報管理装置、システム、コンピュータプログラム及び方法
<>
  • 特許-処理異常検知のための情報管理装置、システム、コンピュータプログラム及び方法 図1
  • 特許-処理異常検知のための情報管理装置、システム、コンピュータプログラム及び方法 図2
  • 特許-処理異常検知のための情報管理装置、システム、コンピュータプログラム及び方法 図3
  • 特許-処理異常検知のための情報管理装置、システム、コンピュータプログラム及び方法 図4
  • 特許-処理異常検知のための情報管理装置、システム、コンピュータプログラム及び方法 図5
  • 特許-処理異常検知のための情報管理装置、システム、コンピュータプログラム及び方法 図6
  • 特許-処理異常検知のための情報管理装置、システム、コンピュータプログラム及び方法 図7
  • 特許-処理異常検知のための情報管理装置、システム、コンピュータプログラム及び方法 図8
  • 特許-処理異常検知のための情報管理装置、システム、コンピュータプログラム及び方法 図9
  • 特許-処理異常検知のための情報管理装置、システム、コンピュータプログラム及び方法 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-24
(45)【発行日】2023-08-01
(54)【発明の名称】処理異常検知のための情報管理装置、システム、コンピュータプログラム及び方法
(51)【国際特許分類】
   G06F 21/12 20130101AFI20230725BHJP
   G06F 8/65 20180101ALI20230725BHJP
   G06F 11/07 20060101ALI20230725BHJP
【FI】
G06F21/12 310
G06F8/65
G06F11/07 140R
G06F11/07 157
【請求項の数】 7
(21)【出願番号】P 2018210516
(22)【出願日】2018-11-08
(65)【公開番号】P2020077234
(43)【公開日】2020-05-21
【審査請求日】2021-05-21
【審判番号】
【審判請求日】2022-11-14
(73)【特許権者】
【識別番号】000002130
【氏名又は名称】住友電気工業株式会社
(74)【代理人】
【識別番号】100100147
【弁理士】
【氏名又は名称】山野 宏
(74)【代理人】
【識別番号】100116366
【弁理士】
【氏名又は名称】二島 英明
(72)【発明者】
【氏名】矢野 純史
(72)【発明者】
【氏名】畑 洋一
【合議体】
【審判長】須田 勝巳
【審判官】山澤 宏
【審判官】篠原 功一
(56)【参考文献】
【文献】特開2012-203624(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F21/00-88
G06F 8/65
G06F11/07
(57)【特許請求の範囲】
【請求項1】
異常の検知処理を実行するプロセッサを備え、
前記検知処理は、
機器において実行され処理の実行時期を示す実行時期情報を、前記機器から取得し、
前記実行時期情報が示す前記実行時期と、前記機器において前記処理の実行が許容される実行許容期間と、を対比した結果のみに基づいて、前記機器における前記処理の実行の異常を検知する
ことを含み、
前記機器は車両であり、
前記機器において実行され前記処理は、前記機器におけるソフトウェアの更新処理、前記実行許容期間を示す管理情報を有するコンピュータからソフトウェアを受信する受信処理、及び前記機器が受信したソフトウェアを前記機器において実行可能にするインストール処理の少なくとも一つである、
情報管理装置。
【請求項2】
前記プロセッサは、前記実行許容期間を示す前記管理情報を有する前記コンピュータから、前記管理情報を取得する取得処理をさらに実行するよう構成され、
前記検知処理において前記実行時期と対比される前記実行許容期間は、前記管理情報によって示される期間である、
請求項1又は請求項2に記載の情報管理装置。
【請求項3】
前記取得処理において前記管理情報の取得先となる前記コンピュータは、前記機器と通信可能であり、前記機器において実行された前記処理の前記実行時期を前記管理情報に基づいて管理するコンピュータである、
請求項2に記載の情報管理装置。
【請求項4】
前記検知処理は、前記処理が実行され前記機器の種類を示す情報を、前記機器から取得することをさらに含み、
前記検知処理において前記実行時期と対比される前記実行許容期間は、前記機器の種類に応じた実行許容期間である、
請求項1から請求項3のいずれか1項に記載の情報管理装置。
【請求項5】
機器において実行され処理の実行時期を示す実行時期情報を前記機器から取得し、前記実行時期情報が示す実行時期と前記機器において前記処理の実行が許容される実行許容期間とを対比した結果のみに基づいて前記機器における前記処理の実行の異常を検知するよう構成された情報管理装置と、
前記機器において実行され前記処理の実行時期を、前記処理の実行が許容される実行許容期間を示す管理情報に基づいて管理するコンピュータと、
を備え、
前記情報管理装置は、前記管理情報を前記コンピュータから取得するよう構成されており、
前記機器は車両であり、
前記機器において実行され前記処理は、前記機器におけるソフトウェアの更新処理、前記実行許容期間を示す前記管理情報を有する前記コンピュータからソフトウェアを受信する受信処理、及び前記機器が受信したソフトウェアを前記機器において実行可能にするインストール処理の少なくとも一つである、
システム。
【請求項6】
異常の検知処理をコンピュータに実行させるコンピュータプログラムであって、
前記検知処理は、
機器において実行され処理の実行時期を示す実行時期情報を、前記機器から取得し、
前記実行時期情報が示す実行時期と、前記機器において前記処理の実行が許容される実行許容期間と、を対比した結果のみに基づいて、前記機器における前記処理の実行の異常を検知する
ことを含み、
前記機器は車両であり、
前記機器において実行され前記処理は、前記機器におけるソフトウェアの更新処理、前記実行許容期間を示す管理情報を有するコンピュータからソフトウェアを受信する受信処理、及び前記機器が受信したソフトウェアを前記機器において実行可能にするインストール処理の少なくとも一つである、
コンピュータプログラム。
【請求項7】
情報管理装置が、機器において実行され処理の実行時期を示す実行時期情報を、前記機器から取得し、前記実行時期情報が示す実行時期と、前記機器において前記処理の実行が許容される実行許容期間と、を対比した結果のみに基づいて、前記機器における前記処理の実行の異常を検知する
ことを含み、
前記機器は車両であり、
前記機器において実行され前記処理は、前記機器におけるソフトウェアの更新処理、前記実行許容期間を示す管理情報を有するコンピュータからソフトウェアを受信する受信処理、及び前記機器が受信したソフトウェアを前記機器において実行可能にするインストール処理の少なくとも一つである、
方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、処理異常検知のための情報管理装置、システム、コンピュータプログラム及び方法に関する。
【背景技術】
【0002】
特許文献1は、車両に搭載された車載機器の記憶部に記憶されたプログラム又はデータの更新を開示している。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2018-100002号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
近年、車両に、車両外部との通信機能を追加したコネクティッドカーが主流になろうとしている。コネクティッドカーの普及により、プログラム又はデータなどのソフトウェアの更新が、無線通信などの通信機能を使用して行われることになる。
【0005】
しかし、車両のように、外部と通信可能な機器は、外部からクラッキングされるおそれがある。車両の場合、クラッキングにより、車両が車外から遠隔操作される懸念が生じる。このため、機器において実行されるソフトウェア更新などの処理が、正当なものでない場合には、それを検知することが望まれる。特に、異常な処理であっても、正常な処理と同じ実施手順で実行された場合には、異常の検知が困難であるが、そのような場合であっても、異常を検知することが望まれる。
【課題を解決するための手段】
【0006】
本開示のある側面は、情報管理装置である。情報管理装置は、異常の検知処理を実行するプロセッサを備え、前記検知処理は、機器において実行される処理の実行時期を示す実行時期情報を、前記機器から取得し、前記実行時期情報が示す前記実行時期と、前記機器において前記処理の実行が許容される実行許容期間と、を対比した結果に基づいて、前記機器における前記処理の実行の異常を検知することを含む。
【0007】
本開示の他の側面は、情報管理装置とコンピュータとを備えたシステムである。システムは、機器において実行される処理の実行時期を示す実行時期情報を前記機器から取得し、前記実行時期情報が示す実行時期と前記機器において前記処理の実行が許容される実行許容期間とを対比した結果に基づいて前記機器における前記処理の実行の異常を検知するよう構成された情報管理装置と、前記機器において実行される処理の実行時期を、前記時処理の実行が許容される実行許容期間を示す管理情報に基づいて管理するコンピュータと、を備え、前記情報管理装置は、前記管理情報を前記コンピュータから取得するよう構成されている。
【0008】
本開示の他の側面は、コンピュータプログラムである。コンピュータプログラムは、異常の検知処理をコンピュータに実行させる。前記検知処理は、機器において実行される処理の実行時期を示す実行時期情報を、前記機器から取得し、前記実行時期情報が示す実行時期と、前記機器において前記処理の実行が許容される実行許容期間と、を対比した結果に基づいて、前記機器における前記処理の実行の異常を検知する。
【0009】
本開示の他の側面は、方法である。方法は、情報管理装置が、機器において実行される処理の実行時期を示す実行時期情報を、前記機器から取得し、前記実行時期情報が示す実行時期と、前記機器において前記処理の実行が許容される実行許容期間と、を対比した結果に基づいて、前記機器における前記処理の実行の異常を検知することを含む。
【発明の効果】
【0010】
本開示によれば、機器において実行される処理が、実行許容期間から外れた異常なものである場合には、それを検知することができる。
【図面の簡単な説明】
【0011】
図1図1は、情報管理システムの構成を示す図である。
図2図2は、車両内ネットワーク図である。
図3図3は、管理情報データベースの説明図である。
図4図4は、正常ソフトウェア更新処理のタイミングチャートである。
図5図5は、正常なログと管理情報との対比説明図である。
図6図6は、検知処理のフローチャートである。
図7図7は、異常ソフトウェア更新処理のタイミングチャートである。
図8図8は、異常なログと管理情報との対比説明図である。
図9図9Aは、管理情報とログの他の例を示す図である。図9Bは、管理情報とログのさらに他の例を示す図である。
図10図10は、管理情報とログのさらに他の例を示す図である。
【発明を実施するための形態】
【0012】
[1.実施形態の概要]
【0013】
(1)実施形態に係る情報管理装置は、異常の検知処理を実行するプロセッサを備える。前記検知処理は、機器において実行される処理の実行時期を示す実行時期情報を、前記機器から取得することを含む。機器は、例えば、車両である。機器は、処理が実行される他の機器、例えば、モバイル機器などであってもよい。実行時期情報は、既に行われた処理の実行時期を示してもよいし、将来行われる予定の処理の実行時期(実行予定時期)を示すものであってもよい。
【0014】
前記検知処理は、前記実行時期情報が示す前記実行時期と、前記機器において前記処理の実行が許容される実行許容期間と、を対比した結果に基づいて、前記機器における前記処理の実行の異常を検知することを含む。本実施形態によれば、実行時期と実行許容時間との対比という簡易な処理により、異常を検知することができる。
【0015】
(2)前記機器において実行される前記処理は、前記機器におけるソフトウェアの更新処理を含むことができる。この場合、ソフトウェア更新の正当性を確認することができる。
【0016】
(3)前記機器において実行される前記処理は、前記実行許容期間を示す管理情報を有するコンピュータからソフトウェアを受信する受信処理を含み、前記実行時期は、前記受信処理の実行時期であるのが好ましい。この場合、ソフトウェアの受信処理の正当性を確認することができる。
【0017】
(4)前記機器において実行される処理は、前記機器が受信したソフトウェアを前記機器において実行可能にするインストール処理を含み、前記実行時期は、前記インストール処理の実行時期であるのが好ましい。この場合、インストール処理の正当性を確認することができる。
【0018】
(5) 前記機器において実行される処理は、ソフトウェアを受信する受信処理と、受信した前記ソフトウェアを前記機器において実行可能にするインストール処理と、を含み、前記実行時期は、前記受信処理の実行時期及び前記インストール処理の実行時期を含むことができる。この場合、受信処理及びインストール処理の正当性を確認することができる。
【0019】
(6)前記プロセッサは、前記実行許容期間を示す管理情報を有するコンピュータから、前記管理情報を取得する取得処理をさらに実行するよう構成され、前記検知処理において前記実行時期と対比される前記実行許容期間は、前記管理情報によって示される期間であるのが好ましい。この場合、情報管理装置は、実行許容時間を容易に把握することができる。
【0020】
(7)前記取得処理において前記管理情報の取得先となる前記コンピュータは、前記機器と通信可能であり、前記機器において実行される処理の実行時期を前記管理情報に基づいて管理するコンピュータであるのが好ましい。この場合、前記コンピュータが管理のため有している管理情報を、情報管理装置における異常検知に流用することができる。
【0021】
(8)前記検知処理は、前記処理が実行される前記機器の種類を示す情報を、前記機器から取得することをさらに含み、前記検知処理において前記実行時期と対比される前記実行許容期間は、前記機器の種類に応じた実行許容期間であるのが好ましい。この場合、機器の種類に応じて実行許容期間が異なっていても対応することができる。
【0022】
(9)前記機器は車両であるのが好ましい。
【0023】
(10)実施形態に係るシステムは、機器において実行される処理の実行時期を示す実行時期情報を前記機器から取得し、前記実行時期情報が示す実行時期と前記機器において前記処理の実行が許容される実行許容期間とを対比した結果に基づいて前記機器における前記処理の実行の異常を検知するよう構成された情報管理装置と、前記機器において実行される処理の実行時期を、前記処理の実行が許容される実行許容期間を示す管理情報に基づいて管理するコンピュータと、を備え、前記情報管理装置は、前記管理情報を前記コンピュータから取得するよう構成されている。
【0024】
(11)実施形態に係るコンピュータプログラムは、異常の検知処理をコンピュータに実行させる。前記検知処理は、機器において実行される処理の実行時期を示す実行時期情報を、前記機器から取得し、前記実行時期情報が示す実行時期と、前記機器において前記処理の実行が許容される実行許容期間と、を対比した結果に基づいて、前記機器における前記処理の実行の異常を検知することを含む。
【0025】
(12)実施形態に係る方法は、情報管理装置が、機器において実行される処理の実行時期を示す実行時期情報を、前記機器から取得し、前記実行時期情報が示す実行時期と、前記機器において前記処理の実行が許容される実行許容期間と、を対比した結果に基づいて、前記機器における前記処理の実行の異常を検知することを含む。
【0026】
[2 実施形態の詳細]
【0027】
[2.1 情報管理サーバ(情報管理装置)を備えた情報管理システム]
【0028】
図1は、実施形態に係る情報管理システム10を示している。情報管理システム10は、情報管理サーバ20を備える。実施形態に係る情報管理サーバ20は、処理が実行される機器における異常を、機器から受信したログに基づいて検知する情報管理装置として機能する。実施形態において、機器は、車両50である。実施形態において、車両50は、車外との通信機能を有するコネクティッドカーである。車両50は、無線通信経由でのソフトウェア更新(Software Over The Air:SOTA)が可能である。なお、ここでの、ソフトウェア更新は、ファームウェア更新(Firmware Over The Air: FOTA)を含むものとする。また、ソフトウェアは、プログラムであってもよいし、データであってもよい。
【0029】
情報管理サーバ20は、Security Information and Event Management(SIEM)として機能する。SIEMは、機器におけるファイアウォール及び不正侵入検知システム(Intrusion Detection System:IDS)などにおけるイベントを、複数の機器から収集して一元的に管理・保管し、脅威となる事象を把握する。実施形態の情報管理サーバ20は、複数の車両50内において発生した様々なイベントに関するログ(イベントの実行時期情報)を収集して蓄積する。情報管理サーバ20は、蓄積されたログを分析し、車両50への攻撃又は攻撃予兆などの異常を検知する。情報管理サーバ20は、異常が検知されると、異常情報を、他の車両50へ通知する。
【0030】
図2に示すように、車両50は、車外と無線通信するための通信機能を有する。車両50は、車外通信のための通信ユニット51を備える。通信ユニット51は、例えば、Telematics Communication Unit(TCU:)である。TCU51は、Central GateWay(CGW:ゲートウェイ)52を介して、車両内ネットワーク57に接続されている。車両内ネットワーク57には、複数のElectronic Control Unit(ECU:電子制御ユニット)55が接続されている。TCU51は、車両50内において行われた通信(例えば、TCU51とCGW52との間の通信、CGWとECU55との間の通信、又はECU55間の通信)のログ(車両ログ)を、無線通信により、車外へ送信する。ログは、定期的に送信されるか、又は、イベントドリブンにより送信される。車両50から送信されたログは、無線通信回線及び無線通信回線に接続されたネットワークを介して、情報管理サーバ20に到達する。情報管理サーバ20は、受信したログを蓄積する。なお、車外通信機能は、CGW52が担ってもよいし、TCU及びCGWの統合ユニットが担ってもよい。
【0031】
図1に戻り、情報管理サーバ20は、プロセッサ21及び記憶装置25を備えるコンピュータである。プロセッサ21は、記憶装置25に記憶されたコンピュータプログラム29を実行することにより、コンピュータを情報管理サーバ20として機能させる。コンピュータプログラム29は、プロセッサ21に後述の検知処理22を実行させる。また、コンピュータプログラム29は、プロセッサ21に後述の同期処理(取得処理)23を実行させる。
【0032】
記憶装置25は、管理情報データベース26を備える。管理情報データベース26は、後述のOTAサーバ40が備える管理情報データベース41と同期する。記憶装置25は、ログデータベース27を備える。ログデータベース27は、車両50から送信されたログを蓄積する。
【0033】
情報管理サーバ20は、インターネットなどのネットワーク30に接続されている。また、情報管理サーバ20は、無線通信経由で車両50との通信が可能である。
【0034】
実施形態の情報管理システム10は、Over The Air(OTA)サーバ40を備える。実施形態のOTAサーバ40は、車両50において用いられるソフトウェアを無線通信経由で更新させる。すなわち、OTAサーバ40は、ソフトウェアの更新管理サーバとして機能する。
【0035】
OTAサーバ40は、プロセッサ及び記憶装置を有するコンピュータである。OTAサーバ40は、ネットワーク30に接続されている。また、OTAサーバ40は、無線通信経由で車両50との通信が可能である。OTAサーバ40は、更新ソフトウェア42を、車両50に配信する。更新ソフトウェア42は、車両50のTCU51及びCGW53を経由して、車両50のECU55に送信される。ECU55は、更新ソフトウェアをインストールし、ECU55において実行可能にする。従来は、ディーラに車両50を持ち込んでソフトウェア更新をするのが一般的であったが、無線通信経由でのソフトウェア更新により、ディーラに車両50を持ち込む必要がなくなる。
【0036】
OTAサーバ40は、キャンペーンと呼ばれる管理情報261に基づいて、ソフトウェアの更新を管理する。管理情報261は、更新のスケジュール等が規定されている。図3に示すように、実施形態の管理情報261は、更新可能期間(実行許容期間)を示す情報91、対象車両(機器種別)を示す情報92、対象コンポーネント(対象ECU)を示す情報93、ソフトウェア名/ソフトウェアバージョンを示す情報94を有する。
【0037】
更新可能期間(実行許容期間)を示す情報91は、車両50がソフトウェア更新することが可能な期間を示す。車両50は、更新可能期間内においてのみソフトウェアを更新することが許容され、それ以外の期間ではソフトウェアを更新することができない。対象車両(機器種別)を示す情報92は、ソフトウェア更新をすべき車両50の種類を示す。ソフトウェア更新をすべき車両50は、例えば、リコールの対象となっている車両である。対象コンポーネント(対象ECU)を示す情報93は、車両50においてソフトウェアを更新すべきコンポーネントを示す。コンポーネントは、例えば、ECU55である。ソフトウェアが更新されるコンポーネントは、TCU又はCGWであってもよい。ソフトウェア名/ソフトウェアバージョンを示す情報94は、更新すべきソフトウェアの名称及びバージョンを示す。
【0038】
図1に戻り、ソフトウェア更新においては、まず、カーメーカ60が、更新ソフトウェア42をOTAサーバ40に登録するとともに、更新ソフトウェア42の更新のための管理情報261をOTAサーバ40に登録する。管理情報261は、OTAサーバ40の管理情報データベース41に格納される。
【0039】
OTAサーバ40の管理情報データベース41と、情報管理サーバ20の管理情報データベース26と、は同期しており。両データベース26,41の内容は一致する。同期のため、情報管理サーバ20は、OTAサーバ40との間で、同期処理23を実行する。同期処理23は、定期的又は管理情報データベース41の内容に変更があったときに実行される。したがって、OTAサーバ40に新規に登録された管理情報261は、情報管理サーバ20にも登録が反映される。なお、同期処理23は、情報管理サーバ20が、OTAサーバ40から管理情報261を取得する取得処理でもある。
【0040】
OTAサーバ40は、登録された管理情報261に基づいて、ソフトウェア更新のための処理を実行する。図4に示すように、まず、OTAサーバ40は、管理情報261が示す更新可能期間になると、ソフトウェア更新通知を車両50へ送信する(ステップS101)。ソフトウェア更新通知が送信される車両50は、管理情報261が示す対象車両に該当する車両(ソフトウェア更新が必要な車両)である。なお、ここでは、ECUのファームウェアが更新されるものとする。
【0041】
ソフトウェア更新通知を受けた車両50のTCU51は、OTAサーバ40にアクセスし、管理情報261の内容を確認する(ステップS102)。管理情報261の内容確認により、車両50は、更新可能期間を把握できるため、その更新可能期間内にソフトウェア更新が完了するように動作する。具体的には、TCU51は、OTAサーバ40から更新ソフトウェア42をダウンロード(受信)する(ステップS103)。なお、何らかの都合により、更新可能期間内にソフトウェア更新が完了できないと判断される場合には、車両50は、更新を実行しない。したがって、正常に更新が行われる限りは、更新可能期間外にソフトウェア更新が行われることはない。
【0042】
車両50のCGW53は、定期的に、ソフトウェア更新の有無を確認する問い合わせをTCU51に対して行う(ステップS201)。TCU51は、更新ソフトウェア42をダウンロードしている場合には、ステップS201の問い合わせに対して、「更新あり」をCGW53に対して通知する(ステップS202)。すると、CGW53は、TCU52に対して、更新ソフトウェアを要求する(ステップS203)。要求を受けたTCU51は、更新ソフトウェアをCGW53へ転送する(ステップS204)。CGW53は、更新ソフトウェアを対象ECU55へ転送する(S301)。対象ECU55は、更新ソフトウェアをインストールし、対象ECU55において、更新ソフトウェアを実行可能にする(ステップS401)。以上により、ソフトウェア更新が完了する。
【0043】
車両50は、上記のソフトウェア更新の処理のうち、TCU51とCGW53間においてソフトウェア要求(ステップS203)又はソフトウェア転送(ステップS204)の通信が発生した時刻を記録する。ここでは、ソフトウェア要求(ステップS203)又はソフトウェア転送(ステップS204)の通信は、「ソフトウェア更新のための通信」というイベントとして扱われる。
【0044】
TCU51は、「ソフトウェア更新のための通信」のログ(実行時期情報)271を情報管理サーバ20へアップロードする(ステップS501)。アップロードは、「ソフトウェア更新のための通信」が発生したタイミングで行われてもよいし、定期的なアップロードタイミングで行われてもよい。アップロードされたログ271は、ログデータベース27に蓄積される。なお、車両50は、「ソフトウェア更新のための通信」イベントを示すログ271に限らず、車両50内において発生する様々なイベントを示す多数のログを送信する。
【0045】
図5には、ログ271の例が示されている。ログ271は、ログ送信元の車両ID、イベントの発生日時(実行時期)、及びイベント内容を示す情報を含む。ログ送信元の車両IDは、ログ送信元をユニークに識別するために用いられてもよいし、送信元の車両50の種類を識別したりするために用いられてもよい。図5では、イベントの発生日時は、2018年11月1日 11:00であり、イベント内容は、「ソフトウェア更新のための通信」である。なお、実行時期情報であるログ271は、一般的には、既に発生したイベント(処理)の実行時期を示すが、実施形態においては、実行時期情報は、将来実行する予定の処理の実行時期を示すものであってもよい。
【0046】
情報管理サーバ20は、受信したログ271に基づいて異常を検知する検知処理22を実行する。図6に示すように、検知処理22において、情報管理サーバ20は、まず、ログ271を受信する(ステップS11)。ログ271を受信することにより、情報管理サーバ20は、ログ271の内容を把握できる。続いて、情報管理サーバ20は、ログ271を分析する(ステップS12)。分析の結果、ログ271が示すイベント、管理情報(キャンペーン)261と対比すべきイベント(ここでは、「ソフトウェア更新のための通信」)である場合には、ステップS13が実行される。ステップS13では、分析結果(ログ271の内容)と管理情報(キャンペーン)261との対比がなされる。
【0047】
実施形態において、ログ271と対比されるべき管理情報261は、管理情報データベース26に格納された複数の管理情報261の中から選択される。情報管理サーバ20は、受信したログ271が示す車両IDから、ログ271の送信元の車種を識別する。情報管理サーバ20は、識別された車種についての管理情報261を、管理情報データベース26から選択する。具体的には、管理情報261の情報92が示す車種が、ログ271の送信元の車種に対応している管理情報261が、選択される。例えば、ログ271から識別された車種が「AAA」であれば、情報92が車種「AAA」を示している管理情報261が選択される。なお、ログ271は、車種を直接的に示す情報を有していてもよく、その場合、情報管理サーバ20は、ログ271中の車種を示す情報から車種を識別することができる。
【0048】
図5には、対象車両を示す情報92が「AAA」である管理情報261、すなわち、車種「AAA」についての管理情報261が示されている。ログ271の車両IDから識別される車種が「AAA」である場合、そのログ271は、図5に示す管理情報261と対比される。実施形態においては、ログ271が示すイベント発生日時(ソフトウェア更新の実行時期)と、管理情報261が示す更新可能期間と、が対比される。
【0049】
ステップS14において、情報管理サーバ20は、ログ271の内容と、管理情報(キャンペーン)261の内容と、に不一致があるかどうかが判定される。不一致がある場合、情報管理サーバ20は、ソフトウェアの不正更新、すなわち異常、を検知する(ステップS15)。不一致がなければ、異常は検知されない。図5に示すログ271の場合、ソフトウェア更新のための通信が発生した日時は、2018年11月01日11:00であり、この日時は、対比される管理情報261が示す更新可能期間である2018年11月01日10:00-12:00内に収まっている。したがって、ログ271の内容と、管理情報(キャンペーン)261の内容と、は一致しており、異常は検知されない。
【0050】
一般に、ログから異常を検知するには、ログから異常を検知するために構築された異常検知モデルを用いることが考えられるが、異常検知モデルを構築するには、専門的で高度な知識が必要である。また、モデル構築のための労力が必要となる。これに対して、本実施形態によれば、ログ271と管理情報261との対比という簡単な処理により異常検知が行える。
【0051】
本実施形態では、異常検知を簡単に行うため、ソフトウェア更新などの特定の処理においては、その処理の実行が許容される期間が、あらかじめ決まっていることを利用している。すなわち、処理が正当に実行されているのであれば、その処理の実行時期は、実行許容期間内に収まっているはずである。したがって、処理の実行時期が、実行許容期間から外れていれば、異常であるとみなされる。
【0052】
図5に示す例では、車種「AAA」の車両50について、ソフトウェア更新が行われるのは、ソフトウェア更新の実行許容期間である更新可能期間2018年11月01日10:00-12:00内に限られており、正常な車両50であれば、この更新可能期間外にソフトウェア更新を行うことはない。すなわち、正常な車両50は、更新可能期間外に更新処理を実行しようとしないし、OTAサーバ40も、更新可能期間外での更新処理を許可しないため、正常な車両50とOTAサーバ40間では、更新可能期間外の更新処理は起こらない。
【0053】
これに対して、クラッキングなどにより異常が生じている車両50は、OTAサーバ40以外の不正なサーバ(例えば、Command and Control(C&C)サーバ)にアクセスして、不正ソフトウェアをダウンロードし、ソフトウェア更新をすることがある。不正ソフトウェアのダウンロード等は、OTAサーバ40が管理する更新可能期間とは無関係に行われるため、更新可能期間外の更新処理になりやすい。本実施形態では、このことを利用して、不正ソフトウェアのダウンロードなどの異常を検知する。
【0054】
図7は、不正ソフトウェアが異常更新される例を示している。まず、攻撃者(Attacker)70は、車両50に侵入し(ステップS601)、バックドア(マルウェア)を仕掛ける(ステップS602)。すると、車両50のTCU51は、マルウェアをインストールする(ステップS701)。これにより、TCU51は、マルウェアに感染する。マルウェアに感染したTCU51は、C&Cサーバ(不正サーバ)80から、更新用の不正ソフトウェアをダウンロードする(ステップS603)。
【0055】
車両50のCGW53は、定期的に、ソフトウェア更新の有無を確認する問い合わせをTCU51に対して行う(ステップS201)。したがって、TCU51が、更新用の不正ソフトウェアをダウンロードすると、TCU51は、ステップS201の問い合わせに対して、「更新あり」をCGW53に対して通知する(ステップS202)。すると、CGW53は、TCU52に対して、更新ソフトウェアを要求する(ステップS203)。要求を受けたTCU51は、更新ソフトウェアをCGW53へ転送する(ステップS204)。CGW53は、更新ソフトウェアを対象ECU55へ転送する(S301)。対象ECU55は、更新ソフトウェアをインストールし、対象ECU55において、更新ソフトウェアを実行可能にする(ステップS401)。以上により、ソフトウェア更新が完了する。更新されたソフトウェアは不正なものであるため、車両50は異常な挙動を起こすことがある。
【0056】
車両50は、上記のソフトウェア更新の処理のうち、TCU51とCGW53間においてソフトウェア要求(ステップS203)又はソフトウェア転送(ステップS204)の通信が発生した時刻を記録する。
【0057】
TCU51は、「ソフトウェア更新のための通信」のログ271を情報管理サーバ20へアップロードする(ステップS501)。
【0058】
上記のような不正ソフトウェアの更新処理において、車両50内のTCU51-CGW53-ECU55間で行われる手順(ステップS201からステップS204、ステップS301、及びステップS401)自体は、図4に示す正常な場合の手順と同じである。したがって、車両50内で生じるイベントとしては、図4の場合も図7の場合も共通しており、車両50内で生じるイベントを示すログも共通したものとなる。このため、図4の手順で送信されるログ271を正常として扱い、図7の手順で送信されるログ271を異常として取り扱うのは、一般的には容易ではない。
【0059】
しかし、本実施形態では、ログ271と管理情報261と対比することで、図7の手順で送信されたログ271から異常を容易に検知することができる。図8は、図7の手順で送信されたログ271の例と、そのログ271と対比される管理情報261の例を示している。情報管理サーバ20は、受信したログ271の車両IDから識別される車種が「AAA」である場合、車種「AAA」についての管理情報261を管理情報データベース26から読み出し、ログ271と対比する。
【0060】
図8に示すログ271の場合、ソフトウェア更新のための通信が発生した日時は、2018年11月01日9:00であり、この日時は、対比される管理情報261が示す更新可能期間である2018年11月01日10:00-12:00外である。したがって、ログ271の内容と、管理情報(キャンペーン)261の内容と、は不一致である。不一致であるということは、管理情報261に基づく情報管理サーバ20での管理外での処理が行われたことを示す。情報管理サーバ20は、不一致である場合に、ログ271が示すソフトウェア更新は異常であることを検知する。
【0061】
情報管理サーバ20又はその管理者は、異常が検知されると、ログ271の送信元の車両50への対処を行うことができる。また、情報管理サーバ20は、ログ271の送信元以外の車両50へ異常に関する情報(異常が発生した車両の情報、攻撃者情報など)を通知することができる。
【0062】
ソフトウェア更新などの処理の正当性は、処理に用いられるデータ(ソフトウェア)の暗号化又は認証といった手段によっても確認することができるが、本実施形態では、それ以外に、処理の実行時期という観点から、処理の正当性を確認することができる。したがって、他の異常検知手法に加えて、本実施形態の異常検知手法を採用することで、攻撃に対する多層防御が可能となる。
【0063】
なお、本実施形態において、ログ271は、既に実行された処理の実行時期を示しているため、異常の検知は、処理の実行後にしか検知されない。しかし、車両50がこれから実行しようとする処理の実行時期(実行予定時期)を、あらかじめ情報管理サーバ20に実行時期情報としてアップロードすることで、処理の実行前に異常を検知することも可能である。
【0064】
図9A図9B、及び図10は、対比されるログ271及び管理情報261の他の例を示している。図9Aに示す管理情報261では、ソフトウェア更新処理のうち、更新ソフトウェアのダウンロードという処理の実行可能期間(ダウンロード可能期間)が、2018年11月01日10:00-12:00に設定されている。図9Aに示す管理情報261は、ソフトウェア更新のためのダウンロード処理(ソフトウェアの受信処理)が、ダウンロード可能期間内において可能であることを示している。この場合、ダウンロード後のインストールは、ダウンロード可能期間後に行われてもよい。
【0065】
図9Aに示す管理情報261と対比されるログ271は、車両50における「ソフトウェアダウンロード」イベントのログ271である。図9Aの例では、ソフトウェアダウンロードが実行された日時は、2018年11月01日11:00であり、管理情報261が示すダウンロード可能期間である2018年11月01日10:00-12:00内であるから正常なダウンロード処理であると判断される。
【0066】
図9Bに示す管理情報261では、ソフトウェア更新処理のうち、更新ソフトウェアのインストールという処理の実行可能期間(インストール可能期間)が、2018年11月01日10:00-13:00に設定されている。図9Bに示す管理情報261は、ソフトウェア更新のためのインストール処理が、インストール可能期間内において可能であることを示している。この場合、インストール前に行われるダウンロードは、インストール可能期間前に行われてもよい。
【0067】
図9Bに示す管理情報261と対比されるログ271は、車両50における「ソフトウェアインストール」イベントのログ271である。図9Bの例では、ソフトウェアインストールが実行された日時は、2018年11月01日12:30であり、管理情報261が示すインストール可能期間である2018年11月01日10:00-13:00内であるから正常なインストール処理であると判断される。
【0068】
図10に示す管理情報261では、ダウンロード可能期間及びインストール可能期間の両方が設定されている。図10では、ダウンロード可能期間は、2018年11月01日10:00-12:00に設定され、インストール可能期間は、2018年11月01日10:00-13:00に設定されている
【0069】
図10に示す管理情報261は、車両50における「ソフトウェアダウンロード」イベントのログ271a及び「ソフトウェアインストール」イベントのログ271bと対比される。図10の例では、ソフトウェアダウンロードが実行された日時は、2018年11月01日11:00であり、管理情報261が示すダウンロード可能期間である2018年11月01日10:00-12:00内であるから正常なダウンロード処理であると判断される。また、ソフトウェアインストールが実行された日時は、2018年11月01日12:30であり、管理情報261が示すインストール可能期間である2018年11月01日10:00-13:00内であるから正常なインストール処理であると判断される。
【0070】
[3.付記]
【0071】
なお、今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味、及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0072】
10 :情報管理システム
20 :情報管理サーバ
21 :プロセッサ
22 :検知処理
23 :同期処理
25 :記憶装置
26 :管理情報データベース
27 :ログデータベース
29 :コンピュータプログラム
30 :ネットワーク
40 :OTAサーバ(コンピュータ)
41 :管理情報データベース
42 :更新ソフトウェア
50 :車両
55 :ECU
57 :車両内ネットワーク
60 :カーメーカ
91 :情報
92 :情報
93 :情報
94 :情報
261 :キャンペーン(管理情報)
271 :ログ(実行時期情報)
271a :ログ(実行時期情報)
271b :ログ(実行時期情報)
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10