(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6168977
(24)【登録日】2017年7月7日
(45)【発行日】2017年7月26日
(54)【発明の名称】異常なインターネットプロトコル攻撃のリアルタイム報告を行うシステム及び方法
(51)【国際特許分類】
H04L 12/70 20130101AFI20170713BHJP
【FI】
H04L12/70 100Z
【請求項の数】30
【外国語出願】
【全頁数】16
(21)【出願番号】特願2013-253242(P2013-253242)
(22)【出願日】2013年12月6日
(65)【公開番号】特開2015-111770(P2015-111770A)
(43)【公開日】2015年6月18日
【審査請求日】2016年7月21日
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(73)【特許権者】
【識別番号】513235946
【氏名又は名称】ティー・ティー・ガバメント・ソリューションズ・インコーポレーテッド
(74)【代理人】
【識別番号】100106002
【弁理士】
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100120891
【弁理士】
【氏名又は名称】林 一好
(72)【発明者】
【氏名】イサク ゴットリーブ
(72)【発明者】
【氏名】アディティア ナーイドゥ
(72)【発明者】
【氏名】アブフラジット ゴッシュ
(72)【発明者】
【氏名】澤谷 雪子
(72)【発明者】
【氏名】山田 明
(72)【発明者】
【氏名】窪田 歩
【審査官】
野元 久道
(56)【参考文献】
【文献】
特開2006−238043(JP,A)
【文献】
米国特許第08516104(US,B1)
【文献】
特開2013−214873(JP,A)
【文献】
特開2013−106354(JP,A)
【文献】
特開平07−140229(JP,A)
【文献】
特開2009−032066(JP,A)
【文献】
内山 勇一,自己回帰予測を用いたトラヒック解析によるDoS検知方法の提案 Proposal of Detecting DoS Attacks Based on Traffic Analysis Using AR Model,電子情報通信学会技術研究報告 Vol.103 No.313 IEICE Technical Report,日本,社団法人電子情報通信学会,2003年 9月11日,第103巻,p.55〜60
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/70
(57)【特許請求の範囲】
【請求項1】
インターネットトラフィックを監視するシステムであって、
異常攻撃として識別されるインターネットトラフィックメッセージを検出する第1の装置と、
カウントを提供するために前記異常攻撃として識別される前記インターネットトラフィックメッセージをカウントするカウンターと、
前記異常攻撃として識別される前記インターネットトラフィックメッセージの数の移動平均値を算出する第2の装置と、
前記カウントを前記移動平均値と比較し、前記カウントが前記移動平均値の第1の倍数よりも大きい場合には、異常攻撃アラームを提供する比較部と、
を備えるシステム。
【請求項2】
前記カウントが前記移動平均値の第2の倍数よりも小さい場合には、前記異常攻撃アラームを消去する消去装置をさらに備え、前記第2の倍数は、前記第1の倍数よりも小さい、請求項1に記載のシステム。
【請求項3】
前記カウントが前記第1の倍数より小さい場合には、平滑化により前記移動平均値を更新する更新装置をさらに備える請求項2に記載のシステム。
【請求項4】
前記平滑化は、指数平滑化である請求項3に記載のシステム。
【請求項5】
前記異常攻撃のレコードを記憶するデータベースと、
前記異常攻撃のレコードが所定の期間、前記データベースにあるかどうかを判定するプロセッサと、をさらに備える請求項1に記載のシステム。
【請求項6】
前記移動平均値は、現在のタイムウィンドウで算出され、レコードが、所定の期間よりも長い期間、前記データベースにあった場合には、当該レコードは、前記移動平均値を算出するための前記タイムウィンドウから削除される請求項5に記載のシステム。
【請求項7】
前記移動平均値は、常に正の数に設定される請求項1に記載のシステム。
【請求項8】
前記異常攻撃は、送信元偽装及びサービス拒否攻撃のうちの少なくとも1つを含む請求項1に記載のシステム。
【請求項9】
前記移動平均値は、予め設定された間隔と同じ頻度で更新される請求項1に記載のシステム。
【請求項10】
インターネットトラフィックを監視するシステムであって、
ネットワークフローにおける異常攻撃を検出し、
カウントを提供するために前記異常攻撃として検出されるインターネットトラフィックの数をカウントし、
前記異常攻撃として検出される前記インターネットトラフィックの数の移動平均値を算出し、
前記カウントを前記移動平均値と比較し、
前記カウントが前記移動平均値の第1の倍数よりも大きい場合には、異常攻撃アラームを提供する、ステップを実行するプロセッサ、を備えるシステム。
【請求項11】
前記プロセッサは、さらに、前記カウントが前記移動平均値の第2の倍数よりも小さい場合には、前記異常攻撃アラームを消去するステップを実行し、前記第2の倍数は、前記第1の倍数よりも小さい、請求項10に記載のシステム。
【請求項12】
前記プロセッサは、さらに、前記カウントが前記移動平均値の第1の倍数より小さい場合には、平滑化により前記移動平均値を更新するステップを実行する、請求項10に記載のシステム。
【請求項13】
前記平滑化は、指数平滑化である請求項12に記載のシステム。
【請求項14】
異常攻撃のレコードを記憶するデータベースのためのストレージをさらに備え、前記プロセッサは、さらに、前記異常攻撃のレコードが所定の期間、前記データベースにあるかどうかを判定するステップを実行する、請求項12に記載のシステム。
【請求項15】
前記プロセッサが、前記レコードが前記所定の期間よりも長い期間、前記データベースにあったと判定した場合には、前記プロセッサは、移動平均値を算出するために用いられたウィンドウから前記レコードを削除する請求項14に記載のシステム。
【請求項16】
前記異常攻撃は、送信元偽装及びサービス拒否攻撃のうちの少なくとも1つを含む請求項10に記載のシステム。
【請求項17】
前記移動平均値は、予め設定された間隔と同じ頻度で更新される請求項10に記載のシステム。
【請求項18】
前記移動平均値は、常に正の数に設定される請求項10に記載のシステム。
【請求項19】
インターネットトラフィックを監視する方法であって、
ネットワークフローを受信し、前記ネットワークフローにおける異常攻撃を検出するステップと、
カウントを提供するために前記異常攻撃として検出されるインターネットトラフィックメッセージの数をカウントするステップと、
前記異常攻撃として検出される前記インターネットトラフィックメッセージの数の移動平均値を算出するステップと、
前記カウントを前記移動平均値と比較し、前記カウントが前記移動平均値の第1の倍数よりも大きい場合には、異常攻撃アラームを提供するステップと、を備える方法。
【請求項20】
前記カウントが前記移動平均値の第2の倍数よりも小さい場合には、前記異常攻撃アラームを消去するステップをさらに備え、前記第2の倍数は、前記第1の倍数よりも小さい、請求項19に記載の方法。
【請求項21】
前記カウントが前記移動平均値の前記第1の倍数よりも小さい場合には、平滑化を用いて前記移動平均値を更新する、請求項19に記載の方法。
【請求項22】
前記平滑化は、指数平滑化である請求項21に記載の方法。
【請求項23】
一連のコンピュータ命令を実行するコンピュータプロセッサが実装される、請求項19に記載の方法。
【請求項24】
前記移動平均値は、予め設定された間隔と同じ頻度で更新される請求項19に記載の方法。
【請求項25】
前記移動平均値は、常に正の数に設定される請求項19に記載の方法。
【請求項26】
前記異常攻撃のレコードをデータベースに記憶するステップと、
前記異常攻撃のレコードが所定期間、前記データベースにあるかどうかを判定するステップと、をさらに備える請求項19に記載の方法。
【請求項27】
前記レコードが、所定の期間よりも長い期間、前記データベースにあった場合には、前記移動平均値を算出するために用いられるウィンドウから前記レコードを削除するステップをさらに備える請求項26に記載の方法。
【請求項28】
前記異常攻撃は、送信元偽装及びサービス拒否攻撃のうちの少なくとも1つを含む請求項19に記載の方法。
【請求項29】
コンピュータシステムにより実行されたときに、以下の方法のステップのパフォーマンスをもたらすコンピュータプログラムの命令を記憶するコンピュータで読み取り可能な一時的でない記憶媒体であって、前記方法は、
ネットワークフローにおける異常攻撃を検出するステップと、
前記異常攻撃として検出されるインターネットトラフィックメッセージの数をカウントして、カウントを提供するステップと、
前記異常攻撃として検出される前記インターネットトラフィックメッセージの数の移動平均値を算出するステップと、
前記カウントを前記移動平均値と比較して、前記カウントが前記移動平均値の第1の倍数よりも大きい場合には、異常攻撃アラームを提供するステップと、を備える、
コンピュータで読み取り可能な一時的でない記憶媒体。
【請求項30】
前記方法は、偽装又はサービス拒否攻撃として異常攻撃を判定するステップをさらに備える、請求項29に記載のコンピュータで読み取り可能な一時的でない記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般的に、ネットワーク上での偽装及びDoS(Denial of Service)攻撃の検出に関するものである。より具体的には、本開示は、攻撃が発生しているのか又は発生したのかを確実に判定することに関するものである。
【背景技術】
【0002】
インターネットセキュリティにおける非常に重要な課題の1つは、送信元が偽装されたインターネットプロトコル(IP)トラフィックを用いるネットワーク攻撃を検出することである。これらの攻撃を検出する目的は、ネットワーク運用者に、防衛措置を取るべきであるという警告や、ネットワーク上のホストが情報漏洩したことを知らせる警告を与えることである。他の目的は、偽装パケットを検出する課題を異なる手段により解決し、偽装であると判定されたパケットを切り離すフィルタを構築又は提案することである。
【0003】
この課題に対処するいくつかのアプローチが、非特許文献1に説明されている。また、他のアプローチが、非特許文献2に説明されている。また、さらなるアプローチが、非特許文献3に説明されている。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】M.Nagaratna,V.K.Prasad and S.T.Kumar,“Detecting and Preventing IP−spoofed DDoS Attacks by Encrypted Marking Based Detection and Filtering (EMDAF)”,in International Conference on Advances in Recent Technologies in Communication and Computing,Kottayam,Kerala,2009
【非特許文献2】K.Levitt and S.Templeton,“Detecting Spoofed Packets”,in Proceedings of The Third DARPA Information Survivability Conference and Exposition,Washington,DC USA,2003
【非特許文献3】X.Yang,“A DoS−limiting Network Architecture”,in ACM SIGCOMM,Philadelphia,PA USA,2005
【発明の概要】
【発明が解決しようとする課題】
【0005】
攻撃がいつ発生したかを確実に判定し、防衛的な観測が開始されるようにネットワーク又はサブネットワークの運用者に警告するために、トラフィックを監視するシステム又は方法を、従来技術は、提供しない。このようなシステムに対する需要が存在する。
【0006】
従来の解決手段は、個々のパケットを検出及びフィルタするためのツールを提供する。しかし、従来の解決手段は、偽装されたIPパケットの量が、ネットワークアドミニストレータに報告されるべき攻撃のレベルであるかを判定してはいない。
偽装されているように見える低いレベルのトラフィックが常に存在するため(つまり、偽装によるもの又は偽装検出アルゴリズムにおける誤検出によるもののいずれかが存在するため)、この判定は、大規模なインターネットサービスプロバイダー(ISP)のモニタリングの環境では重要である。このトラフィックの全てを運用者へ報告することは、大量の警告を発生させ、運用者の対処を妨げる。
【0007】
従来の解決手段は、典型的には、与えられたパケットが偽装された送信元アドレスを有するかどうかを検出する方法を提供するものであるが、本開示は、これらの方法を使用して、このような大量のパケットが、与えられた宛先サブネットに対して観察されるというネットワーク運用者への警告を提供するものである。
よって、本開示は、検出自体ではなく、検出の結果を用いた運用上の利益に関するものである。
【課題を解決するための手段】
【0008】
本開示は、一般的な異常トラフィック検出技術及びIP偽装検出ソフトウェアと、攻撃を検出し従来技術の不備を解消するための自己調整及びリアルタイムフィルタリング異常検出とを結合するものである。
【0009】
本開示は、インターネットトラフィックを監視するシステムであって、異常攻撃として識別されるインターネットトラフィックメッセージを検出する第1の装置と、カウントを提供するために前記異常攻撃として識別される前記インターネットトラフィックメッセージをカウントするカウンターと、前記異常攻撃として識別される前記インターネットトラフィックメッセージの数の移動平均値を算出する第2の装置と、前記カウントを前記移動平均値と比較し、前記カウントが前記移動平均値の第1の倍数よりも大きい場合には、異常攻撃アラームを提供する比較部と、を備えるシステムに関する。
【0010】
前記カウントが前記移動平均値の第2の倍数よりも小さい場合には、前記異常攻撃アラームは消去され、前記第2の倍数は、前記第1の倍数よりも小さい。前記移動平均値は、平滑化により更新され、指数平滑化であることが好ましい。
【0011】
前記移動平均値は、予め設定された間隔と同じ頻度で更新され、常に正の数に設定される。
【0012】
前記システムは、前記異常攻撃のレコードを記憶するデータベースをさらに備えることができる。プロセッサは、前記異常攻撃のレコードが所定の期間、前記データベースにあるかどうかを判定し、当該レコードは、前記移動平均値を算出するためのタイムウィンドウでは用いられない。
【0013】
前記異常攻撃は、他の攻撃と同様に、送信元偽装及びサービス拒否攻撃のうちの少なくとも1つを含む。前記異常攻撃は、送信元偽装、SYN比率、ソースIPダイバーシティ、IPゲオロケーションダイバーシティ及びIPアドレスリストを含むインジケータに基づいて識別されうる。
【0014】
本開示は、また、インターネットトラフィックを監視するシステムであって、ネットワークフローにおける異常攻撃を検出し、カウントを提供するために前記異常攻撃として検出されるインターネットトラフィックメッセージの数をカウントし、前記異常攻撃として検出される前記インターネットトラフィックメッセージの数の移動平均値を算出し、前記カウントを前記移動平均値と比較し、前記カウントが前記移動平均値の第1の倍数よりも大きい場合には、異常攻撃アラームを提供する、ステップを実行するプロセッサを備えるシステムに関する。
【0015】
本開示は、さらに、インターネットトラフィックを監視する方法であって、ネットワークフローを受信し、前記ネットワークフローにおける異常攻撃を検出するステップと、カウントを提供するために前記異常攻撃として検出されるインターネットトラフィックメッセージの数をカウントするステップと、前記異常攻撃として検出される前記インターネットトラフィックメッセージの数の移動平均値を算出するステップと、異常攻撃アラームを提供するために前記カウントを前記移動平均値と比較し、前記カウントが前記移動平均値の第1の倍数よりも大きい場合には、異常攻撃アラームを提供するステップと、を備える方法に関する。前記方法は、前記カウントが前記移動平均値の第2の倍数よりも小さい場合には、前記異常攻撃アラームを消去するステップをさらに備えることができ、前記第2の倍数は、前記移動平均値の第1の倍数よりも小さい。前記方法は、さらに、平滑化を用いて前記移動平均値を更新するステップをさらに備えることができ、平滑化は、指数平滑化であることができる。
【0016】
前記方法によれば、前記移動平均値は、予め設定された間隔と同じ頻度で更新されることができる。さらに、前記移動平均値は、正の数に設定されることができる。
【0017】
前記方法は、前記異常攻撃のレコードをデータベースに記憶するステップと、前記異常攻撃のレコードが所定期間、前記データベースにあるかどうかを判定するステップと、前記レコードが、所定の期間よりも長い期間、前記データベースにあった場合には、前記移動平均値を算出するために用いられるウィンドウから前記レコードを削除するステップとをさらに備えることができる。
【0018】
前記方法によれば、前記異常攻撃は、他の攻撃と同様に、送信元偽装及びサービス拒否攻撃のうちの少なくとも1つを含むことができる。前記異常攻撃は、送信元偽装、SYN比率、ソースIPダイバーシティ、IPゲオロケーションダイバーシティ及びIPアドレスリストを含むインジケータに基づいて識別されうる。
【0019】
本開示は、また、コンピュータシステムにより実行されたときに、以下の方法のステップのパフォーマンスをもたらすコンピュータプログラムの命令を記憶するコンピュータで読み取り可能な一時的でない記憶媒体であって、前記方法は、ネットワークフローを受信し、ネットワークフローにおける異常攻撃を検出するステップと、前記異常攻撃として検出されるインターネットトラフィックメッセージの数をカウントして、カウントを提供するステップと、前記異常攻撃として検出される前記インターネットトラフィックメッセージの数の移動平均値を算出するステップと、前記カウントを前記移動平均値と比較して、前記カウントが前記移動平均値の第1の倍数よりも大きい場合には、異常攻撃アラームを提供するステップと、を備える、コンピュータで読み取り可能な一時的でない記憶媒体に関する。
【図面の簡単な説明】
【0020】
一以上の図面に共通する構成要素又は特徴は、図面のそれぞれの同一の参照番号により示される。
【
図1】本開示に係るシステムオペレーティングのフローチャートである。
【
図2】本開示に係るシステムアーキテクチャの概要図である。
【
図3】本開示に係るフローレコード処理の概要図である。
【
図4】
図3のキャプチャデーモンの処理を示すフローチャートである。
【
図5】開示された実施形態を実装するために用いられるコンピュータシステムの図である。
【発明を実施するための形態】
【0021】
図1は、本明細書に開示される実施形態のオペレーションを示す。本実施形態は、偽装された送信元IPアドレスの検出について説明するが、以下に詳細に説明するように、他の異常発生も監視できることが理解されるだろう。
【0022】
101では、ネットワークからのフローについてのデータ(一般的なNetFlow及びsFlowレコードの形態)は、既存のネットワークモニタリングエージェントから送信される。
102では、送信元偽装が検出される。各レコードについて、システムは、送信元IPアドレスが偽装されているか否かを判定する。これは、例えば、Vaidyanathan R.,Ghosh A.,Yuu−Heng Cheng,Yamada A. and Miyake Y.,“On the use of BGP AS numbers to detect spoofing”,In 2010 IEEE GLOBECOM Workshops (GC Workshops),pp.1606−1610.Miami,FL USA,2010に開示されるような、ソースプロファイル104及び所期の性能を有する自律システム(autonomous system(AS))セットを用いることにより行うことができる。しかしながら、偽装されたIPアドレスを検出する何らかの方法が潜在的に適応可能である。
【0023】
106では、フローのアイテムの送信元アドレスが偽装されているかどうかの判定がなされる。偽装されていない場合、フローは102へ戻る。
106において、アイテムが偽装されていると判定された場合、カウンターは、107においてインクリメントされる。カウンターは、現在の間隔内で宛先サブネットにより見られる、偽装された送信元アドレスの数を記録する。この間隔は、ショートタームウィンドウとして知られている。
【0024】
108では、システムは、移動平均値が、定義されたパラメータ、つまり更新間隔と同程度の速さで更新されるようにする。通常、更新間隔は、1秒であることが好ましい。その値は、任意の正の数でありうる。その値は、倍精度浮動小数点数として実装されることが好ましい。この数は、監視されるネットワークとは独立である。
【0025】
109では、複数の更新間隔が経過したかどうかの判定がなされる。
110では、複数の更新間隔が経過した場合、移動平均値は、平滑化を用いて見逃した間隔のために更新される。このように、システムは、宛先に関するレコードが、ショートタームウィンドウに入るとき、又は、から外れたときにのみ、移動平均値を更新する。システムは、少なくとも1つの更新間隔において更新されなかった移動平均値が更新されるとき、見逃した更新間隔のそれぞれに対するその現在値で初めに更新されるようにする。システムは、移動平均値が0ではなく、少なくとも小さい正の数であるようにする。システムは、その後、次のレコードの処理を続ける。
【0026】
111では、ショートタームウィンドウにおいて偽装された攻撃の数が、セーブされた移動平均値の予め定義された倍数X(これは、アラーム閾値である)以上かどうかの判定がなされ、ここでXの典型的な値は、例えば、1.25、1.5、2及び3のみである。
112では、宛先ネット又はサブネットの現在のアラームがあるかどうかの判定がなされる。
114では、宛先サブネットの現在のアラームがない場合、システムは、アラームをデータベースへ投入し、偽装企図のレコードがデータベースに記憶される。そして、フローは102へ戻る。
116では、偽装された攻撃の数が、第2の予め定義された倍数Y(これは、クリア閾値である)を下回るかどうかの判定がなされ、かつ、宛先サブネットの現在のアラームがあるかどうかの判定がなされる。Yの典型的な値は、1、1.1、1.25であり、ここでYはX以下である。X及びYのための値における許容範囲は事実上存在するが、X及びYは、倍精度浮動小数点数として定義され、ここで処理上の理由のため、Xは1.0よりも大きく、YはX以下でなければならない。X及びYを決定するための厳格な規則はない。運用者は、期待されるトラフィックスパイク及び許容可能なフォルスアラームの数に基づいて、これらの値を決定することができる。ネットワークのサイズが、運用者が選択する値の要因となりうるが、この値は、通常、トラフィックの平均変動率よりもはるかに大きいものを表す直感的な概念に一致するように選択される。
【0027】
118では、偽装された攻撃の数が第2の予め定義された倍数よりも小さく、かつ、宛先サブネットの現在のアラームがある場合、アラームクリアがデータベースへ送られ、アラームは、データベースからクリアされる。
120では、移動平均値は、平滑化を用いて更新される。フローは102へ戻る。
116において、偽装された攻撃の数が第2の予め定義された倍数よりも大きい、又は、宛先サブネットの現在のアラームがない場合、平滑化を用いて移動平均値を更新するために、フローは直接120へ進み、その後、102へ進む。
【0028】
120では、宛先サブネットの現在のアラームがデータベースにない場合、システムは、ショートタームウィンドウにおける値を用いて、好ましくは単一指数平滑法を用いることによって、移動平均値を更新する。ユーザ指定の値α(0から1の間)は、選択され、現在のショートターム値(S)にαを掛け、ロングターム値(L)の以前のものと1−αを掛けたものに加えることによりロングターム値(L)は更新される。
これは、L=S×α+L
previous×(1−α)と表される。
処理の開始時では、システムは、Lの初期値としてロングターム値として知られるユーザ指定の値を使用する。システムは、Lを更新する一方で、“ロングターム期間”として知られる最初のユーザ指定の間隔の終了前にロングターム値に対して比較する。ロングターム期間の後、システムは、比較のために、算出されたLを使用する。更新間隔は、通常及び好ましくは、1秒である。その値は、任意の正の数であり、倍精度浮動小数点数として実装されることができる。この数は、監視されるネットワークとは独立である。
【0029】
102において入力したデータは、ネットワークからの新たなフロー又はショートタームウィンドウから外れた古いフローのいずれかでありうる。新たなフローについては、107におけるカウンターがインクリメントされる。古い(期限切れの)フローについては、カウンターは、デクリメントされる。アラーム処理(107の後のステップ)は、ショートタームウィンドウを出るレコードに対するように、ショートタームウィンドウに入るレコードに対して、同様である。
【0030】
図2は、開示された実施形態が実装されるシステムを示す。
一般的に200で示されるインターネットサービスプロバイダー(ISP)ネットワークは、ネットワークを介してトラフィックをネットワークエッジにおけるホストへ転送するルーター202,204,206を含む。これらのいくつかのルーター204は、インターナルフローエージェントを有してもよい。他のルーター206は、これらのフローエージェント208と結合して実装される。フローエージェント208は、ネットワークを監視し、データ(例えば、IPアドレス、ポート数、及びトラフィック量)を収集し、このデータをフローレコードプロセッサ210へ送信する。アラームデータベース212及びプロファイルデータベース214は、フローレコードプロセッサ210と関連付けられる。
【0031】
図3を参照すると、フローレコードプロセッサ210は、キャプチャデーモン302から構成される。1つの実施では、1つのキャプチャデーモンは、各フローエージェント208のために用いられる。
キャプチャデーモン302は、フローレコードを、それらのネイティブ形式(NetFlow又はsFlowレコード)から正規の形式へ変換する。
フローレコードプロセッサ210は、また、レコード処理コンポーネント304を含み、これは、
図1について説明されたような正規のレコードを処理する。
【0032】
図4を参照すると、101では、キャプチャデーモンは、402においてそれらのネイティブフォーマットにおけるデータを監視するネットワークフローを受信することにより、対象となるネットワーク101におけるフローを受信する。
403では、フローレコードは、上記で説明されたシステムにおいて使用される正規のフォーマットへ変更される。sFlowエージェント及びNetFlowエージェントのためのキャプチャデーモンが存在する。通常、それぞれのキャプチャデーモンは、1つのタイプのレコードのみを変換することができる。キャプチャデーモンは開始し、そのレコードをキャプチャデーモンへ送信するように構成されるエージェントから到来したレコード(sFlow又はNetFlowのいずれか)に対し、注意を向ける。ネイティブレコードを受信すると、キャプチャデーモンは、そのレコードから、正規のレコード(canonical record)を生成するために必要なデータを抽出し、正規のレコードを生成する。
404では、キャプチャデーモンは、レコードをファイルに書き込むことにより正規のレコードを記録する。
405では、キャプチャデーモンは、現在のウィンドウにおいて、期限切れの、つまり、いくつかの所定の閾値よりも古い正規のレコードが存在するかどうかを判定する。
406では、ファイルに期限切れのレコードが存在する場合、キャプチャデーモンは、それらのレコードを現在のウィンドウから除去する。
407では、期限切れの正規のレコードは、これらのレコードが期限切れであるという注釈と共に、304(
図3)での処理を記録するために送信される。
408では、キャプチャデーモンは、新たな正規のレコードを現在のウィンドウに追加する。
409では、キャプチャデーモンは、このレコードがウィンドウに新たに入るという注釈と共に、304での処理を記録するためにコピーを送信する。キャプチャデーモンは、402において入ってくるネイティブレコードの処理を再開する。
【0033】
キャプチャデーモンの処理は、殆どのキャプチャデーモンがデータをファイルへセーブするのみである点で画期的であり、そのため、それらがキャプチャするレコードは、別のアプリケーションによりリアルタイムで処理されるのとは対照的に、本明細書に記載のシステムにおける場合のような、完全なファイルが書き込まれた時のみ、定期的に分析されることができる。
【0034】
本明細書に記載のシステム及び方法の実施形態は、自己調整リアルタイムフィルタリング機能を含む。本明細書に記載のシステム及び方法の実施形態は、DoS攻撃のような偽装IPアドレス以外の異常のために用いることができる。DoS攻撃の場合には、移動平均値は、偽装IPパケットの数からなるものではなく、パケットの総数、パケットの総数のバイト数、又はこれらのパケットに対応するフローの数のいずれかからなる。107からの処理は同一である。
【0035】
本明細書に記載のシステムで使用されうる異常IP攻撃の他のインジケータが以下に記載される。異なるイベント又はパラメータの発生の頻度は、システムにより監視される。
【0036】
<SYN比率インジケータ>
TCPベースのアプリケーションは、3−ウェイハンドシェイクプロトコルを用いるクライアントとサーバとの接続の確立を必要とする。ハンドシェイクは、サーバへSYNフラグセット(aka SYNパケット)を有するTCPパケットを送信するクライアントにより開始される。接続の成功は、サーバとクライアントとの確立された接続において非SYN(データ)パケットの交換をもたらす。典型的なボットベースのDoS攻撃は、多数のSYNパケットをサーバへ送信する。SYNフラッドにおける各SYNパケットは、サーバにおけるTCPステートのアロケーションをもたらし、SYN−ACKは、クライアントへ送信される。ボット攻撃は、SYN−ACKに応答せず、そのため、サーバのリソースを消費する。
【0037】
SYN比率インジケータは、サーバへのTCPトラフィックのボリューム全体に対するSYNパケットのボリュームを考慮することによりDoS攻撃の早期の警告を提供する。
SYNフラッド攻撃は、いわゆるフラッシュクラウドとは区別される。なぜなら、SYNフラッドは、SYNパケットの比率が非常に大きいからである。SYN比率インジケータは、各タイムウィンドウ内の観測されたSYN及び非SYNトラフィックのカウンターを維持する。SYN比率インジケータは、複数のタイムウィンドウに亘る観測された非SYNトラフィックに対する観測されたSYNトラフィックのロングタームレートも維持する。所定のタイムウィンドウの算出されたレートは、アラートを出す必要があるかどうか判定するために、現在のロングタームレートと比較される。所定のタイムウィンドウに対してアラートを出す必要がない場合、タイムウィンドウの算出されたレートは、ロングタームレートを更新するために用いられる。
【0038】
<ソースIPダイバーシティインジケータ>
DDoS攻撃を発するボットネットは、通常、ターゲットを圧倒するために、多数のボットを用いる。また、多くのボットネットは、個々のボットのロケーションを隠すためにランダム送信元IPアドレス偽装を採用している。よって、大規模なDDoS攻撃時には、所定の宛先IPに対するユニークな送信元IPアドレスの数は、通常の動作に対して相対的に非常に大きくなる可能性がある。所定の宛先IPアドレスのタイムウィンドウ内で観測されたユニークな送信元IPの数を考慮することによりDDoS/RDDoS攻撃の早期な警告を提供することが可能となる。ソースIPダイバーシティインジケータは、各タイムウィンドウに亘って観測されたユニークな送信元IPアドレスのカウンターを維持し、所定の宛先のショートタームのソースIPダイバーシティレートの算出を可能にする。ショートタームのソースIPダイバーシティは、上記のSYN比率インジケータと同様の手法でロングタームのソースIPダイバーシティレートと共に使用され、アラートを出すかどうかを判定するために使用される。
【0039】
<IPゲオロケーションダイバーシティインジケータ>
DDoS攻撃は、地理的に異なった地域に位置するボットを採用する場合もある。したがって、宛先に対してトラフィックが観測されるユニークな地理的エリアの数は、DDoS攻撃が進行しているときには、相対的に大きくなりうる。送信元IPアドレスを考えると、whoisサーバ又はIPアドレスリストを付与されているRIR(Regional Internet Registry)のいずれかからその地理的な位置のおおよその観測が得られる。IPゲオロケーションダイバーシティインジケータは、トラフィックが、現在のタイムウィンドウ内の与えられた宛先に対して観測される場所からのユニークな地理的な位置のカウントを維持する。既に述べたように、これは、所定の宛先の地理的な異常の存在を判定するために、ロングタームレートと比較される。
【0040】
<IPアドレスリストインジケータ>
既知の悪意のあるトラフィック送信元のIPアドレスを含むブラックリストは、様々な信頼できるプロバイダーから公的に取得される。典型的には、これらのリストにより、悪意のあるトラフィックを発生させると知られている特定のIPアドレス又はIPアドレスサブネットのいずれかが識別される。IPアドレスリストインジケータにより、観測されたフローデータにおけるこれらのリストからIPアドレスの存在が分析される。
このインジケータの例は、コンフィグレーションインプットとして提供される特定のIPアドレスリストと関連付けられる。
【0041】
アラートの発生及びロングタームレートの算出は、前述したインジケータの1つと同様の分析アプローチに基づくタイムウィンドウを用いて行われる。上記に加えて、フローレコードから得られるパケットカウント、バイトカウント及びフローカウントの期間で算出されたインジケータベースの純粋なボリュームは、用いられることができる。前に記載されたインジケータと同様に、これらのボリュームベースのインジケータは、タイムウィンドウあたりのデータボリュームを算出し、タイムウィンドウ当たりの態様と比較することに対してロングタームトレンドを維持する。例えば、インジケータアラートに基づくSYN比率、ソースIPダイバーシティ及びレートの大量発生は、DDoS攻撃に基づくSYNフラッドの発生を示すことができる。インジケータアラートに基づくSYN比率、偽装送信元及びレートの大量発生は、偽装されたSYNフラッド攻撃の存在を示すことができる。偽装された送信元、レートベース及びソースIPダイバーシティインジケータの大量発生は、ランダム偽装によるDoS攻撃を示すことができる。
【0042】
<宛先IPの詳細>
アナリストは、インジケータタイプのいくつかのサブセットと共に関心のある宛先IPアドレス又は宛先IPプレフィックスに基づくアラートをフィルタすることができる。ある宛先IPが、攻撃下にある又は攻撃されそうであるとわかっている場合、インジケータアクティビティを監視することは、攻撃の性質を判定することの助けとなり、それにより、適切な緩和メカニズムを判定することの助けとなる。よって、少量のソースIPダイバーシティインジケータアラートであるが、宛先に対する多量のレートベースのインジケータアラートは、少数の送信元からのトラフィックがDDoS攻撃を生じることを示すことができる。取り得る可能な緩和メカニズムは、選択された送信元アドレスに対する、いわゆるブラックホーリング手法のみを含むことができる。
【0043】
本開示は、検出メカニズム自体ではなく検出の使用に着目していることを留意する。本明細書に記載のシステム及び方法は、宛先サブネットのセキュリティを監視するために、個々の偽装パケット又は他の異常イベントの検出を用いる。本開示は、偽装検出器又は他の異常イベント検出器がいくつかの誤検出をすることを認識している(つまり、それらは、それらが無くてもある割合のパケットを偽装として宣言する)。本開示は、所定の割合の誤検出が存在していても攻撃を検出することができる。本開示は、常に、ネットワーク上で検出可能な特定数の異常なパケットが存在すると仮定している。この仮定は、本システムが、宛先サブネットでの主な攻撃を検出するために大規模ネットワークで用いられることを可能にする。
【0044】
よって、本明細書に開示されたシステム及び方法は、オペレーターが、正確な個々の偽装されたパケットの代わりに、関心のある特定の宛先サブネットへの攻撃を検出することを可能にする。これは、個々の偽装パケットのボリュームがオペレーターを圧倒する大規模ネットワークのオペレーター(つまり、Tier I ISP)にとって有利である。攻撃検出は、ネットワーク状態の移動平均値に基づいているため、ネットワークトラフィックにおける段階的な変化に順応することができる。
【0045】
ISPは、それ自身のネットワークを監視するために本明細書に記載のシステム及び方法を使用することができ、初期の又は進行中の攻撃を検出する。ISPは、また、追加のサービスをそのカスタマーへ提供するために本明細書に記載のシステム及び方法を使用することができ、カスタマーのネットワーク上の、初期の又は進行中の攻撃を検出する。システム及び方法は、また、ネットワーク監視のための製品を有するTCP/IPネットワーク装備ベンダーにも使用される。
【0046】
図5を参照すると、本方法及びシステムが実装されうるコンピュータシステム500は、インターネット等のネットワーク530に接続されたコンピュータ505を含む。
コンピュータ505は、ユーザインターフェース510と、プロセッサ515と、メモリ520と、を備える。コンピュータ505は、汎用マイクロコンピュータで実装されてもよい。コンピュータ505は、本明細書ではスタンドアローン装置として表されるが、これに限定されず、ネットワーク530を介して他の装置(図示せず)と接続されることができる。
【0047】
プロセッサ515は、命令に応答及び実行するロジック回路で構成される。
メモリ520は、プロセッサ515の動作を制御するデータ及び命令を記憶する。メモリ520は、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、又はそれらの組み合わせに実装されてもよい。
メモリ520の1つの構成要素は、プログラムモジュール525である。
プログラムモジュール525は、本明細書に記載の方法を実行するプロセッサ515を制御する命令を含む。
【0048】
用語“モジュール”は、本明細書では、スタンドアローンの構成要素又は複数の下位の構成要素の集積された構成のいずれかとして実施されてもよい機能的な動作を示すために用いられる。よって、プログラムモジュール525は、単一のモジュール又は互いに協同で動作する複数のモジュールとして実装されてもよい。また、プログラムモジュール525は、本明細書では、メモリ520に実装されるものとして説明され、よって、ソフトウェアで実装されるが、ハードウェア(例えば、電子回路)、ファームウェア、ソフトウェア又はそれらの組み合わせのいずれかで実装されることができる。
【0049】
ユーザインターフェース510は、ユーザが情報及びコマンド選択をプロセッサ515へ通信することができるキーボード又は音声認識サブシステムのような入力装置を含む。ユーザインターフェース510は、また、ディスプレイ又はプリンタのような出力装置を含む。マウス、トラックボール又はジョイスティックのようなカーソルコントロールは、ユーザが、追加情報及びコマンド選択をプロセッサ515へ通信するディスプレイ上のカーソルを操作することを可能にする。
プロセッサ515は、本明細書に記載の方法の実行の結果をユーザインターフェース510へ出力する。それに替えて、プロセッサ515は、ネットワーク530を介してリモートデバイス(図示せず)へ出力を指示する。
【0050】
プログラムモジュール525は、メモリ520に既にロードされているように示されているが、メモリ520へその後ロードする記憶媒体535で構成されてもよい。
記憶媒体535は、有形形態でプログラムモジュール525を記憶する従来の記憶媒体であることができる。記憶媒体535の例は、ハードディスクドライブ、フレキシブルディスク、コンパクトディスク、磁気テープ、リードオンリーメモリ、光学記憶媒体、ユニバーサルシリアルバス(USB)フラッシュドライブ、デジタルバーサタイルディスク又はジップドライブを含む。それに替えて、記憶媒体535は、リモートストレージシステムに位置付けられ、ネットワーク530を介してコンピュータ505に接続されるランダムアクセスメモリ又は他のタイプの電子ストレージであることができる。
【0051】
本開示は、本明細書に記載の方法のステップのパフォーマンスをもたらすコンピュータシステムにより実行されたときに、コンピュータプログラムの命令を記憶するコンピュータで読み取り可能な一時的でない記憶媒体で実施されることが理解される。このような記憶媒体は、上述したもののいずれかを含んでもよい。
【0052】
本明細書に記載の技術は、例示であり、本開示の特定の限定を暗示するものとして構築されるべきではない。なお、様々な代替手段、組み合わせ及び変更が当業者により考案されることができる。例えば、本明細書に記載のプロセスと関連付けられるステップは、ステップ自体が特定される又は決定されない限り、任意の順序で行われることができる。
さらに、本明細書に記載の実施形態は、一連のコンピュータ命令を動作するデジタルプロセッサにより実装されるが、他の実施形態は、各種のハードウェア構成要素及び回路を用いて実装されてもよい。例えば、回路は、本明細書に記載のシステム及び方法を実現するために、各種のカウンター、タイマー及びコンパレーターを実装して用いられることができる。
本開示は、添付の特許請求の範囲の範囲内に含まれるこのような代替手段、変更及び変形例の全てを包含することを意図するものである。
【0053】
用語“備える(comprises)”又は“備え(comprising)”は、定められた特徴、整数、ステップ又は構成要素の存在を特定するものとして解釈されが、一又はそれ以上の他の特徴、整数、ステップ又は構成要素或いはそれらの集合の存在を排除するものとしては解釈されない。
【符号の説明】
【0054】
200 インターネットサービスプロバイダー(ISP)ネットワーク
200,202,204 ルーター
208 フローエージェント
210 フローレコードプロセッサ
212 アラームデータベース
214 プロファイルデータベース
500 コンピュータシステム
505 コンピュータ
510 ユーザインターフェース
515 プロセッサ
520 メモリ
525 プログラムモジュール
530 ネットワーク
535 記憶媒体