JP6186655B2 - 悪意ある攻撃の検出方法および装置 - Google Patents

悪意ある攻撃の検出方法および装置 Download PDF

Info

Publication number
JP6186655B2
JP6186655B2 JP2016533066A JP2016533066A JP6186655B2 JP 6186655 B2 JP6186655 B2 JP 6186655B2 JP 2016533066 A JP2016533066 A JP 2016533066A JP 2016533066 A JP2016533066 A JP 2016533066A JP 6186655 B2 JP6186655 B2 JP 6186655B2
Authority
JP
Japan
Prior art keywords
switch
source host
controller
flow entry
abnormal flow
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
JP2016533066A
Other languages
English (en)
Other versions
JP2016537898A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2016537898A publication Critical patent/JP2016537898A/ja
Application granted granted Critical
Publication of JP6186655B2 publication Critical patent/JP6186655B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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
    • 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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/24Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using dedicated network management hardware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/18Protocol analysers
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • 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/146Tracing the source of attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks

Landscapes

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

Description

本発明は、通信の分野に関し、詳細には、悪意ある攻撃の検出方法および装置に関する。
ソフトウェア・デファインド・ネットワーキング(SDN、Software Defined Networking)ネットワークの基本概念は、制御プレーンと転送プレーンとの分離を実施することにある。SDNネットワークは、コントローラ(Controller)、スイッチ(Switch)、およびホスト(Host)を一般的に備える。コントローラは、ネットワーク全体という観点に基づいて、ルーティングポリシーを策定し、スイッチがフローテーブルにフローエントリを保存することができるように、フローエントリの形式でスイッチにルーティングポリシーを配信するように構成され、それによって、コントローラは、スイッチ内のフローテーブルを制御することによってネットワーク全体に関する集中制御を実施しており、スイッチは、スイッチのローカルフローエントリに従ってホストのデータパケットを転送するように構成される。
SDNネットワークにおける、ホストの一般的な通信シナリオを図1に示す。ホストAは、ホストAに接続されているスイッチ1にデータパケットを送信しており、データパケットの宛先ホストは、SDNネットワーク内のホストBであるものとする。スイッチ1は、ローカルフローテーブルからデータパケットのフローエントリを検索し、スイッチ1がデータパケットのフローエントリを見つけた場合には、スイッチ1はフローエントリに従ってデータパケットを転送する、または、スイッチ1がデータパケットのフローエントリを見つけなかった場合には、スイッチ1はコントローラにPacket-inメッセージを送信する。コントローラは、データパケットのための転送経路を選択し、フローエントリの形式で転送経路上のすべてのスイッチに転送経路を配信する。スイッチ1および転送経路上のスイッチは、配信されたフローエントリに従ってデータパケットを転送する。
コントローラが転送経路上のすべてのスイッチにホストAとホストBとの間の通信についてのフローエントリを配信しているので、宛先ホストがホストBであるデータパケットをホストAがそれ以降に送信する場合には、スイッチ1は、フローエントリに従ってデータパケットを直接転送してもよく、スイッチ1は、Packet-inメッセージを再び生成することはしない。
ホストによって送信されたデータパケットの宛先ホストがSDNネットワーク外にあるホストCである場合については、通信シナリオを図2に示す。
ホストAは、ホストAに接続されているスイッチ1にデータパケットを送信しており、データパケットの宛先ホストはホストCであるとともに、SDNネットワークはホストCを含んでいないものとする。
スイッチ1は、スイッチのローカルフローテーブルからデータパケットのフローエントリを検索し、ホストCはSDNネットワーク内にないので、スイッチ1は、データパケットのフローエントリを見つけることができず、コントローラにPacket-inメッセージを送信する。
コントローラは、Packet-inメッセージを受信し、SDNネットワークからホストCを検索する。ホストCはSDNネットワーク内にないので、コントローラは、ホストCを見つけることができず、その後、コントローラは、Packet-inメッセージを破棄し、データパケットについてのフローエントリをスイッチ1に配信しない。
宛先ホストがホストCであるデータパケットをホストAが再びそれ以降に送信する場合には、スイッチ1およびコントローラの双方は前述のステップを繰り返し、最終的にはコントローラがPacket-inメッセージを破棄する。
SDNネットワーク内のホストの前述の通信方法に基づいて、図1に示したシナリオにおけるPacket-inメッセージが正常Packet-inメッセージであるとみなしてもよいし、それに対して、図2に示したシナリオにおけるPacket-inメッセージが無効Packet-inメッセージであるとみなしてもよい。SDNネットワーク内のホストが、コントローラへの悪意ある攻撃を行い、その宛先ホストがSDNネットワーク内にないまたはその宛先ホストが存在すらしていない大量のデータパケットを送信する場合には、ホストに接続されているスイッチは、大量の無効Packet-inメッセージを生成し、コントローラに無効Packet-inメッセージを送信し、コントローラは、SDNネットワーク内にないまたは存在すらしていない宛先ホストを検索するために、これらの無効Packet-inメッセージを処理するための膨大な量の処理リソースを消費することを必要とし、それによって、コントローラによる正常Packet-inメッセージの処理に影響を及ぼしてしまう。
したがって、ホストからコントローラへの悪意ある攻撃の検出をSDNネットワーク内で行う必要がある。現在のところ、ホストからの悪意ある攻撃を検出するための方法は、コントローラが、単位時間内に受信したPacket-inメッセージの数量に関する統計を収集することであって、Packet-inメッセージは送信元ホストとして各ホストによってそれに応じて生成されたものである、収集をし、各ホストが送信元ホストとしてPacket-inメッセージを生成するレートを、その数量を使用して、算出し、レートに従って、各ホストがコントローラへの悪意ある攻撃を行っているかどうかを判定している。
ホストからの悪意ある攻撃を検出するためのそのような方法においては、コントローラは、各スイッチによって報告されたPacket-inメッセージを受信してPacket-inメッセージを処理する必要があり、加えて、コントローラは、単位時間内に受信したPacket-inメッセージの数量に関する統計を独立して収集することであって、Packet-inメッセージは送信元ホストとして各ホストによってそれに応じて生成されたものである、収集をし、その後、各ホストがコントローラへの悪意ある攻撃を行っているかどうかを判定する必要がさらにある。コントローラによって処理されるデータ量が大きくなり、コントローラの性能は低くなる。
本発明の実施形態は、悪意ある攻撃の検出方法および装置を提供しており、その結果、ホストからの悪意ある攻撃を検出することを可能とし、コントローラのデータ処理量を低減することを可能とし、コントローラの性能を改善することを可能としている。
第1の態様によれば、悪意ある攻撃の検出方法を提供しており、方法は、
第1のスイッチによって送信されたPacket-inメッセージを、コントローラによって、受信するステップであって、Packet-inメッセージは、第1のスイッチがフローエントリを見つけていないデータパケットの送信元ホスト識別子および宛先ホスト識別子を含む、ステップと、
宛先ホスト識別子によって示されているホストがSDNネットワーク内に存在していないと判定した場合には、第1のスイッチに異常フローエントリを、コントローラによって、送信するステップであって、異常フローエントリが送信元ホスト識別子を含む、ステップと、
第1のスイッチによって送信されたトリガ処理カウントを、コントローラによって、受信するステップであって、異常フローエントリがタイムアウトした後に、トリガ処理カウントが第1のスイッチによって送信され、トリガ処理カウントは異常フローエントリがトリガされた回数である、ステップと、
悪意ある攻撃が送信元ホスト識別子によって示されている送信元ホストから開始されているかどうかを、トリガ処理カウントに従い、コントローラによって、判定するステップとを含む。
第1の態様に準拠している、第1の態様の第1の可能な実施様態においては、悪意ある攻撃が送信元ホスト識別子によって示されている送信元ホストから開始されているかどうかを、トリガ処理カウントに従い、コントローラによって、判定するステップは、
トリガ処理カウントおよび異常フローエントリの時効時間に従って異常フローエントリのトリガ処理レートを、コントローラによって、算出するステップと、
トリガ処理レートがレート閾値より大きいかどうかを、コントローラによって、判定し、トリガ処理レートがレート閾値より大きい場合には、悪意ある攻撃が送信元ホストから開始されていると、コントローラによって、判定する、または、トリガ処理レートがレート閾値より大きくない場合には、悪意ある攻撃が送信元ホストから開始されていないと、コントローラによって、判定するステップとを含む。
第1の態様に準拠している、第1の態様の第2の可能な実施様態においては、悪意ある攻撃が送信元ホスト識別子によって示されている送信元ホストから開始されているかどうかを、トリガ処理カウントに従い、コントローラによって、判定するステップは、
トリガ処理カウントがカウント閾値より大きいかどうかを、コントローラによって、判定し、トリガ処理カウントがカウント閾値より大きい場合には、悪意ある攻撃が送信元ホストから開始されていると、コントローラによって、判定する、または、トリガ処理カウントがカウント閾値より大きくない場合には、悪意ある攻撃が送信元ホストから開始されていないと、コントローラによって、判定するステップを含む。
第1の態様、および/または第1の態様の第1の可能な実施様態、および/または第1の態様の第2の可能な実施様態に準拠している、第1の態様の第3の可能な実施様態においては、第1のスイッチに異常フローエントリを、コントローラによって、送信するステップの前に、方法は、
送信元ホスト識別子によって示されている送信元ホストの異常フローエントリが第1のスイッチに配信されているかどうかを、コントローラによって、判定し、送信元ホスト識別子によって示されている送信元ホストの異常フローエントリが第1のスイッチに配信されていない場合には、第1のスイッチに異常フローエントリを送信するステップを、コントローラによって、行うステップをさらに含む。
第1の態様、および/または第1の態様の第1の可能な実施様態、および/または第1の態様の第2の可能な実施様態、および/または第1の態様の第3の可能な実施様態に準拠している、第1の態様の第4の可能な実施様態においては、方法は、
第1のスイッチ内の最終フローテーブルが送信元ホスト識別子照合領域を含む精密照合テーブルであると判定した場合には、第1のスイッチに第1の命令を、コントローラによって、送信するステップであって、第1の命令は、第1のスイッチが最終フローテーブルに異常フローエントリを記憶することができるように、精密照合テーブルを送信元ホスト識別子照合領域のみを照合する精密照合テーブルとして設定するように第1のスイッチに命令するために使用される、ステップをさらに含む。
第1の態様、および/または第1の態様の第1の可能な実施様態、および/または第1の態様の第2の可能な実施様態、および/または第1の態様の第3の可能な実施様態に準拠している、第1の態様の第5の可能な実施様態においては、方法は、
第1のスイッチ内の最終フローテーブルが精密照合テーブルであるとともに、送信元ホスト識別子照合領域を含むワイルドカードテーブルが第1のスイッチ内に存在していると判定した場合には、第1のスイッチに第2の命令を、コントローラによって、送信するステップであって、第2の命令は、第1のスイッチが最終フローテーブルに異常フローエントリを記憶することができるように、最終フローテーブルとなるように送信元ホスト識別子照合領域を含むワイルドカードテーブルを調整するように第1のスイッチに命令するために使用される、ステップをさらに含む。
第1の態様、および/または第1の態様の第1の可能な実施様態、および/または第1の態様の第2の可能な実施様態、および/または第1の態様の第3の可能な実施様態、および/または第1の態様の第4の可能な実施様態、および/または第1の態様の第5の可能な実施様態に準拠している、第1の態様の第6の可能な実施様態においては、異常フローエントリの優先度は、第1のスイッチ内のフローエントリの最低優先度である。
第1の態様、および/または第1の態様の第1の可能な実施様態、および/または第1の態様の第2の可能な実施様態、および/または第1の態様の第3の可能な実施様態、および/または第1の態様の第4の可能な実施様態、および/または第1の態様の第5の可能な実施様態、および/または第1の態様の第6の可能な実施様態に準拠している、第1の態様の第7の可能な実施様態においては、方法は、
悪意ある攻撃が送信元ホスト識別子によって示されている送信元ホストから開始されていると、トリガ処理カウントに従って、判定した場合には、第1のスイッチに第3の命令を、コントローラによって、送信するステップであって、第3の命令は、送信元ホストからのデータパケットを抑制するように第1のスイッチに命令するために使用される、ステップをさらに含む。
第2の態様によれば、悪意ある攻撃の検出方法を提供しており、方法は、
データパケットに対応するフローエントリが見つからないと判定された場合には、コントローラにPacket-inメッセージを、第1のスイッチによって、送信するステップであって、Packet-inメッセージは、データパケットの送信元ホスト識別子および宛先ホスト識別子を含む、ステップと、
異常フローエントリを、第1のスイッチによって、受信して保存するステップであって、宛先ホスト識別子によって示されているホストがSDNネットワーク内に存在していないと判定した場合には、異常フローエントリがコントローラによって送信される、ステップと、
異常フローエントリのトリガ処理カウントを、異常フローエントリの時効時間内に、第1のスイッチによって、受信して、コントローラが、悪意ある攻撃が送信元ホスト識別子によって示されている送信元ホストから開始されているかどうかを、トリガ処理カウントに従って、判定することができるように、異常フローエントリがタイムアウトした後に、コントローラにトリガ処理カウントを送信するステップとを含む。
第2の態様に準拠している、第2の態様の第1の可能な実施様態においては、方法は、
コントローラによって送信された第1の命令を、第1のスイッチによって、受信するステップと、最終フローテーブルであるローカル精密照合テーブルを送信元ホスト識別子照合領域のみを照合する精密照合テーブルとして、第1の命令に従って、設定するステップをさらに含む、または、
コントローラによって送信された第2の命令を、第1のスイッチによって、受信するステップと、第2の命令に従って最終フローテーブルとなるように送信元ホスト識別子照合領域を含むワイルドカードテーブルを調整するステップをさらに含む。
第2の態様の第1の可能な実施様態に準拠している、第2の態様の第2の可能な実施様態においては、異常フローエントリを、第1のスイッチによって、保存するステップは、
最終フローテーブルに異常フローエントリを、第1のスイッチによって、保存するステップを含む。
第2の態様、および/または第2の態様の第1の可能な実施様態、および/または第2の態様の第2の可能な実施様態に準拠している、第2の態様の第3の可能な実施様態においては、方法は、
コントローラによって送信された第3の命令を、第1のスイッチによって、受信するステップであって、悪意ある攻撃が送信元ホスト識別子によって示されている送信元ホストから開始されていると、トリガ処理カウントに従って、判定した場合には、第3の命令がコントローラによって送信される、ステップと、
送信元ホストからのデータパケットを、第3の命令に従い、第1のスイッチによって、抑制するステップとをさらに含む。
第3の態様によれば、悪意ある攻撃の検出装置を提供しており、装置は、
第1のスイッチによって送信されたPacket-inメッセージを受信するように構成される、第1の受信ユニットであって、Packet-inメッセージは、第1のスイッチがフローエントリを見つけていないデータパケットの送信元ホスト識別子および宛先ホスト識別子を含む、第1の受信ユニットと、
第1の受信ユニットによって受信した宛先ホスト識別子によって示されているホストがSDNネットワーク内に存在していないと判定された場合には、第1のスイッチに異常フローエントリを送信するように構成される、第1の送信ユニットであって、異常フローエントリは、送信元ホスト識別子を含み、
第1の受信ユニットは、第1のスイッチによって送信されたトリガ処理カウントを受信するようにさらに構成され、トリガ処理カウントは、異常フローエントリがタイムアウトした後に、第1のスイッチによって送信され、トリガ処理カウントは、異常フローエントリがトリガされた回数である、第1の送信ユニットと、
悪意ある攻撃が送信元ホスト識別子によって示されている送信元ホストから開始されているかどうかを、第1の受信ユニットによって受信したトリガ処理カウントに従って、判定するように構成される、検出ユニットとを備える。
第3の態様に準拠している、第3の態様の第1の可能な実施様態においては、検出ユニットは、
第1の受信ユニットによって受信したトリガ処理カウントおよび異常フローエントリの時効時間に従って異常フローエントリのトリガ処理レートを算出し、
トリガ処理レートがレート閾値より大きいかどうかを判定し、トリガ処理レートがレート閾値より大きい場合には、悪意ある攻撃が送信元ホストから開始されていると判定する、または、トリガ処理レートがレート閾値より大きくない場合には、悪意ある攻撃が送信元ホストから開始されていないと判定するように特に構成される。
第3の態様に準拠している、第3の態様の第2の可能な実施様態においては、検出ユニットは、
トリガ処理カウントがカウント閾値より大きいかどうかを判定し、トリガ処理カウントがカウント閾値より大きい場合には、悪意ある攻撃が送信元ホストから開始されていると判定する、または、トリガ処理カウントがカウント閾値より大きくない場合には、悪意ある攻撃が送信元ホストから開始されていないと判定するように特に構成される。
第3の態様、および/または第3の態様の第1の可能な実施様態、および/または第3の態様の第2の可能な実施様態に準拠している、第3の態様の第3の可能な実施様態においては、装置は、
送信元ホスト識別子によって示されている送信元ホストの異常フローエントリが第1のスイッチに配信されているかどうかを判定し、送信元ホスト識別子によって示されている送信元ホストの異常フローエントリが第1のスイッチに配信されていない場合には、異常フローエントリを第1のスイッチに送信するように第1の送信ユニットをトリガするように構成される、判定ユニットをさらに備える。
第3の態様、および/または第3の態様の第1の可能な実施様態、および/または第3の態様の第2の可能な実施様態、および/または第3の態様の第3の可能な実施様態に準拠している、第3の態様の第4の可能な実施様態においては、第1の送信ユニットは、第1のスイッチ内の最終フローテーブルが送信元ホスト識別子照合領域を含む精密照合テーブルであると判定された場合には、第1のスイッチが最終フローテーブルに異常フローエントリを記憶することができるように、精密照合テーブルを送信元ホスト識別子照合領域のみを照合する精密照合テーブルとして設定するように第1のスイッチに命令するようにさらに構成される。
第3の態様、および/または第3の態様の第1の可能な実施様態、および/または第3の態様の第2の可能な実施様態、および/または第3の態様の第3の可能な実施様態に準拠している、第3の態様の第5の可能な実施様態においては、第1の送信ユニットは、
第1のスイッチ内の最終フローテーブルが精密照合テーブルであるとともに、送信元ホスト識別子照合領域を含むワイルドカードテーブルが第1のスイッチ内に存在していると判定された場合には、第1のスイッチに第2の命令を送信するようにさらに構成され、第2の命令は、第1のスイッチが最終フローテーブルに異常フローエントリを記憶することができるように、最終フローテーブルとなるように送信元ホスト識別子照合領域を含むワイルドカードテーブルを調整するように第1のスイッチに命令するために使用される。
第3の態様、および/または第3の態様の第1の可能な実施様態、および/または第3の態様の第2の可能な実施様態、および/または第3の態様の第3の可能な実施様態、および/または第3の態様の第4の可能な実施様態、および/または第3の態様の第5の可能な実施様態に準拠している、第3の態様の第6の可能な実施様態においては、第1の送信ユニットは、
悪意ある攻撃が送信元ホスト識別子によって示されている送信元ホストから開始されていると、トリガ処理カウントに従って、判定された場合には、第1のスイッチに第3の命令を送信するようにさらに構成され、第3の命令は、送信元ホストからのデータパケットを抑制するように第1のスイッチに命令するために使用される。
4の態様によれば、悪意ある攻撃の検出装置を提供しており、装置は、
データパケットに対応するフローエントリが見つからないと判定された場合には、コントローラにPacket-inメッセージを送信するように構成される、第2の送信ユニットであって、Packet-inメッセージは、データパケットの送信元ホスト識別子および宛先ホスト識別子を含む、第2の送信ユニットと、
異常フローエントリを受信するように構成される、第2の受信ユニットであって、宛先ホスト識別子によって示されているホストがSDNネットワーク内に存在していないと判定した場合には、異常フローエントリがコントローラによって送信される、第2の受信ユニットと、
第2の受信ユニットによって受信した異常フローエントリを保存するように構成される、記憶ユニットと、
異常フローエントリのトリガ処理カウントを、記憶ユニットによって保存されている異常フローエントリの時効時間内に、記録するように構成される、カウント記録ユニットとを備え、
第2の送信ユニットは、コントローラが、悪意ある攻撃が送信元ホスト識別子によって示されている送信元ホストから開始されているかどうかを、トリガ処理カウントに従って、判定することができるように、記憶ユニットによって保存されている異常フローエントリがタイムアウトした後に、カウント記録ユニットによって記録されているトリガ処理カウントをコントローラに送信するようにさらに構成される。
4の態様に準拠している、第4の態様の第1の可能な実施様態においては、第2の受信ユニットは、コントローラによって送信された第1の命令を受信するようにさらに構成され、
装置は、最終フローテーブルであるローカル精密照合テーブルを送信元ホスト識別子照合領域のみを照合する精密照合テーブルとして、第1の命令に従って、設定するように構成される、設定ユニットをさらに備える、または、
第2の受信ユニットは、コントローラによって送信された第2の命令を受信するようにさらに構成され、
装置は、第2の命令に従って最終フローテーブルとなるように送信元ホスト識別子照合領域を含むワイルドカードテーブルを調整するように構成される、設定ユニットをさらに備える。
第4の態様の第1の可能な実施様態に準拠している、第4の態様の第2の可能な実施様態においては、記憶ユニットは、最終フローテーブルに異常フローエントリを保存するように特に構成される。
4の態様、および/または第4の態様の第1の可能な実施様態、および/または第4の態様の第2の可能な実施様態に準拠している、第4の態様の第3の可能な実施様態においては、第2の受信ユニットは、コントローラによって送信された第3の命令を受信するようにさらに構成され、
装置は、送信元ホストからのデータパケットを抑制するように構成される、制御ユニットをさらに備える。
実施形態では、コントローラは、第1のスイッチによって送信されたPacket-inメッセージであって、第1のスイッチがフローエントリを見つけていないデータパケットの送信元ホスト識別子および宛先ホスト識別子を含む、Packet-inメッセージを受信し、宛先ホスト識別子によって示されているホストがSDNネットワーク内に存在していないと判定した場合には、コントローラは、第1のスイッチに異常フローエントリであって、送信元ホスト識別子を含む、異常フローエントリを送信し、コントローラは、異常フローエントリがタイムアウトした後に第1のスイッチによって送信された、異常フローエントリの、トリガ処理カウントを受信し、コントローラは、悪意ある攻撃が送信元ホスト識別子によって示されている送信元ホストから開始されているかどうかを、トリガ処理カウントに従って、判定する。実施形態では、コントローラは、各ホストに対応するPacket-inメッセージに関する統計を収集する必要がなくなり、その代わりに、第1のスイッチが、異常フローエントリのトリガ処理カウントを使用して統計を収集する。このように、元々はコントローラによって行われていたメッセージ統計収集を実行のために各スイッチに分散しており、それによって、コントローラのデータ処理量を低減し、コントローラの性能を改善している。
本発明または従来技術の実施形態における技術的解決手法をより明確に記載するために、実施形態を記載するために必要となる添付の図面を以下に簡単に紹介する。以下の記載における添付の図面が本発明の一部の実施形態を示しているにすぎず、当業者が創造的努力なしにこれらの添付の図面から他の図面をさらに導出し得ることは明らかであろう。
従来技術における、SDNネットワーク内のホスト通信シナリオ1の概略図である。 従来技術における、SDNネットワーク内のホスト通信シナリオ2の概略図である。 従来技術における、スイッチ内のフローテーブルの概略構造図である。 本発明による、悪意ある攻撃の検出方法の第1の実施形態の概略フローチャートである。 本発明による、悪意ある攻撃の検出方法の第2の実施形態の概略フローチャートである。 本発明による、悪意ある攻撃の検出方法の第3の実施形態の概略フローチャートである。 最終フローテーブルである精密照合テーブルが本発明に従って設定される前とされた後との比較の図である。 精密照合テーブルとワイルドカードテーブルとの位置を本発明に従って入れ替える前の構造図である。 精密照合テーブルとワイルドカードテーブルとの位置を本発明に従って入れ替えた後の構造図である。 本発明による、異常フローエントリの実施の概略図である。 本発明による、悪意ある攻撃の検出装置の第1の実施形態の概略構造図である。 本発明による、悪意ある攻撃の検出装置の第2の実施形態の概略構造図である。 本発明による、コントローラの概略構造図である。 本発明による、スイッチの概略構造図である。
まず、スイッチ内のフローテーブルおよびフローテーブル構造を記載する。
一般的に、スイッチは、最小で1個のフローテーブルを、最大で255個のフローテーブルを備える。スイッチは、Pipelineを備え、スイッチのフローテーブルは、シーケンス内のPipelineに配置されている。スイッチは、スイッチ内のすべてのフローテーブルを必ずしも使用するわけではなく、フローテーブルの一部のみを使用し得る。例えば、図2Aのスイッチは、10個のフローテーブルを備えていてもよいが、スイッチは、Pipeline内の最初の7個のフローテーブルtable0からtable6のみを実際に使用し、後の3個のフローテーブルtable7からtable9は、図示しておらず、スイッチによって使用されない。フローエントリは、フローテーブルに記憶されており、2つのホスト間の転送経路を記録するために使用される。
図2Aに示したように、データパケットを受信した場合には、データパケットに一致し得るフローエントリが見つかるまで、またはデータパケットに一致し得るフローエントリが見つからないまま最終フローテーブルが検索されるまで、スイッチは、シーケンス内のPipelineのフローテーブルからデータパケットに一致し得るフローエントリを、データパケットに従って、検索する。
フローテーブルは、スイッチの転送ポリシーの核心部であり、従来のルータのルーティングテーブルに類似するものであり、スイッチのストレージリソースの大半を占有している。フローテーブルは、ワイルドカードテーブルと精密照合テーブルとの2つのタイプに分類され得る。
精密照合テーブルでは、具体的な値をフローエントリのすべての照合領域に与える必要がある。データパケットが精密照合テーブル内のフローエントリと一致している場合には、データパケットのすべての照合領域の値とフローエントリのそれらとが対応部分において等しい場合にのみデータパケットとフローエントリとが一致しているとみなされる。例えば、表1に示したように、精密照合テーブルは、送信元インターネットプロトコル(Src IP)、宛先インターネットプロトコル(Dst IP)、送信元ポート(SrcPort)、宛先ポート(DstPort)、およびIPプロトコル(IP Protocol)といった5つの照合領域と、アクション書き込み(Write Actions)、メタデータ書き込み(Write Metadata)、およびテーブル移動(GoToTable)といった3つの命令(Instructions)とを含む。表1に示したフローエントリ内の各照合領域は、具体的な値を有する。データパケットがフローエントリと一致している場合には、データパケットのSrc IP、Dst IP、SrcPort、DstPort、およびIP Protocolといった5つの照合領域の値とフローエントリのそれらとが対応部分において等しい場合にのみデータパケットがフローエントリに一致しているとみなされる。
ワイルドカードテーブルでは、値をフローエントリの照合領域の一部のみに与えるだけでよい。データパケットがワイルドカードテーブル内のフローエントリと一致している場合には、データパケットの照合領域の一部の値とフローエントリのそれらとが対応部分において等しいならばデータパケットとフローエントリとが一致しているとみなされる。例えば、表2に示したように、ワイルドカードテーブルは、Src IP、Dst IP、SrcPort、DstPort、およびIP Protocolといった5つの照合領域と、Actions、Write Metadata、およびGoToTableといった3つの命令とを含んでおり、表2に示したフローエントリ内の照合領域Dst IPのみが具体的な値192.168.20.1を有している。データパケットが照合テーブル内のフローエントリに一致している場合には、データパケット内の照合領域Dst IPの値も192.168.20.1であるならばデータパケットと表2に示したフローエントリとが一致しているとみなされる。
本発明の実施形態における添付の図面を参照して、本発明の実施形態における技術的解決手法を以下に明確かつ完全に記載する。記載した実施形態が本発明の実施形態のすべてのというより一部にすぎないことは明白であろう。創造的努力なしに本発明の実施形態に基づいて当業者によって得られる他の実施形態のすべては、本発明の保護範囲に含まれるものとする。
図3を参照すれば、図3は、本発明による、悪意ある攻撃の検出方法の第1の実施形態の概略図であり、方法は、以下のステップを含む。
ステップ301: コントローラは、第1のスイッチによって送信されたPacket-inメッセージを受信する、ここで、Packet-inメッセージは、第1のスイッチがフローエントリを見つけていないデータパケットの送信元ホスト識別子および宛先ホスト識別子を含む。
ステップ302: 宛先ホスト識別子によって示されているホストがSDNネットワーク内に存在していないと判定した場合には、コントローラは、第1のスイッチに異常フローエントリを送信する、ここで、異常フローエントリは、送信元ホスト識別子を含む。
ステップ303: コントローラは、第1のスイッチによって送信されたトリガ処理カウントを受信する、ここで、トリガ処理カウントは、異常フローエントリがタイムアウトした後に、第1のスイッチによって送信され、トリガ処理カウントは、異常フローエントリがトリガされた回数である。
ステップ304: コントローラは、悪意ある攻撃が送信元ホスト識別子によって示されている送信元ホストから開始されているかどうかを、トリガ処理カウントに従って、判定する。
本実施形態においては、コントローラは、各ホストに対応するPacket-inメッセージに関する統計を収集する必要がなくなり、その代わりに、第1のスイッチに異常フローエントリを送信しており、第1のスイッチが、異常フローエントリのトリガ処理カウントに関する統計を収集して、コントローラにトリガ処理カウントを報告し、コントローラが、悪意ある攻撃が送信元ホスト識別子によって示されている送信元ホストから開始されているかどうかを、トリガ処理カウントに従って、直接判定する。このように、元々はコントローラによって行われていたメッセージ統計収集を実行のために各スイッチに分散しており、それによって、コントローラのデータ処理量を低減し、コントローラの性能を改善している。
図4を参照すれば、図4は、本発明による、悪意ある攻撃の検出方法の第2の実施形態の概略図であり、方法は、以下のステップを含む。
ステップ401: データパケットに対応するフローエントリが見つからないと判定した場合には、第1のスイッチは、コントローラにPacket-inメッセージを送信する、ここで、Packet-inメッセージは、データパケットの送信元ホスト識別子および宛先ホスト識別子を含む。
ステップ402: 第1のスイッチは、コントローラによって送信された異常フローエントリを受信および保存する、ここで、宛先ホスト識別子によって示されているホストがSDNネットワーク内に存在していないと判定した場合には、異常フローエントリがコントローラによって送信される。
ステップ403: 第1のスイッチは、異常フローエントリの時効時間内に、異常フローエントリのトリガ処理カウントを記録し、コントローラが、悪意ある攻撃が送信元ホスト識別子によって示されている送信元ホストから開始されているかどうかを、トリガ処理カウントに従って、判定することができるように、異常フローエントリがタイムアウトした後に、コントローラにトリガ処理カウントを送信する。
本実施形態においては、コントローラは、各ホストに対応するPacket-inメッセージに関する統計を収集する必要がなくなり、その代わりに、第1のスイッチが、異常フローエントリのトリガ処理カウントに関する統計を収集して、コントローラにトリガ処理カウントを報告し、コントローラが、悪意ある攻撃が送信元ホスト識別子によって示されている送信元ホストから開始されているかどうかを、トリガ処理カウントに従って、直接判定する。このように、元々はコントローラによって行われていたメッセージ統計収集を実行のために各スイッチに分散しており、それによって、コントローラのデータ処理量を低減し、コントローラの性能を改善している。
図5を参照すれば、図5は、本発明による、悪意ある攻撃の検出方法の第3の実施形態の概略図であり、方法は、以下のステップを含む。
ステップ501: コントローラは、第1のスイッチ内のフローテーブル構造を取得し、第1のスイッチ内の最終フローテーブルが送信元ホスト識別子照合領域を含む精密照合テーブルであると判定した場合には、第1のスイッチに第1の命令を送信する、ここで、第1の命令は、精密照合テーブルを送信元ホスト識別子照合領域のみを照合する精密照合テーブルとして設定するように第1のスイッチに命令するために使用される。
コントローラがTABLE_FEATURESタイプのMultipartメッセージを使用してスイッチ内の各フローテーブルの照合領域タイプを設定してもよいことが、OpenFlow1.3プロトコルに規定されている。したがって、本ステップにおいては、コントローラはまた、本方法を使用して、送信元ホスト識別子照合領域を含む精密照合テーブルを送信元ホスト識別子照合領域のみを照合する精密照合テーブルとして設定してもよい。
例えば、送信元ホスト識別子が送信元ホストMACアドレスであり、送信元ホスト識別子照合領域がETH_SRC照合領域を使用して実施され、第1のスイッチの最終フローテーブルがEth_type、Eth_src、Eth_dst、およびIn_portといった4つの照合領域を有する精密照合テーブルであることを想定している、図5Aを参照すれば、コントローラは、テーブル特性(TABLE_FEATURES)タイプのMultipartメッセージを配信することによって、精密照合テーブルをEth_src照合領域のみを照合する精密照合テーブルとして設定するように第1のスイッチに命令してもよい。
本ステップの目的は、第1のスイッチ内の最終フローテーブルが、送信元ホスト識別子照合領域を含むワイルドカードテーブル、または、送信元ホスト識別子照合領域のみを照合する精密照合テーブルであることを保証することにある。したがって、ステップ501をさらに、以下のステップと置き換えてもよい。
コントローラは、第1のスイッチ内のフローテーブル構造を取得し、第1のスイッチ内の最終フローテーブルが精密照合テーブルまたは送信元ホスト識別子照合領域を含まないワイルドカードテーブルであると判定した場合には、および送信元ホスト識別子照合領域を含むワイルドカードテーブルが第1のスイッチ内に存在していると判定した場合には、第1のスイッチに第2の命令を送信する、ここで、第2の命令は、最終フローテーブルとなるように送信元ホスト識別子照合領域を含むワイルドカードテーブルを調整するように第1のスイッチに命令するために使用される。
OpenFlow1.2プロトコル以降では、コントローラは、スイッチ内のフローテーブルを再配置するようにスイッチに、カスタムメッセージを使用して、命令し得る、したがって、コントローラは、最終フローテーブルとなるように送信元ホスト識別子照合領域を含むワイルドカードテーブルを調整するようにスイッチに、カスタムメッセージを使用して、命令し得る。第1のスイッチは、最終精密照合テーブルとワイルドカードテーブルとの位置を直接入れ替えてもよく、それによって、最終フローテーブルとなるように送信元ホスト識別子照合領域を含むワイルドカードテーブルを調整している。または、第1のスイッチは、第1のスイッチ内のフローテーブルを再配置してもよく、それによって、最終フローテーブルとなるように送信元ホスト識別子照合領域を含むワイルドカードテーブルを調整している。例えば、送信元ホスト識別子が送信元ホストMACアドレスであり、送信元ホスト識別子照合領域がEth_src照合領域を使用して実施されることが想定される。第1のスイッチが5個のフローテーブルを含み、フローテーブルの調整の前には、PipelineのTable2がEth_src照合領域を含むワイルドカードテーブルであり、Table4がEth_src照合領域を含まない精密照合テーブルであることを想定している、図5Bを参照すれば、コントローラは、フローテーブルTable2とTable4とを入れ替えるように第1のスイッチに命令し得る。フローテーブルの調整後の構造については、図5Cを参照してほしい。実際のところは、Table2は、元Table4の精密照合テーブルであり、Table4は、元Table2のワイルドカードテーブルである。
第1のスイッチがコントローラにアクセスする場合には、ステップ501および前述のステップ501の代替ステップを行ってもよい。
ステップ502: 第1のスイッチは、送信元ホストによって送信されたデータパケットを受信し、データパケットのフローエントリがローカルフローテーブル内で見つからなかった場合には、Packet-inメッセージを生成する、ここで、Packet-inメッセージは、データパケットの送信元ホスト識別子および宛先ホスト識別子を含む。
送信元ホスト識別子は、送信元ホストのMACアドレス、IPアドレス、入力インターフェースなどであってもよいが、本明細書ではそれに限定されない。
第1のスイッチがローカルフローテーブル内でデータパケットのフローエントリを見つけた場合には、図1に示したように、第1のスイッチは、フローエントリに従ってデータパケットを転送する。詳細をここでは記載しない。
ステップ503: コントローラは、第1のスイッチによって送信されたPacket-inメッセージを受信し、宛先ホスト識別子によって示されているホストがSDNネットワーク内に存在していないと判定した場合には、コントローラは、送信元ホスト識別子によって示されている送信元ホストの異常フローエントリが第1のスイッチに配信されているかどうかを判定し、送信元ホスト識別子によって示されている送信元ホストの異常フローエントリが第1のスイッチに配信されていない場合には、送信元ホスト識別子を含む異常フローエントリを第1のスイッチに送信して、ステップ504を行う、送信元ホスト識別子によって示されている送信元ホストの異常フローエントリが第1のスイッチに配信されている場合には、本分岐の処理手続きが終了する。
宛先ホスト識別子によって示されているホストがSDNネットワーク内に存在しているとコントローラが判定した場合のコントローラの処理方法については、図2およびその対応する記載を参照してほしい。詳細をここでは記載しない。
異常フローエントリの実施は、正常フローエントリと同一であってもよく、いわゆる異常フローエントリは、コントローラによって送信された正常フローエントリと区別するために使用され、コントローラが宛先ホストを見つけることができなかった場合にフローエントリが送信されることを表すために使用されているにすぎない。
コントローラにおいて、異常フローエントリ配信フラグが、各ホストに対して設定されていてもよく、コントローラが対応するホストの異常フローエントリを配信するかどうかが、yesおよびnoなどの異なるフラグ値を使用して識別される。本ステップにおいては、コントローラが、送信元ホスト識別子によって示されている送信元ホストの異常フローエントリが第1のスイッチに配信されているかどうかを、送信元ホストに対応する異常フローエントリ配信フラグを使用して、判定してもよい。さらに、本ステップにおいては、第1のスイッチに異常フローエントリを送信した後に、コントローラは、送信元ホストに対応する異常フローエントリ配信フラグのフラグ値をリセット、例えば、noからyesへとフラグ値をリセットする必要がある。ステップ507においては、トリガ処理カウントを受信した後に、コントローラは、送信元ホストに対応する異常フローエントリ配信フラグのフラグ値をリセット、例えば、yesからnoへとフラグ値をリセットする必要がある。
ステップ504: 第1のスイッチは、異常フローエントリを受信し、最終フローテーブルに異常フローエントリを記憶する。
可能な実施様態においては、異常フローエントリは、検出されることになるホストのMACアドレス、すなわち、送信元ホストのMACアドレスを記録するために使用される、ETH_SRC照合領域と、スイッチによって実行される演算を記録するために使用される、actionと、異常フローエントリのアイドル時効時間を記録するために使用される、idle_timeoutと、異常フローエントリの時効時間を記録するために使用される、hard_timeoutと、異常フローエントリの属性を記録するために使用される、flagと、異常フローエントリの優先度を記録するために使用される、priorityとを含んでいてもよい。例えば、図5Dに示した異常フローエントリの実施においては、ETH_SRC照合領域の値は11:22:33:44:55:66であり、actionの値はコントローラに出力され、idle_timeoutの値は0であり、hard_timeoutの値は1であり、flagの値はSEND_FLOW_REM+CHECK_OVERLAPであり、priorityの値は最低優先度の0である。
必要に応じて、コントローラによって配信された異常フローエントリの優先度は、好ましくは、第1のスイッチ内のフローエントリの最低優先度である。
ステップ505: 第1のスイッチは、異常フローエントリの時効時間内に、異常フローエントリのトリガ処理カウントを記録する。
実際の適用においては、異常フローエントリがトリガされた場合には、好ましくは、第1のスイッチは、従来技術などでは、対応するPacket-inメッセージをコントローラに報告し続ける。異常フローエントリの最低優先度と最終フローテーブルに異常フローエントリを記憶する処理とを組み合わせて、本発明の本実施形態は、以下の利点をさらに有する。
送信元ホストAによって第1のスイッチに送信されたデータパケットの宛先ホストBを見つけることができなかった初期理由が、宛先ホストBが電源を投入されていないなどによるものであると想定されるのであれば、コントローラは、異常フローエントリを配信する。
異常フローエントリがトリガされた際に第1のスイッチが対応するPacket-inメッセージをコントローラに報告する場合には、宛先ホストBが異常フローエントリの時効時間内に電源投入されたならば、宛先ホストBが電源投入された後に、送信元ホストAの識別子および宛先ホストBの識別子を搬送するとともに第1のスイッチによって送信されたPacket-inメッセージを受信すると、コントローラは、宛先ホストBを見つけて、第1のスイッチに送信元ホストAおよび宛先ホストBに関する正常フローエントリを配信することが可能となる。
この場合には、異常フローエントリは、最低優先度を有するとともに、最終フローテーブルに記憶されているので、送信元ホストAから宛先ホストBへのデータパケットを再び受信した場合には、第1のスイッチは、正常フローエントリとデータパケットとをまず照合し、異常フローエントリをトリガせずに、正常フローエントリを使用してデータパケットを転送する。
したがって、本発明の本実施形態の前述の処理は、この場合には、異常フローエントリをトリガし続けてしまうことから第1のスイッチを防ぐとともに、トリガ処理カウントに関する統計を収集することが可能であり、この場合には、送信元ホストAから宛先ホストBへのデータパケットを正常に転送することができなくなってしまうことから第1のスイッチを防ぐことがさらに可能であり、第1のスイッチによって報告されたトリガ処理カウントに従って、送信元ホストAが悪意ある攻撃を行っていると誤って判定してしまうことからコントローラを防ぐことが可能であり、それによって、本発明の悪意ある攻撃の検出結果の精度を改善している。
ステップ506: 第1のスイッチは、異常フローエントリがタイムアウトした後に、コントローラにトリガ処理カウントを送信する。
従来技術では、フローエントリがタイムアウトした後に、スイッチが、コントローラにFlow-removedメッセージを送信して、フローエントリが期限切れしたことをコントローラに通知する場合がある。本ステップにおいては、第1のスイッチはまた、Flow-removedメッセージを使用してトリガ処理カウントを送信してもよく、特に、トリガ処理カウントは、Flow-removedメッセージ内のpacket-countフィールドで搬送されてもよい。
ステップ507: コントローラは、トリガ処理カウントを受信し、悪意ある攻撃が送信元ホスト識別子によって示されている送信元ホストから開始されているかどうかを、トリガ処理カウントに従って、判定する。
ある可能な実施様態においては、コントローラは、悪意ある攻撃が送信元ホスト識別子によって示されている送信元ホストから開始されているかどうかを、トリガ処理カウントに従って、判定することが、
トリガ処理カウントおよび異常フローエントリの時効時間に従って異常フローエントリのトリガ処理レートを、コントローラによって、算出するステップと、
トリガ処理レートがレート閾値より大きいかどうかを、コントローラによって、判定し、トリガ処理レートがレート閾値より大きい場合には、悪意ある攻撃が送信元ホストから開始されていると、コントローラによって、判定する、または、トリガ処理レートがレート閾値より大きくない場合には、悪意ある攻撃が送信元ホストから開始されていないと、コントローラによって、判定するステップとを含んでいてもよい。
第2の可能な実施様態においては、コントローラは、悪意ある攻撃が送信元ホスト識別子によって示されている送信元ホストから開始されているかどうかを、トリガ処理カウントに従って、判定することが、
トリガ処理カウントがカウント閾値より大きいかどうかを、コントローラによって、判定し、トリガ処理カウントがカウント閾値より大きい場合には、悪意ある攻撃が送信元ホストから開始されていると、コントローラによって、判定する、または、トリガ処理カウントがカウント閾値より大きくない場合には、悪意ある攻撃が送信元ホストから開始されていないと、コントローラによって、判定するステップを含んでいてもよい。
第2の可能な実施様態は、異なるスイッチにコントローラによって配信される異常フローエントリの時効時間が固定されているシナリオにおいて一般的に使用される。
レート閾値およびカウント閾値の具体的な値が実際のアプリケーション環境に従って設定されてもよいが、本発明ではそれに限定されない。
ステップ508: 悪意ある攻撃が送信元ホスト識別子によって示されている送信元ホストから開始されていると判定した場合には、コントローラは、第1のスイッチに第3の命令を送信する、ここで、第3の命令は、送信元ホストからのデータパケットを抑制するように第1のスイッチに命令するために使用される。
コントローラは、第1のスイッチに特別なフローエントリまたはアクセス制御リスト(ACL、Access Control List)を配信することによって、送信元ホストからのデータパケットを抑制してもよい。
本実施形態においては、コントローラは、各ホストに対応するPacket-inメッセージに関する統計を収集する必要がなくなり、その代わりに、第1のスイッチが、異常フローエントリのトリガ処理カウントに関する統計を収集して、コントローラにトリガ処理カウントを報告し、コントローラが、悪意ある攻撃が送信元ホスト識別子によって示されている送信元ホストから開始されているかどうかを、トリガ処理カウントに従って、直接判定する。このように、元々はコントローラによって行われていたメッセージ統計収集を実行のために各スイッチに分散しており、それによって、コントローラのデータ処理量を低減し、コントローラの性能を改善している。
加えて、異常フローエントリは、最低優先度を有しており、第1のスイッチは、最終フローテーブルに異常フローエントリを記憶しており、その結果、本発明の本実施形態における悪意ある攻撃の検出の結果はより正確なものとなっている。
図3から図5に示した悪意ある攻撃の検出方法を、指定の時点における指定のホストにおいて悪意ある攻撃の検出を行うために、スイッチおよびコントローラのオプション機能として使用してもよい。具体的な検出タイミングは、以下の事例を含んでいてもよいが、それに限定されない。
1. 連続的な検出はスイッチに接続されているホストで行われる、または、ユーザがどのホストでいつ検出を行うかを設定してもよい。
2. 検出はデフォルト設定ではホストで行わないにしても、各ポートに起因するPacket-inメッセージをスイッチが生成するレートを監視してもよい。レートがあらかじめ設定された上限閾値より大きくなった場合には、ポートに接続されているすべてのホストにおける悪意ある攻撃の検出が有効になる。
3. 検出はデフォルト設定ではホストで行わない。OpenFlow1.3プロトコルは、フローレートを監視するためのMeterを定義しており、Packet-inメッセージをスイッチが送信するレートを監視するためOFPM_CONTROLLERタイプのMeterをさらに定義している。Packet-inレートがMeterの上限レートより大きくなった場合には、スイッチに接続されているホストについての悪意ある攻撃の検出がトリガされる。
前述の方法に対応するように、本発明の実施形態は、悪意ある攻撃の検出装置、コントローラ、およびスイッチをさらに提供する。
図6を参照すれば、図6は、本発明による、悪意ある攻撃の検出装置600の第1の実施形態の概略図である。装置600は、コントローラ内に配置されてもよく、装置600は、
第1のスイッチによって送信されたPacket-inメッセージを受信するように構成される、第1の受信ユニット610であって、Packet-inメッセージは、第1のスイッチがフローエントリを見つけていないデータパケットの送信元ホスト識別子および宛先ホスト識別子を含む、第1の受信ユニット610と、
第1の受信ユニット610によって受信した宛先ホスト識別子によって示されているホストがSDNネットワーク内に存在していないと判定された場合には、第1のスイッチに異常フローエントリを送信するように構成される、第1の送信ユニット620であって、異常フローエントリは、送信元ホスト識別子を含み、
第1の受信ユニット610は、第1のスイッチによって送信されたトリガ処理カウントを受信するようにさらに構成され、トリガ処理カウントは、異常フローエントリがタイムアウトした後に、第1のスイッチによって送信され、トリガ処理カウントは、異常フローエントリがトリガされた回数である、第1の送信ユニット620と、
悪意ある攻撃が送信元ホスト識別子によって示されている送信元ホストから開始されているかどうかを、第1の受信ユニット610によって受信したトリガ処理カウントに従って、判定するように構成される、検出ユニット630とを備える。
第1の可能な実施様態においては、検出ユニット630は、
第1の受信ユニット610によって受信したトリガ処理カウントおよび異常フローエントリの時効時間に従って異常フローエントリのトリガ処理レートを算出し、
トリガ処理レートがレート閾値より大きいかどうかを判定し、トリガ処理レートがレート閾値より大きい場合には、悪意ある攻撃が送信元ホストから開始されていると判定する、または、トリガ処理レートがレート閾値より大きくない場合には、悪意ある攻撃が送信元ホストから開始されていないと判定するように特に構成されてもよい。
第2の可能な実施様態においては、検出ユニット630は、
トリガ処理カウントがカウント閾値より大きいかどうかを判定し、トリガ処理カウントがカウント閾値より大きい場合には、悪意ある攻撃が送信元ホストから開始されていると判定する、または、トリガ処理カウントがカウント閾値より大きくない場合には、悪意ある攻撃が送信元ホストから開始されていないと判定するように特に構成されてもよい。
必要に応じて、装置は、
送信元ホスト識別子によって示されている送信元ホストの異常フローエントリが第1のスイッチに配信されているかどうかを判定し、送信元ホスト識別子によって示されている送信元ホストの異常フローエントリが第1のスイッチに配信されていない場合には、異常フローエントリを第1のスイッチに送信するように第1の送信ユニット620をトリガするように構成される、判定ユニットをさらに備えていてもよい。
第1の可能な実施様態においては、第1の送信ユニット620は、第1のスイッチ内の最終フローテーブルが送信元ホスト識別子照合領域を含む精密照合テーブルであると判定された場合には、第1のスイッチが最終フローテーブルに異常フローエントリを記憶することができるように、精密照合テーブルを送信元ホスト識別子照合領域のみを照合する精密照合テーブルとして設定するように第1のスイッチに命令するようにさらに構成されてもよい。
第2の可能な実施様態においては、第1の送信ユニット620は、第1のスイッチ内の最終フローテーブルが精密照合テーブルであるとともに、送信元ホスト識別子照合領域を含むワイルドカードテーブルが第1のスイッチ内に存在していると判定された場合には、第1のスイッチに第2の命令を送信するようにさらに構成されてもよく、第2の命令は、第1のスイッチが最終フローテーブルに異常フローエントリを記憶することができるように、最終フローテーブルとなるように送信元ホスト識別子照合領域を含むワイルドカードテーブルを調整するように第1のスイッチに命令するために使用される。
必要に応じて、第1の送信ユニット620は、
悪意ある攻撃が送信元ホスト識別子によって示されている送信元ホストから開始されていると、トリガ処理カウントに従って、判定された場合には、第1のスイッチに第3の命令を送信するようにさらに構成され、第3の命令は、送信元ホストからのデータパケットを抑制するように第1のスイッチに命令するために使用される。
本実施形態においては、コントローラは、各ホストに対応するPacket-inメッセージに関する統計を収集する必要がなくなり、その代わりに、第1のスイッチに異常フローエントリを送信しており、第1のスイッチが、異常フローエントリのトリガ処理カウントに関する統計を収集して、コントローラにトリガ処理カウントを報告し、コントローラが、悪意ある攻撃が送信元ホスト識別子によって示されている送信元ホストから開始されているかどうかを、トリガ処理カウントに従って、直接判定する。このように、元々はコントローラによって行われていたメッセージ統計収集を実行のために各スイッチに分散しており、それによって、コントローラのデータ処理量を低減し、コントローラの性能を改善している。
図7を参照すれば、図7は、本発明による、悪意ある攻撃の検出装置700の第2の実施形態の概略図である。装置700は、第1のスイッチ内に配置されてもよく、装置700は、
データパケットに対応するフローエントリが見つからないと判定された場合には、コントローラにPacket-inメッセージを送信するように構成される、第2の送信ユニット710であって、Packet-inメッセージは、データパケットの送信元ホスト識別子および宛先ホスト識別子を含む、第2の送信ユニット710と、
コントローラによって送信された異常フローエントリを受信するように構成される、第2の受信ユニット720であって、宛先ホスト識別子によって示されているホストがSDNネットワーク内に存在していないと判定した場合には、異常フローエントリがコントローラによって送信される、第2の受信ユニット720と、
第2の受信ユニット720によって受信した異常フローエントリを保存するように構成される、記憶ユニット730と、
異常フローエントリのトリガ処理カウントを、記憶ユニット730によって保存されている異常フローエントリの時効時間内に、記録するように構成される、カウント記録ユニット740とを備え、
第2の送信ユニット710は、コントローラが、悪意ある攻撃が送信元ホスト識別子によって示されている送信元ホストから開始されているかどうかを、トリガ処理カウントに従って、判定することができるように、記憶ユニットによって保存されている異常フローエントリがタイムアウトした後に、コントローラにトリガ処理カウントを送信するようにさらに構成される。
必要に応じて、第2の受信ユニット720は、コントローラによって送信された第1の命令を受信するようにさらに構成されてもよく、
装置は、最終フローテーブルであるローカル精密照合テーブルを送信元ホスト識別子照合領域のみを照合する精密照合テーブルとして、第1の命令に従って、設定するように構成される、設定ユニットをさらに備える、または、
第2の受信ユニット720は、コントローラによって送信された第2の命令を受信するようにさらに構成されてもよく、
装置は、第2の命令に従って最終フローテーブルとなるように送信元ホスト識別子照合領域を含むワイルドカードテーブルを調整するように構成される、設定ユニットをさらに備える。
必要に応じて、記憶ユニット730は、最終フローテーブルに異常フローエントリを保存するように特に構成されてもよい。
必要に応じて、第2の受信ユニット720は、コントローラによって送信された第3の命令を受信するようにさらに構成されてもよく、
装置は、送信元ホストからのデータパケットを抑制するように構成される、制御ユニットをさらに備えていてもよい。
本実施形態においては、コントローラは、各ホストに対応するPacket-inメッセージに関する統計を収集する必要がなくなり、その代わりに、第1のスイッチが、異常フローエントリのトリガ処理カウントに関する統計を収集して、コントローラにトリガ処理カウントを報告し、コントローラが、悪意ある攻撃が送信元ホスト識別子によって示されている送信元ホストから開始されているかどうかを、トリガ処理カウントに従って、直接判定する。このように、元々はコントローラによって行われていたメッセージ統計収集を実行のために各スイッチに分散しており、それによって、コントローラのデータ処理量を低減し、コントローラの性能を改善している。
図8を参照すれば、図8は、本発明の実施形態による、コントローラ800の概略構造図である。コントローラ800は、プロセッサ810、メモリ820、トランシーバ830、およびバス840を備える。
プロセッサ810、メモリ820、およびトランシーバ830は、バス840を使用して相互接続されている。バス840は、ISAバス、PCIバス、またはEISAバスであってもよい。バスは、アドレスバス、データバス、または制御バスであってもよい。図を簡潔にするために、バスを図8において太線を使用して表しているが、1つのバスまたは1つのタイプのバスのみが存在していることを意味しているわけではない。
メモリ820は、プログラムを記憶するように構成される。特に、プログラムは、プログラムコードを含み得るし、プログラムコードは、コンピュータ演算命令を含む。メモリ820は、高速RAMメモリを含んでいてもよいし、不揮発性メモリ(non-volatile memory)、例えば、少なくとも1つの磁気ディスクメモリをさらに含んでいてもよい。
トランシーバ830は、別のデバイスと接続するとともに、別のデバイスと通信するように構成される。特に、トランシーバ830は、第1のスイッチによって送信されたPacket-inメッセージであって、第1のスイッチがフローエントリを見つけていないデータパケットの送信元ホスト識別子および宛先ホスト識別子を含む、Packet-inメッセージを受信し、第1のスイッチに異常フローエントリであって、送信元ホスト識別子を含む、異常フローエントリを送信し、第1のスイッチによって送信されたトリガ処理カウントであって、異常フローエントリがタイムアウトした後に第1のスイッチによって送信され、トリガ処理カウントは異常フローエントリがトリガされた回数である、トリガ処理カウントを受信するように構成される。
プロセッサ810は、プログラムコードを実行して、宛先ホスト識別子によって示されているホストがSDNネットワーク内に存在するかどうかを判定し、宛先ホスト識別子によって示されているホストがSDNネットワーク内に存在していないと判定された場合には、異常フローエントリを第1のスイッチに送信するようにトランシーバ830を制御するように構成され、悪意ある攻撃が送信元ホスト識別子によって示されている送信元ホストから開始されているかどうかを、トランシーバ830によって受信したトリガ処理カウントに従って、判定するようにさらに構成される。
必要に応じて、プロセッサ810は、トリガ処理カウントおよび異常フローエントリの時効時間に従って異常フローエントリのトリガ処理レートを算出し、トリガ処理レートがレート閾値より大きいかどうかを判定し、トリガ処理レートがレート閾値より大きい場合には、悪意ある攻撃が送信元ホストから開始されていると判定する、または、トリガ処理レートがレート閾値より大きくない場合には、悪意ある攻撃が送信元ホストから開始されていないと判定するように特に構成されてもよい。
必要に応じて、プロセッサ810は、トリガ処理カウントがカウント閾値より大きいかどうかを判定し、トリガ処理カウントがカウント閾値より大きい場合には、悪意ある攻撃が送信元ホストから開始されていると判定する、または、トリガ処理カウントがカウント閾値より大きくない場合には、悪意ある攻撃が送信元ホストから開始されていないと判定するように特に構成されてもよい。
必要に応じて、プロセッサ810は、トランシーバ830が第1のスイッチに異常フローエントリを送信する前に、送信元ホスト識別子によって示されている送信元ホストの異常フローエントリが第1のスイッチに配信されているかどうかを判定し、送信元ホスト識別子によって示されている送信元ホストの異常フローエントリが第1のスイッチに配信されていない場合には、異常フローエントリを第1のスイッチに送信するようにトランシーバ830を制御するステップを行うようにさらに構成されてもよい。
必要に応じて、プロセッサ810は、第1のスイッチ内の最終フローテーブルが送信元ホスト識別子照合領域を含む精密照合テーブルであると判定された場合には、第1のスイッチに第1の命令を送信するようにトランシーバ830を制御するようにさらに構成されてもよい、ここで、第1の命令は、第1のスイッチが最終フローテーブルに異常フローエントリを記憶することができるように、精密照合テーブルを送信元ホスト識別子照合領域のみを照合する精密照合テーブルとして設定するように第1のスイッチに命令するために使用される。
トランシーバ830は、第1の命令を第1のスイッチに送信するようにさらに構成されてもよい。
必要に応じて、プロセッサ810は、第1のスイッチ内の最終フローテーブルが精密照合テーブルであるとともに、送信元ホスト識別子照合領域を含むワイルドカードテーブルが第1のスイッチ内に存在していると判定された場合には、第1のスイッチに第2の命令を送信するようにトランシーバ830を制御するようにさらに構成されてもよく、第2の命令は、第1のスイッチが最終フローテーブルに異常フローエントリを記憶することができるように、最終フローテーブルとなるように送信元ホスト識別子照合領域を含むワイルドカードテーブルを調整するように第1のスイッチに命令するために使用される。
トランシーバ830は、第2の命令を第1のスイッチに送信するようにさらに構成されてもよい。
必要に応じて、プロセッサ810は、悪意ある攻撃が送信元ホスト識別子によって示されている送信元ホストから開始されていると、トリガ処理カウントに従って、判定された場合には、第1のスイッチに第3の命令を送信するようにトランシーバ830を制御するようにさらに構成されてもよく、第3の命令は、送信元ホストからのデータパケットを抑制するように第1のスイッチに命令するために使用される。
トランシーバ830は、第3の命令を第1のスイッチに送信するようにさらに構成されてもよい。
本実施形態においては、コントローラは、各ホストに対応するPacket-inメッセージに関する統計を収集する必要がなくなり、その代わりに、第1のスイッチに異常フローエントリを送信しており、第1のスイッチが、異常フローエントリのトリガ処理カウントに関する統計を収集して、コントローラにトリガ処理カウントを報告し、コントローラが、悪意ある攻撃が送信元ホスト識別子によって示されている送信元ホストから開始されているかどうかを、トリガ処理カウントに従って、直接判定する。このように、元々はコントローラによって行われていたメッセージ統計収集を実行のために各スイッチに分散しており、それによって、コントローラのデータ処理量を低減し、コントローラの性能を改善している。
図9を参照すれば、図9は、本発明の実施形態による、第1のスイッチ900の概略構造図である。第1のスイッチ900は、プロセッサ910、メモリ920、トランシーバ930、およびバス940を備える。
プロセッサ910、メモリ920、およびトランシーバ930は、バス940を使用して相互接続されている。バス940は、ISAバス、PCIバス、またはEISAバスであってもよい。バスは、アドレスバス、データバス、または制御バスであってもよい。図を簡潔にするために、バスを図9において太線を使用して表しているが、1つのバスまたは1つのタイプのバスのみが存在していることを意味しているわけではない。
メモリ920は、プログラムを記憶するように構成される。特に、プログラムは、プログラムコードを含み得るし、プログラムコードは、コンピュータ演算命令を含む。メモリ920は、高速RAMメモリを含んでいてもよいし、不揮発性メモリ、例えば、少なくとも1つの磁気ディスクメモリをさらに含んでいてもよい。さらに、メモリ920は、フローテーブルを記憶するようにさらに構成される。
トランシーバ930は、別のデバイスと接続するとともに、別のデバイスと通信するように構成される。特に、トランシーバ930は、コントローラにPacket-inメッセージであって、データパケットの送信元ホスト識別子および宛先ホスト識別子を含む、Packet-inメッセージを送信し、宛先ホスト識別子によって示されているホストがSDNネットワーク内に存在していないと判定した場合には、コントローラによって送信された異常フローエントリを受信し、コントローラが、悪意ある攻撃が送信元ホスト識別子によって示されている送信元ホストから開始されているかどうかを、トリガ処理カウントに従って、判定することができるように、コントローラに異常フローエントリのトリガ処理カウントを送信するように構成される、
プロセッサ910は、プログラムコードを実行して、データパケットに対応するフローエントリが見つからないと判定された場合には、コントローラにPacket-inメッセージを送信するようにトランシーバ930を制御し、トランシーバ930によって受信した異常フローエントリをメモリ920に保存し、ここで、宛先ホスト識別子によって示されているホストがSDNネットワーク内に存在していないと判定した場合には、異常フローエントリがコントローラによって送信され、異常フローエントリのトリガ処理カウントを、異常フローエントリの時効時間内に、記録し、異常フローエントリがタイムアウトした後に、コントローラにトリガ処理カウントを送信するようにトランシーバ930を制御するように構成される。
必要に応じて、トランシーバ930は、コントローラによって送信された第1の命令を受信するようにさらに構成されてもよいし、
プロセッサ910は、トランシーバ930によって受信した第1の命令に従って最終フローテーブルであるローカル精密照合テーブルを送信元ホスト識別子照合領域のみを照合する精密照合テーブルとして設定するようにさらに構成されてもよい、または、
トランシーバ930は、コントローラによって送信された第2の命令を受信するようにさらに構成されてもよいし、
プロセッサ910は、トランシーバ930によって受信した第2の命令に従って最終フローテーブルとなるように送信元ホスト識別子照合領域を含むワイルドカードテーブルを調整するようにさらに構成されてもよい。
必要に応じて、プロセッサ910は、メモリ920内の最終フローテーブルに異常フローエントリを保存するように特に構成されてもよい。
必要に応じて、トランシーバ930は、コントローラによって送信された第3の命令を受信するようにさらに構成されてもよい、ここで、悪意ある攻撃が送信元ホスト識別子によって示されている送信元ホストから開始されていると、トリガ処理カウントに従って、判定した場合には、第3の命令がコントローラによって送信される。
プロセッサ910は、送信元ホストからのデータパケットを、トランシーバ930によって受信した第3の命令に従って、抑制するようにさらに構成されてもよい。
本実施形態においては、コントローラは、各ホストに対応するPacket-inメッセージに関する統計を収集する必要がなくなり、その代わりに、第1のスイッチが、異常フローエントリのトリガ処理カウントに関する統計を収集して、コントローラにトリガ処理カウントを報告し、コントローラが、悪意ある攻撃が送信元ホスト識別子によって示されている送信元ホストから開始されているかどうかを、トリガ処理カウントに従って、直接判定する。このように、元々はコントローラによって行われていたメッセージ統計収集を実行のために各スイッチに分散しており、それによって、コントローラのデータ処理量を低減し、コントローラの性能を改善している。
本発明の実施形態の技術がソフトウェアと必要とされる汎用ハードウェアプラットフォームとによって実装されてもよいことは、当業者は明確に理解されよう。そのような理解に基づいて、基本的に、本発明の技術的解決手法、または従来技術に貢献する部分は、ソフトウェア製品の形式で実装されてもよい。ソフトウェア製品は、ROM/RAM、ハードディスク、または光ディスクなどの記憶媒体に記憶され、(パーソナルコンピュータ、サーバ、またはネットワークデバイスであり得る)コンピュータデバイスに本発明の実施形態または実施形態の一部に記載の方法を実行するように命令するためのいくつかの命令を含む。
本明細書における実施形態はすべて、累加的様式で記載しており、実施形態における同一または同様の部分については、これらの実施形態を参照し、各実施形態は、他の実施形態とは異なる部分に焦点をあてている。特に、システムの実施形態は、方法の実施形態に基本的に類似しており、したがって、簡潔に記載しており、関連部分については、方法の実施形態における記載の一部を参照してほしい。
前述の記載は、本発明の実施様態であるが、本発明の保護範囲を限定することを意図したものではない。本発明の精神および原理から逸脱することなくなされた任意の変更、均等物による置換、および改善は、本発明の保護範囲に含まれるものとする。
600 悪意ある攻撃の検出装置
610 第1の受信ユニット
620 第1の送信ユニット
630 検出ユニット
700 悪意ある攻撃の検出装置
710 第2の送信ユニット
720 第2の受信ユニット
730 記憶ユニット
740 カウント記録ユニット
800 コントローラ
810 プロセッサ
820 メモリ
830 トランシーバ
840 バス
900 第1のスイッチ
910 プロセッサ
920 メモリ
930 トランシーバ
940 バス

Claims (23)

  1. 悪意ある攻撃の検出方法であって、
    第1のスイッチによって送信されたPacket-inメッセージを、コントローラによって、受信するステップであって、前記Packet-inメッセージは、前記第1のスイッチがフローエントリを見つけていないデータパケットの送信元ホスト識別子および宛先ホスト識別子を含む、ステップと、
    前記宛先ホスト識別子によって示されているホストがSDNネットワーク内に存在していないと判定した場合には、前記第1のスイッチに異常フローエントリを、前記コントローラによって、送信するステップであって、前記異常フローエントリが前記送信元ホスト識別子を含む、ステップと、
    前記第1のスイッチによって送信されたトリガ処理カウントを、前記コントローラによって、受信するステップであって、前記異常フローエントリがタイムアウトした後に、前記トリガ処理カウントが前記第1のスイッチによって送信され、前記トリガ処理カウントは前記異常フローエントリがトリガされた回数である、ステップと、
    悪意ある攻撃が前記送信元ホスト識別子によって示されている送信元ホストから開始されているかどうかを、前記トリガ処理カウントに従い、前記コントローラによって、判定するステップとを含む、方法。
  2. 悪意ある攻撃が前記送信元ホスト識別子によって示されている送信元ホストから開始されているかどうかを、前記トリガ処理カウントに従い、前記コントローラによって、判定するステップは、
    前記トリガ処理カウントおよび前記異常フローエントリの時効時間に従って前記異常フローエントリのトリガ処理レートを、前記コントローラによって、算出するステップと、
    前記トリガ処理レートがレート閾値より大きいかどうかを、前記コントローラによって、判定し、前記トリガ処理レートが前記レート閾値より大きい場合には、悪意ある攻撃が前記送信元ホストから開始されていると、前記コントローラによって、判定する、または、前記トリガ処理レートが前記レート閾値より大きくない場合には、悪意ある攻撃が前記送信元ホストから開始されていないと、前記コントローラによって、判定するステップとを含む、請求項1に記載の方法。
  3. 悪意ある攻撃が前記送信元ホスト識別子によって示されている送信元ホストから開始されているかどうかを、前記トリガ処理カウントに従い、前記コントローラによって、判定するステップは、
    前記トリガ処理カウントがカウント閾値より大きいかどうかを、前記コントローラによって、判定し、前記トリガ処理カウントが前記カウント閾値より大きい場合には、悪意ある攻撃が前記送信元ホストから開始されていると、前記コントローラによって、判定する、または、前記トリガ処理カウントが前記カウント閾値より大きくない場合には、悪意ある攻撃が前記送信元ホストから開始されていないと、前記コントローラによって、判定するステップを含む、請求項1に記載の方法。
  4. 前記第1のスイッチに異常フローエントリを、前記コントローラによって、送信するステップの前に、
    前記送信元ホスト識別子によって示されている前記送信元ホストの異常フローエントリが前記第1のスイッチに配信されているかどうかを、前記コントローラによって、判定し、前記送信元ホスト識別子によって示されている前記送信元ホストの前記異常フローエントリが前記第1のスイッチに配信されていない場合には、前記第1のスイッチに異常フローエントリを送信するステップを、前記コントローラによって、行うステップをさらに含む、請求項1から3のいずれか一項に記載の方法。
  5. 前記第1のスイッチ内の最終フローテーブルが送信元ホスト識別子照合領域を含む精密照合テーブルであると判定した場合には、前記第1のスイッチに第1の命令を、前記コントローラによって、送信するステップであって、前記第1の命令は、前記第1のスイッチが前記最終フローテーブルに前記異常フローエントリを記憶することができるように、前記精密照合テーブルを前記送信元ホスト識別子照合領域のみを照合する精密照合テーブルとして設定するように前記第1のスイッチに命令するために使用される、ステップをさらに含む、請求項1から4のいずれか一項に記載の方法。
  6. 前記第1のスイッチ内の最終フローテーブルが精密照合テーブルであるとともに、送信元ホスト識別子照合領域を含むワイルドカードテーブルが前記第1のスイッチ内に存在していると判定した場合には、前記第1のスイッチに第2の命令を、前記コントローラによって、送信するステップであって、前記第2の命令は、前記第1のスイッチが前記最終フローテーブルに前記異常フローエントリを記憶することができるように、前記最終フローテーブルとなるように送信元ホスト識別子照合領域を含む前記ワイルドカードテーブルを調整するように前記第1のスイッチに命令するために使用される、ステップをさらに含む、請求項1から4のいずれか一項に記載の方法。
  7. 前記異常フローエントリの優先度は、前記第1のスイッチ内のフローエントリの最低優先度である、請求項1から6のいずれか一項に記載の方法。
  8. 悪意ある攻撃が前記送信元ホスト識別子によって示されている前記送信元ホストから開始されていると、前記トリガ処理カウントに従って、判定した場合には、前記第1のスイッチに第3の命令を、前記コントローラによって、送信するステップであって、前記第3の命令は、前記送信元ホストからのデータパケットを抑制するように前記第1のスイッチに命令するために使用される、ステップをさらに含む、請求項1から7のいずれか一項に記載の方法。
  9. 悪意ある攻撃の検出方法であって、
    データパケットに対応するフローエントリが見つからないと判定された場合には、コントローラにPacket-inメッセージを、第1のスイッチによって、送信するステップであって、前記Packet-inメッセージは、前記データパケットの送信元ホスト識別子および宛先ホスト識別子を含む、ステップと、
    異常フローエントリを、前記第1のスイッチによって、受信して保存するステップであって、前記宛先ホスト識別子によって示されているホストがSDNネットワーク内に存在していないと判定した場合には、前記異常フローエントリが前記コントローラによって送信される、ステップと、
    前記異常フローエントリのトリガ処理カウントを、前記異常フローエントリの時効時間内に、前記第1のスイッチによって、受信して、前記コントローラが、悪意ある攻撃が前記送信元ホスト識別子によって示されている送信元ホストから開始されているかどうかを、前記トリガ処理カウントに従って、判定することができるように、前記異常フローエントリがタイムアウトした後に、前記コントローラに前記トリガ処理カウントを送信するステップとを含む、方法。
  10. 前記コントローラによって送信された第1の命令を、前記第1のスイッチによって、受信するステップと、最終フローテーブルであるローカル精密照合テーブルを送信元ホスト識別子照合領域のみを照合する精密照合テーブルとして、前記第1の命令に従って、設定するステップをさらに含む、または、
    前記コントローラによって送信された第2の命令を、前記第1のスイッチによって、受信するステップと、前記第2の命令に従って最終フローテーブルとなるように送信元ホスト識別子照合領域を含むワイルドカードテーブルを調整するステップをさらに含む、請求項9に記載の方法。
  11. 異常フローエントリを、前記第1のスイッチによって、保存するステップは、
    前記最終フローテーブルに前記異常フローエントリを、前記第1のスイッチによって、保存するステップを含む、請求項10に記載の方法。
  12. 前記コントローラによって送信された第3の命令を、前記第1のスイッチによって、受信するステップであって、悪意ある攻撃が前記送信元ホスト識別子によって示されている前記送信元ホストから開始されていると、前記トリガ処理カウントに従って、判定した場合には、前記第3の命令が前記コントローラによって送信される、ステップと、
    前記送信元ホストからのデータパケットを、前記第3の命令に従い、前記第1のスイッチによって、抑制するステップとをさらに含む、請求項9から11のいずれか一項に記載の方法。
  13. 悪意ある攻撃の検出装置であって、
    第1のスイッチによって送信されたPacket-inメッセージを受信するように構成される、第1の受信ユニットであって、前記Packet-inメッセージは、前記第1のスイッチがフローエントリを見つけていないデータパケットの送信元ホスト識別子および宛先ホスト識別子を含む、第1の受信ユニットと、
    前記第1の受信ユニットによって受信した前記宛先ホスト識別子によって示されているホストがSDNネットワーク内に存在していないと判定された場合には、前記第1のスイッチに異常フローエントリを送信するように構成される、第1の送信ユニットであって、前記異常フローエントリは、前記送信元ホスト識別子を含み、
    前記第1の受信ユニットは、前記第1のスイッチによって送信されたトリガ処理カウントを受信するようにさらに構成され、前記トリガ処理カウントは、前記異常フローエントリがタイムアウトした後に、前記第1のスイッチによって送信され、前記トリガ処理カウントは、前記異常フローエントリがトリガされた回数である、第1の送信ユニットと、
    悪意ある攻撃が前記送信元ホスト識別子によって示されている送信元ホストから開始されているかどうかを、前記第1の受信ユニットによって受信した前記トリガ処理カウントに従って、判定するように構成される、検出ユニットとを備える、装置。
  14. 前記検出ユニットは、
    前記第1の受信ユニットによって受信した前記トリガ処理カウントおよび前記異常フローエントリの時効時間に従って前記異常フローエントリのトリガ処理レートを算出し、
    前記トリガ処理レートがレート閾値より大きいかどうかを判定し、前記トリガ処理レートが前記レート閾値より大きい場合には、悪意ある攻撃が前記送信元ホストから開始されていると判定する、または、前記トリガ処理レートが前記レート閾値より大きくない場合には、悪意ある攻撃が前記送信元ホストから開始されていないと判定するように構成される、請求項13に記載の装置。
  15. 前記検出ユニットは、
    前記トリガ処理カウントがカウント閾値より大きいかどうかを判定し、前記トリガ処理カウントが前記カウント閾値より大きい場合には、悪意ある攻撃が前記送信元ホストから開始されていると判定する、または、前記トリガ処理カウントが前記カウント閾値より大きくない場合には、悪意ある攻撃が前記送信元ホストから開始されていないと判定するように構成される、請求項13に記載の装置。
  16. 前記送信元ホスト識別子によって示されている前記送信元ホストの異常フローエントリが前記第1のスイッチに配信されているかどうかを判定し、前記送信元ホスト識別子によって示されている前記送信元ホストの前記異常フローエントリが前記第1のスイッチに配信されていない場合には、異常フローエントリを前記第1のスイッチに送信するように前記第1の送信ユニットをトリガするように構成される、判定ユニットをさらに備える、請求項13から15のいずれか一項に記載の装置。
  17. 前記第1の送信ユニットは、前記第1のスイッチ内の最終フローテーブルが送信元ホスト識別子照合領域を含む精密照合テーブルであると判定された場合には、前記第1のスイッチが前記最終フローテーブルに前記異常フローエントリを記憶することができるように、前記精密照合テーブルを前記送信元ホスト識別子照合領域のみを照合する精密照合テーブルとして設定するように前記第1のスイッチに命令するようにさらに構成される、請求項13から16のいずれか一項に記載の装置。
  18. 前記第1の送信ユニットは、
    前記第1のスイッチ内の最終フローテーブルが精密照合テーブルであるとともに、送信元ホスト識別子照合領域を含むワイルドカードテーブルが前記第1のスイッチ内に存在していると判定された場合には、前記第1のスイッチに第2の命令を送信するようにさらに構成され、前記第2の命令は、前記第1のスイッチが前記最終フローテーブルに前記異常フローエントリを記憶することができるように、前記最終フローテーブルとなるように送信元ホスト識別子照合領域を含む前記ワイルドカードテーブルを調整するように前記第1のスイッチに命令するために使用される、請求項13から16のいずれか一項に記載の装置。
  19. 前記第1の送信ユニットは、
    悪意ある攻撃が前記送信元ホスト識別子によって示されている前記送信元ホストから開始されていると、前記トリガ処理カウントに従って、判定された場合には、前記第1のスイッチに第3の命令を送信するようにさらに構成され、前記第3の命令は、前記送信元ホストからのデータパケットを抑制するように前記第1のスイッチに命令するために使用される、請求項13から18のいずれか一項に記載の装置。
  20. 悪意ある攻撃の検出装置であって、
    データパケットに対応するフローエントリが見つからないと判定された場合には、コントローラにPacket-inメッセージを送信するように構成される、第2の送信ユニットであって、前記Packet-inメッセージは、前記データパケットの送信元ホスト識別子および宛先ホスト識別子を含む、第2の送信ユニットと、
    異常フローエントリを受信するように構成される、第2の受信ユニットであって、前記宛先ホスト識別子によって示されているホストがSDNネットワーク内に存在していないと判定した場合には、前記異常フローエントリが前記コントローラによって送信される、第2の受信ユニットと、
    前記第2の受信ユニットによって受信した前記異常フローエントリを保存するように構成される、記憶ユニットと、
    前記異常フローエントリのトリガ処理カウントを、前記記憶ユニットによって保存されている前記異常フローエントリの時効時間内に、記録するように構成される、カウント記録ユニットとを備え、
    前記第2の送信ユニットは、前記コントローラが、悪意ある攻撃が前記送信元ホスト識別子によって示されている送信元ホストから開始されているかどうかを、前記トリガ処理カウントに従って、判定することができるように、前記記憶ユニットによって保存されている前記異常フローエントリがタイムアウトした後に、前記カウント記録ユニットによって記録されている前記トリガ処理カウントを前記コントローラに送信するようにさらに構成される、装置。
  21. 前記第2の受信ユニットは、前記コントローラによって送信された第1の命令を受信するようにさらに構成され、
    前記装置は、最終フローテーブルであるローカル精密照合テーブルを送信元ホスト識別子照合領域のみを照合する精密照合テーブルとして、前記第1の命令に従って、設定するように構成される、設定ユニットをさらに備える、または、
    前記第2の受信ユニットは、前記コントローラによって送信された第2の命令を受信するようにさらに構成され、
    前記装置は、前記第2の命令に従って最終フローテーブルとなるように送信元ホスト識別子照合領域を含むワイルドカードテーブルを調整するように構成される、設定ユニットをさらに備える、請求項20に記載の装置。
  22. 前記記憶ユニットは、前記最終フローテーブルに前記異常フローエントリを保存するように構成される、請求項21に記載の装置。
  23. 前記第2の受信ユニットは、前記コントローラによって送信された第3の命令を受信するようにさらに構成され、
    前記装置は、前記送信元ホストからのデータパケットを抑制するように構成される、制御ユニットをさらに備える、請求項20から22のいずれか一項に記載の装置。
JP2016533066A 2013-11-22 2014-09-05 悪意ある攻撃の検出方法および装置 Active JP6186655B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201310596661.0A CN104660565B (zh) 2013-11-22 2013-11-22 恶意攻击的检测方法和装置
CN201310596661.0 2013-11-22
PCT/CN2014/085989 WO2015074451A1 (zh) 2013-11-22 2014-09-05 恶意攻击的检测方法和装置

Publications (2)

Publication Number Publication Date
JP2016537898A JP2016537898A (ja) 2016-12-01
JP6186655B2 true JP6186655B2 (ja) 2017-08-30

Family

ID=53178900

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016533066A Active JP6186655B2 (ja) 2013-11-22 2014-09-05 悪意ある攻撃の検出方法および装置

Country Status (7)

Country Link
US (2) US10313375B2 (ja)
EP (2) EP3570516B1 (ja)
JP (1) JP6186655B2 (ja)
CN (2) CN104660565B (ja)
CA (1) CA2931145C (ja)
RU (1) RU2647646C2 (ja)
WO (1) WO2015074451A1 (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105474602B (zh) 2014-06-17 2019-02-05 华为技术有限公司 软件定义网络中识别攻击流的方法、装置以及设备
TW201605198A (zh) * 2014-07-31 2016-02-01 萬國商業機器公司 智慧網路管理裝置以及管理網路的方法
IL250833B (en) * 2014-08-29 2022-09-01 Univ Texas Administering enzymes to reduce the level of kynurenine in the treatment of tumors
CN106664253A (zh) * 2015-06-30 2017-05-10 华为技术有限公司 流表老化方法、交换机及控制器
CN106487756B (zh) * 2015-08-28 2019-12-06 华为技术有限公司 一种检测交换机信息泄露的方法及装置
CN105208023B (zh) * 2015-09-14 2018-03-30 北京交通大学 中心控制器保护方法、设备及系统
CN113014464B (zh) * 2016-01-08 2022-07-26 松下电器(美国)知识产权公司 异常检测方法、异常检测装置及异常检测系统
CN105554041B (zh) * 2016-03-01 2018-05-25 江苏三棱智慧物联发展股份有限公司 一种检测基于流表超时机制的分布式拒绝服务攻击的方法
WO2017207039A1 (en) 2016-06-01 2017-12-07 Huawei Technologies Co., Ltd. Software defined networking system for distiguishing packet-in messages
KR101900154B1 (ko) * 2016-10-17 2018-11-08 숭실대학교산학협력단 DDoS 공격이 탐지가 가능한 소프트웨어 정의 네트워크 및 이에 포함되는 스위치
CN106506371A (zh) * 2016-11-11 2017-03-15 清华大学 基于OpenFlow协议的ID/Locator分离的IP移动性处理方法及装置
CN107800711B (zh) * 2017-06-16 2020-08-11 南京航空航天大学 一种OpenFlow控制器抵御DDoS攻击的方法
CN107241359B (zh) * 2017-08-03 2020-03-17 安捷光通科技成都有限公司 一种面向软件定义网络的轻量级网络流量异常检测方法
US10581684B2 (en) 2017-12-06 2020-03-03 Schweitzer Engineering Laboratories, Inc. Network management via a secondary communication channel in a software defined network
US10560390B2 (en) * 2018-03-05 2020-02-11 Schweitzer Engineering Laboratories, Inc. Time-based network operation profiles in a software-defined network
CN108650148B (zh) * 2018-04-16 2021-08-13 湖南省星岳天璇科技有限公司 一种SDN数据流flow-statistics低开销采集方法
US11032389B1 (en) * 2018-08-02 2021-06-08 Juniper Networks, Inc. Applying application-based policy rules using a programmable application cache
CN109525495B (zh) * 2018-12-24 2022-03-11 广东浪潮大数据研究有限公司 一种数据处理装置、方法和fpga板卡
CN109831428B (zh) * 2019-01-29 2021-04-20 内蒙古大学 Sdn网络攻击检测及防御的方法和装置
CN109617931B (zh) * 2019-02-20 2020-11-06 电子科技大学 一种SDN控制器的DDoS攻击防御方法及防御系统
CN110798442B (zh) * 2019-09-10 2023-01-20 广州西麦科技股份有限公司 数据注入攻击检测方法及相关装置
WO2021107867A1 (en) * 2019-11-26 2021-06-03 National University Of Singapore Method of monitoring a communication network to facilitate network fault analysis, and a communication network thereof
CN111624869B (zh) * 2020-04-25 2023-03-28 中国人民解放军战略支援部队信息工程大学 自动感知攻击行为方法、系统及以太网交换机
CN111800383A (zh) * 2020-06-02 2020-10-20 深圳供电局有限公司 一种基于SDN的DDos流量检测方法及装置
CN111970168A (zh) * 2020-08-11 2020-11-20 北京点众科技股份有限公司 全链路服务节点的监控方法、装置和存储介质
WO2022092788A1 (en) 2020-10-29 2022-05-05 Samsung Electronics Co., Ltd. Methods and system for securing a sdn controller from denial of service attack
CN112968861A (zh) * 2020-12-25 2021-06-15 杨世标 一种DDoS攻击封堵判定方法和系统
WO2022249451A1 (ja) * 2021-05-28 2022-12-01 日本電信電話株式会社 スイッチ、ネットワークコントローラ、通信制御方法、及び通信制御プログラム
CN114666162B (zh) * 2022-04-29 2023-05-05 北京火山引擎科技有限公司 一种流量检测方法、装置、设备及存储介质

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2418563A (en) * 2004-09-23 2006-03-29 Agilent Technologies Inc Monitoring for malicious attacks in a communications network
CN100388684C (zh) * 2005-01-26 2008-05-14 华为技术有限公司 宽带接入网络中防止点到点协议认证攻击的实现方法
JP4512196B2 (ja) * 2005-10-20 2010-07-28 アラクサラネットワークス株式会社 異常トラヒックの検出方法およびパケット中継装置
US8397284B2 (en) * 2006-01-17 2013-03-12 University Of Maryland Detection of distributed denial of service attacks in autonomous system domains
DK2271127T3 (da) * 2006-02-03 2012-03-05 Sigram Schindler Beteiligungs Gmbh Administration af genstande på en teknisk kommunikationsgruppe-platform ved hjælp af sidstnævntes brugere
US20080189769A1 (en) * 2007-02-01 2008-08-07 Martin Casado Secure network switching infrastructure
US8789173B2 (en) * 2009-09-03 2014-07-22 Juniper Networks, Inc. Protecting against distributed network flood attacks
WO2011081020A1 (ja) * 2010-01-04 2011-07-07 日本電気株式会社 ネットワークシステム、コントローラ、ネットワーク制御方法
CN101789905A (zh) * 2010-02-05 2010-07-28 杭州华三通信技术有限公司 防止未知组播攻击cpu的方法和设备
CA2814830A1 (en) * 2010-10-28 2012-05-03 Nec Corporation Network system and communication traffic controlling method
WO2012077603A1 (ja) * 2010-12-09 2012-06-14 日本電気株式会社 コンピュータシステム、コントローラ、及びネットワーク監視方法
CN103262482B (zh) * 2010-12-10 2016-09-07 日本电气株式会社 通信系统、控制设备和节点控制方法
KR101574193B1 (ko) * 2010-12-13 2015-12-11 한국전자통신연구원 분산 서비스 거부 공격 탐지 및 방어 장치 및 방법
EP2698952A4 (en) 2011-04-15 2014-12-03 Nec Corp COMPUTER SYSTEM, CONTROL DEVICE AND NETWORK ACCESS POLICY CONTROL PROCEDURE
CN102195887B (zh) * 2011-05-31 2014-03-12 北京星网锐捷网络技术有限公司 报文处理方法、装置和网络安全设备
KR20130030086A (ko) * 2011-09-16 2013-03-26 한국전자통신연구원 비정상 세션 연결 종료 행위를 통한 분산 서비스 거부 공격 방어 방법 및 장치
JP2013070325A (ja) * 2011-09-26 2013-04-18 Nec Corp 通信システム、通信装置、サーバ、通信方法
US8711860B2 (en) * 2011-12-22 2014-04-29 Telefonaktiebolaget L M Ericsson (Publ) Controller for flexible and extensible flow processing in software-defined networks
JP5966488B2 (ja) * 2012-03-23 2016-08-10 日本電気株式会社 ネットワークシステム、スイッチ、及び通信遅延短縮方法
EP2835941A4 (en) * 2012-04-03 2015-12-09 Nec Corp NETWORK SYSTEM, CONTROLLER, AND PACKET AUTHENTICATION METHOD
US9210180B2 (en) * 2012-04-18 2015-12-08 Radware Ltd. Techniques for separating the processing of clients' traffic to different zones in software defined networks
US20150124595A1 (en) 2012-05-01 2015-05-07 Nec Corporation Communication system, access control apparatus, switch, network control method, and program
US10116696B2 (en) * 2012-05-22 2018-10-30 Sri International Network privilege manager for a dynamically programmable computer network
CN102904975B (zh) * 2012-09-28 2015-06-17 华为技术有限公司 报文处理的方法和相关装置
US9692775B2 (en) * 2013-04-29 2017-06-27 Telefonaktiebolaget Lm Ericsson (Publ) Method and system to dynamically detect traffic anomalies in a network

Also Published As

Publication number Publication date
US10313375B2 (en) 2019-06-04
EP3570516A1 (en) 2019-11-20
EP3073700B1 (en) 2019-07-24
CN104660565B (zh) 2018-07-20
CN104660565A (zh) 2015-05-27
US11637845B2 (en) 2023-04-25
US20160269432A1 (en) 2016-09-15
WO2015074451A1 (zh) 2015-05-28
RU2647646C2 (ru) 2018-03-16
EP3073700A1 (en) 2016-09-28
CA2931145C (en) 2018-10-23
CN108667853A (zh) 2018-10-16
US20190281081A1 (en) 2019-09-12
CN108667853B (zh) 2021-06-01
CA2931145A1 (en) 2015-05-28
EP3570516B1 (en) 2023-08-23
JP2016537898A (ja) 2016-12-01
EP3073700A4 (en) 2016-09-28
RU2016124770A (ru) 2017-12-27

Similar Documents

Publication Publication Date Title
JP6186655B2 (ja) 悪意ある攻撃の検出方法および装置
US9276852B2 (en) Communication system, forwarding node, received packet process method, and program
US11032205B2 (en) Flow control method and switching device
US9819590B2 (en) Method and apparatus for notifying network abnormality
US7506372B2 (en) Method and apparatus for controlling connection rate of network hosts
CN108737447B (zh) 用户数据报协议流量过滤方法、装置、服务器及存储介质
US10117140B2 (en) Network storage method, switch device, and controller
US10148596B2 (en) Data flow statistics collection method, system, and apparatus
US20150043574A1 (en) Communication apparatus, control apparatus, communication system, communication control method, communication terminal and program
WO2014050125A1 (en) Communication system, control apparatus, terminal, terminal control method, and program
KR101712168B1 (ko) 패킷 입력 메시지 제어 방법, 이를 수행하는 스위치 및 컨트롤러
CN102546587B (zh) 防止网关系统会话资源被恶意耗尽的方法及装置
US9906438B2 (en) Communication node, control apparatus, communication system, packet processing method, communication node controlling method and program
JP2013070325A (ja) 通信システム、通信装置、サーバ、通信方法
US20140376394A1 (en) Communication apparatus, control apparatus, communication system, communication control method, and computer program
KR101707355B1 (ko) 통신 노드, 통신 시스템, 제어 장치, 패킷 전송 방법 및 프로그램
US9819691B2 (en) Network monitoring system and method
US20140226486A1 (en) Communication Apparatus, Communication System, Communication Control Method, and Computer Program
US10554511B2 (en) Information processing apparatus, method and non-transitory computer-readable storage medium
KR20210066432A (ko) 이름 데이터 네트워킹(ndn) 에서 인터레스트 플러딩 공격, 검출 방법 및 방어 방법
US20140233392A1 (en) Communication apparatus, communication system, communication control method, and program
JP2016092756A (ja) 制御装置、通信システム、ループ抑止方法及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160720

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160720

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170525

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170713

R150 Certificate of patent or registration of utility model

Ref document number: 6186655

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250