(57)【要約】【課題】  スループットが低下せず、コストも増大しない、ＮＷ型アプリケーションサービス拒絶防御設定自動解除方法を提供する。【解決手段】  エンドノード４、５はユーザ端末６の攻撃を検出すると、ＯｐＳ８に通知した後、ＯｐＳ８は該攻撃の対処ポリシーをファイアウォール３に設定する。ＯｐＳ８は、ポリシーにより廃棄しているトラヒックのＰＰＳとｂｐｓについてファイアウォール３にポーリングをかける。具体的には、ＯｐＳ８では、ＮＷノードへポリシーを設定したときのポリシーＩＤを保持しておき、ＯｐＳ８は現在保持しているＩＤ情報分についてポーリングをかける。ＯｐＳ８はＰＰＳが閾値Ｐを下回っていて、かつ、ｂｐｓが閾値Ｋを下回っており、当該状況がＣ回連続して続いた場合当該設定を解除する。ＯｐＳ８はトラップが一定回数分連続して到着しなかった場合、攻撃終了と判断し、該ＩＤのポリシーを解除する。【選択図】  図１
2006229839.tif 000002
【特許請求の範囲】
【請求項１】
ＩＰネットワーク内に設置される、各種レイヤ５以上の処理を行う１つまたは複数のエンドノードをそのレイヤ５以上の処理をターゲットとするＤｏＳまたはＤＤｏＳ攻撃から防御するＮＷ型アプリケーションサービス拒絶防衛設定自動解除システムであって、
エンドノードにてレイヤ５以上の処理を行うと同時に攻撃を検出し、
該エンドノードを収容するエッジノードまたは該エンドノードへの出口回線に設置されたファイヤウォールであるＮＷノードにて攻撃に対処し、検出した攻撃情報をレイヤ４以下の情報にマッピングし、該ＮＷノードのＯｐＳに通知し、
該ＯｐＳがＮＷノードに行った防御設定の内容であるポリシーを解除する場合に、攻撃の検出については、検出の精度を保つためそのままエンドノードで実施し、攻撃終了の検知は対処を行った前記ＮＷノードにて行い、前記ＯｐＳがトラヒックのレイヤ４以下の情報を基に攻撃終了を推測する、
ＮＷ型アプリケーションサービス拒絶防衛設定自動解除システム。
【請求項２】
攻撃終了の検知についてＮＷノードにて防御設定をする際にその設定により廃棄されるトラヒックの量についてレイヤ４以下の情報を基にし、該情報を前記ＯｐＳが取得し分析することにより攻撃終了を推測する、請求項１に記載のシステム。
【請求項３】
前記ＯｐＳは、レイヤ４以下の情報を基に計測する手法について、レイヤ２または３の値であるＰＰＳおよびｂｐｓによって計測を行う、請求項２に記載のシステム。
【請求項４】
前記ＯｐＳは、トラヒックのレイヤ４以下の情報による攻撃の推測法についてエンドノードが処理するレイヤ５以上の処理プロトコルが１信号当たり１つのレイヤ２またはレイヤ３のパケットという条件になっていれば、ＰＰＳによる推測を行い、１パケット内に複数の信号が含まれることがある場合には、ＰＰＳとｂｐｓの積条件によって行い、１信号が複数パケットに分割される場合でも同じ方法を用いて行い、攻撃終了の判定は、ＰＰＳ、ｂｐｓそれぞれについて予め定められた閾値（それぞれ、Ｐ、Ｋ）を予め定められた一定時間（Ｓ）下回ったときタイマーにより解除する、請求項３に記載のシステム。
【請求項５】
前記ＯｐＳは、ポリシーを自動解除した場合一定時間監視状態とし、監視期間中に、そのポリシー設定の原因となった攻撃と同一の攻撃が検出された場合には、該攻撃に対しては、一定の割合で、閾値を下げ、該処理が連続して行われる場合には、閾値を下げる割合を一定の割合で増加させるが、連続性がストップした場合、一旦、監視期間中に同一の攻撃が検出されなかった場合には、閾値を下げる割合をクリアする、請求項３に記載のシステム。
【請求項６】
前記ＯｐＳは、攻撃の終了検知法について、ＰＰＳとｂｐｓを用いた検知について、それぞれの単独による検知、それぞれの積条件、和条件、それぞれの閾値（Ｐ、Ｋ）、のどれを用いるかを予め指定する手段を有する、請求項４または５に記載のシステム。
【請求項７】
前記ＯｐＳがトラヒック情報を取得する場合に、ＯｐＳからの防御設定時に、そのポリシーのＩＤ情報を保持しておき、そのＩＤ情報を基に計測した情報を予め定められた時間（Ｉ）間隔でポーリングにより取得する、請求項２に記載のシステム。
【請求項８】
前記ＯｐＳは、前記時間（Ｓ）については、前記閾値（Ｐ）およびポーリングによって取得した値が閾値を連続して下回った回数（Ｃ）により判定し、また、１回のポーリングで複数のＩＤ分取得できる場合には、各ＩＤ共通に時間（Ｉ）の間隔でポーリングを行う、請求項４に記載のシステム。
【請求項９】
前記ＯｐＳが、トラヒック情報を取得する場合に、ＯｐＳからの防御設定時にそのポリシーのＩＤ情報を保持しておき、また、ＮＷノードが計測した情報が予め定められた閾値を上回っている場合は、予め定められた間隔（Ｉ）で該ＩＤを保持した通知を前記ＯｐＳにあげることにより行う、請求項４に記載のシステム。
【請求項１０】
前記時間（Ｓ）については、各ＩＤに対して間隔（Ｉ）および通知が連続して挙がらなかった回数（Ｃ）によって判定し、また、１通知で複数ＩＤ分の情報を保持できる場合には、各設定ポリシー共通に間隔（Ｉ）で通知をあげる、請求項４に記載のシステム。
【請求項１１】
前記間隔（Ｉ）、前記回数（Ｃ）について前記ＯｐＳより予め前記ＮＷノードに設定する、請求項７から９のいずれかに記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＰネットワークにおけるＤＤｏＳ（Distributed Denial of Service attack）攻撃に対するインターネットセキュリティ向上技術に関する。
【背景技術】
【０００２】
一般に、ＤＤｏＳ防御では、攻撃パケットの検出と防御（攻撃パケットをフィルタリングするなど）は同じ装置で行われている。しかし、攻撃パケット検出と防御が別の装置で行われ、なおかつ、防御が攻撃検出ポイントより上流（攻撃パケットの送信元に近い箇所）において行われる場合は、攻撃パケットの検出装置は攻撃の終了を判断し、防御動作を解除することが難しくなる。
【０００３】
これに対処するために、特許文献１は、検出箇所より上流で防御が行われる場合、検出箇所にて攻撃終了または弱まりを検出した場合に通知により上流での防御レベルを下げる旨提案している。しかしながら、防御箇所にて攻撃トラヒックを完全に遮断してしまう場合には、検出箇所にて攻撃終了を検知することは不可能になり、また、通知によって防御レベルを下げたが、攻撃が終了していなかった場合、再度検出箇所からの通知により防御レベルを上げることになり、リスクを伴う不安定な処理となる。
【特許文献１】特開２００４−１６６０２９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
防御の対象となるエンドノードにて攻撃を検出し、連携により上流のＮＷノードにて防御を行う場合、検出したエンドノードへは防御後のトラヒックが流れるため攻撃終了の検知が難しくなる。考え得る方式としては、１）ＮＷノードで攻撃終了を検出する、２）攻撃終了を検出せずタイマーで自動的に攻撃防御設定の解除を行う方法がある。
【０００５】
１）の方法では、レイヤ５以上の攻撃を対象としているため、ＮＷノードでレイヤ５以上の処理を分析せねばならず、スループットの低下を招く危険性があり、例えできたとしても、かなりＮＷノードが高価になる恐れがある。また、２）の方法では実際に攻撃終了の検知は行っておらず、防御設定解除時に攻撃が終了していないというリスクを極力排除するためにタイマ値はかなり大きな値を設定せねばならず、結局手動により設定解除をしなければならない可能性がある。
【０００６】
本発明の目的は、スループットが低下せず、コストも増大しない、ＮＷ型アプリケーションサービス拒絶防衛設定自動解除システムを提供することにある。
【課題を解決するための手段】
【０００７】
本発明では、攻撃検出処理はそのまま（エンドノード自身で行う）とし、攻撃検出の精度は下げない方式とする。攻撃終了の検出は、防御処理を設定する対処装置（ＮＷノード）で行うが、攻撃終了の検出をエンドノードが攻撃を検出する処理と同様に行うとスループットなどの面で問題が生じる可能性があるので、エンドノード自身で行う攻撃検出と比べて攻撃終了の検出は精度を少し下げ、攻撃防御設定の際にそのポリシーのＩＤをＯｐＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）にて保持しておく。ＯｐＳは、そのＩＤで識別されるポリシーにより廃棄されるトラヒックについてレイヤ４以下の情報を基に分析し、攻撃終了を推測して、ポリシー設定を解除する。ＮＷノード（例えばエッジルータ）は高速である必要があり、一般にレイヤ５以上の処理をするのは難しく、またその機能を持っているルータもあまりないからである。レイヤ４以下の情報としては、１秒当りに到着するパケット数であるＰＰＳ（Ｐａｃｋｅｔ  ｐｅｒ  ｓｅｃｏｎｄ）と、ｂｐｓ（ｂｉｔ  ｐｅｒ  ｓｅｃｏｎｄ）を利用し、攻撃を推測する。例えば、バースト的に信号を送出する攻撃についてエンドノードで１秒当たりに到着する信号数で攻撃を検出している場合、そのプロトコル処理が内部規約も含めて、１信号当たり、必ず１パケットであるという条件があれば、ＰＰＳのみにより、エンドノードにおける検出処理と同等のレベルで攻撃終了の検出が可能である。上記条件がない場合、即ち、複数信号が１パケット内に含まれる可能性がある場合は、ＰＰＳの条件以外にｂｐｓの条件も付加し、ＰＰＳが攻撃終了の閾値を下回っても、ｂｐｓが閾値を下回らない限り攻撃終了と判断しない。これは、複数信号が１パケット内に含まれる可能性がある場合には、ＰＰＳの値が、エンドノードで1秒当りに到着する信号数と同じレベルの情報にならない可能性があり、少し精度を上げるため、ＰＰＳの他に帯域（ｂｐｓ）の値も情報源にすることを意味している。１信号が複数パケット分割されることがある場合は、ＰＰＳは実際の信号数よりも余計にカウントしてしまうため攻撃終了の検知が遅れる可能性があるが、攻撃の検出に比べて精度は少し低くても問題はない。
【０００８】
また、閾値の精度を高めるために、本発明は閾値の自動調整機能も備えていてもよい。具体的には、ポリシーが自動解除された際、予め定められた一定時間監視状態とし、監視状態中に同一の攻撃通知が来た場合には、閾値を予め定められた割合で下げる。閾値を下げる割合は、監視時間中に同一攻撃が通知されることが連続して生じる場合には、一定の割合で増加していくが、一旦、監視期間中に同一攻撃が発見されなかった場合には、閾値を下げる割合は０クリアされる方式とする。
【０００９】
ＮＷノードから廃棄されたトラヒックの情報を取得する方法としては、ＯｐＳから定期的にＮＷノードへポーリングする方法と、ＮＷノードへ防御設定を行う際に予めドロップトラヒック量（ＰＰＳ、ｂｐｓ双方）に閾値を定め、閾値を越えた場合に一定時間間隔でトラップ（ｔｒａｐ：通知）を挙げる方法がある。前者は、保持しているＩＤ情報を元にＮＷノードにそのＩＤにて識別されるポリシーにより廃棄されたトラヒックのレイヤ４以下の情報を取得する方法である。後者は、保持しているＩＤ情報を含むトラップが到着するか、しないかにより廃棄されたトラヒックのレイヤ４以下の情報を取得する方法である。この時、ポーリングおよび通知において、複数ＩＤ情報分取得できる場合には、各ＩＤ共通に一定間隔にＯｐＳによるポーリングまたは、ＮＷノードによる通知を行う。
【発明の効果】
【００１０】
検出処理については、正当パケットを高い確率で保護し、その中で取りこぼしの少ない検出を行うが、解除については、検出の精度を少し下げ、レイヤ４以下の情報を基に攻撃を推測し、スループットを優先させることにより、タイマーによる解除方式などと比べて、レイヤ４以下の情報のみではあるが、それらの情報を駆使して攻撃終了を検知しているため、より精度が高く、攻撃が終了していない場合の防御解除のリスクを低減、攻撃が終了しているにもかかわらず長い間解除されなかったため手動で解除されることによる保守コスト増大のリスクを低減でき、また、攻撃終了の検知をレイヤ４以下で行うため、レイヤ５以上で検出する場合と比べて、新たな高機能ＮＷノードを導入することによるコスト増大のリスクの低減、高機能処理によるスループット低下のリスクが低減される。
【発明を実施するための最良の形態】
【００１１】
次に、本発明の実施の形態について図面を参照して説明する。
【００１２】
図１は本発明の一実施形態のネットワークの構成を示している。
【００１３】
１、２は各ＩＳＰのコアネットワークにて縁の部分に位置するエッジルータである。３はエッジルータ１から防御対象であるエンドノード４、５への出口回線にインラインに接続されるファイアウォールである。４、５は防御対象であるエンドノードである。６、７はエンドノード４、５にアクセスするユーザ端末である。８はファイアウォール３のＯｐＳである。図１では攻撃トラヒックを発するユーザ端末を６、正当なユーザ端末を７とする。以下では対処および攻撃終了検知を行うＮＷノードとしてファイアウォール３を例として述べる。
【００１４】
図２はＯｐＳ８の構成を示すブロック図である。
【００１５】
ＯｐＳ８はエンドノードプロトコル制御部１１と通知受付シナリオ１２と設定／解除管理部１３とポーリング管理部１４とファイアウォールプロトコル制御部１５を有している。
【００１６】
エンドノードプロトコル制御部１１はエンドノード４、５から受け取った通知をプロトコル分析し、取得情報を通知受付シナリオ１２に渡す。通知受付シナリオ１２はエンドノードプロトコル制御部１１から受取った情報を基に設定／解除管理部１３にポリシーの設定を依頼する。設定／解除管理部１３は攻撃カウンターテーブル１６を含み、通知受付シナリオ１２から受け取った依頼またはタイマーによりファイアウォールプロトコル制御部１５を介してファイウォール３に防御ポリシーを設定し、設定したポリシーのＩＤ情報をポーリング管理部１４に渡し、当該ポリシーによって廃棄されるトラヒック情報のポーリングを依頼する。また、設定／解除管理部１３は、攻撃カウンターテーブル１６の値により閾値を自動調整する。ポーリング管理部１４はポリシーＩＤテーブル１７を含み、設定したポリシー毎にプロセスを生成し、ファイアウォールプロトコル制御部１５を介してファイアウォール３にポーリングを行い、受け取ったポーリングにより取得した情報により攻撃の終了を判断し、設定／解除管理部１３に防御ポリシーの解除を依頼する。ファイアウォールプロトコル制御部１５は設定／解除管理部１３およびポーリング管理部１４からの依頼に基づきファイアウォール３を制御する。
【００１７】
次に、本実施形態の動作を説明する。
【００１８】
ユーザ端末６はエンドノード４、５に向けて、レイヤ５以上の処理を行うメッセージを多数送信し、エンドノード４、５およびそこまでのネットワークを過負荷状態にし、正当ユーザ７がエンドノード４、５にアクセスするのを妨害する。エンドノード４、５はレイヤ５以上の処理を行なうと同時にユーザ端末６の攻撃を検出する。ファイヤウォール３にて攻撃に対処し、検出した攻撃情報をレイヤ４以下の情報にマッピングし、ＯｐＳ８に通知する。ＯｐＳ８がファイヤウォール３に行った防御設定の内容であるポリシーを解除する場合に、攻撃の検出については、検出の精度を保つためそのままエンドノード４、５で実施し、攻撃終了の検知は対処を行ったファイヤウォール３にて行い、ＯｐＳ８がトラヒックのレイヤ４以下の情報を基に攻撃終了を推測する。攻撃終了の検知についてファイヤウォール３にて防御設定をする際にその設定により廃棄されるトラヒックの量についてレイヤ４以下の情報を基にし、該情報をＯｐＳ８が取得し分析することにより攻撃終了を推測する。
【００１９】
ＯｐＳ８は前記通知を受けて、設定／解除管理部１３により該攻撃の対処ポリシーをファイアウォール３に設定する。ポーリング管理部１４は、ポリシーにより廃棄しているトラヒックの、レイヤ２または３の値であるＰＰＳとｂｐｓについてファイアウォール３にポーリングをかける。エンドノード４、５が処理するレイヤ５以上の処理プロトコルが１信号当たり１つのレイヤ２またはレイヤ３のパケットという条件になっていれば、ＰＰＳによる推測を行い、１パケット内に複数の信号が含まれることがある場合には、ＰＰＳとｂｐｓの積条件によって行う。１信号が複数パケットに分割される場合でも同じ方法を用いて行う。攻撃終了の判定は、ＰＰＳ、ｂｐｓそれぞれについて予め定められた閾値（それぞれ、Ｐ、Ｋ）を予め定められた一定時間（Ｓ）下回ったときタイマーにより解除するものでもよい。ＯｐＳ８では、ＮＷノードへポリシーを設定したときのポリシーＩＤをポリシーＩＤテーブル１７に保持しておき、現在保持しているＩＤ情報分についてポーリングをかける。この場合、ポーリングは各ＩＤ毎にそれぞれ存在するプロセスで実行する方式（この場合１回のポーリングで取得する情報は１ＩＤ分のみ）と、全ＩＤに共通して１プロセスで情報を取得する方式があるが、ファイアウォール３で１回のポーリングによって複数ＩＤ分の情報が取得できる機能をサポートしていれば、後者の方式を採用する。このときのポーリングの間隔をＩ秒とする。ＯｐＳ８の設定／解除部１３はＰＰＳが閾値Ｐを下回っていて、かつ、ｂｐｓが閾値Ｋを下回っており、当該状況がＣ回連続して続いた場合当該設定を解除する。なお、ＰＰＳとｂｐｓの積条件の代わりに、ＰＰＳとｂｐｓの和条件でもよく、また、ＰＰＳとｂｐｓの片方のみでもよい。また、タイマーによる解除処理も併用して処理することができる。該解除条件の識別情報は、別途攻撃防御設定画面（図４）にて設定される。
【００２０】
また、上記では、攻撃終了の検出をＯｐＳ８からのポーリングにより実施しているが、これをＮＷノードからのトラップ（通知）による方式にも容易に応用することができる（図５参照）。この場合は予め、防御設定時に本ポリシーによって廃棄されるパケットのＰＰＳ、ｂｐｓが閾値を上回っている間、予めＮＷノードへ設定した時間間隔（Ｉ）で、トラップをＯｐＳ８へあげるように設定しておく。このときトラップには、ポリシーのＩＤが含まれているものとする。この場合、トラップは、各ＩＤ毎に行う（１トラップには１ＩＤのみ存在）方式と、全ＩＤ共通に１トラップを挙げる方式とがあるが、全ＩＤ分まとめてトラップを挙げる機能があれば後者の方式を採用する。ＯｐＳ８の設定／解除管理部１３はトラップが一定回数分連続して到着しなかった場合、攻撃終了と判断し、該ＩＤのポリシーを解除する。攻撃終了の判定は、ＰＰＳ、ｂｐｓそれぞれについて予め定められた閾値（それぞれ、Ｐ、Ｋ）を予め定められた一定時間（Ｓ）下回ったときタイマーにより解除するものであってもよい。その他、ＰＰＳとｂｐｓの積条件、和条件についてのアルゴリズムは上記ポーリングの場合と同様である。時間（Ｓ）については、閾値（Ｐ）およびポーリングによって取得した値が閾値を連続して下回った回数（Ｃ）により判定してもよく、また各ＩＤに対して時間間隔（Ｉ）および通知が連続して挙がらなかった回数（Ｃ）によって判定してもよい。また、１回のポーリングで複数のＩＤ分取得できる場合には、各ＩＤ共通に時間間隔（Ｉ）でポーリングを行なってもよく、１通知で複数ＩＤ分の情報を保持できる場合には、各設定ポリシー共通に時間間隔（Ｉ）で通知をあげるようにしてもよい。
【００２１】
また、閾値の精度を高めるために、設定／解除管理部１３は前述したように、閾値の自動調整機能も有している。具体的には、攻撃情報とカウンターのセットのテーブルである攻撃カウンターテーブル１６を備えている。ＯｐＳ８が攻撃の通知を受けた場合、該攻撃情報が攻撃カウンターテーブル１６に存在するか検索し、存在しない場合には、カウンター初期値０として該攻撃情報のエントリを新規登録する。存在した場合には、カウンターをカウントアップする。ＯｐＳ８の設定／解除管理部１３が攻撃終了を検知する閾値は、＜設定された値＞×（１−＜予め指定された割合（百分率）＞÷１００×＜テーブル１６のカウンター値＞）（但し、閾値０以上）とする。一方、ポリシーが解除された場合、攻撃カウンターテーブル１６において、そのポリシーに対応する攻撃情報のカウンターを予め定められた一定時間監視し、その期間中カウンター値が不変であった場合は、攻撃カウンターテーブル１６から該攻撃情報のエントリを削除する。すなわち、監視期間中に、そのポリシー設定の原因となった攻撃と同一の攻撃が検出された場合には、該攻撃に対しては、一定の割合で、閾値を下げ、該処理が連続して行われる場合には、閾値を下げる割合を一定の割合で増加させるが、連続性がストップした場合、一旦、監視期間中に同一の攻撃が検出されなかった場合には、閾値を下げる割合をクリアする。
【００２２】
図３はポーリングによるトラヒック情報取得の場合の、ＯｐＳ８の設定画面の例を示している。ここで、「Ｒｅｍｏｖｉｎｇ  ｉｄ」には解除条件ＩＤが設定される。図１ではファイアウォールは１つであるが、実際には複数存在する場合があり、それぞれに違う解除条件を設定する場合もありうるので幾つかの解除条件を準備している。（例えば、ＤＮＳやＰＯＰを対象とする攻撃について解除条件は異なる場合がある。）「Ｐｏｌｌｉｎｇ  Ｉｎｔｅｒｖａｌ（Ｉ）」にはポーリング間隔（ｓｅｃ）が設定される。「Ｃｏｕｎｔｅｒ  ｃｏｎｄｉｔｉｏｎ（Ｃ）」には攻撃終了を判定する条件が設定される。例えば、１回のポーリングで閾値を下回ったとしても攻撃終了と判定しない方がいい場合がある。そこで、カウンター回数連続して閾値を下回った場合に終了と判断する。「Ｒｅｍｏｖｉｎｇ  ｔｉｍｅｒ（Ｔ）」は上述したカウンターである。
【００２３】
図４は攻撃防御設定を行う場合の、ＯｐＳの設定画面の例を示している。この設定画面では、攻撃防御を設定し、かつポーリングの対象となるＮＷノードを識別情報（図４ではＩＰ  Ａｄｄｒｅｓｓで表現している）とし、１つのノードで複数の解除方式が採用されることのないようにしている。
【００２４】
図５はトラップによるトラヒック情報取得の場合の、ＯｐＳ８の設定画面の例を示している。
【図面の簡単な説明】
【００２５】
【図１】本発明の一実施形態によるネットワークの構成を示す図である。
【図２】ＯｐＳ８の構成を示す図である。
【図３】ポーリングによるトラヒック情報取得の場合の設定画面の例を示す図である。
【図４】攻撃防御設定を行う場合の設定画面の例を示す図である。
【図５】ｔｒａｐによるトラヒック情報取得の場合の設定画面の例を示す図である。
【符号の説明】
【００２６】
１    エンドノードを収容するＩＳＰのエッジルータ
２    加入者を収容するＩＳＰのエッジルータ
３    攻撃の対処および攻撃終了の検知を行うファイアウォール
４、５    防御対象となるエンドノード
６、７    ＩＳＰにてエッジルータ２に収容されたユーザ端末
８    攻撃の対処および攻撃終了の検知を行うファイアウォールのＯｐＳ
１１    エンドノードプロトコル制御部
１２    通知受付シナリオ
１３    設定／解除管理部
１４    ポーリング管理部
１５    ファイアウォールプロトコル制御部
１６    攻撃カウンターテーブル
１７    ポリシーＩＤテーブル
【図１】
2006229839.tif 000003
【図２】
2006229839.tif 000004
【図３】
2006229839.tif 000005
【図４】
2006229839.tif 000006
【図５】
2006229839.tif 000007