(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-06-15
(45)【発行日】2023-06-23
(54)【発明の名称】異常検知装置、異常検知方法及びプログラム
(51)【国際特許分類】
G06F 21/55 20130101AFI20230616BHJP
【FI】
G06F21/55 320
G06F21/55 340
(21)【出願番号】P 2022556411
(86)(22)【出願日】2021-07-20
(86)【国際出願番号】 JP2021027124
(87)【国際公開番号】W WO2022085260
(87)【国際公開日】2022-04-28
【審査請求日】2023-01-20
(31)【優先権主張番号】P 2020177337
(32)【優先日】2020-10-22
(33)【優先権主張国・地域又は機関】JP
【早期審査対象出願】
(73)【特許権者】
【識別番号】314012076
【氏名又は名称】パナソニックIPマネジメント株式会社
(74)【代理人】
【識別番号】100109210
【氏名又は名称】新居 広守
(74)【代理人】
【識別番号】100137235
【氏名又は名称】寺谷 英作
(74)【代理人】
【識別番号】100131417
【氏名又は名称】道坂 伸一
(72)【発明者】
【氏名】横田 薫
(72)【発明者】
【氏名】藤井 崇之
(72)【発明者】
【氏名】中野 稔久
【審査官】平井 誠
(56)【参考文献】
【文献】特開2019-125867(JP,A)
【文献】特開2011-070505(JP,A)
【文献】特開2019-120433(JP,A)
【文献】特開2016-057773(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/55
(57)【特許請求の範囲】
【請求項1】
移動体における異常を検知する異常検知装置であって、
検知された異常の種別を判定する種別判定部と、
前回検知された異常の種別と今回検知された異常の種別との間に変化があるか否かを判定する種別変化判定部と、
前記変化がない場合、今回検知された異常に関する異常検知ログを送信せず、前記変化がある場合、今回検知された異常に関する異常検知ログを送信する異常検知ログ送信部と、を備える、
異常検知装置。
【請求項2】
さらに、
ハートビート信号を定期的に送信するハートビート信号送信部と、
ハートビート信号が送信されるまでの所定の期間に異常が検知されたことを示す情報を含む異常検知結果を保持する保持部と、を備え、
前記ハートビート信号送信部は、前記所定の期間に異常が検知された場合、前記保持部に保持された異常検知結果に含まれる異常が検知されたことを示す情報を含むハートビート信号を送信する、
請求項1に記載の異常検知装置。
【請求項3】
さらに、
ハートビート信号を定期的に送信するハートビート信号送信部と、
ハートビート信号が送信されるまでの所定の期間に検知された異常の種別を含む異常検知結果を保持する保持部と、を備え、
前記ハートビート信号送信部は、前記所定の期間に異常が検知された場合、前記保持部に保持された異常検知結果に含まれる異常の種別を含むハートビート信号を送信する、
請求項1又は2に記載の異常検知装置。
【請求項4】
ハートビート信号が送信される際に、前記保持部に保持された異常検知結果が消去される、
請求項2又は3に記載の異常検知装置。
【請求項5】
前記所定の期間は、前回ハートビート信号が送信されてから今回ハートビート信号が送信されるまでの期間である、
請求項2~4のいずれか1項に記載の異常検知装置。
【請求項6】
さらに、異常検知ログが送信されたとき、及び、ハートビート信号が送信されたときにリセットされるタイマーを備え、
前記ハートビート信号送信部は、前記タイマーがリセットされてから一定時間異常検知ログが送信されなかった場合にハートビート信号を送信する、
請求項2~5のいずれか1項に記載の異常検知装置。
【請求項7】
異常検知ログが送信される際に、前記保持部に保持された異常検知結果が消去される、
請求項6に記載の異常検知装置。
【請求項8】
前記所定の期間は、前記タイマーがリセットされてからハートビート信号が送信されるまでの期間である、
請求項6又は7に記載の異常検知装置。
【請求項9】
移動体における異常を検知する
異常検知装置により実行される異常検知方法であって、
検知された異常の種別を判定し、
前回検知された異常の種別と今回検知された異常の種別との間に変化があるか否かを判定し、
前記変化がない場合、今回検知された異常に関する異常検知ログを送信せず、前記変化がある場合、今回検知された異常に関する異常検知ログを送信する、
異常検知方法。
【請求項10】
請求項9に記載の異常検知方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、異常を検知する異常検知装置、異常検知方法及びプログラムに関する。
【背景技術】
【0002】
特許文献1には、複数の車両の各々の車内に設置されたサイバーウォッチマンと、車外に設置されたサイバーハブとを備える自動車安全システムが開示されている。サイバーウォッチマンは、車載通信ネットワークに接続され、車載通信ネットワーク上の通信トラフィックデータを取得する。サイバーハブは、例えばインターネットなどの通信ネットワークを介して、サイバーウォッチマンからサイバーウォッチマンが取得した通信トラフィックデータを受信する。これにより、サイバーハブは、複数の車両から通信トラフィックデータを集約することができ、車両のサイバー攻撃に対する高次の情報を取得することができる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記従来技術では、サイバーハブは、サイバーウォッチマンから膨大なデータを受信するため、通信データ量が膨大になる場合がある。
【0005】
そこで、本開示は、通信データ量を削減できる異常検知装置等を提供する。
【課題を解決するための手段】
【0006】
本開示の一態様に係る異常検知装置は、移動体における異常を検知する異常検知装置であって、検知された異常の種別を判定する種別判定部と、前回検知された異常の種別と今回検知された異常の種別との間に変化があるか否かを判定する種別変化判定部と、前記変化がない場合、今回検知された異常に関する異常検知ログを送信せず、前記変化がある場合、今回検知された異常に関する異常検知ログを送信する異常検知ログ送信部と、を備える。
【0007】
また、本開示の一態様に係る異常検知方法は、移動体における異常を検知する異常検知方法であって、検知された異常の種別を判定し、前回検知された異常の種別と今回検知された異常の種別との間に変化があるか否かを判定し、前記変化がない場合、今回検知された異常に関する異常検知ログを送信せず、前記変化がある場合、今回検知された異常に関する異常検知ログを送信する処理を含む。
【0008】
また、本開示の一態様に係るプログラムは、上記の異常検知方法をコンピュータに実行させるためのプログラムである。
【発明の効果】
【0009】
本開示の一態様に係る異常検知装置等によれば、通信データ量を削減できる。
【図面の簡単な説明】
【0010】
【
図1】
図1は、実施の形態における異常検知システムの一例を示す構成図である。
【
図2】
図2は、比較例における異常検知ログの送信タイミングを説明するための図である。
【
図3】
図3は、実施の形態における異常検知装置の一例を示す構成図である。
【
図4】
図4は、実施の形態における異常検知装置の動作の一例を示すフローチャートである。
【
図5】
図5は、実施の形態における異常検知ログ及びハートビート信号の送信タイミングの一例を示すタイミングチャートである。
【
図6】
図6は、実施の形態における異常検知装置の動作の他の一例を示すフローチャートである。
【
図7】
図7は、実施の形態における異常検知ログ及びハートビート信号の送信タイミングの他の一例を示すタイミングチャートである。
【
図8】
図8は、その他の実施の形態における異常検知方法の一例を示すフローチャートである。
【発明を実施するための形態】
【0011】
(実施の形態)
以下、実施の形態における異常検知装置について図面を参照しながら説明する。
【0012】
[異常検知システムの構成]
まず、実施の形態における異常検知装置が適用された異常検知システムについて、
図1を用いて説明する。
【0013】
図1は、実施の形態における異常検知システム1の一例を示す構成図である。
【0014】
異常検知システム1は、複数の異常検知装置10と攻撃判定装置20とを備えるシステムであり、移動体への攻撃を判定する。
【0015】
異常検知装置10は、移動体におけるネットワークや機器が攻撃されたときに発生する、移動体におけるネットワーク及び機器の異常を検知する装置である。例えば、ネットワークは自動車における車載ネットワークであり、異常検知装置10は自動車に搭載され、車載ネットワークの通信の異常を検知する。また、機器は例えば自動車内のECU(Electronic Control Unit)であり、異常検知装置10は機器に接続若しくは機器内に組み込まれており、機器の動作の異常を検知する。例えば、複数の異常検知装置10のうち、ある異常検知装置10は、CAN(Control Area Network)バストラフィックの異常を検知し、ある異常検知装置10は、Ethernet(登録商標)バストラフィックの異常を検知し、ある異常検知装置10は、自身が接続されている、若しくは、組み込まれているECUの動作の異常を検知する。異常検知装置10は、異常を検知した場合、異常検知結果から当該異常に関する異常検知ログを生成する。異常検知ログには、検知された異常の種別、当該異常を検知した異常検知装置10の情報(識別情報等)及び当該異常を検知した検知時刻等が含まれる。異常検知装置10は、生成した異常検知ログを攻撃判定装置20に送信する。
【0016】
攻撃判定装置20は、複数の異常検知装置10から送信される異常検知ログを集約する装置である。攻撃判定装置20は、集約した異常検知ログを用いて、ネットワークへの攻撃についての判定を行う。
【0017】
本開示では、異常検知装置10は、生成した全ての異常検知ログを攻撃判定装置20に送信しない。生成した全ての異常検知ログが送信される場合、以下の比較例で説明する問題が生じるためである。
【0018】
[比較例]
図2は、比較例における異常検知ログの送信タイミングを説明するための図である。
図2において、横軸は時刻であり、「異常検知結果」の行において丸で囲った「A」、「B」及び「C」は、種別A、B及びCの異常が検知されたことを示し、「異常検知ログ送信」の行において丸で囲った「A」、「B」及び「C」は、種別A、B及びCの異常に関する異常検知ログが送信されたことを示す。
【0019】
図2に示されるように、比較例では、異常が検知されるごとに異常検知ログが生成され、その都度、異常検知ログが送信されていることがわかる。比較例では、異常が検知されるごとに各異常検知装置から膨大な異常検知ログが攻撃判定装置20に送信されるため、通信データ量が膨大になる。これに対して、本開示の異常検知装置10によれば、通信データ量を削減できる。以下、通信データ量を削減できる異常検知装置10について説明する。
【0020】
[異常検知装置の構成]
図3は、実施の形態における異常検知装置10の一例を示す構成図である。
【0021】
異常検知装置10は、移動体(ここでは自動車)における異常を検知するためのコンピュータである。例えば、異常検知装置10は、自動車或いは自動車内のECUに搭載され、CANバストラフィック、Ethernetバストラフィック又はECUの動作を監視する。また、異常検知装置10は、これらを監視することで、これらの異常を検知し、異常検知ログを攻撃判定装置20へ送信する。また、異常検知装置10は、死活監視のためにハートビート信号を攻撃判定装置20へ送信する機能を有する。
【0022】
異常検知装置10は、プロセッサ、メモリ及び通信インタフェース等を含む。メモリは、ROM(Read Only Memory)及びRAM(Random Access Memory)等であり、プロセッサにより実行されるプログラムを記憶することができる。異常検知装置10は、制御部101、監視対象ログ取得部102、種別判定部103、変化判定用一時保持部104、種別変化判定部105、異常検知ログ送信判定部106、異常検知ログ送信部107、タイマー108、ハートビート信号用一時保持部109、ハートビート信号生成部110及びハートビート信号送信部111を備える。制御部101、種別判定部103、種別変化判定部105、異常検知ログ送信判定部106、タイマー108及びハートビート信号生成部110は、メモリに格納されたプログラムを実行するプロセッサ等によって実現される。監視対象ログ取得部102、異常検知ログ送信部107及びハートビート信号送信部111は、通信インタフェースによって実現される。変化判定用一時保持部104及びハートビート信号用一時保持部109は、メモリによって実現される。プログラムが記憶されるメモリ、変化判定用一時保持部104及びハートビート信号用一時保持部109は、それぞれ別のメモリであってもよいし、1つのメモリであってもよい。なお、異常検知装置10は、自動車等と通信可能に接続されたサーバであってもよい。また、異常検知装置10を構成する構成要素は、複数のサーバに分散して配置されていてもよく、異常検知装置10は異常検知システムであってもよい。
【0023】
制御部101は、監視対象ログ取得部102、種別判定部103、変化判定用一時保持部104、種別変化判定部105、異常検知ログ送信判定部106、異常検知ログ送信部107、タイマー108、ハートビート信号用一時保持部109、ハートビート信号生成部110及びハートビート信号送信部111を制御する。
【0024】
監視対象ログ取得部102は、監視対象のログを取得する。異常検知装置10の監視対象がCANバストラフィックの場合、監視対象ログ取得部102は、CANバスに流れるメッセージのログを取得する。異常検知装置10の監視対象がEthernetバストラフィックの場合、監視対象ログ取得部102は、Ethernetバスに流れるメッセージのログを取得する。異常検知装置10の監視対象がECU動作の場合、監視対象ログ取得部102は、ECUの動作ログを取得する。
【0025】
種別判定部103は、監視対象ログ取得部102によって取得された監視対象のログに基づいて、監視対象の異常を検知し、検知された異常の種別を判定する。種別判定部103は、異常の種別として、ネットワークの通信量の異常、ネットワークを流れるメッセージの異常(例えば、メッセージに含まれるメッセージIDの異常)、機器の動作異常(例えば、許可されていないデータやファイルへの読み書き、機器認証エラー)の種別を判定する。
【0026】
変化判定用一時保持部104は、種別判定部103によって判定された異常の種別を一時的に保持する。
【0027】
種別変化判定部105は、前回検知された異常の種別と今回検知された異常の種別との間に変化があるか否かを判定する。具体的には、種別変化判定部105は、変化判定用一時保持部104に保持された前回検知された異常の種別と、今回検知された異常の種別とを比較し、異常の種別に変化があるか否かを判定する。なお、当該判定後に、変化判定用一時保持部104に保持されていた前回検知された異常の種別は消去される。
【0028】
異常検知ログ送信判定部106は、前回検知された異常の種別と今回検知された異常の種別との間に変化がない場合、今回検知された異常に関する異常検知ログを送信しないと判定する。これにより、異常検知ログ送信部107は、今回検知された異常に関する異常検知ログを送信しない。異常検知ログ送信判定部106は、前回検知された異常の種別と今回検知された異常の種別との間に変化がある場合、今回検知された異常に関する異常検知ログを送信すると判定する。これにより、異常検知ログ送信部107は、今回検知された異常に関する異常検知ログを送信する。
【0029】
タイマー108は、異常検知装置10がハートビート信号を定期的に送信するためのタイマーであり、一定時間経過してタイマー108がタイムアウトしたときにハートビート信号が送信される。そして、ハートビート信号が送信されたときにタイマー108はリセットされ、再度一定時間経過してタイマー108がタイムアウトしたときにハートビート信号が送信される。これが繰り返されることで、ハートビート信号を定期的に送信することができる。
【0030】
ハートビート信号用一時保持部109は、異常検知結果を保持する保持部の一例である。ハートビート信号用一時保持部109が保持する異常検知結果は、ハートビート信号が送信されるまでの所定の期間に異常が検知されたことを示す情報を含む。或いは、ハートビート信号用一時保持部109が保持する異常検知結果は、ハートビート信号が送信されるまでの所定の期間に検知された異常の種別を含む。なお、ハートビート信号用一時保持部109が保持する異常検知結果は、所定の期間に異常が検知されたことを示す情報、及び、所定の期間に検知された異常の種別の両方を含んでいてもよい。ハートビート信号が送信される際に、ハートビート信号用一時保持部109に保持された異常検知結果が消去される。所定の期間は、例えば、前回ハートビート信号が送信されてから今回ハートビート信号が送信されるまでの期間(言い換えるとハートビート周期)である。すなわち、今回ハートビート信号が送信される直前のハートビート周期の異常検知結果がハートビート信号用一時保持部109に一時的に保持され、今回ハートビート信号が送信されると、ハートビート信号用一時保持部109に保持されている今回ハートビート信号が送信される直前のハートビート周期の異常検知結果が消去される。
【0031】
ハートビート信号生成部110は、タイマー108がタイムアウトしたときにハートビート信号を生成する。
【0032】
ハートビート信号送信部111は、ハートビート信号を定期的に送信する。具体的には、ハートビート信号送信部111は、タイマー108がタイムアウトするごとにハートビート信号生成部110によって生成されるハートビート信号を送信する。
【0033】
ハートビート信号生成部110は、ハートビート信号を送信するまでの所定の期間に異常が検知された場合、ハートビート信号用一時保持部109に保持された異常検知結果に含まれる異常が検知されたことを示す情報を含むハートビート信号を生成する。これにより、ハートビート信号送信部111は、ハートビート信号用一時保持部109に保持された異常検知結果に含まれる異常が検知されたことを示す情報を含むハートビート信号を送信する。或いは、ハートビート信号生成部110は、ハートビート信号を送信するまでの所定の期間に異常が検知された場合、ハートビート信号用一時保持部109に保持された異常検知結果に含まれる異常の種別を含むハートビート信号を生成する。これにより、ハートビート信号送信部111は、ハートビート信号用一時保持部109に保持された異常検知結果に含まれる異常の種別を含むハートビート信号を送信する。
【0034】
[異常検知装置の動作の一例]
次に、異常検知装置10の動作の一例について、
図4を用いて説明する。
【0035】
図4は、実施の形態における異常検知装置10の動作の一例を示すフローチャートである。
【0036】
まず、異常検知装置10は、変化判定用一時保持部104、ハートビート信号用一時保持部109、及び、タイマー108の初期化(リセット)を行う(ステップS101)。
【0037】
次に、異常検知装置10は、異常を検知したか否か、ハートビート信号の送信タイミングであるか否かを判定する(ステップS102)。異常検知装置10は、種別判定部103が異常を検知した場合、異常を検知したと判定する。また、異常検知装置10は、タイマー108がタイムアウトした場合、ハートビート信号の送信タイミングであると判定する。
【0038】
異常検知装置10は、異常を検知していない場合、或いは、ハートビート信号の送信タイミングでない場合(ステップS102でNo)、異常を検知するまで、或いは、ハートビート信号の送信タイミングとなるまで、ステップS102での処理を繰り返す。
【0039】
異常検知装置10(種別判定部103)は、異常を検知した場合(ステップS102で「異常検知」)、異常検知結果を変化判定用一時保持部104に一時的に保管する(ステップS103)。変化判定用一時保持部104に保持される異常検知結果には、検知された異常の種別が含まれる。
【0040】
次に、異常検知装置10(種別変化判定部105)は、前回検知された異常の種別と今回検知された異常の種別との間に変化があるか否かを判定する(ステップS104)。具体的には、異常検知装置10は、変化判定用一時保持部104に保持された前回検知された異常の異常検知結果に含まれる異常の種別と、変化判定用一時保持部104に保持された今回検知された異常の異常検知結果に含まれる異常の種別とを比較し、前回と今回とで異常の種別が変化しているか否かを判定する。
【0041】
異常検知装置10(異常検知ログ送信部107)は、前回検知された異常の種別と今回検知された異常の種別との間に変化がある場合(ステップS104でYes)、今回検知された異常に関する異常検知ログを送信する(ステップS105)。
【0042】
一方で、異常検知装置10(異常検知ログ送信部107)は、前回検知された異常の種別と今回検知された異常の種別との間に変化がない場合(ステップS104でNo)、今回検知された異常に関する異常検知ログを送信しない(ステップS106)。
【0043】
このように、検知された異常に関する異常検知ログが全て送信されるのではなく、前回検知された異常の種別と今回検知された異常の種別との間に変化がある場合のみ、今回検知された異常に関する異常検知ログが送信される。
【0044】
次に、異常検知装置10は、ハートビート信号の送信タイミングとなった場合(ステップS102で「ハートビートタイミング」)、所定の期間における異常検知結果を読み取る(ステップS107)。ハートビート信号用一時保持部109には、所定の期間に異常が検知されたことを示す情報を含む異常検知結果、又は、所定の期間に検知された異常の種別を含む異常検知結果が保持される。このため、異常検知装置10は、ハートビート信号用一時保持部109から所定の期間における異常検知結果を読み取ることができる。
【0045】
次に、異常検知装置10(ハートビート信号生成部110)は、ハートビート信号を生成する(ステップS108)。異常検知装置10は、所定の期間に異常が検知された場合、ハートビート信号用一時保持部109に保持された異常検知結果に含まれる、異常が検知されたことを示す情報又は異常の種別を含むハートビート信号を生成する。
【0046】
次に、異常検知装置10(ハートビート信号送信部111)は、生成されたハートビート信号を送信する(ステップS109)。
【0047】
次に、異常検知装置10は、所定の期間に異常が検知され、ハートビート信号用一時保持部109に異常検知結果が保持されている場合には、ハートビート信号用一時保持部109から所定の期間における異常検知結果を消去する(ステップS110)。
【0048】
そして、異常検知装置10は、ハートビート信号を定期的に送信するためのタイマー108をリセットする(ステップS111)。これにより、異常検知装置10は、ハートビート信号の次の送信タイミングとなった場合に、ハートビート信号を送信することができる。
【0049】
このように、ハートビート信号を送信するまでの所定の期間に異常が検知された場合、所定の期間に異常が検知されたことを示す情報、又は、所定の期間に検知された異常の種別を含むハートビート信号が送信される。
【0050】
次に、異常検知ログ及びハートビート信号の送信タイミングについて、
図5を用いて具体的に説明する。
【0051】
図5は、実施の形態における異常検知ログ及びハートビート信号の送信タイミングの一例を示すタイミングチャートである。なお、ここでは、所定の期間に検知された異常の種別を含むハートビート信号が送信される例について説明する。
【0052】
図5に示されるように、時刻ta、tb、tc、td及びteにハートビート信号が定期的に送信されていることがわかる。時刻ta及びtb間、時刻tb及びtc間、時刻tc及びtd間、並びに、時刻td及びte間は、ハートビート周期であり、所定の期間に対応する。
【0053】
時刻taにおいて、タイマー108がタイムアウトしてハートビート信号が送信され、タイマー108がリセットされる。時刻taにハートビート信号が送信されるまでの所定の期間(図示せず)に異常が検知されておらず、
図5において「None」と示すように、時刻taに送信されるハートビート信号には異常の種別が含まれていない。
【0054】
時刻t1において、種別判定部103は、異常を検知し、当該異常の種別を種別Aと判定する。なお、時刻t1以前に異常が検知されておらず、変化判定用一時保持部104には、前回検知された異常の種別が保持されていないとする。この場合には、種別変化判定部105は、前回検知された異常の種別と今回検知された異常の種別との間に変化があると判定する。異常検知ログ送信部107は、前回検知された異常の種別と今回検知された異常の種別との間に変化があると判定されたため、異常検知ログを送信する。ここでは、種別Aの異常に関する異常検知ログが送信される。時刻t1以前に異常が検知されていなかったため、当該異常検知ログを受信した攻撃判定装置20は、時刻t1に異常検知ログを受信することで、時刻t1に攻撃が開始されたと判定することができる。
【0055】
時刻t2において、種別判定部103は、異常を検知し、当該異常の種別を種別Aと判定する。前回検知された異常の種別が、種別Aであるため、種別変化判定部105は、前回検知された異常の種別と今回検知された異常の種別との間に変化がないと判定する。異常検知ログ送信部107は、前回検知された異常の種別と今回検知された異常の種別との間に変化がないと判定されたため、異常検知ログを送信しない。
【0056】
時刻t3において、種別判定部103は、異常を検知し、当該異常の種別を種別Bと判定する。前回検知された異常の種別が、種別Aであるため、種別変化判定部105は、前回検知された異常の種別と今回検知された異常の種別との間に変化があると判定する。異常検知ログ送信部107は、前回検知された異常の種別と今回検知された異常の種別との間に変化があると判定されたため、異常検知ログを送信する。ここでは、種別Bの異常に関する異常検知ログが送信される。
【0057】
時刻tbにおいて、タイマー108がタイムアウトしてハートビート信号が送信され、タイマー108がリセットされる。時刻tbにハートビート信号が送信されるまでの所定の期間(時刻ta及びtb間)に種別A及びBの異常が検知されており、時刻tbに送信されるハートビート信号には異常の種別A及びBが含まれる。ハートビート信号を受信した攻撃判定装置20は、時刻ta及びtb間に種別A及びBの異常が検知されたことを認識することができる。
【0058】
時刻t4において、種別判定部103は、異常を検知し、当該異常の種別を種別Bと判定する。前回検知された異常の種別が、種別Bであるため、種別変化判定部105は、前回検知された異常の種別と今回検知された異常の種別との間に変化がないと判定する。異常検知ログ送信部107は、前回検知された異常の種別と今回検知された異常の種別との間に変化がないと判定されたため、異常検知ログを送信しない。
【0059】
時刻t5において、種別判定部103は、異常を検知し、当該異常の種別を種別Cと判定する。前回検知された異常の種別が、種別Bであるため、種別変化判定部105は、前回検知された異常の種別と今回検知された異常の種別との間に変化があると判定する。異常検知ログ送信部107は、前回検知された異常の種別と今回検知された異常の種別との間に変化があると判定されたため、異常検知ログを送信する。ここでは、種別Cの異常に関する異常検知ログが送信される。
【0060】
時刻t6において、種別判定部103は、異常を検知しない。この場合には、種別変化判定部105は、前回検知された異常の種別と今回検知された異常の種別との間に変化がないと判定する。異常検知ログ送信部107は、前回検知された異常の種別と今回検知された異常の種別との間に変化がないと判定されたため、異常検知ログを送信しない。
【0061】
時刻tcにおいて、タイマー108がタイムアウトしてハートビート信号が送信され、タイマー108がリセットされる。時刻tcにハートビート信号が送信されるまでの所定の期間(時刻tb及びtc間)に種別B及びCの異常が検知されており、時刻tcに送信されるハートビート信号には異常の種別B及びCが含まれる。ハートビート信号を受信した攻撃判定装置20は、時刻tb及びtc間に種別B及びCの異常が検知されたことを認識することができる。
【0062】
時刻t7において、種別判定部103は、異常を検知し、当該異常の種別を種別Cと判定する。前回検知された異常の種別が、時刻t5において検知された異常の種別Cであるため、種別変化判定部105は、前回検知された異常の種別と今回検知された異常の種別との間に変化がないと判定する。異常検知ログ送信部107は、前回検知された異常の種別と今回検知された異常の種別との間に変化がないと判定されたため、異常検知ログを送信しない。
【0063】
時刻t8、t9、t10、t11、t12及びt13では、種別判定部103は、異常を検知しない。この場合には、種別変化判定部105は、前回検知された異常の種別と今回検知された異常の種別との間に変化がないと判定する。異常検知ログ送信部107は、前回検知された異常の種別と今回検知された異常の種別との間に変化がないと判定されたため、異常検知ログを送信しない。
【0064】
時刻tdにおいて、タイマー108がタイムアウトしてハートビート信号が送信され、タイマー108がリセットされる。時刻tdにハートビート信号が送信されるまでの所定の期間(時刻tc及びtd間)に種別Cの異常が検知されており、時刻tdに送信されるハートビート信号には異常の種別Cが含まれる。ハートビート信号を受信した攻撃判定装置20は、時刻tc及びtd間に種別Cの異常が検知されたことを認識することができる。
【0065】
時刻teにおいて、タイマー108がタイムアウトしてハートビート信号が送信され、タイマー108がリセットされる。時刻teにハートビート信号が送信されるまでの所定の期間(時刻td及びte間)に異常が検知されておらず、時刻teに送信されるハートビート信号には異常の種別が含まれていない。ハートビート信号を受信した攻撃判定装置20は、時刻td及びte間に異常が検知されなかったことを認識することができ、時刻td(具体的には、時刻t7、t8及びt9のいずれか時刻)に攻撃が終了したと判定することができる。
【0066】
[異常検知装置の動作の他の一例]
次に、異常検知装置10の動作の他の一例について、
図6を用いて説明する。
【0067】
図6は、実施の形態における異常検知装置10の動作の他の一例を示すフローチャートである。なお、
図4において説明した処理と同じものについては同じ符号を付して説明を省略する。
【0068】
ステップS105において異常検知ログが送信された場合、異常検知装置10は、所定の期間における異常検知結果を消去し(ステップS201)、ハートビート信号の送信のためのタイマー108をリセットする(ステップS202)。本例では、所定の期間は、タイマー108がリセットされてからハートビート信号が送信されるまでの期間である。
【0069】
本例では、タイマー108は、異常検知ログが送信されたとき、及び、ハートビート信号が送信されたときにリセットされる。このため、異常検知装置10(ハートビート信号送信部111)は、タイマー108がリセットされてから一定時間異常検知ログが送信されなかった場合にハートビート信号を送信する。言い換えると、異常検知装置10は、タイマー108がリセットされてから一定時間経過する前に異常検知ログを送信した場合には、本来ハートビート信号を送信するタイミングにハートビート信号を送信しない。本来ハートビート信号が送信されるタイミングにハートビート信号が送信されないため、ステップS201において所定の期間における異常検知結果も不要となり消去される。
【0070】
本例における異常検知ログ及びハートビート信号の送信タイミングについて、
図7を用いて具体的に説明する。
【0071】
図7は、実施の形態における異常検知ログ及びハートビート信号の送信タイミングの他の一例を示すタイミングチャートである。なお、ここでは、所定の期間に検知された異常の種別を含むハートビート信号が送信される例について説明する。また、ここでは、
図5と異なる点を中心に説明する。
【0072】
図5では、ハートビート信号は、ハートビート周期ごとに送信される例を示したが、
図7では、ハートビート信号は周期的に送信されないことがわかる。
【0073】
時刻taにおいて、タイマー108がタイムアウトしてハートビート信号が送信され、タイマー108がリセットされる。
【0074】
時刻taにおいてハートビート信号が送信された後、一定時間(具体的にはハートビート周期)が経過する前に、時刻t3において、異常検知ログが送信される。このため、時刻t3において、タイマー108がリセットされる。したがって、本来ハートビート信号が送信されるタイミングにハートビート信号が送信されない。例えば、ハートビート信号は、異常検知装置10の死活監視のために用いられるが、異常検知ログが送信されることで、当該異常検知ログをハートビート信号の代わりに死活監視に用いることができる。
【0075】
時刻t3にタイマー108がリセットされてから一定時間(ハートビート周期)経過する前に、時刻t5において、異常検知ログが送信され、時刻t5において、タイマー108がリセットされる。
【0076】
時刻t5にタイマー108がリセットされてから一定時間(ハートビート周期)異常検知ログが送信されず、時刻tbにおいて、タイマー108がタイムアウトしてハートビート信号が送信され、タイマー108がリセットされる。時刻tbにハートビート信号が送信されるまでの所定の期間(時刻t5及びtb間)に種別Cの異常が検知されており、時刻tbに送信されるハートビート信号には異常の種別Cが含まれる。ハートビート信号を受信した攻撃判定装置20は、時刻t5(すなわち前回種別Cの異常に関する異常検知ログが送信されたタイミング)及びtb間に種別Cの異常が検知されたことを認識することができる。
【0077】
時刻tcにおいて、タイマー108がタイムアウトしてハートビート信号が送信され、タイマー108がリセットされる。時刻tcにハートビート信号が送信されるまでの所定の期間(時刻tb及びtc間)に異常が検知されておらず、時刻tcに送信されるハートビート信号には異常の種別が含まれていない。ハートビート信号を受信した攻撃判定装置20は、時刻tb及びtc間に異常が検知されなかったことを認識することができ、時刻tb(具体的には、時刻t6、t7及びt8のいずれかの時刻)に攻撃が終了したと判定することができる。
【0078】
[まとめ]
異常検知装置10は、移動体(例えば自動車)における異常を検知する装置であって、検知された異常の種別を判定する種別判定部103と、前回検知された異常の種別と今回検知された異常の種別との間に変化があるか否かを判定する種別変化判定部105と、当該変化がない場合、今回検知された異常に関する異常検知ログを送信せず、当該変化がある場合、今回検知された異常に関する異常検知ログを送信する異常検知ログ送信部107と、を備える。
【0079】
これによれば、検知された異常に関する異常検知ログが全て送信されるのではなく、前回検知された異常の種別と今回検知された異常の種別との間に変化がある場合のみ、今回検知された異常に関する異常検知ログが送信される、このため、通信データ量を削減できる。なお、異常の種別に変化があるときの異常検知ログから異常検知の状態(具体的には、どの期間にどのような種別の異常が検知されていたか等)を再現することができる。また、異常検知ログについての通信データ量が削減されるため、異常検知装置10から送信された異常検知ログを記憶するストレージ容量(例えば攻撃判定装置20のストレージ容量)を削減できる。
【0080】
例えば、異常検知装置10は、さらに、ハートビート信号を定期的に送信するハートビート信号送信部111と、ハートビート信号が送信されるまでの所定の期間に異常が検知されたことを示す情報を含む異常検知結果を保持するハートビート信号用一時保持部109と、を備えていてもよい。ハートビート信号送信部111は、所定の期間に異常が検知された場合、ハートビート信号用一時保持部109に保持された異常検知結果に含まれる異常が検知されたことを示す情報を含むハートビート信号を送信してもよい。
【0081】
最後に異常検知ログが送信されてから異常の種別に変化がない場合、以降異常検知ログが送信されないため、異常を発生させた攻撃が終了したのか、継続しているのかを判定することが難しい。これに対して、ハートビート信号を送信するまでの所定の期間に異常が検知された場合、所定の期間に異常が検知されたことを示す情報を含むハートビート信号が送信される。このため、送信されたハートビート信号に異常が検知されたことを示す情報が含まれている場合には、攻撃が継続していると判定することができ、送信されたハートビート信号に異常が検知されたことを示す情報が含まれていない場合には、攻撃が終了したと判定することができる。
【0082】
例えば、異常検知装置10は、さらに、ハートビート信号を定期的に送信するハートビート信号送信部111と、ハートビート信号が送信されるまでの所定の期間に検知された異常の種別を含む異常検知結果を保持するハートビート信号用一時保持部109と、を備えていてもよい。ハートビート信号送信部111は、所定の期間に異常が検知された場合、ハートビート信号用一時保持部109に保持された異常検知結果に含まれる異常の種別を含むハートビート信号を送信してもよい。
【0083】
最後に異常検知ログが送信されてから異常の種別に変化がない場合、以降異常検知ログが送信されないため、異常を発生させた攻撃が終了したのか、継続しているのかを判定することが難しい。これに対して、ハートビート信号を送信するまでの所定の期間に異常が検知された場合、所定の期間に検知された異常の種別を含むハートビート信号が送信される。このため、送信されたハートビート信号に異常の種別が含まれている場合には、攻撃が継続していると判定することができ、送信されたハートビート信号に異常の種別が含まれていない場合には、攻撃が終了したと判定することができる。また、定期的に送信されるハートビート信号に異常の種別が含まれるため、ハートビート信号が送信されるタイミングごとにどのような種別の異常が発生したかを認識することができる。
【0084】
例えば、ハートビート信号が送信される際に、ハートビート信号用一時保持部109に保持された異常検知結果が消去されてもよい。
【0085】
ハートビート信号用一時保持部109に保持された、ハートビート信号が送信されるまでの所定の期間における異常検知結果は、当該ハートビート信号が送信されたときに不要となる。このため、不要な異常検知結果をハートビート信号用一時保持部109から削除して、次のハートビート信号が送信されるまでの所定の期間における異常検知結果をハートビート信号用一時保持部109に保持することができる。
【0086】
例えば、所定の期間は、前回ハートビート信号が送信されてから今回ハートビート信号が送信されるまでの期間であってもよい。
【0087】
これによれば、直前のハートビート周期において異常が検知されたことを示す情報、又は、直前のハートビート周期における異常の種別を含むハートビート信号を送信することができる。
【0088】
例えば、異常検知装置10は、さらに、異常検知ログが送信されたとき、及び、ハートビート信号が送信されたときにリセットされるタイマー108を備えていてもよい。ハートビート信号送信部111は、タイマー108がリセットされてから一定時間異常検知ログが送信されなかった場合にハートビート信号を送信してもよい。
【0089】
ハートビート信号は、異常検知装置10の死活監視のために用いられるが、ハートビート信号の代わりに異常検知ログを死活監視のために用いることもできる。そこで、ハートビート信号を送信するためのタイマー108が、異常検知ログが送信されたときにもリセットされる。これにより、タイマー108がリセットされてから一定時間経過するまでに異常検知ログが送信された場合にはハートビート信号が送信されなくても、異常検知ログによって異常検知装置10の死活監視が可能となる。したがって、ハートビート信号の送信回数の削減が可能となり、通信データ量のさらなる削減が可能となる。
【0090】
例えば、異常検知ログが送信される際に、ハートビート信号用一時保持部109に保持された異常検知結果が消去されてもよい。
【0091】
異常検知ログが送信されたときには、ハートビート信号を送信するためのタイマー108がリセットされ、ハートビート信号用一時保持部109に保持された、ハートビート信号が送信されるまでの所定の期間における異常検知結果が不要となる。このため、不要な異常検知結果をハートビート信号用一時保持部109から削除して、次のハートビート信号が送信されるまでの所定の期間における異常検知結果をハートビート信号用一時保持部109に保持することができる。
【0092】
例えば、所定の期間は、タイマー108がリセットされてからハートビート信号が送信されるまでの期間であってもよい。
【0093】
これによれば、タイマー108がリセットされてからハートビート信号が送信されるまでの期間において異常が検知されたことを示す情報、又は、当該期間における異常の種別を含むハートビート信号を送信することができる。
【0094】
(その他の実施の形態)
以上のように、本開示に係る技術の例示として実施の形態を説明した。しかしながら、本開示に係る技術は、これに限定されず、適宜、変更、置き換え、付加、省略等を行った実施の形態にも適用可能である。例えば、以下のような変形例も本開示の一実施の形態に含まれる。
【0095】
例えば、上記実施の形態では、異常検知装置10がハートビート信号送信部111及びハートビート信号用一時保持部109等、ハートビート信号の送信のための構成要素を備える例について説明したが、ハートビート信号の送信のための構成要素を備えていなくてもよい。
【0096】
例えば、上記実施の形態では、移動体として自動車(例えば自動車に搭載される車載ネットワーク)におけるセキュリティ対策について説明したが、本開示の適用範囲は自動車に限らない。例えば、本開示を、自動車に限らず、建機、農機、船舶、鉄道、飛行機などのモビリティにも適用してもよい。
【0097】
なお、本開示は、異常検知装置10として実現できるだけでなく、異常検知装置10を構成する各構成要素が行うステップ(処理)を含む異常検知方法として実現できる。
【0098】
図8は、その他の実施の形態における異常検知方法の一例を示すフローチャートである。
【0099】
異常検知方法は、
図8に示されるように、移動体における異常を検知する方法であって、検知された異常の種別を判定し(ステップS11)、前回検知された異常の種別と今回検知された異常の種別との間に変化があるか否かを判定し(ステップS12)、当該変化がない場合(ステップS12でNo)、今回検知された異常に関する異常検知ログを送信せず(ステップS13)、当該変化がある場合(ステップS12でYes)、今回検知された異常に関する異常検知ログを送信する(ステップS14)処理を含む。
【0100】
例えば、異常検知方法におけるステップは、コンピュータ(コンピュータシステム)によって実行されてもよい。そして、本開示は、異常検知方法に含まれるステップを、コンピュータに実行させるためのプログラムとして実現できる。
【0101】
さらに、本開示は、そのプログラムを記録したCD-ROM等である非一時的なコンピュータ読み取り可能な記録媒体として実現できる。
【0102】
例えば、本開示が、プログラム(ソフトウェア)で実現される場合には、コンピュータのCPU、メモリ及び入出力回路等のハードウェア資源を利用してプログラムが実行されることによって、各ステップが実行される。つまり、CPUがデータをメモリ又は入出力回路等から取得して演算したり、演算結果をメモリ又は入出力回路等に出力したりすることによって、各ステップが実行される。
【0103】
また、上記実施の形態の異常検知装置10に含まれる各構成要素は、専用又は汎用の回路として実現されてもよい。
【0104】
また、上記実施の形態の異常検知装置10に含まれる各構成要素は、集積回路(IC:Integrated Circuit)であるLSI(Large Scale Integration)として実現されてもよい。
【0105】
また、集積回路はLSIに限られず、専用回路又は汎用プロセッサで実現されてもよい。プログラム可能なFPGA(Field Programmable Gate Array)、又は、LSI内部の回路セルの接続及び設定が再構成可能なリコンフィギュラブル・プロセッサが、利用されてもよい。
【0106】
さらに、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて、異常検知装置10に含まれる各構成要素の集積回路化が行われてもよい。
【0107】
その他、実施の形態に対して当業者が思いつく各種変形を施して得られる形態、本開示の趣旨を逸脱しない範囲で各実施の形態における構成要素及び機能を任意に組み合わせることで実現される形態も本開示に含まれる。
【産業上の利用可能性】
【0108】
本開示は、例えば自動車に搭載される車載ネットワーク等における異常を検知する装置に適用できる。
【符号の説明】
【0109】
10 異常検知装置
20 攻撃判定装置
101 制御部
102 監視対象ログ取得部
103 種別判定部
104 変化判定用一時保持部
105 種別変化判定部
106 異常検知ログ送信判定部
107 異常検知ログ送信部
108 タイマー
109 ハートビート信号用一時保持部
110 ハートビート信号生成部
111 ハートビート信号送信部