JP7336770B2 - 情報処理装置、情報処理システム及びプログラム - Google Patents

情報処理装置、情報処理システム及びプログラム Download PDF

Info

Publication number
JP7336770B2
JP7336770B2 JP2020006134A JP2020006134A JP7336770B2 JP 7336770 B2 JP7336770 B2 JP 7336770B2 JP 2020006134 A JP2020006134 A JP 2020006134A JP 2020006134 A JP2020006134 A JP 2020006134A JP 7336770 B2 JP7336770 B2 JP 7336770B2
Authority
JP
Japan
Prior art keywords
network
ecu
information processing
message
ecus
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.)
Active
Application number
JP2020006134A
Other languages
English (en)
Other versions
JP2021114687A (ja
Inventor
章人 竹内
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.)
Panasonic Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management Co Ltd
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 Panasonic Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Priority to JP2020006134A priority Critical patent/JP7336770B2/ja
Priority to US17/147,062 priority patent/US20210226991A1/en
Publication of JP2021114687A publication Critical patent/JP2021114687A/ja
Application granted granted Critical
Publication of JP7336770B2 publication Critical patent/JP7336770B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1483Countermeasures against malicious traffic service impersonation, e.g. phishing, pharming or web spoofing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)

Description

本開示は、複数の電子制御装置(以下ECU(Electronic Control Unit)とも呼ぶ)が接続されたネットワークにおける不正を検知するための情報処理装置、情報処理システム及びプログラムに関する。
トラック、バス、建機、トラクタ、トレーラ又は船舶等の移動体に適用される制御バス規格として、SAE(Society of Automotive Engineers) J1939規格が存在する。上記移動体内では、例えば、SAE J1939規格に基づいて、ECU間でメッセージの送受信が行われる。SAE J1939規格において用いられるアドレスクレーム(以下ACLとも呼ぶ)メッセージを悪用して、ECUが接続されたCAN(Controller Area Network)に不正なメッセージを送信することで、正規のECUになりすますという攻撃があることが指摘されている。これに対して、例えば、非特許文献1には、SAE J1939規格のACLメッセージを悪用した不正を検知する技術について開示されている。具体的には、ECU間で公開鍵暗号ベース又は秘密鍵暗号ベースの認証及び鍵共有を行い、共有した鍵でCANメッセージパケットに対して改ざん検出用コード(MAC:Message Authentication Code)を付加することで、不正なメッセージを検知できる。
Paul-Stefan Murvae, et al. "Security shortcomings and countermeasures for the SAE J1939 commercial vehicle bus protocol", IEEE Transactions on Vehicular Technology, Volume 67, Issue 5, May 2018
しかしながら、上記非特許文献1に開示された技術では、認証及び鍵共有のための通信が必要となり、CAN通信の開始の際にその都度当該通信による遅延が発生するという問題がある。また、CANメッセージパケット内にMACを格納するための8バイトものフィールドが必要となり、1つのCANメッセージで送信可能なデータ量が削減されるため、メッセージを送信するのに要する時間が増加するという問題がある。このように、上記非特許文献1に開示された技術では、CAN等のネットワークにおける不正を検知しようとすると、通信品質が劣化するおそれがある。
そこで、本開示は、通信品質の劣化を抑制しつつ、ネットワークにおける不正を検知できる情報処理装置等を提供する。
本開示の一態様に係る情報処理装置は、複数の電子制御装置が接続されたネットワークにおける不正を検知するための情報処理装置であって、前記複数の電子制御装置のそれぞれは、前記ネットワークにおいて使用を希望するソースアドレスを主張する宣言メッセージを前記ネットワークに送信した後、当該ソースアドレスを含む通常のメッセージの前記ネットワークへの送信を開始する装置であり、前記宣言メッセージは、当該宣言メッセージを送信する電子制御装置に予め割り振られたデバイス固有のデバイスネームを含み、前記情報処理装置は、それぞれ同一のデバイスネームを含む前記宣言メッセージが、前記ネットワークに送信される回数又は前記ネットワークに送信される間隔の累積時間と、前記ネットワークに接続される前記複数の電子制御装置の数とに基づいて、前記ネットワークにおける不正を検知する不正検知部と、前記検知の結果を出力する出力部と、を備える。
また、本開示の一態様に係る情報処理システムは、上記の情報処理装置と、前記複数の電子制御装置と、前記ネットワークと、を備える。
また、本開示の一態様に係るプログラムは、複数の電子制御装置が接続されたネットワークにおける不正を検知するための情報処理装置によって実行されるプログラムであって、前記複数の電子制御装置のそれぞれは、前記ネットワークにおいて使用を希望するソースアドレスを主張する宣言メッセージを前記ネットワークに送信した後、当該ソースアドレスを含む通常のメッセージの前記ネットワークへの送信を開始する装置であり、前記宣言メッセージは、当該宣言メッセージを送信する電子制御装置に予め割り振られたデバイス固有のデバイスネームを含み、前記プログラムは、それぞれ同一のデバイスネームを含む前記宣言メッセージが、前記ネットワークに送信される回数又は前記ネットワークに送信される間隔の累積時間と、前記ネットワークに接続される前記複数の電子制御装置の数とに基づいて、前記ネットワークにおける不正を検知する不正検知処理と、前記検知の結果を出力する出力処理と、を含む。
また、本開示の一態様に係る情報処理装置は、複数の電子制御装置が接続されたネットワークにおける不正を検知するための情報処理装置であって、前記複数の電子制御装置のそれぞれは、前記ネットワークにおいて使用を希望するソースアドレスを主張する宣言メッセージを前記ネットワークに送信した後、当該ソースアドレスを含む通常のメッセージの前記ネットワークへの送信を開始する装置であり、前記宣言メッセージは、当該宣言メッセージを送信する電子制御装置に予め割り振られたデバイス固有のデバイスネームを含み、前記情報処理装置は、前記複数の電子制御装置のうちのいずれかの電子制御装置であり、それぞれ同一のデバイスネームを含む前記宣言メッセージが、前記ネットワークに送信される回数又は前記ネットワークに送信される間隔の累積時間と、前記ネットワークに接続される前記複数の電子制御装置の数とに基づいて、前記ネットワークにおける不正を検知する不正検知部と、前記検知の結果を出力する出力部と、を備える。
本開示によれば、通信品質の劣化を抑制しつつ、ネットワークにおける不正を検知できる。
実施の形態における情報処理システムの一例を示す構成図である。 SAE J1939規格で使用されるデータフレームのフォーマットを示す図である。 ECUに割り当てられるデバイスネームのフォーマットを示す図である。 宣言メッセージの送信によるソースアドレスの使用を希望する際のルールを説明するためのシーケンス図である。 ソースアドレスが競合したときのルールを説明するためのシーケンス図である。 ソースアドレスが競合したときのルールを説明するためのシーケンス図である。 宣言メッセージが悪用され得ることを説明するためのフローチャートである。 宣言メッセージが悪用されたときのECUと攻撃ECUの動作の一例を示すシーケンス図である。 実施の形態における情報処理装置の一例を示すブロック図である。 実施の形態における情報処理装置の動作の一例を示すフローチャートである。 実施の形態における情報処理装置の不正の検知方法の第一例を示すフローチャートである。 実施の形態における情報処理装置の不正の検知方法の第一例を説明するための図である。 実施の形態における情報処理装置の不正の検知方法の第二例を示すフローチャートである。 実施の形態における情報処理装置の不正の検知方法の第二例を説明するための図である。 その他の実施の形態における情報処理システムの一例を示すブロック図である。
(実施の形態)
[情報処理システムの構成]
以下、実施の形態における情報処理システムについて図面を参照しながら説明する。
図1は、実施の形態における情報処理システム1の一例を示す構成図である。
情報処理システム1は、例えば、車両に搭載された車載ネットワークである。情報処理システム1は、情報処理装置10と複数のECUとネットワーク300とを備える。ネットワーク300は、例えば、SAE J1939規格に基づくCANである。複数のECUのそれぞれは、SAE J1939規格に基づいて他のECUとネットワーク300を介したメッセージの送受信を行う。例えば、実施の形態では、情報処理システム1は、複数のECUとしてECU100a~100gを備える。ECU100aに着目すると、ECU100aは、他のECU100b~100gとネットワーク300を介したメッセージの送受信を行う。実施の形態においてネットワーク300に接続されるECU100a~100g等を総称してECU100とも呼ぶ。つまり、実施の形態でECU100と呼ぶものは、ECU100a~100gのいずれであってもよい。また、情報処理装置10はECUの一種であり、複数のECU100のそれぞれとネットワーク300を介したメッセージの送受信を行う。
SAE J1939規格は、トラック、バス、建機、トラクタ、トレーラ又は船舶等の移動体に適用される制御バス規格であり、SAE J1939規格に基づいてこれらの移動体内のECU間でメッセージの送受信が行われている。つまり、ECU100は、SAE J1939規格に基づいて移動体内のネットワーク300を介してメッセージの送受信を行う。
情報処理装置10は、複数のECU100が接続されたネットワーク300における不正を検知するための装置であり、例えば、不正検知ECUである。
ECU100は、例えば、操舵制御ECU、ステアリングECU、エンジンECU、ブレーキECU、ドア開閉センサECU又はウィンドウ開閉センサECU等であるが、特に限定されない。
情報処理装置10及びECU100は、例えば、プロセッサ(マイクロプロセッサ)、メモリ及び通信回路等を含む装置である。メモリは、ROM(Read Only Memory)及びRAM(Random Access Memory)等であり、プロセッサにより実行されるプログラムを記憶することができる。例えばプロセッサが、プログラムに従って動作することにより、情報処理装置10及びECU100は各種機能を実現することになる。
複数のECU100のそれぞれは、ネットワーク300から他のECU100が送信したメッセージを受信し、また、他のECU100に送信したい内容を含むメッセージを生成してネットワーク300に送信する。具体的には、複数のECU100のそれぞれは、受信したメッセージの内容に応じた処理を行い、また、ECU100に接続されている機器の状態を示すデータ又は他のECU100への指示値(制御値)等のデータを含む通常のメッセージを生成して周期的に送信する。また、複数のECU100のそれぞれは、ネットワーク300において固有のソースアドレス(以下SAとも呼ぶ)であって、ネットワーク300において使用を希望するSAを主張する宣言メッセージをネットワーク300に送信した後、当該SAを含む通常のメッセージのネットワーク300への送信を開始する装置である。具体的には、複数のECU100のそれぞれは、宣言メッセージを送信してから規定時間(例えば250ms)、送信した宣言メッセージに対する他のECU100からの応答がなかった場合に、ネットワーク300において使用を希望するSAを含む通常のメッセージのネットワーク300への送信を開始する。また、複数のECU100のそれぞれがネットワーク300に送信する宣言メッセージは、当該宣言メッセージを送信するECU100に予め割り振られたデバイス固有のデバイスネーム(以下DNとも呼ぶ)を含む。宣言メッセージについては、後述する。なお、機器の状態を示すデータ又は指示値等のデータを含むメッセージを通常のメッセージと呼んでいるのは、宣言メッセージと区別するためである。通常のメッセージには、CANIDが含まれており、複数のECU100のそれぞれは、特定のCANIDを含むメッセージのみを受信するため、目的のECU100へ向けて通常のメッセージを送信することができる。
[フォーマット]
以下、SAE J1939規格において使用されるCANIDのフォーマット及びDNのフォーマットについて説明する。
図2は、SAE J1939規格で使用されるCANIDのフォーマットを示す図である。図2には、CANプロトコルで規定される11ビットの標準IDフォーマットをベースとして、トラック、バス、建機車両、トラクタ又はトレーラ等の移動体に適用される制御バス用の拡張が行われた29ビットの拡張CANIDのフォーマットが示されている。詳細な説明は省略するが、拡張CANIDには、メッセージを識別するためのPGN(Parameter Group Number)、宛先アドレス情報等が含まれるフィールドに加え、下位8ビットにおいて、送信元を特定するためのSAが割り当てられていることがわかる。ECU100は、起動後にACLメッセージの送信によって他のECU100とネゴシエーションを行い、他のECU100と競合しないSAを取得する。ACLメッセージとは、ECUがSAを取得するために用いられるメッセージであり、ECUに割り当てられたDN及び当該ECUの希望するSAを含むメッセージである。基本的には、ECUの起動時に当該ECUからACLメッセージが送信されるが、例えばECUが起動した後にECU診断ツールがCANバスに接続されて使用されるようなユースケースを想定して、ECU起動後の任意のタイミングで送信されることもSAE J1939規格としては許容している。ACLメッセージを受信したECUは、当該ACLメッセージに含まれるDNが割り当てられたECUが当該ACLメッセージに含まれるSAを取得しようとしていることを確認できる。ACLメッセージの送信によるSAの取得方法の詳細については後述する。
図3は、ECUに割り当てられるDNのフォーマットを示す図である。
ECUには、図3に示されるように、自身のプロファイル情報及び自身を個体識別するための情報を含む64ビットのDNが予め割り振られている。DNは、ECUごとに固有であることが求められるため、ECU100には、ネットワーク300に関わらず他のECUと重複しないようなDNが割り当てられる。実施の形態では、例えば、図1に示されるように、ECU100aにはDNとしてNaが割り当てられ、ECU100bにはDNとしてNbが割り当てられ、ECU100cにはDNとしてNcが割り当てられ、ECU100dにはDNとしてNdが割り当てられ、ECU100eにはDNとしてNeが割り当てられ、ECU100fにはDNとしてNfが割り当てられ、ECU100gにはDNとしてNgが割り当てられる。一方で、ECU100間での通信の際に、送信元の特定のために、その都度64ビットのDNが用いられると、DNが用いられる分(64ビット分)送信可能なデータ量が削減されるため、ネットワーク300において固有の8ビットのSAが用いられる。CANIDには、8ビットのSAが含まれており、CANIDを含む通常のメッセージを受信したECU100は、CANIDに含まれるSAを確認することで送信元を特定できる。
なお、本開示は、SAE J1939規格以外に適用されてもよい。例えば、本開示は、SAE J1939規格を応用した規格(例えばISO(International Organization for Standardization)11783、NMEA(National Marine Electronics Association)2000、ISO11992又はFMS(Fleet Management System))等に適用できる。
[宣言メッセージ]
次に、ECU100がネットワーク300においてSAの使用を希望する方法について説明する。
複数のECU100のそれぞれは、情報処理システム1において他のECU100に自身を認識させるためのSAを、他のECU100と競合しないように使用するために、宣言メッセージをネットワーク300に送信する。宣言メッセージは、SAE J1939規格においてはACLメッセージであり、以下では、ACLメッセージの送信によるSAの使用を希望する際のルールについて図4を用いて説明する。
図4は、宣言メッセージ(例えばACLメッセージ)の送信によるSAの使用を希望する際のルールを説明するためのシーケンス図である。
まず、ECU100は、起動する(ステップS11)。複数のECU100のそれぞれは、起動後に、自身の希望する8ビットのSAを取得するための動作を行う。
ECU100は、起動後の初期化が完了すると(ステップS12)、自身の希望するSA(例えばここではSAとしてXを希望したとする)及び自身のDN(例えばN)を含めたACLメッセージをネットワーク300へ送信する(ステップS13)。つまり、ECU100は、このようなACLメッセージをネットワーク300を介して他のECU100へブロードキャストすることにより、他のECU100に対して自身がSAとしてXを使用しようとしていることを宣言する。
SAE J1939規格では、複数のECU100のそれぞれは、ACLメッセージに対して異議がなければ、DNとしてNが割り当てられたECU100がSAとしてXを使用することを記憶する。一方で、ACLメッセージに対して異議がある場合、例えば、SAが競合している場合、ACLメッセージを受信してから規定時間(SAE J1939規格では250ms)以内に当該ACLメッセージに対する応答を返信するというルールがある。このため、ECU100は、ACLメッセージを送信してから規定時間、送信したACLメッセージに対する他のECU100からの応答(異議)がなかった場合、SAとしてXを自身が使用することを他のECU100が認めたとして、自身が使用を希望するSAを用いて、当該SAを含む通常のメッセージのネットワーク300への送信(周期的な送信)を開始する(ステップS14)。通常のメッセージには、SAとしてXが含まれているため、他のECU100は、このメッセージに含まれるSAがXであるということを確認することで、当該メッセージの送信元がDNとしてNが割り当てられたECU100であると特定できる。
次に、SAが競合したときのルールについて図5A及び図5Bを用いて説明する。
図5A及び図5Bは、SAが競合したときのルールを説明するためのシーケンス図である。図5Aには、SAが競合したときに、SAが競合した2つのECU100が競合を解消してSAを取得できたときの一例が示され、図5Bには、SAが競合したときに、SAが競合した2つのECU100の一方が競合を解消できずにSAを取得できなかったときの一例が示される。図5A及び図5Bでは、SAが競合したECU100として、ECU100a及び100bを例にあげて説明する。また、図5A及び図5Bでは、ECU100aとECU100bとで直接通信が行われているように示されているが、実際にはネットワーク300を介して通信が行われる。以下において、あるECUと他のECUとでメッセージ等を送受信するというような表現をする場合があるが、あるECUがネットワーク300へメッセージ等を送信し、他のECUがネットワーク300から当該メッセージ等を受信し、また、他のECUがネットワーク300へメッセージ等を送信し、あるECUがネットワーク300からメッセージ等を受信して、結果的にあるECUと他のECUとでメッセージ等を送受信することになるため、このように表現している。
まずは、SAが競合した2つのECU100がSAを取得できたときの例について説明する。
図5Aに示されるように、ECU100aは、起動し(ステップS21)、起動後の初期化が完了すると(ステップS22)、自身の希望するSA(例えばここではX)及び自身のDNであるNaを含めたACLメッセージをECU100bへ送信する(ステップS23)。
ECU100bは、ECU100aの起動後に起動し(ステップS31)、初期化が完了する前にECU100aからACLメッセージが送信されているため、ECU100aからのACLメッセージを受信できない。このため、ECU100aは、送信したACLメッセージに対する応答を、ECU100bを含む他のECU100から受けないため、SAとしてXを取得して、通常のメッセージの送信を開始する。
ECU100bは、起動後の初期化が完了すると(ステップS32)、ECU100aがSAとしてXを取得しようとしたことに気付いていないため、自身の希望するSA(例えばここではECU100aが取得したSAと同じX)及び自身のDNであるNbを含めたACLメッセージをECU100aへ送信する(ステップS33)。
SAE J1939では、SAが競合した場合、DNが示す値(具体的には64ビットの整数値)が小さいECUが優先的にSAを取得するというルールがある。このため、DNが示す値の大きいECUは、競合したSAの取得を断念して、選択し直した別のSAを含むACLメッセージを再度送信すると決められている。そして、ECUは、SAが取得できない場合(例えば、一定時間SAを取得しようと様々なSAについてACLメッセージの送信を試みたがSAを取得できない場合又は全てのSAの候補についてACLメッセージを送信してもSAを取得できない場合等)には、SAを取得できなかったことを示すキャンノットクレームメッセージを送信して、休止状態となる。キャンノットクレームメッセージとは、ECUに割り当てられたDNを含むメッセージであり、当該DNが割り当てられたECUがSAを取得できなかったことを他のECUに通知するためのメッセージである。キャンノットクレームメッセージを受信した他のECUは、キャンノットクレームメッセージに含まれるDNが割り当てられたECUがSAを取得できなかったことを確認できる。
ECU100aは、SAとしてXを取得しており、ECU100bは、SAとしてXを希望してACLメッセージを送信したため、SAの競合が生じる。ECU100aのDNであるNaの方が、ECU100bのDNであるNbよりも小さいとする。この場合、ECU100aがECU100bよりも優先的にSAを取得するECUとなるため、ECU100bが送信したACLメッセージに対する異議として、ECU100aは、再度SAとしてX及び自身のDNであるNaを含むACLメッセージをECU100bへ送信する(ステップS24)。
ECU100bは、自身のDNであるNbよりも小さいDNであるNaが割り当てられたECU100aがSAとしてXを優先的に取得することを認識し、選択し直した別のSAとしてYを含むACLメッセージを送信する(ステップS34)。ECU100bは、ACLメッセージを送信した後250ms経過しても、他のECU100から、自身が送信したACLメッセージに対する応答がなければ、SAとしてYを取得する。
なお、ECU100bは、初期化が完了しておらずECU100aがSAとしてXを取得しようとしていることを認識できていなかったため、ステップS33においてSAとしてXを含むACLメッセージを送信している。これに対して、ECU100bは、初期化完了後にECU100aからSAとしてX及びDNとしてNaを含むACLメッセージを受信した場合には、ECU100aの方が自身よりも優先度が高いことから、SAとしてXを含むACLメッセージを送信せず、別のSAを含むACLメッセージを送信する。
次に、SAが競合した2つのECU100の一部がSAを取得できなかったときの例について説明する。なお、ステップS21からステップS24及びステップ31からステップS33での処理については、図5Aと同じであるため説明は省略する。
ステップS24の後、ECU100bは、自身のDNであるNbよりも小さいDNであるNaが割り当てられたECU100aがSAとしてXを優先的に取得することを認識し、別のSAを取得しようとするが、別のSAを取得できなかった場合、自身のDNであるNbを含むキャンノットクレームメッセージを送信して、休止状態となる(ステップS35)。これにより、ECU100aを含む他のECU100は、このメッセージに含まれるDNがNbであるということを確認することで、ECU100bがSAを取得できておらず、休止状態にあることを認識できる。
[宣言メッセージの悪用]
次に、SAE J1939規格の宣言メッセージが悪用され得ることについて図6を用いて説明する。
図6は、SAE J1939規格の宣言メッセージ(例えばACLメッセージ)が悪用され得ることを説明するためのフローチャートである。図6では、他のECU100からACLメッセージを受信したときに、すでに希望するSAを使用して通常のメッセージの送信を開始しているECU100の動作を示すフローチャートである。
ECU100は、他のECU100からACLメッセージを受信する(ステップS101)。例えば、ECU100は、他のECU100から自身が使用しているSAと同じSAを含むACLメッセージを受信する。
ECU100は、自身のDN(自DNとも呼ぶ)が示す値と受信したACLメッセージに含まれるDN(相手DNとも呼ぶ)が示す値とを比較し、自DNが示す値が、相手DNが示す値以上であるか否かを判定する(ステップS102)。
自DNが示す値が、相手DNが示す値よりも小さい場合には(ステップS102でNo)、ECU100は、自身の方が相手よりも優先度が高いため、通常のメッセージの送信を停止せずに、他のECU100へ自身が取得したSA及び自身のDNを含むACLメッセージを送信する(ステップS104)。これにより、他のECU100は、そのSAを取得できないことを認識する。
一方で、自DNが示す値が、相手DNが示す値以上である場合(ステップS102でYes)、ECU100は、相手の方が自身よりも優先度が高いため、通常のメッセージの送信を停止して、SAの変更を試みる(ステップS103)。例えば、ECU100は、使用していたSAと隣接するアドレスのSAとを含む宣言メッセージをネットワーク300に送信する。
ここで、SAE J1939規格では、ステップS102に示すように、受信したACLメッセージに含まれる相手DNが示す値が自DNが示す値と同じか小さい場合に、相手の方が自身よりも優先度が高いと判断するように規定されている。このため、ECU100は、自身のSAと同じSAを含む不正なACLメッセージを受信した場合、通常のメッセージの送信を中止させられ、さらに、使用していたSAが変更させられる場合がある。
上記のことから、例えば、SAE J1939規格のACLメッセージが悪用されることで、正規のECU100になりすまされる攻撃がなされることが考えられる。以下では、DNがNaである正規のECU100aが、ネットワーク300に接続された不正なECU(攻撃ECU100xとも呼ぶ)によってECU100aになりすまされる攻撃について、図7を用いて説明する。
図7は、宣言メッセージ(例えばACLメッセージ)が悪用されたときのECU100aと攻撃ECU100xの動作の一例を示すシーケンス図である。
例えば、ECU100aがDNとしてNa、SAとしてAを含むACLメッセージをネットワーク300へ送信する(ステップS41)。攻撃ECU100xは、DNとしてNa、SAとしてAを含むACLメッセージを受信する。攻撃ECU100xは、DNがNaのECU100aがSAとしてAを取得しようとしていることを認識し、ECU100aになりすますために、DNとしてNa、SAとしてAを含むACLメッセージをネットワーク300へ送信する(ステップS51)。
ECU100aは、DNとしてNa、SAとしてAを含むACLメッセージを受信する。ECU100aは、受信したACLメッセージに含まれる相手DNが示す値と自DNが示す値とが同じであることから相手の方が自身よりも優先度が高いと判断するため、別のSA(例えばB)を含むACLメッセージをネットワーク300へ送信する(ステップS42)。これに対して、攻撃ECU100xは、DNとしてNa、SAとしてBを含むACLメッセージを受信するため、直ちにDNとしてNa、SAとしてBを含むACLメッセージをネットワーク300へ送信する(ステップS52)。これにより、攻撃ECU100xは、ECU100aがSAとしてBを取得するのを阻止する。
ECU100aは、DNとしてNa、SAとしてBを含むACLメッセージを受信する。ECU100aは、受信したACLメッセージに含まれる相手DNが示す値と自DNが示す値とが同じであることから相手の方が自身よりも優先度が高いと判断するため、別のSA(例えばC)を含むACLメッセージをネットワーク300へ送信する(ステップS43)。これに対して、攻撃ECU100xは、DNとしてNa、SAとしてCを含むACLメッセージを受信するため、直ちにDNとしてNa、SAとしてCを含むACLメッセージをネットワーク300へ送信する(ステップS53)。これにより、攻撃ECU100xは、ECU100aがSAとしてCを取得するのを阻止する。
このように、攻撃ECU100xは、ECU100aがSAを取得するのを断念するまで(つまり、ECU100aがキャンノットクレームメッセージを送信するまで)、ECU100aのSAの取得を阻止し続ける。例えば、ECU100aは、DNとしてNa、SAとしてYを含むACLメッセージをネットワーク300に送信し(ステップS44)、これに対して攻撃ECU100xは、DNとしてNa、SAとしてYを含むACLメッセージをネットワーク300に送信し(ステップS54)、ECU100aは、SAを取得するのを断念してキャンノットクレームメッセージをネットワーク300に送信する(ステップS45)。
これにより、以降は、攻撃ECU100xは、DNがNaであるECU100aになりすまして、メッセージの送信が可能となる。
そこで、本開示では、ネットワーク300における不正を検知するための情報処理装置10が、複数のECU100が接続されたネットワーク300に接続されている。以下では、情報処理装置10の構成及び動作について説明する。
[情報処理装置の構成及び動作]
図8は、実施の形態における情報処理装置10の一例を示すブロック図である。
図9は、実施の形態における情報処理装置10の動作の一例を示すフローチャートである。
情報処理装置10は、不正検知部11、出力部12及び送受信インタフェース13を備える。
送受信インタフェース13は、ネットワーク300に送信されたメッセージを受信し、また、ネットワーク300に対してメッセージを送信する。送受信インタフェース13は、例えば、情報処理装置10に備えられた通信回路等により実現される。
不正検知部11は、それぞれ同一のDNを含むACLメッセージが、ネットワーク300に送信される回数又はネットワーク300に送信される間隔の累積時間と、ネットワーク300に接続される複数のECU100の数とに基づいて、ネットワーク300における不正を検知する(ステップS111)。ステップS11の詳細、すなわち、不正検知部11の詳細については後述する。
出力部12は、不正検知部11による検知の結果を出力する(ステップS112)。例えば、出力部12は、当該検知の結果を、送受信インタフェース13を介してECU100に出力したり、情報処理装置10が搭載された移動体のユーザ、又は、当該移動体を管理する中央管理センタ等に向けて出力したりする。これにより、安全を確保するために移動体を停止させたり、ユーザ等にネットワーク300に不正が存在することを知らせたりすることができる。
不正検知部11及び出力部12は、情報処理装置10が備えるプロセッサが、メモリに記憶されたプログラムに従って動作することにより実現される。
[不正の検知方法の第一例]
図10は、実施の形態における情報処理装置10の不正の検知方法の第一例を示すフローチャートである。図10は、図9におけるステップS112の詳細の一例を示すフローチャートである。
図10に示されるように、不正検知部11は、同一のDNを含むACLメッセージがネットワーク300に送信される回数を計測する(ステップS121)。例えば、不正検知部11は、移動体が起動してからの(具体的には、起動した移動体から電力を供給されて情報処理装置10が起動してからの)当該回数を計測する。例えば、不正検知部11は、送受信インタフェース13がネットワーク300に送信されたACLメッセージを受信する毎に、受信したACLメッセージに含まれるDNを確認し、同一のDNを含むACLメッセージがネットワーク300に送信された回数をDN毎に計測する。
次に、不正検知部11は、計測された回数、すなわち、それぞれ同一のDNを含むACLメッセージがネットワーク300に送信される回数が、ネットワーク300に接続される複数のECU100の数に基づいて決定される閾値よりも多いか否かを判定する(ステップS122)。
不正検知部11は、それぞれ同一のDNを含むACLメッセージがネットワーク300に送信される回数が、ネットワーク300に接続される複数のECU100の数に基づいて決定される閾値よりも多いと判定した場合(ステップS122でYes)、ネットワーク300に不正が存在すると判定する(ステップS123)。不正検知部11は、それぞれ同一のDNを含むACLメッセージがネットワーク300に送信される回数が、ネットワーク300に接続される複数のECU100の数に基づいて決定される閾値以下であると判定した場合(ステップS122でNo)、ネットワーク300に不正が存在しないと判定する(ステップS124)。
ここで、それぞれ同一のDNを含むACLメッセージがネットワーク300に送信される回数が、ネットワーク300に接続される複数のECU100の数に基づいて決定される閾値よりも多い場合に、ネットワーク300に不正が存在すると判定することができる理由について図11を用いて説明する。
図11は、実施の形態における情報処理装置10の不正の検知方法の第一例を説明するための図である。
例えば、ECU100aのDNが他のECU100b~100gのDNよりも大きい、言い換えると、ECU100a~100gのうちECU100aがSAの取得に対する優先度が最も低いとする。このとき、ネットワーク300に不正が存在していない正常時の場合にECU100aが最も多くのACLメッセージを送信する状況としては、ECU100aが、ACLメッセージを送信して複数のECU100のうちのいずれかのECU100(例えばECU100b)と競合し、SAを変えたACLメッセージを送信してまだ競合していないECU100(例えばECU100c)と競合し、SAを変えたACLメッセージを送信してまだ競合していないECU100(例えばECU100d)と競合し、SAを変えたACLメッセージを送信してまだ競合していないECU100(例えばECU100e)と競合し、SAを変えたACLメッセージを送信してまだ競合していないECU100(例えばECU100f)と競合し、SAを変えたACLメッセージを送信してまだ競合していないECU100(例えばECU100g)と競合し、そして、競合するECU100が存在しなくなり、SAを変えたACLメッセージを送信してSAを取得できるという状況がある。このような状況の場合、ECU100aは、移動体が起動してからネットワーク300に同一のDN(例えばNa)を含むACLメッセージを最大で7回送信する可能性がある。言い換えると、正常時には、それぞれ同一のDNを含むACLメッセージがこの回数(ここでは7回)よりも多くネットワーク300に送信されることはない。そこで、この回数を閾値として、それぞれ同一のDNを含むACLメッセージがネットワーク300に送信される回数と比較する。なお、閾値は、ネットワーク300に接続される複数のECU100の数に基づいて決定することができ、具体的にはネットワーク300に接続された複数のECU100の数(ここでは7つ)となる。
例えば、ネットワーク300に攻撃ECU100xが不正に接続されており、攻撃ECU100xがECU100aになりすまそうとしている場合、同一のDNを含むACLメッセージとしてNaを含むACLメッセージがECU100a及び攻撃ECU100xからネットワーク300へ送信される。この場合、攻撃ECU100xは、図11に示されるように、ECU100aがACLメッセージを送信する毎にECU100aと同一のDNを含むACLメッセージを送信するため、ネットワーク300には、正常時に送信され得る最大回数である閾値(ここでは7回)を超えて同一のDNを含むACLメッセージが送信されることになる。
そのため、不正検知部11は、図11の破線枠で示されるように、移動体が起動してから、それぞれ同一のDNを含むACLメッセージがネットワーク300に送信される回数を計測し、当該回数がネットワーク300に接続された複数のECU100の数よりも多い場合、ネットワーク300に不正が存在すると判定でき、ネットワーク300における不正を検知することができる。
例えば、閾値としてネットワーク300に接続された複数のECU100の数は、情報処理装置10のユーザ又は管理者等により予め設定されてもよい。また、情報処理装置10は、ネットワーク300に送信されるACLメッセージに含まれるDNの種類数からネットワーク300に接続された複数のECU100の数を推定して、推定した数を閾値としてもよい。
なお、ネットワーク300に接続される複数のECU100の数に基づいて決定される閾値は、ネットワーク300に接続された複数のECU100の数に限らない。
例えば、今後、ネットワーク300に他のECU100が追加で接続される可能性がある場合、追加で接続され得るECU100の数だけ閾値を予め多くしておいてもよい。この場合、閾値は、ネットワーク300に接続される可能性があるECU100の数となる。例えば、ネットワーク300に現状7つのECU100が接続されているが、ネットワーク300に最大で9つのECU100が接続される可能性がある場合、閾値は9回となる。例えば、閾値としてネットワーク300に接続される可能性があるECU100の数は、情報処理装置10のユーザ又は管理者等により予め設定されてもよい。
また、例えば、ネットワーク300に接続された複数のECU100には、仕様によっては、使用するSAが予め決められており、SAの取得の際に他のECU100との競合が発生しないように設定されているECU100が含まれる場合がある。この場合、閾値は、ネットワーク300に接続された複数のECU100の数から他のECU100との競合が発生しないように設定されているECU100の数を減算した数となる。例えば、ネットワーク300に現状7つのECU100が接続されているが、そのうち1つのECU100が他のECU100と競合しない場合には、閾値は6回となる。例えば、閾値としてネットワーク300に接続された複数のECU100の数から他のECU100との競合が発生しないように設定されているECU100の数を減算した数は、情報処理装置10のユーザ又は管理者等により予め設定されてもよい。
また、例えば、ネットワーク300に接続された複数のECU100には、アクティブとなっていないECU100が含まれる場合がある。この場合、閾値は、ネットワーク300に接続された複数のECU100の数からアクティブとなっていないECU100の数を減算した数となる。例えば、ネットワーク300に現状7つのECU100が接続されているが、そのうち1つのECU100がアクティブとなっていない場合には、閾値は6回となる。例えば、閾値としてネットワーク300に接続された複数のECU100の数からアクティブとなっていないECU100の数を減算した数は、情報処理装置10のユーザ又は管理者等により予め設定されてもよい。また、情報処理装置10は、ネットワーク300に送信されるACLメッセージに含まれるDNの種類数から、ネットワーク300に接続された複数のECU100の数からアクティブとなっていないECU100の数を減算した数を推定して、推定した数を閾値としてもよい。
このように、不正の検知方法の第一例では、それぞれ同一のDNを含むACLメッセージがネットワーク300に送信される回数が、ネットワーク300に接続される複数のECU100の数に基づいて決定される閾値よりも多い場合に、ネットワーク300に不正が存在することを検知することができる。
[不正の検知方法の第二例]
図12は、実施の形態における情報処理装置10の不正の検知方法の第二例を示すフローチャートである。図12は、図9におけるステップS112の詳細の一例を示すフローチャートである。
図12に示されるように、不正検知部11は、同一のDNを含むACLメッセージがネットワーク300に送信される間隔の累積時間を計測する(ステップS131)。例えば、不正検知部11は、移動体が起動してからの(具体的には、起動した移動体から電力を供給されて情報処理装置10が起動してからの)当該時間を計測する。例えば、不正検知部11は、送受信インタフェース13がネットワーク300に送信されたACLメッセージを受信する毎に、受信したACLメッセージに含まれるDNを確認し、同一のDNを含むACLメッセージがネットワーク300に送信される間隔の累積時間をDN毎に計測する。
次に、不正検知部11は、計測された累積時間、すなわち、それぞれ同一のDNを含むACLメッセージがネットワーク300に送信される間隔の累積時間が、ネットワーク300に接続される複数のECU100の数に基づいて決定される閾値よりも長いか否かを判定する(ステップS132)。
不正検知部11は、それぞれ同一のDNを含むACLメッセージがネットワーク300に送信される間隔の累積時間が、ネットワーク300に接続される複数のECU100の数に基づいて決定される閾値よりも長いと判定した場合(ステップS132でYes)、ネットワーク300に不正が存在すると判定する(ステップS133)。不正検知部11は、それぞれ同一のDNを含むACLメッセージがネットワーク300に送信される間隔の累積時間が、ネットワーク300に接続される複数のECU100の数に基づいて決定される閾値以下であると判定した場合(ステップS132でNo)、ネットワーク300に不正が存在しないと判定する(ステップS134)。
ここで、それぞれ同一のDNを含むACLメッセージがネットワーク300に送信される間隔の累積時間がネットワーク300に接続される複数のECU100の数に基づいて決定される閾値よりも長い場合に、ネットワーク300に不正が存在すると判定することができる理由について図13を用いて説明する。
図13は、実施の形態における情報処理装置10の不正の検知方法の第二例を説明するための図である。
例えば、ECU100aのDNが他のECU100b~100gのDNよりも大きい、言い換えると、ECU100a~100gのうちECU100aがSAの取得に対する優先度が最も低いとする。このとき、ネットワーク300に不正が存在していない正常時の場合にECU100aが最も長い時間ACLメッセージを送信する状況としては、ECU100aが、ACLメッセージを送信して複数のECU100のうちのいずれかのECU100(例えばECU100b)と競合し、SAを変えたACLメッセージを送信してまだ競合していないECU100(例えばECU100c)と競合し、SAを変えたACLメッセージを送信してまだ競合していないECU100(例えばECU100d)と競合し、SAを変えたACLメッセージを送信してまだ競合していないECU100(例えばECU100e)と競合し、SAを変えたACLメッセージを送信してまだ競合していないECU100(例えばECU100f)と競合し、SAを変えたACLメッセージを送信してまだ競合していないECU100(例えばECU100g)と競合し、そして、競合するECU100が存在しなくなり、SAを変えたACLメッセージを送信してSAを取得できるという状況がある。このような状況の場合、ECU100aは、移動体が起動してからネットワーク300に同一のDN(例えばNa)を含むACLメッセージを最大で7回送信する可能性がある。ACLメッセージを送信したECU100aは、1つのACLメッセージを送信してから最大で規定時間分(例えば250ms)、送信したACLメッセージに対する他のECU100からの応答を待つ。例えば、ECU100aは、上記規定時間内に自身のDNよりも小さいDNを有する他のECU100から応答があった場合、上記規定時間が経過するのを待たずに別のSAを含むACLメッセージを送信して再度最大で上記規定時間分、他のECU100からの応答を待つ。したがって、ACLメッセージが送信される間隔は、少なくとも上記規定時間以下となることから、ACLメッセージの送信回数を、ネットワーク300にACLメッセージが送信される間隔の累積時間に変換することができる。よって、上記の状況の場合、移動体が起動してからネットワーク300に同一のDN(例えばNa)を含むACLメッセージが送信される間隔の累積時間は、ECU100aが最大で7回分のACLメッセージを送信する際の送信間隔の最大累積時間(例えば最大250ms×7回=1750ms)となる可能性がある。言い換えると、正常時には、それぞれ同一のDNを含むACLメッセージが送信される累積時間は、この最大累積時間を超えることはない。そこで、この最大累積時間を閾値として、それぞれ同一のDNを含むACLメッセージがネットワーク300に送信される間隔の累積時間と比較する。なお、閾値は、ネットワーク300に接続される複数のECU100の数に基づいて決定することができ、具体的にはネットワーク300に接続された複数のECU100の数(ここでは7つ)に基づいて決定することができる。
例えば、ネットワーク300に攻撃ECU100xが不正に接続されており、攻撃ECU100xがECU100aになりすまそうとしている場合、同一のDNを含むACLメッセージとしてNaを含むACLメッセージがECU100a及び攻撃ECU100xからネットワーク300へ送信される。この場合、攻撃ECU100xは、図13に示されるように、ECU100aがACLメッセージを送信する毎にECU100aと同一のDNを含むACLメッセージを送信するため、同一のDNを含むACLメッセージがネットワーク300に送信される間隔の累積時間は、正常時に想定される最大累積時間である閾値を超えることになる。
そのため、不正検知部11は、図13の破線枠で示されるように、移動体が起動してから、それぞれ同一のDNを含むACLメッセージがネットワーク300に送信される間隔の累積時間を計測し、当該累積時間がネットワーク300に接続された複数のECU100の数に基づいて決定される時間(つまり最大累積時間)よりも長い場合、ネットワーク300に不正が存在すると判定でき、ネットワーク300における不正を検知することができる。
例えば、閾値としてネットワーク300に接続された複数のECU100の数に基づいて決定される時間は、情報処理装置10のユーザ又は管理者等により予め設定されてもよい。また、情報処理装置10は、ネットワーク300に送信されるACLメッセージに含まれるDNの種類数からネットワーク300に接続された複数のECU100の数を推定して、推定した数に基づいて決定した時間を閾値としてもよい。
なお、ネットワーク300に接続される複数のECU100の数に基づいて決定される閾値は、ネットワーク300に接続された複数のECU100の数に基づいて決定される時間に限らない。
例えば、今後、ネットワーク300に他のECU100が追加で接続される可能性がある場合、追加で接続され得るECU100の数だけ閾値を予め長くしておいてもよい。この場合、閾値は、ネットワーク300に接続される可能性があるECU100の数に基づいて決定される時間となる。例えば、閾値としてネットワーク300に接続される可能性があるECU100の数に基づいて決定される時間は、情報処理装置10のユーザ又は管理者等により予め設定されてもよい。
また、例えば、ネットワーク300に接続された複数のECU100には、仕様によっては、使用するSAが予め決められており、SAの取得の際に他のECU100との競合が発生しないように設定されているECU100が含まれる場合がある。この場合、閾値は、ネットワーク300に接続された複数のECU100の数から他のECU100との競合が発生しないように設定されているECU100の数を減算した数に基づいて決定される時間となる。例えば、閾値としてネットワーク300に接続された複数のECU100の数から他のECU100との競合が発生しないように設定されているECU100の数を減算した数に基づいて決定される時間は、情報処理装置10のユーザ又は管理者等により予め設定されてもよい。
また、例えば、ネットワーク300に接続された複数のECU100には、アクティブとなっていないECU100が含まれる場合がある。この場合、閾値は、ネットワーク300に接続された複数のECU100の数からアクティブとなっていないECU100の数を減算した数に基づいて決定される時間となる。例えば、閾値としてネットワーク300に接続された複数のECU100の数からアクティブとなっていないECU100の数を減算した数に基づいて決定される時間は、情報処理装置10のユーザ又は管理者等により予め設定されてもよい。また、情報処理装置10は、ネットワーク300に送信されるACLメッセージに含まれるDNの種類数から、ネットワーク300に接続された複数のECU100の数からアクティブとなっていないECU100の数を減算した数を推定して、推定した数に基づいて決定した時間を閾値としてもよい。
このように、不正の検知方法の第二例では、それぞれ同一のDNを含むACLメッセージがネットワーク300に送信される間隔の累積時間が、ネットワーク300に接続される複数のECU100の数に基づいて決定される閾値よりも長い場合に、ネットワーク300に不正が存在することを検知することができる。
[効果等]
情報処理装置10は、複数のECU100が接続されたネットワーク300における不正を検知するための情報処理装置である。複数のECU100のそれぞれは、ネットワーク300において使用を希望するSAを主張する宣言メッセージをネットワーク300に送信した後、当該SAを含む通常のメッセージのネットワーク300への送信を開始する装置である。宣言メッセージは、当該宣言メッセージを送信するECU100に予め割り振られたデバイス固有のDNを含む。情報処理装置10は、それぞれ同一のDNを含む宣言メッセージが、ネットワーク300に送信される回数又はネットワーク300に送信される間隔の累積時間と、ネットワーク300に接続される複数のECU100の数とに基づいて、ネットワーク300における不正を検知する不正検知部11と、検知の結果を出力する出力部12と、を備える。
これによれば、それぞれ同一のDNを含む宣言メッセージが、ネットワーク300に送信される回数又はネットワーク300に送信される間隔の累積時間と、ネットワーク300に接続される複数のECU100の数とを例えば比較するだけで、ネットワーク300における不正を検知することができる。すなわち、不正の検知のために、認証及び鍵共有のための通信が行われないため、当該通信による遅延が発生せず、また、通常のメッセージ内にMACを格納するためのフィールドが不要であり、通常のメッセージを送信するのに要する時間が増加しないことから、通信品質の劣化を抑制しつつ、ネットワーク300における不正を検知できる。
また、不正検知部11は、それぞれ同一のDNを含む宣言メッセージがネットワーク300に送信される回数が、ネットワーク300に接続される複数のECU100の数に基づいて決定される閾値よりも多い場合、ネットワーク300に不正が存在することを検知してもよい。
ネットワーク300に不正が存在しない場合、それぞれ同一のDNを含む宣言メッセージがネットワーク300に送信される回数は、ネットワーク300に接続される複数のECU100の数に基づいて決定される閾値を超えることはない。したがって、それぞれ同一のDNを含む宣言メッセージがネットワーク300に送信される回数を計測しておき、計測した回数を閾値と比較するだけで、容易にネットワーク300における不正を検知できる。
また、不正検知部11は、それぞれ同一のDNを含む宣言メッセージがネットワーク300に送信される間隔の累積時間が、ネットワーク300に接続される複数のECU100の数に基づいて決定される閾値よりも長い場合、ネットワーク300に不正が存在することを検知してもよい。
ネットワーク300に不正が存在しない場合、それぞれ同一のDNを含む宣言メッセージがネットワーク300に送信される間隔の累積時間は、ネットワーク300に接続される複数のECU100の数に基づいて決定される閾値を超えることはない。したがって、それぞれ同一のDNを含む宣言メッセージがネットワーク300に送信される間隔の累積時間を計測しておき、計測した累積時間を閾値と比較するだけで、容易にネットワーク300における不正を検知できる。
また、ネットワーク300は、SAE J1939規格に基づくCANであり、宣言メッセージは、SAE J1939規格において規定されたACLメッセージであってもよい。
このように、本開示は、SAE J1939規格に基づくCANに適用できる。
また、情報処理システム1は、情報処理装置10と、複数のECU100と、ネットワーク300と、を備える。
これによれば、通信品質の劣化を抑制しつつ、ネットワーク300における不正を検知できる情報処理システム1を提供できる。
(その他の実施の形態)
以上のように、本開示に係る技術の例示として実施の形態を説明した。しかしながら、本開示に係る技術は、これに限定されず、適宜、変更、置き換え、付加、省略等を行った実施の形態にも適用可能である。例えば、以下のような変形例も本開示の一実施の形態に含まれる。
例えば、上記実施の形態では、情報処理システム1は、ECU100a~100gを備えているとして説明したが、少なくとも2つのECU100を備えていればよい。
例えば、上記実施の形態では、情報処理システム1が、複数のECU100とは別にネットワーク300における不正を検知する機能を有する情報処理装置10を備える例について説明したが、これに限らない。例えば、複数のECU100に、ネットワーク300における不正を検知する機能を有する情報処理装置が含まれていてもよい。これについて、図14を用いて説明する。
図14は、その他の実施の形態における情報処理システム2の一例を示すブロック図である。
図14に示されるように、情報処理装置20は、複数のECU100のうちのいずれかのECU100であり、ここでは実施の形態において説明したECU100aがネットワーク300における不正を検知する機能も有する情報処理装置20となっている。
具体的には、情報処理装置20は、ECU100aのように、受信したメッセージの内容に応じた処理を行い、また、情報処理装置20に接続されている機器の状態を示すデータ又は他のECU100への指示値(制御値)等のデータを含む通常のメッセージを生成して周期的に送信する。また、情報処理装置20は、ECU100aのように、宣言メッセージをネットワーク300に送信した後、当該SAを含む通常のメッセージのネットワーク300への送信を開始する。さらに、情報処理装置20は、情報処理装置10のように、不正検知部11及び出力部12を備え、ネットワーク300における不正を検知する機能を有する。
このように、情報処理装置20は、複数のECU100が接続されたネットワーク300における不正を検知するための情報処理装置である。複数のECU100のそれぞれは、ネットワーク300において使用を希望するSAを主張する宣言メッセージをネットワーク300に送信した後、当該SAを含む通常のメッセージのネットワーク300への送信を開始する装置である。宣言メッセージは、当該宣言メッセージを送信するECU100に予め割り振られたデバイス固有のDNを含む。情報処理装置20は、複数のECU100のうちのいずれかのECU100であり、それぞれ同一のDNを含む宣言メッセージが、ネットワーク300に送信される回数又はネットワーク300に送信される間隔の累積時間と、ネットワーク300に接続される複数のECU100の数とに基づいて、ネットワーク300における不正を検知する不正検知部11と、検知の結果を出力する出力部12と、を備える。
このように、ネットワーク300における不正を検知する機能を有する情報処理装置20は、複数のECU100のうちのいずれかのECU100であってもよい。
なお、本開示は、情報処理装置及び情報処理システムとして実現できるだけでなく、情報処理装置を構成する各構成要素が行うステップ(処理)を含む情報処理方法として実現できる。
例えば、情報処理方法におけるステップは、コンピュータ(コンピュータシステム)によって実行されてもよい。そして、本開示は、情報処理方法に含まれるステップを、コンピュータに実行させるためのプログラムとして実現できる。
当該プログラムは、複数のECU100が接続されたネットワーク300における不正を検知するための情報処理装置によって実行されるプログラムである。複数のECU100のそれぞれは、ネットワーク300において使用を希望するSAを主張する宣言メッセージをネットワーク300に送信した後、当該SAを含む通常のメッセージのネットワーク300への送信を開始する装置であり、宣言メッセージは、当該宣言メッセージを送信するECU100に予め割り振られたデバイス固有のDNを含む。図9に示されるように、当該プログラムは、それぞれ同一のDNを含む宣言メッセージが、ネットワーク300に送信される回数又はネットワーク300に送信される間隔の累積時間と、ネットワーク300に接続される複数のECU100の数とに基づいて、ネットワーク300における不正を検知する不正検知処理(ステップS111)と、検知の結果を出力する出力処理(ステップS112)と、を含む。
さらに、本開示は、そのプログラムを記録したCD-ROM等である非一時的なコンピュータ読み取り可能な記録媒体として実現できる。
例えば、本開示が、プログラム(ソフトウェア)で実現される場合には、コンピュータのCPU、メモリ及び入出力回路等のハードウェア資源を利用してプログラムが実行されることによって、各ステップが実行される。つまり、CPUがデータをメモリ又は入出力回路等から取得して演算したり、演算結果をメモリ又は入出力回路等に出力したりすることによって、各ステップが実行される。
また、上記実施の形態の情報処理装置に含まれる各構成要素は、専用又は汎用の回路として実現されてもよい。
また、上記実施の形態の情報処理装置に含まれる各構成要素は、集積回路(IC:Integrated Circuit)であるLSI(Large Scale Integration)として実現されてもよい。
また、集積回路はLSIに限られず、専用回路又は汎用プロセッサで実現されてもよい。プログラム可能なFPGA(Field Programmable Gate Array)、又は、LSI内部の回路セルの接続及び設定が再構成可能なリコンフィギュラブル・プロセッサが、利用されてもよい。
さらに、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて、情報処理装置に含まれる各構成要素の集積回路化が行われてもよい。
その他、実施の形態に対して当業者が思いつく各種変形を施して得られる形態、本開示の趣旨を逸脱しない範囲で各実施の形態における構成要素及び機能を任意に組み合わせることで実現される形態も本開示に含まれる。
本開示は、例えばトラック、バス、建機車両、トラクタ、トレーラ又は船舶等におけるネットワークにおける不正に対応するための装置に適用できる。
1、2 情報処理システム
10、20 情報処理装置
11 不正検知部
12 出力部
13 送受信インタフェース
100、100a、100b、100c、100d、100e、100f、100g ECU
100x 攻撃ECU
300 ネットワーク

Claims (7)

  1. 複数の電子制御装置が接続されたネットワークにおける不正を検知するための情報処理装置であって、
    前記複数の電子制御装置のそれぞれは、前記ネットワークにおいて使用を希望するソースアドレスを主張する宣言メッセージを前記ネットワークに送信した後、当該ソースアドレスを含む通常のメッセージの前記ネットワークへの送信を開始する装置であり、
    前記宣言メッセージは、当該宣言メッセージを送信する電子制御装置に予め割り振られたデバイス固有のデバイスネームを含み、
    前記情報処理装置は、
    それぞれ同一のデバイスネームを含む前記宣言メッセージが、前記ネットワークに送信される回数又は前記ネットワークに送信される間隔の累積時間と、前記ネットワークに接続される前記複数の電子制御装置の数とに基づいて、前記ネットワークにおける不正を検知する不正検知部と、
    前記検知の結果を出力する出力部と、を備える、
    情報処理装置。
  2. 前記不正検知部は、それぞれ同一のデバイスネームを含む前記宣言メッセージが前記ネットワークに送信される回数が、前記ネットワークに接続される前記複数の電子制御装置の数に基づいて決定される閾値よりも多い場合、前記ネットワークに不正が存在することを検知する、
    請求項1に記載の情報処理装置。
  3. 前記不正検知部は、それぞれ同一のデバイスネームを含む宣言メッセージが前記ネットワークに送信される間隔の累積時間が、前記ネットワークに接続される前記複数の電子制御装置の数に基づいて決定される閾値よりも長い場合、前記ネットワークに不正が存在することを検知する、
    請求項1に記載の情報処理装置。
  4. 前記ネットワークは、SAE(Society of Automotive Engineers) J1939規格に基づくCAN(Controller Area Network)であり、
    前記宣言メッセージは、SAE J1939規格において規定されたアドレスクレームメッセージである、
    請求項1~3のいずれか1項に記載の情報処理装置。
  5. 請求項1~4のいずれか1項に記載の情報処理装置と、
    前記複数の電子制御装置と、
    前記ネットワークと、を備える、
    情報処理システム。
  6. 複数の電子制御装置が接続されたネットワークにおける不正を検知するための情報処理装置によって実行されるプログラムであって、
    前記複数の電子制御装置のそれぞれは、前記ネットワークにおいて使用を希望するソースアドレスを主張する宣言メッセージを前記ネットワークに送信した後、当該ソースアドレスを含む通常のメッセージの前記ネットワークへの送信を開始する装置であり、
    前記宣言メッセージは、当該宣言メッセージを送信する電子制御装置に予め割り振られたデバイス固有のデバイスネームを含み、
    前記プログラムは、
    それぞれ同一のデバイスネームを含む前記宣言メッセージが、前記ネットワークに送信される回数又は前記ネットワークに送信される間隔の累積時間と、前記ネットワークに接続される前記複数の電子制御装置の数とに基づいて、前記ネットワークにおける不正を検知する不正検知処理と、
    前記検知の結果を出力する出力処理と、を含む、
    プログラム。
  7. 複数の電子制御装置が接続されたネットワークにおける不正を検知するための情報処理装置であって、
    前記複数の電子制御装置のそれぞれは、前記ネットワークにおいて使用を希望するソースアドレスを主張する宣言メッセージを前記ネットワークに送信した後、当該ソースアドレスを含む通常のメッセージの前記ネットワークへの送信を開始する装置であり、
    前記宣言メッセージは、当該宣言メッセージを送信する電子制御装置に予め割り振られたデバイス固有のデバイスネームを含み、
    前記情報処理装置は、
    前記複数の電子制御装置のうちのいずれかの電子制御装置であり、
    それぞれ同一のデバイスネームを含む前記宣言メッセージが、前記ネットワークに送信される回数又は前記ネットワークに送信される間隔の累積時間と、前記ネットワークに接続される前記複数の電子制御装置の数とに基づいて、前記ネットワークにおける不正を検知する不正検知部と、
    前記検知の結果を出力する出力部と、を備える、
    情報処理装置。
JP2020006134A 2020-01-17 2020-01-17 情報処理装置、情報処理システム及びプログラム Active JP7336770B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020006134A JP7336770B2 (ja) 2020-01-17 2020-01-17 情報処理装置、情報処理システム及びプログラム
US17/147,062 US20210226991A1 (en) 2020-01-17 2021-01-12 Information processing apparatus, information processing system, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020006134A JP7336770B2 (ja) 2020-01-17 2020-01-17 情報処理装置、情報処理システム及びプログラム

Publications (2)

Publication Number Publication Date
JP2021114687A JP2021114687A (ja) 2021-08-05
JP7336770B2 true JP7336770B2 (ja) 2023-09-01

Family

ID=76856435

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020006134A Active JP7336770B2 (ja) 2020-01-17 2020-01-17 情報処理装置、情報処理システム及びプログラム

Country Status (2)

Country Link
US (1) US20210226991A1 (ja)
JP (1) JP7336770B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114779740A (zh) * 2022-04-22 2022-07-22 重庆长安汽车股份有限公司 一种车辆故障远程诊断***及方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014114687A (ja) 2012-12-11 2014-06-26 Kia Motors Corp スライディングドア用アウトサイドハンドル
JP2014146868A (ja) 2013-01-28 2014-08-14 Hitachi Automotive Systems Ltd ネットワーク装置およびデータ送受信システム
JP2014226946A (ja) 2013-05-17 2014-12-08 トヨタ自動車株式会社 車両用通信装置の異常対応システム及び車両用通信装置の異常対応方法
WO2014199687A1 (ja) 2013-06-13 2014-12-18 日立オートモティブシステムズ株式会社 ネットワーク装置およびネットワークシステム
US20150372975A1 (en) 2013-02-25 2015-12-24 Toyota Jidosha Kabushiki Kaisha Information processing device and information processing method
US20170013005A1 (en) 2015-06-29 2017-01-12 Argus Cyber Security Ltd. System and method for consistency based anomaly detection in an in-vehicle communication network
JP2019097206A (ja) 2014-04-03 2019-06-20 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 不正対処方法、不正検知電子制御ユニット、および、ネットワーク通信システム
JP2019126004A (ja) 2018-01-19 2019-07-25 富士通株式会社 攻撃検知装置および攻撃検知方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018157288A (ja) * 2017-03-16 2018-10-04 本田技研工業株式会社 通信システム
US11032300B2 (en) * 2017-07-24 2021-06-08 Korea University Research And Business Foundation Intrusion detection system based on electrical CAN signal for in-vehicle CAN network
US11019084B2 (en) * 2018-12-14 2021-05-25 Intel Corporation Controller, a context broadcaster and an alert processing device

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014114687A (ja) 2012-12-11 2014-06-26 Kia Motors Corp スライディングドア用アウトサイドハンドル
JP2014146868A (ja) 2013-01-28 2014-08-14 Hitachi Automotive Systems Ltd ネットワーク装置およびデータ送受信システム
US20150372975A1 (en) 2013-02-25 2015-12-24 Toyota Jidosha Kabushiki Kaisha Information processing device and information processing method
JP2014226946A (ja) 2013-05-17 2014-12-08 トヨタ自動車株式会社 車両用通信装置の異常対応システム及び車両用通信装置の異常対応方法
WO2014199687A1 (ja) 2013-06-13 2014-12-18 日立オートモティブシステムズ株式会社 ネットワーク装置およびネットワークシステム
JP2019097206A (ja) 2014-04-03 2019-06-20 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 不正対処方法、不正検知電子制御ユニット、および、ネットワーク通信システム
US20170013005A1 (en) 2015-06-29 2017-01-12 Argus Cyber Security Ltd. System and method for consistency based anomaly detection in an in-vehicle communication network
US20200186560A1 (en) 2015-06-29 2020-06-11 Argus Cyber Security Ltd. System and method for time based anomaly detection in an in-vehicle communication network
JP2019126004A (ja) 2018-01-19 2019-07-25 富士通株式会社 攻撃検知装置および攻撃検知方法

Also Published As

Publication number Publication date
JP2021114687A (ja) 2021-08-05
US20210226991A1 (en) 2021-07-22

Similar Documents

Publication Publication Date Title
US10104094B2 (en) On-vehicle communication system
US11438355B2 (en) In-vehicle network anomaly detection system and in-vehicle network anomaly detection method
Aliwa et al. Cyberattacks and countermeasures for in-vehicle networks
CN111630825B (zh) 车辆环境中的入侵异常监视
CN109076001B (zh) 帧传送阻止装置、帧传送阻止方法及车载网络***
Matsumoto et al. A method of preventing unauthorized data transmission in controller area network
CN100536474C (zh) 防范利用地址解析协议进行网络攻击的方法及设备
KR101734505B1 (ko) 차량용 네트워크의 공격탐지 방법 및 그 장치
KR20180072339A (ko) 운송 수단 내부 네트워크에서 복수의 전자 제어 유닛간 메시지 전송 방법
CN111788796B (zh) 车载通信***、交换装置、验证方法和计算机可读存储介质
JP7336770B2 (ja) 情報処理装置、情報処理システム及びプログラム
KR20080107599A (ko) 통신 네트워크에서의 arp 공격 차단 시스템 및 방법
JP7024069B2 (ja) 車両の制御機器に対する攻撃を検出する方法
US11502870B2 (en) Method for managing access control list based on automotive ethernet and apparatus using the same
Elend et al. Cyber security enhancing CAN transceivers
EP3713190A1 (en) Secure bridging of controller area network buses
KR102075514B1 (ko) 차량용 네트워크 보안장치
KR102204656B1 (ko) 일반 can 메시지의 전송지연을 예측하는 can 네트워크에 대한 메시지플러딩 공격 완화 시스템
JP4093075B2 (ja) 不正データ検出方法及び車載機器
KR102204655B1 (ko) 공격 메시지 재전송 시간을 예측하는 can 네트워크에 대한 메시지플러딩 공격 완화방법
JP7281714B2 (ja) 情報処理装置、情報処理システム及びプログラム
JP7117559B2 (ja) 電子制御装置、電子制御システム及びプログラム
CN114503518B (zh) 检测装置、车辆、检测方法及检测程序
JP6954071B2 (ja) ネットワーク監視装置および方法
KR20120010693A (ko) 전자 제어 장치간 인증방법 및 그 방법을 이용한 전자 제어 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220921

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230724

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230725

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230809

R151 Written notification of patent or utility model registration

Ref document number: 7336770

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

SZ03 Written request for cancellation of trust registration

Free format text: JAPANESE INTERMEDIATE CODE: R313Z03