JP2019097012A - Information processing apparatus, information processing method, and program - Google Patents

Information processing apparatus, information processing method, and program Download PDF

Info

Publication number
JP2019097012A
JP2019097012A JP2017224179A JP2017224179A JP2019097012A JP 2019097012 A JP2019097012 A JP 2019097012A JP 2017224179 A JP2017224179 A JP 2017224179A JP 2017224179 A JP2017224179 A JP 2017224179A JP 2019097012 A JP2019097012 A JP 2019097012A
Authority
JP
Japan
Prior art keywords
data
received data
reception
status information
information processing
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.)
Pending
Application number
JP2017224179A
Other languages
Japanese (ja)
Inventor
横田 薫
Kaoru Yokota
薫 横田
信貴 川口
Nobutaka Kawaguchi
信貴 川口
紘幸 和田
Hiroyuki Wada
紘幸 和田
根本 祐輔
Yusuke Nemoto
祐輔 根本
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 JP2017224179A priority Critical patent/JP2019097012A/en
Publication of JP2019097012A publication Critical patent/JP2019097012A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Abstract

To provide an information processing apparatus capable of detecting an unauthorized message that cannot be detected on the basis of whether the cycle is out of order.SOLUTION: An information processing apparatus 100 connected to a network includes a storage unit that stores a plurality of received data received through a network and a processor that detects unauthorized received data from among the plurality of received data, and the storage unit stores overwrite status information indicating whether second reception data which is data stored in the storage unit prior to the first reception data is overwritten by the first reception data from among the plurality of reception data, and the processor determines whether the first received data is unauthorized received data by using the overwrite status information.SELECTED DRAWING: Figure 7

Description

本発明は、ネットワークに接続される情報処理装置が受信するデータの不正検知に関する。   The present invention relates to fraud detection of data received by an information processing apparatus connected to a network.

近年、車載ネットワークに対する攻撃(ハッキング)、並びに、攻撃によるリスクの高さが指摘されている。具体的には、外部との無線接続インタフェースを備える自動車の情報端末に無線通信などを介してアクセスした攻撃者が、その情報端末上のプログラムを不正に書き換え、その情報端末から自動車内部の車載ネットワークに対して任意のコマンドを含む不正なCAN(Controller Area Network)メッセージを送信する。このことによって、電子制御ユニット(ECU:Electronic Contorol Unit、以下、ECUと表記する)によって制御されるアクチュエータが運転者の意図に反して制御される攻撃手法が発表されている。   In recent years, attacks on vehicle networks (hacking) and high risk of attacks have been pointed out. Specifically, an attacker who accesses an information terminal of a car equipped with a wireless connection interface with the outside via wireless communication etc. illegally rewrites a program on the information terminal, and from the information terminal to an in-vehicle network inside the car. Send an invalid Controller Area Network (CAN) message containing an arbitrary command to As a result, an attack method has been announced in which an actuator controlled by an electronic control unit (ECU: Electronic Control Unit, hereinafter referred to as an ECU) is controlled against the driver's intention.

CANのプロトコルによる通信では、CANメッセージの種類はメッセージ内のID(IDentification)によって示され、IDが同じである同一種類のメッセージは、一定の間隔で車載ネットワークのバスに送信される。   In communication according to the CAN protocol, the type of CAN message is indicated by an ID (IDentification) in the message, and the same type of message having the same ID is transmitted to the bus of the in-vehicle network at regular intervals.

このような送信の周期性を利用して、バスからメッセージを受信するECUにおいて、受信したメッセージがこのような不正なメッセージであるか否かを、送信又は受信のタイミングが規定の範囲内にあるか否かに基づいて判定する技術が提案されている(特許文献1参照)。   In the ECU that receives messages from the bus using such periodicity of transmission, the timing of transmission or reception is within the specified range whether the received message is such an unauthorized message or not. A technique for determining based on whether or not it has been proposed (see Patent Document 1).

特開2013−187555号公報JP, 2013-187555, A

しかしながら、このようなタイミングを規定の範囲におさめることで、特許文献1に提案されている技術では検知できないようにする巧妙な攻撃手法がある。   However, there is a clever attack method that makes such a timing undetectable by the technology proposed in Patent Document 1 by setting such timing within a prescribed range.

本発明は、そのような攻撃手法によって送信された不正メッセージであっても検知が可能な情報処理装置等を提供する。   The present invention provides an information processing apparatus or the like that can detect even an unauthorized message transmitted by such an attack method.

本発明の一態様に係る情報処理装置は、ネットワークに接続される情報処理装置であって、このネットワークから受信した複数の受信データを記憶する記憶部と、これら複数の受信データのうちの不正な受信データを検知するプロセッサとを備え、記憶部は、上記の複数の受信データのうちの第一受信データによって、当該第一受信データより前に記憶部に記憶されたデータである第二受信データが上書きされたか否かを示す上書きステータス情報を保持し、プロセッサは、この上書きステータス情報を用いて、第一受信データが不正な受信データであるか否か判定する。   An information processing apparatus according to an aspect of the present invention is an information processing apparatus connected to a network, and a storage unit for storing a plurality of reception data received from the network, and an illegal operation among the plurality of reception data. A processor configured to detect received data, and the storage unit is configured to receive second received data, which is data stored in the storage unit prior to the first received data, by the first received data among the plurality of received data described above Is held, and the processor uses this overwrite status information to determine whether the first received data is invalid received data.

なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータ読み取り可能なCD−ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。   Note that these general or specific aspects may be realized by a system, a method, an integrated circuit, a computer program, or a recording medium such as a computer readable CD-ROM, and the system, the method, the integrated circuit, the computer program And any combination of recording media.

本発明の情報処理装置は、送信又は受信のタイミングが規定の範囲外であるかの判定のみでは検知できない不正メッセージを検知することができる。   The information processing apparatus according to the present invention can detect an unauthorized message that can not be detected only by determining whether the timing of transmission or reception is out of a prescribed range.

図1は、車載ネットワークのバスからメッセージを受信する情報処理装置の一般的な機能構成を示すブロック図である。FIG. 1 is a block diagram showing a general functional configuration of an information processing apparatus for receiving a message from a bus of an in-vehicle network. 図2Aは、上記の情報処理装置で行われる、正常メッセージの受信時の動作例を説明するためのタイミングチャートである。FIG. 2A is a timing chart for explaining an operation example at the time of reception of a normal message performed by the above-described information processing apparatus. 図2Bは、上記の情報処理装置で行われる、不正メッセージの受信時の動作例を説明するためのタイミングチャートである。FIG. 2B is a timing chart for explaining an operation example at the time of reception of an unauthorized message performed by the above-described information processing apparatus. 図3は、上記の情報処理装置で行われる、不正メッセージの受信時の他の動作例を説明するためのタイミングチャートである。FIG. 3 is a timing chart for explaining another operation example at the time of reception of an unauthorized message performed by the above-described information processing apparatus. 図4は、実施の形態1における情報処理装置の一般的な機能構成を示すブロック図である。FIG. 4 is a block diagram showing a general functional configuration of the information processing apparatus in the first embodiment. 図5は、実施の形態1における情報処理装置で行われるメッセージの受信時の動作例を説明するためのタイミングチャートである。FIG. 5 is a timing chart for explaining an operation example at the time of receiving a message performed by the information processing apparatus in the first embodiment. 図6Aは、実施の形態1における情報処理装置で用いられる上書きステータス情報を示すレジスタの値及び対応する上書きステータス情報の例を説明するための図である。FIG. 6A is a diagram for describing an example of a value of a register indicating overwrite status information used in the information processing device in the first embodiment and a corresponding overwrite status information. 図6Bは、実施の形態1における情報処理装置で用いられる格納ステータス情報を示すレジスタの値及び対応する格納ステータス情報の例を説明するための図である。FIG. 6B is a diagram for describing an example of a value of a register indicating storage status information used in the information processing apparatus according to the first embodiment and corresponding storage status information. 図7は、実施の形態1における情報処理装置で行われる受信データに対する処理のフローチャートである。FIG. 7 is a flowchart of processing on received data performed by the information processing apparatus according to the first embodiment. 図8は、実施の形態2における情報処理装置で行われるメッセージの受信時の動作例を説明するためのタイミングチャートである。FIG. 8 is a timing chart for explaining an operation example at the time of receiving a message performed by the information processing apparatus in the second embodiment. 図9は、実施の形態2における情報処理装置で行われる受信データに対する処理のフローチャートである。FIG. 9 is a flowchart of processing on received data performed by the information processing apparatus according to the second embodiment.

(本発明の基礎となった知見)
本発明者らは、「背景技術」の欄において記載したようなタイミングを用いた不正メッセージの検知手法に関し、以下の問題が生じることを見出した。
(Findings that formed the basis of the present invention)
The present inventors have found that the following problems occur with respect to a fraud message detection method using timing as described in the "Background Art" section.

攻撃手法の理解のために、まず、メッセージを受信する機器の一般的な構成と、正常時のメッセージの受信処理について図を用いて説明する。図1は、CANプロトコルに準拠する車載ネットワークのバスからメッセージを受信する機器であるECU1100の一般的な機能構成を示すブロック図である。このような機器の例として、車載ネットワークにおいてメッセージを受信するECUを用いる。図2A及び図2Bは、それぞれ当該機器で行われるメッセージの受信時の動作例を説明するためのタイミングチャートである。   In order to understand the attack method, first, the general configuration of a device that receives a message and the process of receiving a normal message will be described with reference to the drawings. FIG. 1 is a block diagram showing a general functional configuration of an ECU 1100 which is an apparatus for receiving a message from a bus of an in-vehicle network conforming to the CAN protocol. As an example of such a device, an ECU that receives a message in an in-vehicle network is used. FIGS. 2A and 2B are timing charts for explaining an operation example at the time of receiving a message performed by the device.

車載ネットワークのバス300に接続されるECU1100は、例えばこの車載ネットワークに接続される他のECUから送信されるメッセージを受信する。メッセージは、ユーザの操作に応じた設定値又はセンサによって測定された物理量等を示す情報を含み、ECU1100はこれらの情報に応じて、ECU1100に接続されている(図示しない)アクチュエータを制御する。ECU1100は、CANコントローラ1110、ドライバ1130、及び不正検知部1150を備える。   The ECU 1100 connected to the bus 300 of the in-vehicle network receives, for example, a message transmitted from another ECU connected to the in-vehicle network. The message includes information indicating a set value corresponding to the user's operation or a physical quantity measured by a sensor, etc. The ECU 1100 controls an actuator (not shown) connected to the ECU 1100 according to the information. The ECU 1100 includes a CAN controller 1110, a driver 1130, and a fraud detection unit 1150.

CANコントローラ1110は、ECU1100を構成するマイクロコントローラによって実現される構成要素であり、受信バッファ及びレジスタを有する。   The CAN controller 1110 is a component implemented by the microcontroller that configures the ECU 1100, and has a reception buffer and a register.

受信バッファ及びレジスタは、マイクロコントローラに含まれるプロセッサの一部又はメモリ等の記憶装置(以下、これらをまとめて記憶部ともいう)によって実現される。受信バッファは、ECU1100がバス300から受信したメッセージのデータ(以下、受信データともいう)が一時的に格納される格納領域(記憶領域)であり、各メッセージに含まれるIDが示すメッセージの種類ごとに割り当てられる。つまり各受信バッファ(各格納領域)は、対応するIDが示す所定の種類のメッセージを格納する。レジスタには、各受信バッファに格納されたメッセージの受信時のタイムスタンプが保持される。また、レジスタには、受信されたメッセージのデータが、そのIDが示すメッセージの種類に応じた受信バッファに格納されているか否かを示すステータスの情報(以下、格納ステータス情報ともいう)も保持される。   The reception buffer and the register are realized by a part of a processor included in the microcontroller or a storage device such as a memory (hereinafter, collectively referred to as a storage unit). The reception buffer is a storage area (storage area) in which data of a message received by the ECU 1100 from the bus 300 (hereinafter, also referred to as received data) is temporarily stored, and each type of message indicated by an ID included in each message Assigned to That is, each reception buffer (each storage area) stores a predetermined type of message indicated by the corresponding ID. The register holds a time stamp when the message stored in each receive buffer is received. In addition, status information (hereinafter also referred to as storage status information) indicating whether the data of the received message is stored in the reception buffer corresponding to the type of the message indicated by the ID is also held in the register. Ru.

ドライバ1130及び不正検知部1150は、上記のプロセッサがメモリからソフトウェアを読み出して実行することによって実現される構成要素である。ドライバ1130は、レジスタに定期的にポーリングして格納ステータス情報を取得する。格納ステータス情報から受信バッファに受信データが格納されていると判定したときには、この受信データ及びレジスタのタイムスタンプを取得し、取得した受信データ及びタイムスタンプを合わせて不正検知部1150に渡す。   The driver 1130 and the fraud detection unit 1150 are components realized by the processor described above reading and executing software from the memory. The driver 1130 periodically polls the register to obtain storage status information. If it is determined from the storage status information that the reception data is stored in the reception buffer, the reception data and the time stamp of the register are acquired, and the acquired reception data and the time stamp are combined and passed to the fraud detection unit 1150.

不正検知部1150は、ドライバ1130から順次受け取った受信データのタイムスタンプから受信間隔を計算し、この受信間隔が、あらかじめ定められた周期から一定の許容範囲を超えて外れているか否かを判断する。受信間隔が許容範囲を超えてこの周期から外れている場合、不正検知部1150は不正を検知し、この受信データのメッセージを不正メッセージとして処理する。   The fraud detection unit 1150 calculates the reception interval from the time stamp of the reception data sequentially received from the driver 1130, and determines whether the reception interval deviates from a predetermined cycle beyond a certain allowable range. . If the reception interval exceeds the allowable range and deviates from this cycle, the fraud detection unit 1150 detects fraud and processes the received data message as a fraud message.

ECU1100のこれらの構成要素の動作例について、図2A及び図2Bを用いて説明する。図2Aは正常メッセージの受信時の動作、図2Bは不正メッセージの受信時の動作を示すタイミングチャートである。なお、ソフトウェアが実行されることで実現されるドライバ1130及び不正検知部1150の動作は、1本の時間軸の線にまとめている。   An operation example of these components of the ECU 1100 will be described with reference to FIGS. 2A and 2B. FIG. 2A is a timing chart showing an operation upon reception of a normal message, and FIG. 2B is a timing chart showing an operation upon reception of an unauthorized message. The operations of the driver 1130 and the fraud detection unit 1150 that are realized by execution of software are summarized in one time axis line.

図2A及び図2Bでは、矢印でECU1100における動作の発生が上向き又は下向きの矢印で示されている。矢印上の丸(ドット)は動作主又はデータ等の送信元を示し、矢尻は動作の対象又はデータ等の送信先を示す。例えば、ポーリング動作の発生は動作主であるドライバ1130の時間軸から、ポーリング先であるレジスタの時間軸に達する下向きの矢印で示される。このポーリングに対してレジスタに保持される値がドライバ1130に渡されるのは、レジスタの時間軸からドライバ1130の時間軸に向かう上向きの矢印で示される。また、渡されるレジスタの値の違いは、送信元から出る矢印の軸を実線と破線とで違えて示されている。   In FIGS. 2A and 2B, the occurrence of the operation in ECU 1100 is indicated by an arrow, which is an upward or downward arrow. Circles (dots) above the arrows indicate sources of action or data or the like, and arrowheads indicate destinations of actions or data or the like. For example, the occurrence of the polling operation is indicated by the downward arrow reaching the time axis of the register to be polled from the time axis of the driver 1130 which is the main operation. The value held in the register for this polling is passed to the driver 1130 as indicated by the upward arrow from the register time axis to the driver 1130 time axis. Also, the difference in the value of the passed register is shown by making the axis of the arrow coming out of the source different between the solid line and the broken line.

また、MSG1、MSG2、MSG3、及びMSGxはCANバス300を介して送信されてECU1100が受信するメッセージを示す。   Also, MSG1, MSG2, MSG3 and MSGx indicate messages transmitted via the CAN bus 300 and received by the ECU 1100.

図2A及び図2Bに示されるように、ドライバ1130は、レジスタから格納ステータス情報を取得するために、一定周期でレジスタへのポーリングを行う。   As shown in FIGS. 2A and 2B, the driver 1130 polls the register at regular intervals to obtain storage status information from the register.

格納ステータス情報を保持するレジスタは、取る値を変えて2つの格納ステータスを示す。この例では、レジスタは、受信バッファに受信データが格納されているときに1の値を、受信データが格納されていないときに0の値をそれぞれ取る。   A register holding storage status information changes the value to be taken to indicate two storage statuses. In this example, the register takes a value of 1 when the reception data is stored in the reception buffer, and takes a value of 0 when the reception data is not stored.

時間軸に沿って図2Aを見ると、まず、ドライバ1130は初回のポーリングに対し、受信バッファに受信データがないことを示す格納ステータス情報(0の値)を得て(破線の上向きの矢印)、受信バッファからのデータ取得は行わない。   Looking at FIG. 2A along the time axis, the driver 1130 first obtains storage status information (value of 0) indicating that there is no receive data in the receive buffer for the first polling (dotted arrow pointing up). , Data acquisition from the receive buffer is not performed.

その後、他のECUからCANバス300に1つ目のメッセージ(以下、MSG1と表記する)が送信されると、CANコントローラ1110はMSG1を時刻t1に受信する。CANコントローラ1110は、受信したMSG1を受信バッファに格納し、時刻t1のタイムスタンプをこの受信バッファに対応するレジスタに保持させる(図示なし)。また、格納ステータス情報を保持するレジスタの値を0から1にする。   Thereafter, when the first message (hereinafter referred to as MSG1) is transmitted from the other ECU to the CAN bus 300, the CAN controller 1110 receives MSG1 at time t1. The CAN controller 1110 stores the received MSG1 in the reception buffer, and holds the time stamp of the time t1 in the register corresponding to the reception buffer (not shown). Also, the value of the register holding the storage status information is changed from 0 to 1.

初回のポーリングから所定の周期(ポーリング周期)で2回目のポーリングを行ったドライバ1130は、受信バッファに受信データがあることを示す格納ステータス情報(1の値)を得ると、受信バッファからMSG1及びレジスタから時刻t1のタイムスタンプをそれぞれ取得して、不正検知部1150に渡す。CANコントローラ1110では、MSG1の格納されていた受信バッファが空けられ、格納ステータス情報を保持するレジスタの値は1から0に戻される。   When the driver 1130 that has performed the second polling in a predetermined cycle (polling cycle) after the first polling obtains storage status information (a value of 1) indicating that there is received data in the reception buffer, MSG 1 and MSG 1 are received from the reception buffer. The time stamp at time t1 is obtained from the register, and is passed to the fraud detection unit 1150. In the CAN controller 1110, the reception buffer in which MSG1 was stored is emptied, and the value of the register holding the storage status information is returned from 1 to 0.

ECU1100では、ここまでのサイクル(初回のポーリングから受信バッファを空けるまで)が繰り返される。ECU1100では、MSG1と共通のIDを持つ2つ目のメッセージMSG2とその受信時刻t2を示すタイムスタンプが取得されて、不正検知部1150に渡される。なお、これらのタイムスタンプは、CANコントローラ1110において各メッセージに付され、例えば各受信バッファに対応するレジスタ(図2Bにおいて図示なし)に保持される。   In the ECU 1100, the cycle up to this point (from the first polling to the emptying of the reception buffer) is repeated. In the ECU 1100, a second message MSG 2 having an ID common to MSG 1 and a time stamp indicating its reception time t 2 are acquired and passed to the fraud detection unit 1150. These time stamps are added to each message in the CAN controller 1110, and held, for example, in a register (not shown in FIG. 2B) corresponding to each reception buffer.

不正検知部1150は、MSG2の受信時刻t2とMSG1の受信時刻t1との差分と、所定のメッセージ送信周期Tとを用いて、MSG2が不正メッセージであるか否か判定する。より具体的には、t2とt1との差分が、メッセージ送信周期Tから所定の許容差Δ以上に外れている場合にMSG2が不正メッセージであると判定する。つまり、MSG2は、次の式1が満たされる場合、正常メッセージであると判定され、満たされない場合、不正メッセージであると判定される。   The fraud detection unit 1150 uses the difference between the reception time t2 of MSG2 and the reception time t1 of MSG1 and a predetermined message transmission cycle T to determine whether MSG2 is a fraudulent message. More specifically, if the difference between t2 and t1 deviates from the message transmission cycle T by a predetermined tolerance Δ or more, it is determined that MSG2 is an unauthorized message. That is, MSG2 is determined to be a normal message if the following equation 1 is satisfied, and is determined to be an unauthorized message if it is not satisfied.

T−Δ<t2−t1<T+Δ・・・(式1)   T−Δ <t2−t1 <T + Δ (Equation 1)

図2Aの例では、t2とt1との差分はTに等しく、不正検知部1150は、MSG2は正常メッセージであると判定する。   In the example of FIG. 2A, the difference between t2 and t1 is equal to T, and the fraud detection unit 1150 determines that MSG2 is a normal message.

次に図2Bの例を説明する。図2Aの例と共通の点については、説明を省略する。なお、ドライバ1130によるポーリングの周期、及び正常メッセージの送信周期Tは図2Aの例と共通である。   Next, an example of FIG. 2B will be described. The description of the points common to the example of FIG. 2A will be omitted. The polling cycle by the driver 1130 and the transmission cycle T of the normal message are the same as in the example of FIG. 2A.

CANバス300に送信された1つ目のメッセージMSG1が受信バッファに格納され、受信バッファからのMSG1及びレジスタからの時刻t1のタイムスタンプが不正検知部1150に渡されるまでは図2Aの例での動作と共通である。   Until the first message MSG1 transmitted to the CAN bus 300 is stored in the reception buffer, and the time stamp of time t1 from the reception buffer and MSG1 from the reception buffer is passed to the fraud detection unit 1150 in the example of FIG. 2A. Common to the operation.

CANコントローラ1110では、MSG1の格納されていた受信バッファが空けられ、格納ステータス情報を保持するレジスタの値は1から0に戻される。正常メッセージとしては次に送信周期Tに従ってMSG2がCANバス300に送信され、時刻t2に受信されるはずである。しかし、MSG2が送信される前に、MSG1と共通のIDを持つメッセージMSGxが攻撃者に乗っ取られた他のECUからCANバス300に送信されている。CANコントローラ1110は、MSGxを時刻txに受信して一旦空いた受信バッファに格納し、また、時刻txを示すタイムスタンプをレジスタに保持する。あわせて、格納ステータス情報を保持するレジスタの値は0から1に変更される。   In the CAN controller 1110, the reception buffer in which MSG1 was stored is emptied, and the value of the register holding the storage status information is returned from 1 to 0. Next, MSG 2 should be transmitted to CAN bus 300 according to the transmission cycle T as a normal message and received at time t 2. However, before MSG2 is sent, a message MSGx having an ID common to MSG1 is sent to the CAN bus 300 from another ECU hijacked by the attacker. The CAN controller 1110 receives MSGx at time tx and stores it in the reception buffer that has been freed, and holds a time stamp indicating time tx in the register. At the same time, the value of the register holding the storage status information is changed from 0 to 1.

その次のポーリングの結果、MSGx及び時刻txを示すタイムスタンプがドライバ1130から不正検知部1150に渡される。   As a result of the next polling, a time stamp indicating MSGx and time tx is passed from the driver 1130 to the fraud detecting unit 1150.

不正検知部1150は、MSGxの受信時刻txとMSG1の受信時刻t1との差分と、所定のメッセージ送信周期Tとを用いて、MSGxが不正メッセージであるか否か判定する。ここで、次の式2が満たされる場合、MSGxは正常メッセージであると判定される。   The fraud detection unit 1150 uses the difference between the reception time tx of MSGx and the reception time t1 of MSG1 and a predetermined message transmission cycle T to determine whether MSGx is a fraudulent message. Here, when the following equation 2 is satisfied, MSGx is determined to be a normal message.

T−Δ<tx−t1<T+Δ・・・(式2)   T−Δ <tx−t1 <T + Δ (Equation 2)

しかし図2Bの場合、tx−t1<T−Δであるため、不正検知部1150は、CANバスへの送信が所定の周期を外れるMSGxを不正メッセージと判定して不正なデータを検知する。検知された不正メッセージは、ECU1100によるアクチュエータの制御に利用されることなく破棄されるか、又は事後的な解析等への利用のために、不揮発性のメモリ上にあるログに記録されてもよい。   However, in the case of FIG. 2B, since tx−t1 <T−Δ, the fraud detection unit 1150 detects MSGx that transmission to the CAN bus deviates from the predetermined cycle as a fraud message and detects fraudulent data. The detected fraudulent message may be discarded without being used for control of the actuator by the ECU 1100, or may be recorded in a log in a non-volatile memory for later analysis and the like. .

その後、CANバス300に送信されたMSG2は図2Aの例と同様に受信され、ECU1100において利用される。   Thereafter, MSG2 transmitted to CAN bus 300 is received in the same manner as in the example of FIG.

このように、ECU1100は、CANネットワークでは共通のIDのメッセージは所定の周期で送信されることを利用して、その周期から許容差以上に外れて送信されたメッセージを不正メッセージと判定して検知する。これにより、CANネットワークのセキュリティが図られている。しかしながら、次に説明する攻撃手法では、ECU1100は不正メッセージを検知できない。   As described above, the ECU 1100 detects that a message transmitted out of the cycle by an allowance or more from the cycle is detected as a fraudulent message using the fact that the message of the common ID is transmitted at a predetermined cycle in the CAN network. Do. This secures the CAN network. However, in the attack method described below, the ECU 1100 can not detect an unauthorized message.

図3は、ECU1100で行われる、不正メッセージの受信時の他の動作例を説明するためのタイミングチャートである。ドライバ1130によるポーリングの周期、及び正常メッセージの送信周期Tは図2A及び図2Bの例と共通である。   FIG. 3 is a timing chart for explaining another operation example performed by the ECU 1100 at the time of receiving an unauthorized message. The polling cycle by the driver 1130 and the transmission cycle T of the normal message are common to the example of FIGS. 2A and 2B.

図3の例における攻撃手法の図2Bにおける攻撃手法との違いは、CANバス300への不正メッセージMSGxの送信が、ある正常メッセージ(同図中のMSG2)の送信直後であって、ドライバ1130がこの正常メッセージを取得する前に行われる点にある。   The difference between the attack method in the example of FIG. 3 and the attack method in FIG. 2B is that the transmission of the illegitimate message MSGx to the CAN bus 300 is immediately after the transmission of a certain normal message (MSG2 in the same drawing). The point is to be performed before acquiring this normal message.

MSG2は、CANコントローラ1110によって時刻t2に受信されて受信バッファに格納され、レジスタにはタイムスタンプとしてt2が格納される。そして、CANコントローラ1110は、MSG2の受信の直後にCANバス300に送信されたMSGxを、ドライバ1130がMSG2を取得するより前である時刻txに受信する。MSGxとMSG2とは共通のIDを持つため、格納される受信バッファは同じである。つまり、受信バッファにあるMSG2はMSGxによって上書きされ、レジスタに保持するタイムスタンプもt2からtxに上書きされる。   MSG2 is received by the CAN controller 1110 at time t2 and stored in the reception buffer, and t2 is stored in the register as a time stamp. Then, the CAN controller 1110 receives MSGx transmitted to the CAN bus 300 immediately after reception of MSG2 at time tx before the driver 1130 acquires MSG2. Since MSGx and MSG2 have a common ID, the reception buffer stored is the same. That is, MSG2 in the receive buffer is overwritten by MSGx, and the time stamp held in the register is also overwritten from t2 to tx.

その次のポーリングの結果、MSGx及び時刻txを示すタイムスタンプがドライバ1130から不正検知部1150に渡される。   As a result of the next polling, a time stamp indicating MSGx and time tx is passed from the driver 1130 to the fraud detecting unit 1150.

不正検知部1150では、txとt1との差分と、所定のメッセージ送信周期Tとを用いてMSGxが不正メッセージであるか否か判定する。ここで、次の式3が満たされる場合、MSGxは正常メッセージであると判定される。   The fraud detecting unit 1150 uses the difference between tx and t1 and a predetermined message transmission cycle T to determine whether MSGx is a fraudulent message. Here, if the following equation 3 is satisfied, MSGx is determined to be a normal message.

T−Δ<tx−t1<T+Δ・・・(式3)   T−Δ <tx−t1 <T + Δ (Equation 3)

ここで、MSGxはMSG2の直後に送信され速やかに受信されたためt2とtxとの差は小さく、式3は満たされる。したがって、不正検知部1150は、MSGxを正常メッセージであると判定する。その後、実際は不正メッセージであるMSGxが正常メッセージであるMSG2に代わってアクチュエータの制御に使われることで、攻撃者の意図する攻撃は成功する。   Here, since MSGx is transmitted immediately after MSG2 and received immediately, the difference between t2 and tx is small, and Equation 3 is satisfied. Therefore, the fraud detection unit 1150 determines that MSGx is a normal message. After that, the attack intended by the attacker succeeds by using the MSGx, which is an illegal message, to control the actuator instead of MSG2, which is a normal message.

なお、この例では、続いて受信されるMSG3についての不正検知のための判定でも、t3とtxとの差分が送信周期から許容差未満であるため、MSGxの不正は検知されない。   In this example, even in the determination for detecting fraudulently received MSG 3, the difference between t 3 and tx is less than the allowable difference from the transmission cycle, so that the fraudulentness of MSG x is not detected.

以下、このような攻撃手法によって送信された不正メッセージであっても検知が可能な情報処理装置等の実施の形態を説明する。   Hereinafter, an embodiment of an information processing apparatus or the like capable of detecting even an unauthorized message transmitted by such an attack method will be described.

なお、以下で説明する各実施の形態は、いずれも包括的又は具体的な例を示すものである。以下の各実施の形態で示される数値、形状、構成要素、構成要素の配置及び接続形態、ステップ、ステップの順序などは一例であり、本発明を限定する趣旨ではない。また、以下の各実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については任意の構成要素として説明される。   Each embodiment described below shows a comprehensive or specific example. The numerical values, shapes, components, arrangement and connection forms of components, steps, order of steps, and the like shown in the following embodiments are merely examples, and the present invention is not limited thereto. Further, among the components in the following embodiments, components not described in the independent claim indicating the highest level concept are described as optional components.

(実施の形態1)
図4は、実施の形態1における、CANプロトコルに準拠する車載ネットワークのバスからメッセージを受信する情報処理装置の一般的な機能構成を示すブロック図である。このような情報処理装置の例として、上述の本発明の基礎となった知見の説明に用いたのと同じく、車載ネットワークにおいてメッセージを受信するECUを用いる。
Embodiment 1
FIG. 4 is a block diagram showing a general functional configuration of an information processing apparatus for receiving a message from a bus of an in-vehicle network conforming to the CAN protocol according to the first embodiment. As an example of such an information processing apparatus, an ECU that receives a message in an in-vehicle network is used as in the explanation of the knowledge underlying the above-described present invention.

車載ネットワークのバス300に接続されるECU100もまた、例えばこの車載ネットワークに接続される他のECUから送信される、ユーザの操作に応じた設定値又はセンサによって測定された物理量等を示すメッセージに応じて、ECU100に接続されているアクチュエータ(図示しない)を制御するものであり、基本的な機能構成はECU1100と同じく、CANコントローラ110、ドライバ130、及び不正検知部150を備える。   The ECU 100 connected to the bus 300 of the in-vehicle network also responds to a message indicating, for example, a set value corresponding to the user's operation or a physical quantity measured by a sensor or the like transmitted from another ECU connected to the in-vehicle network. The basic functional configuration is similar to that of the ECU 1100, and includes a CAN controller 110, a driver 130, and a fraud detection unit 150.

また、これらの機能的な構成要素の基本的な機能及びこれらを実現するためのハードウェア及びハードウェアと協働するソフトウェアの種類はECU1100と同じであるため、説明を省略する。しかしながら、ECU100とECU1100とは、メッセージの受信時の動作において差がある。以下、ECU100のECU1100との差異を中心に説明する。   Further, basic functions of these functional components and hardware for realizing them and types of software cooperating with the hardware are the same as those of the ECU 1100, and thus the description thereof is omitted. However, the ECU 100 and the ECU 1100 have a difference in the operation at the time of receiving the message. Hereinafter, differences from the ECU 1100 of the ECU 100 will be mainly described.

図5は、ECU100で行われるメッセージの受信時の動作例を説明するためのタイミングチャートである。ドライバ130によるポーリングの周期、及び正常メッセージの送信周期Tは図2Aから図3までの例と共通である。また、図5の動作例でも、図3と同様のタイミングで不正メッセージMSGxが攻撃者に乗っ取られた他のECUからバス300に送信される。つまり、正常なメッセージMSG2がCANコントローラ110によってバス300から受信された直後に、不正メッセージMSGxがバス300に送信される。したがって、上述のとおり、受信されたメッセージの送信間隔に基づく従来の手法では不正検知はできない。   FIG. 5 is a timing chart for explaining an operation example at the time of reception of a message performed by the ECU 100. The polling cycle by the driver 130 and the transmission cycle T of the normal message are the same as in the example of FIGS. 2A to 3. Also in the operation example of FIG. 5, an unauthorized message MSGx is transmitted to the bus 300 from another ECU that has been taken over by the attacker at the same timing as that of FIG. 3. That is, immediately after the normal message MSG 2 is received from the bus 300 by the CAN controller 110, the invalid message MSGx is sent to the bus 300. Thus, as described above, fraudulent detection is not possible with conventional approaches based on transmission intervals of received messages.

ECU100では、ECU1100と異なり、上書きステータス情報がさらに不正検知のために用いられる。上書きステータス情報とは、標準的なCANコントローラにおいて実装される、レジスタに保持される情報であり、受信バッファにおいて、ドライバ130によって読み取られなかった受信データが新たに受信した別のデータによって上書きされたか否かを示す。従来、例えば、上書きステータス情報はバス300の混雑状況の判断に用いられている。図6Aは、上書きステータス情報を示すレジスタの値及び対応する上書きステータス情報の例を説明するための図である。また、図6Bは、上述の格納ステータス情報を示すレジスタの値及び対応する格納ステータス情報の例を説明するための図である。格納ステータス情報も、ECU100において用いられる。ECU100は、各IDのメッセージの受信データが格納される受信バッファごとの、上書きステータス情報および格納ステータス情報のそれぞれを示す値を保持するためのレジスタを備える。   In the ECU 100, unlike the ECU 1100, the overwrite status information is further used for fraud detection. Overwrite status information is information held in a register, implemented in a standard CAN controller, in the receive buffer whether received data not read by the driver 130 was overwritten by another newly received data. Indicates whether or not. Conventionally, for example, the overwrite status information is used to determine the congestion status of the bus 300. FIG. 6A is a diagram for describing an example of values of a register indicating overwrite status information and corresponding overwrite status information. FIG. 6B is a diagram for explaining an example of the value of the register indicating the storage status information described above and the corresponding storage status information. Storage status information is also used in the ECU 100. The ECU 100 includes a register for holding a value indicating each of overwrite status information and storage status information for each reception buffer in which reception data of a message of each ID is stored.

再び図5を参照し、図3に示したECU1100の各構成要素の動作と比較しながらECU100の動作について説明する。   Referring back to FIG. 5, the operation of ECU 100 will be described in comparison with the operation of each component of ECU 1100 shown in FIG. 3.

ドライバ130は、受信バッファの格納ステータス情報を保持するレジスタにポーリングする。ポーリングの結果、返ってきた格納ステータス情報を保持するレジスタの値が0の場合、受信バッファに格納されている受信データがなく、ドライバ1130の動作と同じく、それ以上のデータのやり取りは行われない。なお、図5では、破線の矢印の軸のレジスタの値「0」のやり取りを示し、実線の矢印の軸はレジスタの値「1」のやり取りを示す。両方の線が並ぶ場合は、2つのレジスタのそれぞれから「1」の値と「0」の値とが読み取られている。   The driver 130 polls the register holding the storage status information of the reception buffer. As a result of polling, if the value of the register that holds the returned storage status information is 0, there is no received data stored in the reception buffer, and no more data exchange is performed as in the operation of the driver 1130. . Note that, in FIG. 5, the exchange of the register value “0” of the axis of the broken arrow is indicated, and the axis of the solid arrow indicates the exchange of the value “1” of the register. When both lines are aligned, the value of “1” and the value of “0” are read from each of the two registers.

格納ステータスを示す値が1の場合、つまり、受信バッファに格納されている受信データがある場合、ドライバ1130の動作と異なり、ドライバ130は受信バッファからこの受信データを取得し、合わせて、この受信バッファの上書きステータス情報を保持するレジスタにポーリングをして値を取得する。図5におけるOS1及びOSxはそれぞれ、MSG1、MSGxが受信バッファにあるときにドライバ130が取得した上書きステータス情報を示す。   If the value indicating the storage status is 1, that is, if there is received data stored in the reception buffer, the driver 130 acquires this reception data from the reception buffer, unlike the operation of the driver 1130, and collectively this reception Polls a register that holds buffer overwrite status information to obtain a value. OS1 and OSx in FIG. 5 indicate the overwrite status information acquired by the driver 130 when MSG1 and MSGx are in the reception buffer, respectively.

この値が0の場合、つまり、新たに受信されたデータフレームによる受信バッファのデータの上書きが発生していない場合、ドライバ130は受信データのメッセージを正常メッセージとして扱う。図5において、OS1は値が0で示される上書きステータス情報の例である。   If this value is 0, that is, if the newly received data frame does not overwrite the data in the reception buffer, the driver 130 treats the received data message as a normal message. In FIG. 5, OS1 is an example of overwrite status information whose value is indicated by 0.

また、この値が1の場合、つまり、新たに受信されたデータフレームによる受信バッファの(未読の)データの上書きが発生している場合、ドライバ130は受信データのメッセージを不正メッセージとして扱う。図5において、OSxは値が1で示される上書きステータス情報の例である。   When this value is 1, that is, when the (unread) data of the reception buffer is overwritten due to the newly received data frame, the driver 130 treats the received data message as an unauthorized message. In FIG. 5, OSx is an example of overwrite status information whose value is indicated by 1.

ECU100で行われる、受信データに対するこのような処理の一連の手順を、フローチャートを用いて説明する。図7は、ECU100で行われる、受信データに対する処理のフローチャートである。   A series of procedures of such processing for received data, which is performed by the ECU 100, will be described using a flowchart. FIG. 7 is a flowchart of processing on received data, which is performed by the ECU 100.

周期的にポーリングを実行するドライバ130は、ポーリングのタイミングが到来するまでは待機し(ステップS70でNo)、ポーリングのタイミングが到来すると(ステップS70でYes)、ポーリングを実行してCANコントローラ110のレジスタに保持されている受信バッファの格納ステータス情報を問い合わせる(ステップS71)。   The driver 130 that periodically executes polling waits until the timing of polling arrives (No in step S70), and executes the polling when the timing of polling arrives (Yes in step S70). The storage status information of the reception buffer held in the register is inquired (step S71).

格納ステータス情報が、受信バッファに受信データが格納されていないことを示す場合(ステップS71で「受信なし」)、ドライバ130は次のタイミングを待ってポーリングを実行する。   When the storage status information indicates that reception data is not stored in the reception buffer ("No reception" in step S71), the driver 130 executes polling after waiting for the next timing.

格納ステータス情報が、受信バッファに受信データが格納されていることを示す場合(ステップS71で「受信あり」)、ドライバ130は受信バッファからメッセージ、つまり受信データ、及び、当該受信バッファに対応するレジスタからこの受信データのタイムスタンプを、それぞれ取得する(ステップS72)。この受信データは、本実施の形態における第一受信データの例である。また、タイムスタンプは、受信データの受信時刻に関連する時刻情報の例である。   If the storage status information indicates that the reception data is stored in the reception buffer ("received" in step S71), the driver 130 sends a message from the reception buffer, that is, reception data, and a register corresponding to the reception buffer. The time stamp of the received data is acquired from each (step S72). The received data is an example of first received data in the present embodiment. The time stamp is an example of time information associated with the reception time of the received data.

またドライバ130は、さらに、CANコントローラ110のレジスタに保持されている受信バッファの上書きステータス情報を問い合わせて取得する(ステップS73)。ここまでにドライバ130が取得したメッセージの受信データ、タイムスタンプ、及び上書きステータス情報は、不正検知部150に渡される。   The driver 130 further inquires and acquires the overwrite status information of the reception buffer held in the register of the CAN controller 110 (step S73). The received data of the message acquired by the driver 130 so far, the time stamp, and the overwrite status information are passed to the fraud detection unit 150.

不正検知部150は、上書きステータス情報に基づいて、ステップS72でドライバ130が取得した受信データによって、受信バッファでの(未読の)受信データの上書きは発生しているか否かを確認する(ステップS74)。   Based on the overwrite status information, the fraud detection unit 150 checks whether the (unread) reception data in the reception buffer is overwritten by the reception data acquired by the driver 130 in step S72 (step S74). ).

上書きステータス情報が、受信バッファにおいて(未読の)受信データの上書きが発生したことを示す場合(ステップS74でYes)、不正検知部150は、不正検知の通知(ステップS76)及び/又は不正メッセージの出力(ステップS77)を行う。   If the overwrite status information indicates that the (unread) received data has been overwritten in the reception buffer (Yes in step S74), the fraud detection unit 150 sends a fraud detection notification (step S76) and / or The output (step S77) is performed.

ステップS76での不正検知の通知の具体例としては、ECU100が接続される車載ネットワークを含む車両の運転手へ、当該車両が備える警告機能による通知、及び/又は、当該車両と通信可能な監視サーバへの通知が挙げられる。または、当該車両内で、危険回避動作処理等の、不正検知時に行われる処理を担う機能的なブロックへの通知であってもよい。   As a specific example of the notification of fraud detection in step S76, notification to the driver of the vehicle including the on-vehicle network to which the ECU 100 is connected by the warning function of the vehicle and / or a monitoring server capable of communicating with the vehicle Notification to the public. Alternatively, it may be a notification to a functional block in charge of processing performed at the time of fraud detection, such as danger avoidance operation processing, in the vehicle.

また、ステップS77での不正メッセージの出力の具体例としては、上述のような事後的な解析等への利用のためのログへの記録が挙げられる。   In addition, as a specific example of the output of the fraudulent message in step S77, recording in a log for use in subsequent analysis or the like as described above can be mentioned.

上書きステータス情報が、受信バッファにおいて(未読の)受信データの上書きは発生していないことを示す場合(ステップS74でNo)、不正検知部150は、この受信データの受信時刻に基づく正常又は不正の判定を行う(ステップS75)。より具体的には、不正検知部150は、ドライバ130から取得した受信データのタイムスタンプが示す時刻情報と、この受信データの1つ前にドライバ130から取得した受信データのタイムスタンプが示す時刻情報との差分を算出する。1つ前の受信データは、本実施の形態における第二受信データの例である。   When the overwrite status information indicates that the (unread) reception data is not overwritten in the reception buffer (No in step S74), the fraud detection unit 150 determines whether the reception data is normal or incorrect based on the reception time of the reception data. A determination is made (step S75). More specifically, the fraud detection unit 150 receives the time information indicated by the time stamp of the received data acquired from the driver 130 and the time information indicated by the time stamp of the received data acquired from the driver 130 immediately before the received data. Calculate the difference with. The immediately preceding received data is an example of second received data in the present embodiment.

算出された差分が所定の範囲内であれば(ステップS75でYes)、不正検知部150は受信データを正常なデータと判定する。算出された差分が所定の範囲外であれば(ステップS75でNo)、不正検知部150は受信データを不正なデータと判定して不正なデータを検知する。ステップS75で不正な受信データを検知すると、不正検知部150は、不正検知の通知(ステップS76)及び/又は不正メッセージの出力(ステップS77)を行う。なお、算出された差分と比較されるこの所定の範囲とは、図5に示される送信周期T±許容差Δの範囲である。   If the calculated difference is within the predetermined range (Yes in step S75), the fraud detection unit 150 determines that the received data is normal data. If the calculated difference is out of the predetermined range (No in step S75), the fraud detecting unit 150 determines that the received data is invalid data, and detects invalid data. When detecting fraudulent received data in step S75, the fraud detection unit 150 performs fraud detection notification (step S76) and / or outputs a fraud message (step S77). The predetermined range to be compared with the calculated difference is the range of the transmission cycle T ± the tolerance Δ shown in FIG.

受信データの不正検知のための一連の手順が終了し、引き続きCANバスからの次の受信データを対象に不正検知の処理が行われる。   A series of procedures for fraud detection of the received data are completed, and the fraud detection processing is subsequently performed on the next received data from the CAN bus.

このように、本実施の形態における不正検知部150は、受信データ(メッセージ)が正常であるか否かについて、この受信データによって、受信バッファでプロセッサが(未読の)同種の(この受信データの1つ前の)受信データを上書きしたか否かに基づいて判定する。また、このような上書きが発生していない場合には、直前の受信データとのタイムスタンプの差分に基づく不正検知をさらに行う。これにより、定期的に送信される正常なデータから、送信間隔の許容差内のごく短い時間差で送信される不正な受信データを検知することができる。   As described above, the fraud detection unit 150 according to the present embodiment determines whether or not the processor is the same (unread) in the reception buffer according to the reception data as to whether the reception data (message) is normal or not. This determination is based on whether or not the previous received data has been overwritten. In addition, when such overwriting does not occur, fraud detection is further performed based on the difference of the time stamp with the immediately preceding received data. As a result, it is possible to detect unauthorized reception data transmitted with a very short time difference within the transmission interval tolerance from normal data transmitted periodically.

このような不正検知部150を備えるECU100は、従来は検知できなかった不正なデータの検知に対応し、ネットワークにおけるセキュリティをより確実なものにすることができる。   The ECU 100 provided with such a fraud detection unit 150 can respond to detection of fraudulent data that could not be detected conventionally, and can make security in the network more reliable.

(実施の形態2)
実施の形態2における情報処理装置について、実施の形態1との差異点を中心に説明する。
Second Embodiment
An information processing apparatus according to the second embodiment will be described focusing on differences from the first embodiment.

本実施の形態における情報処理装置は、実施の形態1における情報処理装置と不正検知処理における動作に差異がある。   The information processing apparatus according to the present embodiment is different from the information processing apparatus according to the first embodiment in the operation in the fraud detection process.

本実施の形態における情報処理装置の機能構成は、実施の形態1における情報処理装置であるECU100の機能構成と共通であるため、上述の図4及びその説明をもって替え、ここでの説明を省略する。   The functional configuration of the information processing device in the present embodiment is the same as the functional configuration of the ECU 100 which is the information processing device in the first embodiment, and therefore, the above is replaced with FIG. .

図8は、本実施の形態におけるECU100で行われるメッセージの受信時の動作例を説明するためのタイミングチャートである。正常メッセージの送信周期Tは図2Aから図3及び図5の例と共通である。また、図8の動作例でも、図3及び図5と同様のタイミングで不正メッセージMSGxが攻撃者に乗っ取られた他のECUからバス300に送信される。つまり、正常なメッセージMSG2がCANコントローラ110によってバス300から受信された直後に不正メッセージMSGxがバス300に送信される。したがって、受信されたメッセージの送信間隔に基づく手法での不正検知はできない。   FIG. 8 is a timing chart for describing an operation example at the time of reception of a message performed by ECU 100 in the present embodiment. The transmission period T of the normal message is common to the examples of FIGS. 2A to 3 and 5. Also in the operation example of FIG. 8, an unauthorized message MSGx is transmitted to the bus 300 from another ECU that has been taken over by an attacker at the same timing as in FIGS. 3 and 5. That is, immediately after the normal message MSG 2 is received from the bus 300 by the CAN controller 110, the invalid message MSGx is sent to the bus 300. Therefore, fraud detection can not be performed by the method based on the transmission interval of the received message.

図8の動作例は、図5に示される実施の形態1におけるECU100の動作例と、ドライバ130によるポーリングの周期が異なる。   The operation example of FIG. 8 differs from the operation example of the ECU 100 in the first embodiment shown in FIG. 5 from the polling cycle by the driver 130.

具体的には、図8の動作例では、上書きステータス情報OSxを用いてMSGxが不正な受信データであることを検知した後に、ポーリングの周期をより短くする。このように、より短い周期でポーリングを実行することで、受信バッファの格納ステータス情報を取得する。そして、定期的に送信されている受信バッファに格納された正常なデータを、その送信から送信間隔の許容差内のごく短い時間差で送信される不正な受信データで上書きされる前にドライバ130が読み取ることができる。   Specifically, in the operation example of FIG. 8, after detecting that MSGx is incorrect received data using the overwrite status information OSx, the polling cycle is further shortened. As described above, by executing polling in a shorter cycle, storage status information of the reception buffer is acquired. Then, before the normal data stored in the reception buffer transmitted periodically is overwritten with the incorrect reception data transmitted from the transmission with a very short time difference within the transmission interval tolerance, the driver 130 can It can be read.

図5の動作例では、不正な受信データの検知は可能であったが、このような時間差で不正なデータが送信され続けている間、ドライバ130は受信バッファから正常なデータを読み取ることができない。   In the operation example of FIG. 5, detection of incorrect received data is possible, but the driver 130 can not read normal data from the receive buffer while incorrect data continues to be transmitted at such a time difference. .

これに対し図8の動作例では、不正な受信データの直前に送信された正常な受信データMSG3がドライバ130によって読み取られ、さらに不正検知部150が、その後の受信データMSGyが不正な受信データであることを、送信間隔(ty−t3)が許容差内に収まらないことに基づいて検知している。本実施の形態におけるECU100では、不正な受信データが検知された場合に、ドライバ130が格納ステータス情報を取得するためのポーリングをより短い周期で実行する。これにより、ドライバ130は受信バッファから正常なデータを読み取ることができる。   On the other hand, in the operation example of FIG. 8, the normal received data MSG3 transmitted immediately before the incorrect received data is read by the driver 130, and the fraud detecting unit 150 further detects that the subsequent received data MSGy is incorrect received data. The presence is detected based on the fact that the transmission interval (ty-t3) does not fall within the tolerance. In the ECU 100 according to the present embodiment, when incorrect reception data is detected, the driver 130 executes polling for acquiring storage status information in a shorter cycle. Thus, the driver 130 can read normal data from the reception buffer.

なお、ポーリングの周期は正常なデータの受信が可能になるまで段階的に短縮されてもよいし、一度に最短の周期まで短縮されてもよい。   The polling cycle may be reduced stepwise until normal data can be received, or may be shortened to the shortest cycle at a time.

次に、本実施の形態におけるECU100で行われる、受信データに対するこのような処理の一連の手順を、フローチャートを用いて説明する。図9は、ECU100で行われる、受信データに対する処理のフローチャートである。図7で示される処理と共通の手順は、共通の参照符号で示されており、説明を省略することがある。なお、以下のこの処理の説明は、ポーリングの周期は正常なデータの受信が可能になるまで段階的に短縮され得る場合を例とする。   Next, a series of procedures of such processing for received data performed in ECU 100 in the present embodiment will be described using a flowchart. FIG. 9 is a flowchart of processing performed on the received data, which is performed by the ECU 100. The procedure common to the process shown in FIG. 7 is indicated by the same reference numeral, and the description may be omitted. The following description of this process takes as an example the case where the polling cycle can be reduced stepwise until normal data can be received.

ドライバ130は、まずポーリング周期を初期化する(ステップS80)。ポーリング周期の初期値は、例えばECU100における処理負荷としてある程度の余裕が確保される程度のポーリングの時間的間隔を示す値である。このような値として実施の形態1におけるECU100で設定されるポーリング周期と共通であってもよい。   The driver 130 first initializes the polling cycle (step S80). The initial value of the polling cycle is, for example, a value indicating a time interval of polling at which a certain degree of margin is secured as a processing load in the ECU 100. Such a value may be the same as the polling cycle set by the ECU 100 in the first embodiment.

ステップS70からS74までは、実施の形態1と共通である。ステップS72でドライバ130が受信バッファから取得する受信データは本実施の形態における第一受信データの例であり、受信バッファから取得するタイムスタンプは、受信データの受信時刻に関連する時刻情報の例である。また、第一受信データの1つ前の受信データは、本実施の形態における第二受信データの例である。   Steps S70 to S74 are the same as in the first embodiment. The reception data acquired by the driver 130 from the reception buffer in step S72 is an example of first reception data in this embodiment, and the time stamp acquired from the reception buffer is an example of time information related to the reception time of reception data. is there. Also, the immediately preceding received data of the first received data is an example of the second received data in the present embodiment.

上書きステータス情報が、受信バッファにおいて(未読の)受信データの上書きが発生したことを示す場合(ステップS74でYes)、不正検知部150は、ポーリング周期を上述のように短縮し(ステップS82)、また、不正メッセージの出力(ステップS78)を行う。不正メッセージの出力の動作の内容は、ステップS76での動作と基本的に共通であってよい。   If the overwrite status information indicates that the (unread) reception data has been overwritten in the reception buffer (Yes in step S74), the fraud detection unit 150 shortens the polling cycle as described above (step S82), In addition, the unauthorized message is output (step S78). The content of the operation of outputting the fraudulent message may be basically the same as the operation in step S76.

その後のECU100の処理は、受信バッファに格納された次の受信データの有無の確認のためのポーリング(ステップS70)に戻る。したがって、初期値のポーリング周期よりも短い周期でステップS70が実行される。その後のステップS74までは上述の1回目のステップS70からS74までと同様に実行される。このように短縮されたポーリング周期でステップS70が実行されてからステップS72でドライバ130が受信バッファから取得する受信データは、本実施の形態における第三受信データの例である。   The processing of the ECU 100 thereafter returns to the polling (step S70) for confirming the presence or absence of the next reception data stored in the reception buffer. Therefore, step S70 is executed in a cycle shorter than the polling cycle of the initial value. The subsequent steps S74 are performed in the same manner as the above-described first steps S70 to S74. The reception data acquired by the driver 130 from the reception buffer in step S72 after step S70 is executed in the polling cycle shortened in this way is an example of third reception data in the present embodiment.

そして2回目のステップS74でもYesの場合、ポーリング周期がさらに短縮される(ステップS82)。続いて不正検知通知が実行され(ステップS78)、このさらに短縮されたポーリング周期で、次の受信データに対してステップS70が実行される。このような手順で、ポーリング周期の短縮は、ステップS74でNoと判断されるまで、つまり受信バッファにおいて、ドライバ130が(未読の)受信データが新しい受信データで上書きされる状況が発生しなくなるまで重ねて実行される。   If the second step S74 is also Yes, the polling cycle is further shortened (step S82). Subsequently, the fraud detection notification is executed (step S78), and in the further shortened polling cycle, step S70 is executed on the next received data. In such a procedure, shortening of the polling cycle is performed until the situation where the (unread) received data of the driver 130 is overwritten with the new received data in the receive buffer does not occur until it is determined No in step S74. It is executed repeatedly.

2回目のステップS74でNoの場合、さらに不正検知部150は、この受信データの受信時刻に基づく正常又は不正の判定を行う(ステップS75)。ステップS75でNoの場合におけるステップS76及びS77は、実施の形態1と共通である。なお、ステップS75からS77の手順が実行される場合は、不正な受信データはタイミングに基づいた不正検知手法によって検出可能であるため、図9の例では、以降の不正な受信データの検知のためにポーリングの周期を短縮していない。   In the case of No at the second step S74, the fraud detection unit 150 further determines normality or fraud based on the reception time of the received data (step S75). Steps S76 and S77 in the case of No at step S75 are the same as in the first embodiment. When the procedure of steps S75 to S77 is executed, since the illegitimate received data can be detected by the timing-based fraud detection method, in the example of FIG. 9, for the subsequent detection of illegitimate received data. The polling cycle has not been shortened.

ステップS75でYesの場合、不正な受信データは検出されなかったとして、次の受信データの有無の確認のためのポーリング(ステップS70)のポーリング周期は初期化される(ステップS81)。   In the case of Yes in step S75, it is determined that no illegal received data has been detected, and the polling cycle of polling (step S70) for confirming the presence or absence of the next received data is initialized (step S81).

このように、本実施の形態における不正検知部150は、実施の形態1における不正検知部150と同様に、受信データ(メッセージ)が正常であるか否かについて、この受信データによって、受信バッファで(ドライバ130又は不正検知部150を実行する)プロセッサが(未読の)同種の(この受信データの1つ前の)受信データを上書きしたか否かに基づいて判定する。また、このような上書きが発生していない場合には、直前の受信データとのタイムスタンプの差分に基づく不正検知をさらに行う。これにより、定期的に送信される正常なデータから、送信間隔の許容差内のごく短い時間差で送信される不正な受信データを検知することができる。   As described above, in the same manner as the fraud detection unit 150 in the first embodiment, the fraud detection unit 150 in the present embodiment determines whether the reception data (message) is normal or not by using the reception buffer according to the reception data. The determination is made based on whether the processor (which executes the driver 130 or the fraud detection unit 150) overwrites the (unread) same type of received data (preceding this received data). In addition, when such overwriting does not occur, fraud detection is further performed based on the difference of the time stamp with the immediately preceding received data. As a result, it is possible to detect unauthorized reception data transmitted with a very short time difference within the transmission interval tolerance from normal data transmitted periodically.

また、本実施の形態における不正検知部150はさらに、受信データの上書きが発生した場合には、ポーリング周期を短くする。これにより、不正な受信データによって正常な受信データが上書きされる前に正常な受信データを取得することができる。   In addition, the fraud detection unit 150 according to the present embodiment shortens the polling cycle when the received data is overwritten. Thus, it is possible to obtain normal reception data before normal reception data is overwritten by incorrect reception data.

なお、図9に示される例を用いた上述の処理の手順は適宜変形が可能である。例えば、ステップS81は、ECU100の起動後にステップS82のポーリング周期の短縮が実行されるまでは、実行されなくてもよい。   The procedure of the above-described process using the example shown in FIG. 9 can be modified as appropriate. For example, step S81 may not be performed until the reduction of the polling cycle of step S82 is performed after activation of the ECU 100.

また、ステップS81ではポーリング周期を初期化するのではなく、段階的により長くしてもよい。例えば、上書きステータス情報に基づく不正な受信データの初回の検知時のステップS82ではポーリング周期をECU100において可能な最小値まで短くして、まずは受信バッファからの正常な受信データの取得を可能にする。その後、段階的にポーリング周期を長くし、再度不正な受信データが検知されたときにポーリング周期を一段階短くすることで、正常な受信データの取得が可能であって最も長いポーリング周期が見つけられてもよい。   In addition, in step S81, the polling period may not be initialized but may be gradually longer. For example, in step S82 at the time of the first detection of incorrect reception data based on the overwrite status information, the polling cycle is shortened to the minimum value possible in the ECU 100, and firstly, normal reception data can be acquired from the reception buffer. After that, the polling cycle is extended gradually in steps, and when the incorrect received data is detected again, the polling cycle is shortened by one step, so that it is possible to acquire normal received data and the longest polling cycle is found. May be

このように一旦短縮されたポーリング周期がステップS81が延長又は初期化されてからのステップS72でドライバ130が受信バッファから取得する受信データは、本実施の形態における第四受信データの例である。   The reception data acquired from the reception buffer by the driver 130 in step S72 after the polling cycle thus shortened once is extended or initialized in step S81 is an example of the fourth reception data in the present embodiment.

ポーリング周期は短ければ短いほど、より確実に受信バッファからの正常な受信データの取得が可能である。しかしその一方で、短いポーリング周期はECU100の処理負荷が大きい。したがって、むやみにポーリング周期を短縮すると、不正検知以外の処理に十分なリソースを割り当てることが不可能になる場合がある。上記のように正常な受信データが取得された後にポーリング周期を初期化したり、又は極力長いものを用いたりすることで、過度に短いポーリング周期を用い続けることを避け、ECU100におけるセキュリティの強度とセキュリティに割り当てるリソースとのバランスをとることができる。   The shorter the polling period, the more surely the normal reception data can be acquired from the reception buffer. However, on the other hand, the short polling cycle has a large processing load on the ECU 100. Therefore, if the polling cycle is reduced sloppyly, it may not be possible to allocate sufficient resources for processing other than fraud detection. As described above, by initializing the polling cycle after obtaining normal received data, or by using as long as possible, it is possible to avoid continuing to use the excessively short polling cycle, and the strength and security of security in the ECU 100. Can be balanced with the resources assigned to

(変形例等)
以上のように、本発明に係る技術の例示として実施の形態1及び2を説明した。しかしながら、本発明に係る技術は、これらの実施の形態に限定されず、適宜、変更、置き換え、付加、省略等を行った実施の形態にも適用可能である。例えば、以下のような変形例も本発明の実施の形態に含まれる。
(Modification etc.)
As described above, Embodiments 1 and 2 have been described as examples of the technology according to the present invention. However, the technology according to the present invention is not limited to these embodiments, and is also applicable to embodiments in which changes, replacements, additions, omissions, and the like are appropriately made. For example, the following modifications are also included in the embodiment of the present invention.

(1)各実施の形態におけるECU100では、上書きステータス情報及びタイムスタンプを用いて不正検知の判定がなされているが、さらに受信データに含まれるペイロードを用いて不正検知の判定がなされてもよい。   (1) In the ECU 100 in each embodiment, determination of fraud detection is made using overwrite status information and a time stamp, but determination of fraud detection may be made using a payload further included in received data.

より具体的には、ステップS74でYes又はステップS75でNoの判定がなされた受信データを対象に、不正検知部150は、ステップS76又はS78より前に各受信データのペイロードを抽出し、ペイロードの示す値が所定の正常範囲内にあるか正常範囲外にあるかを判定する。そして、この値が所定の正常範囲外にある場合、不正検知部150は、第一受信データが不正であると判定してステップS76又はS78の不正検知通知を実行してもよい。   More specifically, the fraud detection unit 150 extracts the payload of each received data before step S76 or S78 for the received data for which the determination in step S74 is YES or NO in step S75. It is determined whether the indicated value is within a predetermined normal range or outside the normal range. If the value is out of the predetermined normal range, the fraud detection unit 150 may determine that the first received data is fraudulent and execute the fraud detection notification in step S76 or S78.

ここでいう所定の正常範囲とは、例えば受信データ(メッセージ)のIDが示す種類ごとに定められた値の範囲であってもよい。また、判定対象のメッセージより前に受信された、IDが共通のメッセージのペイロードの値からの差分又は変化率の正常範囲であってもよい。これにより、例えばバス300の混雑又はその緩和によって正常なメッセージ間での上書き又は受信時刻のずれ等が発生した場合に、これらのメッセージが誤って不正であると判定されない。   The predetermined normal range referred to here may be, for example, a range of values defined for each type indicated by the ID of the received data (message). In addition, the ID may be a normal range of a difference or change rate from the value of the payload of the common message, which is received before the message to be determined. As a result, for example, in the case where overwrite or a shift in reception time between normal messages occurs due to congestion of the bus 300 or its alleviation, these messages are not determined to be incorrect by mistake.

このように、ペイロードを用いることで誤検知を抑え、より高精度な不正検知を実現することができる。   As described above, by using the payload, false detection can be suppressed, and more accurate fraud detection can be realized.

(2)各実施の形態におけるECU100では、ドライバ130はポーリングを周期的に実行して取得する格納ステータス情報に応じて受信バッファから受信データを取得しているが、これに限定されない。例えば実施の形態1におけるECU100では、ドライバ130は、受信バッファに受信データが格納されたときに発生する割り込みベースで受信データを取得してもよい。また例えば、実施の形態2におけるECU100では、ドライバ130は、不正な受信データが検知されるまでは受信バッファに受信データが格納されたときに発生する割り込みベースで受信データを取得し、検知後にポーリングを含む上述の動作に切り替えて実行してもよい。   (2) In the ECU 100 according to each embodiment, the driver 130 periodically executes polling to acquire reception data from the reception buffer according to storage status information acquired, but the present invention is not limited to this. For example, in the ECU 100 according to the first embodiment, the driver 130 may obtain reception data on an interrupt basis that occurs when reception data is stored in the reception buffer. Further, for example, in the ECU 100 in the second embodiment, the driver 130 acquires reception data on an interrupt basis that occurs when reception data is stored in the reception buffer until illegal reception data is detected, and polls after detection. May be switched to the above-described operation including

(3)各実施の形態におけるECU100で行われるメッセージの受信時の動作の各手順のドライバ又は不正検知部による分担は上述の例に限定されない。例えばすべての手順がドライバによって実行されてもよい。また例えば、ECU100上で実行されているメイン関数がステップS71を実行し、ポーリングを実行するタイミングにドライバ130を呼び出して続くステップS71等を実行させてもよい。   (3) The sharing by the driver or the fraud detecting unit of each procedure of the operation at the time of receiving a message performed by the ECU 100 in each embodiment is not limited to the above-described example. For example, all procedures may be performed by the driver. Alternatively, for example, the main function being executed on the ECU 100 may execute step S71, and the driver 130 may be called at the timing to execute polling to execute the subsequent step S71 and the like.

(4)各実施の形態において、タイムスタンプ等の情報の保持される場所はレジスタに限定されない。このような情報の保持場所は、ドライバ130及び不正検知部150を実現するプロセッサから図5又は図8に示されるようなタイミングでの動作が実行できる速さでアクセス可能であればよく、例えば各IDの受信データを格納する受信バッファ内であってもよい。   (4) In each embodiment, the place where information such as a time stamp is held is not limited to the register. Such information storage location may be accessible from the processor implementing the driver 130 and the fraud detection unit 150 at a speed at which the operation at the timing as shown in FIG. 5 or FIG. 8 can be performed. It may be in a reception buffer that stores received data of an ID.

(5)各実施の形態において、ECU100で例示される情報処理装置の、接続されているネットワーク内での役割は限定されない。情報処理装置は、例えばアクチュエータの制御をするECUであってもよいし、ネットワークの監視用のECU、又はゲートウェイであってもよい。また、これらの役割を担う1つの情報処理装置であってもよいし、1台の情報処理装置上でソフトウェア等によって実現される複数の機能モジュールの1つとして実装されてもよい。   (5) In each embodiment, the role of the information processing apparatus exemplified by the ECU 100 in the connected network is not limited. The information processing apparatus may be, for example, an ECU that controls an actuator, or may be an ECU for monitoring a network or a gateway. Also, it may be one information processing apparatus having these roles, or may be implemented as one of a plurality of functional modules realized by software or the like on one information processing apparatus.

(6)各実施の形態及びその変形例は、CAN通信が行われるネットワーク上のシステムとして説明されたが、本発明の適用対象はこれに限定されず、他の通信方式によるネットワークを利用するシステムにも適用することができる。例えば、CAN FD(CAN with Flexible Data rate)、TTCAN(Time Triggered CAN)、Ethernet(登録商標)、LIN(Local Interconnect Network)、MOST(登録商標)(Media Oriented Systems Transport)、FlexRay(登録商標)などの通信方式が用いられるシステムであってもよい。   (6) Although each embodiment and its modification were described as a system on the network where CAN communication is performed, the application object of the present invention is not limited to this, and a system using a network by other communication method Can also be applied. For example, CAN FD (CAN with Flexible Data rate), TTCAN (Time Triggered CAN), Ethernet (registered trademark), LIN (Local Interconnect Network), MOST (registered trademark) (Media Oriented Systems Transport), FlexRay (registered trademark), etc. It may be a system using the communication method of

(7)上記の各情報処理装置を構成する構成要素の一部又は全部は、各装置に脱着可能なICカード又は単体のモジュールから構成されているとしてもよい。このICカード又はモジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。また、このICカード又はモジュールは、上記のような高集積度の集積回路で実現される超多機能LSIを含んでもよい。マイクロプロセッサが、ROM又はRAMに記憶されるコンピュータプログラムに従って動作することにより、ICカード又はモジュールは、その機能を達成する。このICカード又はモジュールは、耐タンパ性を有してもよい。   (7) A part or all of the components constituting each of the above-described information processing apparatuses may be configured from an IC card or a single module which can be detached from each apparatus. The IC card or module is a computer system including a microprocessor, a ROM, a RAM, and the like. Also, this IC card or module may include a super-multifunctional LSI realized by an integrated circuit with a high degree of integration as described above. The IC card or module achieves its function by the microprocessor operating according to the computer program stored in the ROM or RAM. The IC card or module may have tamper resistance.

(8)本発明は、上記の各装置が実行する動作に含まれる処理の手順を含む方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、このコンピュータプログラムからなるデジタル信号であるとしてもよい。   (8) The present invention may be a method including a procedure of processing included in an operation performed by each of the above-described devices. Also, the present invention may be a computer program that realizes these methods by a computer, or may be a digital signal composed of this computer program.

(9)また、本発明は、上記のコンピュータプログラム又はデジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD(Compact Disc)−ROM、MO(Magneto−Optical)ディスク、DVD(Digital Versatile Disc)、DVD−ROM、DVD−RAM、BD(Blu−ray(登録商標) Disc)、半導体メモリーなどに記録したものとしてもよい。また、これらの記録媒体に記録されている上記のデジタル信号であるとしてもよい。   (9) Further, the present invention is a computer readable recording medium capable of reading the computer program or digital signal described above, such as a flexible disk, a hard disk, a CD (Compact Disc) -ROM, an MO (Magneto-Optical) disc, a DVD (Digital Video) It may be recorded on a Versatile Disc), a DVD-ROM, a DVD-RAM, a BD (Blu-ray (registered trademark) Disc), a semiconductor memory, or the like. In addition, it may be the above-mentioned digital signal recorded on these recording media.

(10)また、本発明は、上記のコンピュータプログラム又はデジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。   (10) Further, the present invention may transmit the computer program or the digital signal described above via a telecommunication line, a wireless or wired communication line, a network represented by the Internet, data broadcasting, and the like.

(11)また、本発明は、マイクロプロセッサとメモリーとを備えたコンピュータシステムであって、このメモリーは、上記のコンピュータプログラムを記憶しており、このマイクロプロセッサは、当該コンピュータプログラムに従って動作するとしてもよい。   (11) Further, the present invention is a computer system comprising a microprocessor and a memory, wherein the memory stores the above computer program, and the microprocessor operates according to the computer program. Good.

(12)また、上記のコンピュータプログラム又はデジタル信号を上記の記録媒体に記録して移送することにより、または上記のコンピュータプログラム又はデジタル信号を上記のネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施されるとしてもよい。   (12) In addition, by recording and transferring the above computer program or digital signal to the above recording medium, or by transferring the above computer program or digital signal via the above network, etc. It may be implemented by another computer system.

(13)上記の各実施の形態及びその変形例は、それぞれ組み合わせるとしてもよい。   (13) The above embodiments and their modifications may be combined.

本発明にかかる情報処理装置、情情報処理方法、及びプログラムは、攻撃によってネットワークに注入された不正なデータを検知して当該ネットワークの正常な機能を維持する。これらの情報処理装置等は、ネットワーク上で動く、又はネットワークを含む製品の安全性向上に有用である。   An information processing apparatus, an information processing method, and a program according to the present invention detect unauthorized data injected into a network by an attack and maintain a normal function of the network. These information processing apparatuses and the like are useful for improving the security of products which run on a network or include a network.

100、1100 ECU
110、1110 CANコントローラ
130、1130 ドライバ
150、1150 不正検知部
300 バス
100, 1100 ECU
110, 1110 CAN controller 130, 1130 driver 150, 1150 fraud detection unit 300 bus

Claims (8)

ネットワークに接続される情報処理装置であって、
前記ネットワークから受信した複数の受信データを記憶する記憶部と、
前記複数の受信データのうちの不正な受信データを検知するプロセッサとを備え、
前記記憶部は、前記複数の受信データのうちの第一受信データによって、前記第一受信データより前に前記記憶部に記憶されたデータである第二受信データが上書きされたか否かを示す上書きステータス情報を保持し、
前記プロセッサは、前記上書きステータス情報を用いて、前記第一受信データが不正な受信データであるか否か判定する、
情報処理装置。
An information processing apparatus connected to a network,
A storage unit for storing a plurality of received data received from the network;
A processor for detecting incorrect received data among the plurality of received data;
The storage unit is configured to overwrite whether or not the second reception data, which is data stored in the storage unit prior to the first reception data, is overwritten by the first reception data of the plurality of reception data. Hold status information,
The processor uses the overwrite status information to determine whether the first received data is incorrect received data.
Information processing device.
前記上書きステータス情報が前記第一受信データによって前記第二受信データが上書きされていることを示す場合、前記プロセッサは、前記第一受信データが不正であると判定する、
請求項1に記載の情報処理装置。
If the overwrite status information indicates that the second received data has been overwritten by the first received data, the processor determines that the first received data is incorrect.
An information processing apparatus according to claim 1.
前記記憶部はさらに前記複数の受信データの受信時刻を示す時刻情報を保持し、
前記上書きステータス情報が前記第一受信データによって前記第二受信データが上書きされていないことを示す場合、前記プロセッサは、前記第一受信データの時刻情報と前記第二受信データの時刻情報との差分が所定の範囲外であるときは、前記第一受信データが不正であると判定する、
請求項1又は2に記載の情報処理装置。
The storage unit further holds time information indicating reception times of the plurality of reception data,
When the overwrite status information indicates that the second received data is not overwritten by the first received data, the processor determines a difference between time information of the first received data and time information of the second received data. When it is out of the predetermined range, it is determined that the first received data is incorrect,
The information processing apparatus according to claim 1.
前記上書きステータス情報が前記第一受信データによって前記第二受信データが上書きされていることを示す場合、又は、前記上書きステータス情報が前記第一受信データによって前記第二受信データが上書きされていないことを示し、かつ前記記憶部に保持されて前記複数の受信データの受信時刻を示す時刻情報のうち、前記第一受信データの受信時刻を示す時刻情報と前記第二受信データの受信時刻を示す時刻情報との差分が所定の範囲外である場合、前記プロセッサは、さらに前記第一受信データのペイロードの示す値が所定の正常範囲外にあるときは、前記第一受信データが不正であると判定する、
請求項1に記載の情報処理装置。
When the overwrite status information indicates that the second reception data is overwritten by the first reception data, or the overwrite status information does not overwrite the second reception data by the first reception data. Time information indicating the reception time of the first reception data and the time indicating the reception time of the second reception data among the time information stored in the storage unit and indicating the reception times of the plurality of reception data If the difference between the information and the information is outside the predetermined range, the processor further determines that the first reception data is invalid when the value indicated by the payload of the first reception data is outside the predetermined normal range. Do,
An information processing apparatus according to claim 1.
前記記憶部は、前記記憶部に前記受信データが格納されているか否かを示す格納ステータス情報をさらに保持し、
前記プロセッサは、前記格納ステータス情報の読み出しを所定の周期で実行し、前記格納ステータス情報が前記記憶部に受信データが格納されていることを示す場合、前記記憶部から前記上書きステータス情報を読み出し、
前記上書きステータス情報が前記第一受信データによって前記第二受信データが上書きされていることを示す場合、前記プロセッサは、前記第一受信データより後のデータである第三受信データに対する処理において、前記所定の周期よりも短い周期で前記格納ステータス情報の読み出しを実行する、
請求項1から4のいずれか1項に記載の情報処理装置。
The storage unit further stores storage status information indicating whether the received data is stored in the storage unit,
The processor executes the reading of the storage status information at a predetermined cycle, and when the storage status information indicates that the received data is stored in the storage unit, the processor reads the overwrite status information from the storage unit.
When the overwrite status information indicates that the second received data is overwritten by the first received data, the processor may process the third received data, which is data subsequent to the first received data, in the processing. Reading out the storage status information in a cycle shorter than a predetermined cycle;
The information processing apparatus according to any one of claims 1 to 4.
前記より短い周期で読み出した前記格納ステータス情報が前記記憶部に受信データが格納されていることを示す場合、前記プロセッサは、前記第三受信データが不正でないと判定した場合、前記第三受信データより後のデータである第四受信データに対する処理において、前記より短い周期よりも長い周期又は前記所定の周期で実行する、
請求項5に記載の情報処理装置。
When the storage status information read out in a shorter cycle indicates that received data is stored in the storage unit, the processor determines that the third received data is not incorrect, the third received data. In processing for the fourth received data which is later data, the process is performed in a cycle longer than the shorter cycle or in the predetermined cycle,
The information processing apparatus according to claim 5.
ネットワークに接続される情報処理装置において実行される情報処理方法であって、
前記情報処理装置は、前記ネットワークから受信した複数の受信データ受信データを記憶する記憶部と、
前記複数の受信データのうちの不正な受信データを検知するプロセッサとを備え、
前記記憶部に、前記複数の受信データのうちの第一受信データによって、前記第一受信データより前に前記記憶部に記憶されたデータである第二受信データが上書きされたか否かを示す上書きステータス情報を保持させ、
前記プロセッサに、前記上書きステータス情報を用いて、前記第一受信データが不正な受信データであるか否か判定させる
情報処理方法。
An information processing method executed by an information processing apparatus connected to a network, comprising:
The information processing apparatus storing a plurality of reception data reception data received from the network;
A processor for detecting incorrect received data among the plurality of received data;
Overwriting indicating whether the second reception data, which is data stored in the storage unit prior to the first reception data, is overwritten in the storage unit by the first reception data of the plurality of reception data. Keep status information,
6. An information processing method, comprising: causing the processor to use the overwrite status information to determine whether the first received data is incorrect received data.
前記情報処理装置において、前記プロセッサに請求項7に記載の情報処理方法を実行させるプログラム。
A program causing the processor to execute the information processing method according to claim 7 in the information processing apparatus.
JP2017224179A 2017-11-22 2017-11-22 Information processing apparatus, information processing method, and program Pending JP2019097012A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017224179A JP2019097012A (en) 2017-11-22 2017-11-22 Information processing apparatus, information processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017224179A JP2019097012A (en) 2017-11-22 2017-11-22 Information processing apparatus, information processing method, and program

Publications (1)

Publication Number Publication Date
JP2019097012A true JP2019097012A (en) 2019-06-20

Family

ID=66972067

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017224179A Pending JP2019097012A (en) 2017-11-22 2017-11-22 Information processing apparatus, information processing method, and program

Country Status (1)

Country Link
JP (1) JP2019097012A (en)

Similar Documents

Publication Publication Date Title
US11570184B2 (en) In-vehicle network system, fraud-detection electronic control unit, and fraud-detection method
EP3598329B1 (en) Information processing method, information processing system, and program
CN107707520B (en) Network monitoring device
CN110546921B (en) Fraud detection method, fraud detection apparatus, and program
JP2018026791A (en) Frame transmission blocking device, frame transmission blocking method, and on-vehicle network system
US11201878B2 (en) Bus-off attack prevention circuit
US20200014758A1 (en) On-board communication device, computer program, and message determination method
CN109005678B (en) Illegal communication detection method, illegal communication detection system, and recording medium
CN109076016B9 (en) Illegal communication detection criterion determining method, illegal communication detection criterion determining system, and recording medium
US11841942B2 (en) Anomaly detection device and anomaly detection method
US11394726B2 (en) Method and apparatus for transmitting a message sequence over a data bus and method and apparatus for detecting an attack on a message sequence thus transmitted
JP2019029960A (en) Detector, detection method and detection program
JP2019097012A (en) Information processing apparatus, information processing method, and program
WO2019207764A1 (en) Extraction device, extraction method, recording medium, and detection device
JP6573236B2 (en) Communication device and receiving device
JP6527647B1 (en) Fraud detection method, fraud detection device and program
JP2018166309A (en) In-vehicle network system, electronic control device, communication method and computer program
CN111343062B (en) In-vehicle electronic control unit identification method, system and storage medium
WO2019225369A1 (en) Vehicle-mounted communication system, determination device, communication device, determination method, and computer program
JP2020088798A (en) Network system
JP2021034850A (en) Information processing device, information processing system, and program
JP7175858B2 (en) Information processing device and legitimate communication determination method
JP2020088732A (en) Relay device
CN113630282B (en) Method and device for detecting server state
JP2024033325A (en) Device and method