JP7006295B2 - Attack detection device and attack detection method - Google Patents
Attack detection device and attack detection method Download PDFInfo
- Publication number
- JP7006295B2 JP7006295B2 JP2018007202A JP2018007202A JP7006295B2 JP 7006295 B2 JP7006295 B2 JP 7006295B2 JP 2018007202 A JP2018007202 A JP 2018007202A JP 2018007202 A JP2018007202 A JP 2018007202A JP 7006295 B2 JP7006295 B2 JP 7006295B2
- Authority
- JP
- Japan
- Prior art keywords
- determination unit
- time
- message
- time window
- network
- 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
Links
Images
Landscapes
- Small-Scale Networks (AREA)
Description
本発明は、攻撃検知装置および攻撃検知方法に係わる。 The present invention relates to an attack detection device and an attack detection method.
自動車の車載ネットワークにおいて、CAN(Controller Area Network)と呼ばれるネットワーク技術が使用されることがある。CANを使用するネットワークにおいては、各ノードにECU(electronic control unit)が実装される。 A network technology called CAN (Controller Area Network) may be used in an in-vehicle network of an automobile. In a network using CAN, an ECU (electronic control unit) is mounted on each node.
ECUから送信されるメッセージには、識別情報(ID)が付与されている。このメッセージは、ネットワーク内のECUにブロードキャストされる。ここで、各ECUは、自分が取得すべきメッセージのIDを認識している。そして、各ECUは、受信メッセージのIDをチェックすることにより、必要なメッセージを取得する。 Identification information (ID) is added to the message transmitted from the ECU. This message is broadcast to the ECU in the network. Here, each ECU recognizes the ID of the message to be acquired by itself. Then, each ECU acquires a necessary message by checking the ID of the received message.
上記構成のCANシステムにおいて、悪意ある第3者によりECUが乗っ取られ、そのECUから悪意あるメッセージが出力される攻撃が行われることがある。例えば、CANシステムにおいて使用されるIDが、悪意あるメッセージに付与される。そうすると、そのメッセージを受信したECUは、意図しない処理を実行するおそれがある。 In the CAN system having the above configuration, an attack may be performed in which an ECU is hijacked by a malicious third party and a malicious message is output from the ECU. For example, the ID used in the CAN system is given to the malicious message. Then, the ECU that receives the message may execute an unintended process.
ところで、多くのCANシステムにおいて、ECUは、所定の周期でメッセージを出力する。したがって、メッセージが出力される周期が既知であるケースでは、各ECUは、メッセージの到着予定時刻と実際の到着時刻とを比較することにより、悪意あるメッセージを検知できる。 By the way, in many CAN systems, the ECU outputs a message at a predetermined cycle. Therefore, in the case where the cycle in which the message is output is known, each ECU can detect a malicious message by comparing the estimated arrival time of the message with the actual arrival time.
なお、ネットワークに接続され、周期的にネットワークにデータを出力する複数の情報処理手段と、各情報処理手段が周期的にネットワークに出力するデータのうち、各情報処理手段が最短周期で出力するデータを判別し、最短周期で出力するデータがネットワークに出力されたか否かを監視することにより、車載通信システムの通信異常を検知する監視手段と、と備える車載通信システムが提案されている(例えば、特許文献1)。また、特許文献2~4に関連技術が記載されている。
Of the plurality of information processing means that are connected to the network and periodically output data to the network, and the data that each information processing means periodically outputs to the network, the data that each information processing means outputs in the shortest cycle. (For example, an in-vehicle communication system including a monitoring means for detecting a communication abnormality of an in-vehicle communication system by monitoring whether or not the data to be output in the shortest cycle is output to the network has been proposed (for example). Patent Document 1). Further,
上述のCANシステムにおいて、複数のECUから同時にメッセージが出力されることがある。ここで、メッセージは、ブロードキャストされる。したがって、メッセージ間の衝突を回避するために、各メッセージは優先度を有している。この優先度は、各メッセージに付与されるIDにより表される。そして、複数のECUから同時にメッセージが出力されたときは、優先度の高いメッセージの通信が完了した後に、優先度の低いメッセージの送信が実行される。このため、優先度の低いメッセージの送信タイミングは、遅延することがある。 In the above-mentioned CAN system, a message may be output from a plurality of ECUs at the same time. Here, the message is broadcast. Therefore, in order to avoid conflicts between messages, each message has a priority. This priority is represented by the ID given to each message. When the messages are output from the plurality of ECUs at the same time, the transmission of the low-priority message is executed after the communication of the high-priority message is completed. Therefore, the transmission timing of the low priority message may be delayed.
このように、CANシステムにおいては、メッセージの遅延が発生することがある。このため、メッセージの到着予定時刻と実際の到着時刻とを比較する方式では、正規のメッセージが悪意のメッセージと判定されることがある。あるいは、悪意のメッセージが検知されないことがある。 As described above, message delay may occur in the CAN system. Therefore, in the method of comparing the estimated arrival time of the message with the actual arrival time, the legitimate message may be determined to be a malicious message. Alternatively, the malicious message may not be detected.
この問題は、例えば、メッセージの到着予定時刻に対して所定のマージンを設けることで解決され得る。しかしながら、この方式では、正規のメッセージの送信タイミングが大きく遅延した場合、そのメッセージが悪意のメッセージと判定されるおそれがある。例えば、メッセージの送信周期よりも大きな遅延が発生した場合、遅延メッセージが悪意のメッセージと判定されることがある。すなわち、メッセージの送信タイミングが大きく遅延する環境下では、攻撃を検知する精度が低下することがある。 This problem can be solved, for example, by providing a predetermined margin with respect to the estimated time of arrival of the message. However, in this method, if the transmission timing of a legitimate message is significantly delayed, the message may be determined to be a malicious message. For example, if a delay greater than the message transmission cycle occurs, the delayed message may be determined to be a malicious message. That is, in an environment where the message transmission timing is significantly delayed, the accuracy of detecting an attack may decrease.
本発明の1つの側面に係わる目的は、ネットワーク上での攻撃を検知する精度を向上させることである。 An object of one aspect of the present invention is to improve the accuracy of detecting an attack on a network.
本発明の1つの態様の攻撃検知装置は、ネットワーク内で送信される識別情報を含むメッセージを受信する受信部と、互いに異なるタイミングで設定される同じ長さの複数の時間ウィンドウ内に前記受信部が受信するメッセージの個数をそれぞれカウントする複数のカウンタと、対応するカウンタの値が所定の閾値を超えた状態が、所定数の時間ウィンドウについて連続して検出されたときに、前記ネットワークが攻撃を受けたと判定する検知部と、を備える。 The attack detection device according to one aspect of the present invention includes a receiving unit that receives a message including identification information transmitted in a network, and the receiving unit within a plurality of time windows of the same length set at different timings from each other. When a plurality of counters that count the number of messages received by the network and a state in which the value of the corresponding counter exceeds a predetermined threshold is continuously detected for a predetermined number of time windows, the network attacks. It is provided with a detection unit for determining that it has been received.
上述の態様によれば、ネットワーク上での攻撃を検知する精度が向上する。 According to the above aspect, the accuracy of detecting an attack on the network is improved.
図1は、本発明の実施形態に係わる攻撃検知装置が実装されるネットワークの一例を示す。図1に示すネットワーク100は、複数のECU(ECU0~ECUk)を備える。複数のECUは、バスを介して互いに接続されている。そして、この実施例では、複数のECUは、CAN(Controller Area Network)システムを構成する。
FIG. 1 shows an example of a network in which an attack detection device according to an embodiment of the present invention is mounted. The
各ECUは、バスを介してメッセージを送信することができる。このメッセージは、ネットワーク100の全てのECUにブロードキャストされる。このとき、メッセージは、送信元ノードにも到着する。また、各メッセージには、識別情報(ID)が付与されている。ここで、各ECUは、自分が取得すべきメッセージのIDを認識している。そして、各ECUは、受信メッセージのIDをチェックすることにより、必要なメッセージを取得する。なお、各ECUは、「通信装置」の一例である。
Each ECU can send a message via the bus. This message is broadcast to all ECUs in the
上記ネットワーク100において、複数のECUの中の1つに攻撃検知装置が実装される。図1に示す例では、ECU0に攻撃検知装置が実装されるものとする。攻撃検知装置は、ネットワーク100に対する攻撃を検知する。すなわち、攻撃検知装置は、ネットワーク100において悪意あるメッセージを検知する。
In the
また、ECU1~ECUkのうちの少なくとも1つのECUは、所定の周期でメッセージを送信する機能を備えている。図1に示す例では、ECU1は、ID_Aを含むメッセージを所定の周期で送信し、ECU2は、ID_Bを含むメッセージを所定の周期で送信し、ECU3は、ID_Cを含むメッセージを所定の周期で送信する。ここで、メッセージの送信周期は、IDごとに予め決められている。例えば、ID=0x123が付与されるメッセージは10m秒間隔で送信され、ID=0x456が付与されるメッセージは20m秒間隔で送信される。
Further, at least one of the
なお、車載ネットワークにおいては、複数のECUは、車両を制御するために使用される。例えば、ID=0x123が付与されるメッセージは、アクセル開度を表すデータを伝送し、ID=0x456が付与されるメッセージは、ブレーキ踏込み角度を表すデータを伝送する。 In the in-vehicle network, a plurality of ECUs are used to control the vehicle. For example, a message to which ID = 0x123 is given transmits data indicating an accelerator opening degree, and a message to which ID = 0x456 is given transmits data indicating a brake depression angle.
ネットワーク100において送信される各メッセージは、上述したように、ブロードキャストされる。よって、各ECUには、すべてのメッセージが到着する。なお、図1のタイミングチャートは、ECU1~ECU3から送信されるメッセージがECU0に到着する状況を示している。
Each message transmitted on the
図2は、メッセージを伝送するフレームのフォーマットの例を示す。なお、F1は、一般仕様のフレームのフォーマット例を示し、F2は、拡張仕様で使用されるフレームのフォーマット例を示す。 FIG. 2 shows an example of the format of a frame for transmitting a message. In addition, F1 shows the format example of the frame of the general specification, and F2 shows the format example of the frame used in the extended specification.
一般仕様のフレームF1は、SOF(Start of Frame)、調停(arbitration)フィールド、コントロールフィールド、データフィールド、CRCフィールド、ACKフィールド、およびEOF(End of Frame)を含む。調停フィールドは、IDおよびRTR(Remote Transmission Request)を含む。IDは、メッセージを識別するための識別情報を表す。コントロールフィールドは、IDE(Identifier Extension)、予約ビット、DLC(Data Length Code)を含む。CRCフィールドは、CRCシーケンスおよびCRCデリミタを含む。ACKフィールドは、ACKスロットおよびACKデリミタを含む。なお、図2において各情報要素に対して表記されている値は、ビット長を表す。例えば、IDの長さは11ビットであり、データフィールドの長さは0~64ビットの可変長である。 The general specification frame F1 includes an SOF (Start of Frame), an arbitration field, a control field, a data field, a CRC field, an ACK field, and an EOF (End of Frame). The arbitration field includes ID and RTR (Remote Transmission Request). The ID represents identification information for identifying the message. The control field includes an IDE (Identifier Extension), a reserved bit, and a DLC (Data Length Code). The CRC field contains a CRC sequence and a CRC delimiter. The ACK field contains an ACK slot and an ACK delimiter. The value shown for each information element in FIG. 2 represents the bit length. For example, the length of the ID is 11 bits and the length of the data field is variable from 0 to 64 bits.
一般仕様のフレームF1と同様に、拡張仕様で使用されるフレームF2も、SOF、調停フィールド、コントロールフィールド、データフィールド、CRCフィールド、ACKフィールド、EOFを含む。ただし、拡張仕様では、より多くのビット数で識別情報が表される。 Similar to the general specification frame F1, the frame F2 used in the extended specification also includes a SOF, an arbitration field, a control field, a data field, a CRC field, an ACK field, and an EOF. However, in the extended specification, the identification information is represented by a larger number of bits.
以下の記載では、一般仕様のフレームを利用してメッセージが伝送されるものとする。ただし、本発明の実施形態に係わる攻撃検知方法は、拡張仕様のフレームを利用してメッセージが伝送されるケースにも適用される。また、本発明の実施形態に係わる攻撃検知方法は、他の仕様または規格(例えば、CAN-FD)にも適用可能である。 In the following description, it is assumed that the message is transmitted using a frame of general specifications. However, the attack detection method according to the embodiment of the present invention is also applied to the case where a message is transmitted using a frame of extended specifications. Further, the attack detection method according to the embodiment of the present invention can be applied to other specifications or standards (for example, CAN-FD).
図3は、攻撃検知方法の一例を示す。この例では、検知対象のIDを有するメッセージは、所定の周期Tで送信されるものとする。そして、攻撃検知装置は、メッセージの受信頻度に基づいて、ネットワークへの攻撃の有無を判定する。具体的には、所定のモニタ期間内に検出されるメッセージの個数が閾値を超えたときに、ネットワークへの攻撃があったと判定される。一例としては、モニタ期間の長さは5Tであり、閾値は5である。この場合、攻撃検知装置は、モニタ期間内に5個を超えるメッセージを受信すると、ネットワークへの攻撃があったと判定する。なお、図3において、△印は正規メッセージを表し、▲印は攻撃メッセージを表す。 FIG. 3 shows an example of an attack detection method. In this example, it is assumed that the message having the ID to be detected is transmitted in a predetermined period T. Then, the attack detection device determines whether or not there is an attack on the network based on the reception frequency of the message. Specifically, when the number of messages detected within a predetermined monitoring period exceeds the threshold value, it is determined that there is an attack on the network. As an example, the length of the monitoring period is 5T and the threshold is 5. In this case, if the attack detection device receives more than five messages within the monitoring period, it determines that there has been an attack on the network. In FIG. 3, a Δ mark represents a regular message and a ▲ mark represents an attack message.
図3(a)に示す例では、最初のモニタ期間に5個のメッセージが攻撃検知装置に到着する。この場合、攻撃検知装置は、攻撃が無いと判定する。次のモニタ期間においては、5個の正規メッセージの加えて1個の攻撃メッセージが送信されている。すなわち、このモニタ期間においては、6個のメッセージが攻撃検知装置に到着する。この場合、受信メッセージ数が閾値を超えているので、攻撃検知装置は、攻撃があったと判定する。このように、メッセージの受信頻度に基づいて、ネットワークへの攻撃が検知される。 In the example shown in FIG. 3A, five messages arrive at the attack detection device during the first monitoring period. In this case, the attack detection device determines that there is no attack. In the next monitoring period, one attack message is transmitted in addition to five legitimate messages. That is, during this monitoring period, six messages arrive at the attack detection device. In this case, since the number of received messages exceeds the threshold value, the attack detection device determines that there has been an attack. In this way, attacks on the network are detected based on the frequency of receiving messages.
図3(b)に示す例では、攻撃メッセージは存在しないが、正規メッセージの送信タイミングが遅延している。この結果、2番目のモニタ期間において、7個のメッセージが攻撃検知装置に到着する。すなわち、閾値を超える数のメッセージが攻撃検知装置に到着する。この場合、実際には攻撃メッセージが存在しないにもかかわらず、攻撃検知装置は、攻撃があったと判定してしまう。すなわち、正規メッセージの送信が大きく遅延すると、攻撃を検知する精度が低下することがある。 In the example shown in FIG. 3B, the attack message does not exist, but the transmission timing of the regular message is delayed. As a result, in the second monitoring period, seven messages arrive at the attack detection device. That is, the number of messages exceeding the threshold value arrives at the attack detection device. In this case, the attack detection device determines that there was an attack even though the attack message does not actually exist. That is, if the transmission of a legitimate message is significantly delayed, the accuracy of detecting an attack may decrease.
本発明の実施形態に係わる攻撃検知装置は、上述の問題を解決または抑制する機能を備える。すなわち、本発明の実施形態に係わる攻撃検知装置は、所定の周期で送信されることが予め決められているメッセージの送信タイミングの遅延に起因する影響を抑制して、攻撃を検知する精度を向上させる機能を備える。なお、実施形態に係わる攻撃検知は、1周期時間以内の遅延だけでなく、1周期時間を超える遅延にも対応可能である。 The attack detection device according to the embodiment of the present invention has a function of solving or suppressing the above-mentioned problems. That is, the attack detection device according to the embodiment of the present invention suppresses the influence caused by the delay in the transmission timing of the message that is predetermined to be transmitted in a predetermined cycle, and improves the accuracy of detecting the attack. It has a function to make it. The attack detection according to the embodiment can handle not only a delay within one cycle time but also a delay exceeding one cycle time.
図4は、本発明の実施形態に係わる攻撃検知装置の一例を示す。攻撃検知装置1は、図4に示すように、受信部2、複数の判定部3(3A、3B)、2次判定部4を備える。受信部2には、ネットワーク100に実装されるECUから送信されるメッセージが到着する。そして、受信部2は、検知対象のIDを含むメッセージを受信する。なお、攻撃検知装置1は、各メッセージに付与されているID毎に受信時刻を検出することができる。メッセージの受信時刻は、例えば、攻撃検知装置1に実装される不図示のタイマを利用して検出される。或いは、攻撃検知装置1は、メッセージに付加されているタイムスタンプ情報から受信時刻を検出してもよい。
FIG. 4 shows an example of an attack detection device according to an embodiment of the present invention. As shown in FIG. 4, the
複数の判定部3(3A、3B)の構成および動作は、実質的に互いに同じである。そして、各判定部3は、図4に示すように、複数のカウンタ11-1~11-nおよび検知部12を備える。
The configurations and operations of the plurality of determination units 3 (3A, 3B) are substantially the same as each other. Then, as shown in FIG. 4, each
判定部3は、メッセージの受信頻度をモニタするための複数の時間ウィンドウを設定する。複数の時間ウィンドウの長さは、互いに同じである。ここで、各時間ウィンドウの長さは、検知対象のメッセージの送信周期よりも長い。一例としては、各時間ウィンドウの長さは、検知対象のメッセージの送信周期の整数倍である。また、複数の時間ウィンドウは、互いに異なるタイミングで設定される。具体的には、複数の時間ウィンドウは、所定の時間ずつシフトした位相(或いは、タイミング)で設定される。例えば、時間ウィンドウの長さがLであり、判定部3において設定される時間ウィンドウの数がnである場合、複数の時間ウィンドウは、L/nずつシフトした位相(或いは、タイミング)で設定される。
The
判定部3Bの各時間ウィンドウは、判定部3Aの対応する時間ウィンドウに対してそれぞれ所定時間だけシフトして設定される。一例としては、判定部3Bの各時間ウィンドウは、判定部3Aの対応する時間ウィンドウに対して、それぞれ検知対象のメッセージの送信周期の2分の1だけシフトして設定される。
Each time window of the
各カウンタ11-1~11-nは、対応する時間ウィンドウ内に受信部2が受信するメッセージの個数をそれぞれカウントする。検知部12は、カウンタ11-1~11-nの値に基づいてネットワーク100への攻撃を検知する。そして、判定部3は、検知部12により攻撃が検知されたか否かを表す判定結果を出力する。
Each of the counters 11-1 to 11-n counts the number of messages received by the receiving
2次判定部4は、判定部3Aによる判定結果および判定部3Bによる判定結果に基づいて、ネットワーク100が攻撃を受けたか否かを判定する。一例としては、2次判定部4は、所定時間内に判定部3Aおよび判定部3Bの双方によりネットワーク100への攻撃が検知されたときに、ネットワーク100が攻撃を受けたと判定する。
The
なお、図4に示す例では、攻撃検知装置1は、複数の判定部3を用いてネットワーク100が攻撃を受けたか否かを判定するが、本発明はこの構成に限定されるものではない。例えば、攻撃検知装置1は、1つの判定部3を用いてネットワーク100が攻撃を受けたか否かを判定してもよい。この場合、攻撃検知装置1は、受信部2および1つの判定部3を備える。そして、攻撃検知装置1は、判定部3による判定結果を出力する。
In the example shown in FIG. 4, the
図5は、攻撃検知装置1が実装されるECUのハードウェア構成の一例を示す。ECU20は、この例では、CANトランシーバ21、CANコントローラ22、処理回路23を含む。処理回路23は、プロセッサ24およびメモリ25を含む。
FIG. 5 shows an example of the hardware configuration of the ECU in which the
CANトランシーバ21は、図2に示すフレームを送信および受信する機能を備える。CANコントローラ22は、受信フレームからデータを抽出する。このとき、CANコントローラ22は、受信フレームに対してCRCチェックを実行してもよい。また、CANコントローラ22は、各受信フレームがECU20に到着した時刻を測定することができる。さらに、CANコントローラ22は、送信フレームにデータを格納する。なお、図4に示す受信部2は、例えば、CANトランシーバ21およびCANコントローラ22により実現される。
The
プロセッサ24は、メモリ25に格納されているプログラムを実行することにより、攻撃検知を実現する。この場合、メモリ25には、図4に示す判定部3(3A、3B)および2次判定部4の機能を記述したプログラムが格納される。そして、プロセッサ24は、このプログラムを実行することにより判定部3(3A、3B)および2次判定部4の機能の機能を提供する。なお、判定部3(3A、3B)の機能の一部は、ハードウェア回路で実現してもよい。例えば、カウンタ11-1~11-nは、ハードウェア回路で実現してもよい。
The
<第1の実施形態>
第1の実施形態の攻撃検知装置は、図1に示すECU0に実装され、ネットワーク100を攻撃する悪意あるメッセージ(攻撃メッセージ)を検知する。なお、この例では、検知対象IDが付与されたメッセージは、所定の周期Tで送信されるように設計されているものとする。また、ネットワーク100において以下の通信が行われるものとする。
(1)メッセージは、予定送信時刻に対して遅延して送信されることはあるが、欠落することはない。遅延は、周期Tを超えることもある。
(2)遅延が発生したときは、対応するメッセージが後で送信されるので、合計メッセージ数は回復する。
(3)予定送信時刻よりも前にメッセージが送信されることはない(ただし、予定送信時刻よりも僅かに早くメッセージが送信されることはある)。
<First Embodiment>
The attack detection device of the first embodiment is mounted on the
(1) The message may be transmitted with a delay with respect to the scheduled transmission time, but it will not be omitted. The delay may exceed the period T.
(2) When a delay occurs, the corresponding message is sent later, so the total number of messages is restored.
(3) The message is not sent before the scheduled transmission time (however, the message may be sent slightly earlier than the scheduled transmission time).
図6~図7は、第1の実施形態における攻撃検知方法の一例を示す。なお、以下の記載において、「メッセージ」は、特に断らない限りは、検知対象のIDが付与されたメッセージを表すものとする。また、△印は、受信部2により正規メッセージが受信されたタイミングを表す。
6 to 7 show an example of the attack detection method according to the first embodiment. In the following description, the "message" shall represent a message to which an ID to be detected is assigned, unless otherwise specified. Further, the Δ mark indicates the timing at which the regular message is received by the receiving
判定部3は、この実施例では、5個の時間ウィンドウW1~W5を設定する。各時間ウィンドウW1~W5は、メッセージの受信頻度をモニタするために使用される。よって、判定部3は、時間ウィンドウW1~W5内の受信メッセージの数をそれぞれカウントするために5個のカウンタ11-1~11-5を備える。すなわち、カウンタ11-1~11-5は、それぞれ時間ウィンドウW1~W5内の受信メッセージの数をカウントする。
In this embodiment, the
時間ウィンドウW1~W5の長さは、互いに同じであり、検知対象のメッセージの送信周期Tよりも長い。一例としては、各時間ウィンドウW1~W5の長さは、図6~図7に示すように、5Tである。また、時間ウィンドウW1~W5は、互いに異なるタイミングで設定される。具体的には、時間ウィンドウW1~W5は、所定の時間ずつシフトした位相(即ち、タイミング)で設定される。この例では、時間ウィンドウW1~W5は、時間Tずつシフトした位相(即ち、タイミング)で設定される。具体的には、時間ウィンドウW2は、時間ウィンドウW1に対して時間Tだけ遅れて設定される。同様に、時間ウィンドウW3は、時間ウィンドウW2に対して時間Tだけ遅れて設定される。時間ウィンドウW4は、時間ウィンドウW3に対して時間Tだけ遅れて設定される。時間ウィンドウW5は、時間ウィンドウW4に対して時間Tだけ遅れて設定される。 The lengths of the time windows W1 to W5 are the same as each other, and are longer than the transmission cycle T of the message to be detected. As an example, the length of each time window W1 to W5 is 5T as shown in FIGS. 6 to 7. Further, the time windows W1 to W5 are set at different timings from each other. Specifically, the time windows W1 to W5 are set with a phase (that is, timing) shifted by a predetermined time. In this example, the time windows W1 to W5 are set with a phase (that is, timing) shifted by the time T. Specifically, the time window W2 is set delayed by the time T with respect to the time window W1. Similarly, the time window W3 is set delayed by the time T with respect to the time window W2. The time window W4 is set delayed by the time T with respect to the time window W3. The time window W5 is set delayed by the time T with respect to the time window W4.
時間ウィンドウW1~W5は、それぞれ繰り返し設定される。したがって、次の時間ウィンドウW1は、直前の時間ウィンドウW5に対して時間Tだけ遅れて設定される。すなわち、時間ウィンドウW1~W5は、サイクリックに時間Tずつシフトした位相で設定される。 The time windows W1 to W5 are set repeatedly. Therefore, the next time window W1 is set delayed by the time T with respect to the immediately preceding time window W5. That is, the time windows W1 to W5 are cyclically set with a phase shifted by the time T.
上述のようにして時間ウィンドウW1~W5が設定されている状況において、攻撃検知装置1にメッセージが到着する。なお、図6等において各時間ウィンドウ内に表記されている数字は、対応するカウンタの値を表す。
In the situation where the time windows W1 to W5 are set as described above, the message arrives at the
攻撃検知装置1にメッセージM1が到着する。この時点では、時間ウィンドウW1のみが設定されている。よって、カウンタ11-1がゼロから1にインクリメントされる。続いて、攻撃検知装置1にメッセージM2が到着する。このとき、時間ウィンドウW1、W2が設定されている。よって、カウンタ11-1が1から2にインクリメントされ、カウンタ11-2がゼロから1にインクリメントされる。さらに、攻撃検知装置1にメッセージM3が到着する。このとき、時間ウィンドウW1~W3が設定されている。よって、カウンタ11-1が2から3にインクリメントされ、カウンタ11-2が1から2にインクリメントされ、カウンタ11-3がゼロから1にインクリメントされる。
Message M1 arrives at the
以降、同様に、攻撃検知装置1にメッセージが到着する毎に、時間ウィンドウW1~W5に対応するカウンタ11-1~11-5が1ずつインクリメントされる。ただし、各カウンタ11-1~11-5は、対応する時間ウィンドウが終了して次の時間ウィンドウ内で受信メッセージが検出されたときにリセットされる。例えば、時間ウィンドウW1は、時刻5において次のウィンドウに切り替えられる。この場合、時間ウィンドウW1に対応するカウンタ11-1は、時刻5以降に最初に攻撃検知装置1に到着したメッセージ(図6では、メッセージM4)の受信タイミングにおいてリセットされる。
After that, similarly, each time a message arrives at the
検知部12は、各カウンタ11-1~11-5の値がそれぞれ閾値を超えたか否かをモニタする。ここで、この実施例では、設定される時間ウィンドウの数がn(nは、2以上の整数)であるときに、各時間ウィンドウの長さは送信周期Tのn倍であり、且つ、閾値はnである。図6~図7に示す例では、5個の時間ウィンドウW1~W5が設定されるので、各時間ウィンドウW1~W5の長さは5Tであり、閾値は5である。そして、検知部12は、ある時点で最も古い時間ウィンドウに対応するカウンタの値が閾値を超えた後、最も古い時間ウィンドウに対応するカウンタの値が閾値を超える状態が所定回数連続して発生したときに、ネットワーク100が攻撃を受けたと判定する。この実施例では、カウンタの値が閾値を超える状態が5回以上数連続して発生したときに、検知部12は、ネットワーク100が攻撃を受けたと判定する。
The
ここで、メッセージM4~M8は、予定送信時刻に対して遅延して送信されるものとする。この場合、メッセージM4~M9は、通常よりも短い間隔で攻撃検知装置1に到着する。この結果、いくつかのカウンタの値が閾値を超える。
Here, it is assumed that the messages M4 to M8 are transmitted with a delay with respect to the scheduled transmission time. In this case, the messages M4 to M9 arrive at the
具体的には、攻撃検知装置1にメッセージM9が到着したときに、時間ウィンドウW1~W5の中で最も古い時間ウィンドウはW5である。このとき、時間ウィンドウW5に対応するカウンタの値は6であり、閾値を超えている。なお、図7において、最も古い時間ウィンドウに対応するカウンタが閾値を超えた状態は、そのカウント値に丸印が付与されている。攻撃検知装置1にメッセージM10が到着したときは、古い時間ウィンドウはW1である。このとき、時間ウィンドウW1に対応するカウンタの値は7であり、閾値を超えている。攻撃検知装置1にメッセージM11が到着したときは、古い時間ウィンドウはW2である。このとき、時間ウィンドウW2に対応するカウンタの値は7であり、閾値を超えている。攻撃検知装置1にメッセージM12が到着したときは、古い時間ウィンドウはW3である。このとき、時間ウィンドウW3に対応するカウンタの値は6であり、閾値を超えている。
Specifically, when the message M9 arrives at the
攻撃検知装置1にメッセージM13が到着したときは、古い時間ウィンドウはW4である。ところが、このとき、時間ウィンドウW1に対応するカウンタの値は5であり、閾値を超えていない。
When the message M13 arrives at the
このように、図6~図7に示すケースでは、送信遅延に起因して一時的に通常よりも短い間隔でメッセージが攻撃検知装置1に到着したため、いくつかのカウンタの値が閾値を超えている。しかし、カウンタの値が閾値を超える状態は、4回連続して発生した時点で終了しているので、検知部12は、ネットワーク100が攻撃を受けたとは判定しない。すなわち、図6~図7に示すケースでは、正常メッセージが一時的に通常よりも短い間隔で攻撃検知装置1に到着しても、誤検知は生じていない。
As described above, in the cases shown in FIGS. 6 to 7, since the message arrives at the
なお、検知部12は、メッセージの送信遅延が時間ウィンドウの長さ以下である場合、ネットワーク100に対する攻撃の有無を正しく判定できると考えられる。換言すれば、設定する時間ウィンドウの数を増やし、且つ、時間ウィンドウの長さを大きくすれば、攻撃検知装置1は、より大きな送信遅延に対して攻撃の有無が正しく判定される。例えば、10個の時間ウィンドウが時間Tずつシフトして設定され、且つ、各時間ウィンドウの長さが10Tであれば、許容される送信遅延は10T(検知対象のメッセージの送信周期の10倍)である。
It is considered that the
図8は、第1の実施形態においてネットワークへの攻撃が検知されるケースの一例を示す。この例では、正規メッセージM1~M13は、遅延なく送信されて攻撃検知装置1に到着する。ただし、第5周期において、正規メッセージM5に続いて攻撃メッセージMXが攻撃検知装置1に到着する。なお、▲印は、受信部2により攻撃メッセージが受信されたタイミングを表す。
FIG. 8 shows an example of a case where an attack on the network is detected in the first embodiment. In this example, the regular messages M1 to M13 are transmitted without delay and arrive at the
この場合、攻撃メッセージMXが攻撃検知装置1に到着したときに、最も古い時間ウィンドウはW1である。そして、このとき、時間ウィンドウW1に対応するカウンタの値は6であり、閾値を超えている。この後、攻撃検知装置1にメッセージM6、M7、M8、M9が到着したときに、時間ウィンドウW2、W3、W4、W5に対応するカウンタの値は、それぞれ6であり、いずれも閾値を超えている。すなわち、最古の時間ウィンドウに対応するカウンタの値が閾値を超える状態が5回連続して発生している。よって、検知部12は、ネットワーク100が攻撃を受けたと判定する。
In this case, when the attack message MX arrives at the
図9は、第1の実施形態においてネットワークに複数の攻撃メッセージが入力されるケースの一例を示す。この例では、第6周期および第9周期において、ネットワーク100に攻撃メッセージが入力される。
FIG. 9 shows an example of a case where a plurality of attack messages are input to the network in the first embodiment. In this example, an attack message is input to the
第6周期においてネットワーク100に攻撃メッセージが入力されたことに起因して、最古の時間ウィンドウW2に対応するカウンタの値が閾値(即ち、5)を超える。つづいて、第7周期、第8周期、第9周期においてそれぞれ最古の時間ウィンドウW3、W4、W5に対応するカウンタの値が閾値を超える。この時点で、最古の時間ウィンドウに対応するカウンタの値が閾値を超える状態が4回連続して発生している。
Due to the input of the attack message to the
さらに、第10周期において、最古の時間ウィンドウW1に対応するカウンタの値が閾値を超える。この時点で、最古の時間ウィンドウに対応するカウンタの値が閾値を超える状態が5回連続して発生している。よって、検知部12は、ネットワーク100が攻撃を受けたと判定する。
Further, in the tenth cycle, the value of the counter corresponding to the oldest time window W1 exceeds the threshold value. At this point, the state in which the value of the counter corresponding to the oldest time window exceeds the threshold value has occurred five times in a row. Therefore, the
この後、第11~14周期においてそれぞれ最古の時間ウィンドウW2~W5に対応するカウンタの値が閾値を超える。そうすると、検知部12は、第11~14周期においてそれぞれ攻撃を検知する。
After that, the values of the counters corresponding to the oldest time windows W2 to W5 in the 11th to 14th cycles each exceed the threshold value. Then, the
このように、図9に示すケースでは、ネットワーク100が攻撃を受けたと判定する回数が実際の攻撃メッセージの個数よりも多くなっている。ただし、攻撃の有無については正しく判定されている。
As described above, in the case shown in FIG. 9, the number of times that the
図10は、第1の実施形態において検知漏れが発生するケースの一例を示す。この例では、第6周期および第7周期においてネットワーク100に攻撃メッセージが入力された後、大きな遅延が発生している。
FIG. 10 shows an example of a case where a detection omission occurs in the first embodiment. In this example, after the attack message is input to the
この例では、第6周期および第7周期における攻撃メッセージに起因して、第6~8周期においてそれぞれ最古の時間ウィンドウW2~W4に対応するカウンタの値が閾値を超える。しかし、この後、正規メッセージの送信が大きく遅延し、第8~第11周期において攻撃検知装置1にメッセージが到着しない。このため、第9周期において、最古の時間ウィンドウW5に対応するカウンタの値は閾値を超えていない。すなわち、最古の時間ウィンドウに対応するカウンタの値が閾値を超える状態は5回連続しておらず、検知部12は、ネットワーク100が攻撃を受けたとは判定しない。
In this example, due to the attack messages in the 6th cycle and the 7th cycle, the value of the counter corresponding to the oldest time windows W2 to W4 in the 6th to 8th cycles exceeds the threshold value, respectively. However, after this, the transmission of the regular message is greatly delayed, and the message does not arrive at the
第12周期において、遅延したメッセージがまとめて攻撃検知装置1に到着する。このため、幾つかの時間ウィンドウに対応するカウンタの値が閾値を超えるが、最古の時間ウィンドウに対応するカウンタの値が閾値を超える状態は4回しか連続していない。したがって、第12周期以降においても、検知部12は、ネットワーク100が攻撃を受けたとは判定しない。
In the twelfth cycle, the delayed messages collectively arrive at the
このように、第1の実施形態では、検知部12が攻撃メッセージを検知できないことがある。例えば、攻撃検知装置1に攻撃メッセージが到着した後、正規メッセージが遅延すると、攻撃メッセージが検知されないことがある。そこで、検知部12は、検知漏れを抑制するために、図6~図10に示すアルゴリズムに加えて、或いは、図6~図10に示すアルゴリズムに代わりに、第2の実施形態として説明する他のアルゴリズムで攻撃メッセージをモニタする。
As described above, in the first embodiment, the
<第2の実施形態>
第2の実施形態では、検知部12は、攻撃検知装置1にメッセージが到着する毎に、各時間ウィンドウに対応するカウンタの値をモニタする。そして、検知部12は、各カウンタの値がそれぞれ対応する時間ウィンドウに対して設定される閾値を超えていたときに、ネットワーク100が攻撃を受けたと判定する。
<Second embodiment>
In the second embodiment, the
攻撃検知装置1が5個の時間ウィンドウ(W1~W5)を用いて攻撃メッセージをモニタする場合、各時間ウィンドウに対して設定される閾値は、互いに異なっており、例えば以下の通りである。
(1)最も古い時間ウィンドウ:n(=5)
(2)2番目に古い時間ウィンドウ:n-1(=4)
(3)3番目に古い時間ウィンドウ:n-2(=3)
(4)4番目に古い時間ウィンドウ:n-3(=2)
(5)最も新しい時間ウィンドウ:n-4(=1)
When the
(1) Oldest time window: n (= 5)
(2) Second oldest time window: n-1 (= 4)
(3) Third oldest time window: n-2 (= 3)
(4) Fourth oldest time window: n-3 (= 2)
(5) Newest time window: n-4 (= 1)
図11は、第2の実施形態における攻撃検知方法の一例を示す。なお、攻撃検知装置1に到着するメッセージは、図10および図11において同じである。よって、時間ウィンドウW1~W5に対応する各カウンタの値は、図10および図11において同じである。また、図面を見やすくするために、各時間ウィンドウの区切りの表記を省略している。
FIG. 11 shows an example of the attack detection method according to the second embodiment. The message arriving at the
第6周期において、正規メッセージM5、攻撃メッセージMX、正規メッセージM6が順番に攻撃検知装置1に到着するものとする。そして、攻撃検知装置1に正規メッセージM5が到着したときに、時間ウィンドウW1、W2、W3、W4、W5に対応する各カウンタの値は、図11に示すように、それぞれ1、4、3、2、1であったものとする。なお、以下の記載では、各時間ウィンドウに対応するカウンタの値を下記の表記で表すことにする。
カウンタ:[1,4,3,2,1]
In the sixth cycle, it is assumed that the regular message M5, the attack message MX, and the regular message M6 arrive at the
Counter: [1,4,3,2,1]
また、第6周期において、最も古い時間ウィンドウはW2であり、2番目、3番目、4番目に古い時間ウィンドウはそれぞれW3、W4、W5であり、最も新しい時間ウィンドウはW1であるものとする。この場合、時間ウィンドウW1、W2、W3、W4、W5に対応する閾値は、それぞれ1、5、4、3、2である。なお、以下の記載では、各時間ウィンドウに対応する閾値を以下の表記で表すことにする。
閾値:[1,5,4,3,2]
Further, in the sixth cycle, the oldest time window is W2, the second, third, and fourth oldest time windows are W3, W4, and W5, respectively, and the newest time window is W1. In this case, the threshold values corresponding to the time windows W1, W2, W3, W4, and W5 are 1, 5, 4, 3, and 2, respectively. In the following description, the threshold value corresponding to each time window will be expressed by the following notation.
Threshold: [1,5,4,3,2]
検知部12は、各カウンタの値と対応する時間ウィンドウに対して設定される閾値とをそれぞれ比較する。この例では、各カウンタの値は、いずれも対応する閾値以下である。よって、検知部12は、ネットワーク100が攻撃を受けたとは判定しない。
The
続いて、攻撃検知装置1に攻撃メッセージMXが到着すると、各カウンタがインクリメントされ、下記の状態が得られる。
カウンタ:[2,5,4,3,2]
このとき、時間ウィンドウW1に対応するカウンタの値は2であり、対応する閾値「1」を超えている。しかし、他の時間ウィンドウに対応するカウンタの値は、いずれも対応する閾値以下である。よって、検知部12は、ネットワーク100が攻撃を受けたとは判定しない。
Subsequently, when the attack message MX arrives at the
Counter: [2,5,4,3,2]
At this time, the value of the counter corresponding to the time window W1 is 2, which exceeds the corresponding threshold value “1”. However, the values of the counters corresponding to the other time windows are all below the corresponding thresholds. Therefore, the
さらに、攻撃検知装置1に正規メッセージM6が到着すると、各カウンタがインクリメントされ、下記の状態が得られる。
カウンタ:[3,6,5,4,3]
このとき、各カウンタの値は、いずれも対応する閾値を越えている。この場合、検知部12は、ネットワーク100が攻撃を受けた判定する。
Further, when the regular message M6 arrives at the
Counter: [3,6,5,4,3]
At this time, the value of each counter exceeds the corresponding threshold value. In this case, the
この後、第7周期において、攻撃メッセージMY、正規メッセージM7が順番に攻撃検知装置1に到着するものとする。尚、第7周期においては、最も古い時間ウィンドウはW3であり、2番目、3番目、4番目に古い時間ウィンドウはそれぞれW4、W5、W1であり、最も新しい時間ウィンドウはW2である。この場合、時間ウィンドウW1、W2、W3、W4、W5に対応する閾値は、以下の通りである。
閾値:[2,1,5,4,3]
After that, in the seventh cycle, the attack message MY and the regular message M7 are assumed to arrive at the
Threshold: [2,1,5,4,3]
そして、攻撃検知装置1に攻撃メッセージMYが到着すると、各カウンタがインクリメントされ、下記の状態が得られる。
カウンタ:[4,1,6,5,4]
なお、第6周期から第7周期に移行するときに、第6周期において最も古かった時間ウィンドウW2に対応するカウンタはリセットされる。したがって、攻撃検知装置1に攻撃メッセージMYが到着したときに、時間ウィンドウW2に対応するカウンタの値は、ゼロから1にインクリメントされる。
Then, when the attack message MY arrives at the
Counter: [4,1,6,5,4]
When shifting from the 6th cycle to the 7th cycle, the counter corresponding to the oldest time window W2 in the 6th cycle is reset. Therefore, when the attack message MY arrives at the
ここで、検知部12は、各カウンタの値と対応する時間ウィンドウに対して設定される閾値とをそれぞれ比較する。このケースでは、時間ウィンドウW1、W3、W4、W5に対応するカウンタの値はそれぞれ対応する閾値を超えているが、時間ウィンドウW2に対応するカウンタの値は1であり、閾値「1」を超えてない。よって、検知部12は、ネットワーク100が攻撃を受けたとは判定しない。
Here, the
続いて、攻撃検知装置1に正規メッセージM7が到着すると、各カウンタがインクリメントされ、下記の状態が得られる。
カウンタ:[5,2,7,6,5]
このとき、各カウンタの値は、いずれも対応する閾値を越えている。よって、この場合、検知部12は、ネットワーク100が攻撃を受けた判定する。
Subsequently, when the regular message M7 arrives at the
Counter: [5,2,7,6,5]
At this time, the value of each counter exceeds the corresponding threshold value. Therefore, in this case, the
このように、第2の実施形態のアルゴリズムを使用すれば、第1の実施形態のアルゴリズムでは検知できなかった攻撃を検知できることがある。すなわち、2つのアルゴリズムを並列に使用すれば、攻撃検知の精度が向上する。したがって、攻撃検知装置1は、第1の実施形態のアルゴリズムおよび第2の実施形態のアルゴリズムの双方を使用して攻撃メッセージをモニタすることが好ましい。
As described above, if the algorithm of the second embodiment is used, it may be possible to detect an attack that could not be detected by the algorithm of the first embodiment. That is, if the two algorithms are used in parallel, the accuracy of attack detection is improved. Therefore, it is preferable that the
<第3の実施形態>
時間ウィンドウの長さは、上述したように、正規メッセージの送信周期Tの整数倍である。送信周期Tに関する情報は、例えば、自動車の設計から想定される周期から導出したり、CANの中身を測定して導出したりすることで入手可能である。図6~図11に示す実施例では、時間ウィンドウの長さは5Tである。このため、攻撃検知装置1は、送信周期Tに同期して攻撃メッセージをモニタする処理を実行する。そして、時間ウィンドウは、図12(a)に示すように、時間ウィンドウの終了タイミングが正規メッセージの予定受信時刻と一致しないように設定される。なお、△印は、遅延なく送信された正規メッセージが攻撃検知装置1に到着するタイミングを示している。
<Third embodiment>
As described above, the length of the time window is an integral multiple of the transmission cycle T of the normal message. Information on the transmission cycle T can be obtained, for example, by deriving from the cycle assumed from the design of the automobile, or by measuring and deriving the contents of the CAN. In the embodiments shown in FIGS. 6 to 11, the length of the time window is 5T. Therefore, the
ところが、メッセージの送信元において送信周期Tは誤差を含む。また、攻撃検知装置1において送信周期Tの測定誤差が発生し得る。ここで、これらの誤差が蓄積すると、図12(b)に示すように、時間ウィンドウの終了タイミングが正規メッセージの予定受信時刻と一致することがある。そして、時間ウィンドウの終了タイミングがメッセージの受信時刻と一致すると、時間ウィンドウ内に到着するメッセージの数を正しくカウントできないことがある。例えば、図12(b)において、メッセージM6、M11の双方が時間ウィンドウWx内でカウントされると、検出される受信メッセージ数は7である。メッセージM6、M11の一方が時間ウィンドウWx内でカウントされると、検出される受信メッセージ数は6である。メッセージM6、M11が時間ウィンドウWx内でカウントされないときは、検出される受信メッセージ数は5である。そして、受信メッセージの数を正しくカウントされないと、攻撃検知装置1は、ネットワーク100への攻撃を精度よく検知できない。そこで、第3の実施形態の攻撃検知装置1は、この問題を解消または緩和する機能を備える。
However, the transmission cycle T includes an error at the source of the message. Further, a measurement error of the transmission cycle T may occur in the
第3の実施形態の攻撃検知装置1は、図4に示す判定部3A、判定部3B、2次判定部4を使用してネットワーク100への攻撃をモニタする。ここで、判定部3A、3Bの構成および動作は、実質的に互いに同じである。そして、各判定部3A、3Bは、それぞれ第1の実施形態のアルゴリズム及び/又は第2の実施形態のアルゴリズムを利用してネットワーク100への攻撃をモニタする。ただし、判定部3Bの各時間ウィンドウは、判定部3Aの対応する時間ウィンドウに対してそれぞれ所定時間だけシフトして設定される。一例としては、判定部3Bの各時間ウィンドウは、判定部3Aの対応する時間ウィンドウに対して、それぞれ検知対象のメッセージの送信周期の2分の1だけシフトして設定される。
The
ただし、判定部3Aと判定部3Bとの間での時間ウィンドウのシフト量は、送信周期の2分の1に限定されるものではない。また、攻撃検知装置1は、3個以上の判定部3を用いてネットワーク100への攻撃をモニタしてもよい。例えば、攻撃検知装置1が4個の判定部3を備える構成では、各判定部3の時間ウィンドウのタイミングを順番に送信周期の4分の1ずつシフトさせてもよい。
However, the shift amount of the time window between the
2次判定部4は、判定部3Aによる判定結果および判定部3Bによる判定結果に基づいて、ネットワーク100が攻撃を受けたか否かを判定する。一例としては、2次判定部4は、所定時間内に判定部3Aおよび判定部3Bの双方によりネットワーク100への攻撃が検知されたときに、ネットワーク100が攻撃を受けたと判定する。この「所定時間」は、送信周期T以下であることが好ましく、例えば、T/2である。
The
図13は、第3の実施形態における攻撃検知方法の一例を示す。この例では、判定部3Bの各時間ウィンドウは、判定部3Aの対応する時間ウィンドウに対して、それぞれ検知対象のメッセージの送信周期Tの2分の1だけシフトして設定される。例えば、判定部3Bの時間ウィンドウW1は、判定部3Aの時間ウィンドウW1に対してT/2だけ遅れて設定されている。他の時間ウィンドウW2~W5についても同様である。
FIG. 13 shows an example of the attack detection method according to the third embodiment. In this example, each time window of the
なお、図13において、△印および▲印は、それぞれ攻撃検知装置1に正規メッセージおよび攻撃メッセージが到着したタイミングを表す。また、△印および▲印に付与されている数字は、モニタが開始された時点を基準として、各メッセージが攻撃検知装置1に何番目に到着したのかを表す。なお、図13では、1~4個目のメッセージは省略されている。
In FIG. 13, the Δ mark and the ▲ mark represent the timing at which the regular message and the attack message arrive at the
各判定部3A、3Bは、それぞれ、第1の実施形態のアルゴリズムおよび第2の実施形態のアルゴリズムの双方を利用して攻撃をモニタする。そして、2次判定部4は、所定時間内に判定部3A、3Bの双方によりネットワーク100への攻撃が検知されたときに、ネットワーク100が攻撃を受けたと判定する。尚、図13に示す検知処理については、後で詳しく記載する。
Each of the
図14は、第3の実施形態の攻撃検知方法の一例を示すフローチャートである。このフローチャートの処理は、検知対象のメッセージIDごとに実行される。 FIG. 14 is a flowchart showing an example of the attack detection method of the third embodiment. The processing of this flowchart is executed for each message ID to be detected.
S1において、攻撃検知装置1は、メッセージを受信する。このとき、受信部2は、このメッセージの受信時刻を記録する。S2~S3において、判定部3Aおよび判定部3Bは、ネットワーク100への攻撃の有無を判定する検知処理を実行する。なお、攻撃検知装置1は、S2およびS3を順番に実行してもよいし、並列に実行してもよい。
In S1, the
S4において、2次判定部4は、所定時間内に判定部3Aおよび判定部3Bの双方で攻撃が検知されたか判定する。そして、所定時間内に判定部3Aおよび判定部3Bの双方で攻撃が検知されたときは、2次判定部4は、S5において、ネットワーク100が攻撃されたと判定する。この場合、攻撃検知装置1は、ネットワーク100が攻撃されたことを表す警告信号を出力する。一方、所定時間内に判定部3Aおよび判定部3Bの双方で攻撃が検知されていなければ、S5はスキップされ、攻撃検知装置1の処理はS1に戻る。
In S4, the
このように、第3の実施形態においては、2つの判定部3(3A、3B)に設定される時間ウィンドウの位相が互いにシフトしている。このため、例えば、一方の判定部3において図12(b)に示す状態に起因して受信メッセージ数が正しくカウントされなかったとしても、他方の判定部3において受信メッセージ数が正しくカウントされるので、攻撃検知の精度が向上する。また、実際にネットワーク100への攻撃が発生した場合は、双方の判定部3において互いに近接したタイミングでその攻撃が検知されると考えられる。よって、所定時間内に双方の判定部3で攻撃が検知されたときに限って、2次判定部4がネットワーク100への攻撃があったと判定することで、誤検知が抑制される。
As described above, in the third embodiment, the phases of the time windows set in the two determination units 3 (3A, 3B) are shifted from each other. Therefore, for example, even if the number of received messages is not correctly counted by one of the
なお、ネットワーク100が車両の走行を制御する車載CANシステムであるときは、ECU1~ECUkは、例えば、攻撃検知装置1(ECU0)から出力される警告信号に応じて、車両を停止または減速させようにしてもよい。或いは、攻撃検知装置1から出力される警告信号に応じて、ネットワーク100と他のネットワークとの接続が切断されるように構成してもよい。
When the
図15は、各判定部3(3A、3B)により実行される検知処理の一例を示すフローチャートである。このフローチャートの処理は、図14に示すS2またはS3に相当する。よって、このフローチャートの処理は、攻撃検知装置1に新たなメッセージが到着したときに各判定部3により実行される。
FIG. 15 is a flowchart showing an example of the detection process executed by each determination unit 3 (3A, 3B). The processing of this flowchart corresponds to S2 or S3 shown in FIG. Therefore, the processing of this flowchart is executed by each
S11において、判定部3は、新たなメッセージの受信時刻(即ち、攻撃検知装置1にメッセージが到着した時刻)が時間ウィンドウの終端を越えたか否かを判定する。このとき、判定部3は、時間ウィンドウの終端時刻が直前のメッセージの受信時刻と新たなメッセージの受信時刻との間に現れる時間ウィンドウを抽出する。例えば、図13に示すケースにおいて、5個目のメッセージの受信時刻と6個目のメッセージの受信時刻との間に時間ウィンドウW1の終端時刻が位置している。この場合、攻撃検知装置1に6個目のメッセージが到着したときに「新たなメッセージの受信時刻が時間ウィンドウW1の終端を越えた」と判定される。
In S11, the
メッセージの受信時刻が時間ウィンドウの終端を越えていれば、S12において、判定部3は、S11で抽出された時間ウィンドウに対応するカウンタをゼロにリセットする。また、S13において、判定部3は、S11で抽出された時間ウィンドウに対応するフラグをゼロに更新する。このフラグについては後で説明する。
If the reception time of the message exceeds the end of the time window, in S12, the
S14において、判定部3は、各時間ウィンドウに対応するカウンタをそれぞれインクリメントする。カウンタの値は、時間ウィンドウ内に攻撃検知装置1に到着したメッセージの数を表す。
In S14, the
S15において、判定部3は、最も古い時間ウィンドウに対応するカウンタの値が閾値よりも大きいか判定する。なお、時間ウィンドウの長さが送信周期Tのn倍である場合、閾値はnであることが好ましい。そして、最も古い時間ウィンドウに対応するカウンタの値が閾値よりも大きいときは、判定部3は、S16において、最も古い時間ウィンドウに対応するフラグを設定する。すなわち、フラグは、対応する時間ウィンドウのカウンタの値が閾値を超えているか否かを表す。
In S15, the
図16は、判定部3により使用されるフラグ配列の一例を示す。この例では、判定部3は、5個の時間ウィンドウW1~W5を用いて攻撃をモニタするので、フラグ配列の長さは10ビットである。第1、第6ビットは時間ウィンドウW1に割り当てられ、第2、第7ビットは時間ウィンドウW2に割り当てられ、第3、第8ビットは時間ウィンドウW3に割り当てられ、第4、第9ビットは時間ウィンドウW4に割り当てられ、第5、第10ビットは時間ウィンドウW5に割り当てられる。図16に示す例は、攻撃検知装置1にメッセージが到着したときに最も古い時間ウィンドウがW4であり、時間ウィンドウW4に対応するカウンタの値が閾値よりも大きかったケースを示している。
FIG. 16 shows an example of a flag array used by the
S17において、判定部3は、フラグ配列中で所定数以上のフラグが連続して設定されているかを判定する。この例では、判定部3は、時間ウィンドウの個数以上のフラグが連続して設定されているかを判定する。すなわち、5以上のフラグが連続して設定されているか否かが判定される。ここで、フラグ配列中でm個のフラグが連続して設定されている状態は、m個の時間ウィンドウについてカウンタの値が連続して所定の閾値を超えた状態を表す。よって、判定部3は、フラグ配列の状態に基づいて、何個の時間ウィンドウにおいてカウンタの値が連続して閾値を超えたかを検出できる。なお、S16~S17は、第1の実施形態のアルゴリズムを実現する。
In S17, the
所定数以上のフラグが連続して設定されていれば(S17:Yes)、判定部3は、S19において、ネットワーク100が攻撃されたと判定する。そうでないときは(S17:No)、判定部3の処理はS18に進む。
If a predetermined number or more of the flags are continuously set (S17: Yes), the
S18において、判定部3は、各時間ウィンドウのカウンタの値がそれぞれ対応する閾値よりも大きいか判定する。各カウンタに対応する閾値は、互いに異なる。例えば、時間ウィンドウの個数がnである場合、各時間ウィンドウに対応する閾値は、古い順に、n、n-1、n-2...であり、最も新しい時間ウィンドウに対応する閾値は1である。なお、S18は、第2の実施形態のアルゴリズムを実現する。
In S18, the
各時間ウィンドウのカウンタの値がそれぞれ対応する閾値より大きいときは(S18:Yes)、判定部3は、S19において、ネットワーク100が攻撃されたと判定する。そうでないときは(S18:No)、判定部3は、S20において、ネットワーク100が攻撃されていないと判定する。
When the value of the counter in each time window is larger than the corresponding threshold value (S18: Yes), the
なお、最も古い時間ウィンドウに対応するカウンタの値が閾値以下であるときは(S15:No)、判定部3は、S18を実行することなく、ネットワーク100が攻撃を受けていないと判定してもよい。或いは、判定部3は、S15~S17の前にS18を実行してもよい。
When the value of the counter corresponding to the oldest time window is equal to or less than the threshold value (S15: No), the
図15に示すフローチャートの処理は、判定部3Aおよび判定部3Bによりそれぞれ実行される。そして、2次判定部4は、それらの判定結果に応じて、ネットワーク100が攻撃を受けたか否かを判定する。
The processing of the flowchart shown in FIG. 15 is executed by the
なお、上述の例ではフラグ配列のビット数は、ウィンドウの数の2倍であるが、本発明はこの構成に限定されるものではない。例えば、フラグ配列のビット数は、ウィンドウの数と同じであってもよい。 In the above example, the number of bits in the flag array is twice the number of windows, but the present invention is not limited to this configuration. For example, the number of bits in the flag array may be the same as the number of windows.
次に、図13に示すケースを参照して第3の実施形態の実施例を説明する。この実施例では、下記の条件で攻撃検知が行われるものとする。
(1)正規メッセージの送信周期Tは10m秒
(2)各判定部3はそれぞれ5個の時間ウィンドウW1~W5を備える
(3)各時間ウィンドウの長さは送信周期Tの5倍(即ち、50m秒)
(4)時間ウィンドウW1~W5はTずつ(即ち、10m秒ずつ)シフトして設定される
(5)判定部3A、3B間での時間ウィンドウのシフトは送信周期Tの2分の1(即ち、5m秒)
(6)検知開始時刻を基準として、正規メッセージが9.5m秒、19.5m秒、29.5m秒、39.5m秒、49.5m秒、59.5m秒、69.5m秒、112.0m秒、114.0m秒、114.8m秒、117.5m秒、119.9m秒、129.5m秒、139.5m秒、149.5m秒、159.5m秒、169.5m秒に攻撃検知装置1に到着する(なお、最初の4個のメッセージは、図13では省略されている)
(7)すなわち、70~110m秒において送信遅延が発生し、遅延したメッセージが110~120m秒の間に攻撃検知装置1に到着する
(8)攻撃メッセージは72.5m秒、84.5m秒に攻撃検知装置1に到着する
(9)第1の実施形態のアルゴリズム(以下、アルゴリズム1)の閾値は5
(10)第2の実施形態のアルゴリズム(以下、アルゴリズム2)の閾値は、最も古い時間ウィンドウから順番に5、4、3、2、1
Next, an embodiment of the third embodiment will be described with reference to the case shown in FIG. In this embodiment, it is assumed that attack detection is performed under the following conditions.
(1) The transmission cycle T of the regular message is 10 msec. (2) Each
(4) The time windows W1 to W5 are set by shifting by T (that is, by 10 ms). (5) The shift of the time window between the
(6) Based on the detection start time, the regular message is 9.5 msec, 19.5 msec, 29.5 msec, 39.5 msec, 49.5 msec, 59.5 msec, 69.5 msec, 112. Attack detection at 0msec, 114.0msec, 114.8msec, 117.5msec, 119.9msec, 129.5msec, 139.5msec, 149.5msec, 159.5msec, 169.5msec Arrives at device 1 (note that the first four messages are omitted in FIG. 13).
(7) That is, a transmission delay occurs in 70 to 110 msec, and the delayed message arrives at the
(10) The threshold values of the algorithm of the second embodiment (hereinafter, algorithm 2) are 5, 4, 3, 2, 1 in order from the oldest time window.
上記(2)~(5)によれば、判定部3Aにおいては、時間ウィンドウW1は0~50m秒、50~100m秒、100~150m秒...に設定され、時間ウィンドウW2は10~60m秒、60~110m秒、110~160m秒...に設定され、時間ウィンドウW3は20~70m秒、70~120m秒、120~170m秒...に設定され、時間ウィンドウW4は30~80m秒、80~130m秒、130~180m秒...に設定され、時間ウィンドウW5は40~90m秒、90~140m秒、140~190m秒...に設定される。また、判定部3bにおいては、時間ウィンドウW1は5~55m秒、55~105m秒、105~155m秒...に設定され、時間ウィンドウW2は15~65m秒、65~115m秒、115~165m秒...に設定され、時間ウィンドウW3は25~75m秒、75~125m秒、125~175m秒...に設定され、時間ウィンドウW4は35~85m秒、85~135m秒、135~185m秒...に設定され、時間ウィンドウW5は45~95m秒、95~145m秒、145~195m秒...に設定される。
According to the above (2) to (5), in the
初期設定において、判定部3A、3Bにおいて、すべてのカウンタはゼロに初期化される。また、判定部3A、3Bにおいて、図16に示すフラグ配列の各ビットもゼロに初期化される。なお、以下の記載では、時間ウィンドウWi(i=1~5)に対応するカウンタを「カウンタi」と呼ぶことがある。
In the initial setting, all the counters are initialized to zero in the
(1)1個目のメッセージの受信(時刻9.5m秒)
判定部3Aにおいて、時刻ゼロに時間ウィンドウW1が開始される(終了時刻は、50m秒)。判定部3Bにおいて、時刻5m秒に時間ウィンドウW1が開始される(終了時刻は、55m秒)。
(1) Reception of the first message (time 9.5 ms)
In the
1個目のメッセージが時刻9.5m秒に攻撃検知装置1に到着すると、判定部3Aのカウンタ1がゼロから1にインクリメントされ、判定部3Bのカウンタ1もゼロから1にインクリメントされる。なお、時間ウィンドウの境界時刻(即ち、時間ウィンドウの終了時刻)ちょうどに攻撃検知装置1にメッセージが到着したときは、前の時間ウィンドウに対応するカウンタをインクリメントしてもよいし、後の時間ウィンドウに対応するカウンタをインクリメントしてもよいが、どちらのカウンタをインクリメントするのかが事前に決められているものとする。
When the first message arrives at the
上記メッセージの受信により、各カウンタは下記のように更新される。
判定部3Aのカウンタ:[1,0,0,0,0]
判定部3Bのカウンタ:[1,0,0,0,0]
Upon receiving the above message, each counter is updated as follows.
Counter of
Counter of
判定部3A、3Bは、上記カウンタの値に基づいて図15に示す判定を実行する。このとき、いずれのカウンタもアルゴリズム1の閾値を超えていないので、判定部3A、3Bは、それぞれ「不検知」を出力する。なお、フラグ配列は下記の通りである。
判定部3Aのフラグ配列:[0,0,0,0,0,0,0,0,0,0]
判定部3Bのフラグ配列:[0,0,0,0,0,0,0,0,0,0]
The
Flag array of
Flag array of
(2)2個目のメッセージの受信(時刻19.5m秒)
受信部2が2個目のメッセージを受信する前に、判定部3Aにおいて、時刻10m秒に時間ウィンドウW2が開始される(終了時刻は、60m秒)。判定部3Bにおいて、時刻15m秒に時間ウィンドウW2が開始される(終了時刻は、65m秒)。
(2) Receiving the second message (time 19.5 ms)
Before the receiving
2個目のメッセージが時刻19.5m秒に攻撃検知装置1に到着すると、判定部3Aのカウンタ1、2がそれぞれインクリメントされ、判定部3Bのカウンタ1、2もそれぞれインクリメントされる。この結果、各カウンタは下記のように更新される。
判定部3Aのカウンタ:[2,1,0,0,0]
判定部3Bのカウンタ:[2,1,0,0,0]
When the second message arrives at the
Counter of
Counter of
判定部3A、3Bは、上記カウンタの値に基づいて判定処理を実行する。このとき、いずれもカウンタもアルゴリズム1、2の閾値を超えていないので、判定部3A、3Bは、それぞれ「不検知」を出力する。なお、フラグ配列は下記の通りである。
判定部3Aのフラグ配列:[0,0,0,0,0,0,0,0,0,0]
判定部3Bのフラグ配列:[0,0,0,0,0,0,0,0,0,0]
The
Flag array of
Flag array of
(3)3個目のメッセージの受信(時刻29.5m秒)
受信部2が3個目のメッセージを受信する前に、判定部3Aにおいて、時刻20m秒に時間ウィンドウW3が開始される(終了時刻は、70m秒)。判定部3Bにおいて、時刻25m秒に時間ウィンドウW3が開始される(終了時刻は、75m秒)。
(3) Receiving the third message (time 29.5 ms)
Before the receiving
3個目のメッセージが時刻29.5m秒に攻撃検知装置1に到着すると、判定部3Aのカウンタ1~3がそれぞれインクリメントされ、判定部3Bのカウンタ1~3もそれぞれインクリメントされる。この結果、各カウンタは下記のように更新される。
判定部3Aのカウンタ:[3,2,1,0,0]
判定部3Bのカウンタ:[3,2,1,0,0]
When the third message arrives at the
Counter of
Counter of
判定部3A、3Bは、上記カウンタの値に基づいて判定処理を実行する。このとき、いずれもカウンタもアルゴリズム1、2の閾値を超えていないので、判定部3A、3Bは、それぞれ「不検知」を出力する。なお、フラグ配列は下記の通りである。
判定部3Aのフラグ配列:[0,0,0,0,0,0,0,0,0,0]
判定部3Bのフラグ配列:[0,0,0,0,0,0,0,0,0,0]
The
Flag array of
Flag array of
(4)4個目のメッセージの受信(時刻39.5m秒)
受信部2が4個目のメッセージを受信する前に、判定部3Aにおいて、時刻30m秒に時間ウィンドウW4が開始される(終了時刻は、80m秒)。判定部3Bにおいて、時刻35m秒に時間ウィンドウW4が開始される(終了時刻は、85m秒)。
(4) Receiving the fourth message (time 39.5 ms)
Before the receiving
4個目のメッセージが時刻39.5m秒に攻撃検知装置1に到着すると、判定部3Aのカウンタ1~4がそれぞれインクリメントされ、判定部3Bのカウンタ1~4もそれぞれインクリメントされる。この結果、各カウンタは下記のように更新される。
判定部3Aのカウンタ:[4,3,2,1,0]
判定部3Bのカウンタ:[4,3,2,1,0]
When the fourth message arrives at the
Counter of
Counter of
判定部3A、3Bは、上記カウンタの値に基づいて判定処理を実行する。このとき、いずれもカウンタもアルゴリズム1、2の閾値を超えていないので、判定部3A、3Bは、それぞれ「不検知」を出力する。なお、フラグ配列は下記の通りである。
判定部3Aのフラグ配列:[0,0,0,0,0,0,0,0,0,0]
判定部3Bのフラグ配列:[0,0,0,0,0,0,0,0,0,0]
The
Flag array of
Flag array of
(5)5個目のメッセージの受信(時刻49.5m秒)
受信部2が5個目のメッセージを受信する前に、判定部3Aにおいて、時刻40m秒に時間ウィンドウW5が開始される(終了時刻は、90m秒)。判定部3Bにおいて、時刻45m秒に時間ウィンドウW5が開始される(終了時刻は、95m秒)。
(5) Receiving the fifth message (time 49.5 ms)
Before the receiving
5個目のメッセージが時刻49.5m秒に攻撃検知装置1に到着すると、判定部3Aのカウンタ1~5がそれぞれインクリメントされ、判定部3Bのカウンタ1~5もそれぞれインクリメントされる。この結果、各カウンタは下記のように更新される。
判定部3Aのカウンタ:[5,4,3,2,1]
判定部3Bのカウンタ:[5,4,3,2,1]
When the fifth message arrives at the
Counter of
Counter of
判定部3A、3Bは、上記カウンタの値に基づいて判定処理を実行する。このとき、いずれもカウンタもアルゴリズム1、2の閾値を超えていないので、判定部3A、3Bは、それぞれ「不検知」を出力する。なお、フラグ配列は下記の通りである。
判定部3Aのフラグ配列:[0,0,0,0,0,0,0,0,0,0]
判定部3Bのフラグ配列:[0,0,0,0,0,0,0,0,0,0]
The
Flag array of
Flag array of
(6)6個目のメッセージの受信(時刻59.5m秒)
受信部2が6個目のメッセージを受信する前に、判定部3Aにおいて、時刻50m秒に時間ウィンドウW1が再開始される(終了時刻は、100m秒)。また、判定部3Bにおいて、時刻55m秒に時間ウィンドウW1が再開始される(終了時刻は、105m秒)。よって、判定部3A、3Bにおいて、カウンタ1がそれぞれリセットされる。また、判定部3A、3Bにおいて、フラグ配列の第6ビットがリセットされる。
(6) Receiving the sixth message (time 59.5 ms)
Before the receiving
受信部2が6個目のメッセージを受信した時点では、判定部3A、3Bにおいて、最も古い時間ウィンドウはW2である。よって、アルゴリズム2の閾値は以下の通りである。
判定部3Aの閾値:[1,5,4,3,2]
判定部3Bの閾値:[1,5,4,3,2]
When the receiving
Threshold of
6個目のメッセージが時刻59.5m秒に攻撃検知装置1に到着すると、判定部3A、3Bのカウンタ1~5がそれぞれインクリメントされる。この結果、各カウンタは下記のように更新される。
判定部3Aのカウンタ:[1,5,4,3,2]
判定部3Bのカウンタ:[1,5,4,3,2]
When the sixth message arrives at the
Counter of
Counter of
この時点で判定部3A、3Bにおいて最も古い時間ウィンドウは、上述したように、それぞれW2である。そして、判定部3A、3Bにおいてカウンタ2の値はアルゴリズム1の閾値を超えていない。また、カウンタ1~5の値は、いずれもアルゴリズム2の対応する閾値を超えていない。よって、判定部3A、3Bは、それぞれ「不検知」を出力する。なお、フラグ配列は下記の通りである。
判定部3Aのフラグ配列:[0,0,0,0,0,0,0,0,0,0]
判定部3Bのフラグ配列:[0,0,0,0,0,0,0,0,0,0]
At this point, the oldest time windows in the
Flag array of
Flag array of
(7)7個目のメッセージの受信(時刻69.5m秒)
受信部2が7個目のメッセージを受信する前に、判定部3Aにおいて、時刻60m秒に時間ウィンドウW2が再開始される(終了時刻は、110m秒)。また、判定部3Bにおいて、時刻65m秒に時間ウィンドウW2が再開始される(終了時刻は、115m秒)。よって、判定部3A、3Bにおいて、カウンタ2がそれぞれリセットされる。また、判定部3A、3Bにおいて、フラグ配列の第7ビットがリセットされる。
(7) Receiving the 7th message (time 69.5 ms)
Before the receiving
受信部2が7個目のメッセージを受信した時点では、判定部3A、3Bにおいて、最も古い時間ウィンドウはW3である。よって、アルゴリズム2の閾値は以下の通りである。
判定部3Aの閾値:[2,1,5,4,3]
判定部3Bの閾値:[2,1,5,4,3]
When the receiving
Threshold of
7個目のメッセージが時刻69.5m秒に攻撃検知装置1に到着すると、判定部3A、3Bのカウンタ1~5がそれぞれインクリメントされる。この結果、各カウンタは下記のように更新される。
判定部3Aのカウンタ:[2,1,5,4,3]
判定部3Bのカウンタ:[2,1,5,4,3]
When the seventh message arrives at the
Counter of
Counter of
この時点で判定部3A、3Bにおいて最も古い時間ウィンドウは、上述したように、それぞれW3である。そして、判定部3A、3Bにおいてカウンタ3の値はアルゴリズム1の閾値を超えていない。また、カウンタ1~5の値は、いずれもアルゴリズム2の対応する閾値を超えていない。よって、判定部3A、3Bは、それぞれ「不検知」を出力する。なお、フラグ配列は下記の通りである。
判定部3Aのフラグ配列:[0,0,0,0,0,0,0,0,0,0]
判定部3Bのフラグ配列:[0,0,0,0,0,0,0,0,0,0]
At this point, the oldest time windows in the
Flag array of
Flag array of
(8)8個目のメッセージの受信(時刻72.5m秒)
受信部2が8個目のメッセージを受信する前に、判定部3Aにおいて、時刻70m秒に時間ウィンドウW3が再開始される(終了時刻は、120m秒)。よって、判定部3Aにおいて、カウンタ3がリセットされ、フラグ配列の第8ビットがリセットされる。一方、判定部3Bにおいては、受信部2が8個目のメッセージを受信した時点で、時刻25~75m秒に設定された時刻ウィンドウW3は未だ終了していない。よって、判定部3Bにおいては、カウンタおよびフラグ配列はリセットされない。
(8) Receiving the 8th message (time 72.5msec)
Before the receiving
受信部2が8個目のメッセージを受信した時点では、判定部3Aにおいて最も古い時間ウィンドウはW4であり、判定部3Bにおいて最も古い時間ウィンドウはW3である。よって、アルゴリズム2の閾値は以下の通りである。
判定部3Aの閾値:[3,2,1,5,4]
判定部3Bの閾値:[2,1,5,4,3]
When the receiving
Threshold of
8個目のメッセージが時刻72.5m秒に攻撃検知装置1に到着すると、判定部3A、3Bカウンタ1~5がそれぞれインクリメントされる。この結果、各カウンタは下記のように更新される。
判定部3Aのカウンタ:[3,2,1,5,4]
判定部3Bのカウンタ:[3,2,6,5,4]
When the eighth message arrives at the
Counter of
Counter of
この時点で判定部3Aにおいて最も古い時間ウィンドウは、上述したように、W4である。そして、判定部3Aにおいてカウンタ4の値は5であり、アルゴリズム1の閾値を超えていない。また、カウンタ1~5の値は、それぞれアルゴリズム2の対応する閾値を超えていない。よって、判定部3Aは「不検知」を出力する。
At this point, the oldest time window in the
一方、この時点で判定部3Bにおいて最も古い時間ウィンドウはW3である。そして、判定部3Bのカウンタ3の値は6であり、アルゴリズム1の閾値を超えている。よって、図16に示すフラグ配列において時間ウィンドウW3に対応するビットが設定される。ここでは、フラグ配列の第3ビットが設定されるものとする。この場合、フラグ配列は下記のように更新される。
判定部3Aのフラグ配列:[0,0,0,0,0,0,0,0,0,0]
判定部3Bのフラグ配列:[0,0,1,0,0,0,0,0,0,0]
On the other hand, at this point, the oldest time window in the
Flag array of
Flag array of
ここで、判定部3Bのフラグ配列において、フラグは連続して設定されていない。よって、アルゴリズム1の判定結果は「不検知」でる。ところが、判定部3Bにおいて、カウンタ1~5の値は、それぞれアルゴリズム2の対応する閾値よりも大きい。よって、アルゴリズム2の判定結果は「検知」である。したがって、判定部3Bは、「検知(時刻:72.5m秒)」を出力する。
Here, in the flag array of the
そうすると、2次判定部4は、8個目のメッセージの受信時刻から5m秒遡った時刻と8個目のメッセージの受信時刻との間の期間(即ち、時刻67.5~72.5m秒の期間)に判定部3Aから「検知」が出力されたか否かを判定する。この例では、この期間内に判定部3Aから「検知」が出力されていないので、2次判定部4は、ネットワーク100が攻撃を受けたと判定しない。
Then, the
(9)9個目のメッセージの受信(時刻84.5m秒)
受信部2が9個目のメッセージを受信する前に、判定部3Aにおいて、時刻80m秒に時間ウィンドウW4が再開始される(終了時刻は、130m秒)。よって、判定部3Aにおいて、カウンタ4がリセットされ、フラグ配列の第9ビットがリセットされる。また、判定部3Bにおいては、受信部2が9個目のメッセージを受信する前に、時刻75m秒に時間ウィンドウW3が再開始される(終了時刻は、125m秒)。ただし、受信部2が9個目のメッセージを受信した時点で、時刻35~85m秒に設定された時刻ウィンドウW4は未だ終了していない。したがって、判定部3Bにおいては、カウンタ3はリセットされるが、カウンタ4はリセットされない。また、フラグ配列の第8ビットはリセットされるが、フラグ配列の第9ビットはリセットされない。
(9) Reception of the 9th message (time 84.5msec)
Before the receiving
受信部2が9個目のメッセージを受信した時点では、判定部3Aにおいて最も古い時間ウィンドウはW5であり、判定部3Bにおいて最も古い時間ウィンドウはW4である。よって、アルゴリズム2の閾値は以下の通りである。
判定部3Aの閾値:[4,3,2,1,5]
判定部3Bの閾値:[3,2,1,5,4]
When the receiving
9個目のメッセージが時刻84.5m秒に攻撃検知装置1に到着すると、判定部3A、3Bのカウンタ1~5がそれぞれインクリメントされる。この結果、各カウンタは下記のように更新される。
判定部3Aのカウンタ:[4,3,2,1,5]
判定部3Bのカウンタ:[4,3,1,6,5]
When the ninth message arrives at the
Counter of
Counter of
この時点で判定部3Aにおいて最も古い時間ウィンドウは、上述したように、W5である。そして、判定部3Aにおいてカウンタ5の値は5であり、アルゴリズム1の閾値を超えていない。また、いずれのカウンタもアルゴリズム2の閾値を超えていない。よって、判定部3Aは「不検知」を出力する。
At this point, the oldest time window in the
一方、この時点で判定部3Bにおいて最も古い時間ウィンドウは、上述したように、W4である。そして、判定部3Bのカウンタ4の値は6であり、アルゴリズム1の閾値を超えている。よって、フラグ配列において時間ウィンドウW4に対応するビットが設定される。ここでは、フラグ配列の第4ビットが設定されるものとする。この場合、フラグ配列は下記のように更新される。
判定部3Aのフラグ配列:[0,0,0,0,0,0,0,0,0,0]
判定部3Bのフラグ配列:[0,0,1,1,0,0,0,0,0,0]
On the other hand, at this point, the oldest time window in the
Flag array of
Flag array of
ここで、判定部3Bのフラグ配列において、連続して設定されているフラグは5ビット未満である。よって、アルゴリズム1の判定結果は「不検知」でる。また、判定部3Bにおいて、カウンタ3の値は、アルゴリズム2の対応する閾値を超えていない。よって、アルゴリズム2の判定結果も「不検知」でる。この結果、判定部3Bは「不検知」を出力する。
Here, in the flag array of the
(10)10個目のメッセージの受信(時刻112.0m秒)
10~14個目のメッセージは大きく遅延して攻撃検知装置1に到着する。このため、受信部2が10個目のメッセージを受信する前に、判定部3Aにおいて、時刻90m秒に時間ウィンドウW5が再開始され(終了時刻は、140m秒)、時刻100m秒に時間ウィンドウW1が再開始され(終了時刻は、150m秒)、時刻110m秒に時間ウィンドウW2が再開始される(終了時刻は、160m秒)。よって、判定部3Aにおいて、カウンタ5、1、2がそれぞれリセットされ、フラグ配列の第10ビット、第1ビット、第2ビットがそれぞれリセットされる。
(10) Reception of the 10th message (time 112.0msec)
The 10th to 14th messages arrive at the
また、判定部3Bにおいては、受信部2が10個目のメッセージを受信する前に、時刻85m秒に時間ウィンドウW4が再開始され(終了時刻は、135m秒)、時刻95m秒に時間ウィンドウW5が再開始され(終了時刻は、145m秒)、時刻105m秒に時間ウィンドウW1が再開始される(終了時刻は、155m秒)。よって、判定部3Bにおいて、カウンタ4、5、1がそれぞれリセットされ、フラグ配列の第9ビット、第10ビット、第1ビットがそれぞれリセットされる。
Further, in the
受信部2が10個目のメッセージを受信した時点では、判定部3Aにおいて最も古い時間ウィンドウはW3であり、判定部3Bにおいて最も古い時間ウィンドウはW2である。よって、アルゴリズム2の閾値は以下の通りである。
判定部3Aの閾値:[2,1,5,4,3]
判定部3Bの閾値:[1,5,4,3,2]
When the receiving
Threshold of
10個目のメッセージが時刻112.0m秒に攻撃検知装置1に到着すると、判定部3A、3Bのカウンタ1~5がそれぞれインクリメントされる。この結果、各カウンタは下記のように更新される。
判定部3Aのカウンタ:[1,1,3,2,1]
判定部3Bのカウンタ:[1,4,2,1,1]
When the tenth message arrives at the
Counter of
Counter of
この時点で、判定部3Aにおいて最も古い時間ウィンドウは、上述したようにW3である。そして、判定部3Aにおいてカウンタ3の値は3であり、アルゴリズム1の閾値を超えていない。また、カウンタ1~5の値は、いずれもアルゴリズム2の対応する閾値を超えていない。よって、判定部3Aは「不検知」を出力する。
At this point, the oldest time window in the
また、判定部3Bにおいて最も古い時間ウィンドウは、上述したようにW2である。そして、判定部3Bにおいてカウンタ2の値は4であり、アルゴリズム1の閾値を超えていない。また、カウンタ1~5の値は、いずれもアルゴリズム2の対応する閾値を超えていない。よって、判定部3Bも「不検知」を出力する。なお、フラグ配列は下記の通りである。
判定部3Aのフラグ配列:[0,0,0,0,0,0,0,0,0,0]
判定部3Bのフラグ配列:[0,0,1,1,0,0,0,0,0,0]
Further, the oldest time window in the
Flag array of
Flag array of
(11)11個目のメッセージの受信(時刻114.0m秒)
受信部2が11個目のメッセージを受信した時点では、判定部3Aにおいて最も古い時間ウィンドウはW3であり、判定部3Bにおいて最も古い時間ウィンドウはW2である。よって、アルゴリズム2の閾値は、受信部2が10個目のメッセージを受信した時点での値と同様に、以下の通りである。
判定部3Aの閾値:[2,1,5,4,3]
判定部3Bの閾値:[1,5,4,3,2]
(11) Reception of the 11th message (time 114.0 msec)
When the receiving
Threshold of
11個目のメッセージが時刻114.0m秒に攻撃検知装置1に到着すると、判定部3A、3Bのカウンタ1~5がそれぞれインクリメントされる。この結果、各カウンタは下記のように更新される。
判定部3Aのカウンタ:[2,2,4,3,2]
判定部3Bのカウンタ:[2,5,3,2,2]
When the eleventh message arrives at the
Counter of
Counter of
この時点で、判定部3Aにおいて最も古い時間ウィンドウは、上述したようにW3である。そして、判定部3Aにおいてカウンタ3の値は4であり、アルゴリズム1の閾値を超えていない。また、カウンタ1~5の値は、いずれもアルゴリズム2の対応する閾値を超えていない。よって、判定部3Aは「不検知」を出力する。
At this point, the oldest time window in the
また、判定部3Bにおいて最も古い時間ウィンドウは、上述したようにW2である。そして、判定部3Bにおいてカウンタ2の値は5であり、アルゴリズム1の閾値を超えていない。また、カウンタ1~5の値は、いずれもアルゴリズム2の対応する閾値を超えていない。よって、判定部3Bも「不検知」を出力する。なお、フラグ配列は下記の通りである。
判定部3Aのフラグ配列:[0,0,0,0,0,0,0,0,0,0]
判定部3Bのフラグ配列:[0,0,1,1,0,0,0,0,0,0]
Further, the oldest time window in the
Flag array of
Flag array of
(12)12個目のメッセージの受信(時刻114.8m秒)
受信部2が12個目のメッセージを受信した時点では、判定部3Aにおいて最も古い時間ウィンドウはW3であり、判定部3Bにおいて最も古い時間ウィンドウはW2である。よって、アルゴリズム2の閾値は、受信部2が10個目のメッセージを受信した時点での値と同様に、以下の通りである。
判定部3Aの閾値:[2,1,5,4,3]
判定部3Bの閾値:[1,5,4,3,2]
(12) Reception of the 12th message (time 114.8 msec)
When the receiving
Threshold of
12個目のメッセージが時刻114.8m秒に攻撃検知装置1に到着すると、判定部3A、3Bのカウンタ1~5がそれぞれインクリメントされる。この結果、各カウンタは下記のように更新される。
判定部3Aのカウンタ:[3,3,5,4,3]
判定部3Bのカウンタ:[3,6,4,3,3]
When the twelfth message arrives at the
Counter of
Counter of
この時点で、判定部3Aにおいて最も古い時間ウィンドウは、上述したようにW3である。そして、判定部3Aにおいてカウンタ3の値は5であり、アルゴリズム1の閾値を超えていない。また、カウンタ3~5の値は、アルゴリズム2の対応する閾値を超えていない。よって、判定部3Aは「不検知」を出力する。
At this point, the oldest time window in the
一方、判定部3Bにおいて最も古い時間ウィンドウは、上述したようにW2である。ここで、判定部3Bにおいてカウンタ2の値は6であり、アルゴリズム1の閾値を超えている。よって、判定部3Bのフラグ配列において時間ウィンドウW2に対応するビットが設定される。ここでは、フラグ配列の第7ビットが設定されるものとする。この場合、フラグ配列は下記のように更新される。
判定部3Aのフラグ配列:[0,0,0,0,0,0,0,0,0,0]
判定部3Bのフラグ配列:[0,0,1,1,0,0,1,0,0,0]
On the other hand, the oldest time window in the
Flag array of
Flag array of
但し、判定部3Bのフラグ配列において、連続して設定されているフラグは5ビット未満である。よって、アルゴリズム1の判定結果は「不検知」である。また、カウンタ3、4の値がアルゴリズム2の対応する閾値を超えていないので、アルゴリズム2の判定結果も「不検知」である。したがって、判定部3Bは「不検知」を出力する。
However, in the flag array of the
(13)13個目のメッセージの受信(時刻117.5m秒)
受信部2が13個目のメッセージを受信する前に、判定部3Bにおいて、時刻115m秒に時間ウィンドウW2が再開始される(終了時刻は、165m秒)。よって、判定部3Bにおいて、カウンタ2がリセットされ、フラグ配列の第2ビットがリセットされる。
(13) Reception of the 13th message (time 117.5 msec)
Before the receiving
受信部2が13個目のメッセージを受信した時点では、判定部3A、3Bにおいて最も古い時間ウィンドウはいずれもW3である。よって、アルゴリズム2の閾値は、以下の通りである。
判定部3Aの閾値:[2,1,5,4,3]
判定部3Bの閾値:[2,1,5,4,3]
When the receiving
Threshold of
13個目のメッセージが時刻117.5m秒に攻撃検知装置1に到着すると、判定部3A、3Bのカウンタ1~5がそれぞれインクリメントされる。この結果、各カウンタは下記のように更新される。
判定部3Aのカウンタ:[4,4,6,5,4]
判定部3Bのカウンタ:[4,1,5,4,4]
When the thirteenth message arrives at the
Counter of
Counter of
判定部3Aの動作は以下の通りである。すなわち、最も古い時間ウィンドウは、上述したようにW3である。そして、カウンタ3の値は6であり、アルゴリズム1の閾値を超えている。よって、フラグ配列において時間ウィンドウW3に対応するビットが設定される。ここでは、フラグ配列の第8ビットが設定されるものとする。この場合、フラグ配列は下記のように更新される。
判定部3Aのフラグ配列:[0,0,0,0,0,0,0,1,0,0]
The operation of the
Flag array of
ここで、このフラグ配列においては、フラグは連続して設定されていない。よって、アルゴリズム1の判定結果は「不検知」である。しかし、カウンタ1~5の値は、それぞれアルゴリズム2の対応する閾値よりも大きい。よって、アルゴリズム2の判定結果は「検知」である。この結果、判定部3Aは「検知(時刻:117.5m秒)」を出力する。
Here, in this flag array, the flags are not set consecutively. Therefore, the determination result of the
判定部3Bの動作は以下の通りである。すなわち、最も古い時間ウィンドウは、上述したようにW3である。ただし、カウンタ3の値は5であり、アルゴリズム1の閾値を超えていない。よって、アルゴリズム1の判定結果は「不検知」であり、フラグ配列は下記の通りである。
判定部3Bのフラグ配列:[0,0,0,1,0,0,1,0,0,0]
The operation of the
Flag array of
また、カウンタ2~4の値がアルゴリズム2の対応する閾値を超えていないので、アルゴリズム2の判定結果も「不検知」である。この結果、判定部3Bは「不検知」を出力する。
Further, since the values of the
このように、13個目のメッセージが攻撃検知装置1に到着したときに、判定部3Aから「検知(時刻:117.5m秒)」が出力される。したがって、2次判定部4は、時刻112.5~117.5m秒の期間内に判定部3Bから「検知」が出力されたか否かを判定する。この例では、この期間内に判定部3Bから「検知」が出力されていないので、2次判定部4は、ネットワーク100が攻撃を受けたと判定しない。
In this way, when the thirteenth message arrives at the
(14)14個目のメッセージの受信(時刻119.9m秒)
受信部2が14個目のメッセージを受信した時点では、判定部3A、3Bにおいて最も古い時間ウィンドウはいずれもW3である。よって、アルゴリズム2の閾値は、受信部2が13個目のメッセージを受信した時点での値と同様に、以下の通りである。
判定部3Aの閾値:[2,1,5,4,3]
判定部3Bの閾値:[2,1,5,4,3]
(14) Receiving the 14th message (time 119.9 ms)
When the receiving
Threshold of
14個目のメッセージが時刻119.9m秒に攻撃検知装置1に到着すると、判定部3A、3Bのカウンタ1~5がそれぞれインクリメントされる。この結果、各カウンタは下記のように更新される。
判定部3Aのカウンタ:[5,5,7,6,5]
判定部3Bのカウンタ:[5,2,6,5,5]
When the 14th message arrives at the
Counter of
Counter of
判定部3Aの動作は以下の通りである。すなわち、最も古い時間ウィンドウは、上述したようにW3である。そして、カウンタ3の値は7であり、アルゴリズム1の閾値を超えている。よって、フラグ配列において時間ウィンドウW3に対応するビットが設定される。ただし、このビットは、13個目のメッセージの受信に起因して既に設定されている。よって、フラグ配列は下記の通りである。
判定部3Aのフラグ配列:[0,0,0,0,0,0,0,1,0,0]
The operation of the
Flag array of
ここで、このフラグ配列において、連続して設定されているフラグは5ビット未満である。よって、アルゴリズム1の判定結果は「不検知」である。しかし、カウンタ1~5の値は、それぞれアルゴリズム2の対応する閾値よりも大きい。よって、アルゴリズム2の判定結果は「検知」である。この結果、判定部3Aは「検知(時刻:119.9m秒)」を出力する。
Here, in this flag array, the flags that are continuously set are less than 5 bits. Therefore, the determination result of the
判定部3Bの動作は以下の通りである。すなわち、最も古い時間ウィンドウは、上述したようにW3である。そして、カウンタ3の値は6であり、アルゴリズム1の閾値を超えている。よって、フラグ配列において時間ウィンドウW3に対応するビットが設定される。ここでは、フラグ配列の第8ビットが設定されるものとする。この場合、フラグ配列は下記のように更新される。
判定部3Bのフラグ配列:[0,0,0,0,0,0,1,1,0,0]
The operation of the
Flag array of
ここで、このフラグ配列において、連続して設定されているフラグは5ビット未満である。よって、アルゴリズム1の判定結果は「不検知」である。しかし、カウンタ1~5の値は、それぞれアルゴリズム2の対応する閾値よりも大きい。よって、アルゴリズム2の判定結果は「検知」である。この結果、判定部3Bも「検知(時刻:119.9m秒)」を出力する。
Here, in this flag array, the flags that are continuously set are less than 5 bits. Therefore, the determination result of the
このように、14個目のメッセージが攻撃検知装置1に到着したときに、判定部3A、3Bの双方から「検知(時刻:119.9m秒)」が出力される。即ち、所定時間内(この例では、5m秒)に判定部3A、3Bの双方から「検知」が出力されている。したがって、2次判定部4は、ネットワーク100が攻撃を受けたと判定する。
In this way, when the 14th message arrives at the
なお、13個目のメッセージに起因して判定部3Aから出力される「検知」が示す時刻(即ち、117.5m秒)と、14個目のメッセージに起因して判定部3Bから出力される「検知」が示す時刻(即ち、119.9m秒)との差分は5m秒以下である。よって、2次判定部4は、これらの判定結果に基づいて、ネットワーク100が攻撃を受けたと判定してもよい。
The time indicated by "detection" output from the
(15)15個目のメッセージの受信(時刻129.5m秒)
受信部2が15個目のメッセージを受信する前に、判定部3Aにおいて、時刻120m秒に時間ウィンドウW3が再開始される(終了時刻は、170m秒)。また、判定部3Bにおいて、時刻125m秒に時間ウィンドウW3が再開始される(終了時刻は、175m秒)。よって、判定部3A、3Bにおいて、カウンタ3がそれぞれリセットされる。また、判定部3A、3Bにおいて、フラグ配列の第3ビットがリセットされる。
(15) Receiving the 15th message (time 129.5 ms)
Before the receiving
受信部2が15個目のメッセージを受信した時点では、判定部3A、3Bにおいて最も古い時間ウィンドウはいずれもW4である。よって、アルゴリズム2の閾値は、以下の通りである。
判定部3Aの閾値:[3,2,1,5,4]
判定部3Bの閾値:[3,2,1,5,4]
When the receiving
15個目のメッセージが時刻129.5m秒に攻撃検知装置1に到着すると、判定部3A、3Bのカウンタ1~5がそれぞれインクリメントされる。この結果、各カウンタは下記のように更新される。
判定部3Aのカウンタ:[6,6,1,7,6]
判定部3Bのカウンタ:[6,3,1,6,6]
When the fifteenth message arrives at the
Counter of
Counter of
判定部3Aの動作は以下の通りである。すなわち、最も古い時間ウィンドウは、上述したようにW4である。そして、カウンタ4の値は7であり、アルゴリズム1の閾値を超えている。よって、フラグ配列において時間ウィンドウW4に対応するビットが設定される。この例では、第9ビットが設定され、フラグ配列は下記のように更新される。
判定部3Aのフラグ配列:[0,0,0,0,0,0,0,1,1,0]
The operation of the
Flag array of
ここで、このフラグ配列において、連続して設定されているフラグは5ビット未満である。よって、アルゴリズム1の判定結果は「不検知」である。また、カウンタ3の値は、アルゴリズム2の対応する閾値以下である。よって、アルゴリズム2の判定結果も「不検知」である。この結果、判定部3Aは「不検知」を出力する。
Here, in this flag array, the flags that are continuously set are less than 5 bits. Therefore, the determination result of the
判定部3Bの動作は以下の通りである。すなわち、最も古い時間ウィンドウは、上述したようにW4である。そして、カウンタ4の値は6であり、アルゴリズム1の閾値を超えている。よって、フラグ配列において時間ウィンドウW4に対応するビットが設定される。この例では、第9ビットが設定され、フラグ配列は下記のように更新される。
判定部3Bのフラグ配列:[0,0,0,0,0,0,1,1,1,0]
The operation of the
Flag array of
ここで、このフラグ配列において、連続して設定されているフラグは5ビット未満である。よって、アルゴリズム1の判定結果は「不検知」である。また、カウンタ3の値は、アルゴリズム2の対応する閾値以下である。よって、アルゴリズム2の判定結果も「不検知」である。この結果、判定部3Aは「不検知」を出力する。
Here, in this flag array, the flags that are continuously set are less than 5 bits. Therefore, the determination result of the
(16)16個目のメッセージの受信(時刻139.5m秒)
受信部2が16個目のメッセージを受信する前に、判定部3Aにおいて、時刻130m秒に時間ウィンドウW4が再開始される(終了時刻は、180m秒)。また、判定部3Bにおいて、時刻135m秒に時間ウィンドウW4が再開始される(終了時刻は、185m秒)。よって、判定部3A、3Bにおいて、カウンタ4がそれぞれリセットされる。また、判定部3A、3Bにおいて、フラグ配列の第4ビットがリセットされる。
(16) Receiving the 16th message (time 139.5 ms)
Before the receiving
受信部2が16個目のメッセージを受信した時点では、判定部3A、3Bにおいて最も古い時間ウィンドウはいずれもW5である。よって、アルゴリズム2の閾値は、以下の通りである。
判定部3Aの閾値:[4,3,2,1,5]
判定部3Bの閾値:[4,3,2,1,5]
When the receiving
Threshold of
16個目のメッセージが時刻139.5m秒に攻撃検知装置1に到着すると、判定部3A、3Bのカウンタ1~5がそれぞれインクリメントされる。この結果、各カウンタは下記のように更新される。
判定部3Aのカウンタ:[7,7,2,1,7]
判定部3Bのカウンタ:[7,4,2,1,7]
When the 16th message arrives at the
Counter of
Counter of
判定部3Aの動作は以下の通りである。すなわち、最も古い時間ウィンドウは、上述したようにW5である。そして、カウンタ5の値は7であり、アルゴリズム1の閾値を超えている。よって、フラグ配列において時間ウィンドウW5に対応するビットが設定される。この例では、第10ビットが設定され、フラグ配列は下記のように更新される。
判定部3Aのフラグ配列:[0,0,0,0,0,0,0,1,1,1]
The operation of the
Flag array of
ここで、このフラグ配列において、連続して設定されているフラグは5ビット未満である。よって、アルゴリズム1の判定結果は「不検知」である。また、カウンタ3、4の値は、それぞれアルゴリズム2の対応する閾値以下である。よって、アルゴリズム2の判定結果も「不検知」である。この結果、判定部3Aは「不検知」を出力する。
Here, in this flag array, the flags that are continuously set are less than 5 bits. Therefore, the determination result of the
判定部3Bの動作は以下の通りである。すなわち、最も古い時間ウィンドウは、上述したようにW5である。そして、カウンタ5の値は7であり、アルゴリズム1の閾値を超えている。よって、フラグ配列において時間ウィンドウW5に対応するビットが設定される。この例では、第10ビットが設定され、フラグ配列は下記のように更新される。
判定部3Bのフラグ配列:[0,0,0,0,0,0,1,1,1,1]
The operation of the
Flag array of
ここで、このフラグ配列において、連続して設定されているフラグは5ビット未満である。よって、アルゴリズム1の判定結果は「不検知」である。また、カウンタ3、4の値は、それぞれアルゴリズム2の対応する閾値以下である。よって、アルゴリズム2の判定結果も「不検知」である。この結果、判定部3Bも「不検知」を出力する。
Here, in this flag array, the flags that are continuously set are less than 5 bits. Therefore, the determination result of the
(17)17個目のメッセージの受信(時刻149.5m秒)
受信部2が17個目のメッセージを受信する前に、判定部3Aにおいて、時刻140m秒に時間ウィンドウW5が再開始される(終了時刻は、190m秒)。また、判定部3Bにおいて、時刻145m秒に時間ウィンドウW5が再開始される(終了時刻は、195m秒)。よって、判定部3A、3Bにおいて、カウンタ5がそれぞれリセットされる。また、判定部3A、3Bにおいて、フラグ配列の第5ビットがリセットされる。
(17) Reception of the 17th message (time 149.5 ms)
Before the receiving
受信部2が17個目のメッセージを受信した時点では、判定部3A、3Bにおいて最も古い時間ウィンドウはいずれもW1である。よって、アルゴリズム2の閾値は、以下の通りである。
判定部3Aの閾値:[5,4,3,2,1]
判定部3Bの閾値:[5,4,3,2,1]
When the receiving
17個目のメッセージが時刻149.5m秒に攻撃検知装置1に到着すると、判定部3A、3Bのカウンタ1~5がそれぞれインクリメントされる。この結果、各カウンタは下記のように更新される。
判定部3Aのカウンタ:[8,8,3,2,1]
判定部3Bのカウンタ:[8,5,3,2,1]
When the 17th message arrives at the
Counter of
Counter of
判定部3Aの動作は以下の通りである。すなわち、最も古い時間ウィンドウは、上述したようnW1である。そして、カウンタ1の値は8であり、アルゴリズム1の閾値を超えている。よって、フラグ配列において時間ウィンドウW1に対応するビットが設定される。この例では、第1ビットが設定され、フラグ配列は下記のように更新される。
判定部3Aのフラグ配列:[1,0,0,0,0,0,0,1,1,1]
The operation of the
Flag array of
ここで、このフラグ配列において、連続して設定されているフラグは5ビット未満である。よって、アルゴリズム1の判定結果は「不検知」である。また、カウンタ3~5の値は、それぞれアルゴリズム2の対応する閾値以下である。よって、アルゴリズム2の判定結果も「不検知」である。この結果、判定部3Aは「不検知」を出力する。
Here, in this flag array, the flags that are continuously set are less than 5 bits. Therefore, the determination result of the
判定部3Bの動作は以下の通りである。すなわち、最も古い時間ウィンドウは、上述したようにW1である。そして、カウンタ1の値は8であり、アルゴリズム1の閾値を超えている。よって、フラグ配列において時間ウィンドウW1に対応するビットが設定される。この例では、第1ビットが設定され、フラグ配列は下記のように更新される。
判定部3Bのフラグ配列:[1,0,0,0,0,0,1,1,1,1]
The operation of the
Flag array of
このとき、5個のフラグが連続して設定されている。よって、アルゴリズム1の判定結果が「検知」であり、判定部3Bは「検知(時刻:149.5m秒)」を出力する。
At this time, five flags are set consecutively. Therefore, the determination result of the
2次判定部4は、時刻144.5~149.5m秒の期間内に判定部3Aから「検知」が出力されたか否かを判定する。この例では、この期間内に判定部3Aから「検知」が出力されていない。よって、2次判定部4は、ネットワーク100が攻撃を受けたと判定しない。
The
(18)18個目のメッセージの受信(時刻159.5m秒)
受信部2が18個目のメッセージを受信する前に、判定部3Aにおいて、時刻150m秒に時間ウィンドウW1が再開始される(終了時刻は、200m秒)。また、判定部3Bにおいて、時刻155m秒に時間ウィンドウW1が再開始される(終了時刻は、205m秒)。よって、判定部3A、3Bにおいて、カウンタ1がそれぞれリセットされ、フラグ配列の第6ビットがそれぞれリセットされる。
(18) Receiving the 18th message (time 159.5 ms)
Before the receiving
受信部2が18個目のメッセージを受信した時点では、判定部3A、3Bにおいて最も古い時間ウィンドウはいずれもW2である。よって、アルゴリズム2の閾値は、以下の通りである。
判定部3Aの閾値:[1,5,4,3,2]
判定部3Bの閾値:[1,5,4,3,2]
When the receiving
Threshold of
18個目のメッセージが時刻159.5m秒に攻撃検知装置1に到着すると、判定部3A、3Bのカウンタ1~5がそれぞれインクリメントされる。この結果、各カウンタは下記のように更新される。
判定部3Aのカウンタ:[1,9,4,3,2]
判定部3Bのカウンタ:[1,6,4,3,2]
When the 18th message arrives at the
Counter of
Counter of
判定部3Aの動作は以下の通りである。すなわち、最も古い時間ウィンドウは、上述したようにW2である。そして、カウンタ2の値は9であり、アルゴリズム1の閾値を超えている。よって、フラグ配列において時間ウィンドウW1に対応するビットが設定される。この例では、第2ビットが設定され、フラグ配列は下記のように更新される。
判定部3Aのフラグ配列:[1,1,0,0,0,0,0,1,1,1]
The operation of the
Flag array of
このとき、5個のフラグが連続して設定されている。よって、アルゴリズム1の判定結果が「検知」であり、判定部3Aは「検知(時刻:159.5m秒)」を出力する。
At this time, five flags are set consecutively. Therefore, the determination result of the
判定部3Bの動作は以下の通りである。すなわち、最も古い時間ウィンドウは、上述したようにW2である。そして、カウンタ2の値は6であり、アルゴリズム1の閾値を超えている。よって、フラグ配列において時間ウィンドウW2に対応するビットが設定される。この例では、第2ビットが設定され、フラグ配列は下記のように更新される。
判定部3Bのフラグ配列:[1,1,0,0,0,0,0,1,1,1]
The operation of the
Flag array of
このとき、6個のフラグが連続して設定されている。よって、アルゴリズム1の判定結果が「検知」であり、判定部3Bも「検知(時刻:159.5m秒)」を出力する。
At this time, six flags are set consecutively. Therefore, the determination result of the
このように、18個目のメッセージが攻撃検知装置1に到着したときに、判定部3A、3Bの双方から「検知(時刻:159.5m秒)」が出力される。即ち、所定時間内(この例では、5m秒)に判定部3A、3Bの双方から「検知」が出力されている。したがって、2次判定部4は、ネットワーク100が攻撃を受けたと判定する。
In this way, when the 18th message arrives at the
(19)19個目のメッセージの受信(時刻169.5m秒)
受信部2が19個目のメッセージを受信する前に、判定部3Aにおいて、時刻160m秒に時間ウィンドウW2が再開始される(終了時刻は、210m秒)。また、判定部3Bにおいて、時刻165m秒に時間ウィンドウW2が再開始される(終了時刻は、215m秒)。よって、判定部3A、3Bにおいて、カウンタ2がそれぞれリセットされ、フラグ配列の第7ビットがそれぞれリセットされる。
(19) Reception of the 19th message (time 169.5 ms)
Before the receiving
受信部2が19個目のメッセージを受信した時点では、判定部3A、3Bにおいて最も古い時間ウィンドウはいずれもW3である。よって、アルゴリズム2の閾値は、以下の通りである。
判定部3Aの閾値:[2,1,5,4,3]
判定部3Bの閾値:[2,1,5,4,3]
When the receiving
Threshold of
19個目のメッセージが時刻169.5m秒に攻撃検知装置1に到着すると、判定部3A、3Bのカウンタ1~5がそれぞれインクリメントされる。この結果、各カウンタは下記のように更新される。
判定部3Aのカウンタ:[2,1,5,4,3]
判定部3Bのカウンタ:[2,1,5,4,2]
When the 19th message arrives at the
Counter of
Counter of
判定部3Aの動作は以下の通りである。すなわち、最も古い時間ウィンドウは、上述したようにW3である。ここで、カウンタ3の値は5であり、アルゴリズム1の閾値以下である。また、カウンタ1~5の値は、それぞれ、アルゴリズム2の対応する閾値以下である。したがって、判定部3Aは「不検知」を出力する。
The operation of the
判定部3Bの動作は以下の通りである。すなわち、最も古い時間ウィンドウは、上述したようにW3である。そして、カウンタ3の値は5であり、アルゴリズム1の閾値以下である。また、カウンタ1~5の値は、それぞれ、アルゴリズム2の対応する閾値以下である。したがって、判定部3Bも「不検知」を出力する。このように、判定部3A、3Bから「不検知」が出力されるので、2次判定部4は、ネットワーク100が攻撃を受けたと判定しない。
The operation of the
なお、各時間ウィンドウの開始/終了時刻は、最初のメッセージの受信時刻を基準として設定してもよい。例えば、時刻9.5m秒に攻撃検知装置1に最初のメッセージが到着した場合、判定部3Aにおいて12m秒(=9.5+2.5)を基準として各時間ウィンドウの開始/終了時刻を設定し、判定部3Bにおいて17m秒(=9.5+2.5+5)を基準として各時間ウィンドウの開始/終了時刻を設定してもよい。
The start / end time of each time window may be set based on the reception time of the first message. For example, when the first message arrives at the
1 攻撃検知装置
2 受信部
3(3A、3B) 判定部
4 2次判定部
11a~11n カウンタ
12 検知部
21 CANトランシーバ
22 CANコントローラ
24 プロセッサ
25 メモリ
100 ネットワーク
1
Claims (9)
互いに異なるタイミングで設定される同じ長さの複数の時間ウィンドウ内に前記受信部が受信するメッセージの個数をそれぞれカウントする複数のカウンタと、
対応するカウンタの値が所定の閾値を超えた状態が、所定数の時間ウィンドウについて連続して検出されたときに、前記ネットワークが攻撃を受けたと判定する検知部と、を備え、
設定される時間ウィンドウの数がn(nは、2以上の整数)であるときに、各時間ウィンドウの長さは、前記識別情報に対応して設定された前記メッセージが送信される周期のn倍であり、且つ、前記閾値はnであり、
前記複数の時間ウィンドウは、前記周期と同じ時間だけ順番にシフトして設定され、
対応するカウンタの値が所定の閾値を超えた状態が、n個の時間ウィンドウについて連続して検出されたときに、前記検知部は、前記ネットワークが攻撃を受けたと判定する
ことを特徴とする攻撃検知装置。 A receiver that receives messages containing identification information transmitted within the network, and
A plurality of counters that count the number of messages received by the receiver in a plurality of time windows of the same length set at different timings, and
A detector that determines that the network has been attacked when a state in which the value of the corresponding counter exceeds a predetermined threshold value is continuously detected for a predetermined number of time windows is provided .
When the number of time windows to be set is n (n is an integer of 2 or more), the length of each time window is n of the cycle in which the message set corresponding to the identification information is transmitted. It is doubled and the threshold value is n.
The plurality of time windows are set by shifting in order by the same time as the cycle.
When a state in which the value of the corresponding counter exceeds a predetermined threshold value is continuously detected for n time windows, the detector determines that the network has been attacked.
An attack detection device characterized by this .
互いに異なるタイミングで設定される同じ長さの複数の時間ウィンドウ内に前記受信部が受信するメッセージの個数をそれぞれカウントする複数のカウンタと、
各カウンタの値がそれぞれ対応する時間ウィンドウに対して設定される互いに異なる閾値を超えたときに、前記ネットワークが攻撃を受けたと判定する検知部と、を備え、
前記複数の時間ウィンドウに対して、新しい時間ウィンドウほどより小さい閾値が設定される
ことを特徴とする攻撃検知装置。 A receiver that receives messages containing identification information transmitted within the network, and
A plurality of counters that count the number of messages received by the receiver in a plurality of time windows of the same length set at different timings, and
A detector that determines that the network has been attacked when the value of each counter exceeds different thresholds set for the corresponding time window.
For the plurality of time windows, a smaller threshold value is set for the new time window.
An attack detection device characterized by this .
前記複数の時間ウィンドウは、前記周期と同じ時間だけ順番にシフトして設定され、
前記複数の時間ウィンドウのなかの最も古い時間ウィンドウに対して設定される閾値はnであり、他の時間ウィンドウに対しては、古い順にnを基準として1ずつ小さい閾値が設定される
ことを特徴とする請求項2に記載の攻撃検知装置。 When the number of time windows to be set is n (n is an integer of 2 or more), the length of each time window is n of the cycle in which the message set corresponding to the identification information is transmitted. Double,
The plurality of time windows are set by shifting in order by the same time as the cycle.
The threshold value set for the oldest time window among the plurality of time windows is n, and for the other time windows, a smaller threshold value is set by 1 with respect to n in chronological order. The attack detection device according to claim 2 .
前記受信部により受信されるメッセージの頻度に基づいてそれぞれ前記ネットワークへの攻撃の有無を判定する第1の判定部および第2の判定部と、
前記第1の判定部および前記第2の判定部による判定結果に基づいて、前記ネットワークが攻撃を受けたか否かを判定する2次判定部と、を備え、
前記第1の判定部および前記第2の判定部は、それぞれ、
互いに異なるタイミングで設定される同じ長さの複数の時間ウィンドウ内に前記受信部が受信するメッセージの個数をそれぞれカウントする複数のカウンタと、
前記複数のカウンタの値に基づいて前記ネットワークへの攻撃を検知する検知部と、を含み、
前記第2の判定部の各時間ウィンドウは、前記第1の判定部の対応する時間ウィンドウに対してそれぞれ所定時間だけシフトして設定されており、
前記2次判定部は、所定時間内に前記第1の判定部および前記第2の判定部の双方により前記ネットワークへの攻撃が検知されたときに、前記ネットワークが攻撃を受けたと判定する
ことを特徴とする攻撃検知装置。 A receiver that receives messages containing identification information transmitted within the network, and
A first determination unit and a second determination unit that determine the presence or absence of an attack on the network based on the frequency of messages received by the reception unit, respectively.
A secondary determination unit for determining whether or not the network has been attacked based on the determination results by the first determination unit and the second determination unit is provided.
The first determination unit and the second determination unit are, respectively.
A plurality of counters that count the number of messages received by the receiver in a plurality of time windows of the same length set at different timings, and
Includes a detector that detects an attack on the network based on the values of the plurality of counters.
Each time window of the second determination unit is set by shifting by a predetermined time with respect to the corresponding time window of the first determination unit .
The secondary determination unit determines that the network has been attacked when an attack on the network is detected by both the first determination unit and the second determination unit within a predetermined time.
An attack detection device characterized by this.
ことを特徴とする請求項4に記載の攻撃検知装置。 Each time window of the second determination unit is only one half of the cycle in which the message set corresponding to the identification information is transmitted to the corresponding time window of the first determination unit. The attack detection device according to claim 4 , wherein the attack detection device is set by shifting.
設定される時間ウィンドウの数がn(nは、2以上の整数)であるときに、各時間ウィンドウの長さは、前記識別情報に対応して設定された前記メッセージが送信される周期のn倍であり、且つ、前記閾値はnであり、
前記複数の時間ウィンドウは、前記周期と同じ時間だけ順番にシフトして設定され、
対応するカウント値が所定の閾値を超えた状態が、n個の時間ウィンドウについて連続して検出されたときに、前記識別情報を含むメッセージを伝送するネットワークが攻撃を受けたと判定する
ことを特徴とする攻撃検知方法。 The number of received messages containing identification information is counted for each of multiple time windows of the same length set at different timings.
When the number of time windows to be set is n (n is an integer of 2 or more), the length of each time window is n of the cycle in which the message set corresponding to the identification information is transmitted. It is doubled and the threshold value is n.
The plurality of time windows are set by shifting in order by the same time as the cycle.
It is characterized in that when a state in which the corresponding count value exceeds a predetermined threshold value is continuously detected for n time windows, it is determined that the network transmitting the message containing the identification information has been attacked. Attack detection method.
前記複数の時間ウィンドウに対して、新しい時間ウィンドウほどより小さい閾値が設定され、
対応するカウント値が所定の閾値を超えた状態が、前記複数の時間ウィンドウのうちの所定数の時間ウィンドウについて連続して検出されたときに、前記識別情報を含むメッセージを伝送するネットワークが攻撃を受けたと判定する
ことを特徴とする攻撃検知方法。 The number of received messages containing identification information is counted for each of multiple time windows of the same length set at different timings.
For the multiple time windows, a smaller threshold is set for the new time window.
When a state in which the corresponding count value exceeds a predetermined threshold value is continuously detected for a predetermined number of time windows among the plurality of time windows, the network transmitting the message including the identification information attacks. An attack detection method characterized by determining that it has been received .
設定される時間ウィンドウの数がn(nは、2以上の整数)であるときに、各時間ウィンドウの長さは、前記識別情報に対応して設定された前記メッセージが送信される周期のn倍であり、且つ、前記閾値はnであり、
前記複数の時間ウィンドウは、前記周期と同じ時間だけ順番にシフトして設定され、
対応するカウント値が所定の閾値を超えた状態が、n個の時間ウィンドウについて連続して検出されたときに、前記識別情報を含むメッセージを伝送するネットワークが攻撃を受けたと判定する
処理をプロセッサに実行させる攻撃検知プログラム。 The number of received messages containing identification information is counted for each of multiple time windows of the same length set at different timings.
When the number of time windows to be set is n (n is an integer of 2 or more), the length of each time window is n of the cycle in which the message set corresponding to the identification information is transmitted. It is doubled and the threshold value is n.
The plurality of time windows are set by shifting in order by the same time as the cycle.
When the corresponding count value exceeds a predetermined threshold value is continuously detected for n time windows, the processor determines that the network transmitting the message containing the identification information has been attacked. Attack detection program to be executed.
前記複数の時間ウィンドウに対して、新しい時間ウィンドウほどより小さい閾値が設定され、
対応するカウント値が所定の閾値を超えた状態が、前記複数の時間ウィンドウのうちの所定数の時間ウィンドウについて連続して検出されたときに、前記識別情報を含むメッセージを伝送するネットワークが攻撃を受けたと判定する
処理をプロセッサに実行させる攻撃検知プログラム。 The number of received messages containing identification information is counted for each of multiple time windows of the same length set at different timings.
For the multiple time windows, a smaller threshold is set for the new time window.
When a state in which the corresponding count value exceeds a predetermined threshold is continuously detected for a predetermined number of time windows among the plurality of time windows, the network transmitting the message including the identification information attacks. An attack detection program that causes the processor to execute the process of determining that it has been received .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018007202A JP7006295B2 (en) | 2018-01-19 | 2018-01-19 | Attack detection device and attack detection method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018007202A JP7006295B2 (en) | 2018-01-19 | 2018-01-19 | Attack detection device and attack detection method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019126003A JP2019126003A (en) | 2019-07-25 |
JP7006295B2 true JP7006295B2 (en) | 2022-01-24 |
Family
ID=67398796
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018007202A Active JP7006295B2 (en) | 2018-01-19 | 2018-01-19 | Attack detection device and attack detection method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7006295B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7409866B2 (en) * | 2019-12-25 | 2024-01-09 | 株式会社日立製作所 | Communication monitoring device and communication monitoring method |
JP7462431B2 (en) | 2020-02-28 | 2024-04-05 | 本田技研工業株式会社 | Rogue signal detector |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012023629A (en) | 2010-07-15 | 2012-02-02 | Nippon Telegr & Teleph Corp <Ntt> | High packet rate flow detector and high packet rate flow detection method |
JP2017126978A (en) | 2016-01-08 | 2017-07-20 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | Abnormality detection method, abnormality detection device and abnormality detection system |
-
2018
- 2018-01-19 JP JP2018007202A patent/JP7006295B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012023629A (en) | 2010-07-15 | 2012-02-02 | Nippon Telegr & Teleph Corp <Ntt> | High packet rate flow detector and high packet rate flow detection method |
JP2017126978A (en) | 2016-01-08 | 2017-07-20 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | Abnormality detection method, abnormality detection device and abnormality detection system |
Also Published As
Publication number | Publication date |
---|---|
JP2019126003A (en) | 2019-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10986008B2 (en) | Abnormality detection in an on-board network system | |
US11057400B2 (en) | Device and method for detecting attack in network | |
US10713106B2 (en) | Communication device, communication method and non-transitory storage medium | |
US20210226872A1 (en) | Abnormality detection method, abnormality detection apparatus, and abnormality detection system | |
US20170026386A1 (en) | In-vehicle network system, fraud-detection electronic control unit, and fraud-detection method | |
JP5798251B2 (en) | Method and apparatus for improving data transmission reliability in serial data transmission with flexible message size | |
JP4926648B2 (en) | In-vehicle gateway device | |
JP7172043B2 (en) | Attack detection device and attack detection method | |
US10567401B2 (en) | Device and method for detecting attack in network | |
JP2021509797A (en) | Time information determination method, equipment and devices | |
US12003521B2 (en) | Anomaly detection method and anomaly detection device | |
KR20140056240A (en) | Method and device for serial data transmission having a flexible message size and a variable bit length | |
WO2017154828A1 (en) | Communications system | |
JP7006295B2 (en) | Attack detection device and attack detection method | |
US10567400B2 (en) | Attack detection device, attack detection method, and non-transitory computer-readable recording medium | |
JP2008112224A (en) | Error detection device and error detection method | |
US20150258999A1 (en) | Method and apparatus for isolating a fault-active controller in a controller area network | |
US20210058495A1 (en) | Communication device, communication system, and protocol switchover method | |
KR102204954B1 (en) | Can controller and method for transmission of data using the same | |
JP7223590B2 (en) | Attack detection device and attack detection method | |
KR20140058517A (en) | Method and device for serial data transmission having a flexible message size and a variable bit length | |
JP7268562B2 (en) | METHOD AND INFORMATION PROCESSING APPARATUS FOR ESTIMATING MESSAGE FEATURES | |
US11824687B2 (en) | Information processing apparatus and legitimate communication determination method | |
EP3068079A1 (en) | Device and method for monitoring communication in network including a plurality of nodes | |
JP2022115669A (en) | Electronic control device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201008 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210707 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210713 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210812 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20210812 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20210812 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20211207 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211220 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7006295 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |