JP6329275B2 - 制御装置、通信システム、制御方法、および、制御プログラム - Google Patents

制御装置、通信システム、制御方法、および、制御プログラム Download PDF

Info

Publication number
JP6329275B2
JP6329275B2 JP2016560268A JP2016560268A JP6329275B2 JP 6329275 B2 JP6329275 B2 JP 6329275B2 JP 2016560268 A JP2016560268 A JP 2016560268A JP 2016560268 A JP2016560268 A JP 2016560268A JP 6329275 B2 JP6329275 B2 JP 6329275B2
Authority
JP
Japan
Prior art keywords
packet
target
border router
attack
list
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
JP2016560268A
Other languages
English (en)
Other versions
JPWO2016080446A1 (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2016080446A1 publication Critical patent/JPWO2016080446A1/ja
Application granted granted Critical
Publication of JP6329275B2 publication Critical patent/JP6329275B2/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/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • 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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]

Landscapes

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

Description

本発明は、制御装置、境界ルータ、制御方法、および、制御プログラムに関する。
現在、DNS(Domain Name System)やNTP(Network Time Protocol)等のUDP(User Datagram Protocol)の応答パケットを利用した反射型DDoS攻撃(Distributed Denial of Service attack)が問題となっている。例えば、攻撃者がネットワーク中に多数散在するオープンリゾルバ宛に送信元IPアドレスを偽装したDNSの要求パケットを送信すると、これらのオープンリゾルバそれぞれが名前の解決を行い、偽装された送信元IPアドレス宛に応答パケットを送信する。その結果、偽装された送信元(つまり、標的)宛に大量の応答パケットが集中する。このようにすることで攻撃者は標的のネットワークに数百Gbpsといった負荷を与える。
ここで、DNSやNTPで用いられるプロトコルはUDPであるため、ファイアウォールのステートフルインスペクション機能では上記のような攻撃を防御することができない。そこで、ネットワークの境界ルータが、標的側からDNSやNTPの要求パケット(つまり正当な要求パケット)を受信したとき、この要求パケットの送信元のIPアドレスおよびポート番号をホワイトリストに追加し、境界ルータは、宛先がホワイトリストに記載されたIPアドレスおよびポート番号の応答パケット(正当な応答パケット)は転送するが、それ以外のDNSやNTPの応答パケットは遮断(廃棄)する技術が提案されている。このような技術によれば、攻撃パケットを遮断し、かつ、正当な応答パケットを標的に到達させることができる。
首藤裕一他、動的パケットフィルタリングによる反射型DoS攻撃の遮断手法、信学技報、vol.113、no.473、IN2013-181、pp.223-228、2014年3月
ここで、反射型DDoS攻撃の攻撃パケットはサイズが大きい傾向にあり、フラグメント化されて転送されることが多い。例えば、上記のDNSやNTPの応答パケットがフラグメント化された場合、先頭パケット以外はUDPヘッダ情報を持たない。このため、境界ルータは、フラグメント化された攻撃パケットのうち2番目以降のパケット(UDP後続フラグメント)について、当該パケットがDNSやNTPのパケットであるか否かを判断できない。その結果、フラグメント化された攻撃パケットについては遮断できず、標的に到達してしまうおそれがあった。
そこで本発明は前記した問題を解決し、フラグメント化された攻撃パケットについても遮断し、かつ、正当なパケットを到達させることを課題とする。
前記した課題を解決するため、本発明は、ネットワーク同士を接続する境界ルータそれぞれに対し、パケットの転送制御を指示する制御装置であって、所定のサービスの応答パケットの集中による攻撃を検知したとき、前記境界ルータで受信した前記攻撃の標的宛の所定のサービスの応答パケットの少なくとも一部を取得するパケット取得部と、前記取得した応答パケットの送信元IPアドレスを前記境界ルータのブラックリストに追加するリスト作成部と、前記ブラックリストに記載のIPアドレスを送信元とする前記攻撃の標的宛のパケットを受信したとき、当該パケットを廃棄するよう、前記境界ルータに対し指示するパケット廃棄指示部と、を備えることを特徴とする。
本発明によれば、フラグメント化された攻撃パケットについても遮断し、かつ、正当なパケットを到達させることができる。
図1は、初期状態における通信システムの動作概要を説明する図である。 図2は、初期状態→リスト準備状態における通信システムの動作概要を説明する図である。 図3は、リスト準備状態→リスト防御状態における通信システムの動作概要を説明する図である。 図4は、コントローラおよび境界ルータの機能ブロック図である。 図5は、ルータ情報の例を示す図である。 図6は、初期状態、リスト準備状態、リスト防御状態におけるルールの例を示す図である。 図7は、初期状態における通信システムの処理手順の例を示すシーケンス図である。 図8は、初期状態→リスト準備状態における通信システムの処理手順の例を示すシーケンス図である。 図9は、リスト準備状態→リスト防御状態における通信システムの処理手順の例を示すシーケンス図である。 図10は、コントローラおよび境界ルータの機能ブロック図である。 図11は、図10に示すコントローラおよび境界ルータを備える通信システムの処理手順の例を示すシーケンス図である。 図12は、図10に示すコントローラおよび境界ルータの例を示す図である。 図13は、制御プログラムを実行するコンピュータを示す図である。
以下、図面を参照しながら、本発明を実施するための形態(実施形態)について説明する。なお、本発明は本実施形態に限定されない。本実施形態ではDNSを用いた反射型DDoS攻撃に対する遮断方式を説明するが、本発明はこれに限定されるものでなく、NTPや他のプロトコルを用いた反射型DDoS攻撃に対しても同様の処理で遮断することが可能である。
まず、本実施形態の通信システムの構成と概要を説明する。本実施形態の通信システムは、例えば、図1に示すように、インターネットとユーザ網とを備える。インターネットとユーザ網との通信は中継網により中継される。
インターネットには、例えば、リフレクタが接続される。リフレクタは、例えば、オープンリゾルバ等である。このリフレクタは、攻撃時にいわゆる踏み台として利用されるサーバ群である。ここではリフレクタが、攻撃者から送信元を偽った要求パケット(DNS要求パケット)を受信し、このDNS要求パケットの応答として、インターネットおよび中継網経由でユーザ網内の標的(標的のIPアドレスまたは当該IPアドレスを含むIPアドレス帯)へ大量の応答パケット(攻撃パケット)を送信する場合を例に説明する。また、この応答パケットには、フラグメント化されたパケットも含まれる。
境界ルータ20は、インターネットと中継網との間に設置され、入力されたパケットの転送処理を行う。この境界ルータ20は、後述するコントローラ10からの指示に従って内部転送ルールを変更したり、特定の条件に合致するパケットをコントローラ10に転送したり、トラヒック情報をコントローラ10に送信したりする機能を有する。このようにコントローラから指示によって複数のルータが動的に経路制御設定を変更する仕組みとして、たとえばOpenFlowという通信仕様が存在する。たとえば、境界ルータ20がOpenFlow1.0対応のルータであれば上記の機能を実現できる。また、OpenFlow対応のルータとしては、オープンソースソフトウェアとして公開されているOpen vSwitch等が存在する。収容ルータ30は、中継網とユーザ網との間に設置され、入力されたパケットの転送制御を行う。この収容ルータ30は境界ルータ20と同じ機能を備える。コントローラ(制御装置)10は、各境界ルータ20および収容ルータ30の制御を行う。
ここで、リフレクタから標的宛の大量の攻撃パケットが送信されると、標的の属するユーザ網の収容ルータ30にパケット(例えば、DNS応答パケット)が集中することになる。コントローラ10は収容ルータ30へのパケットの集中を検知すると、まず、各境界ルータ20が攻撃パケットの防御に用いるブラックリストを準備する(リスト準備状態)。そして、ブラックリストが概ね完成すると、コントローラ10は、各境界ルータ20にブラックリストを用いた攻撃パケットの防御を行わせる(リスト防御状態)。
(初期状態)
引き続き図1を用いて、各境界ルータ20がリスト準備状態になる前の状態(初期状態)を説明する。例えば、コントローラ10は、この収容ルータ30へのDNS応答パケット(DNS応答)の集中により標的への攻撃を検知すると(S1)、各境界ルータ20を初期状態に遷移させることを決定する。そして、コントローラ10は、各境界ルータ20に対し、初期状態のルールを設定する。つまり、各境界ルータ20に対し、標的宛のDNS応答およびUDP後続フラグメントを遮断(廃棄)する旨のルールを設定する(S2)。
また、コントローラ10は、収容ルータ30に対し、標的からのDNS要求(DNS要求パケット)をコントローラ10に転送するよう設定する(S3)。
S3の後、コントローラ10は、収容ルータ30経由で標的からのDNS要求を受信したとき、全境界ルータ20に、ルールの例外設定(標的からのDNS要求に対するDNS応答は通過させる旨の設定。具体的には、当該要求の宛先IPアドレスが送信元となっているDNS応答パケットを通過させる旨の設定)を行い、その後、当該DNS要求をいずれかの境界ルータ20へ転送する(S4)。
このようにコントローラ10から、初期状態のルールおよび例外設定を受けた境界ルータ20は、標的宛のDNS応答およびUDP後続フラグメントは原則として遮断するが、コントローラ10から受信した例外設定に該当するDNS応答は通過させる(S5)。例えば、境界ルータ20は標的宛のDNS応答およびUDP後続フラグメントは原則として遮断するが、標的からのDNS要求を受信した正規のDNSサーバ50を送信元するDNS応答については、このDNS応答の宛先が標的であったとしても通過させる。これにより、正規のDNS応答は標的に到達することになる。
(初期状態→リスト準備状態)
次に、図2を用いて、各境界ルータ20の初期状態からリスト準備状態への遷移を説明する。例えば、コントローラ10は、各境界ルータ20に到達する標的宛のDNS応答のトラヒック量を観測する(S11)。そして、コントローラ10は、各境界ルータ20に到達する標的宛のDNS応答のトラヒック量に基づき、境界ルータ20がリスト準備状態に遷移した場合に、境界ルータ20からコントローラ10に転送されるであろう標的宛のDNS応答のトラヒック量の総量を推定する。そして、コントローラ10は、そのトラヒック量の総量が所定の値を超えない範囲でリスト準備状態に遷移させる境界ルータ20の集合を決定し、当該集合の境界ルータ20のそれぞれにリスト準備状態用のルールを設定する(S12)。
ここでのリスト準備状態用のルールは、当該境界ルータ20において、標的宛のDNS応答およびUDP後続フラグメントを遮断(廃棄)し、ブラックリスト(詳細は後記)に記載されていないIPアドレスを送信元とする標的宛のDNS応答をサンプリングしてコントローラ10へ転送するというルールである。なお、サンプリングされた標的宛のDNS応答は、コントローラ10において境界ルータ20のブラックリスト(詳細は後記)を作成するときに用いられる。また、境界ルータ20は、リスト準備状態においても、初期状態のときに設定したものと同じ「ルールの例外設定」を適用し、コントローラ10から受信した例外設定に該当するDNS応答は通過させるものとする。
(リスト準備状態→リスト防御状態)
次に、図3を用いて、各境界ルータ20のリスト準備状態からリスト防御状態への遷移を説明する。例えば、リスト準備状態に遷移した境界ルータ20は、前記したリスト準備状態用のルールに従い、受信したパケットのうち、ブラックリスト(詳細は後記)に記載されていないIPアドレスを送信元とする標的宛のDNS応答をサンプリングしてコントローラ10へ送信する(S21)。なお、当該境界ルータ20が初期状態からリスト準備状態に遷移したばかりのとき(つまり、まだブラックリストが設定されていない状態のとき)は、受信したパケットのうち、標的宛のDNS応答をサンプリングしてコントローラ10へ送信する。
そして、コントローラ10は、境界ルータ20でサンプリングされた標的宛のDNS応答を受信すると、この送信されたDNS応答の送信元IPアドレスを当該境界ルータ20のブラックリストに追加する(S22)。そして、コントローラ10は、リスト準備状態の境界ルータ20におけるブラックリスト追加(ブラックリストへの新たなIPアドレスの追加)状態を監視し、ブラックリスト追加が所定時間行われない状態になったとき、当該境界ルータ20をリスト防御状態に遷移させることを決定する。そして、コントローラ10は、当該境界ルータ20にリスト防御用のルールを設定する(S23)。
つまり、コントローラ10は、リスト準備状態の境界ルータ20のブラックリストに攻撃元(例えば、リフレクタ)のIPアドレスがほぼすべて登録された状態になったと判断すると、境界ルータ20をリスト防御状態に遷移させることを決定する。そして、当該境界ルータ20にリスト防御用のルールを設定する。
なお、ここでのリスト防御用のルールは、当該境界ルータ20において、標的宛のDNS応答、および、ブラックリストに記載されているIPアドレスを送信元とする標的宛のUDP後続フラグメントを遮断するというルールである。なお、リスト防御状態においても、境界ルータ20はブラックリストに記載されていないIPアドレスから標的宛のDNS応答をサンプリングしてコントローラ10へ転送する。また、境界ルータ20は初期状態のときに設定されたものと同じ「ルールの例外設定」を適用し、コントローラ10から受信した例外設定に該当するDNS応答は通過させるものとする。
このようにして各境界ルータ20がリスト防御状態に遷移すると、各境界ルータ20は原則として標的宛のDNS応答を遮断するが、標的からのDNS要求に対するDNS応答(つまり、正当なDNS応答)は通過させることができる。また、各境界ルータ20は、ブラックリストに記載されているIPアドレスから標的宛のUDP後続フラグメントを遮断するが、ブラックリストに記載されていないIPアドレスから標的宛のUDP後続フラグメント(つまり、正当なUDP後続フラグメント)は通過させることができる。
(構成)
次に、図4を用いてコントローラ10および境界ルータ20の構成を説明する。まず、コントローラ10の構成を説明する。
(コントローラ)
図4に示すように、コントローラ10は、通信制御部11、記憶部12、制御部13を備える。
通信制御部11は、外部装置との間でデータの送受信を行うための通信インタフェースである。通信制御部11は、例えば、制御部13から境界ルータ20へルールの送信を行ったり、境界ルータ20から標的宛のDNS応答のサンプリングの結果を取得したりするときの通信インタフェースを司る。
記憶部12は、ルータ情報を記憶する。このルータ情報は、中継網に設置される境界ルータ20それぞれの識別情報を示した情報である。このルータ情報は、例えば、図5に示すように、各境界ルータ20の識別情報の他に、各境界ルータ20の状態(初期状態、リスト準備状態、リスト防御状態)を含んでもよい。各境界ルータ20の状態は、状態決定部132(後記)により書き込まれる。
制御部13は、コントローラ10全体の制御を司り、ここでは主に境界ルータ20へパケット転送や遮断に関するルールを送信する。
制御部13は、攻撃検知部130と、観測部131と、状態決定部132と、パケット取得部133と、リスト作成部134と、パケット廃棄指示部135と、パケット転送指示部136と、例外設定指示部137と、パケット転送部138とを備える。
攻撃検知部130は、標的への攻撃を検知する。例えば、攻撃検知部130は、収容ルータ30からトラフィック情報を取得し、このトラフィック情報により、ユーザ網内の所定の宛先(標的)にDNS応答が集中していると判断すると、当該宛先を標的とした攻撃として検知する。
観測部131は、境界ルータ20それぞれにおける標的宛のDNS応答のトラヒック量を観測する。例えば、観測部131は、境界ルータ20それぞれに対し、標的のIPアドレス宛のDNS応答のトラヒック量を計測するように指示し、所定期間ごとに当該境界ルータ20から当該トラヒック量の計測結果を取得する。
状態決定部132は、各境界ルータ20を初期状態とするか、リスト準備状態とするか、リスト防御状態とするかの決定を行う。
例えば、状態決定部132は、観測部131で観測された境界ルータ20それぞれにおける標的宛のDNS応答のトラヒック量に基づき、境界ルータ20がリスト準備状態に遷移した場合、境界ルータ20からコントローラ10に転送されるであろう標的宛のDNS応答のトラヒック量の総量を推定する。つまり、状態決定部132は、リスト準備状態に遷移した境界ルータ20から受信するサンプリング結果のトラヒック量の総量を推定する。そして、状態決定部132は、推測されたDNS応答のトラヒック量の総量が所定の値を超えない範囲で、初期状態の境界ルータ20の中から、リスト準備状態へ遷移させる境界ルータ20の集合を決定する。
また、例えば、状態決定部132は、リスト準備状態の境界ルータ20におけるブラックリストへのIPアドレスの追加状況を監視し、ブラックリストへのIPアドレスの追加が所定期間行われなかったとき、当該境界ルータ20をリスト防御状態に遷移させると決定する。つまり、状態決定部132は、リスト準備状態の境界ルータ20におけるブラックリストがある程度成熟したときに、当該境界ルータ20をリスト防御状態に遷移させると決定する。
また、状態決定部132は、観測部131で観測されたリスト準備状態の境界ルータ20における標的のIPアドレス宛のDNS応答のトラヒック量と、当該境界ルータ20のブラックリストとを参照して、当該境界ルータ20におけるブラックリストに掲載されていないIPアドレスから標的のIPアドレス宛のDNS応答(標的宛ブラックリスト外応答パケット)の時間あたりのトラヒック量が、所定の値以下になったとき、当該境界ルータ20をリスト防御状態に遷移させると決定してもよい。
パケット取得部133は、リスト準備状態またはリスト防御状態の境界ルータ20で受信した標的宛のDNS応答のサンプリングを行う。例えば、パケット取得部133は、リスト準備状態またはリスト防御状態の境界ルータ20から、当該境界ルータ20で受信した標的宛ブラックリスト外応答パケットについて所定のレートでサンプリングされたDNS応答を受信する。
リスト作成部134は、各境界ルータ20のブラックリストを作成する。具体的には、リスト作成部134は、パケット取得部133によりサンプリングされた境界ルータ20で受信したDNS応答の送信元IPアドレスを当該境界ルータ20のブラックリストに追加する。なお、このブラックリストは、リスト防御状態の境界ルータ20が標的宛のUDP後続フラグメントを遮断するときに参照するリストである。
パケット廃棄指示部135は、各境界ルータ20の状態に応じて、各境界ルータ20に対し、どのようなパケットを遮断(廃棄)すべきかの指示を行う。
例えば、パケット廃棄指示部135は、初期状態の境界ルータ20に対して、標的宛のDNS応答、および、標的宛のUDP後続フラグメントのいずれかを受信したとき、当該パケットを廃棄する旨のルールを設定する。
また、例えば、パケット廃棄指示部135は、リスト防御状態の境界ルータ20に対して、標的宛のDNS応答、および、ブラックリストに記載のIPアドレスを送信元とする標的宛のUDP後続フラグメントのいずれかを受信したとき、当該パケットを廃棄する旨のルールを設定する。
さらに、例えば、パケット廃棄指示部135は、リスト準備状態の境界ルータ20に対して、標的宛のDNS応答、および、標的宛のUDP後続フラグメントのいずれかを受信したとき、当該パケットを廃棄する旨のルールを設定する。
パケット転送指示部136は、収容ルータ30に対し、収容ルータ30が標的からのDNS要求を受信した場合、当該DNS要求をコントローラ10へ転送する旨の指示を行う。
例外設定指示部137は、収容ルータ30経由で標的からのDNS要求を受信すると、境界ルータ20それぞれに対し、当該DNS要求の宛先IPアドレスを送信元IPアドレスとするDNS応答を廃棄の対象外とする旨のルール(例外)を設定する。これにより、各境界ルータ20において、標的からのDNS要求に対するDNS応答(つまり正当なDNS応答)について通過させることができる。なお、例外設定指示部137は、攻撃を検知したとき、収容ルータ30に対し、標的からのDNS要求をコントローラ10へ転送する旨のルールを設定しておくものとする。これにより、攻撃の検知後、標的からのDNS要求はコントローラ10に到達する。なお、例外設定指示部137は、境界ルータ20上の上記の例外の設定は所定時間経過後に消去するようにする。
パケット転送部138は、例外設定指示部137による各境界ルータ20への例外ルールの設定後、収容ルータ30から受信したDNS要求をいずれかの境界ルータ20へ転送する。
(境界ルータ)
図4に示すように、境界ルータ20は、通信制御部21、記憶部22、制御部23を備える。
通信制御部21は、外部装置との間でデータの送受信を行うための通信インタフェースである。通信制御部21は、例えば、各種パケットの送受信、コントローラ10からのルールの受信や、標的宛のDNS応答のサンプリングの結果の受信等における通信インタフェースを司る。
記憶部22は、ルーティングテーブルと、ルール情報とを記憶する。
ルーティングテーブルは、制御部23がパケットの転送先を決定する際に参照する経路情報である。
ルール情報は、境界ルータ20におけるパケットの処理(通過、遮断(廃棄)、転送等)に関するルールを示した情報である。このルール情報は、コントローラ10により送信される。境界ルータ20は、当該境界ルータ20の状態に応じて、例えば、図6に示すいずれかの状態のルールがルール情報として設定される。つまり、初期状態の境界ルータ20には初期状態のルールが設定され、リスト準備状態の境界ルータ20にはリスト準備状態のルールが設定され、リスト防御状態の境界ルータ20にはリスト防御状態のルールが設定される。なお、図6に示す各状態のルールは、ルールの例外についても併記している。
図6に示す初期状態のルールは、(1)標的宛のDNS応答およびUDP後続フラグメントは原則として遮断するというものである。このルールには、(2)コントローラ10から転送されたDNS要求に対するDNS応答は通過させるという例外が設定されている。
また、図6に示すリスト準備状態のルールは、前記した(1)のルールおよび(2)の例外に加え、(3)標的宛ブラックリスト外応答パケットをサンプリングしてコントローラ10へ送信する、というルールを含む。
また、図6に示すリスト防御状態のルールは、前記した(2)の例外および(3)のルールに加え、(1)に示す、標的宛のDNS応答およびブラックリストに記載のIPアドレスを送信元とする標的宛のUDP後続フラグメントを原則として遮断するというルールを含む。
なお、ここでは図示を省略しているが、ルール情報には各境界ルータ20で用いるブラックリストや、各境界ルータ20で標的宛のDNS応答のサンプリングを行うときのサンプリングの割合(サンプリングレート)の値も含まれる。
制御部23の転送制御部232(後記)は基本的にはルーティングテーブルによりパケットの転送先を決定するが、ルールが設定されていれば、このルールを適用してパケットの転送先の決定やパケットの廃棄、パケットの廃棄の停止等を行う。
制御部23は、コントローラ10から受信したパケット転送や廃棄に関するルール(および例外)に基づき、パケットの転送制御や廃棄を行う。
制御部23は、ルール管理部231と、転送制御部232と、トラヒック量測定部233と、サンプリング部234とを備える。
ルール管理部231は、通信制御部21経由で、コントローラ10から送信されたルールおよび例外を受信すると、これらのルールおよび例外をルール情報として記憶部22に格納する。また、ルール管理部231はコントローラ10から、通信制御部21経由で、ルールや例外の削除指示を受信したとき、これに従い、削除対象のルールを削除する。
転送制御部232は、記憶部22のルーティングテーブルを用いてパケットの転送制御を行う。ここで、転送制御部232は、記憶部22にルール情報に該当するルール(およびその例外)があれば、そのルール(およびその例外)も参照して、パケットの転送制御およびパケットの廃棄を行う。
例えば、ルール情報に、図6に示すリスト防御状態のルールが存在すれば、転送制御部232は、これに従い、標的宛のDNS応答およびブラックリストに記載のIPアドレスを送信元とする標的宛のUDP後続フラグメントを原則として遮断するが、コントローラ10から送信されたDNS要求に対するDNS応答は通過させる。また、標的宛ブラックリスト外応答パケットをコントローラ10へ送信する。
なお、転送制御部232において、受信パケットがDNS応答であるか否かは送信元ポート番号を見ることで判断できる。例えば、受信パケットの送信元ポート番号=53であれば転送制御部232は当該受信パケットをDNS応答と判断する。また、受信パケットがUDP後続フラグメントか否かはパケットのIPヘッダを見ることで判断できる。例えば、転送制御部232は、受信パケットのプロトコル番号=17(UDP)かつオフセットフィールドの値>0(後続フラグメントであることを示す)であるとき、当該受信パケットをUDP後続フラグメントと判断する。
トラヒック量測定部233は、コントローラ10の観測部131からの指示に従い自身の境界ルータ20で受信するトラヒック量の測定を行う。例えば、境界ルータ20が初期状態であれば、トラヒック量測定部233は、コントローラ10の観測部131からの指示に従い、当該境界ルータ20で受信している標的宛のDNS応答の時間あたりのトラヒック量を測定し、コントローラ10へ送信する。また、境界ルータ20がリスト準備状態またはリスト防御状態であれば、トラヒック量測定部233は、コントローラ10の観測部131からの指示に従い、当該境界ルータ20で受信しているブラックリストに非記載のIPアドレスを送信元とする標的宛のDNS応答パケットの時間あたりのトラヒック量を測定し、コントローラ10へ送信する。
サンプリング部234は、転送制御部232で受信している標的宛のDNS応答をサンプリングしてコントローラ10へ送信する。例えば、当該境界ルータ20がリスト準備状態またはリスト防御状態であればサンプリング部234は転送制御部232で受信している標的宛ブラックリスト外応答パケットを所定のレートでサンプリングしてコントローラ10へ送信する。ここでのサンプリングのレートは、受信した標的宛のDNS応答の全部でもよいし一部でもよい。
(処理手順)
次に、図7〜図9を用いて通信システムの処理手順を説明する。ここでは、コントローラ10が境界ルータ20A,20Bに対し制御を行う場合を例に説明する。
(初期状態)
コントローラ10は収容ルータ30のトラフィック情報により、標的への攻撃を検知すると(S212:攻撃検知)、境界ルータ20A,20Bに初期状態のルールの設定を行う(S213、S214)。つまり、コントローラ10の攻撃検知部130が、攻撃を検知すると、パケット廃棄指示部135は、境界ルータ20A,20Bに対し、攻撃の標的宛のDNS応答およびUDP後続フラグメントを原則として遮断する旨のルールを設定する。
上記のルールの設定を受けた境界ルータ20A,20Bは、標的宛のDNS応答およびUDP後続フラグメントを原則として遮断する(S215、S216)。
また、コントローラ10は、収容ルータ30に対してルールを設定する(S217)。ここでのルールは、標的からのDNS要求を受信したときは、当該DNS要求をコントローラ10に転送する旨のルールである。このようなルールが設定された収容ルータ30は標的からのDNS要求を受信すると、当該DNS要求をコントローラ10に転送する(S218)。
その後、コントローラ10は収容ルータ30経由で標的からのDNS要求を受信すると、例外設定指示部137により、境界ルータ20A,20Bに対し、当該DNS要求に対するDNS応答を通過させる旨の例外設定を行う(S219、S220)。そして、パケット転送部138は、収容ルータ30経由で受信したDNS要求をいずれかの境界ルータ20(例えば、境界ルータ20B)へ転送する(S221)。
コントローラ10が境界ルータ20A,20Bに対し上記のような設定を行うことで、境界ルータ20A,20Bは、標的宛のDNS応答およびUDP後続フラグメントは原則として遮断するが、標的からのDNS要求に対するDNS応答(正当なDNS応答)は通過させる。
(初期状態→リスト準備状態)
コントローラ10は、上記のようにして各境界ルータ20を初期状態に遷移させると、コントローラ10の観測部131は、所定期間ごとに境界ルータ20A,20Bのトラヒック量の観測を行う(図8のS231)。例えば、観測部131は、境界ルータ20A,20Bに対し、標的宛のDNS応答のトラヒック量を測定するように指示し、ポーリング等により所定期間ごとに当該境界ルータ20A,20Bから当該トラヒック量の測定結果を取得する。
そして、コントローラ10の状態決定部132は、観測された各境界ルータ20(境界ルータ20A,20B)のトラヒック量に基づき、リスト準備状態へ遷移させる境界ルータ20を決定する(S232)。例えば、状態決定部132は、観測部131で観測された境界ルータ20A,20Bにおける標的宛のDNS応答のトラヒック量に基づき、境界ルータ20A,20Bがリスト準備状態に遷移した場合に、境界ルータ20A,20Bから送信されるであろうDNS応答のサンプリング結果の時間あたりのトラヒック量の総量を推測する。そして、状態決定部132は、推測されたトラヒック量の総量が所定の値を超えない範囲で、初期状態の境界ルータ20の中から、リスト準備状態へ遷移させる境界ルータ20の集合を決定する。なお、どの境界ルータ20が初期状態であるかは、ルータ情報(図5参照)を参照することで特定できる。
次に、コントローラ10のパケット廃棄指示部135は、リスト準備状態へ遷移させると決定した境界ルータ20(例えば、境界ルータ20A,20B)に対し、リスト準備状態のルールの設定を行う(S233、S234)。つまり、コントローラ10のパケット廃棄指示部135は、境界ルータ20A,20Bに対し、標的宛のDNS応答およびUDP後続フラグメントは原則として遮断する旨のルールを設定する。また、コントローラ10のパケット取得部133は、境界ルータ20A,20Bに対し、標的宛ブラックリスト外応答パケットをサンプリングしてコントローラ10へ送信する旨のルールを設定する。なお、境界ルータ20A,20Bは、S219、S220で設定した例外設定についても引き続き適用する。
そして、上記のルールの設定を受けた境界ルータ20A,20Bは、標的宛のDNS応答およびUDP後続フラグメントを原則として遮断し、標的宛ブラックリスト外応答パケットをサンプリングしてコントローラ10へ送信する(S235、S236)。なお、S219、S220で設定した例外設定に基づき、境界ルータ20A,20Bは標的からのDNS要求に対するDNS応答(正当なDNS応答)は通過させる。
コントローラ10のリスト作成部134は、境界ルータ20A,20Bからサンプリングの結果(標的宛ブラックリスト外応答パケット)を受信すると(S237、S238)、境界ルータ20A,20Bに対しサンプリングの結果に含まれる送信元IPアドレスを境界ルータ20A,20Bのブラックリストに追加するよう指示する(S239:ブラックリスト追加指示)。つまり、リスト作成部134は、境界ルータ20Aに対し、境界ルータ20Aからのサンプリングの結果に含まれる送信元IPアドレスをブラックリストに追加するよう指示する。また、リスト作成部134は、境界ルータ20Bに対し、境界ルータ20Bからのサンプリングの結果に含まれる送信元IPアドレスをブラックリストに追加するよう指示する。リスト作成部134は、上記のようにして境界ルータ20(20A,20B)からサンプリング結果を受信するたび、当該境界ルータ20に対し、ブラックリストに当該サンプリング結果に含まれる送信元IPアドレスを追加するよう指示する。これにより、境界ルータ20A,20Bのブラックリストに攻撃パケットの送信元(例えば、図1のリフレクタ)のIPアドレスが蓄積される。
(リスト準備状態→リスト防御状態)
次に、コントローラ10の状態決定部132は、境界ルータ20A,20BのブラックリストへのIPアドレスの追加状況(ブラックリストの成熟度)に基づき、リスト防御状態へ遷移させる境界ルータ20を決定する(図9のS240)。例えば、状態決定部132は、境界ルータ20A,20BのブラックリストへのIPアドレスの追加状況を監視しIPアドレスの追加が所定期間以上行われなくなったとき、当該境界ルータ20のブラックリストが成熟したと判断し、当該境界ルータ20をリスト防御状態に遷移させると決定する。
そして、コントローラ10のパケット廃棄指示部135は、リスト防御状態へ遷移させると決定した境界ルータ20(例えば、境界ルータ20A,20B)に対し、リスト防御状態のルールの設定を行う(S241、S242)。つまり、コントローラ10のパケット廃棄指示部135は、境界ルータ20A,20Bに対し、標的宛のDNS応答およびブラックリストに記載されているIPアドレスを送信元とする標的宛のUDP後続フラグメントを原則として遮断する旨のルールを設定する。なお、境界ルータ20A,20Bは、S233、S234で設定した標的宛ブラックリスト外応答パケットをサンプリングしてコントローラ10へ送信する旨のルールおよびS219、S220で設定した例外設定についても引き続き適用する。
そして、上記のルールの設定を受けた境界ルータ20A,20Bは、標的宛のDNS応答およびブラックリストに記載されているIPアドレスを送信元する標的宛のUDP後続フラグメントを原則として遮断する。また、標的宛ブラックリスト外応答パケットをサンプリングして送信する(S243、S244)。また、S219、S220で設定した例外設定に基づき、境界ルータ20A,20Bは標的からのDNS要求に対するDNS応答(正当なDNS応答)は通過させる。さらに、コントローラ10のリスト作成部134は、S239と同様に、境界ルータ20A,20Bからサンプリングの結果(標的宛ブラックリスト外応答パケット)を受信するたび、境界ルータ20A,20Bに対しサンプリングの結果に含まれる送信元IPアドレスを境界ルータ20A,20Bのブラックリストに追加するよう指示する。これにより、コントローラ10のリスト作成部134は、新たな攻撃元から標的宛に攻撃パケットが送信された場合も、この攻撃元のIPアドレスをブラックリストに追加することができる。
このようにすることで、通信システムは、反射型DDoS攻撃等が行われた場合に、後続フラグメントについても攻撃パケットを識別して境界ルータ20で遮断する。また、通信システムは攻撃の標的からのDNS要求に対するDNS応答(正当なDNS応答)は通過させる。したがって、通信システムは、攻撃パケットの大部分を遮断しつつ、正当なパケットは通過させることができる。
さらに、通信システムは、攻撃検知後、標的宛のDNS応答およびUDP後続フラグメントを遮断し、ブラックリストがある程度成熟したことを確認してから、当該ブラックリストを用いて標的宛のUDP後続フラグメントの遮断を行う。これにより、通信システムは、不正なUDP後続フラグメントによる攻撃を低減することができる。さらに、通信システムは、ブラックリストがある程度成熟したことを自動検知するので、正当なUDP後続フラグメントの疎通復旧を早期に行うことができる。
また、通信システムは、境界ルータ20を初期状態からリスト準備状態に遷移させるとき、コントローラ10が境界ルータ20から受信するトラヒック量の総量が所定の範囲内となるよう遷移させるので、コントローラ10が過負荷な状態になるのを避けることができる。また、通信システムは、コントローラ10で処理可能な負荷量を最大限活用して各境界ルータ20のブラックリストを作成することができる。
(その他の実施形態)
なお、コントローラ10の状態決定部132が初期状態の境界ルータ20群の中からリスト準備状態へ遷移させる境界ルータ20を決定するとき、中継網内には既にリスト防御状態に遷移している境界ルータ20が存在する場合がある。このような場合、状態決定部132は、リスト防御状態の境界ルータ20からコントローラ10に転送される標的宛のDNS応答のトラヒック量についても考慮する必要がある。このため、状態決定部132は、各境界ルータ20からコントローラ10に転送されるであろう標的宛のDNS応答のトラヒック量の総量を以下の式(2)により計算する。
T_1*r_1+T_2*r_2…式(2)
T_1:リスト準備状態の境界ルータ20それぞれで受信する標的宛ブラックリスト外応答パケットの時間あたりのトラヒック量の合計
T_2:リスト防御状態の境界ルータ20それぞれで受信する標的宛ブラックリスト外応答パケットの時間あたりのトラヒック量の合計
r_1:リスト準備状態の境界ルータ20それぞれの応答パケットのサンプリングの割合(つまり、リスト準備状態の境界ルータ20それぞれで受信する攻撃の標的宛の所定のサービスの応答パケットのうち、コントローラ10のパケット取得部133で取得する応答パケットの割合)
r_2:リスト防御状態の境界ルータ20それぞれの応答パケットのサンプリングの割合(つまり、リスト防御状態の境界ルータ20それぞれで受信する攻撃の標的宛の所定のサービスの応答パケットのうち、コントローラ10のパケット取得部133で取得する応答パケットの割合)
このようにすることで、状態決定部132は、中継網内にリスト防御状態の境界ルータ20が存在する場合でも、各境界ルータ20からコントローラ10に転送されるであろう標的宛のDNS応答のトラヒック量の総量を計算することができる。その結果、状態決定部132は、各境界ルータ20からコントローラ10に転送されるであろう標的宛のDNS応答のトラヒック量の総量を精度よく計算することができる。
また、コントローラ10のパケット廃棄指示部135は、リスト防御状態の境界ルータ20に対し、攻撃の標的宛の所定のサービスの応答パケット、および、ブラックリストに記載のIPアドレスを送信元とする攻撃の標的宛のフラグメント化されたパケットのいずれかを受信したとき、当該パケットを廃棄するよう指示することとしたが、これに限定されない。例えば、パケット廃棄指示部135は、リスト防御状態の境界ルータ20に対し、ブラックリストに記載のIPアドレスを送信元とする攻撃の標的宛のパケットを受信したとき、当該パケットを廃棄するよう指示してもよい。このようにすることでも、境界ルータ20は当該攻撃通信による攻撃パケットを廃棄することができる。
また、通信システムは、ブラックリストの作成および管理を各境界ルータ側で行うようにしてもよい。この場合のコントローラ100および境界ルータ200を、図10を用いて説明する。前記した実施形態と同じ構成は、同じ符号を付して説明を省略する。
例えば、コントローラ100は、所定の宛先へのDNS応答の集中(標的宛の攻撃)を検知すると、各境界ルータ200に対し、以下の指示を行う。すなわち、コントローラ100は、各境界ルータ200に対し、自身の境界ルータ200の備えるブラックリストに未記載のIPアドレスを送信元とする標的宛のDNS応答を受信した場合、ブラックリストに当該IPアドレスを追加するよう指示する。そして、コントローラ100は、各境界ルータ200に対し、標的宛のDNS応答およびブラックリストに記載のIPアドレスを送信元とするUDP後続フラグメントを受信した場合、これを遮断するよう指示する。また、コントローラ100は、各境界ルータ200に対し、標的宛のDNS要求に対するDNS応答については通過させる旨の例外設定を行う。つまり、コントローラ100は、各境界ルータ200に対し、正当なDNS応答は通過させる旨の例外設定を行う。このようにすることでも通信システムは、攻撃パケットの大部分を遮断しつつ、正当なパケットを通過させることができる。
図10に示すように、コントローラ100の制御部13は、攻撃検知部130と、パケット転送指示部136と、例外設定指示部137と、パケット転送部138と、防御指示部139とを備える。防御指示部139は、攻撃検知部130により攻撃を検知すると、各境界ルータ200に対し、標的のIPアドレスの通知と防御設定指示を行う。ここでの防御設定指示は、標的宛のDNS応答および自身の境界ルータ200の備えるブラックリストに記載のIPアドレスを送信元とするUDP後続フラグメントを遮断し、また、自身の境界ルータ200の備えるブラックリストに未記載のIPアドレスを送信元とする標的宛のDNS応答を受信した場合、ブラックリストに当該IPアドレスを追加する旨の指示である。
また、境界ルータ200の制御部23は、ルール管理部231と、転送制御部232と、攻撃観測部235と、リスト作成部236とを備える。攻撃観測部235は、防御指示部139から標的のIPアドレスの通知と防御設定指示を受け付けると、以下のようにしてパケットの観測を行う。すなわち、攻撃観測部235は、転送制御部232および通信制御部21により転送されるパケットを観測し、ブラックリストに未記載のIPアドレスを送信元とする標的宛のDNS応答を受信した場合、当該IPアドレスをリスト作成部236に通知する。この通知を受けたリスト作成部236は、ブラックリストに当該IPアドレスを追加する。また、ルール管理部231は、防御指示部139から標的のIPアドレスの通知と防御設定指示を受け付けると、ルール情報に防御設定を行う。つまり、ルール管理部231は標的宛のDNS応答を遮断する旨のルールを記憶部22のルール情報に設定する。また、ルール管理部231は、ブラックリストに新たなIPアドレスが追加されるたびに、当該IPアドレスを送信元とするUDP後続フラグメントを遮断する旨のルールを記憶部22のルール情報に設定する。
次に、図11を用いて、図10に示したコントローラ100および境界ルータ200を備える通信システムの処理手順を説明する。ここでは、コントローラ100が境界ルータ200A,200Bに対し制御を行う場合を例に説明する。
まず、コントローラ100は収容ルータ30のトラフィック情報により、標的への攻撃を検知すると(S312:攻撃検知)、防御指示部139は、境界ルータ200A,200Bに対し、標的のIPアドレスの通知および防御設定指示を行う(S313、S314)。
上記の標的のIPアドレスの通知および防御設定指示を受けた境界ルータ200A,200Bは、標的宛のDNS応答およびブラックリストに記載のIPアドレスを送信元とするUDP後続フラグメントを原則として遮断する。また、境界ルータ200A,200Bは、ブラックリストに非記載のIPアドレスを送信元とする標的宛のDNS応答を受信するたびに当該IPアドレスをブラックリストに追加する(S315、S316)。
また、コントローラ100は、前記したコントローラ10と同様に、収容ルータ30に対してルールを設定する(S317)。ここでのルールは、標的からのDNS要求を受信したときは、当該DNS要求をコントローラ100に転送する旨のルールである。このようなルールが設定された収容ルータ30は標的からのDNS要求を受信すると、当該DNS要求をコントローラ100に転送する(S318)。
その後、コントローラ100は収容ルータ30経由で標的からのDNS要求を受信すると、例外設定指示部137により、境界ルータ200A,200Bに対し、当該DNS要求に対するDNS応答を通過させる旨の例外設定を行う(S319、S320)。そして、パケット転送部138は、収容ルータ30経由で受信したDNS要求をいずれかの境界ルータ200(例えば、境界ルータ200B)へ転送する(S321)。
このようにすることでも通信システムは、攻撃パケットの大部分を遮断しつつ、正当なパケットを通過させることができる。なお、上記の通信システムの場合、攻撃検知時に各境界ルータ200自身でブラックリストの作成を行う。つまり、コントローラ100が境界ルータ200からパケットのサンプリングを行う必要はないので、攻撃検知時に各境界ルータ200は迅速にブラックリストの作成を開始し、攻撃に対する防御を行うことができる。なお、上記の境界ルータ200は、標的宛のDNS応答およびブラックリストに記載のIPアドレスを送信元とするUDP後続フラグメントを遮断することとしたが、ブラックリストに記載のIPアドレスを送信元とする攻撃の標的宛のパケットをすべて遮断してもよい。
また、上記の境界ルータ200は、例えば、図12に示すように、OpenFlow対応ルータと、コントローラ100の制御を受けるサブコントローラとにより実現してもよい。このサブコントローラは汎用的な計算能力を有するため境界ルータ200自身でブラックリストを管理することができる。具体的には、図10に示した境界ルータ200の通信制御部21、記憶部22および制御部23の転送制御部232の機能をOpenFlow対応ルータが実現し、境界ルータ200の通信制御部21、記憶部22、制御部23のルール管理部231、攻撃観測部235およびリスト作成部236の機能をサブコントローラが実現する。
境界ルータ200が上記のようにOpenFlow対応ルータとサブコントローラとにより実現される場合の処理手順の一例を以下に示す。
まず、コントローラ100が攻撃を検知すると、各境界ルータ200のサブコントローラに対し、標的のIPアドレスの通知および防御設定指示を行う。次に、標的のIPアドレスの通知および防御設定指示を受けたサブコントローラは、自身が管理するOpenFlow対応ルータ(つまり、当該サブコントローラが装備される境界ルータ200のOpenFlow対応ルータ)に対して、以下の2点を指示する。すなわち、サブコントローラは、(1)標的宛のDNS応答のうち、ブラックリストに未記載のIPアドレスを送信元とするパケットを受信した際には、当該パケットをサブコントローラに転送する。(2)標的宛のDNS応答およびブラックリストに記載のIPアドレスを送信元とするUDP後続フラグメントを遮断する。そして、サブコントローラは、(1)の指示に基づき、自身が管理するOpenFlow対応ルータから転送されたパケットを受信した際には、当該パケットの送信元IPアドレスをブラックリストに追加する。
また、コントローラ100は収容ルータ30経由で標的からのDNS要求を受信すると、各境界ルータ200のサブコントローラに対し、当該DNS要求に対するDNS応答を通過させる旨の例外設定を行う。このような例外設定を受けたサブコントローラは、自身が管理するOpenFlow対応ルータに対して、当該DNS要求に対するDNS応答を通過させるよう指示する。これにより、境界ルータ200は、標的からの正当なパケットについて通過させることができる。
(プログラム)
また、上記実施形態に係るコントローラ10,100、境界ルータ20,200が実行する処理をコンピュータが実行可能な言語で記述した制御プログラムを作成し、実行することもできる。この場合、コンピュータがプログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかるプログラムをコンピュータに読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。以下に、コントローラ10,100、境界ルータ20,200と同様の機能を実現する制御プログラムを実行するコンピュータの一例を説明する。
図13は、制御プログラムを実行するコンピュータを示す図である。図13に示すように、コンピュータ1000は、例えば、メモリ1010と、CPU(Central Processing Unit)1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有する。これらの各部は、バス1080によって接続される。
メモリ1010は、ROM(Read Only Memory)1011およびRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。ディスクドライブ1100には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース1050には、例えば、マウス1110およびキーボード1120が接続される。ビデオアダプタ1060には、例えば、ディスプレイ1130が接続される。
ここで、図13に示すように、ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093およびプログラムデータ1094を記憶する。上記実施形態で説明したルータ情報、ルール情報等は、例えばハードディスクドライブ1090やメモリ1010に記憶される。
また、制御プログラムは、例えば、コンピュータ1000によって実行される指令が記述されたプログラムモジュールとして、ハードディスクドライブ1090に記憶される。具体的には、上記実施形態で説明したコントローラ10が実行する各処理が記述されたプログラムモジュールが、ハードディスクドライブ1090に記憶される。
また、制御プログラムによる情報処理に用いられるデータは、プログラムデータとして、例えば、ハードディスクドライブ1090に記憶される。そして、CPU1020が、ハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した各手順を実行する。
なお、制御プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、制御プログラムに係るプログラムモジュール1093やプログラムデータ1094は、LAN(Local Area Network)やWAN(Wide Area Network)等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
10,100 コントローラ(制御装置)
20,200 境界ルータ
30 収容ルータ
130 攻撃検知部
131 観測部
132 状態決定部
133 パケット取得部
134 リスト作成部
135 パケット廃棄指示部
136 パケット転送指示部
137 例外設定指示部
138 パケット転送部
139 防御指示部
231 ルール管理部
232 転送制御部
233 トラヒック量測定部
234 サンプリング部
235 攻撃観測部
236 リスト作成部

Claims (12)

  1. ネットワーク同士を接続する境界ルータそれぞれに対し、パケットの転送制御を指示する制御装置であって、
    所定のサービスの応答パケットの集中による攻撃を検知したとき、前記境界ルータで受信した前記攻撃の標的宛の所定のサービスの応答パケットの少なくとも一部を取得するパケット取得部と、
    前記取得した応答パケットの送信元IPアドレスを前記境界ルータのブラックリストに追加するリスト作成部と、
    リスト準備状態の境界ルータそれぞれのブラックリストへのIPアドレスの追加状態を監視し、前記境界ルータのブラックリストへのIPアドレスの追加が所定期間行われなかったとき、当該境界ルータの状態をリスト準備状態からリスト防御状態に遷移させると決定する状態決定部と、
    前記リスト防御状態に遷移させると決定された境界ルータに対して、前記攻撃の標的宛の所定のサービスの応答パケット、および、前記ブラックリストに記載のIPアドレスを送信元とする前記攻撃の標的宛のフラグメント化されたパケットのいずれかを受信したとき、当該パケットを廃棄するよう、前記境界ルータに対し指示し、前記リスト準備状態の境界ルータに対して、前記攻撃の標的宛の所定のサービスの応答パケット、および、前記攻撃の標的宛のフラグメント化されたパケットのいずれかを受信したとき、当該パケットを廃棄するよう指示するパケット廃棄指示部と
    を備えることを特徴とする制御装置。
  2. ネットワーク同士を接続する境界ルータそれぞれに対し、パケットの転送制御を指示する制御装置であって、
    所定のサービスの応答パケットの集中による攻撃を検知したとき、前記境界ルータで受信した前記攻撃の標的宛の所定のサービスの応答パケットの少なくとも一部を取得するパケット取得部と、
    前記取得した応答パケットの送信元IPアドレスを前記境界ルータのブラックリストに追加するリスト作成部と、
    リスト準備状態の境界ルータにおいて受信する前記攻撃の標的宛の所定のサービスの応答パケットのうち、前記ブラックリストに記載されていないIPアドレスを送信元とする応答パケットである標的宛ブラックリスト外応答パケットの時間あたりのトラヒック量が、所定の値以下となったとき、当該境界ルータをリスト準備状態からリスト防御状態に遷移させると決定する状態決定部と、
    記リスト防御状態に遷移させると決定された境界ルータに対して、前記攻撃の標的宛の所定のサービスの応答パケット、および、前記ブラックリストに記載のIPアドレスを送信元とする前記攻撃の標的宛のフラグメント化されたパケットのいずれかを受信したとき、当該パケットを廃棄するよう、前記境界ルータに対し指示し、前記リスト準備状態の境界ルータに対して、前記攻撃の標的宛の所定のサービスの応答パケット、および、前記攻撃の標的宛のフラグメント化されたパケットのいずれかを受信したとき、当該パケットを廃棄するよう指示するパケット廃棄指示部と、
    を備えることを特徴とする制御装置。
  3. ネットワーク同士を接続する境界ルータそれぞれに対し、パケットの転送制御を指示する制御装置であって、
    所定のサービスの応答パケットの集中による攻撃を検知したとき、前記境界ルータで受信した前記攻撃の標的宛の所定のサービスの応答パケットの少なくとも一部を取得するパケット取得部と、
    前記取得した応答パケットの送信元IPアドレスを前記境界ルータのブラックリストに追加するリスト作成部と、
    リスト準備状態の境界ルータそれぞれのブラックリストへのIPアドレスの追加状態を監視し、前記境界ルータのブラックリストへのIPアドレスの追加が所定期間行われなかったとき、当該境界ルータの状態をリスト準備状態からリスト防御状態に遷移させると決定する状態決定部と、
    記リスト防御状態に遷移させると決定された境界ルータに対して、前記ブラックリストに記載のIPアドレスを送信元とする前記攻撃の標的宛のパケットを受信したとき、当該パケットを廃棄するよう、前記境界ルータに対し指示し、前記リスト準備状態の境界ルータに対して、前記攻撃の標的宛の所定のサービスの応答パケット、および、前記攻撃の標的宛のフラグメント化されたパケットのいずれかを受信したとき、当該パケットを廃棄するよう指示するパケット廃棄指示部と、
    を備えることを特徴とする制御装置。
  4. ネットワーク同士を接続する境界ルータそれぞれに対し、パケットの転送制御を指示する制御装置であって、
    所定のサービスの応答パケットの集中による攻撃を検知したとき、前記境界ルータで受信した前記攻撃の標的宛の所定のサービスの応答パケットの少なくとも一部を取得するパケット取得部と、
    前記取得した応答パケットの送信元IPアドレスを前記境界ルータのブラックリストに追加するリスト作成部と、
    リスト準備状態の境界ルータにおいて受信する前記攻撃の標的宛の所定のサービスの応答パケットのうち、前記ブラックリストに記載されていないIPアドレスを送信元とする応答パケットである標的宛ブラックリスト外応答パケットの時間あたりのトラヒック量が、所定の値以下となったとき、当該境界ルータをリスト準備状態からリスト防御状態に遷移させると決定する状態決定部と、
    記リスト防御状態に遷移させると決定された境界ルータに対して、前記ブラックリストに記載のIPアドレスを送信元とする前記攻撃の標的宛のパケットを受信したとき、当該パケットを廃棄するよう、前記境界ルータに対し指示し、前記リスト準備状態の境界ルータに対して、前記攻撃の標的宛の所定のサービスの応答パケット、および、前記攻撃の標的宛のフラグメント化されたパケットのいずれかを受信したとき、当該パケットを廃棄するよう指示するパケット廃棄指示部と、
    を備えることを特徴とする制御装置。
  5. 前記制御装置は、さらに、
    前記境界ルータそれぞれにおける前記攻撃の標的のIPアドレスへの所定のサービスの応答パケットのトラヒック量を観測する観測部を備え、
    前記パケット廃棄指示部は、
    初期状態の境界ルータに対して、前記攻撃の標的宛の所定のサービスの応答パケット、および、前記攻撃の標的宛のフラグメント化されたパケットのいずれかを受信したとき、当該パケットを廃棄するよう指示し、
    前記パケット取得部は、
    前記境界ルータのうち、前記初期状態の境界ルータからは、前記攻撃の標的宛の所定のサービスの応答パケットを取得せず、
    前記状態決定部は、
    前記観測部で観測された境界ルータそれぞれにおける前記攻撃の標的のIPアドレスへの所定のサービスの応答パケットのトラヒック量に基づき、前記パケット取得部でサンプリングされる各境界ルータからの応答パケットの総量を推測し、前記推測された応答パケットの総量が所定の値を超えない範囲で、前記初期状態から前記リスト準備状態へ遷移させる境界ルータの集合を決定する、
    ことを特徴とする請求項のいずれか1項に記載の制御装置。
  6. 前記状態決定部は、
    前記パケット取得部で取得される各境界ルータからの応答パケットの総量を以下の式(1)により推測する、
    ことを特徴とする請求項に記載の制御装置。
    各境界ルータからの応答パケットの総量=T_1*r_1+T_2*r_2…式(1)
    T_1:前記リスト準備状態の境界ルータそれぞれで受信する前記攻撃の標的宛の所定のサービスの応答パケットのうち、前記ブラックリストに記載されていないIPアドレスを送信元とする応答パケットである標的宛ブラックリスト外応答パケットの時間あたりのトラヒック量の合計
    T_2:前記リスト防御状態の境界ルータそれぞれで受信する前記標的宛ブラックリスト外応答パケットの時間あたりのトラヒック量の合計
    r_1:前記リスト準備状態の境界ルータそれぞれで受信する前記攻撃の標的宛の所定のサービスの応答パケットのうち、前記パケット取得部で取得する応答パケットの割合
    r_2:前記リスト防御状態の境界ルータそれぞれで受信する前記攻撃の標的宛の所定のサービスの応答パケットのうち、前記パケット取得部で取得する応答パケットの割合
  7. 前記攻撃の標的のIPアドレスからの前記所定のサービスの要求パケットを受信したとき、前記境界ルータそれぞれに対し、前記取得した要求パケットの宛先IPアドレスを送信元IPアドレスとする前記応答パケットを前記廃棄の対象外とするよう指示する例外設定指示部と、
    をさらに備えることを特徴とする請求項1〜6のいずれか1項に記載の制御装置。
  8. ネットワーク同士を接続する境界ルータそれぞれに対し、パケットの転送制御を指示する制御装置と、前記制御装置からの指示に従って設定を変更する境界ルータとを有する通信システムであって、
    前記制御装置は、
    所定のサービスの応答パケットの集中による攻撃を検知したとき、前記境界ルータで受信した前記攻撃の標的宛の所定のサービスの応答パケットの少なくとも一部を取得するパケット取得部と、
    前記取得した応答パケットの送信元IPアドレスを前記境界ルータのブラックリストに追加するリスト作成部と、
    リスト準備状態の境界ルータそれぞれのブラックリストへのIPアドレスの追加状態を監視し、前記境界ルータのブラックリストへのIPアドレスの追加が所定期間行われなかったとき、当該境界ルータの状態をリスト準備状態からリスト防御状態に遷移させると決定する状態決定部と、
    前記リスト防御状態に遷移させると決定された境界ルータに対して、前記攻撃の標的宛の所定のサービスの応答パケット、および、前記ブラックリストに記載のIPアドレスを送信元とする前記攻撃の標的宛のフラグメント化されたパケットのいずれかを受信したとき、当該パケットを廃棄するよう、前記境界ルータに対し指示し、前記リスト準備状態の境界ルータに対して、前記攻撃の標的宛の所定のサービスの応答パケット、および、前記攻撃の標的宛のフラグメント化されたパケットのいずれかを受信したとき、当該パケットを廃棄するよう指示するパケット廃棄指示部とを備え、
    前記境界ルータは、
    前記制御装置からの指示に従い、前記攻撃の標的宛の所定のサービスの応答パケット、および、前記ブラックリストに記載のIPアドレスを送信元とする前記攻撃の標的宛のフラグメント化されたパケットのいずれかを受信したとき、当該パケットを廃棄する処理、または、前記攻撃の標的宛の所定のサービスの応答パケット、および、前記攻撃の標的宛のフラグメント化されたパケットのいずれかを受信したとき、当該パケットを廃棄する処理を実行する転送制御部、
    を備えることを特徴とする通信システム。
  9. 前記転送制御部は、
    前記制御装置が観測した、前記攻撃の標的から送信された前記所定のサービスの要求パケットの情報を前記制御装置から受信した場合、前記要求パケットの宛先IPアドレスを送信元IPアドレスとする前記応答パケットを前記廃棄の対象外とする、
    ことを特徴とする請求項に記載の通信システム
  10. ネットワーク同士を接続する境界ルータそれぞれに対し、パケットの転送制御を指示する制御方法であって、
    制御装置が、
    所定のサービスの応答パケットの集中による攻撃を検知したとき、
    前記境界ルータで受信した前記攻撃の標的宛の所定のサービスの応答パケットの少なくとも一部を取得するステップと、
    前記取得した応答パケットの送信元IPアドレスを前記境界ルータのブラックリストに追加するステップと、
    リスト準備状態の境界ルータそれぞれのブラックリストへのIPアドレスの追加状態を監視し、前記境界ルータのブラックリストへのIPアドレスの追加が所定期間行われなかったとき、当該境界ルータの状態をリスト準備状態からリスト防御状態に遷移させると決定するステップと、
    前記リスト防御状態に遷移させると決定された境界ルータに対して、前記攻撃の標的宛の所定のサービスの応答パケット、および、前記ブラックリストに記載のIPアドレスを送信元とする前記攻撃の標的宛のフラグメント化されたパケットのいずれかを受信したとき、当該パケットを廃棄するよう、前記境界ルータに対し指示し、前記リスト準備状態の境界ルータに対して、前記攻撃の標的宛の所定のサービスの応答パケット、および、前記攻撃の標的宛のフラグメント化されたパケットのいずれかを受信したとき、当該パケットを廃棄するよう指示するステップと
    を含んだことを特徴とする制御方法。
  11. 前記境界ルータが、
    前記制御装置からの指示に従い、前記攻撃の標的宛の所定のサービスの応答パケット、および、前記ブラックリストに記載のIPアドレスを送信元とする前記攻撃の標的宛のフラグメント化されたパケットのいずれかを受信したとき、当該パケットを廃棄するステップ、または、前記攻撃の標的宛の所定のサービスの応答パケット、および、前記攻撃の標的宛のフラグメント化されたパケットのいずれかを受信したとき、当該パケットを廃棄するステップ、
    をさらに含んだことを特徴とする請求項10に記載の制御方法。
  12. 請求項10または11に記載の制御方法をコンピュータに実行させるための制御プログラム。
JP2016560268A 2014-11-19 2015-11-18 制御装置、通信システム、制御方法、および、制御プログラム Active JP6329275B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2014234762 2014-11-19
JP2014234762 2014-11-19
PCT/JP2015/082421 WO2016080446A1 (ja) 2014-11-19 2015-11-18 制御装置、境界ルータ、制御方法、および、制御プログラム

Publications (2)

Publication Number Publication Date
JPWO2016080446A1 JPWO2016080446A1 (ja) 2017-04-27
JP6329275B2 true JP6329275B2 (ja) 2018-05-23

Family

ID=56013980

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016560268A Active JP6329275B2 (ja) 2014-11-19 2015-11-18 制御装置、通信システム、制御方法、および、制御プログラム

Country Status (5)

Country Link
US (1) US10652211B2 (ja)
EP (1) EP3208976B1 (ja)
JP (1) JP6329275B2 (ja)
CN (1) CN107113228B (ja)
WO (1) WO2016080446A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10181031B2 (en) 2014-09-01 2019-01-15 Nippon Telegraph And Telephone Corporation Control device, control system, control method, and control program
US11070591B2 (en) * 2017-02-10 2021-07-20 Zscaler, Inc. Distributed network application security policy enforcement
JP6894860B2 (ja) * 2018-02-13 2021-06-30 Kddi株式会社 優先度算出装置、優先度算出方法及び優先度算出プログラム
US10868828B2 (en) * 2018-03-19 2020-12-15 Fortinet, Inc. Mitigation of NTP amplification and reflection based DDoS attacks
CN111225070B (zh) * 2018-11-23 2022-05-03 中国电信股份有限公司 流量控制方法、装置、系统和sdn控制器
JP7222260B2 (ja) * 2019-02-07 2023-02-15 日本電信電話株式会社 試験装置
US11349862B2 (en) * 2019-03-01 2022-05-31 Mandiant, Inc. Systems and methods for testing known bad destinations in a production network
US20210105300A1 (en) * 2019-10-08 2021-04-08 Secure64 Software Corporation Methods and systems that detect and deflect denial-of-service attacks
JP7436758B1 (ja) 2023-03-03 2024-02-22 エヌ・ティ・ティ・コミュニケーションズ株式会社 情報処理システム、情報処理方法および情報処理プログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005193590A (ja) * 2004-01-09 2005-07-21 Canon Inc 印刷装置
US20070153763A1 (en) * 2005-12-29 2007-07-05 Rampolla Richard A Route change monitor for communication networks
US8397284B2 (en) * 2006-01-17 2013-03-12 University Of Maryland Detection of distributed denial of service attacks in autonomous system domains
CN100471172C (zh) * 2006-03-04 2009-03-18 华为技术有限公司 一种黑名单实现的方法
CN101188612A (zh) 2007-12-10 2008-05-28 中兴通讯股份有限公司 一种黑名单实时管理的方法及其装置
JP5518594B2 (ja) * 2010-06-30 2014-06-11 三菱電機株式会社 内部ネットワーク管理システム及び内部ネットワーク管理方法及びプログラム
US9888028B2 (en) * 2013-05-03 2018-02-06 Centurylink Intellectual Property Llc Combination of remote triggered source and destination blackhole filtering
US9148440B2 (en) * 2013-11-25 2015-09-29 Imperva, Inc. Coordinated detection and differentiation of denial of service attacks

Also Published As

Publication number Publication date
WO2016080446A1 (ja) 2016-05-26
EP3208976A1 (en) 2017-08-23
US20180041471A1 (en) 2018-02-08
JPWO2016080446A1 (ja) 2017-04-27
CN107113228A (zh) 2017-08-29
EP3208976B1 (en) 2019-09-11
CN107113228B (zh) 2020-07-31
US10652211B2 (en) 2020-05-12
EP3208976A4 (en) 2018-06-20

Similar Documents

Publication Publication Date Title
JP6329275B2 (ja) 制御装置、通信システム、制御方法、および、制御プログラム
CN110677379B (zh) 用于阻止、检测和/或防止恶意流量的方法和设备
US8661544B2 (en) Detecting botnets
JP5826920B2 (ja) 遮断サーバを用いたスプーフィング攻撃に対する防御方法
JP5050781B2 (ja) マルウエア検出装置、監視装置、マルウエア検出プログラム、およびマルウエア検出方法
EP3420487A1 (en) Hybrid hardware-software distributed threat analysis
WO2016140037A1 (ja) 通信先対応関係収集装置、通信先対応関係収集方法及び通信先対応関係収集プログラム
US7506372B2 (en) Method and apparatus for controlling connection rate of network hosts
Hugelshofer et al. OpenLIDS: a lightweight intrusion detection system for wireless mesh networks
François et al. Network security through software defined networking: a survey
JP6737610B2 (ja) 通信装置
WO2019159833A1 (ja) 脅威情報抽出装置及び脅威情報抽出システム
JP2018026747A (ja) 攻撃検知装置、攻撃検知システムおよび攻撃検知方法
US20110141899A1 (en) Network access apparatus and method for monitoring and controlling traffic using operation, administration, and maintenance (oam) packet in internet protocol (ip) network
CN102546587B (zh) 防止网关系统会话资源被恶意耗尽的方法及装置
US8510833B2 (en) Connection-rate filtering using ARP requests
JP6740264B2 (ja) 監視システム、監視方法及び監視プログラム
KR100468374B1 (ko) 네트워크 유해 트래픽 제어 장치 및 방법
JP6740191B2 (ja) 攻撃対処システム及び攻撃対処方法
KR20110040152A (ko) 공격자 패킷 역추적 방법 및 이를 위한 시스템
JP6542726B2 (ja) 攻撃判定装置および攻撃判定方法
JP6509143B2 (ja) 帯域制御装置及び方法
JP5922622B2 (ja) 制御装置、通信システム、および、通信制御方法
JP4326423B2 (ja) 管理装置および不正アクセス防御システム
JP2013255196A (ja) ネットワーク監視装置及びネットワーク監視方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171017

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171213

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180419

R150 Certificate of patent or registration of utility model

Ref document number: 6329275

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150