JP2019205089A - 通信メッセージ識別装置および通信メッセージ識別方法 - Google Patents

通信メッセージ識別装置および通信メッセージ識別方法 Download PDF

Info

Publication number
JP2019205089A
JP2019205089A JP2018099851A JP2018099851A JP2019205089A JP 2019205089 A JP2019205089 A JP 2019205089A JP 2018099851 A JP2018099851 A JP 2018099851A JP 2018099851 A JP2018099851 A JP 2018099851A JP 2019205089 A JP2019205089 A JP 2019205089A
Authority
JP
Japan
Prior art keywords
message
transmission
transmission time
influence
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
JP2018099851A
Other languages
English (en)
Inventor
陽介 前川
Yosuke Maekawa
陽介 前川
茂樹 佐野
Shigeki Sano
茂樹 佐野
弘章 佐治
Hiroaki Saji
弘章 佐治
洋一 小松
Yoichi Komatsu
洋一 小松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yazaki Corp
Original Assignee
Yazaki Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yazaki Corp filed Critical Yazaki Corp
Priority to JP2018099851A priority Critical patent/JP2019205089A/ja
Publication of JP2019205089A publication Critical patent/JP2019205089A/ja
Abandoned legal-status Critical Current

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Abstract

【課題】送信時刻のばらつきに起因する不正なメッセージの検知率低下を防止すると共に、正規のメッセージを不正なメッセージと誤認する確率を低減すること。【解決手段】受信した対象メッセージMx1の周期性に基づいて正規の周期メッセージと攻撃とを区別する際に、この対象メッセージMx1の送信時刻を影響した可能性のある影響メッセージを受信履歴から抽出し、この影響メッセージに基づき対象メッセージMx1の本来の送信基準時刻tsr1が含まれる送信時刻範囲ts1〜ts2を推定し、この送信時刻範囲を利用して周期性の一致/不一致を識別する。各受信メッセージの送信優先度を考慮して各影響メッセージおよび送信時刻範囲を特定する。尤もらしい送信時刻を検出した時に送信時刻の記録を更新する。送信時刻のばらつき範囲を正確に限定できるので、比較の際の精度が向上する。【選択図】図3

Description

本発明は、通信メッセージ識別装置および通信メッセージ識別方法に関し、特に周期性のあるメッセージとそれに対する攻撃とを区別するための技術に関する。
例えば、特許文献1は、多様で変化し得る攻撃に適応して攻撃フレームを検知し得るセキュリティ装置を開示している。具体的には、バスを介してCANプロトコルに従ってデータフレームを授受する複数の電子制御ユニットと接続されるゲートウェイは、バスからフレームを受信する受信部と、フレームのデータフィールド内のデータの値の検査に係るパラメータを保持する保持部と、受信されたフレームの送信周期判定においてIDが同値の2つのフレームの受信間隔が所定の許容範囲から外れる場合に、保持部が保持するパラメータを更新する更新部と、保持部が保持するパラメータに基づいて、受信されたフレームが攻撃フレームか否かの判定に係る検査を行う検査部を備える。
また、特許文献2は、車載ネットワークなどのネットワークシステムにおいて、不正なデータを侵入させて誤動作させる攻撃を検知し防御するため、ネットワークの周期情報に基づく不正の検出および不正なデータ転送の防止の技術を開示している。具体的には、データを受信する通信部と、データを受信した受信時間を管理する時間管理部と、データを処理する制御部とを有し、制御部は基準とする受信データに対して、同じ識別子を持ち受信間隔が所定周期より短い第1のデータを受信した場合には、基準とする受信データの受信時間から所定周期経過するまでに第1のデータと同一の識別子を持つデータの受信を待ち、この間に第1のデータと同一の識別子を持つ第2のデータを受信したときに、不正が発生したと判断して周期異常検出時処理を行う。
特開2017−85663号公報 特開2014−146868号公報
例えば車載通信システムにおいては、標準的な通信プロトコルとしてCAN (Controller Area Network)が利用される場合が多い。このような通信システムでは、バス型構成の共通の通信線に対して、複数の電子制御ユニット(ECU)のそれぞれがメッセージをブロードキャストで送信する。送信される各メッセージには、それを特定する識別子(ID)が送信側で付与される。また、CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)を用いた優先制御が実施される。
しかし、CANのプロトコルを採用する場合には、受信側で受信したメッセージからそれの送信元を検証することができない。したがって、受信側は受信したメッセージのIDから送信元を特定することになる。
そのため、特定の送信元以外の不正な装置が、正規の送信元と同じIDを用いてそれになりすました不正なメッセージを送信すると、受信側ではこれを正規の送信元から送信されたメッセージとみなして受信してしまう。つまり、不正な装置が不正なメッセージを用いて正規なシステムを攻撃することが可能になる。
そこで、特許文献2の技術では、送信されるメッセージの周期性を利用して、不正な周期で送出されるメッセージの検知を可能にしている。すなわち、正規のメッセージと同じIDを用いてなりすましたメッセージを受信した場合に、その受信タイミングが正規のメッセージの周期に対してずれることを利用して、なりすましを識別している。
しかしながら、周期性を有する正規のメッセージは、常に一定の周期で送信されるわけではない。すなわち、複数の電子制御ユニットは、バス構成の共通の通信線を共有しているので、通信線上での信号の衝突を防止するためにCSMA/CAを適用して、状況に応じて各送信装置が送信タイミングをずらしている。
つまり、周期性を有する正規のメッセージを受信する場合でも、受信側が各メッセージを受信するタイミングにばらつきが発生するので、正規のメッセージと不正なメッセージとを識別する際に誤りが発生する可能性がある。したがって、正規のメッセージを不正なメッセージと誤認するのを避けるためには、実際の受信タイミングと基準タイミングとを比較する時の閾値の余裕を大きくせざるを得ない。しかし、この余裕を大きくすると、不正なメッセージの検知率が低下し、攻撃の被害を受けやすくなる。
本発明は、上述した事情に鑑みてなされたものであり、その目的は、不正なメッセージの検知率低下を防止すると共に、正規のメッセージを不正なメッセージと誤認する確率を低減することが可能な通信メッセージ識別装置および通信メッセージ識別方法を提供することにある。
前述した目的を達成するために、本発明に係る通信メッセージ識別装置および通信メッセージ識別方法は、下記(1)〜(5)を特徴としている。
(1) 複数の送信元が共通の通信バスにそれぞれ送出したメッセージを前記通信バス上で監視し、周期性を有する第1のメッセージと、前記第1のメッセージに対する攻撃に区分される第2のメッセージとを識別する通信メッセージ識別装置であって、
前記第1のメッセージの前に受信した他のメッセージの中で、前記第1のメッセージの送信時刻に影響を及ぼす影響メッセージを検出する影響メッセージ検出部と、
前記メッセージの受信時刻と、前記影響メッセージ検出部が検出した前記影響メッセージの影響を加味して、前記第1のメッセージの送信時刻範囲を推定する送信時刻推定部と、
前記第1のメッセージの基準周期と、前記送信時刻範囲とに基づいて前記第2のメッセージを検知する攻撃検知部と、
を備えたことを特徴とする通信メッセージ識別装置。
上記(1)の構成の通信メッセージ識別装置によれば、第1のメッセージの送信時刻に影響を及ぼす影響メッセージを検出してその影響を考慮するので、送信時刻範囲を正確に推定できる。したがって、第1のメッセージのタイミングを比較する際に、必要以上に大きな余裕を持たせなくても、第1のメッセージを第2のメッセージと誤認するのを避けることができ、第2のメッセージの検知率の低下も防ぐことができる。
(2) 前記送信時刻推定部は、受信した複数のメッセージの相互の優先度の違いを加味して、前記第1のメッセージの送信時刻範囲を推定する、
上記(1)に記載の通信メッセージ識別装置。
上記(2)の構成の通信メッセージ識別装置によれば、各メッセージの優先度の違いを考慮するので、受信した第1のメッセージの送信時刻に影響を及ぼさなかったメッセージと、影響を及ぼした可能性のあるメッセージとを確実に区別できる。したがって、送信時刻範囲を正確に推定できる。
(3) 前記第1のメッセージの識別子を保持する識別子情報保持部と、
受信した前記メッセージの履歴情報を識別子毎に保持する履歴情報保持部と、
受信した前記メッセージの周期情報を識別子毎に保持する周期情報保持部と、
を更に備えた、上記(1)または(2)に記載の通信メッセージ識別装置。
上記(3)の構成の通信メッセージ識別装置によれば、識別子情報保持部が保持している識別子により第1のメッセージを特定できる。また、履歴情報保持部が保持する履歴情報に基づき、影響メッセージを特定できる。また、周期情報保持部が保持する周期情報により、第1のメッセージのタイミングの基準値を特定できる。
(4) 前記第1のメッセージの受信を検知した場合に、前記送信時刻推定部が推定した前記送信時刻範囲に基づいて、前記周期情報保持部が保持する送信時刻情報を更新する周期情報更新部、
を更に備えた、上記(3)に記載の通信メッセージ識別装置。
上記(4)の構成の通信メッセージ識別装置によれば、第1のメッセージの送信タイミングにジッタや偏差などのずれの影響が存在する場合であっても、そのずれが累積するのを防止できる。
(5) 複数の送信元が共通の通信バスにそれぞれ送出したメッセージを前記通信バス上で監視し、周期性を有する第1のメッセージと、前記第1のメッセージに対する攻撃に区分される第2のメッセージとを識別するための通信メッセージ識別方法であって、
前記第1のメッセージの前に受信した他のメッセージの中で、前記第1のメッセージの送信時刻に影響を及ぼす影響メッセージを検出し、
前記メッセージの受信時刻と、検出した前記影響メッセージの影響を加味して、前記第1のメッセージの送信時刻範囲を推定し、
前記第1のメッセージの基準周期と、前記送信時刻範囲とに基づいて前記第2のメッセージを検知する、
ことを特徴とする通信メッセージ識別方法。
上記(5)の構成の通信メッセージ識別方法によれば、第1のメッセージの送信時刻に影響を及ぼす影響メッセージを検出してその影響を考慮するので、送信時刻範囲を正確に推定できる。したがって、第1のメッセージのタイミングを比較する際に、必要以上に大きな余裕を持たせなくても、第1のメッセージを第2のメッセージと誤認するのを避けることができ、第2のメッセージの検知率の低下も防ぐことができる。
本発明の通信メッセージ識別装置および通信メッセージ識別方法によれば、不正なメッセージの検知率低下を防止すると共に、正規のメッセージを不正なメッセージと誤認する確率を低減することが可能である。
以上、本発明について簡潔に説明した。更に、以下に説明される発明を実施するための形態(以下、「実施形態」という。)を添付の図面を参照して通読することにより、本発明の詳細は更に明確化されるであろう。
図1は、通信メッセージ識別装置の構成例を示すブロック図である。 図2は、共通の通信バスに現れる複数のメッセージの例−1を示すタイムチャートである。 図3は、共通の通信バスに現れる複数のメッセージの例−2を示すタイムチャートである。 図4(a)および図4(b)は、それぞれ対象メッセージおよび他メッセージと、送信時刻範囲との関係の例を示すタイムチャートである。 図5は、共通の通信バスに現れる複数のメッセージの例−3を示すタイムチャートである。 図6は、共通の通信バスに現れる複数のメッセージの例−4を示すタイムチャートである。 図7は、共通の通信バスに現れる複数のメッセージの例−5を示すタイムチャートである。 図8は、通信メッセージ識別装置の動作例を示すフローチャートである。 図9は、図8のステップS17の詳細を示すフローチャートである。 図10は、図8のステップS18の詳細を示すフローチャートである。
本発明に関する具体的な実施形態について、各図を参照しながら以下に説明する。
<通信メッセージ識別装置の構成>
図1は、通信メッセージ識別装置10の構成例を示すブロック図である。
通信メッセージ識別装置10は、CAN規格のプロトコルを用いて通信を行う車載システムの一部分としての利用を想定した構成を有している。したがって、通信メッセージ識別装置10は、CANインタフェース(I/F)22を介して車両上に搭載されるCAN規格の通信バス21と接続されている。
通信メッセージ識別装置10は、例えば1つの電子制御ユニット(ECU)の一部分として構成され、通信バス21から受信したメッセージを、正規のメッセージと、不正なメッセージとに振り分けるフィルタとして利用することができる。
通信バス21は、同じ車両に搭載された様々な電子制御ユニットが共通の通信線として使用する。したがって、これらの電子制御ユニットは、通信バス21を介して互いに情報を送受信することができる。但し、通信バス21には、不正な電子制御ユニットが接続される可能性や、無線通信機能を持つECUを介して車両外部から不正なメッセージが送り込まれる可能性がある。
また、CANプロトコルを利用する場合には、受信した各メッセージの送信元を検証することができない。したがって、正規の送信元と同じ識別子を用いて、正規の送信元になりすました不正なメッセージが通信バス21に送り込まれた場合に、受信側の各電子制御ユニットは正規のメッセージと、不正なメッセージとを区別することが困難である。
そこで、一定の周期で定期的に送信される周期性のメッセージについては、この周期性を利用して、受信タイミングの違いにより受信側で正規のメッセージと、不正なメッセージとを区別する。但し、複数の電子制御ユニットが同じ通信バス21を共有しているので、送信した複数のメッセージが通信バス21上で衝突するのを避ける必要があり、CSMA/CAプロトコルに従い状況に応じて送信タイミングを調整することになる。そのため、周期性のメッセージであっても、その送信タイミングに状況に応じたばらつきが発生する。このタイミングのばらつきの影響により、正規のメッセージと、不正なメッセージとの判別が困難になる。
図1に示した通信メッセージ識別装置10は、正規のメッセージと、不正なメッセージとの判別性能を改善するための機能を有している。
図1に示したように、通信メッセージ識別装置10は、メッセージ受信部11、影響メッセージ抽出部12、送信時刻計算部13、攻撃判定部14、周期メッセージ情報保持部15、履歴情報保持部16、および周期情報保持部17を備えている。
メッセージ受信部11、影響メッセージ抽出部12、送信時刻計算部13、および攻撃判定部14の各機能は、この電子制御ユニット内のコンピュータが実行可能なソフトウェア、又は専用のハードウェアにより構成される。また、周期メッセージ情報保持部15、履歴情報保持部16、および周期情報保持部17は所定の記憶装置上に配置される。
メッセージ受信部11は、通信バス21に現れたメッセージをCANインタフェース22を介して受信する機能を持つ。なお、メッセージ受信部11が独立した複数の通信バス21とそれぞれ接続されている場合には、それぞれのメッセージを受信したバスの情報も把握する。
履歴情報保持部16は、メッセージ受信部11がそれまでに受信した各メッセージの履歴情報として、識別子情報16a、優先度情報16b、受信時刻情報16c、および伝送遅延時間の情報16dをそれぞれ保持する。
識別子情報16aは、メッセージの種別を特定するための情報、すなわち該当するメッセージのIDである。優先度情報16bは、該当するメッセージの通信バス21における送信優先度を表す。受信時刻情報16cは、該当するメッセージの受信が完了した時刻を表す。伝送遅延時間の情報16dは、該当するメッセージの転送に要する時間を表す。
なお、各メッセージのバスにおける送信優先度の情報は、各メッセージの中に含めて送信してもよいし、事前に定めた優先度と識別子との関係に基づいて識別子から特定してもよい。
周期メッセージ情報保持部15は、通信バス21に接続された送信側の装置により周期的に送信されることが事前に決められている各メッセージ、すなわち周期メッセージの識別子の一覧を予め保持している。
影響メッセージ抽出部12は、メッセージ受信部11が受信した特定の周期メッセージの送信時刻に影響を及ぼした可能性のある各メッセージ、すなわち影響メッセージ(数は任意)を履歴情報保持部16が保持している情報の中から抽出する。
送信時刻計算部13は、特定の周期メッセージが影響メッセージの影響を受けなかった場合の本来の送信時刻、またはその時刻を含む時刻範囲を、履歴情報保持部16が保持している情報と、抽出された影響メッセージ(数は任意)とに基づいて算出する機能を有する。
周期情報保持部17は、周期メッセージ毎に、それを表す識別子情報17a、直前送信時刻情報17b、及び周期情報17cを保持する。
周期情報17cは、受信される各周期メッセージの周期時間の長さを表す。例えば、図1に示した周期情報保持部17の例では、「識別子A」の周期メッセージは、12秒の一定の周期で繰り返し送信される予定であることを表している。また、直前送信時刻情報17bは、直前に受信した同一識別子を持つメッセージの計算上の送信開始時刻を表している。
攻撃判定部14は、本来の送信時刻または送信時刻範囲と、直前送信時刻情報17bとを利用して、受信メッセージの周期性の有無について判定する機能を持つ。
<メッセージおよびタイミングの具体例>
−<具体例−1>
図2は、共通の通信バス21に現れる複数のメッセージの例−1を示すタイムチャートである。
図2に示した例では、対象メッセージ(msg)Mx0、他メッセージMy1、My2、My3、および対象メッセージMx1が順次に通信バス21上に現れる場合を想定している。ここで、対象メッセージMx0、およびMx1は、同じ送信元から送出される同じ種類のメッセージを表し、一定の送信周期T0で周期的に繰り返し送信される周期メッセージである。また、これらの対象メッセージMx0、Mx1は同一の識別子を有している。
一方、他メッセージMy1〜My3の各々は周期メッセージではないので、任意の時刻にそれぞれ個別に送信される。
また、本来であれば、対象メッセージMx0が送信基準時刻tsr0のタイミングで送信側から送信され、次の対象メッセージMx1は送信基準時刻tsr0から送信周期T0を経過した後の送信基準時刻tsr1のタイミングで送信される。しかし、実際の対象メッセージMx1の送信タイミングは、図2中に破線で示したタイミングから遅延し、実線で示したタイミングで現れる。
したがって、受信側の通信メッセージ識別装置10は、対象メッセージMx0を受信時刻tr0で受信し、対象メッセージMx1を受信時刻tr1で受信する。ここで、これらの受信時刻tr0、tr1の時間間隔は、破線で示した対象メッセージMx1の送信遅延の影響を受け、送信周期T0に対して大きくずれることになる。このような時刻のばらつきの影響により、受信側で対象メッセージMx0、Mx1の時間間隔(tr0−tr1)と送信周期T0とを単純に比較すると誤判定が生じる。つまり、実線で示した対象メッセージMx1の受信時刻tr1が遅延したことにより、対象メッセージMx1が外部からの攻撃などの不正なメッセージと誤認され、破棄される可能性がある。
図2に示した対象メッセージMx1の送信遅延は、複数のメッセージの衝突を防止するCSMA/CA制御によるものである。すなわち、対象メッセージMx1の送信基準時刻tsr1より前のタイミングで他メッセージMy1、My2が現れ、更にその後に優先順位が高い他メッセージMy3が現れたため、対象メッセージMx1の送信は、他メッセージMy3の送信が終了するまで待機されていた。
−<具体例−2>
図3は、共通の通信バス21に現れる複数のメッセージの例−2を示すタイムチャートである。
図3に示した例では、図2の場合と同様に、対象メッセージMx0、他メッセージMy1、My2、My3、および対象メッセージMx1が順番に現れる場合を想定している。また、各メッセージの送信優先度が以下のようになっている場合を想定している。
「My2の優先度」>「My3の優先度」>「Mx1の優先度」>「My1の優先度」
通信メッセージ識別装置10は、受信した対象メッセージMx1がMx0と同じ周期メッセージであるか否かを識別する際に、影響メッセージとして、他メッセージMy1、My2、およびMy3の影響を考慮することができる。
すなわち、対象メッセージMx1を受信した受信時刻tr1の直前で現れた他メッセージMy3は対象メッセージMx1よりも優先度が高いので、対象メッセージMx1の実際の送信時刻に影響したと考えられる。また、他メッセージMy3の直前で現れた他メッセージMy2の優先度がMy3より高いので、他メッセージMy2も対象メッセージMx1の実際の送信時刻に影響したと考えられる。更に、他メッセージMy2の直前で現れた他メッセージMy1の優先度はMy2、Mx1よりも低いが、他メッセージMy1が時間的に早く現れた場合を想定すれば他メッセージMy1も対象メッセージMx1の実際の送信時刻に影響を与えた可能性がある。
したがって、図3の例では、通信メッセージ識別装置10は、対象メッセージMx1の送信基準時刻tsr1が、先端時刻ts1と後端時刻ts2との間の時刻範囲内にあった可能性があると推定する。つまり、通信メッセージ識別装置10は、送信基準時刻tsr0、Tsr1の送信周期T0と、受信時刻tr0、Tr1の時間間隔とを比較する際に、推定した時刻範囲(ts1−ts2)内の送信時刻の変動の可能性を考慮して、対象メッセージMx1の周期性を判定する。
−<送信時刻範囲の導出例>
図4(a)および図4(b)は、それぞれ対象メッセージおよび他メッセージと、送信時刻範囲との関係の例を示すタイムチャートである。
図4(a)に示した例では、対象メッセージMx1の直前に他メッセージMy2が現れ、他メッセージMy2の直前に他メッセージMy1が現れた場合を想定している。また、他メッセージMy1の優先度が「低」、他メッセージMy2の優先度が「高」、対象メッセージMx1の優先度が「普通」である。
図4(a)において、他メッセージMy2が現れている時間帯では、対象メッセージMx1の優先度が他メッセージMy2の優先度より低いため、対象メッセージMx1の送信が待機されていた可能性がある。
また、他メッセージMy1が現れている時間帯では、他メッセージMy1の送信開始直後から対象メッセージMx1の送信が待機されていた可能性がある。更に、他メッセージMy1よりも対象メッセージMx1の優先度が優っているので、他メッセージMy1の送信開始時には、対象メッセージMx1が送信待機状態でなかったことが分かる。
したがって、図4(a)の例では、他メッセージMy1の送信開始直後を時刻範囲の先端時刻ts1に定め、他メッセージMy2の送信完了時を時刻範囲の後端時刻ts2に定める。つまり、対象メッセージMx1の送信基準時刻tsr1が、先端時刻ts1と後端時刻ts2の間の時刻範囲内にあったものと推定する。
図4(b)に示した例では、対象メッセージMx1の直前に他メッセージMy1が現れ、他メッセージMy1の直前に他メッセージMy2が現れた場合を想定している。また、他メッセージMy1の優先度が「低」、他メッセージMy2の優先度が「高」、対象メッセージMx1の優先度が「普通」である。
図4(b)において、他メッセージMy1が現れている時間帯では、他メッセージMy1の送信開始直後から対象メッセージMx1の送信が待機されていた可能性がある。更に、他メッセージMy1よりも対象メッセージMx1の優先度が優っているので、他メッセージMy1の送信開始時には、対象メッセージMx1が送信待機状態でなかったことが分かる。
したがって、図4(b)の例では、他メッセージMy1の送信開始直後を時刻範囲の先端時刻ts1に定め、他メッセージMy1の送信完了時を時刻範囲の後端時刻ts2に定める。つまり、対象メッセージMx1の送信基準時刻tsr1が、先端時刻ts1と後端時刻ts2の間の時刻範囲内にあったものと推定する。
−<送信周期のジッタや偏差の考慮>
図5〜図7は、それぞれ共通の通信バスに現れる複数のメッセージの例−3〜例−5を示すタイムチャートである。
送信側の電子制御ユニット等が周期的に送信するメッセージの送信周期には、ジッタや偏差が含まれる場合がある。このような送信時刻のずれは累積されるので、長時間が経過すると、本来の周期から大きくずれたタイミングでメッセージを送信する可能性がある。そのため、受信側の通信メッセージ識別装置10が周期メッセージの周期性を識別する際に、送信側における送信周期のジッタや偏差の影響が現れる。
そこで、図1に示した通信メッセージ識別装置10は送信側における送信周期のジッタや偏差の影響を考慮して、対象メッセージMx1の本来の送信時刻を推定する。
例えば、図5、図6、図7にそれぞれ示した例のように、対象メッセージMx1に対する送信側の実際の送信基準時刻は、ジッタや偏差の影響で送信基準時刻tsr1からずれて、時刻ts01〜ts02の範囲になる可能性がある。
図5に示した例では、対象メッセージMx1を送信した可能性のある時刻範囲(ts1−ts2)の中に、時刻ts01〜ts02の範囲の全体が含まれている。したがって、時刻範囲(ts1−ts2)内の送信時刻を考慮して対象メッセージMx1の周期性を判定すれば、送信側における送信周期のジッタや偏差の影響を受けることはない。
一方、図6に示した例では、送信基準時刻tsr1が、時刻範囲(ts1−ts2)の範囲外にある。しかし、送信周期のジッタや偏差の影響により、送信基準時刻tsr1が時刻ts01〜ts02の範囲内でずれている可能性がある。そして、図6における時刻ts02は、時刻範囲(ts1−ts2)の範囲内にある。つまり、送信周期のジッタや偏差の影響分を補正できれば、推定した時刻範囲(ts1−ts2)に基づいて、対象メッセージMx1の周期性を正しく判定することが可能になる。
また、図7に示した例では、送信基準時刻tsr1が、時刻範囲(ts1−ts2)の範囲外にある。しかし、送信周期のジッタや偏差の影響により、送信基準時刻tsr1が時刻ts01〜ts02の範囲内でずれている可能性がある。そして、図7における時刻ts01は、時刻範囲(ts1−ts2)の範囲内にある。つまり、送信周期のジッタや偏差の影響分を補正できれば、推定した時刻範囲(ts1−ts2)に基づいて、対象メッセージMx1の周期性を正しく判定することが可能になる。
<通信メッセージ識別装置の具体的な動作>
図8は、通信メッセージ識別装置10の動作例を示すフローチャートである。また、図9および図10は、図8の各ステップS17およびS18の詳細を示すフローチャートである。
まず、図8に示した動作について説明する。
メッセージ受信部11は、通信バス21で流通しているメッセージをS11で受信すると、このメッセージを受信したバスを特定する情報と、受信時刻の情報を履歴情報保持部16に記録する(S12)。
また、メッセージ受信部11は受信したメッセージの識別子、および送信優先度の情報を取得すると共に、このメッセージの伝送遅延時間を算出する(S13)。そして、これらの情報を受信時刻と関連付けて履歴情報保持部16に記録する(S14)。
また、メッセージ受信部11は、周期メッセージ情報保持部15が予め保持している周期メッセージの識別子の情報をS15で取得する。また、メッセージ受信部11は、S11で受信した受信メッセージの識別子と、S15で取得した周期メッセージの識別子とをS16で比較する。つまり、識別子の比較により、最新の受信メッセージが周期メッセージか否かを識別する。受信メッセージが周期メッセージの場合はS17に進み、周期メッセージでない場合はこの処理を終了する。
影響メッセージ抽出部12は、メッセージ受信部11が受信した受信メッセージのうち、識別子により周期メッセージであることを確認したものについて、この受信メッセージの送信時に影響を受けた可能性がある他の受信メッセージを「影響メッセージ」として抽出する(S17)。ここで、「他の受信メッセージ」とは、該当する周期メッセージより前に受信した受信メッセージであり、履歴情報保持部16がそのとき保持している情報の中に含まれている可能性がある。詳細については後述するが、受信時刻および優先度に基づいて、「他の受信メッセージ」が「影響メッセージ」か否かを識別できる。
送信時刻計算部13は、影響メッセージ抽出部12が抽出した「影響メッセージ」の情報に基づき、受信した周期メッセージの本来の送信時刻が含まれる可能性がある送信時刻範囲を算出する(S18)。詳細については後述するが、例えば図3〜図7中に示した各送信時刻範囲(ts1〜ts2の幅および時刻)を特定する。また、この送信時刻範囲を計算する際に、CSMA/CAを用いた調停(アービトレーション)やエラーなど通信バス21の仕様による影響を加えることで更に計算精度が向上する。
攻撃判定部14は、S18で算出した送信時刻範囲と、S11で受信した今回の周期メッセージの受信時刻情報16cと、直前送信時刻情報17bと、周期情報17cと、伝送遅延時間の情報16dと、を利用して、今回受信した周期メッセージが攻撃メッセージであるか否かを判定する(S19〜S23)。
すなわち、攻撃判定部14はS19で周期情報保持部17から周期情報17cおよび直前送信時刻情報17bを取得し、S20で直前送信時刻情報17bを判定する。
そして、周期情報保持部17で該当する直前送信時刻情報17bを保有していないとき、及び送信時刻範囲の幅と、周期情報保持部17で保有している当該受信メッセージの直前送信時刻情報17bとの差が極端に大きいときにはS20からS24に進み、初めての受信として攻撃判定部14による判定の対象外とする。
また、周期情報保持部17が該当する直前送信時刻情報17bを保有し、且つ直前送信時刻情報17bが現実的な直近の時刻である場合には、S20からS21に進む。そして、攻撃判定部14は送信時刻範囲の幅と、直前送信時刻情報17bとの差と、周期情報17cとを比較する。
送信時刻範囲の幅と、直前送信時刻情報17bとの差と、周期情報17cとが妥当な範囲で一致する場合は、S21からS23に進み、今回受信した周期メッセージが「攻撃ではない可能性が高い」と攻撃判定部14が判定する。
また、送信時刻範囲の幅と、直前送信時刻情報17bとの差と、周期情報17cとが妥当な範囲で一致しない場合は、S21からS22に進み、今回受信した周期メッセージが「攻撃である可能性が高い」と攻撃判定部14が判定する。
また、攻撃判定部14による処理が終了した後、送信時刻範囲の幅のうちで、もっとも送信した可能性が高いと思われる時刻を送信時刻計算部13が計算し(S24)、この時刻を周期情報保持部17の直前送信時刻情報17bとして、それまで保存されていた情報を上書きし保持する(S25)。これにより、メッセージの送信側における送信周期のジッタや偏差の累積(図5〜図7中のts01〜ts02)を補正し、この影響を避けることが可能になる。
次に図9に示した動作、すなわち影響メッセージを抽出するための処理の詳細について説明する。
影響メッセージ抽出部12は、履歴情報保持部16に保持されている各受信メッセージの情報を参照し、各メッセージを受信したバスを特定する情報(図示せず)をS31で取得する。そして、図8中のS11で受信した今回の受信メッセージ(対象メッセージMx)と同じバスから受信した他の受信メッセージの情報が履歴情報保持部16に存在するか否かをS32で識別する。この条件に該当する受信メッセージが存在する場合はS33に進み、存在しない場合はこの処理を終了する。また、S33以降の処理においては、S32の条件に該当する受信メッセージのみを処理対象とする。
影響メッセージ抽出部12は、各受信メッセージの受信時刻情報16cを履歴情報保持部16から取得し、今回の受信メッセージ(対象メッセージMx)の直前に受信した他のメッセージMyの情報が履歴情報保持部16に存在するか否かをS34で識別する。この条件を満たす場合はS35に進み、条件を満たさない場合はこの処理を終了する。
影響メッセージ抽出部12は、S34で検出した1つの他メッセージMyを、S35で影響メッセージリスト25に追加する。
また、影響メッセージ抽出部12は他メッセージMyの優先度情報16bを履歴情報保持部16から取得し(S36)する。
影響メッセージ抽出部12は、現在処理中の他メッセージMyと、これの直前に受信した更に前の受信メッセージである他メッセージMy2とをS37で比較する。そして、他メッセージMyの送信優先度よりも前の他メッセージMy2の送信優先度が高い場合はS38に進み、高くない場合はS40に進む。
影響メッセージ抽出部12は、S37で検出した他メッセージMy2の情報を影響メッセージリスト25に追加し(S38)、この「他メッセージMy2」を「他メッセージMy」に置き換え(S39)、その後S36に戻って上記と同様の処理を繰り返す。
影響メッセージ抽出部12は、S37で検出した他メッセージMy2の情報を影響メッセージリスト25に追加して(S40)、この処理を終了する。
したがって、図9に示した処理を影響メッセージ抽出部12が実行することにより、例えば図3に示した状況では、通信メッセージ識別装置10が最後に受信した対象メッセージMx1に対して、他メッセージMy3、My2、およびMy1を順番に影響メッセージリスト25に追加することができる。
次に図10に示した動作、すなわち送信時刻範囲の幅や時刻を算出するための処理の詳細について説明する。
送信時刻計算部13は、図8のS11で今回受信した受信メッセージ(周期メッセージ)の受信時刻tr1から、それ自身の転送の際に生じる伝送遅延時間(16d)だけ遡った送信推定時刻を、送信時刻範囲の後端時刻ts2として算出する(S51)。
送信時刻計算部13は、影響メッセージ抽出部12が記録した影響メッセージリスト25に保持されている各々の影響メッセージについて、その伝送遅延時間の情報を履歴情報保持部16から取得する(S52)。
送信時刻計算部13は、S52で取得した各影響メッセージの伝送遅延時間を互いに加算してその総和を影響伝送遅延時間Tiとして算出する(S53)。
送信時刻計算部13は、S51で推定した「送信時刻範囲の後端時刻ts2」からS53で算出した影響伝送遅延時間Tiだけ遡った時刻を、送信時刻範囲の先端時刻ts1として算出する(S54)。
したがって、図10に示した処理を送信時刻計算部13が実行することにより、例えば図3〜図7に示した各送信時刻範囲(ts1〜ts2)の時刻および幅(Ti)を特定できる。
図10の処理により特定される送信時刻範囲の先端時刻ts1は、例えば図3に示した対象メッセージMx1に対する影響メッセージ群(My1〜My3)の中で最初に受信したメッセージ(My1)の受信時刻から、最初のメッセージ(My1)の伝送遅延時間を引いた時刻となる。
また、図10の処理により特定される送信時刻範囲の後端時刻ts2は、例えば図3に示した対象メッセージMx1の受信時刻tr1から、対象メッセージMx1の伝送遅延時間を引いた時刻となる。
<攻撃判定の具体例>
攻撃判定部14は、例えば図3に示した対象メッセージMx1を図8のS21で判定する際には、この対象メッセージMx1の直前送信時刻情報17bの時刻に、周期情報17cが示す時刻を足した送信予定時刻tsxと、送信時刻計算部13が算出した送信時刻範囲(ts1〜ts2)とを比較する。そして、送信予定時刻tsxが送信時刻範囲(ts1〜ts2)に含まれる場合は対象メッセージMx1が正規の周期メッセージであるとみなす(S23)。また、送信予定時刻tsxが送信時刻範囲(ts1〜ts2)に含まれない場合は、対象メッセージMx1が攻撃メッセージであると判定する(S22)。
また、もしも影響メッセージが存在しない場合には、対象メッセージMx1の直前送信時刻情報17bの時刻に、周期情報17cが示す時刻を足した送信予定時刻tsxと、受信時刻tr1から伝送遅延時間を引いた時刻(ts2)とをS21で比較する。そして、これらの時刻がほぼ一致する場合は対象メッセージMx1を正規の周期メッセージとみなし(S23)、異なる場合は攻撃メッセージであると判定する(S22)。
また、対象メッセージMx1に対応する直前送信時刻情報17bが存在しない場合には、その周期性を判定できないため攻撃判定不可とする(S20)。
<通信メッセージ識別装置10の利点>
図1に示した通信メッセージ識別装置10においては、周期性判定の対象となる対象メッセージMx1の送信時刻に影響を及ぼした可能性のある影響メッセージを影響メッセージ抽出部12が抽出する。また、この影響メッセージに基づいて対象メッセージMx1の送信時刻範囲(ts1〜ts2)を送信時刻計算部13が推定する。したがって、攻撃判定部14が送信時刻範囲(ts1〜ts2)を考慮して対象メッセージMx1の周期性を判定することにより、通信バス21の状況に応じて変動する対象メッセージMx1の送信時刻のばらつきにより誤判定が生じる確率を減らすことができる。すなわち、対象メッセージMx1が正規の周期メッセージである場合に、これを攻撃メッセージであると誤認するのを防止することができる。また、周期性を比較する際に、閾値等に必要以上の余裕分を持たせる必要がないので、対象メッセージMx1が攻撃メッセージである場合に、この攻撃の検出率が低下するのを避けることが可能になる。
特に、影響メッセージ抽出部12が履歴情報保持部16に記録した各受信メッセージの送信優先度を考慮して影響メッセージを特定するので、対象メッセージMx1が本来送信されるべき送信基準時刻tsr1が含まれる送信時刻範囲(ts1〜ts2)を正確に推定することが可能になる。
また、送信時刻計算部13が尤もらしい送信時刻を検出した時に、周期情報保持部17の直前送信時刻情報17bの内容を更新する(S24、S25)ので、送信側の装置が周期メッセージを送信する際に発生する周期のジッタや偏差の影響が累積して誤判定の要因になるのを避けることができる。
なお、本発明の通信メッセージ識別装置10を実際の車載システム等に組み込む場合には、上記以外の公知技術を組み合わせ、攻撃の不正な受信メッセージに対する検出性能を更に高めることが想定される。なお、上述の実施形態では本発明を車載システムに適用する場合を想定しているが、これ以外の用途であっても、同じように受信メッセージの送信元の検証ができない状況であれば、正規の周期メッセージと攻撃メッセージとを区別するためのフィルタとして本発明を利用する価値がある。
ここで、上述した本発明の実施形態に係る通信メッセージ識別装置および通信メッセージ識別方法の特徴をそれぞれ以下[1]〜[5]に簡潔に纏めて列記する。
[1] 複数の送信元が共通の通信バス(21)にそれぞれ送出したメッセージを前記通信バス上で監視し、周期性を有する第1のメッセージ(対象メッセージMx1)と、前記第1のメッセージに対する攻撃に区分される第2のメッセージとを識別する通信メッセージ識別装置(10)であって、
前記第1のメッセージの前に受信した他のメッセージ(他メッセージMy1〜My3)の中で、前記第1のメッセージの送信時刻に影響を及ぼす影響メッセージ(例えば図3中の他メッセージMy1〜My3)を検出する影響メッセージ検出部(影響メッセージ抽出部12)と、
前記メッセージの受信時刻(tr1)と、前記影響メッセージ検出部が検出した前記影響メッセージの影響を加味して、前記第1のメッセージの送信時刻範囲(ts1〜ts2)を推定する送信時刻推定部(送信時刻計算部13)と、
前記第1のメッセージの基準周期(送信周期T0、周期情報17c)と、前記送信時刻範囲とに基づいて前記第2のメッセージを検知する攻撃検知部(攻撃判定部14)と、
を備えたことを特徴とする通信メッセージ識別装置。
[2] 前記送信時刻推定部は、受信した複数のメッセージの相互の優先度(優先度情報16b)の違いを加味して、前記第1のメッセージの送信時刻範囲を推定する(図10参照)、
上記[1]に記載の通信メッセージ識別装置。
[3] 前記第1のメッセージの識別子を保持する識別子情報保持部(周期メッセージ情報保持部15)と、
受信した前記メッセージの履歴情報を識別子毎に保持する履歴情報保持部(16)と、
受信した前記メッセージの周期情報を識別子毎に保持する周期情報保持部(17)と、
を更に備えた、上記[1]または[2]に記載の通信メッセージ識別装置。
[4] 前記第1のメッセージの受信を検知した場合に、前記送信時刻推定部が推定した前記送信時刻範囲に基づいて、前記周期情報保持部が保持する送信時刻情報を更新する周期情報更新部(S24、S25)、
を更に備えた、上記[3]に記載の通信メッセージ識別装置。
[5] 複数の送信元が共通の通信バスにそれぞれ送出したメッセージを前記通信バス上で監視し、周期性を有する第1のメッセージと、前記第1のメッセージに対する攻撃に区分される第2のメッセージとを識別するための通信メッセージ識別方法であって、
前記第1のメッセージの前に受信した他のメッセージの中で、前記第1のメッセージの送信時刻に影響を及ぼす影響メッセージを検出し(S17)、
前記メッセージの受信時刻と、検出した前記影響メッセージの影響を加味して、前記第1のメッセージの送信時刻範囲を推定し(S18)、
前記第1のメッセージの基準周期と、前記送信時刻範囲とに基づいて前記第2のメッセージを検知する(S21)、
ことを特徴とする通信メッセージ識別方法。
10 通信メッセージ識別装置
11 メッセージ受信部
12 影響メッセージ抽出部
13 送信時刻計算部
14 攻撃判定部
15 周期メッセージ情報保持部
16 履歴情報保持部
17 周期情報保持部
21 通信バス
22 CANインタフェース
25 影響メッセージリスト
Mx0,Mx1 対象メッセージ
My1,My2,My3 他メッセージ
T0 送信周期
tr0,tr1 受信時刻
tsr0,tsr1 送信基準時刻
ts1 時刻範囲の先端時刻
ts2 時刻範囲の後端時刻

Claims (5)

  1. 複数の送信元が共通の通信バスにそれぞれ送出したメッセージを前記通信バス上で監視し、周期性を有する第1のメッセージと、前記第1のメッセージに対する攻撃に区分される第2のメッセージとを識別する通信メッセージ識別装置であって、
    前記第1のメッセージの前に受信した他のメッセージの中で、前記第1のメッセージの送信時刻に影響を及ぼす影響メッセージを検出する影響メッセージ検出部と、
    前記メッセージの受信時刻と、前記影響メッセージ検出部が検出した前記影響メッセージの影響を加味して、前記第1のメッセージの送信時刻範囲を推定する送信時刻推定部と、
    前記第1のメッセージの基準周期と、前記送信時刻範囲とに基づいて前記第2のメッセージを検知する攻撃検知部と、
    を備えたことを特徴とする通信メッセージ識別装置。
  2. 前記送信時刻推定部は、受信した複数のメッセージの相互の優先度の違いを加味して、前記第1のメッセージの送信時刻範囲を推定する、
    請求項1に記載の通信メッセージ識別装置。
  3. 前記第1のメッセージの識別子を保持する識別子情報保持部と、
    受信した前記メッセージの履歴情報を識別子毎に保持する履歴情報保持部と、
    受信した前記メッセージの周期情報を識別子毎に保持する周期情報保持部と、
    を更に備えた、請求項1または請求項2に記載の通信メッセージ識別装置。
  4. 前記第1のメッセージの受信を検知した場合に、前記送信時刻推定部が推定した前記送信時刻範囲に基づいて、前記周期情報保持部が保持する送信時刻情報を更新する周期情報更新部、
    を更に備えた、請求項3に記載の通信メッセージ識別装置。
  5. 複数の送信元が共通の通信バスにそれぞれ送出したメッセージを前記通信バス上で監視し、周期性を有する第1のメッセージと、前記第1のメッセージに対する攻撃に区分される第2のメッセージとを識別するための通信メッセージ識別方法であって、
    前記第1のメッセージの前に受信した他のメッセージの中で、前記第1のメッセージの送信時刻に影響を及ぼす影響メッセージを検出し、
    前記メッセージの受信時刻と、検出した前記影響メッセージの影響を加味して、前記第1のメッセージの送信時刻範囲を推定し、
    前記第1のメッセージの基準周期と、前記送信時刻範囲とに基づいて前記第2のメッセージを検知する、
    ことを特徴とする通信メッセージ識別方法。
JP2018099851A 2018-05-24 2018-05-24 通信メッセージ識別装置および通信メッセージ識別方法 Abandoned JP2019205089A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018099851A JP2019205089A (ja) 2018-05-24 2018-05-24 通信メッセージ識別装置および通信メッセージ識別方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018099851A JP2019205089A (ja) 2018-05-24 2018-05-24 通信メッセージ識別装置および通信メッセージ識別方法

Publications (1)

Publication Number Publication Date
JP2019205089A true JP2019205089A (ja) 2019-11-28

Family

ID=68727477

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018099851A Abandoned JP2019205089A (ja) 2018-05-24 2018-05-24 通信メッセージ識別装置および通信メッセージ識別方法

Country Status (1)

Country Link
JP (1) JP2019205089A (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016100726A (ja) * 2014-11-20 2016-05-30 国立大学法人名古屋大学 通信システム及び通信装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016100726A (ja) * 2014-11-20 2016-05-30 国立大学法人名古屋大学 通信システム及び通信装置

Similar Documents

Publication Publication Date Title
US11711384B2 (en) Method and system for detecting message injection anomalies
KR102264442B1 (ko) 차량 침입 탐지를 위한 지문 인식 전자 제어 장치
US10742675B2 (en) Fraudulent message detection device, electronic control apparatus equipped with fraudulent message detection device, fraudulent message detection method, and fraudulent message detection program
KR20180127221A (ko) 사이버 공격에 대한 네트워크 보호 방법
CN111147437B (zh) 基于错误帧归因总线断开攻击
CN111316602B (zh) 攻击通信检测装置及其方法、计算机可读取的记录介质
US20200021611A1 (en) Fraud detection method, fraud detection device, and recording medium
US11075927B2 (en) Fraud detection electronic control unit, electronic control unit, and non-transitory recording medium in which computer program is described
WO2018173732A1 (ja) 車載通信装置、コンピュータプログラム及びメッセージ判定方法
JP6497656B2 (ja) 通信方法およびそれを利用した通信装置
US20230080521A1 (en) Method For Protection From Cyber Attacks To A Vehicle Based Upon Time Analysis, And Corresponding Device
JP2019126004A (ja) 攻撃検知装置および攻撃検知方法
US11218501B2 (en) Detector, detection method, and detection program
JP2023155504A (ja) 車載通信装置及び情報置換方法
JP2019205089A (ja) 通信メッセージ識別装置および通信メッセージ識別方法
JP6528239B2 (ja) 通信装置およびプログラム
CN109347890B (zh) 伪终端检测的方法、装置、设备和介质
TW202102051A (zh) 非法ap之檢測抑制裝置、方法及電腦可讀取存儲介質
CN114503518B (zh) 检测装置、车辆、检测方法及检测程序
JP7223590B2 (ja) 攻撃検知装置および攻撃検知方法
CN112751822B (zh) 通信装置及操作方法、异常判定装置及方法、存储介质
US20240291832A1 (en) In-vehicle device, detection device, transmission control method, and detection method
JP6881371B2 (ja) 通信システム、受信装置、送信間隔変更方法及びコンピュータプログラム
Wu et al. A Hybrid Intrusion Detection System for for In-Vehicle CAN Bus
KR20220104977A (ko) 차량 이더넷 네트워크의 영상 정보에 대한 공격 탐지 방법 및 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210416

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220301

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20220427