JP2019012899A - 攻撃検知装置および攻撃検知方法 - Google Patents

攻撃検知装置および攻撃検知方法 Download PDF

Info

Publication number
JP2019012899A
JP2019012899A JP2017127819A JP2017127819A JP2019012899A JP 2019012899 A JP2019012899 A JP 2019012899A JP 2017127819 A JP2017127819 A JP 2017127819A JP 2017127819 A JP2017127819 A JP 2017127819A JP 2019012899 A JP2019012899 A JP 2019012899A
Authority
JP
Japan
Prior art keywords
value
count value
message
count
attack
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.)
Granted
Application number
JP2017127819A
Other languages
English (en)
Other versions
JP6891671B2 (ja
Inventor
純 矢嶋
Jun Yajima
純 矢嶋
長谷部 高行
Takayuki Hasebe
高行 長谷部
保彦 阿部
Yasuhiko Abe
保彦 阿部
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2017127819A priority Critical patent/JP6891671B2/ja
Priority to US16/001,754 priority patent/US11057400B2/en
Publication of JP2019012899A publication Critical patent/JP2019012899A/ja
Application granted granted Critical
Publication of JP6891671B2 publication Critical patent/JP6891671B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/108Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/121Timestamp

Landscapes

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

Abstract

【課題】ネットワーク上での攻撃を検知する精度を向上させる。【解決手段】攻撃検知装置は、ネットワーク中の通信装置から周期的に送信されるメッセージを受信する受信部と、所定のモニタ期間内に受信部が受信するメッセージの個数をメッセージの送信周期に基づいて予測する予測部と、モニタ期間内に受信部が受信したメッセージの個数をカウントするカウント部と、予測部により得られる予測値とカウント部により得られるカウント値との比較の結果に基づいて、ネットワークに対する攻撃を検出する検出部と、を備える。【選択図】図4

Description

本発明は、攻撃検知装置および攻撃検知方法に係わる。
自動車の車載ネットワークにおいて、CAN(Controller Area Network)と呼ばれるネットワーク技術が使用されることがある。CANを使用するネットワークにおいては、各ノードにECU(electronic control unit)が実装される。
ECUから送信されるメッセージには、識別情報(ID)が付与されている。このメッセージは、ネットワーク内のECUにブロードキャストされる。ここで、各ECUは、自分が取得すべきメッセージのIDを認識している。そして、各ECUは、受信メッセージのIDをチェックすることにより、必要なメッセージを取得する。
上記構成のCANシステムにおいて、悪意ある第3者によりECUが乗っ取られ、そのECUから悪意あるメッセージが出力される攻撃が行われることがある。例えば、CANシステムにおいて使用されるIDが、悪意あるメッセージに付与される。そうすると、そのメッセージを受信したECUは、意図しない処理を実行するおそれがある。
ところで、多くのCANシステムにおいて、ECUは、所定の周期でメッセージを出力する。したがって、メッセージが出力される周期が既知であるケースでは、各ECUは、メッセージの到着予定時刻と実際の到着時刻とを比較することにより、悪意あるメッセージを検出できる。
なお、データフレームの送信周期に係わる所定ルールに適合しないデータフレームを受信すると、データフレーム中の特定識別子を検証して、データフレームが攻撃によるものかを判定する方法が提案されている(例えば、特許文献1)。
国際公開第2015/170451号
上述のCANシステムにおいて、複数のECUから同時にメッセージが出力されることがある。ここで、メッセージは、ブロードキャストされる。したがって、メッセージ間の衝突を回避するために、各メッセージは優先度を有している。この優先度は、各メッセージに付与されるIDにより表される。そして、複数のECUから同時にメッセージが出力されたときは、優先度の高いメッセージの通信が完了した後に、優先度の低いメッセージの送信が実行される。このため、優先度の低いメッセージの送信タイミングは、遅延するおそれがある。
このように、CANシステムにおいては、メッセージの遅延が発生することがある。このため、メッセージの到着予定時刻と実際の到着時刻とを比較しても、悪意のメッセージを検出できないことがある。例えば、正規メッセージの送信タイミングが遅延した場合、そのメッセージが悪意のメッセージと判定されるおそれがある。すなわち、メッセージの送信タイミングが遅延する環境下においては、攻撃を検知する精度が低下するおそれがある。
本発明の1つの側面に係わる目的は、ネットワーク上での攻撃を検知する精度を向上させることである。
本発明の1つの態様の攻撃検知装置は、ネットワーク中の通信装置から周期的に送信されるメッセージを受信する受信部と、所定のモニタ期間内に前記受信部が受信するメッセージの個数を前記メッセージの送信周期に基づいて予測する予測部と、前記モニタ期間内に前記受信部が受信したメッセージの個数をカウントするカウント部と、前記予測部により得られる予測値と前記カウント部により得られるカウント値との比較の結果に基づいて、前記ネットワークに対する攻撃を検出する検出部と、を備える。
上述の態様によれば、ネットワーク上での攻撃を検知する精度が向上する。
攻撃検知装置が実装されるネットワークの一例を示す図である。 メッセージを伝送するフレームのフォーマットの例を示す図である。 攻撃検知方法の一例を示す図である。 本発明の実施形態に係わる攻撃検知装置の一例を示す図である。 攻撃検知装置が実装されるECUのハードウェア構成の一例を示す図である。 第1の実施形態における攻撃検知方法の一例を示す図である。 第1の実施形態における攻撃検知方法の他の例を示す図である。 第1の実施形態の攻撃検知方法の一例を示すフローチャートである。 第2の実施形態の攻撃検知方法の一例を示すフローチャートである。 第3の実施形態の攻撃検知方法の一例を示すフローチャートである。 第3の実施形態における攻撃検知方法の一例を示す図である。 再設定が実行されないケースの一例を示す図である。 第4の実施形態の攻撃検知方法の一例を示すフローチャート(その1)である。 第4の実施形態の攻撃検知方法の一例を示すフローチャート(その2)である。 第5の実施形態の攻撃検知方法の一例を示すフローチャートである。 第6の実施形態の攻撃検知方法の一例を示すフローチャートである。 攻撃検知方法の第2の実施例を示す図である。 攻撃検知方法の第3の実施例を示す図である。
図1は、本発明の実施形態に係わる攻撃検知装置が実装されるネットワークの一例を示す。図1に示すネットワーク100は、複数のECU(ECU0〜ECUk)を備える。複数のECUは、バスを介して互いに接続されている。そして、この実施例では、複数のECUは、CAN(Controller Area Network)システムを構成する。
各ECUは、バスを介してメッセージを送信することができる。このメッセージは、ネットワーク100の全てのECUにブロードキャストされる。このとき、メッセージは、送信元ノードにも到着する。また、各メッセージには、識別情報(ID)が付与されている。ここで、各ECUは、自分が取得すべきメッセージのIDを認識している。そして、各ECUは、受信メッセージのIDをチェックすることにより、必要なメッセージを取得する。なお、各ECUは、「通信装置」の一例である。
上記ネットワーク100において、複数のECUの中の1つに攻撃検知装置が実装される。図1に示す例では、ECU0に攻撃検知装置が実装されるものとする。攻撃検知装置は、ネットワーク100に対する攻撃を検知する。すなわち、攻撃検知装置は、ネットワーク100上で悪意あるメッセージを検出する。
また、ECU1〜ECUkのうちの少なくとも1つのECUは、所定の周期でメッセージを送信する機能を備えている。図1に示す例では、ECU1は、ID_Aを含むメッセージを所定の周期で送信し、ECU2は、ID_Bを含むメッセージを所定の周期で送信し、ECU3は、ID_Cを含むメッセージを所定の周期で送信する。ここで、メッセージの送信周期は、IDごとに予め決められている。例えば、ID=0x123が付与されるメッセージは10m秒間隔で送信され、ID=0x456が付与されるメッセージは20m秒間隔で送信される。
なお、車載ネットワークにおいては、複数のECUは、車両を制御するために使用される。例えば、ID=0x123が付与されるメッセージは、アクセル開度を表すデータを伝送し、ID=0x456が付与されるメッセージは、ブレーキ踏込み角度を表すデータを伝送する。
ネットワーク100において送信される各メッセージは、上述したように、ブロードキャストされる。よって、各ECUには、すべてのメッセージが到着する。なお、図1のタイミングチャートは、ECU1〜ECU3から送信されるメッセージがECU0に到着する状況を示している。
図2は、メッセージを伝送するフレームのフォーマットの例を示す。なお、F1は、一般仕様のフレームのフォーマット例を示し、F2は、拡張仕様で使用されるフレームのフォーマット例を示す。
一般仕様のフレーム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ビットの可変長である。
一般仕様のフレームF1と同様に、拡張仕様で使用されるフレームF2も、SOF、調停フィールド、コントロールフィールド、データフィールド、CRCフィールド、ACKフィールド、EOFを含む。ただし、拡張仕様では、より多くのビット数で識別情報が表される。
以下の記載では、一般仕様のフレームを利用してメッセージが伝送されるものとする。ただし、本発明の実施形態に係わる攻撃検知方法は、拡張仕様のフレームを利用してメッセージが伝送されるケースにも適用される。またCAN−FDと呼ばれる規格にも対応可能である。
図3は、攻撃検知方法の一例を示す。この例では、検知対象のIDを有するメッセージは、100m秒間隔で送信されるものとする。そして、攻撃検知装置は、基準メッセージMXを受信すると、モニタ領域を設定する。各モニタ領域の許容範囲は、±40m秒である。すなわち、基準メッセージMXの受信時刻に対して、モニタ領域Z1は100±40m秒に設定され、モニタ領域Z2は200±40m秒に設定され、モニタ領域Z3は300±40m秒に設定される。
図3(a)に示す例では、基準メッセージMXに続くメッセージM1、M2、M3は、それぞれ対応するモニタ領域Z1、Z2、Z3において検出される。この場合、攻撃検知装置は、メッセージM1〜M3がそれぞれ正規メッセージであると判定する。なお、メッセージM1〜M3には、それぞれ検知対象のIDが付与されている。
図3(b)に示す例では、メッセージM2の送信タイミングが遅延し、メッセージM2がモニタ領域Z2の外で検出される。この場合、攻撃検知装置は、メッセージM2を悪意あるメッセージ(攻撃メッセージ)と判定する。すなわち、メッセージの送信タイミングが遅延すると、攻撃検知装置は、正規メッセージを受信したにもかかわらず、ネットワークへの攻撃が発生したと判定するおそれがある。
本発明の実施形態に係わる攻撃検知装置は、上述の問題を解決または抑制する機能を備える。すなわち、本発明の実施形態に係わる攻撃検知装置は、周期的に送信されるべきメッセージの送信タイミングの遅延に起因する影響を抑制して、攻撃を検知する精度を向上させる機能を備える。尚、実施形態に係わる攻撃検知は、1周期以内の遅延だけでなく、1周期を超える遅延であっても対応可能である。
図4は、本発明の実施形態に係わる攻撃検知装置の一例を示す。攻撃検知装置1は、図4に示すように、受信部2、予測部3、カウント部4、検出部5、再設定制御部6を備える。受信部2は、ネットワーク100に実装されるECUから周期的に送信されるメッセージを受信する。なお、攻撃検知装置1は、各メッセージに付与されているID毎に受信時刻を検出できる。メッセージの受信時刻は、例えば、攻撃検知装置1に実装される不図示のタイマを利用して検出される。或いは、攻撃検知装置1は、メッセージに付加されているタイムスタンプ情報から受信時刻を検出してもよい。
予測部3は、検出対象IDに対してモニタ期間を設定する。そして、予測部3は、検出対象IDの送信周期に基づいて、そのモニタ期間内に受信部2が受信すると見込まれるメッセージの個数を予測する。カウント部4は、モニタ期間内に受信部2が実際に受信したメッセージの個数をカウントする。そして、検出部5は、予測部3により得られる予測値とカウント部4により得られるカウント値とを比較し、その比較結果に基づいてネットワーク100に対する攻撃を検出する。一例としては、検出部5は、予測部3により得られる予測値よりもカウント部4により得られるカウント値が大きいときに、ネットワーク100が攻撃されたと判定する。再設定制御部6は、所定の条件が満たされたときに、予測部3により得られる予測値およびカウント部4により得られるカウント値を再設定する。このとき、再設定制御部6は、次のモニタ期間を設定する。
図5は、攻撃検知装置1が実装されるECUのハードウェア構成の一例を示す。ECU10は、この例では、CANトランシーバ11、CANコントローラ12、処理回路13を含む。処理回路13は、プロセッサ14およびメモリ15を含む。
CANトランシーバ11は、図2に示すフレームを送信および受信する機能を備える。CANコントローラ12は、受信フレームからデータを抽出し、受信時刻を測定する。。なお、CANコントローラ12は、受信フレームに対してCRCチェックを実行してもよい。また、CANコントローラ12は、送信フレームにデータを格納する。プロセッサ14は、メモリ15に格納されているプログラムを実行することにより、攻撃検知を実現する。この場合、メモリ15には、図4に示す予測部3、カウント部4、検出部5、および再設定制御部6の機能を記述したプログラムが格納される。そして、プロセッサ14は、このプログラムを実行することにより予測部3、カウント部4、検出部5、および再設定制御部6の機能を提供する。なお、受信部2は、例えば、CANトランシーバ11により実現される。
<第1の実施形態>
第1の実施形態の攻撃検知装置は、図1に示すECU0に実装され、ネットワーク100を攻撃する悪意あるメッセージ(攻撃メッセージ)を検出する。なお、この例では、検知対象IDが付与されたメッセージは、所定の周期で送信されるように設計されているものとする。また、ネットワーク100において以下の通信が行われるものとする。
(1)メッセージは、予定送信時刻に対して遅延して送信されることはあるが、欠落することはない。なお、遅延は、1周期を超えるケースもある。
(2)遅延が発生したときは、対応するメッセージが後で送信されるので、合計メッセージ数は回復する。
(3)予定送信時刻よりも前にメッセージが送信されることはない(ただし、予定送信時刻よりも僅かに早くメッセージが送信されることはある)。
図6は、第1の実施形態における攻撃検知方法の一例を示す。なお、以下の記載において、「メッセージ」は、特に断らない限りは、検知対象IDが付与されたメッセージを表すものとする。また、△印は、受信部2により正規メッセージが受信されたタイミングを表す。
図6において、カウント値nは、受信部2により実際に受信されたメッセージの個数を表し、カウント部4によりカウントされる。予測値xは、モニタ期間内に受信部2が受信すると見込まれるメッセージの個数を表し、予測部3により算出される。
予測部3は、メッセージの送信周期TCに基づいてモニタ期間を設定する。モニタ期間は、基準メッセージの受信時刻に対して設定される。例えば、時刻TSにおいて攻撃検知装置1に基準メッセージが到着するものとする。この場合、モニタ期間は、時刻TSに対して設定される。また、モニタ期間は、1または複数のカウント領域を含む。例えば、モニタ期間TS〜t(1)は、カウント領域C1から構成される。モニタ期間TS〜t(2)は、カウント領域C1、C2から構成される。モニタ期間TS〜t(5)は、カウント領域C1〜C5から構成される。各カウント領域の長さは、送信周期TCと同じである。ただし、最初のカウント領域の長さは、送信周期TCに「1+p」を乗算することで得られる。タイミングパラメータpは、ゼロよりも大きく、1よりも小さい実数である。ここで、タイミングパラメータpは、例えば、メッセージが遅延なく送信周期TCで送信されたときに、各カウント領域の中心で受信部2が対応するメッセージを受信するように決定される。この場合、タイミングパラメータpの値は0.5である。
モニタ期間は、基準メッセージの受信時刻に対して設定される。例えば、時刻TSにおいて攻撃検知装置1に基準メッセージが到着するものとする。この場合、モニタ期間の終了時刻t(i)は、下式で表される。
t(i)=TS+(i+p)TC
iは、自然数である。例えば、最初のモニタ期間の終了時刻t(1)は、TS+1.5TCで表され、2番目のモニタ期間の終了時刻t(2)は、TS+2.5TCで表される。
さらに、予測部3は、モニタ期間内に受信部2が受信すると見込まれるメッセージの個数を予測する。すなわち、モニタ期間に対して予測値xが生成される。この例では、最初のモニタ期間(時刻TS〜t(1))に対して予測値xとして「1」が算出され、2番目のモニタ期間(時刻TS〜t(2))に対して予測値xとして「2」が算出される。同様に、i番目のモニタ期間(時刻TS〜t(i))に対して予測値xとして「i」が算出される。
検出部5は、各モニタ期間の終了時刻において、ネットワーク100に攻撃メッセージが入力された否かを判定する。なお、攻撃メッセージには、正規メッセージと同様に、検知対象IDが付与されているものとする。
検出部5は、最初のモニタ期間の終了時刻t(1)において、予測値xとカウント値nとを比較する。図6に示す例では、受信部2は、最初のモニタ期間内に1個のメッセージを受信している。また、最初のモニタ期間に対応する予測値xは、1である。すなわち、カウント値nは、予測値xを超えていない。この場合、検出部5は、ネットワーク100は攻撃を受けていないと判定する。なお、図6に示す「OK」は、攻撃が検知されなかった状態を表す。
続いて、検出部5は、2番目のモニタ期間の終了時刻t(2)において、予測値xとカウント値nとを比較する。図6に示す例では、時刻t(1)と時刻t(2)との間に、受信部2が1個のメッセージを受信し、カウント値nは、1から2にインクリメントされる。また、2番目のモニタ期間に対応する予測値xは、2である。すなわち、カウント値nは、予測値xを超えていない。この場合、検出部5は、ネットワーク100は攻撃を受けていないと判定する。
同様に、検出部5は、各モニタ期間の終了時刻において、ネットワーク100に攻撃メッセージが入力された否かを判定する。ただし、検出部5は、誤差の蓄積を解消するために、定期的に、予測値xおよびカウント値nを再設定する。例えば、受信時刻の精度がマイクロ秒であったとき、10m秒などと周期を設定すると、マイクロ秒以下の単位の誤差が生じ得る(10000.5マイクロ秒、9999.8マイクロ秒など)。この小数点以下の誤差は受信を繰り返すと蓄積され、いずれ攻撃検知に影響を与えるほどの大きな誤差になるおそれがある。よって、攻撃検知装置1は、これを防ぐために、定期的に再設定を行う機能を備える。
具体的には、カウント値nが所定の閾値r以上になったときに、予測値xおよびカウント値nが再設定される。閾値rは、図6に示す例では、5である。そして、カウント値nが閾値r以上になると、カウンタ値nは、ゼロに初期化される。予測値xは、「x」から「x−n」に更新される。図6に示す例では、予測値xは、「5」から「ゼロ」に更新されている。但し、予測値xは、ケースによっては、ゼロ以外の値に更新されることがある。
このように、攻撃検知装置1は、モニタ期間ごとに、受信部2が受信したメッセージの個数を表すカウント値nとその予測値xとを比較する。そして、カウント値nが予測値x以下であるときは、攻撃検知装置1は、ネットワーク100は攻撃を受けていないと判定する。
図7は、第1の実施形態における攻撃検知方法の他の例を示す。図7に示す例では、カウント領域C6において、受信部2が攻撃メッセージを受信している。なお、攻撃メッセージは、図7において、▲印で表されている。
このケースでは、カウント領域C5の終了時点でカウント値nおよび予測値xがそれぞれゼロに初期化されている。その後、受信部2は、カウント領域C6において正常メッセージおよび攻撃メッセージを受信する。この場合、カウント領域C6の終了時点で、予測値xは1である。これに対して、カウント値nは2である。すなわち、カウント値nは、予測値xを超えている。そうすると、検出部5は、ネットワーク100が攻撃を受けたと判定する。なお、図7に示す「NG」は、攻撃が検知された状態を表す。このように、攻撃検知装置1は、受信部2が受信したメッセージの個数を表すカウント値nとその予測値xとを比較することにより、ネットワーク100への攻撃を検知できる。
なお、上述の例では、各カウント領域の終了時点で攻撃の有無の判断が行われるが、本実施形態はこの方法に限定されるものではない。すなわち、攻撃検知装置1は、メッセージの受信時に、その時点でのカウンタが予測値を超えているかどうかを逐次的に判断してもよい。
図8は、第1の実施形態の攻撃検知方法の一例を示すフローチャートである。このフローチャートの処理は、例えば、検知対象IDが指定されたときに攻撃検知装置1により実行される。
S1において、攻撃検知装置1は、制御パラメータを取得する。制御パラメータは、検知対象IDの送信周期TC、再設定を実行する周期を表す閾値r、タイミングパラメータpを含む。なお、制御パラメータは、例えば、図5に示すメモリ15に予め格納されている。或いは、制御パラメータは、ユーザまたはネットワーク管理者から与えられる。
S2において、受信部2は、基準メッセージを受信する。なお、基準メッセージは、例えば、図8に示すフローチャートの処理が開始された後に最初に受信したメッセージであってもよい。このとき、受信部2は、基準メッセージの受信時刻RT(0)を記録する。
S3において、カウント部4は、カウント値nをゼロに初期化する。予測部3は、最初のモニタ期間の終了時刻t(i)を算出する。この実施例では、最初のモニタ期間の終了時刻t(i)は、基準メッセージの受信時刻RT(0)に(1+p)×TCを加算することにより算出される。TCは、検知対象IDの送信周期を表し、pは、予め決められたタイミングパラメータ(例えば、0.5)を表す。さらに、予測部3は、予測値xに1を設定する。
S4において、受信部2は、メッセージを受信する。このとき、受信部2は、このメッセージの受信時刻RT(i)を検出する。また、カウント部4は、カウント値nを1だけインクリメントする。
S5〜S6において、攻撃検知装置1は、メッセージの受信時刻RT(i)がモニタ期間の終了時刻t(i)よりも前であるか判定する。そして、メッセージの受信時刻RT(i)がモニタ期間の終了時刻t(i)よりも前でないときは、攻撃検知装置1は、予測値xを1だけインクリメントすると共に、終了時刻t(i)に送信周期TCを加算する。なお、S5〜S6の処理は、モニタ期間の終了時刻t(i)がメッセージの受信時刻RT(i)より後ろになるまで繰返し実行される。そして、モニタ期間の終了時刻t(i)がメッセージの受信時刻RT(i)よりも後ろになると、攻撃検知装置1の処理はS7に進む。
S7〜S9において、検出部5は、カウント値nと予測値xとを比較する。そして、カウント値nが予測値x以下であれば、検出部5は、ネットワーク100は攻撃されていないと判定する。一方、カウント値nが予測値xより大きいときは、検出部5は、ネットワーク100が攻撃されていると判定する。この場合、カウント部4は、カウント値nを1だけデクリメントする。図7に示す例では、カウント領域C6において攻撃が検出されると、カウント値nは「2」から「1」に更新される。このように、カウント値nは、攻撃メッセージであると判断した場合にはカウントしない。すなわち、カウント値nは、正規メッセージの個数をカウントする。
なお、ネットワーク100が攻撃されていると判定されたときは、攻撃検知装置1は、アラーム信号を出力する。アラーム信号は、ネットワーク100が攻撃されていることをユーザに通知する。このとき、攻撃検知装置1は、ネットワーク100と外部ネットワークとを切断してもよい。また、ネットワーク100が車載ネットワークである場合、攻撃検知装置1は、車両を停止するための制御信号を出力してもよい。
S10において、再設定制御部6は、カウント値nと再設定を実行する周期を表す閾値rとを比較する。そして、カウント値nが閾値rよりも小さければ、攻撃検知装置1の処理はS4に戻る。一方、カウント値nが閾値r以上であれば、再設定制御部6は、S11において再設定処理を実行する。再設定処理では、予測値xは、「x」から「x−n」に更新される。カウント値nは、ゼロに初期化される。次のモニタ期間の終了時刻t(i)として、RT(i)+p×TCが設定される。RT(i)は、受信部2が直前に受信したメッセージの受信時刻を表す。TCは、検知対象IDの送信周期を表し、pは、タイミングパラメータを表す。この後、攻撃検知装置1の処理はS4に戻る。
上述の攻撃検知方法において、正規メッセージに加えて、ネットワーク100に攻撃メッセージが入力されると、受信メッセージの個数を表すカウント値nが予測値xを超えると想定される。この場合、S7の判定結果が「Yes」となるので、ネットワーク100への攻撃が検出される。
例えば、図7に示す例では、カウント領域C6において、受信部2は、正規メッセージおよび攻撃メッセージを受信している。ここで、カウント領域C6の終了時刻t(6)において、カウント値nは2であり、予測値xは1である。すなわち、カウント値nは、予測値xよりも大きい。この場合、検出部5は、図8のS7〜S9において、ネットワーク100が攻撃を受けたと判定する。このとき、カウント部4は、S9において、カウント値nを1だけデクリメントする。図7に示す例では、受信部2が攻撃メッセージを受信したときに、S4によりカウント値nは1から2にカウントアップされるが、その後、S9によりカウント値nは2から1にデクリメントされる。よって、受信部2が次のメッセージを受信したときには、図7に示すように、カウント値nは2である。このように、カウント値nは、攻撃メッセージの受信によってはカウントアップされない。すなわち、カウント値nは、実質的には、正規メッセージの個数をカウントする。
なお、予測値xは、S6に示すように、メッセージの受信時刻RT(i)が、カウント領域の終了時刻t(i)を超えていたときに、メッセージの受信時のS6の処理にてインクリメントされる。または、各モニタ期間の終了時刻t(i)においてインクリメントされてもよい。ここで、各モニタ期間の終了時刻t(i)は、上述したように、タイミングパラメータpに依存する。したがって、予測値xをインクリメントするタイミングは、タイミングパラメータpに依存する。すなわち、タイミングパラメータpは、予測値xをインクリメントするタイミングを指定する。具体的には、周期的に送信されるメッセージの理想的な受信時刻が、各カウント領域のほぼ中心に位置するように、タイミングパラメータpが決定される。したがって、一般的にはタイミングパラメータpは、0.5であることが好ましいが、ネットワークの状態に応じて中心よりも前半側または後半側に設定しても良い。
なお、S5においてメッセージの受信時刻RT(i)がモニタ期間の終了時刻t(i)と同じまたは前であるときに、S6が実行されるようにしてもよい。また、攻撃検知装置1は、複数の検知対象IDについてそれぞれ攻撃検知を実行することができる。この場合、攻撃検知装置1は、図8に示すフローチャートの処理を並列に実行してもよい。
<第2の実施形態>
第1の実施形態の攻撃検知方法においては、図8に示すS11の再設定処理が実行されるタイミングで攻撃メッセージが入力されると、再設定後に検知精度が低下するおそれがある。第2の実施形態では、この課題に対処するために、再設定を実行するための条件が追加されている。
図9は、第2の実施形態の攻撃検知方法の一例を示すフローチャートである。攻撃検知方法の手順は、第1の実施形態および第2の実施形態においてほぼ同じである。ただし、第2の実施形態では、S1において、攻撃検知装置1は、送信周期TC、閾値r、タイミングパラメータpに加えて、後述する目標受信時刻に対する許容範囲を表す情報も取得する。また、第2の実施形態の攻撃検知方法では、図8に示すS1〜S11に加えてS21が実行される。S21の処理は、カウント値nが閾値r以上であるときに実行される。
S21において、再設定制御部6は、S4で受信したメッセージの受信時刻RT(i)が目標受信時刻に対する許容範囲内であるか判定する。目標受信時刻は、メッセージの理想的な受信時刻を表す。理想的な受信時刻は、各カウント領域の中心である。例えば、図6に示す例において、カウント領域C5の開始時刻t(4)および終了時刻t(5)は、下式で計算される。なお、送信周期TCは100m秒であり、タイミングパラメータpは0.5であるものとする。
t(4)=52+4.5×100=502
t(5)=52+5.5×100=602
この場合、カウント領域C5に対する目標受信時刻は、552m秒である。或いは、カウント領域C5に対する目標受信時刻は、カウント領域C5の終了時刻から「p×TC」を減算することで算出してもよい。
許容範囲は、特に限定されるものではないが、例えば、送信周期TCの±20パーセントである。そして、S4で受信したメッセージの受信時刻RT(i)が目標受信時刻に対する許容範囲内であれば、再設定制御部6は、S11の再設定処理を実行する。一方、受信時刻RT(i)が許容範囲内でなければ、S11の再設定処理はスキップされる。
このように、第2の実施形態では、カウント値nが閾値r以上であり、且つ、メッセージの受信時刻が目標受信時刻に近いときに、再設定が実行される。ここで、メッセージの受信時刻が目標受信時刻に近いときは、そのメッセージは正規メッセージである可能性が高いと考えられる。したがって、第2の実施形態によれは、攻撃メッセージに起因する再設定が回避または削減される。この結果、攻撃検知装置1の検知精度が向上する。
<第3の実施形態>
図10は、第3の実施形態の攻撃検知方法の一例を示すフローチャートである。第2の実施形態では、受信メッセージの到着時刻が目標受信時刻に対する許容範囲内であるか否かに基づいて再設定処理が制御される。これに対して、第3の実施形態では、直前に受信した2個のメッセージの受信時刻の差分に基づいて再設定処理が制御される。なお、第2の実施形態と同様に、第3の実施形態のS1においても、攻撃検知装置1は、送信周期TC、閾値r、タイミングパラメータpに加えて、許容範囲を表す情報も取得する。また、第3の実施形態の攻撃検知方法では、図8に示すS1〜S11に加えてS31〜S33が実行される。
第3の実施形態では、S2において受信部2が基準メッセージを受信したときに、S31が実行される。S31においては、基準メッセージの受信時刻RT(0)が基準時刻TRとして記録される。例えば、図6に示す例では、受信部2は、時刻52m秒に基準メッセージを受信している。この場合、基準時刻TRとして「52m秒」が記録される。
S32の処理は、受信メッセージに対する処理(S5〜S11、S33)が終了したときに実行される。S32においては、再設定制御部6は、直前に受信したメッセージの受信時刻RT(i)を基準時刻TRとして記録する。このとき、先に記録されている基準時刻TRは、新たに受信したメッセージの受信時刻に更新される。なお、S32の処理は、攻撃メッセージが検出されたか否かにかかわらず実行される。
S33の処理は、カウント値nが閾値r以上であるときに実行される。S33においては、再設定制御部6は、受信部2により直前に受信された2個のメッセージの受信時刻の差分が所定の許容範囲内であるか判定する。この差分は、受信時刻RT(i)から基準時刻TRを引算することで算出される。なお、許容範囲は、例えば、検知対象IDの送信周期TCに対して±20パーセントである。この場合、許容範囲は、0.8TC〜1.2TCである。
図6に示す例では、受信部2が時刻450m秒にメッセージを受信する。そうすると、S32において、基準時刻TRとして「450」が記録される。続いて、受信部2は、時刻548m秒において新たなメッセージを受信する。このとき、カウント値n(n=5)が閾値r(r=5)に達しているので、S33が実行される。ここで、検知対象IDの送信周期TCは100m秒であり、許容範囲は80〜120m秒であるものとする。この場合、上記2個のメッセージの受信間隔の差分は、98m秒であり、許容範囲内である。したがって、S11の再設定処理が実行される。すなわち、カウント値nおよび予測値xが再設定される。
図11に示す例では、時刻540m秒に受信されたメッセージ(ここでは、攻撃メッセージ)に対して、S32により基準時刻TRとして「540」が記録される。続いて、受信部2が時刻548m秒においてメッセージを受信すると、カウント値n(n=6)が閾値r(r=5)以上なので、S33が実行される。ただし、上記2個のメッセージの受信間隔の差分は、8m秒であり、許容範囲から外れている。この場合、S11の再設定処理は実行されない。すなわち、カウント値nおよび予測値xは、再設定されない。この後、S32において、基準時刻TRが「540」から「548」に更新される。
続いて、受信部2が時刻652m秒においてメッセージを受信すると、カウント値nが閾値rに達しているので、S33が実行される。このとき、上記2個のメッセージの受信間隔の差分は、104m秒であり、許容範囲内である。この場合、S11の再設定処理が実行される。すなわち、カウント値nおよび予測値xが再設定される。
このように、第3の実施形態では、受信部2が直前に受信した2個のメッセージの受信時刻の差分が、送信周期TCとほぼ同じであるか判定される。そして、この差分が、送信周期TCから大きくずれているときは、攻撃メッセージを受信したものと判定し、再設定処理を実行しない。この結果、攻撃検知アルゴリズムの動作が不安定になる状態が回避される。
<第4の実施形態>
上述したように、攻撃検知装置1は、検知対象IDの送信周期TCに基づいてモニタ期間を設定し、モニタ期間内に受信したメッセージの個数とその予測値とを比較することで攻撃メッセージを検知する。このとき、攻撃検知装置1は、1つのカウント領域において1個の正常メッセージを受信することを想定して攻撃検知を行う。
ところが、各デバイスは、誤差を有する。たとえば、送信周期TCが100m秒であるときに、送信元ECUが99.99m秒間隔でメッセージを送信するかも知れない。そして、この誤差が蓄積すると、攻撃検知装置1は、攻撃メッセージを精度よく検知できないことがある。或いは、攻撃検知装置1は、正規メッセージを攻撃メッセージと判定するおそれがある。
この問題は、カウント値nおよび予測値xを定期的に再設定することで回避される。換言すれば、何らかの理由でカウント値nおよび予測値xを適切に再設定できない状況が継続すると、攻撃検知精度が低下し得る。
図12は、再設定が実行されないケースの一例を示す。この例では、メッセージのM1の次に攻撃メッセージが到着する。この後、送信遅延が発生し、メッセージM2〜M4が短い期間内に集中して到着する。この結果、カウント領域C5の終了時刻において、予測値xは5であり、カウント値nは6である。よって、攻撃メッセージが検知される。ここで、カウント値nが閾値rを超えているので、図10に示すS33の処理が実行される。ただし、メッセージM5の受信時刻とメッセージM6の受信時刻との差分(すなわち、RT(i)−TR)は、送信周期TCに対して大幅に小さい。したがって、S11の再設定は実行されない。
つづいて、カウント領域C6において、メッセージM6および1個の攻撃メッセージが到着するものとする。この場合、カウント値nは、6から7にインクリメントされる。なお、実際には、2個のメッセージを受信することによりカウント値nは7から8にインクリメントされるが、攻撃メッセージが検出されると、カウント値が1だけデクリメントされる。すなわち、カウント値nは、実質的には、正規メッセージの個数をカウントする。よって、図12では、攻撃メッセージが検出されるときには、カウント値nは、正規メッセージのみをカウントするものとする。他方、カウント領域C6の終了時刻において、予測値xは、5から6に1だけインクリメントされる。
このように、カウントC6の終了時刻において、カウント値nは予測値xより大きい。よって、攻撃メッセージが検知される。また、カウント値nが閾値rを超えているので、S33の処理が実行される。ただし、この例では、メッセージM6の受信時刻とその直前のメッセージの受信時刻との差分も、送信周期TCに対して大幅に小さい。したがって、S11の再設定は実行されない。この結果、カウント領域C6の終了時刻において、カウント値nと予測値xとの差分は1である。
以降、図12に示すようにメッセージが到着すると、カウント領域C7〜C10においてカウント値nおよび予測値xは再設定されない。そして、カウント値nおよび予測値xが再設定されないと、上述したように、誤差の蓄積に起因して検知精度が低下するおそれがある。
このように、カウント値nおよび予測値xが再設定されない期間は、カウント値nと予測値xの差分がゼロでないことがある。そこで、第4の実施形態の攻撃検知装置は、カウント値nと予測値xの差分をモニタし、その差分に応じて再設定を制御する。
図13〜図14は、第4の実施形態の攻撃検知方法の一例を示すフローチャートである。第4の実施形態のS41〜S47は、第1〜第3の実施形態のS1〜S6、S31とほぼ同じである。ただし、S44では、フラグfが1に設定される。フラグfは、カウント値nと予測値xとが一致するか否かを表す。この例では、f=1は、カウント値nと予測値xとが互いに異なる状態を表し、f=0は、カウント値nと予測値xとが互いに一致する状態を表す。
S51〜S53は、第1〜第3の実施形態のS7〜S9と同じである。すなわち、検出部5は、カウント値nと予測値xとを比較する。そして、カウント値nが予測値x以下であれば、検出部5は、ネットワーク100は攻撃されていないと判定する。一方、カウント値nが予測値xよりも大きいときは、検出部5は、ネットワーク100が攻撃されていると判定する。この場合、カウント部4は、カウント値nを1だけデクリメントする。
攻撃がないと判定されたときは、再設定制御部6は、S54において、カウント値nと予測値xとを比較する。そして、カウント値nと予測値xとが互いに一致していれば、再設定制御部6は、S55において、フラグfをゼロに設定する。一方、カウント値nと予測値xとが互いに異なっていれば、S55はスキップされる。
S56において、再設定制御部6は、カウント値nと再設定を実行する周期を表す閾値rとを比較する。そして、カウント値nが閾値rよりも小さければ、攻撃検知装置1の処理はS61に進む。一方、カウント値nが閾値r以上であれば、再設定制御部6は、S57において、受信部2により直前に受信された2個のメッセージの受信時刻の差分が所定の許容範囲内であるか判定する。この差分は、受信時刻RT(i)から基準時刻TRを引算することで算出される。なお、許容範囲は、この例では、検知対象IDの送信周期TCに対して±20パーセントである。すなわち、許容範囲は、0.8TC〜1.2TCである。
2個のメッセージの受信時刻の差分が許容範囲から外れていれば、攻撃検知装置1の処理はS61に進む。一方、2個のメッセージの受信時刻の差分が許容範囲内であれば、再設定制御部6は、S58において、フラグfの値をチェックする。
フラグfがゼロであるときは、再設定制御部6は、所定の期間に渡って、カウント値nと予測値xとが最低1箇所は互いに一致していたと判定する。この場合、攻撃検知装置1は、S59の再設定処理を実行する。なお、S59の再設定処理は、第1〜第3の実施形態のS11と同じである。尚、この例では、所定の期間は、受信部2がr個のメッセージを受信する期間に相当する。一方、フラグfが1であるときは、再設定制御部6は、上述した所定の期間内に、カウント値nと予測値xとが互いに異なる期間が継続していたと判定する。この場合、攻撃検知装置1は、S60の再設定処理を実行する。S60においては、カウント値nおよび予測値xは、いずれもゼロに初期化される。
この後、S61の処理が実行される。S61において、再設定制御部6は、直前に受信したメッセージの受信時刻RT(i)を基準時刻TRとして記録する。
このように、第4の実施形態の基本動作は、以下の通りである。
(1)受信部2がメッセージを受信すると、カウント部4は、カウント値nを1だけインクリメントする。
(2)予測値xは、送信周期TC毎に1ずつインクリメントされる。ただし、最初のカウント領域の長さは、1.5TCである。
(3)カウント値nが予測値xを超えたときは、検出部5は、ネットワーク100が攻撃されたと判定する。
そして、再設定制御部6は、下記の3つの条件が満たされたときに再設定(リフレッシュ)を実行する。
(1)前回の再設定から現在までの間に、受信部2がr個以上のメッセージを受信した
(2)受信部2が直前に受信した2個のメッセージの受信時刻の差分が送信周期TCとほぼ同じである(許容範囲内)
(3)前回の再設定から現在までの間の少なくとも1つのカウント領域においてカウント値nおよび予測値xが互いに一致している
再設定処理においては、予測値xが「x」から「x−n」に更新され、カウント値がゼロに初期化される。また、最新のメッセージの受信時刻に対して送信周期TCの2分の1の期間が経過した時刻が、予測値xを次にインクリメントするタイミングに設定される。ただし、前回の再設定から現在までの間のすべてのカウント領域においてカウント値nが予測値xに一致しないときは、予測値xはゼロに初期化される。この場合、カウント値nおよび予測値xの双方がゼロに初期化されるので、誤差の蓄積に起因する検知精度の低下は回避または抑制される。
なお、図13〜図14に示す実施例において、攻撃検知装置1は、S51の前にS54の処理を実行してもよい。また、図13〜図14に示す例では、受信部2がr個のメッセージを受信する期間に渡って、カウント値nと予測値xとが互いに一致しているかモニタされるが、この期間は、rより長くてもよいし、rより短くてもよい。さらに、攻撃検知装置1は、S57の処理をスキップしてもよい。
<第5の実施形態>
図13〜図14に示す実施例では、カウント値nと予測値xとが互いに異なっている状態がモニタされ、そのモニタ結果に応じて再設定処理が制御される。ここで、カウント値nと予測値xとが互いに異なっているときは、多くのケースにおいて、カウント値nと予測値xとの差分が一定であると考えられる。そこで、第5の実施形態では、攻撃検知装置1は、カウント値nと予測値xとの差分がゼロ以外の値で一定である状態をモニタし、そのモニタ結果に応じて再設定処理を制御する。
図15は、第5の実施形態の攻撃検知方法の一例を示すフローチャートである。尚、S51の前の処理は、第4の実施形態および第5の実施形態において実質的に同じなので、説明を省略する。ただし、第5の実施形態では、変数dcおよび変数cが設定される。変数dcは、カウント値nと予測値xとの差分を表す。また、変数cは、変数dcが一定である区間(即ち、カウント領域)をカウントする。また、第5の実施形態の攻撃検知方法は、第4の実施形態の手順に加えて、S71〜S76の処理を実行する。
S71において、再設定制御部6は、カウント値nが1であるか否かを判定する。カウント値nが1であるときは、再設定制御部6は、S72において、カウント値nと予測値xとの差分を変数dcに与える。また、再設定制御部6は、変数cを1だけインクリメントする。
カウント値nが1でないときは、再設定制御部6は、S73において、変数dcがカウント値nと予測値xとの差分と一致しているか判定する。すなわち、カウント値nと予測値xとの差分が変化したか否かが判定される。そして、この差分が変化していなければ、再設定制御部6は、S74において、変数cを1だけインクリメントする。上記差分が変化していれば、再設定制御部6は、S75において、変数cを1に初期化する。また、再設定制御部6は、カウント値nと予測値xとの差分を変数dcに与える。
上述のS71〜S75の処理は、受信部2がメッセージを受信する毎に実行される。そして、カウント値nと予測値xとの差分が一定であれば、変数cがカウントアップされてゆく。
S76の処理は、カウント値nが閾値r以上であるときに実行される。そして、S76において、再設定制御部6は、変数cと所定の閾値kとを比較する。この結果、変数cが閾値kよりも小さいときは、攻撃検知装置1の処理はS45に戻る。一方、変数cが閾値k以上であれば、再設定制御部6は、S59またはS60の再設定処理を実行する。すなわち、カウント値nが閾値r以上であり、且つ、カウント値nと予測値xとの差分が一定である状態が直近のk周期以上継続すると、再設定が実行される。なお、第5の実施形態では、S59またはS60の再設定処理において、変数cがゼロに初期化される。
図15に示す例では、カウント値nと予測値xとの差分が一定であるか否かがモニタされるが、第5の実施形態はこの方法に限定されるものではない。例えば、カウント値nと予測値xとの差分が所定の範囲内に維持されているか否かがモニタされるようにしてもよい。
<第6の実施形態>
第4〜第5の実施形態では、カウント値nと予測値xとの差分に基づいて再設定処理が制御される。これに対して、第6の実施形態では、受信部2が直前に受信した2個のメッセージの受信時刻の差分を考慮して再設定処理が制御される。
図16は、第6の実施形態の攻撃検知方法の一例を示すフローチャートである。尚、S51の前の処理は、第4の実施形態および第6の実施形態において実質的に同じなので、説明を省略する。ただし、第6の実施形態では、変数cが設定される。変数cは、直前に受信した2個のメッセージの受信時刻の差分が一定の範囲に収まっている区間(即ち、カウント領域)をカウントする。また、第6の実施形態の攻撃検知方法は、第4の実施形態の手順に加えて、S81〜S84の処理を実行する。
S81において、再設定制御部6は、受信部2が直前に受信した2個のメッセージの受信時刻の差分(RT(i)−TR)が送信周期TCに対して許容範囲内であるか判定する。そして、この差分が許容範囲内であるときは、再設定制御部6は、S82において、変数cを1だけインクリメントする。一方、この差分が送信周期TCから大きくずれているときは、再設定制御部6は、S83において、変数cをゼロに初期化する。ここで、この差分が許容範囲内であるときは、攻撃検知装置1に攻撃メッセージが到着していないと考えられる。したがって、変数cは、連続して正規メッセージが到着する区間の長さを表す。
S84の処理は、カウント値nが閾値r以上であるときに実行される。そして、S84において、再設定制御部6は、変数cと所定の閾値kとを比較する。この結果、変数cが閾値kよりも小さいときは、攻撃検知装置1の処理はS45に戻る。一方、変数cが閾値k以上であれば、再設定制御部6は、S59またはS60の再設定処理を実行する。すなわち、カウント値nが閾値r以上であり、且つ、k区間以上連続して正規メッセージが到着したときに、再設定が実行される。なお、第6の実施形態では、S59またはS60の再設定処理において、変数cがゼロに初期化される。
次に、攻撃検知方法の実施例を説明する。以下では、攻撃検知装置1は、第2の実施形態に基づいて検知処理を実行する。検知対象IDの送信周期TCは100m秒である。再設定を実行する周期を表す閾値rは5である。タイミングパラメータpは0.5である。図9のS21で使用される許容範囲は、送信周期TCの±20パーセントである。検知対象IDが付与されていないメッセージは、無視するものとする。
<第1の実施例>
第1の実施例では、図7に示すように攻撃検知装置1にメッセージが到着するものとする。
(1)受信部2は、時刻52m秒において、最初のメッセージ(基準メッセージ)を受信する。この受信時刻は、RT(0)として記録される。カウント値nはゼロに初期化される。予測値xは1に設定される。そして、最初のモニタ期間の終了時刻t(1)が下式により算出される。なお、t(1)は、カウント領域C1の終了時刻に相当する。
t(1)=RT(0)+(1+p)TC=52+1.5×100=202
(2)受信部2は、時刻148m秒(=RT(1))に次のメッセージを受信する。カウント値nはゼロから1に更新される。ここで、受信時刻RT(1)は、カウント領域C1の終了時刻t(1)よりも前なので、S6が実行されることなく、S7〜S9の判定が行われる。このとき、カウント値nは1であり、予測値xも1である。すなわち、「n>x」ではない。よって、判定結果は「攻撃なし」である。なお、カウント値nは閾値rよりも小さいので、再設定は実行されない。
(3)受信部2は、時刻253m秒(=RT(2))に次のメッセージを受信する。カウント値nは1から2に更新される。ここで、受信時刻RT(1)は、カウント領域C1の終了時刻t(1)よりも後なので、S6が実行される。この結果、予測値xは1から2に更新される。また、次のモニタ期間の終了時刻t(2)が下式により算出される。t(2)は、カウント領域C2の終了時刻に相当する。
t(2)=t(1)+TC=202+100=302
この後、S7〜S9の判定が行われる。このとき、カウント値nは2であり、予測値xも2である。すなわち、「n>x」ではない。よって、判定結果は「攻撃なし」である。なお、カウント値nは閾値rよりも小さいので、再設定は実行されない。
(4)受信部2は、時刻360m秒(=RT(3))に次のメッセージを受信する。カウント値nは2から3に更新される。ここで、受信時刻RT(3)は、カウント領域C2の終了時刻t(2)よりも後なので、S6が実行される。この結果、予測値xは2から3に更新される。また、次のモニタ期間の終了時刻t(3)が下式により算出される。t(3)は、カウント領域C3の終了時刻に相当する。
t(3)=t(2)+TC=302+100=402
この後、S7〜S9の判定が行われる。このとき、カウント値nは3であり、予測値xも3である。すなわち、「n>x」ではない。よって、判定結果は「攻撃なし」である。なお、カウント値nは閾値rよりも小さいので、再設定は実行されない。
(5)受信部2は、時刻450m秒(=RT(4))に次のメッセージを受信する。カウント値nは3から4に更新される。ここで、受信時刻RT(4)は、カウント領域C3の終了時刻t(3)よりも後なので、S6が実行される。この結果、予測値xは3から4に更新される。また、次のモニタ期間の終了時刻t(4)が下式により算出される。t(4)は、カウント領域C4の終了時刻に相当する。
t(4)=t(3)+TC=402+100=502
この後、S7〜S9の判定が行われる。このとき、カウント値nは4であり、予測値xも4である。すなわち、「n>x」ではない。よって、判定結果は「攻撃なし」である。なお、カウント値nは閾値rよりも小さいので、再設定は実行されない。
(6)受信部2は、時刻548m秒(=RT(5))に次のメッセージを受信する。カウント値nは4から5に更新される。ここで、受信時刻RT(5)は、カウント領域C4の終了時刻t(4)よりも後なので、S6が実行される。この結果、予測値xは4から5に更新される。また、次のモニタ期間の終了時刻t(5)が下式により算出される。t(5)は、カウント領域C5の終了時刻に相当する。
t(5)=t(4)+TC=502+100=602
この後、S7〜S9の判定が行われる。このとき、カウント値nは5であり、予測値xも5である。すなわち、「n>x」ではない。よって、判定結果は「攻撃なし」である。ただし、カウント値nは5であり、閾値rと同じなので、S21が実行される。
(6a)カウント領域C5に対する目標受信時刻は、カウント領域C5の中心であり、カウント領域C5の終了時刻t(5)から50を減算することで得られる。即ち、目標受信時刻は552m秒である。この場合、許容範囲は、532〜572m秒である。そうすると、メッセージの受信時刻RT(5)は、許容範囲内であり、S11の再設定が実行される。この結果、カウント値nは、「5」から「ゼロ」に更新される。予測値xは、「5」から「ゼロ(=x−n)」に更新される。さらに、次のモニタ期間の終了時刻t(5)が下式により再計算される。
t(5)=RT(5)+p×TC=548+50=598
(7)受信部2は、時刻652m秒(=RT(6))に次のメッセージを受信する。カウント値nはゼロから1に更新される。ここで、受信時刻RT(6)は、カウント領域C5の終了時刻t(5)よりも後なので、S6が実行される。この結果、予測値xはゼロから1に更新される。また、次のモニタ期間の終了時刻t(6)が下式により算出される。t(6)は、カウント領域C6の終了時刻に相当する。
t(6)=t(5)+TC=598+100=698
この後、S7〜S9の判定が行われる。このとき、カウント値nは1であり、予測値xも1である。すなわち、「n>x」ではない。よって、判定結果は「攻撃なし」である。なお、カウント値nは閾値rよりも小さいので、再設定は実行されない。
(8)受信部2は、時刻678m秒(=RT(6x))に次のメッセージを受信する。カウント値nは1から2に更新される。ここで、受信時刻RT(6x)は、カウント領域C6の終了時刻t(6)よりも前なので、S6が実行されることなく、S7〜S9の判定が行われる。このとき、カウント値nは2であり、予測値xは1である。すなわち、「n>x」である。よって、判定結果は「攻撃あり」である。この場合、カウント値nが1だけデクリメントされる。すなわち、カウント値nは、2から1に更新される。なお、更新後のカウント値nは閾値rよりも小さいので、再設定は実行されない。
(9)受信部2は、時刻750m秒(=RT(7))に次のメッセージを受信する。カウント値nは1から2に更新される。ここで、受信時刻RT(7)は、カウント領域C6の終了時刻t(6)よりも後なので、S6が実行される。この結果、予測値xは1から2に更新される。また、次のモニタ期間の終了時刻t(7)が下式により算出される。t(7)は、カウント領域C7の終了時刻に相当する。
t(7)=t(6)+TC=698+100=798
この後、S7〜S9の判定が行われる。このとき、カウント値nは2であり、予測値xも2である。すなわち、「n>x」ではない。よって、判定結果は「攻撃なし」である。なお、カウント値nは閾値rよりも小さいので、再設定は実行されない。
(10)受信部2は、時刻852m秒(=RT(8))に次のメッセージを受信する。カウント値nは2から3に更新される。ここで、受信時刻RT(8)は、カウント領域C7の終了時刻t(7)よりも後なので、S6が実行される。この結果、予測値xは2から3に更新される。また、次のモニタ期間の終了時刻t(8)が下式により算出される。t(8)は、カウント領域C8の終了時刻に相当する。
t(8)=t(7)+TC=798+100=898
この後、S7〜S9の判定が行われる。このとき、カウント値nは3であり、予測値xも3である。すなわち、「n>x」ではない。よって、判定結果は「攻撃なし」である。なお、カウント値nは閾値rよりも小さいので、再設定は実行されない。
(11)受信部2は、時刻940m秒(=RT(9))に次のメッセージを受信する。カウント値nは3から4に更新される。ここで、受信時刻RT(9)は、カウント領域C8の終了時刻t(8)よりも後なので、S6が実行される。この結果、予測値xは3から4に更新される。また、次のモニタ期間の終了時刻t(9)が下式により算出される。t(9)は、カウント領域C9の終了時刻に相当する。
t(9)=t(8)+TC=898+100=998
この後、S7〜S9の判定が行われる。このとき、カウント値nは4であり、予測値xも4である。すなわち、「n>x」ではない。よって、判定結果は「攻撃なし」である。なお、カウント値nは閾値rよりも小さいので、再設定は実行されない。
(12)受信部2は、時刻1050m秒(=RT(10))に次のメッセージを受信する。カウント値nは4から5に更新される。ここで、受信時刻RT(10)は、カウント領域C9の終了時刻t(9)よりも後なので、S6が実行される。この結果、予測値xは4から5に更新される。また、次のモニタ期間の終了時刻t(10)が下式により算出される。t(10)は、カウント領域C10の終了時刻に相当する。
t(10)=t(9)+TC=998+100=1098
この後、S7〜S9の判定が行われる。このとき、カウント値nは5であり、予測値xも5である。すなわち、「n>x」ではない。よって、判定結果は「攻撃なし」である。ただし、カウント値nは5であり、閾値rと同じなので、S21が実行される。
(12a)カウント領域C10に対する目標受信時刻は、カウント領域C10の中心であり、カウント領域C10の終了時刻t(10)から50を減算することで得られる。即ち、目標受信時刻は1052m秒である。この場合、許容範囲は、1032〜1072m秒である。そうすると、メッセージの受信時刻RT(10)は、許容範囲内であり、S11の再設定が実行される。この結果、カウント値nは、「5」から「ゼロ」に更新される。予測値xは、「5」から「ゼロ(=x−n)」に更新される。さらに、次のモニタ期間の終了時刻t(10)が下式により再計算される。
t(10)=RT(10)+p×TC=1050+50=1100
以下、同様に、攻撃検知装置1にメッセージが到着する毎に、図9に示すフローチャートの処理が実行され、ネットワーク100への攻撃が検知される。
<第2の実施例>
第2の実施例では、図17に示すように攻撃検知装置1にメッセージが到着するものとする。第2の実施例では、メッセージの送信遅延が発生したケースに相当する。
(1)図7に示す第1の実施例と同様に、受信部2は、時刻52m秒に基準メッセージを受信する。続いて、受信部2は、時刻148m秒、時刻253m秒、時刻360m秒にそれぞれメッセージを受信する。この結果、カウント値nは3であり、予測値xも3である。また、カウント領域C3の終了時刻t(3)は、402m秒である。この後、メッセージの送信遅延が発生し、攻撃検知装置1は、約300m秒間に渡ってメッセージを受信しない。
(2)受信部2は、時刻660m秒(=RT(4))に次のメッセージを受信する。カウント値nは3から4に更新される。ここで、受信時刻RT(4)は、カウント領域C3の終了時刻t(3)よりも後なので、S6が実行される。この結果、予測値xは3から4に更新される。また、次のモニタ期間の終了時刻t(4)が下式により算出される。t(4)は、カウント領域C4の終了時刻に相当する。
t(4)=t(3)+TC=402+100=502
(2a)受信時刻RT(4)は、カウント領域C4の終了時刻t(4)よりも後である。よって、もう一度S6が実行される。この結果、予測値xは4から5に更新される。また、次のモニタ期間の終了時刻t(5)が下式により算出される。t(5)は、カウント領域C5の終了時刻に相当する。
t(5)=t(4)+TC=502+100=602
(2b)受信時刻RT(4)は、カウント領域C5の終了時刻t(5)よりも後である。よって、さらにもう一度S6が実行される。この結果、予測値xは5から6に更新される。また、次のモニタ期間の終了時刻t(6)が下式により算出される。t(6)は、カウント領域C6の終了時刻に相当する。
t(6)=t(5)+TC=602+100=702
(2c)受信時刻RT(4)は、カウント領域C6の終了時刻t(6)よりも前なので、S7〜S9の判定が行われる。このとき、カウント値nは4であり、予測値xは6である。すなわち、「n>x」ではない。よって、判定結果は「攻撃なし」である。なお、カウント値nは閾値rよりも小さいので、再設定は実行されない。
(3)受信部2は、時刻670m秒(=RT(5))に次のメッセージを受信する。カウント値nは4から5に更新される。ここで、受信時刻RT(5)は、カウント領域C6の終了時刻t(6)よりも前なので、S6が実行されることなく、S7〜S9の判定が行われる。このとき、カウント値nは5であり、予測値xは6である。すなわち、「n>x」ではない。よって、判定結果は「攻撃なし」である。ただし、カウント値nは6であり、閾値rよりも大きいので、S21が実行される。
(3a)カウント領域C6に対する目標受信時刻は、カウント領域C6の中心であり、カウント領域C6の終了時刻t(6)から50を減算することで得られる。即ち、目標受信時刻は652m秒である。この場合、許容範囲は、632〜672m秒である。そうすると、メッセージの受信時刻RT(5)は、許容範囲内であり、S11の再設定が実行される。この結果、カウント値nは、「5」から「ゼロ」に更新される。予測値xは、「6」から「1(=x−n)」に更新される。さらに、次のモニタ期間の終了時刻t(6)が下式により再計算される。
t(6)=RT(5)+p×TC=670+50=720
(4)受信部2は、時刻710m秒(=RT(6))に次のメッセージを受信する。カウント値nはゼロから1に更新される。ここで、受信時刻RT(6)は、カウント領域C6の終了時刻t(2)よりも前なので、S6が実行されることなく、S7〜S9の判定が行われる。このとき、カウント値nは1であり、予測値xも1である。すなわち、「n>x」ではない。よって、判定結果は「攻撃なし」である。なお、カウント値nは閾値rよりも小さいので、再設定は実行されない。
(5)受信部2は、時刻750m秒(=RT(7))に次のメッセージを受信する。カウント値nは1から2に更新される。ここで、受信時刻RT(7)は、カウント領域C6の終了時刻t(6)よりも後なので、S6が実行される。この結果、予測値xは1から2に更新される。また、次のモニタ期間の終了時刻t(7)が下式により算出される。t(7)は、カウント領域C7の終了時刻に相当する。
t(7)=t(6)+TC=720+100=820
この後、S7〜S9の判定が行われる。このとき、カウント値nは2であり、予測値xも2である。すなわち、「n>x」ではない。よって、判定結果は「攻撃なし」である。なお、カウント値nは閾値rよりも小さいので、再設定は実行されない。
(6)受信部2は、時刻852m秒(=RT(8))に次のメッセージを受信する。カウント値nは2から3に更新される。ここで、受信時刻RT(8)は、カウント領域C7の終了時刻t(7)よりも後なので、S6が実行される。この結果、予測値xは2から3に更新される。また、次のモニタ期間の終了時刻t(8)が下式により算出される。t(8)は、カウント領域C8の終了時刻に相当する。
t(8)=t(7)+TC=820+100=920
この後、S7〜S9の判定が行われる。このとき、カウント値nは3であり、予測値xも3である。すなわち、「n>x」ではない。よって、判定結果は「攻撃なし」である。なお、カウント値nは閾値rよりも小さいので、再設定は実行されない。
(7)受信部2は、時刻948m秒(=RT(9))に次のメッセージを受信する。カウント値nは3から4に更新される。ここで、受信時刻RT(9)は、カウント領域C8の終了時刻t(8)よりも後なので、S6が実行される。この結果、予測値xは3から4に更新される。また、次のモニタ期間の終了時刻t(9)が下式により算出される。t(9)は、カウント領域C9の終了時刻に相当する。
t(9)=t(8)+TC=920+100=1020
この後、S7〜S9の判定が行われる。このとき、カウント値nは4であり、予測値xも4である。すなわち、「n>x」ではない。よって、判定結果は「攻撃なし」である。なお、カウント値nは閾値rよりも小さいので、再設定は実行されない。
以下、同様に、攻撃検知装置1にメッセージが到着する毎に、図9に示すフローチャートの処理が実行され、ネットワーク100への攻撃が検知される。このように、メッセージの送信遅延等に起因して受信タイミングが後ろにシフトする場合であっても、攻撃検知装置1は、正規メッセージを攻撃メッセージと判定することはない。すなわち、誤検知が抑制される。
<第3の実施例>
第3の実施例では、図18に示すように攻撃検知装置1にメッセージが到着するものとする。第3の実施例では、ネットワーク100に攻撃メッセージが入力され、且つ、メッセージの送信遅延が発生したケースに相当する。
(1)図7に示す第1の実施例と同様に、受信部2は、時刻52m秒に基準メッセージを受信する。続いて、受信部2は、時刻148m秒にメッセージを受信する。この結果、カウント値nは1であり、予測値xも1である。カウント領域C1の終了時刻t(1)は、202m秒である。
(2)受信部2は、時刻215m秒(=RT(1x))に次のメッセージを受信する。カウント値nは1から2に更新される。ここで、受信時刻RT(1x)は、カウント領域C1の終了時刻t(1)よりも後なので、S6が実行される。この結果、予測値xは1から2に更新される。また、次のモニタ期間の終了時刻t(2)が下式により算出される。t(2)は、カウント領域C2の終了時刻に相当する。
t(2)=t(1)+TC=202+100=302
この後、S7〜S9の判定が行われる。このとき、カウント値nは2であり、予測値xも2である。すなわち、「n>x」ではない。よって、判定結果は「攻撃なし」である。なお、カウント値nは閾値rよりも小さいので、再設定は実行されない。
この例では、時刻215m秒に攻撃検知装置1に到着したメッセージは、正規メッセージではなく、攻撃メッセージである。ただし、現時点では、カウント値nは予測値x以下なので、検出部5は、ネットワーク100が攻撃された状態を検出しない。この後、メッセージの送信遅延が発生し、攻撃検知装置1は、約300m秒間に渡ってメッセージを受信しない。
(3)受信部2は、時刻513m秒(=RT(2))に次のメッセージを受信する。カウント値nは2から3に更新される。ここで、受信時刻RT(2)は、カウント領域C2の終了時刻t(2)よりも後なので、S6が実行される。この結果、予測値xは2から3に更新される。また、次のモニタ期間の終了時刻t(3)が下式により算出される。t(3)は、カウント領域C3の終了時刻に相当する。
t(3)=t(2)+TC=302+100=402
(3a)受信時刻RT(2)は、カウント領域C3の終了時刻t(3)よりも後である。よって、もう一度S6が実行される。この結果、予測値xは3から4に更新される。また、次のモニタ期間の終了時刻t(4)が下式により算出される。t(4)は、カウント領域C4の終了時刻に相当する。
t(4)=t(3)+TC=402+100=502
(3b)受信時刻RT(2)は、カウント領域C4の終了時刻t(4)よりも後である。よって、さらにもう一度S6が実行される。この結果、予測値xは4から5に更新される。また、次のモニタ期間の終了時刻t(5)が下式により算出される。t(5)は、カウント領域C5の終了時刻に相当する。
t(5)=t(4)+TC=502+100=602
(3c)受信時刻RT(2)は、カウント領域C5の終了時刻t(5)よりも前なので、S7〜S9の判定が行われる。このとき、カウント値nは3であり、予測値xは5である。すなわち、「n>x」ではない。よって、判定結果は「攻撃なし」である。なお、カウント値nは閾値rよりも小さいので、再設定は実行されない。
(4)受信部2は、時刻598m秒(=RT(3))に次のメッセージを受信する。カウント値nは3から4に更新される。ここで、受信時刻RT(3)は、カウント領域C5の終了時刻t(5)よりも前なので、S6が実行されることなく、S7〜S9の判定が行われる。このとき、カウント値nは4であり、予測値xは5である。すなわち、「n>x」ではない。よって、判定結果は「攻撃なし」である。なお、カウント値nは閾値rよりも小さいので、再設定は実行されない。
(5)受信部2は、時刻613m秒(=RT(4))に次のメッセージを受信する。カウント値nは4から5に更新される。ここで、受信時刻RT(4)は、カウント領域C5の終了時刻t(5)よりも後なので、S6が実行される。この結果、予測値xは5から6に更新される。また、次のモニタ期間の終了時刻t(6)が下式により算出される。t(6)は、カウント領域C6の終了時刻に相当する。
t(6)=t(5)+TC=602+100=702
(5a)受信時刻RT(4)は、カウント領域C6の終了時刻t(6)よりも前なので、S7〜S9の判定が行われる。このとき、カウント値nは5であり、予測値xは6である。すなわち、「n>x」ではない。よって、判定結果は「攻撃なし」である。ただし、カウント値nは5であり、閾値rと同じなので、S21が実行される。
(5b)カウント領域C6に対する目標受信時刻は、カウント領域C6の中心であり、カウント領域C6の終了時刻t(6)から50を減算することで得られる。すなわち、目標受信時刻は652m秒である。この場合、許容範囲は、632〜672m秒である。そうすると、メッセージの受信時刻RT(4)は、許容範囲から外れており、再設定は実行されない。
(6)受信部2は、時刻695m秒(=RT(5))に次のメッセージを受信する。カウント値nは5から6に更新される。ここで、受信時刻RT(5)は、カウント領域C6の終了時刻t(6)よりも前なので、S6が実行されることなく、S7〜S9の判定が行われる。このとき、カウント値nは6であり、予測値xも6である。すなわち、「n>x」ではない。よって、判定結果は「攻撃なし」である。ただし、カウント値nは6であり、閾値rよりも大きいので、S21が実行される。
(6a)カウント領域C6に対する目標受信時刻は、上述したように、652m秒である。また、許容範囲は、632〜672m秒である。そうすると、メッセージの受信時刻RT(5)は、許容範囲から外れており、再設定は実行されない。
(7)受信部2は、時刻720m秒(=RT(6))に次のメッセージを受信する。カウント値nは6から7に更新される。ここで、受信時刻RT(7)は、カウント領域C6の終了時刻t(6)よりも後なので、S6が実行される。この結果、予測値xは6から7に更新される。また、次のモニタ期間の終了時刻t(7)が下式により算出される。t(7)は、カウント領域C7の終了時刻に相当する。
t(7)=t(6)+TC=702+100=802
(7a)受信時刻RT(6)は、カウント領域C6の終了時刻t(6)よりも前なので、S7〜S9の判定が行われる。このとき、カウント値nは7であり、予測値xは7である。すなわち、「n>x」ではない。よって、判定結果は「攻撃なし」である。ただし、カウント値nは7であり、閾値rよりも大きいので、S21が実行される。
(7b)カウント領域C7に対する目標受信時刻は、カウント領域C7の中心であり、カウント領域C7の終了時刻t(7)から50を減算することで得られる。すなわち、目標受信時刻は752m秒である。この場合、許容範囲は、732〜772m秒である。そうすると、メッセージの受信時刻RT(6)は、許容範囲から外れており、再設定は実行されない。
(8)受信部2は、時刻780m秒(=RT(7))に次のメッセージを受信する。カウント値nは7から8に更新される。ここで、受信時刻RT(7)は、カウント領域C7の終了時刻t(7)よりも前なので、S6が実行されることなく、S7〜S9の判定が行われる。このとき、カウント値nは8であり、予測値xは7である。すなわち、「n>x」である。よって、判定結果は「攻撃あり」である。この場合、カウント値nが1だけデクリメントされる。すなわち、カウント値nは、8から7に更新される。また、更新後のカウント値nは7であり、閾値rよりも大きいので、S21が実行される。ただし、カウント領域C7に対する目標受信時刻は、上述したように、752m秒であり、許容範囲は732〜772m秒である。そうすると、メッセージの受信時刻RT(7)は、許容範囲から外れているので、再設定は実行されない。
(9)受信部2は、時刻850m秒(=RT(8))に次のメッセージを受信する。カウント値nは7から8に更新される。ここで、受信時刻RT(8)は、カウント領域C7の終了時刻t(7)よりも後なので、S6が実行される。この結果、予測値xは7から8に更新される。また、次のモニタ期間の終了時刻t(8)が下式により算出される。t(8)は、カウント領域C8の終了時刻に相当する。
t(8)=t(7)+TC=802+100=902
この後、S7〜S9の判定が行われる。このとき、カウント値nは8であり、予測値xも8である。すなわち、「n>x」ではない。よって、判定結果は「攻撃なし」である。ただし、カウント値nは8であり、閾値rよりも大きいので、S21が実行される。
(9a)カウント領域C8に対する目標受信時刻は、カウント領域C8の中心であり、カウント領域C8の終了時刻t(8)から50を減算することで得られる。すなわち、目標受信時刻は852m秒である。この場合、許容範囲は832〜872m秒である。そうすると、メッセージの受信時刻RT(8)は、許容範囲内であり、S11の再設定が実行される。この結果、カウント値nは、「8」から「ゼロ」に更新される。予測値xは、「8」から「ゼロ(=x−n)」に更新される。さらに、次のモニタ期間の終了時刻t(8)が下式により再計算される。
t(8)=RT(8)+p×TC=850+50=900
(10)受信部2は、時刻948m秒(=RT(9))に次のメッセージを受信する。カウント値nはゼロから1に更新される。ここで、受信時刻RT(9)は、カウント領域C8の終了時刻t(8)よりも後なので、S6が実行される。この結果、予測値xはゼロから1に更新される。また、次のモニタ期間の終了時刻t(9)が下式により算出される。t(9)は、カウント領域C9の終了時刻に相当する。
t(9)=t(8)+TC=900+100=1000
この後、S7〜S9の判定が行われる。このとき、カウント値nは1であり、予測値xも1である。すなわち、「n>x」ではない。よって、判定結果は「攻撃なし」である。なお、カウント値nは閾値rよりも小さいので、再設定は実行されない。
以下、同様に、攻撃検知装置1にメッセージが到着する毎に、図9に示すフローチャートの処理が実行され、ネットワーク100への攻撃が検知される。このように、メッセージの送信遅延等に起因して受信タイミングが後ろにシフトする場合であっても、攻撃検知装置1は、ネットワーク100に対する攻撃を精度よく検知できる。
1 攻撃検知装置
2 受信部
3 予測部
4 カウント部
5 検出部
6 再設定制御部
14 プロセッサ
100 ネットワーク

Claims (11)

  1. ネットワーク中の通信装置から周期的に送信されるメッセージを受信する受信部と、
    所定のモニタ期間内に前記受信部が受信するメッセージの個数を前記メッセージの送信周期に基づいて予測する予測部と、
    前記モニタ期間内に前記受信部が受信したメッセージの個数をカウントするカウント部と、
    前記予測部により得られる予測値と前記カウント部により得られるカウント値との比較の結果に基づいて、前記ネットワークに対する攻撃を検出する検出部と、
    を備え
    る攻撃検知装置。
  2. 前記検出部は、前記予測値よりも前記カウント値が大きいときに、前記ネットワークが攻撃されたと判定する
    ことを特徴とする請求項1に記載の攻撃検知装置。
  3. 前記カウント値が所定の閾値以上であるときに、前記カウント値および前記予測値を再設定する再設定制御部をさらに備える
    ことを特徴とする請求項1に記載の攻撃検知装置。
  4. 前記カウント値が前記閾値以上であり、且つ、前記受信部がメッセージを受信した時刻が、目標受信時刻に対して設定される許容範囲内であるときに、前記再設定制御部は、前記カウント値および前記予測値を再設定する
    ことを特徴とする請求項3に記載の攻撃検知装置。
  5. 前記カウント値が前記閾値以上であり、且つ、前記受信部により受信される連続する2個のメッセージの受信時刻の差分が、前記送信周期に対して設定される許容範囲内であるときに、前記再設定制御部は、前記カウント値および前記予測値を再設定する
    ことを特徴とする請求項3に記載の攻撃検知装置。
  6. 前記再設定制御部は、前記カウント値および前記予測値を再設定する処理において、前記カウント値をゼロに更新し、前記予測値を前記予測値から前記カウント値を減算することで得られる値に更新する
    ことを特徴とする請求項3に記載の攻撃検知装置。
  7. 前記受信部が所定数のメッセージを受信する期間に渡って前記予測値と前記カウント値との差分がゼロでないときに、前記再設定制御部は、前記カウント値および前記予測値を再設定する処理において、前記カウント値および前記予測値をそれぞれゼロに更新する
    ことを特徴とする請求項3に記載の攻撃検知装置。
  8. 前記受信部が所定数のメッセージを受信する期間に渡って前記予測値と前記カウント値との差分がゼロ以外の値で一定であるときに、前記再設定制御部は、前記カウント値および前記予測値を再設定する処理において、前記カウント値および前記予測値をそれぞれゼロに更新する
    ことを特徴とする請求項3に記載の攻撃検知装置。
  9. 前記受信部が所定数のメッセージを受信する期間に渡って、前記受信部により受信される連続する2個のメッセージの受信時刻の差分が、前記送信周期に対して設定される許容範囲内であるときに、前記再設定制御部は、前記カウント値および前記予測値を再設定する処理において、前記カウント値および前記予測値をそれぞれゼロに更新する
    ことを特徴とする請求項3に記載の攻撃検知装置。
  10. ネットワーク中の通信装置から周期的に送信されるメッセージを、受信器を用いて受信し、
    所定のモニタ期間内に前記受信器が受信するメッセージの個数を前記メッセージの送信周期に基づいて予測し、
    前記モニタ期間内に前記受信器が受信したメッセージの個数をカウントし、
    予測された値とカウントされた値との比較の結果に基づいて、前記ネットワークに対する攻撃を検出する
    ことを特徴とする攻撃検知方法。
  11. ネットワーク中の通信装置から周期的に送信されるメッセージを、受信器を用いて受信し、
    所定のモニタ期間内に前記受信器が受信するメッセージの個数を前記メッセージの送信周期に基づいて予測し、
    前記モニタ期間内に前記受信器が受信したメッセージの個数をカウントし、
    予測された値とカウントされた値との比較の結果に基づいて、前記ネットワークに対する攻撃を検出する
    処理をプロセッサに実行させる攻撃検知プログラム。
JP2017127819A 2017-06-29 2017-06-29 攻撃検知装置および攻撃検知方法 Active JP6891671B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017127819A JP6891671B2 (ja) 2017-06-29 2017-06-29 攻撃検知装置および攻撃検知方法
US16/001,754 US11057400B2 (en) 2017-06-29 2018-06-06 Device and method for detecting attack in network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017127819A JP6891671B2 (ja) 2017-06-29 2017-06-29 攻撃検知装置および攻撃検知方法

Publications (2)

Publication Number Publication Date
JP2019012899A true JP2019012899A (ja) 2019-01-24
JP6891671B2 JP6891671B2 (ja) 2021-06-18

Family

ID=64739326

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017127819A Active JP6891671B2 (ja) 2017-06-29 2017-06-29 攻撃検知装置および攻撃検知方法

Country Status (2)

Country Link
US (1) US11057400B2 (ja)
JP (1) JP6891671B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020129785A (ja) * 2019-02-12 2020-08-27 富士通株式会社 攻撃検知装置および攻撃検知方法
DE112020002989T5 (de) 2019-08-07 2022-03-24 Hitachi, Ltd. Informationsverarbeitungsvorrichtung und verfahren zur bestimmung einer legitimierten kommunikation

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6828632B2 (ja) * 2017-08-03 2021-02-10 住友電気工業株式会社 検知装置、検知方法および検知プログラム
US11711384B2 (en) * 2018-08-27 2023-07-25 Lear Corporation Method and system for detecting message injection anomalies
US11263308B2 (en) * 2019-03-25 2022-03-01 Micron Technology, Inc. Run-time code execution validation
WO2021038869A1 (ja) * 2019-08-30 2021-03-04 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 車両監視装置および車両監視方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006217437A (ja) * 2005-02-07 2006-08-17 Fujitsu Ten Ltd 通信エラー検知機能付のゲートウェイ装置及び通信システム
JP2008236408A (ja) * 2007-03-20 2008-10-02 Auto Network Gijutsu Kenkyusho:Kk 車載用多重通信装置
WO2016038816A1 (ja) * 2014-09-12 2016-03-17 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 車両用通信装置、車載ネットワークシステム及び車両用通信方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7017185B1 (en) * 2000-12-21 2006-03-21 Cisco Technology, Inc. Method and system for maintaining network activity data for intrusion detection
US7681235B2 (en) * 2003-05-19 2010-03-16 Radware Ltd. Dynamic network protection
US8112801B2 (en) * 2007-01-23 2012-02-07 Alcatel Lucent Method and apparatus for detecting malware
US8644151B2 (en) * 2007-05-22 2014-02-04 Cisco Technology, Inc. Processing packet flows
JP5524026B2 (ja) 2010-11-15 2014-06-18 株式会社日立製作所 エレメント端末および通信システム
US9225544B2 (en) 2011-12-22 2015-12-29 Toyota Jidosha Kabushiki Kaisha Communication system and communication method
JP5919205B2 (ja) 2013-01-28 2016-05-18 日立オートモティブシステムズ株式会社 ネットワーク装置およびデータ送受信システム
EP3142289B1 (en) 2014-05-08 2020-10-07 Panasonic Intellectual Property Corporation of America In-vehicle network system, electronic control unit, and irregularity detection method
CN104202329B (zh) 2014-09-12 2018-01-26 北京神州绿盟信息安全科技股份有限公司 DDoS攻击检测方法和装置
US10298612B2 (en) * 2015-06-29 2019-05-21 Argus Cyber Security Ltd. System and method for time based anomaly detection in an in-vehicle communication network
EP3449323A4 (en) 2016-04-28 2020-04-01 Veritone Alpha, Inc. USE OF PREDICTIONS TO CONTROL TARGET SYSTEMS
US10425443B2 (en) * 2016-06-14 2019-09-24 Microsoft Technology Licensing, Llc Detecting volumetric attacks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006217437A (ja) * 2005-02-07 2006-08-17 Fujitsu Ten Ltd 通信エラー検知機能付のゲートウェイ装置及び通信システム
JP2008236408A (ja) * 2007-03-20 2008-10-02 Auto Network Gijutsu Kenkyusho:Kk 車載用多重通信装置
WO2016038816A1 (ja) * 2014-09-12 2016-03-17 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 車両用通信装置、車載ネットワークシステム及び車両用通信方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020129785A (ja) * 2019-02-12 2020-08-27 富士通株式会社 攻撃検知装置および攻撃検知方法
JP7223590B2 (ja) 2019-02-12 2023-02-16 富士通株式会社 攻撃検知装置および攻撃検知方法
DE112020002989T5 (de) 2019-08-07 2022-03-24 Hitachi, Ltd. Informationsverarbeitungsvorrichtung und verfahren zur bestimmung einer legitimierten kommunikation
US11824687B2 (en) 2019-08-07 2023-11-21 Hitachi, Ltd. Information processing apparatus and legitimate communication determination method

Also Published As

Publication number Publication date
JP6891671B2 (ja) 2021-06-18
US20190007427A1 (en) 2019-01-03
US11057400B2 (en) 2021-07-06

Similar Documents

Publication Publication Date Title
JP6891671B2 (ja) 攻撃検知装置および攻撃検知方法
JP7172043B2 (ja) 攻撃検知装置および攻撃検知方法
US10713106B2 (en) Communication device, communication method and non-transitory storage medium
JP6798280B2 (ja) 攻撃検知装置、攻撃検知方法、および、攻撃検知プログラム
EP2081325B1 (en) Supervisory control method and supervisory control device
US10491530B2 (en) Communication system and communication device
JP6521346B2 (ja) 通信システム
US8243736B2 (en) Packet capturing device
US10567400B2 (en) Attack detection device, attack detection method, and non-transitory computer-readable recording medium
KR20140004954A (ko) 캔 통신의 에러 진단 방법
JP7006295B2 (ja) 攻撃検知装置および攻撃検知方法
JP7223590B2 (ja) 攻撃検知装置および攻撃検知方法
US10313374B2 (en) Electronic apparatus and method
JP7110950B2 (ja) ネットワークシステム
JP6497142B2 (ja) 通信監視装置、通信監視プログラム、および通信監視方法
JP6405692B2 (ja) 送信装置、送信装置の制御方法、送信プログラム及び通信システム
WO2021024786A1 (ja) 情報処理装置および正規通信判定方法
JP2018056980A (ja) 攻撃検知装置、攻撃検知方法、および、攻撃検知プログラム
JP7268562B2 (ja) メッセージの特徴を推定する方法および情報処理装置
Ramesh et al. Reset-based Recovery Mechanism through Entropy Cutoff to Counter BUS-OFF Attacks
JP4258334B2 (ja) 通信装置
WO2016142636A1 (en) Wireless communication methods and apparatus to mitigate the exposed nodes problem
JP2021114656A (ja) 判定方法および情報処理装置
CN117220986A (zh) 一种as报文入侵检测方法、装置、设备及存储介质
JP2018085583A (ja) 通信装置、通信システム及び通信方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210105

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210305

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20210305

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20210305

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: 20210427

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210510

R150 Certificate of patent or registration of utility model

Ref document number: 6891671

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150