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

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

Info

Publication number
JP7172043B2
JP7172043B2 JP2018007232A JP2018007232A JP7172043B2 JP 7172043 B2 JP7172043 B2 JP 7172043B2 JP 2018007232 A JP2018007232 A JP 2018007232A JP 2018007232 A JP2018007232 A JP 2018007232A JP 7172043 B2 JP7172043 B2 JP 7172043B2
Authority
JP
Japan
Prior art keywords
value
count value
messages
message
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
Application number
JP2018007232A
Other languages
English (en)
Other versions
JP2019126004A (ja
Inventor
純 矢嶋
高行 長谷部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2018007232A priority Critical patent/JP7172043B2/ja
Priority to US16/249,973 priority patent/US10873591B2/en
Publication of JP2019126004A publication Critical patent/JP2019126004A/ja
Application granted granted Critical
Publication of JP7172043B2 publication Critical patent/JP7172043B2/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)

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において、到着予定時刻よりも早くその正規メッセージが到着することがある。この場合、メッセージの到着予定時刻と実際の到着時刻とを比較する方法では、悪意あるメッセージを正しくモニタできないことがある。例えば、予定時刻よりも早く送信された正規メッセージが悪意のメッセージと判定されるおそれがある。すなわち、メッセージの送信タイミングが予定時刻より早くなり得る環境下では、攻撃を検知する精度が低下するおそれがある。
本発明の1つの側面に係わる目的は、ネットワーク上での攻撃を検知する精度を向上させることである。
本発明の1つの態様の攻撃検知装置は、ネットワーク内で送信される識別情報を含むメッセージを受信する受信部と、所定のモニタ期間内に前記受信部が受信するメッセージの個数を前記メッセージの前記識別情報に対応する送信周期に基づいて予測する予測部と、前記モニタ期間内に前記受信部が受信したメッセージの個数をカウントするカウント部と、前記予測部により得られる予測値、前記予測値に予め指定される早着許容値を加算することで得られる参照値、および前記カウント部により得られるカウント値を用いて、前記ネットワークが攻撃されたか否かを判定する判定部と、を備える。前記判定部は、前記カウント値が前記予測値よりも大きく且つ前記参照値以下である状態を検出したときは、前記早着許容値に対応する早着猶予期間が経過した後に、前記カウント値と前記予測値との比較の結果に基づいて、前記ネットワークが攻撃されたか否かを判定する。
上述の態様によれば、ネットワーク上での攻撃を検知する精度が向上する。
攻撃検知装置が実装されるネットワークの一例を示す図である。 メッセージを伝送するフレームのフォーマットの例を示す図である。 攻撃検知方法の一例を示す図である。 本発明の実施形態に係わる攻撃検知装置の一例を示す図である。 攻撃検知装置が実装されるECUのハードウェア構成の一例を示す図である。 攻撃検知装置の動作の一例を示す図である。 メッセージ早着時に起こり得る問題の一例を示す図である。 第1の実施形態の攻撃検知方法の動作例を示す図(その1)である。 第1の実施形態の攻撃検知方法の動作例を示す図(その2)である。 第1の実施形態の攻撃検知方法の動作例を示す図(その3)である。 第1の実施形態の攻撃検知方法の動作例を示す図(その4)である。 第1の実施形態の攻撃検知方法の一例を示すフローチャートである。 第1の実施形態の判定処理の一例を示すフローチャートである。 再設定処理の他の例を示すフローチャートである。 再設定処理のさらに他の例を示すフローチャートである。 第2の実施形態の攻撃検知方法の動作例を示す図(その1)である。 第2の実施形態の攻撃検知方法の動作例を示す図(その2)である。 第2の実施形態の攻撃検知方法の動作例を示す図(その3)である。 第2の実施形態の攻撃検知方法の一例を示すフローチャートである。 第2の実施形態の判定処理の一例を示すフローチャートである。 第3の実施形態の判定処理の一例を示すフローチャートである。 第3の実施形態の攻撃検知方法の動作例を示す図である。 攻撃検知装置の処理についての実施例(その1)を示す図である。 攻撃検知装置の処理についての実施例(その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に対する攻撃を検知する。なお、以下の記載では、悪意あるメッセージを「攻撃メッセージ」と呼ぶことがある。
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秒間隔で送信される。そして、攻撃検知装置は、基準メッセージM0を受信すると、モニタ領域を設定する。各モニタ領域の許容範囲は、±40m秒である。すなわち、基準メッセージM0の受信時刻に対して、モニタ領域Z1は100±40m秒に設定され、モニタ領域Z2は200±40m秒に設定され、モニタ領域Z3は300±40m秒に設定される。
図3(a)に示す例では、基準メッセージM0に続くメッセージ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に実装される不図示のタイマを利用して検出される。
予測部3は、検出対象IDに対してモニタ期間を設定する。そして、予測部3は、検出対象IDの送信周期に基づいて、そのモニタ期間内に受信部2が受信すると見込まれるメッセージの個数を予測する。カウント部4は、モニタ期間内に受信部2が実際に受信したメッセージの個数をカウントする。ただし、カウント部4により得られるカウント値は、攻撃と判定したメッセージをカウントしないように補正されるようにしてもよい。
判定部5は、予測部3により得られる予測値、その予測値に予め指定される早着許容値を加算することで得られる参照値、およびカウント部4により得られるカウント値を用いて、ネットワーク100が攻撃されたか否かを判定する。例えば、判定部5は、カウント値が予測値よりも大きく且つ参照値以下である状態を検出したときは、早着許容値に対応する早着猶予期間が経過した後に、カウント値と予測値との比較の結果に基づいて、ネットワーク100が攻撃されたか否かを判定する。なお、猶予期間が経過するまでの期間については、カウント値が参照値を超えているかどうかに基づいて、ネットワーク100が攻撃されたか否かを判定する。
早着許容値は、正規メッセージが予定到着時刻よりも早く攻撃検知装置1に到着したときに、その正規メッセージが攻撃メッセージであると判定されないようにするために使用される。具体的には、早着許容値は、正規メッセージと判定することを許容する、早着メッセージの最大数を表す。
例えば、所定の周期で送信される正規メッセージに加えて、ネットワーク100に攻撃メッセージが入力されると、攻撃検知装置1において受信メッセージの数が予測値よりも多くなる。ところが、攻撃メッセージが入力されないときであっても、正規メッセージが予定到着時刻よりも早く攻撃検知装置1に到着すると、受信メッセージの数が一時的に予測値よりも多くなる。よって、攻撃検知の精度を高くするためには、攻撃メッセージと早着メッセージとを識別することが要求される。
ここで、メッセージの早着に起因して受信メッセージの数が一時的に予測値よりも多くなったときは、その後、一時的に、受信メッセージの到着頻度が低くなると考えられる。すなわち、攻撃メッセージがない場合は、早着メッセージに起因してカウント値が一時的に予測値を超えても、そのカウント値は、やがて予測値に一致すると見込まれる。具体的には、e個のメッセージが予定到着時刻よりも早く到着したときは、正規メッセージの送信周期のe倍以上の時間が経過すれば、カウント値が予測値に一致する状態が回復すると見込まれる。
そこで、カウント値が予測値よりも大きく且つ「予測値+早着許容値」以下となったときには、判定部は、警告フラグをOFF状態からON状態に変更する。そして、判定部5は、早着許容値に対応する早着猶予期間が経過した後に、カウント値と予測値との比較の結果に基づいてネットワーク100が攻撃されたか否かを判定する。この比較の結果、カウント値が予測値以下であれば、警告フラグの原因が早着メッセージであったと推定されるので、判定部5は、ネットワーク100が攻撃されたと判定しない。一方、早着猶予期間が経過した後においてもなおカウント値が予測値よりも大きければ、警告フラグの原因が攻撃メッセージであったと推定されるので、判定部5は、ネットワーク100が攻撃されたと判定する。なお、早着猶予期間は、早着メッセージに起因してカウント値が予測値を超えたときから、カウント値が予測値に一致する状態が回復すると見込まれるまでの時間に相当する。
再設定制御部6は、所定の条件が満たされたときに、予測部3により得られる予測値およびカウント部4により得られるカウント値をそれぞれ再設定する。このとき、再設定制御部6は、次のモニタ期間を設定してもよい。
図5は、攻撃検知装置1が実装されるECUのハードウェア構成の一例を示す。ECU10は、この例では、CANトランシーバ11、CANコントローラ12、処理回路13を含む。処理回路13は、プロセッサ14およびメモリ15を含む。
CANトランシーバ11は、図2に示すフレームを送信および受信する機能を備える。CANコントローラ12は、CANトランシーバ11が受信したフレームからデータを抽出すると共に、そのフレームの受信時刻を測定する。なお、CANコントローラ12は、受信フレームに対してCRCチェックを実行してもよい。また、CANコントローラ12は、送信フレームにデータを格納することができる。プロセッサ14は、メモリ15に格納されているプログラムを実行することにより、攻撃検知を実現する。この場合、メモリ15には、図4に示す予測部3、カウント部4、判定部5、および再設定制御部6の機能を記述したプログラムが格納される。そして、プロセッサ14は、このプログラムを実行することにより予測部3、カウント部4、判定部5、および再設定制御部6の機能を提供する。なお、受信部2は、例えば、CANトランシーバ11により実現される。
図6は、攻撃検知装置1の動作の一例を示す。攻撃検知装置1は、図1に示すECU0に実装され、ネットワーク100を攻撃する悪意あるメッセージ(すなわち、攻撃メッセージ)を検出する。なお、この例では、検知対象IDが付与されたメッセージは、所定の周期で送信されるように設計されているものとする。また、ネットワーク100において以下の通信が行われるものとする。
(1)メッセージは、欠落することはない。
(2)メッセージ送信が遅延したときは、そのメッセージは後で送信されるので、合計メッセージ数は回復する。
(3)メッセージ送信が予定時刻よりも早く行われたときは、そのメッセージは既に送信済みであり、あらためて送信されることはないので、合計メッセージ数は回復する。
なお、以下の記載において、「メッセージ」は、特に断らない限りは、検知対象IDが付与されたメッセージを表すものとする。また、△印は、受信部2により正規メッセージが攻撃検知装置1に到着したタイミングを表す。
図6において、カウント値nは、受信部2により受信されたメッセージの個数を表し、カウント部4によりカウントされる。予測値xは、モニタ期間内に受信部2が受信すると見込まれるメッセージの個数を表し、予測部3により算出される。
予測部3は、メッセージの送信周期TCに基づいてモニタ期間を設定する。モニタ期間は、基準メッセージの受信時刻に対して設定される。例えば、時刻TSにおいて攻撃検知装置1に基準メッセージM0が到着するものとする。この場合、モニタ期間は、時刻TSに対して設定される。また、モニタ期間は、1または複数のカウント領域を含む。たとえば、最初のモニタ期間TS~t(1)は、カウント領域C1から構成される。モニタ期間TS~t(2)は、カウント領域C1、C2から構成される。モニタ期間TS~t(5)は、カウント領域C1~C5から構成される。各カウント領域の長さは、送信周期TCと同じである。ただし、最初のカウント領域C1の長さは、送信周期TCに「1+p」を乗算することで得られる。タイミングパラメータpは、ゼロよりも大きく、1よりも小さい実数である。また、タイミングパラメータpは、例えば、メッセージが遅延なく送信周期TCで送信されたときに、各カウント領域の中心で受信部2が対応するメッセージを受信するように決定される。この場合、タイミングパラメータpの値は0.5である。
モニタ期間は、基準メッセージM0の受信時刻に対して設定される。例えば、時刻TSにおいて攻撃検知装置1に基準メッセージM0が到着するものとする。この場合、モニタ期間の終了時刻t(i)は、下式で表される。
t(i)=TS+(i+p)×TC
iは、各モニタ期間を識別する自然数である。よって、例えば、最初のモニタ期間の終了時刻t(1)はTS+1.5TCで表され、2番目のモニタ期間の終了時刻t(2)はTS+2.5TCで表される。なお、pは0.5である。
さらに、予測部3は、モニタ期間内に受信部2が受信すると見込まれるメッセージの個数を予測する。すなわち、各モニタ期間に対してそれぞれ予測値xが生成される。この例では、最初のモニタ期間(時刻TS~t(1))に対して予測値xとして「1」が算出され、2番目のモニタ期間(時刻TS~t(2))に対して予測値xとして「2」が算出される。同様に、i番目のモニタ期間(時刻TS~t(i))に対して予測値xとして「i」が算出される。
判定部5は、攻撃検知装置1にメッセージが到着する毎に、ネットワーク100に攻撃メッセージが入力された否かを判定する。なお、以下の記載では、攻撃検知装置1に到着するメッセージ(攻撃メッセージを含む)には、検知対象IDが付与されているものとする。
攻撃検知装置1にメッセージM1が到着すると、カウント値nがゼロから1にインクリメントされる。このとき、予測部3により算出される予測値xは1である。そして、判定部5は、カウント値nと予測値xとを比較する。ここで、カウント値nは、予測値xを超えていない。この場合、判定部5は、ネットワーク100は攻撃を受けていないと判定する。なお、図6に示す「OK」は、攻撃が検知されなかった状態を表す。
攻撃検知装置1にメッセージM2が到着すると、カウント値nが1から2にインクリメントされる。このとき、予測部3により算出される予測値xは2である。そして、判定部5は、カウント値nと予測値xとを比較する。この場合も、カウント値nは予測値xを超えていないので、判定部5は、ネットワーク100は攻撃を受けていないと判定する。
同様に、判定部5は、攻撃検知装置1にメッセージが到着する毎に、ネットワーク100に攻撃メッセージが入力された否かを判定する。ただし、各ECUのクロックは、誤差を有する。そして、この誤差が蓄積すると、攻撃検知装置1は、各モニタ期間内で正しく受信メッセージの数をカウントできないことがある。この場合、攻撃検知装置1は、ネットワーク100が攻撃されたか否かを正しく判定できないことがある。したがって、判定部5は、誤差の蓄積を解消するために、予測値xおよびカウント値nを定期的に再設定する機能を備える。
具体的には、カウント値nが所定の閾値r以上になったときに、予測値xおよびカウント値nが再設定される。閾値rは、図6に示す例では、5である。そして、カウント値nが閾値r以上になると、カウンタ値nは、ゼロに初期化される。予測値xは、「x」から「x-n」に更新される。図6に示す例では、予測値xは、「5」から「ゼロ」に更新されている。ただし、予測値xは、ケースによっては、ゼロ以外の値に更新されることがある。
このように、攻撃検知装置1は、攻撃検知装置1にメッセージが到着する毎に、モニタ期間内に受信部2が受信したメッセージの個数を表すカウント値nとその予測値xとを比較する。そして、カウント値nが予測値x以下であるときは、攻撃検知装置1は、ネットワーク100は攻撃を受けていないと判定する。
ただし、上述の方法では、攻撃検知装置1に早着メッセージが到着したときに、誤検知が発生することがある。例えば、図7に示す例では、メッセージM4が予定到着時刻よりも早く攻撃検知装置1に到着し、時刻t(3)よりも前に、カウント値nが3から4にインクリメントされている。このとき、予測値xは3である。すなわち、カウント値nが予測値xよりも大きい。この場合、メッセージM1~M4が正規メッセージであるにもかかわらず、判定部5は、ネットワーク100が攻撃されたと判定してしまう。
本発明の実施形態に係わる攻撃検知装置は、この問題を解決するための機能を備える。以下、本発明の第1~第3の実施形態について記載する。
<第1の実施形態>
図8~図11は、第1の実施形態における攻撃検知方法の動作例を示す。△印は、正規メッセージが攻撃検知装置1に到着したタイミングを表す。▲印は、攻撃メッセージが攻撃検知装置1に到着したタイミングを表す。そして、攻撃検知装置1は、基準メッセージM0を受信すると、受信メッセージをカウントする処理を開始する。なお、基準メッセージM0は、例えば、攻撃検知処理が開始された後に最初に攻撃検知装置1に到着したメッセージである。
モニタ期間は、上述したように、1または複数のカウント領域から構成される。たとえば、最初のモニタ期間は、カウント領域C1から構成される。2番目のモニタ期間は、カウント領域C1~C2から構成される。ここで、各カウント領域の長さは、メッセージの送信周期CTと同じである。ただし、最初のカウント領域C1の長さは、送信周期CTの1.5倍である。
予測値xは、各モニタ期間内に攻撃検知装置1に到着することが期待されるメッセージの個数を表し、予測部3により算出される。換言すれば、予測値xは、各カウント領域の終了時刻までに攻撃検知装置1に到着することが期待されるメッセージの個数を表す。なお、カウント値nが再設定されるときに、予測値xも再設定される。ただし、再設定において、予測値xは「x-n」に更新される。
カウント値nは、攻撃検知装置1に到着したメッセージの個数を表し、カウント部4によりカウントされる。また、カウント値nは、カウント値nが閾値r以上となったときに再設定される。閾値rは、この実施例では5である。ただし、この実施例では、カウント値nは、警告フラグがOFF状態であるときにカウント値nが閾値r以上となると再設定されるものとする。なお、再設定において、カウント値nはゼロに更新される。
図8に示す例では、攻撃メッセージは存在しない。ただし、メッセージM4は、予定到着時刻よりも早く攻撃検知装置1に到着している。具体的には、メッセージM4は、カウント領域C4に到着することが見込まれていたが、実際には、カウント領域C3に到着している。なお、攻撃検知処理の開始時において、警告フラグはOFF状態に初期化されているものとする。
攻撃検知装置1にメッセージM1が到着すると、カウント値nがゼロから1にインクリメントされる。また、メッセージM1は、カウント領域C1内に攻撃検知装置1に到着しているので、予測部3により算出される予測値xは1である。そして、判定部5は、カウント値nと予測値xとを比較する。ここで、カウント値nは、予測値xを超えていない。この場合、判定部5は、ネットワーク100は攻撃を受けていないと判定する。
攻撃検知装置1にメッセージM2が到着すると、カウント値nが1から2にインクリメントされる。また、メッセージM2は、カウント領域C2内に攻撃検知装置1に到着しているので、予測値xは2である。そして、判定部5は、カウント値nと予測値xとを比較する。この場合も、カウント値nは予測値xを超えていないので、判定部5は、ネットワーク100は攻撃を受けていないと判定する。攻撃検知装置1にメッセージM3が到着したときも、同様に、判定部5は、ネットワーク100は攻撃を受けていないと判定する。
攻撃検知装置1にメッセージM4が到着すると、カウント値nが3から4にインクリメントされる。ただし、メッセージM4は、カウント領域C3内に攻撃検知装置1に到着しているので、予測値xは3である。すなわち、カウント値nは予測値xよりも大きい。そうすると、判定部5は、警告フラグをチェックする。このとき、警告フラグはOFF状態である。この場合、判定部5は、警告フラグをOFF状態からON状態に変更する。ただし、判定部5は、ネットワーク100が攻撃されたとは判定しない。
攻撃検知装置1にメッセージM5が到着すると、カウント値nが4から5にインクリメントされる。また、メッセージM5は、カウント領域C5内に攻撃検知装置1に到着しているので、予測値xは5である。そして、判定部5は、カウント値nと予測値xとを比較する。ここで、カウント値nは、予測値xを超えていない。よって、判定部5は、ネットワーク100は攻撃を受けていないと判定する。また、判定部5は、警告フラグをON状態からOFF状態に変更する。
このように、攻撃検知装置1に正規メッセージが早着したときは、警告フラグがOFF状態からON状態に変更される。すなわち、攻撃検知装置1は、ネットワーク100が攻撃された可能性があると判定する。ただし、この時点では、攻撃検知装置1は、正規メッセージが早着したのか、攻撃メッセージが入力されたのかを判定しない。そして、攻撃検知装置1は、次のメッセージが予定到着時刻の近傍で到着するか否かをモニタする。図8に示す例では、攻撃検知装置1は、次のメッセージ(すなわち、メッセージM5)が予定到着時刻の近傍で到着している。この場合、メッセージM4が到着したときからメッセージM5が到着するまでの間に予測値が3から5へインクリメントされる。この結果、カウント値nは予測値x以下となり、判定部5は、ネットワーク100は攻撃されていないと判定する。すなわち、攻撃検知装置1は「警告フラグは、攻撃メッセージではなく、早着した正規メッセージに起因してON状態に設定された」と判定する。したがって、第1の実施形態によれば、正規メッセージの早着に起因する誤検知が回避または抑制される。
図9に示す例では、攻撃検知装置1は、図8に示すメッセージM1~M10に加えて、攻撃メッセージを受信する。なお、メッセージM4が攻撃検知装置1に到着したときに、カウント値nは3から4にインクリメントされ、また、警告フラグがOFF状態からON状態に変更される。そして、メッセージM4の次に攻撃メッセージMXが攻撃検知装置1に到着する。
カウント領域C4において攻撃検知装置1にメッセージM4が到着すると、カウント値nが4から5にインクリメントされる。このとき、予測部3により算出される予測値xは4である。即ち、カウント値nは、予測値xよりも大きい。そうすると、判定部5は、警告フラグをチェックする。このとき、警告フラグはON状態である。この場合、判定部5は、ネットワーク100が攻撃されたと判定する。
このように、警告フラグがON状態であるとき受信したメッセージに起因してカウント値nが予測値xよりも大きくなると、判定部5は、ネットワーク100が攻撃されたと判定する。すなわち、早着メッセージの後に攻撃メッセージが到着した場合、攻撃検知装置1は、その攻撃メッセージを検知することができる。
図10に示す例では、メッセージM4~M6が遅延している。なお、攻撃メッセージは存在しない。
メッセージM1~M3に続いて、カウント領域C6において、メッセージM4~M5が攻撃検知装置1に到着すると、カウント値nが3から5にインクリメントされる。このとき、予測値xは6である。即ち、カウント値nは、予測値xを超えていない。この場合、判定部5は、ネットワーク100は攻撃を受けていないと判定する。また、カウント値nが閾値rに達しているので、判定部5は、カウント値nおよび予測値xを再設定する。このとき、カウント値nは5からゼロに更新されが、予測値xは「x-n」に更新される。すなわち、予測値xは、6から1に更新される。
カウント領域C7においてメッセージM6~M7が攻撃検知装置1に到着すると、カウント値nがゼロから2にインクリメントされる。一方、予測値xは、1から2にインクリメントされる。すなわち、カウント値nは、予測値xを超えていない。この場合、判定部5は、ネットワーク100は攻撃を受けていないと判定する。このように、攻撃検知装置1は、正規メッセージが遅延した場合、そのメッセージを攻撃メッセージと判定しない。
図11に示す例では、メッセージM1とメッセージM2との間に攻撃メッセージが送信されている。また、メッセージM2~M7は、指定された送信周期TCよりも短い時間間隔で送信されている。なお、この実施例では、以下の3つの条件が満たされたときに、カウント値nおよび予測値xは再設定されるものとする。
(1)カウント値nが閾値r以上
(2)警告フラグがOFF状態
(3)最も新しく攻撃検知装置1に到着した2個のメッセージの受信時刻の差分が、送信周期TCに対して所定の誤差の範囲内(例えば、送信周期TCが10m秒であり、所定の誤差が10パーセントである場合、2個のメッセージの受信時刻の差分が9~11m秒であることが要求される)
カウント領域C2において攻撃検知装置1に攻撃メッセージMXが到着すると、カウント値nが1から2にインクリメントされる。このとき、予測値xは2であり、カウント値nは、予測値xを超えていない。この場合、判定部5は、ネットワーク100が攻撃されたとは判定しない。また、警告フラグもOFF状態のまま維持される。
カウント領域C5において、メッセージM2~M4が攻撃検知装置1に到着すると、カウント値nが2から5にインクリメントされる。このとき、予測値xは5である。即ち、カウント値nは予測値xを超えていないので、判定部5は、ネットワーク100は攻撃を受けていないと判定する。なお、メッセージM4が攻撃検知装置1に到着したとき、カウント値nは5であり、閾値rに達している。ただし、メッセージM4、M5の受信時刻の差分が小さく、上述した条件(3)は満たされない。よって、カウント値nおよび予測値xは再設定されない。
カウント領域C6において、メッセージM5~M6が攻撃検知装置1に到着すると、カウント値nが5から7にインクリメントされる。このとき、予測値xは6であり、カウント値nは予測値xよりも大きい。しかし、警告フラグはOFF状態なので、判定部5は、ネットワーク100が攻撃されたとは判定しない。ただし、警告フラグは、OFF状態からON状態に変更される。なお、このケースでも、メッセージM5、M6の受信時刻の差分が小さく、上述した条件(3)が満たされないので、カウント値nおよび予測値xは再設定されない。
カウント領域C7において、メッセージM7が攻撃検知装置1に到着すると、カウント値nが7から8にインクリメントされる。このとき、予測値xは7であり、カウント値nは予測値xよりも大きい。ここで、警告フラグはON状態なので、判定部5は、ネットワーク100が攻撃されたと判定する。そうすると、判定部5は、カウント値nを1だけデクリメントする。また、警告フラグは、ON状態からOFF状態に変更される。なお、このケースでも、メッセージM6、M7の受信時刻の差分が小さく、上述した条件(3)が満たされないので、カウント値nおよび予測値xは再設定されない。
カウント領域C8において、メッセージM8が攻撃検知装置1に到着すると、カウント値nが7から8にインクリメントされる。このとき、予測値xは8であり、カウント値nは予測値xを超えていない。よって、判定部5は、ネットワーク100は攻撃を受けていないと判定する。なお、このケースでは、メッセージM7、M8の受信時刻の差分が大きく、上述した条件(3)が満たされないので、カウント値nおよび予測値xは再設定されない。
カウント領域C9において、メッセージM9が攻撃検知装置1に到着すると、カウント値nが8から9にインクリメントされる。このとき、予測値xは9であり、カウント値nは予測値xを超えていない。よって、判定部5は、ネットワーク100は攻撃を受けていないと判定する。なお、このケースでは、メッセージM8、M9の受信時刻の差分が送信周期TCとほぼ同じなので、上述した条件(3)が満たされる。したがって、カウント値nおよび予測値xがそれぞれゼロに更新される。
図12は、第1の実施形態の攻撃検知方法の一例を示すフローチャートである。このフローチャートの処理は、例えば、検知対象IDが指定されたときに攻撃検知装置1により実行される。
S1において、攻撃検知装置1は、制御パラメータを取得する。制御パラメータは、検知対象IDの送信周期TC、再設定を実行する周期を表す閾値r、タイミングパラメータpを含む。なお、制御パラメータは、例えば、図5に示すメモリ15に予め格納されている。或いは、制御パラメータは、ユーザまたはネットワーク管理者から与えられる。
S2において、受信部2は、基準メッセージを受信する。なお、基準メッセージは、たとえば、図12に示すフローチャートの処理が開始された後に最初に攻撃検知装置1に到着したメッセージであってもよい。このとき、受信部2は、基準メッセージの受信時刻RT(0)を記録する。
S3において、攻撃検知装置1は、初期化処理を実行する。即ち、カウント部4は、カウント値nをゼロに初期化する。予測部3は、最初のモニタ期間の終了時刻t(i)を算出する。この実施例では、最初のモニタ期間の終了時刻t(i)は、基準メッセージの受信時刻RT(0)に(1+p)×TCを加算することにより算出される。TCは検知対象IDの送信周期を表し、pは予め決められたタイミングパラメータ(例えば、0.5)を表す。また、予測部3は、予測値xに1を設定する。判定部5は、警告フラグをOFF状態に設定する。
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において、攻撃検知装置1は、ネットワーク100が攻撃を受けたか否か(即ち、ネットワーク100に攻撃メッセージが入力されたか否か)を判定する判定処理を実行する。判定処理は、主に、判定部5により実行される。
図13は、第1の実施形態の判定処理の一例を示すフローチャートである。この判定処理は、図12に示すS7に相当し、攻撃検知装置1にメッセージ(正規メッセージおよび攻撃メッセージを含む)が到着するごとに実行される。
S21において、判定部5は、カウント値nと予測値xとを比較する。そして、カウント値nが予測値x以下であれば、S22において、判定部5は、ネットワーク100は攻撃されていないと判定する。続いて、S23において、判定部5は、警告フラグをOFF状態に設定する。一方、カウント値nが予測値xよりも大きいときは、S24において、判定部5は、カウント値nがx+1(即ち、予測値xに1を加算することで得られる参照値)であるか否かを判定する。
カウント値nがx+1であるときは、S25において、判定部5は、警告フラグの状態をチェックする。警告フラグがOFF状態であれば、S26において、判定部5は、ネットワーク100は攻撃されていないと判定する。ただし、判定部5は、S27において、警告フラグをOFF状態からON状態に変更する。
一方、警告フラグがON状態であれば(S25:Yes)、S28において、判定部5は、ネットワーク100が攻撃されたと判定する。また、判定部5は、カウント値nを1だけデクリメントする。この後、S29において、判定部5は、警告フラグをON状態からOFF状態に変更する。
カウント値nがx+1よりも大きいときは(S24:No)、S30において、判定部5は、ネットワーク100が攻撃されたと判定する。また、判定部5は、カウント値nを1だけデクリメントする。
このように、カウント値nが予測値x以下であれば、判定部5は、ネットワーク100は攻撃されていないと判定する。また、警告フラグがOFF状態であるときに受信したメッセージに起因してカウント値nが予測値xよりも大きくなったときも、判定部5は、ネットワーク100が攻撃されたとは判定しない。ただし、この場合、警告フラグがOFF状態からON状態に変更される。一方、警告フラグがON状態であるときに受信したメッセージに起因してカウント値nが予測値xよりも大きくなったときは、判定部5は、ネットワーク100が攻撃されたと判定する。なお、カウント値nがx+1よりも大きいときは、判定部5は、警告フラグの状態にかかわりなく、ネットワーク100が攻撃されたと判定してもよい。
また、判定部5は、ネットワーク100が攻撃されたと判定したときは、カウント値nを1だけデクリメントする。図9に示す例では、カウント領域C4において攻撃が検出されると、カウント値nは5から4に更新される。このように、カウント値nは、攻撃メッセージが検出されたときはデクリメントされる。すなわち、カウント値nは、正規メッセージの個数をカウントする。
なお、ネットワーク100が攻撃されたと判定したときは、攻撃検知装置1は、アラーム信号を出力する。アラーム信号は、ネットワーク100が攻撃されたことをユーザに通知する。このとき、攻撃検知装置1は、ネットワーク100と外部ネットワークとを切断してもよい。また、ネットワーク100が車載ネットワークである場合、攻撃検知装置1は、車両を停止するための制御信号を出力してもよい。
このように、攻撃検知装置1に正規メッセージが早着したときは、警告フラグがOFF状態からON状態に変更される。すなわち、攻撃検知装置1は、ネットワーク100が攻撃された可能性があると判定する。ただし、この時点では、攻撃検知装置1は、正規メッセージが早着したのか、攻撃メッセージが入力されたのかを判定しない。そして、攻撃検知装置1は、次のメッセージが予定到着時刻の近傍において到着するのか否かをモニタする。図8に示す例では、攻撃検知装置1は、次のメッセージ(即ち、メッセージM5)を予定到着時刻の近傍で受信している。この場合、攻撃検知装置1は、メッセージM4は攻撃メッセージではなく、早着した正規メッセージであると判定する。したがって、第1の実施形態によれば、正規メッセージの早着に起因する誤検知が回避または抑制される。
判定処理が終了すると、攻撃検知装置1は、再設定処理を実行するか否かを決定する。すなわち、S8において、再設定制御部6は、カウント値nと閾値rとを比較する。ここで、閾値rは、再設定を実行する周期を表す。そして、カウント値nが閾値rよりも小さいときは、攻撃検知装置1の処理はS4に戻る。一方、カウント値nが閾値r以上であれば、S9において、再設定制御部6は、警告フラグの状態をチェックする。
警告フラグがOFF状態であれば、S10において、再設定制御部6は再設定処理を実行する。再設定処理では、予測値xは、「x」から「x-n」に更新される。カウント値nは、ゼロに初期化される。次のモニタ期間の終了時刻t(i)として、RT(i)+p×TCが設定される。RT(i)は、受信部2が直前に受信したメッセージの受信時刻を表す。TCは、検知対象IDの送信周期を表し、pは、タイミングパラメータを表す。この後、攻撃検知装置1の処理はS4に戻る。
なお、再設定制御部6は、S9の処理を実行しなくてもよい。この場合、カウント値nが閾値rに達したときには、警告フラグの状態にかかわらず再設定処理が実行される。
図14は、再設定処理の他の例を示すフローチャートである。図14に示す手順は、図12に示すS8~S10の代わりに実行される。すなわち、図14に示す手順では、図12に示すS8~S10に加えてS11が実行される。なお、再設定制御部6により図14に示す手順が実行されるときは、攻撃検知装置1は、図12に示すS1において、目標受信時刻に対する許容範囲を表す情報を取得する。
S11において、再設定制御部6は、S4で受信したメッセージの受信時刻RT(i)が目標受信時刻に対する許容範囲内であるか判定する。目標受信時刻は、メッセージの理想的な受信時刻を表す。理想的な受信時刻は、上述したタイミングパラメータpが0.5である場合、各カウント領域の中心である。たとえば、図6に示す例において、カウント領域C5の開始時刻t(4)および終了時刻t(5)は、下式で計算される。ここで、基準時刻TSが3m秒であり、送信周期TCが10m秒であり、タイミングパラメータpが0.5であるものとする。
t(4)=3+4.5×10=48
t(5)=3+5.5×10=58
この場合、カウント領域C5に対する目標受信時刻は、t(4)およびt(5)の平均であり、53m秒である。或いは、カウント領域C5に対する目標受信時刻は、カウント領域C5の終了時刻から「p×TC」を減算することで算出してもよい。
許容範囲は、特に限定されるものではないが、例えば、送信周期TCの±20パーセントである。そして、S4で受信したメッセージの受信時刻RT(i)が目標受信時刻に対する許容範囲内であれば、再設定制御部6は、S10の再設定処理を実行する。一方、受信時刻RT(i)が許容範囲内でなければ、S10の再設定処理はスキップされる。
このように、図14に示す手順では、カウント値nが閾値r以上であり、且つ、警告フラグがOFF状態であり、且つ、メッセージの受信時刻が目標受信時刻に近いときに、再設定が実行される。ここで、メッセージの受信時刻が目標受信時刻に近いときは、そのメッセージは正規メッセージである可能性が高いと考えられる。したがって、図14に示す手順によれは、攻撃メッセージに起因する再設定が回避または削減される。この結果、攻撃検知装置1の検知精度が向上する。
図15は、再設定処理のさらに他の例を示すフローチャートである。図15に示す手順は、図14に示す手順と同様に、図12に示すS8~S10の代わりに実行される。ただし、図15に示す手順では、図12に示すS8~S10に加えてS12およびS13が実行される。なお、再設定制御部6により図15に示す手順が実行されるときは、攻撃検知装置1は、図12に示すS1において、受信時刻の差分に対する許容範囲を表す情報を取得する。
S12において、再設定制御部6は、受信部2により直前に受信された2個のメッセージの受信時刻の差分が所定の許容範囲内であるか判定する。この差分は、新たに到着したメッセージの受信時刻RT(i)から直前に到着したメッセージの受信時刻を表す基準時刻TRを引算することで算出される。なお、直前に到着したメッセージの受信時刻は、基準時刻RTとしてメモリに記録されているものとする。また、受信時刻の差分に対する許容範囲は、例えば、検知対象IDの送信周期TCに対して±20パーセントである。この場合、許容範囲は、0.8TC~1.2TCである。
直前に受信された2個のメッセージの受信時刻の差分が許容範囲内であれば、再設定制御部6は、S10の再設定処理を実行する。一方、この差分が許容範囲内でなければ、S10の再設定処理はスキップされる。
S13において、再設定制御部6は、S4で受信したメッセージの受信時刻RT(i)を次のメッセージのための基準時刻RTとして記録する。このとき、先に記録されている基準時刻RTは、新たに受信したメッセージの受信時刻に更新される。なお、S13の処理は、攻撃メッセージが検出されたか否かにかかわらず実行される。
このように、図15に示す手順では、受信部2が直前に受信した2個のメッセージの受信時刻の差分が、送信周期TCとほぼ同じであるか判定される。そして、この差分が、送信周期TCから大きくずれているときは、攻撃メッセージを受信したものと判定し、再設定処理を実行しない。この結果、攻撃検知アルゴリズムの動作が不安定になる状態が回避される。
なお、S5においてメッセージの受信時刻RT(i)がモニタ期間の終了時刻t(i)と同じまたは前であるときに、S6が実行されるようにしてもよい。また、攻撃検知装置1は、複数の検知対象IDについてそれぞれ攻撃検知を実行することができる。この場合、攻撃検知装置1は、図12に示すフローチャートの処理を並列に実行してもよい。
<第2の実施形態>
図16~図18は、第2の実施形態における攻撃検知方法の動作例を示す。△印は、正規メッセージが攻撃検知装置1に到着したタイミングを表す。▲印は、攻撃メッセージが攻撃検知装置1に到着したタイミングを表す。そして、攻撃検知装置1は、第1の実施形態と同様に、基準メッセージM0を受信すると、受信メッセージのカウントする処理を開始する。
カウント値nは、第1の実施形態と同様に、攻撃検知装置1に到着したメッセージの個数を表し、カウント部4によりカウントされる。カウント値nは、カウント値nが閾値r以上となり、且つ、警告フラグがOFF状態であるときにゼロに再設定される。この実施例では、閾値rは5である。
予測値xは、第1の実施形態と同様に、各モニタ期間内に攻撃検知装置1に到着することが期待されるメッセージの個数を表し、予測部3により算出される。なお、カウント値nが再設定されるときに、予測値xは「x-n」に更新される。
図16に示す例では、攻撃メッセージは存在しない。ただし、メッセージM4およびM5は、予定到着時刻よりも早く攻撃検知装置1に到着している。具体的には、メッセージM4、M5は、それぞれカウント領域C4、C5に到着することが見込まれていたが、実際には、カウント領域C3に到着している。なお、攻撃検知処理の開始時において、警告フラグはOFF状態に初期化されているものとする。
第1の実施形態と同様に、攻撃検知装置1にメッセージM1が到着すると、カウント値nがゼロから1にインクリメントされる。また、メッセージM1は、カウント領域C1において攻撃検知装置1に到着しているので、予測部3により算出される予測値xは1である。ここで、カウント値nは、予測値xを超えていない。この場合、判定部5は、ネットワーク100は攻撃を受けていないと判定する。
攻撃検知装置1にメッセージM2が到着したときも、同様に、判定部5は、ネットワーク100は攻撃を受けていないと判定する。なお、カウント値nは、メッセージM2の到着により、1から2にインクリメントされる。
カウント領域C3において攻撃検知装置1にメッセージM3~M5が到着すると、カウント値nが2から5にインクリメントされる。一方、カウント領域C3においては、予測値xは3である。即ち、カウント値nは予測値xを超える。そうすると、判定部5は、カウント値と参照値k1とを比較する。参照値k1は、予測値xに早着許容値eを加算することで得られる。この実施例では、早着許容値eは2である。したがって、この時点での参照値k1は5である。そうすると、カウント値nは、条件「x<n≦k1」を満足するので、判定部5は、警告フラグをOFF状態からON状態に変更する。ただし、判定部5は、ネットワーク100が攻撃されたとは判定しない。
更に、判定部5は、現在の予測値xを開始値sとして記録する。そして、判定部5は、この開始値sに早着猶予期間wを加算することで参照値k2を得る。早着猶予期間wは、メッセージの送信周期TCを単位として表される整数であり、この実施例では2である。なお、参照値k2は、判定部5がアクセス可能なメモリに記録される。また、早着猶予期間wは、早着許容値e以上であることが好ましく、特に、早着許容値eと同じであることが好ましい。
開始値sは、メッセージの到着に起因してカウント値nが条件「x<n≦k1」を満足する状態となったタイミングに相当する。したがって、早着猶予期間wが早着許容値e以上であるときは、開始値sに早着猶予期間wを加算することで得られる参照値k2は、攻撃メッセージが存在しない場合において、カウント値nが予測値xと一致する状態が回復すると見込まれるタイミングに相当する。
カウント領域C6において攻撃検知装置1にメッセージM6が到着すると、カウント値nが5から6にインクリメントされる。一方、カウント領域C6においては、予測値xは6である。すなわち、カウント値nは、予測値xを超えていない。よって、判定部5は、ネットワーク100は攻撃を受けていないと判定する。また、判定部5は、警告フラグをON状態からOFF状態に変更する。
さらに、カウント値nが閾値r以上であり、且つ、警告フラグがOFF状態なので、判定部5は再設定処理を実行する。第2の実施形態では、カウント値n、予測値x、および開始値sが再設定される。カウント値nはゼロに更新され、予測値xは「x-n」に更新され、開始値sは「s-n」に更新される。
このように、カウント値nが予測値xより大きくなると、警告フラグがOFF状態からON状態に変更される。ただし、第1の実施形態と同様に、この時点では、攻撃検知装置1は、正規メッセージが早着したのか、攻撃メッセージが入力されたのかを判定しない。そして、攻撃検知装置1は、後続のメッセージを受信したときに、正規メッセージが早着したのか、攻撃メッセージが入力されたのかを判定する。図16に示す例では、攻撃検知装置1は、カウント領域C6において次のメッセージ(即ち、メッセージM6)を受信している。この場合、メッセージM5が到着したときからメッセージM6が到着するまでの間に予測値が3から6へインクリメントされる。この結果、カウント値nは予測値x以下となり、判定部5は、ネットワーク100は攻撃されていないと判定する。したがって、第2の実施形態においても、正規メッセージの早着に起因する誤検知が回避または抑制される。
加えて、第2の実施形態では、カウント値nと参照値k1との比較に基づいて攻撃メッセージがモニタされる。ここで、参照値k1は、予測値xに早着許容値eを加算することで得られる。よって、早着メッセージの数がe個以下であれば、それらの早着メッセージは攻撃メッセージとは判定されない。
図17に示す例では、攻撃検知装置1は、図16に示すメッセージM1~M10に加えて、攻撃メッセージMXを受信する。攻撃メッセージMXは、カウント領域C3において攻撃検知装置1に到着する。すなわち、早着メッセージM4~M5および攻撃メッセージMXが同じカウント領域において攻撃検知装置1に到着する。
カウント領域C3において攻撃検知装置1に攻撃メッセージMXおよび正規メッセージM3~M5が到着すると、カウント値nが2から6にインクリメントされる。一方、カウント領域C3においては、予測値xは3である。すなわち、カウント値nは予測値xよりも大きい。そうすると、判定部5は、カウント値と参照値k1とを比較する。この実施例では早着許容値eは2なので、参照値k1は5である。すなわち、この時点で、カウント値nは参照値k1よりも大きい。この場合、判定部5は、ネットワーク100が攻撃されたと判定する。このように、早着許容値eより多くの過剰なメッセージ(上述の例では、攻撃メッセージMXおよび早着メッセージM4~M5)が短い期間内に集中して到着すると、カウント値nが参照値k1より大きくなり、ネットワーク100が攻撃を受けたと判定される。
図18に示す例でも、攻撃検知装置1は、図16に示すメッセージM1~M10に加えて、攻撃メッセージMXを受信する。ただし、攻撃メッセージMXは、カウント領域C4において攻撃検知装置1に到着する。すなわち、早着メッセージが到着したカウント領域よりも後のカウント領域において攻撃メッセージMXが到着する。
このケースでは、カウント領域C3において攻撃検知装置1に正規メッセージM3~M5が到着すると、カウント値nが2から5にインクリメントされる。ここで、カウント領域C3における予測値xは3なので、カウント値nは予測値xより大きい。そうすると、判定部5は、カウント値nと参照値k1とを比較する。このとき、早着許容値eは2なので、参照値k1は5である。すなわち、カウント値nは、条件「x<n≦k1」を満足するので、判定部5は、警告フラグをOFF状態からON状態に変更する。ただし、判定部5は、ネットワーク100が攻撃を受けたとは判定しない。
更に、判定部5は、現在の予測値xを開始値sとして記録する。そして、判定部5は、この開始値sに早着猶予期間wを加算することで参照値k2を得る。この実施例では、早着猶予期間wは2である。よって、参照値k2は5である。なお、参照値k2は、判定部5がアクセス可能なメモリに記録される。
カウント領域C4において攻撃検知装置1に攻撃メッセージMXが到着すると、カウント値nが5から6にインクリメントされる。ここで、カウント領域C4における予測値xは4なので、カウント値nは予測値xよりも大きい。そうすると、判定部5は、カウント値と参照値k1とを比較する。参照値k1は、予測値xに2を加算することで得られるので、6である。すなわち、カウント値nは、条件「x<n≦k1」を満足する。
このとき、警告フラグはON状態である。そうすると、判定部5は、予測値xと参照値k2とを比較する。参照値k2は、カウント領域C3において算出したように5である。そして、予測値x(=4)は、参照値k2以下である。この場合、判定部5は、ネットワーク100は攻撃が受けたとは判定しない。また、判定部5は、警告フラグをON状態のまま維持する。
ここで、参照値k2は、上述したように、カウント値nが予測値xと一致する状態が回復すると見込まれるタイミングに相当する。よって、予測値xが参照値k2以下であるときは、判定部5は、カウント値nが予測値xと一致する状態が未だ回復していないと判定する。しがたって、判定部5は、ネットワーク100が攻撃されたか否かについての判定を行わない。
カウント領域C6において攻撃検知装置1にメッセージM6が到着すると、カウント値nが6から7にインクリメントされる。ここで、カウント領域C6における予測値xは6なので、カウント値nは予測値xよりも大きい。そうすると、判定部5は、カウント値と参照値k1とを比較する。参照値k1は、予測値xに2を加算することで得られるので、8である。すなわち、カウント値nは、条件「x<n≦k1」を満足する。
このとき、警告フラグはON状態である。そうすると、判定部5は、予測値xと参照値k2とを比較する。参照値k2は、カウント領域C3において算出したように5である。そして、予測値x(=6)は、参照値k2よりも大きい。この場合、判定部5は、ネットワーク100が攻撃を受けたと判定する。また、判定部5は、警告フラグをON状態からOFF状態に変更する。
ここで、参照値k2は、上述したように、カウント値nが予測値xと一致する状態が回復すると見込まれるタイミングに相当する。よって、予測値xが参照値k2よりも大きくなったときは、判定部5は、カウント値nが予測値xと一致する状態が回復していると判定する。しがたって、判定部5は、ネットワーク100が攻撃されたか否かについての判定を実行する。
さらに、カウント値nが閾値r以上であり、且つ、警告フラグがOFF状態なので、判定部5は再設定処理を実行する。第2の実施形態では、カウント値n、予測値x、および開始値が再設定される。カウント値nはゼロに更新され、予測値xは「x-n」に更新され、開始値sは「s-n」に更新される。
このように、警告フラグがON状態であるときに攻撃メッセージMXが到着すると、カウント値nが予測値xより大きくなり(或いは、条件「x<n≦k1」を満足)、且つ、予測値xが参照値k2より大きくなるので、ネットワーク100への攻撃が検知される。ただし、ネットワーク100への攻撃は、攻撃メッセージMXが到着したときに検知されるとは限らず、後続のメッセージが到着したときに検知されることもある。図18に示す例では、カウント領域C4において攻撃メッセージが到着し、カウント領域C6において攻撃が検知されている。
図19は、第2の実施形態の攻撃検知方法の一例を示すフローチャートである。このフローチャートの処理は、例えば、検知対象IDが指定されたときに攻撃検知装置1により実行される。
第2の実施形態の攻撃検知方法の手順は、図12に示す第1の実施形態の攻撃検知方法とほぼ同じである。ただし、第2の実施形態では、S1において攻撃検知装置1が取得する制御パラメータは、送信周期TC、閾値r、タイミングパラメータpに加えて、上述した早着許容値eおよび早着猶予期間wを含む。
また、第2の実施形態では、図12に示すS7の代わりに、S41の判定処理が実行される。S41の判定処理については、図20を参照しながら後で説明する。更に、第2の実施形態では、図12に示すS10の代わりに、S42の再設定処理が実行される。S42の再設定処理においては、予測値x、カウント値n、次のモニタ期間の終了時刻t(i)に加えて、開始値sが再設定される。開始値sは、再設定において「現在の開始値s-カウント値n」に更新される。ただし、開始値sは、後述する図20のS56で更新されるので、再設定処理の中で更新されなくてもよい。或いは、開始値sは、再設定において更新された予測値xと同じ値に設定されるようにしてもよい。
このように、第2の実施形態においては、攻撃検知装置1に新たなメッセージが到着する毎に、S4~S6、S41、S8~S9、S42が実行され、ネットワーク100が攻撃されたか否かが判定される。なお、第2の実施形態においても、再設定制御部6は、図14に示すS11または図15に示すS12を実行してもよい。
図20は、第2の実施形態の判定処理の一例を示すフローチャートである。この判定処理は、図19に示すS41に相当し、攻撃検知装置1にメッセージ(正規メッセージおよび攻撃メッセージを含む)が到着するごとに実行される。
S51において、判定部5は、カウント値nと予測値xとを比較する。そして、カウント値nが予測値x以下であれば、S52において、判定部5は、ネットワーク100は攻撃されていないと判定する。続いて、S53において、判定部5は、警告フラグをOFF状態に設定する。一方、カウント値nが予測値xよりも大きいときは、S54において、カウント値xが条件「x<n≦k1」を満足するか否かを判定する。参照値k1は、予測値xに早着許容値eを加算することで得られる。早着許容値eは、この実施例では、2以上の整数である。
カウント値xが条件「x<n≦k1」を満足するときには、S55において、判定部5は、警告フラグの状態をチェックする。警告フラグがOFF状態であれば、S56において、判定部5は、開始値sを設定する。この実施例では、開始値sは、予測値xと同じ値に設定される。S57において、判定部5は、ネットワーク100は攻撃されていないと判定する。また、S58において、判定部5は、警告フラグをON状態に設定する。
警告フラグがON状態であれば(S55:Yes)、S61において、判定部5は、予測値xが参照値k2よりも大きいか否かを判定する。参照値k2は、開始値に早着猶予期間wを加算することで得られる。よって、S61では、実質的に、警告フラグがON状態に設定されたときから早着猶予期間wが経過しているか否かが判定される。そして、予測値xが参照値k2以下であれば、S62において、判定部5は、ネットワーク100は攻撃されていないと判定する。すなわち、警告フラグがON状態に設定されたときから早着猶予期間wが経過していない場合には、判定部5は、ネットワーク100が攻撃されたか否かの判定を実行しない。この後、判定部5は、S58において、警告フラグをON状態に設定する。
予測値xが参照値k2よりも大きいときは(S61:Yes)、S63において、判定部5は、ネットワーク100が攻撃されたと判定する。具体的には、予測値xが参照値k2よりも大きいときは(即ち、警告フラグがON状態に設定されたときから早着猶予期間wが経過した場合には)、判定部5は、ネットワーク100が攻撃されたか否かの判定を実行する。すなわち、判定部5は、カウント値nと予測値xとを比較する。ここで、S61が実行されるときは、カウント値xが条件「x<n≦k1」を満足しているので、カウント値nは予測値xよりも大きい。したがって、判定部5は、ネットワーク100が攻撃されたと判定する。さらに、判定部5は、カウント値nを1だけデクリメントする。
S64において、判定部5は、S63で更新されたカウント値nと予測値xとを比較する。そして、カウント値nが予測値x以下であれば、S65において、判定部5は、警告フラグをON状態からOFF状態に変更する。一方、カウント値nが予測値xより大きいときは、判定部5は、S58において、警告フラグをON状態に設定する。
カウント値nが参照値k1より大きいときは(S54:No)、S66において、判定部5は、ネットワーク100が攻撃されたと判定する。また、判定部5は、カウント値nを1だけデクリメントする。
このように、第2の実施形態では、早着許容値eおよび早着猶予期間wを用いて攻撃の有無を判定するので、早着メッセージの数が増加しても、誤検知を回避できる。例えば、e=wである場合、早着メッセージの数がe個以下であれば、攻撃検知装置1は、ネットワーク100が攻撃を受けたと判定しない。
ただし、早着許容値e及び/又は早着猶予期間wを大きくすると、攻撃の検知に要する時間が長くなることがある。したがって、早着許容値eおよび早着猶予期間wは、メッセージの早着を許容すべき個数と攻撃検知に要する時間の双方を考慮して決定することが好ましい。
なお、第1の実施形態の攻撃検知方法は、第2の実施形態において早着許容値eおよび早着猶予期間wをそれぞれ1に設定した場合と等価である。即ち、第1の実施形態は、第2の実施形態に包含される。ただし、図13および図20に示すように、第1の実施形態においては、第2の実施形態と比較して処理ステップの数が少なくなるので、攻撃検知の高速化またはプロセッサの負荷の軽減が見込まれる。
<第3の実施形態>
図21は、第3の実施形態の判定処理の一例を示すフローチャートである。この判定処理は、図19に示すS41に相当し、攻撃検知装置1にメッセージ(正規メッセージおよび攻撃メッセージを含む)が到着するごとに実行される。すなわち、第3の実施形態の攻撃検知方法は、判定処理を除き、第2の実施形態と同じである。
第3の実施形態の判定処理は、図20に示す第2の実施形態とほぼ同じである。但し、第3の実施形態では、図20に示すS61の代わりに、S71が実行される。
S71は、カウント値nが条件「x<n≦k1」を満足し、且つ、警告フラグがON状態であるときに実行される。S71において、判定部5は、カウント値nが参照値k2より大きいか否かを判定する。参照値k2は、第2の実施形態と同様に、開始値に早着猶予期間wを加算することで得られる。そして、カウント値nが参照値k2以下であれば、S62において、判定部5は、ネットワーク100は攻撃されていないと判定する。一方、カウント値nが参照値k2よりも大きいときは(S71:Yes)、S63において、判定部5は、ネットワーク100が攻撃されたと判定すると共に、カウント値nを1だけデクリメントする。
図22は、第3の実施形態における攻撃検知方法の動作例を示す。なお、メッセージM1~M10および攻撃メッセージMXが攻撃検知装置1に到着するタイミングは、図18および図22において同じである。
メッセージM1~M5が到着したときの攻撃検知装置1の動作は、図18および図22において実質的に同じである。即ち、メッセージM5に対する処理が終了した時点で、各パラメータは以下の通りである。
カウント値n:5
予測値x:3
参照値k1(k1=x+2):5
参照値k2(k2=開始値s+2):5
警告フラグ:ON
カウント領域C4において攻撃検知装置1に攻撃メッセージMXが到着すると、カウント値nが5から6にインクリメントされる。ここで、カウント領域C4における予測値xは4なので、カウント値nは予測値xよりも大きい。そうすると、判定部5は、カウント値と参照値k1とを比較する。参照値k1は、予測値xに2を加算することで得られるので、6である。すなわち、カウント値nは、条件「x<n≦k1」を満足する。
このとき、警告フラグはON状態である。そうすると、判定部5は、S71において、カウント値nと参照値k2とを比較する。参照値k2は、カウント領域C3において算出したように5である。そして、カウント値n(=6)は、参照値k2より大きい。この場合、判定部5は、ネットワーク100が攻撃を受けたと判定する。このとき、カウント値nは、S63において1だけデクリメントされる。ただし、デクリメント後のカウント値nは、予測値xより大きいので(S64:No)、警告フラグはON状態のまま維持される。
カウント領域C6において攻撃検知装置1にメッセージM6が到着すると、カウント値nが5から6にインクリメントされる。ここで、カウント領域C4における予測値xは6なので、カウント値nは予測値x以下である。この場合、判定部5は、S52において、ネットワーク100は攻撃を受けていないと判定する。また、判定部5は、S53において、警告フラグをON状態からOFF状態に変更する。
このように、第3の実施形態では、警告フラグがON状態であるときに、カウント値nが条件「x<n≦k1」を満足すると、カウント値nと参照値k2(すなわち、開始値s+w)との比較に基づいて、ネットワーク100が攻撃されたか否かが判定される。この結果、第3の実施形態の攻撃検知方法によれば、第2の実施形態と比較して、ネットワーク100に攻撃メッセージが入力されたときから攻撃が検知されるまでの時間が短縮されることがある。例えば、図18に示す第2の実施形態では、カウント領域C6において攻撃が検知されるが、図22に示す第3の実施形態では、カウント領域C4において攻撃が検知されている。
<実施例1>
図23に示す実施例1では、第1の実施形態に従って攻撃を検知する。すなわち、攻撃検知装置1にメッセージが到着する毎に、図12~図13に示すフローチャートの処理が実行される。実施例1においては以下のパラメータが使用される。
送信周期TC:10m秒
閾値r:5
タイミングパラメータp:0.5
また、メッセージM1~M5、M8~M10は正規メッセージであり、メッセージM6~M7は攻撃メッセージである。メッセージM5は、予定時刻よりも早く攻撃検知装置1に到着する。
(1)時刻10(=RT(1))においてメッセージM1が到着すると、攻撃検知装置1は攻撃検知を開始する。具体的には、攻撃検知装置1は、以下のようにパラメータを設定する。
モニタ期間の終了時刻t(1):25m秒(t(1)=RT(1)+1.5×10)
カウント値n:ゼロ
予測値x:1
警告フラグ:OFF
(2)時刻20(=RT(2))においてメッセージM2が到着すると、カウント値nがゼロから1にインクリメントされる。ここで、メッセージM2はt(1)よりも前に到着しているので、予測値xは変化しない。そして、カウント値nは予測値x以下なので、攻撃検知装置1は、ネットワークは攻撃されていないと判定する。なお、警告フラグは、OFF状態を維持する。
(3)時刻30(=RT(3))においてメッセージM3が到着すると、カウント値nが1から2にインクリメントされる。ここで、メッセージM3は、t(1)よりも後に到着している。よって、予測値xが1から2に更新される。また、下式により次のモニタ期間の終了時刻t(2)が計算される。
t(2)=t(1)+10=35
カウント値nは、予測値x以下である。したがって、攻撃検知装置1は、ネットワークは攻撃されていないと判定する。なお、警告フラグは、OFF状態を維持する。
(4)時刻40(=RT(4))においてメッセージM4が到着すると、カウント値nが2から3にインクリメントされる。ここで、メッセージM4は、t(2)よりも後に到着している。よって、予測値xが2から3に更新される。また、下式により次のモニタ期間の終了時刻t(3)が計算される。
t(3)=t(2)+10=45
カウント値nは、予測値x以下である。したがって、攻撃検知装置1は、ネットワークは攻撃されていないと判定する。なお、警告フラグは、OFF状態を維持する。
(5)時刻42(=RT(5))においてメッセージM5が到着すると、カウント値nが3から4にインクリメントされる。ここで、メッセージM5はt(3)よりも前に到着しているので、予測値xは変化しない。すなわち、予測値xは3である。そうすると、カウント値nは条件「n=x+1」を満足するので、警告フラグがチェックされる。ここで、警告フラグはOFF状態なので、攻撃検知装置1は、ネットワークは攻撃されていないと判定する。ただし、警告フラグは、OFF状態からON状態に変更される。
(6)時刻49(=RT(6))においてメッセージM6が到着すると、カウント値nが4から5にインクリメントされる。ここで、メッセージM6はt(3)よりも後に到着している。よって、予測値xが3から4に更新される。また、下式により次のモニタ期間の終了時刻t(4)が計算される。
t(4)=t(3)+10=55
カウント値nは条件「n=x+1」を満足するので、警告フラグがチェックされる。ここで、警告フラグはON状態なので、攻撃検知装置1は、ネットワークが攻撃されたと判定する。この後、カウント値nは5から4に更新され、警告フラグはON状態からOFF状態に変更される。
(7)時刻53(=RT(7))においてメッセージM7が到着すると、カウント値nが4から5にインクリメントされる。ここで、メッセージM7はt(4)よりも前に到着しているので、予測値xは変化しない。すなわち、予測値xは4である。そうすると、カウント値nは条件「n=x+1」を満足するので、警告フラグがチェックされる。ここで、警告フラグはOFF状態なので、攻撃検知装置1は、ネットワークは攻撃されていないと判定する。ただし、警告フラグは、OFF状態からON状態に変更される。
カウント値nが閾値rに達しているので、警告フラグがチェックされる。ただし、警告フラグはON状態なので、再設定は実行されない。
(8)時刻60(=RT(8))においてメッセージM8が到着すると、カウント値nが5から6にインクリメントされる。ここで、メッセージM8はt(4)よりも後に到着している。よって、予測値xが4から5に更新される。また、下式により次のモニタ期間の終了時刻t(5)が計算される。
t(5)=t(4)+10=65
カウント値nは条件「n=x+1」を満足するので、警告フラグがチェックされる。ここで、警告フラグはON状態なので、攻撃検知装置1は、ネットワークが攻撃されたと判定する。この後、カウント値nは6から5に更新され、警告フラグはON状態からOFF状態に変更される。
カウント値nが閾値rに達しているので、警告フラグがチェックされる。ここで、警告フラグはOFF状態なので、再設定が実行される。すなわち、カウント値nは5からゼロに更新され、予測値xも5からゼロに更新される。
(9)時刻70(=RT(9))においてメッセージM9が到着すると、カウント値nがゼロから1にインクリメントされる。ここで、メッセージM9はt(5)よりも後に到着している。よって、予測値xがゼロから1に更新される。また、下式により次のモニタ期間の終了時刻t(6)が計算される。
t(6)=t(5)+10=75
カウント値nは、予測値x以下である。したがって、攻撃検知装置1は、ネットワークは攻撃されていないと判定する。なお、警告フラグは、OFF状態を維持する。
(10)時刻80(=RT(10))においてメッセージM10が到着すると、カウント値nが1から2にインクリメントされる。ここで、メッセージM10はt(6)よりも後に到着している。よって、予測値xが1から2に更新される。また、下式により次のモニタ期間の終了時刻t(7)が計算される。
t(7)=t(6)+10=85
カウント値nは、予測値x以下である。したがって、攻撃検知装置1は、ネットワークは攻撃されていないと判定する。なお、警告フラグは、OFF状態を維持する。
<実施例2>
図24に示す実施例2では、第2の実施形態に従って攻撃を検知する。すなわち、攻撃検知装置1にメッセージが到着する毎に、図19~図20に示すフローチャートの処理が実行される。実施例2においては以下のパラメータが使用される。
送信周期TC:10m秒
閾値r:5
タイミングパラメータp:0.5
早着許容値e:2
早着猶予期間w:2
参照値k1:予測値x+早着許容値e
参照値k2:開始値s+早着猶予期間w
なお、警告フラグがOFF状態であり、且つ、カウント値nが条件「n=x+1」を満足するときの予測値xが開始値sとして使用される。また、メッセージM1~M6、M8~M9は正規メッセージであり、メッセージM7は攻撃メッセージである。メッセージM5~M6は、予定時刻よりも早く攻撃検知装置1に到着する。
メッセージM1~M4が到着したときの攻撃検知装置1の処理は、図23に示す実施例1および図24に示す実施例2において同じである。すなわち、実施例2においても、図23を参照して説明した処理(1)~(4)が実行される。したがって、メッセージM4に対する処理が終了した時点で、以下の状態が得られる。
カウント値n:3
予測値x:3
警告フラグ:OFF
なお、実施例2では、参照値k1および参照値k2が使用される。参照値k1は、予測値xに早着許容値eを加算することで得られる。参照値k2は、開始値sに早着猶予期間wを加算することで得られる。開始値sは、この実施例では、警告フラグがOFF状態であり、且つ、カウント値nが条件「n=x+1」を満足するときの予測値xと同じである。また、早着許容値eおよび早着猶予期間wは、それぞれ2である。
(5)時刻42(=RT(5))においてメッセージM5が到着すると、カウント値nが3から4にインクリメントされる。ここで、メッセージM5はt(3)よりも前に到着しているので、予測値xは変化しない。すなわち、予測値xは3である。そうすると、カウント値nが条件「x<n≦k1」を満足するので、警告フラグがチェックされる。ここで、警告フラグはOFF状態なので、攻撃検知装置1は、ネットワークは攻撃されていないと判定する。ただし、開始値sが記録される。開始値sは、メッセージM5が到着した時点での予測値xと同じ(すなわち、3)である。よって、この開始値sに早着猶予期間wを加算することにより、参照値k2として5が得られる。さらに、警告フラグは、OFF状態からON状態に変更される。
(6)時刻44(=RT(6))においてメッセージM6が到着すると、カウント値nが4から5にインクリメントされる。ここで、メッセージM6はt(3)よりも前に到着しているので、予測値xは変化しない。すなわち、予測値xは3である。そうすると、カウント値nが条件「x<n≦k1」を満足するので、警告フラグがチェックされる。ここで、警告フラグはON状態なので、予測値xと参照値k2とが比較される。この実施例では、予測値xは参照値k2(開始値s+w)以下である。したがって、攻撃検知装置1は、ネットワークは攻撃されていないと判定する。なお、カウント値nが閾値rに達しているので、警告フラグがチェックされる。ただし、警告フラグがON状態なので、再設定は実行されない。
(7)時刻53(=RT(7))においてメッセージM7が到着すると、カウント値nが5から6にインクリメントされる。ここで、メッセージM7はt(3)よりも後に到着している。よって、予測値xが3から4に更新され、参照値k1が5から6に更新される。また、下式により次のモニタ期間の終了時刻t(4)が計算される。
t(4)=t(3)+10=55
カウント値nが条件「x<n≦k1」を満足するので、警告フラグがチェックされる。ここで、警告フラグはON状態なので、予測値xと参照値k2とが比較される。この例では、予測値xは参照値k2(開始値s+w)以下である。したがって、攻撃検知装置1は、ネットワークは攻撃されていないと判定する。なお、カウント値nが閾値rよりも大きいので、警告フラグがチェックされる。ただし、警告フラグはON状態なので、再設定は実行されない。
(8)時刻70(=RT(8))においてメッセージM8が到着すると、カウント値nが6から7にインクリメントされる。ここで、メッセージM8はt(4)よりも後に到着している。よって、予測値xが4から5に更新される。また、下式により次のモニタ期間の終了時刻t(5)が計算される。
t(5)=t(4)+10=65
しかし、メッセージM8はt(5)よりも後に到着している。よって、予測値xが5から6に更新される。また、下式により次のモニタ期間の終了時刻t(6)が計算される。
t(6)=t(5)+10=75
カウント値nが条件「x<n≦k1」を満足するので、警告フラグがチェックされる。ここで、警告フラグはON状態なので、予測値xと参照値k2とが比較される。予測値xは6であり、参照値k2(開始値s+w)は5である。すなわち、予測値xは参照値k2よりも大きい。したがって、攻撃検知装置1は、ネットワークが攻撃されたと判定する。この後、カウント値nは7から6に更新される。また、更新されたカウント値nは、予測値x以下なので、警告フラグはON状態からOFF状態に変更される。
カウント値nが閾値rよりも大きいので、警告フラグがチェックされる。そして、警告フラグはOFF状態なので、再設定が実行される。具体的には、カウント値nは6からゼロに更新され、予測値xは6からゼロに更新される。なお、この実施例では、モニタ期間の終了時刻t(i)および開始値sの更新は省略されている。
(9)時刻80(=RT(9))においてメッセージM9が到着すると、カウント値nがゼロから1にインクリメントされる。ここで、メッセージM9はt(6)よりも後に到着している。よって、予測値xがゼロから1に更新される。また、下式により次のモニタ期間の終了時刻t(7)が計算される。
t(7)=t(6)+10=85
カウント値nは予測値x以下である。したがって、攻撃検知装置1は、ネットワークは攻撃されていないと判定する。なお、警告フラグは、OFF状態を維持する。
このように、早着許容値eおよび早着猶予期間wが2であるときは、2個のメッセージが予定時刻よりも早く到着しても、攻撃検知装置1はネットワークが攻撃されたとは判定しない。その後、攻撃メッセージが入力されると、攻撃検知装置1は、ネットワークが攻撃されたと判定する。
<実施例3>
図25に示す実施例3では、第3の実施形態に従って攻撃を検知する。すなわち、攻撃検知装置1にメッセージが到着する毎に、図19および図21に示すフローチャートの処理が実行される。なお、攻撃検知装置1に与えられるパラメータは、実施例2および実施例3において同じである。また、攻撃検知装置1に到着するメッセージM1~M10も、実施例2および実施例3において同じである。
メッセージM1~M6が到着したときの攻撃検知装置1の処理は、図24に示す実施例2および図25に示す実施例3において同じである。即ち、実施例3においても、図23~図24を参照して説明した処理(1)~(6)が実行される。したがって、メッセージM6に対する処理が終了した時点で、以下の状態が得られる。
カウント値n:5
予測値x:3
警告フラグ:ON
参照値k1:5
開始値s:3
参照値k2(開始値s+w):5
(7)時刻53(=RT(7))においてメッセージM7が到着すると、カウント値nが5から6にインクリメントされる。ここで、メッセージM7はt(3)よりも後に到着している。よって、予測値xが3から4に更新され、参照値k1が5から6に更新される。また、下式により次のモニタ期間の終了時刻t(4)が計算される。
t(4)=t(3)+10=55
カウント値nが条件「x<n≦k1」を満足するので、警告フラグがチェックされる。ここで、警告フラグはON状態なので、カウント値nと参照値k2とが比較される。この例では、カウント値nは6であり、参照値k2は5である。すなわち、カウント値nは参照値k2よりも大きい。したがって、攻撃検知装置1は、ネットワークが攻撃されたと判定する。この後、カウント値nは6から5に更新される。また、更新されたカウント値nは、予測値x以下なので、警告フラグはON状態からOFF状態に変更される。
カウント値nが閾値rよりも大きいので、警告フラグがチェックされる。そして、警告フラグはOFF状態なので、再設定が実行される。具体的には、カウント値nは5からゼロに更新され、予測値xは4から-1に更新される。なお、この実施例では、モニタ期間の終了時刻t(i)および開始値sの更新は省略されている。
(8)時刻70(=RT(8))においてメッセージM8が到着すると、カウント値nがゼロから1にインクリメントされる。ここで、メッセージM8はt(4)よりも後に到着している。よって、予測値xが-1からゼロに更新される。また、下式により次のモニタ期間の終了時刻t(5)が計算される。
t(5)=t(4)+10=65
しかし、メッセージM8はt(5)よりも後に到着している。よって、予測値xがゼロから1に更新される。また、下式により次のモニタ期間の終了時刻t(6)が計算される。
t(6)=t(5)+10=75
カウント値nは予測値x以下である。したがって、攻撃検知装置1は、ネットワークは攻撃されていないと判定する。なお、警告フラグは、OFF状態を維持する。
(9)時刻80(=RT(9))においてメッセージM9が到着すると、カウント値nが1から2にインクリメントされる。ここで、メッセージM9はt(6)よりも後に到着している。よって、予測値xが1から2に更新される。また、下式により次のモニタ期間の終了時刻t(7)が計算される。
t(7)=t(6)+10=85
カウント値nは予測値x以下である。したがって、攻撃検知装置1は、ネットワークは攻撃されていないと判定する。なお、警告フラグは、OFF状態を維持する。
このように、実施例2と比較すると、実施例3では、参照値k2を比較するパラメータが異なる。この結果、実施例2と実施例3とでは、攻撃が検知されるタイミングが異なることがある。
上述の実施例を含む実施形態に関し、さらに下記の付記を開示する。
(付記1)
ネットワーク内で送信される識別情報を含むメッセージを受信する受信部と、
所定のモニタ期間内に前記受信部が受信するメッセージの個数を前記メッセージの前記識別情報に対応する送信周期に基づいて予測する予測部と、
前記モニタ期間内に前記受信部が受信したメッセージの個数をカウントするカウント部と、
前記予測部により得られる予測値、前記予測値に予め指定される早着許容値を加算することで得られる第1の参照値、および前記カウント部により得られるカウント値を用いて、前記ネットワークが攻撃されたか否かを判定する判定部と、を備え、
前記判定部は、前記カウント値が前記予測値よりも大きく且つ前記第1の参照値以下である状態を検出したときは、前記早着許容値に対応する早着猶予期間が経過した後に、前記カウント値と前記予測値との比較の結果に基づいて、前記ネットワークが攻撃されたか否かを判定する
ことを特徴とする攻撃検知措置。
(付記2)
前記早着猶予期間は、前記周期を単位とする整数で表され、
前記判定部は、
前記カウント値が前記予測値以下であるときは、警告フラグをオフ状態に設定し、
前記カウント値が前記予測値よりも大きく且つ前記第1の参照値以下であり、且つ、前記警告フラグがオフ状態であるときは、前記予測値を開始値として記録すると共に、前記警告フラグをオフ状態からオン状態に変更し、
前記カウント値が前記予測値よりも大きく且つ前記第1の参照値以下であり、且つ、前記警告フラグがオン状態であり、且つ、前記予測値が前記開始値に前記早着猶予期間を加算することで得られる第2の参照値よりも大きいときは、前記ネットワークが攻撃されたと判定する
ことを特徴とする付記1に記載の攻撃検知装置。
(付記3)
前記判定部は、前記ネットワークが攻撃されたと判定したときは、前記カウント値を1だけ減算する
ことを特徴とする付記2に記載の攻撃検知装置。
(付記4)
前記カウント値が前記予測値よりも大きく且つ前記第1の参照値以下であり、且つ、前記警告フラグがオン状態であり、且つ、前記予測値が前記第2の参照値よりも大きく、且つ、前記カウント値が前記予測値以下であるときは、前記判定部は、前記警告フラグをオン状態からオフ状態に変更する
ことを特徴とする付記2に記載の攻撃検知装置。
(付記5)
前記カウント値が前記第1の参照値よりも大きいときは、前記判定部は、前記ネットワークが攻撃されたと判定する
ことを特徴とする付記2に記載の攻撃検知装置。
(付記6)
前記早着猶予期間は、前記周期を単位として表され、
前記判定部は、
前記カウント値が前記予測値以下であるときは、警告フラグをオフ状態に設定し、
前記カウント値が前記予測値よりも大きく且つ前記第1の参照値以下であり、且つ、前記警告フラグがオフ状態であるときは、前記予測値を開始値として記録すると共に、前記警告フラグをオフ状態からオン状態に変更し、
前記カウント値が前記予測値よりも大きく且つ前記第1の参照値以下であり、且つ、前記警告フラグがオン状態であり、且つ、前記カウント値が前記開始値に前記早着猶予期間を加算することで得られる第2の参照値よりも大きいときは、前記ネットワークが攻撃されたと判定する
ことを特徴とする付記1に記載の攻撃検知装置。
(付記7)
ネットワーク内で送信される識別情報を含むメッセージを受信する受信部と、
所定のモニタ期間内に前記受信部が受信するメッセージの個数を前記メッセージの前記識別情報に対応する送信周期に基づいて予測する予測部と、
前記モニタ期間内に前記受信部が受信したメッセージの個数をカウントするカウント部と、
前記予測部により得られる予測値と前記カウント部により得られるカウント値との比較の結果に基づいて、前記ネットワークが攻撃されたか否かを判定する判定部と、を備え、
前記判定部は、
前記カウント値が前記予測値以下であるときは、警告フラグをオフ状態に設定し、
前記カウント値が前記予測値に1を加算することで得られる参照値と一致し、且つ、前記警告フラグがオフ状態であるときは、前記警告フラグをオフ状態からオン状態に変更し、
前記カウント値が前記参照値と一致し、且つ、前記警告フラグがオン状態であるときは、前記ネットワークが攻撃されたと判定する
ことを特徴とする攻撃検知装置。
(付記8)
前記判定部は、前記ネットワークが攻撃されたと判定したときは、前記カウント値を1だけ減算すると共に、前記警告フラグをオン状態からオフ状態に変更する
ことを特徴とする付記7に記載の攻撃検知装置。
(付記9)
前記カウント値が前記参照値よりも大きいときは、前記判定部は、前記ネットワークが攻撃されたと判定する
ことを特徴とする付記7に記載の攻撃検知装置。
(付記10)
前記カウント値が所定の閾値以上であるときに、前記カウント値をゼロに更新し、前記予測値を前記予測値から前記カウント値を減算することで得られる値に更新する再設定処理を行う再設定制御部をさらに備える
ことを特徴とする付記7~9のいずれか1つに記載の攻撃検知装置。
(付記11)
前記カウント値が前記閾値以上であり、且つ、前記受信部がメッセージを受信した時刻が、目標受信時刻に対して設定される許容範囲内であるときに、前記再設定制御部は、前記再設定処理を行う
ことを特徴とする付記10に記載の攻撃検知装置。
(付記12)
前記カウント値が前記閾値以上であり、且つ、前記受信部により受信される連続する2個のメッセージの受信時刻の差分が、前記送信周期に対して設定される許容範囲内であるときに、前記再設定制御部は、前記再設定処理を行う
ことを特徴とする付記10に記載の攻撃検知装置。
(付記13)
ネットワーク内で送信される識別情報を含むメッセージを、受信器を用いて受信し、
所定のモニタ期間内に前記受信器が受信するメッセージの個数を前記メッセージの前記識別情報に対応する送信周期に基づいて予測し、
前記モニタ期間内に前記受信器が受信したメッセージの個数をカウントし、
カウントされたメッセージの個数を表すカウント値が、予測されたメッセージの個数を表す予測値よりも大きく且つ前記予測値に予め指定される早着許容値を加算することで得られる参照値以下である状態が検出されたときは、前記早着許容値に対応する早着猶予期間が経過した後に、前記カウント値と前記予測値との比較の結果に基づいて、前記ネットワークが攻撃されたか否かを判定する
ことを特徴とする攻撃検知方法。
(付記14)
ネットワーク内で送信される識別情報を含むメッセージを、受信器を用いて受信し、
所定のモニタ期間内に前記受信器が受信するメッセージの個数を前記メッセージの前記識別情報に対応する送信周期に基づいて予測し、
前記モニタ期間内に前記受信器が受信したメッセージの個数をカウントし、
カウントされたメッセージの個数を表すカウント値が予測されたメッセージの個数を表す予測値以下であるときは、警告フラグをオフ状態に設定し、
前記カウント値が前記予測値に1を加算することで得られる参照値と一致し、且つ、前記警告フラグがオフ状態であるときは、前記警告フラグをオフ状態からオン状態に変更し、
前記カウント値が前記参照値と一致し、且つ、前記警告フラグがオン状態であるときは、前記ネットワークが攻撃されたと判定する
ことを特徴とする攻撃検知方法。
(付記15)
ネットワーク内で送信される識別情報を含むメッセージを、受信器を用いて受信し、
所定のモニタ期間内に前記受信器が受信するメッセージの個数を前記メッセージの前記識別情報に対応する送信周期に基づいて予測し、
前記モニタ期間内に前記受信器が受信したメッセージの個数をカウントし、
カウントされたメッセージの個数を表すカウント値が、予測されたメッセージの個数を表す予測値よりも大きく且つ前記予測値に予め指定される早着許容値を加算することで得られる参照値以下である状態が検出されたときは、前記早着許容値に対応する早着猶予期間が経過した後に、前記カウント値と前記予測値との比較の結果に基づいて、前記ネットワークが攻撃されたか否かを判定する
処理をプロセッサに実行させる攻撃検知プログラム。
(付記16)
ネットワーク内で送信される識別情報を含むメッセージを、受信器を用いて受信し、
所定のモニタ期間内に前記受信器が受信するメッセージの個数を前記メッセージの前記識別情報に対応する送信周期に基づいて予測し、
前記モニタ期間内に前記受信器が受信したメッセージの個数をカウントし、
カウントされたメッセージの個数を表すカウント値が予測されたメッセージの個数を表す予測値以下であるときは、警告フラグをオフ状態に設定し、
前記カウント値が前記予測値に1を加算することで得られる参照値と一致し、且つ、前記警告フラグがオフ状態であるときは、前記警告フラグをオフ状態からオン状態に変更し、
前記カウント値が前記参照値と一致し、且つ、前記警告フラグがオン状態であるときは、前記ネットワークが攻撃されたと判定する
処理をプロセッサに実行させる攻撃検知プログラム。
1 攻撃検知装置
2 受信部
3 予測部
4 カウント部
5 判定部
6 再設定制御部
14 プロセッサ
100 ネットワーク

Claims (10)

  1. ネットワーク内で送信される識別情報を含むメッセージを受信する受信部と、
    所定のモニタ期間内に前記受信部が受信するメッセージの個数を前記メッセージの前記識別情報に対応する送信周期に基づいて予測する予測部と、
    前記モニタ期間内に前記受信部が受信したメッセージの個数をカウントするカウント部と、
    前記予測部により得られる予測値、前記予測値に予め指定される早着許容値を加算することで得られる第1の参照値、および前記カウント部により得られるカウント値を用いて、前記ネットワークが攻撃されたか否かを判定する判定部と、を備え、
    前記判定部は、前記カウント値が前記予測値よりも大きく且つ前記第1の参照値以下である状態を検出したときは、前記早着許容値に対応する早着猶予期間が経過した後に、前記早着猶予期間が経過した後のカウント値および予測値の比較の結果に基づいて、前記ネットワークが攻撃されたか否かを判定する
    ことを特徴とする攻撃検知装置。
  2. 前記早着猶予期間は、前記周期を単位とする整数で表され、
    前記判定部は、
    前記カウント値が前記予測値以下であるときは、警告フラグをオフ状態に設定し、
    前記カウント値が前記予測値よりも大きく且つ前記第1の参照値以下であり、且つ、前記警告フラグがオフ状態であるときは、前記予測値を開始値として記録すると共に、前記警告フラグをオフ状態からオン状態に変更し、
    前記カウント値が前記予測値よりも大きく且つ前記第1の参照値以下であり、且つ、前記警告フラグがオン状態であり、且つ、前記予測値が前記開始値に前記早着猶予期間を加算することで得られる第2の参照値よりも大きいときは、前記ネットワークが攻撃されたと判定する
    ことを特徴とする請求項1に記載の攻撃検知装置。
  3. ネットワーク内で送信される識別情報を含むメッセージを受信する受信部と、
    所定のモニタ期間内に前記受信部が受信するメッセージの個数を前記メッセージの前記識別情報に対応する送信周期に基づいて予測する予測部と、
    前記モニタ期間内に前記受信部が受信したメッセージの個数をカウントするカウント部と、
    前記予測部により得られる予測値、前記予測値に予め指定される早着許容値を加算することで得られる第1の参照値、および前記カウント部により得られるカウント値を用いて、前記ネットワークが攻撃されたか否かを判定する判定部と、を備え、
    前記早着許容値に対応する早着猶予期間は、前記周期を単位として表され、
    前記判定部は、
    前記カウント値が前記予測値以下であるときは、警告フラグをオフ状態に設定し、
    前記カウント値が前記予測値よりも大きく且つ前記第1の参照値以下であり、且つ、前記警告フラグがオフ状態であるときは、前記予測値を開始値として記録すると共に、前記警告フラグをオフ状態からオン状態に変更し、
    前記カウント値が前記予測値よりも大きく且つ前記第1の参照値以下であり、且つ、前記警告フラグがオン状態であり、且つ、前記カウント値が前記開始値に前記早着猶予期間を加算することで得られる第2の参照値よりも大きいときは、前記ネットワークが攻撃されたと判定する
    ことを特徴とする攻撃検知装置。
  4. ネットワーク内で送信される識別情報を含むメッセージを受信する受信部と、
    所定のモニタ期間内に前記受信部が受信するメッセージの個数を前記メッセージの前記識別情報に対応する送信周期に基づいて予測する予測部と、
    前記モニタ期間内に前記受信部が受信したメッセージの個数をカウントするカウント部と、
    前記予測部により得られる予測値と前記カウント部により得られるカウント値との比較の結果に基づいて、前記ネットワークが攻撃されたか否かを判定する判定部と、を備え、
    前記判定部は、
    前記カウント値が前記予測値以下であるときは、警告フラグをオフ状態に設定し、
    前記カウント値が前記予測値に1を加算することで得られる参照値と一致し、且つ、前記警告フラグがオフ状態であるときは、前記警告フラグをオフ状態からオン状態に変更し、
    前記カウント値が前記参照値と一致し、且つ、前回のメッセージの受信時に前記警告フラグがオン状態に変更されているときは、前記ネットワークが攻撃されたと判定する
    ことを特徴とする攻撃検知装置。
  5. 前記判定部は、前記ネットワークが攻撃されたと判定したときは、前記カウント値を1だけ減算すると共に、前記警告フラグをオン状態からオフ状態に変更する
    ことを特徴とする請求項4に記載の攻撃検知装置。
  6. 前記カウント値が前記参照値よりも大きいときは、前記判定部は、前記ネットワークが攻撃されたと判定する
    ことを特徴とする請求項4に記載の攻撃検知装置。
  7. ネットワーク内で送信される識別情報を含むメッセージを、受信器を用いて受信し、
    所定のモニタ期間内に前記受信器が受信するメッセージの個数を前記メッセージの前記識別情報に対応する送信周期に基づいて予測し、
    前記モニタ期間内に前記受信器が受信したメッセージの個数をカウントし、
    カウントされたメッセージの個数を表すカウント値が、予測されたメッセージの個数を表す予測値よりも大きく且つ前記予測値に予め指定される早着許容値を加算することで得られる参照値以下である状態が検出されたときは、前記早着許容値に対応する早着猶予期間が経過した後に、前記早着猶予期間が経過した後のカウント値および予測値の比較の結果に基づいて、前記ネットワークが攻撃されたか否かを判定する
    ことを特徴とする攻撃検知方法。
  8. ネットワーク内で送信される識別情報を含むメッセージを、受信器を用いて受信し、
    所定のモニタ期間内に前記受信器が受信するメッセージの個数を前記メッセージの前記識別情報に対応する送信周期に基づいて予測し、
    前記モニタ期間内に前記受信器が受信したメッセージの個数をカウントし、
    カウントされたメッセージの個数を表すカウント値が予測されたメッセージの個数を表す予測値以下であるときは、警告フラグをオフ状態に設定し、
    前記カウント値が前記予測値に1を加算することで得られる参照値と一致し、且つ、前記警告フラグがオフ状態であるときは、前記警告フラグをオフ状態からオン状態に変更し、
    前記カウント値が前記参照値と一致し、且つ、前回のメッセージの受信時に前記警告フラグがオン状態に変更されているときは、前記ネットワークが攻撃されたと判定する
    ことを特徴とする攻撃検知方法。
  9. ネットワーク内で送信される識別情報を含むメッセージを、受信器を用いて受信し、
    所定のモニタ期間内に前記受信器が受信するメッセージの個数を前記メッセージの前記識別情報に対応する送信周期に基づいて予測し、
    前記モニタ期間内に前記受信器が受信したメッセージの個数をカウントし、
    カウントされたメッセージの個数を表すカウント値が、予測されたメッセージの個数を表す予測値よりも大きく且つ前記予測値に予め指定される早着許容値を加算することで得られる参照値以下である状態が検出されたときは、前記早着許容値に対応する早着猶予期間が経過した後に、前記早着猶予期間が経過した後のカウント値および予測値の比較の結果に基づいて、前記ネットワークが攻撃されたか否かを判定する
    処理をプロセッサに実行させる攻撃検知プログラム。
  10. ネットワーク内で送信される識別情報を含むメッセージを、受信器を用いて受信し、
    所定のモニタ期間内に前記受信器が受信するメッセージの個数を前記メッセージの前記識別情報に対応する送信周期に基づいて予測し、
    前記モニタ期間内に前記受信器が受信したメッセージの個数をカウントし、
    カウントされたメッセージの個数を表すカウント値が予測されたメッセージの個数を表す予測値以下であるときは、警告フラグをオフ状態に設定し、
    前記カウント値が前記予測値に1を加算することで得られる参照値と一致し、且つ、前記警告フラグがオフ状態であるときは、前記警告フラグをオフ状態からオン状態に変更し、
    前記カウント値が前記参照値と一致し、且つ、前回のメッセージの受信時に前記警告フラグがオン状態に変更されているときは、前記ネットワークが攻撃されたと判定する
    処理をプロセッサに実行させる攻撃検知プログラム。
JP2018007232A 2018-01-19 2018-01-19 攻撃検知装置および攻撃検知方法 Active JP7172043B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018007232A JP7172043B2 (ja) 2018-01-19 2018-01-19 攻撃検知装置および攻撃検知方法
US16/249,973 US10873591B2 (en) 2018-01-19 2019-01-17 Device and method for detecting attack in network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018007232A JP7172043B2 (ja) 2018-01-19 2018-01-19 攻撃検知装置および攻撃検知方法

Publications (2)

Publication Number Publication Date
JP2019126004A JP2019126004A (ja) 2019-07-25
JP7172043B2 true JP7172043B2 (ja) 2022-11-16

Family

ID=67298818

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018007232A Active JP7172043B2 (ja) 2018-01-19 2018-01-19 攻撃検知装置および攻撃検知方法

Country Status (2)

Country Link
US (1) US10873591B2 (ja)
JP (1) JP7172043B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7268562B2 (ja) * 2019-09-30 2023-05-08 富士通株式会社 メッセージの特徴を推定する方法および情報処理装置
JP7336770B2 (ja) * 2020-01-17 2023-09-01 パナソニックIpマネジメント株式会社 情報処理装置、情報処理システム及びプログラム
JP7462431B2 (ja) 2020-02-28 2024-04-05 本田技研工業株式会社 不正信号検出装置
CN114268592A (zh) * 2020-09-15 2022-04-01 华为技术有限公司 一种报文的处理方法、系统及设备
US11765188B2 (en) * 2020-12-28 2023-09-19 Mellanox Technologies, Ltd. Real-time detection of network attacks

Citations (2)

* 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 通信エラー検知機能付のゲートウェイ装置及び通信システム
JP2018011288A (ja) 2016-07-05 2018-01-18 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 不正制御抑止方法、不正制御抑止装置及び車載ネットワークシステム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 日立オートモティブシステムズ株式会社 ネットワーク装置およびデータ送受信システム
CN111181732B (zh) 2014-05-08 2024-10-01 松下电器(美国)知识产权公司 车载网络系统、电子控制单元及不正常检测方法
CN104202329B (zh) * 2014-09-12 2018-01-26 北京神州绿盟信息安全科技股份有限公司 DDoS攻击检测方法和装置
US10520905B2 (en) * 2016-04-28 2019-12-31 Veritone Alpha, Inc. Using forecasting to control target systems
US10425443B2 (en) * 2016-06-14 2019-09-24 Microsoft Technology Licensing, Llc Detecting volumetric attacks

Patent Citations (2)

* 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 通信エラー検知機能付のゲートウェイ装置及び通信システム
JP2018011288A (ja) 2016-07-05 2018-01-18 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 不正制御抑止方法、不正制御抑止装置及び車載ネットワークシステム

Also Published As

Publication number Publication date
US20190230101A1 (en) 2019-07-25
US10873591B2 (en) 2020-12-22
JP2019126004A (ja) 2019-07-25

Similar Documents

Publication Publication Date Title
JP7172043B2 (ja) 攻撃検知装置および攻撃検知方法
JP6891671B2 (ja) 攻撃検知装置および攻撃検知方法
JP6566400B2 (ja) 電子制御装置、ゲートウェイ装置、及び検知プログラム
JP6798280B2 (ja) 攻撃検知装置、攻撃検知方法、および、攻撃検知プログラム
CN107707520B (zh) 网络监视装置
EP3151462B1 (en) Transmission device, reception device, transmission method, and reception method
JP6488702B2 (ja) 通信制御装置、通信制御方法、および、通信制御プログラム
EP3499907A1 (en) Priority-based wireless collision avoidance and interfering device response
US20200021611A1 (en) Fraud detection method, fraud detection device, and recording medium
CN110865626A (zh) 用于检测消息注入异常的方法和系统
KR101519719B1 (ko) 게이트웨이의 메시지 처리 방법
US10567400B2 (en) Attack detection device, attack detection method, and non-transitory computer-readable recording medium
JP7223590B2 (ja) 攻撃検知装置および攻撃検知方法
JP7006295B2 (ja) 攻撃検知装置および攻撃検知方法
Lisova et al. Monitoring of clock synchronization in cyber-physical systems: A sensitivity analysis
CN114666001B (zh) 一种时间同步系统及其多级安全监测方法、设备及介质
JP2016100842A (ja) 通信制御装置、通信制御方法、および、通信制御プログラム
US10313374B2 (en) Electronic apparatus and method
JP2011023983A (ja) ネットワークノード
JP7110950B2 (ja) ネットワークシステム
KR101988723B1 (ko) Mcu 동작 감시 시스템 및 제어방법
JP2018056980A (ja) 攻撃検知装置、攻撃検知方法、および、攻撃検知プログラム
US20240267390A1 (en) Techniques to Detect Attacks for Time Synchronization Networking
JP7175858B2 (ja) 情報処理装置および正規通信判定方法
WO2017104122A1 (ja) 通信装置、通信方法、及び通信プログラム

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

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210803

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210907

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20210907

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20210907

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220524

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220713

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221017

R150 Certificate of patent or registration of utility model

Ref document number: 7172043

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150