(57)【要約】継続中のセキュリティブリーチの間において、保護されたコンピュータネットワークによって提供されるクオリティオブサービスを確保するシステム、方法およびコンピュータプログラムを提供する。クオリティオブサービスはネットワーク上のデータパケットにセキュアなクオリティオブサービスのアクションを実行することによって確保される。ｓＱｏＳアクションは、データパケットが向けられたコンピュータ（デスティネーションコンピュータと称される）への攻撃にそのデータパケットが対応するかによる。そのデータパケットが攻撃に対応する場合、そのアクションも攻撃のタイプによる。攻撃がない場合、そのアクションは、同一のソースコンピュータから生じ、同一のデスティネーションコンピュータへと向けられたデータパケットによる攻撃の履歴による。
2007521718.tif 000002
【特許請求の範囲】
【請求項１】
継続中のセキュリティブリーチの間において、保護されたコンピュータネットワークによって提供されたクオリティオブサービスを確保する方法であって、該クオリティオブサービスは、１つ以上のデータパケットにセキュアなクオリティオブサービス（ｓＱｏＳ）アクションを実行することによって確保され、該データパケットは、１つ以上のソースコンピュータからデスティネーションコンピュータへと向けられ、該ソースコンピュータと該デスティネーションコンピュータとはコンピュータネットワークの一部であり、該ｓＱｏＳアクションは、外部システムからのトリガ情報の受信に応答して実行され、該外部システムは、該データパケットのうちの１つ以上のデータパケットが該デスティネーションコンピュータに攻撃を引き起こすか否かを決定し、該外部システムは攻撃のタイプも決定し、該外部システムは、該攻撃のタイプを該トリガ情報とみなす情報を送信し、該方法は、
ａ．該データパケットの各々に対して該ｓＱｏＳアクションを実行するステップであって、該アクションは該受信されたトリガ情報に依存する、ステップと、
ｂ．該アクションを実行した後において該データパケットを開放するステップと
を包含する、方法。
【請求項２】
前記ｓＱｏＳアクションを実行するステップが、前記データパケットにデータを付加するステップを包含し、該付加されたデータが、該データパケットが開放された後において向かうプロセッサによって取られるアクションを示す、請求項１に記載の方法。
【請求項３】
継続中のセキュリティブリーチの間において、保護されたコンピュータネットワークによって提供されたクオリティオブサービスを確保する方法であって、該クオリティオブサービスは、１つ以上のデータパケットにセキュアなクオリティオブサービス（ｓＱｏＳ）アクションを実行することによって確保され、該データパケットは、１つ以上のソースコンピュータからデスティネーションコンピュータへと向けられ、該ソースコンピュータと該デスティネーションコンピュータとはコンピュータネットワークの一部であり、該ｓＱｏＳアクションは、外部システムからのトリガ情報の受信に応答して実行され、該外部システムは、該データパケットのうちの１つ以上のデータパケットが該デスティネーションコンピュータに攻撃を引き起こすか否かを決定し、該外部システムは攻撃のタイプも決定し、該外部システムは、該攻撃のタイプを該トリガ情報とみなす情報を送信し、該方法は、
ａ．該データパケットの各々に対して該ｓＱｏＳアクションを実行するステップであって、該アクションは該受信されたトリガ情報に依存し、該データパケットの各々に対して該ｓＱｏＳアクションを実行するステップは、
ｉ．該トリガ情報が攻撃に対応するか否かを決定するステップと、
ｉｉ．該トリガ情報が攻撃に対応する場合において、該攻撃がカウンタベースのＤＤｏＳ攻撃であるか否かをチェックするステップと、
ｉｉｉ．該攻撃がカウンタベースのＤＤｏＳ攻撃である場合において、
１．カウンタベースのＤＤｏＳ攻撃に対応するアクションを実行するステップと、
２．該パケットをＩＡＴに対して処理するステップであって、該ＩＡＴはレコードを含み、該レコードは、１つ以上のソースコンピュータによるパケットベースの攻撃およびシーケンスベースの攻撃に対応する情報を格納する、ステップと
を実行するステップと、
ｉｖ．該トリガ情報が攻撃に対応しかつ該攻撃がカウンタベースのＤＤｏＳ攻撃でない場合において、
１．パケットベースの攻撃、またはシーケンスベースの攻撃、またはカウンタベースのＤｏＳ攻撃に対応するアクションを実行するステップと、
２．該ＩＡＴに対して該パケットを処理するステップと
を実行するステップと、
ｖ．該トリガ情報が攻撃に対応しない場合において、該ＩＡＴに対して該パケットを処理するステップと
をさらに包含する、ｓＱｏＳアクションを実行するステップと、
ｂ．該アクションを実行した後において該データパケットを開放するステップと
を包含する、方法。
【請求項４】
前記ｓＱｏＳアクションを実行するステップが、前記データパケットにデータを付加するステップをさらに包含し、該付加されたデータが、該データパケットが開放された後において向かうプロセッサによって取られるアクションを示す、請求項３に記載の方法。
【請求項５】
前記カウンタベースのＤＤｏＳ攻撃に対応するアクションを実行するステップが、
ａ．該実行されるアクションがＣｏｎｔｒｏｌＢＷであるか否かを決定するステップと、
ｂ．該実行されるアクションがＣｏｎｔｒｏｌＢＷである場合において、
ｉ．ＣＯＴを更新するステップと、
ｉｉ．前記データパケットの長さに基づいて前記デスティネーションコンピュータへの該データパケットの流れを制限するステップと
を実行するステップと、
ｃ．該実行されるアクションがＣｏｎｔｒｏｌＢＷでない場合において、該実行されるアクションがＣｏｎｎｅｃｔｉｏｎＬｉｍｉｔであるか否かを決定するステップと、
ｄ．該実行されるアクションがＣｏｎｎｅｃｔｉｏｎＬｉｍｉｔである場合において、
ｉ．該ＣＯＴを更新するステップと、
ｉｉ．該デスティネーションコンピュータへの接続数を制御するステップと
を実行するステップと、
ｅ．該実行されるアクションがＣｏｎｎｅｃｔｉｏｎＬｉｍｉｔでない場合において、該実行されるアクションがドロップであるか否かを決定するステップと、
ｆ．該実行されるアクションがドロップである場合において、ドロップするために該パケットをマークするステップと、
ｇ．該実行されるアクションがドロップでない場合において、該実行されるアクションがアラートであるか否かをチェックするステップと、
ｈ．該実行されるアクションがアラートである場合において、アラートメッセージを送るステップと、
ｉ．該実行されるアクションがアラートでない場合において、該実行されるアクションがログであるか否かをチェックするステップと、
ｊ．該実行されるアクションがログである場合において、侵入に関連する情報を用いてログファイルを更新するステップと、
ｋ．前記ＩＡＴに対して処理するために該パケットを送信するステップと
を包含する、請求項３に記載の方法。
【請求項６】
前記、パケットベースの攻撃、またはシーケンスベースの攻撃、またはカウンタベースのＤｏＳ攻撃に対応するアクションを実行するステップが、
ａ．該実行されるアクションがＨａｒｄｅｎＦＷであるか否かを決定するステップと
ｂ．該実行されるステップがＨａｒｄｅｎＦＷである場合において、
ｉ．レコードを含むＩＡＴを更新するステップであって、該レコードは、１つ以上のソースコンピュータによるパケットベースの攻撃およびシーケンスベースの攻撃に対応する情報を格納する、ステップと、
ｉｉ．ファイヤーウォールを強化するステップであって、該ファイヤーウォールを強化することによって該データパケットの流れがブロックされる、ステップと
を実行するステップと、
ｃ．該実行されるアクションがＨａｒｄｅｎＦＷでない場合において、該実行されるアクションがＣｏｎｔｒｏｌＢＷであるか否かを決定するステップと、
ｄ．該実行されるアクションがＣｏｎｔｒｏｌＢＷである場合において、
ｉ．該ＩＡＴを更新するステップと、
ｉｉ．前記データパケットの長さに基づいて該ソースコンピュータからの該データパケットの流れを制限するステップと
を実行するステップと、
ｅ．該実行されるアクションがＣｏｎｔｒｏｌＢＷでない場合において、該実行されるアクションがＣｏｎｎｅｃｔｉｏｎＬｉｍｉｔであるか否かを決定するステップと、
ｆ．該実行されるアクションがＣｏｎｎｅｃｔｉｏｎＬｉｍｉｔである場合において、
ｉ．該ＩＡＴを更新するステップと、
ｉｉ．該ソースコンピュータからの接続数を制御するステップと
を実行するステップと、
ｇ．該実行されるアクションがＣｏｎｎｅｃｔｉｏｎＬｉｍｉｔでない場合において、該実行されるアクションがドロップであるか否かを決定するステップと、
ｈ．該実行されるアクションがドロップでない場合において、該実行されるアクションがアラートであるか否かをチェックするステップと、
ｉ．該実行されるアクションがアラートである場合において、アラートメッセージを送るステップと、
ｊ．該実行されるアクションがアラートでない場合において、該実行されるアクションがログであるか否かをチェックするステップと、
ｋ．該実行されるアクションがログである場合において、該攻撃に関連する情報を用いてログファイル更新するステップと、
ｌ．該ＩＡＴに対して処理するために該パケットを送信するステップと
を包含する、請求項３に記載の方法。
【請求項７】
前記ＩＡＴに対してパケットを処理するステップが、
ａ．該データパケットがＩＰパケットであるか否かをチェックするステップと、
ｂ．該データパケットがＩＰパケットである場合において、前記ソースコンピュータのＩＰアドレスに対応するレコードが該ＩＡＴに存在するか否かをチェックするステップと、
ｃ．該ソースコンピュータの該ＩＰアドレスに対応するレコードが該ＩＡＴに存在する場合において、該レコードを取り出すステップと、
ｄ．該実行されるアクションを取り出すステップであって、該取り出しが該レコードから行われる、ステップと、
ｅ．該実行されるアクションがＣｏｎｔｒｏｌＢＷであるか否かをチェックするステップと、
ｆ．該実行されるアクションがＣｏｎｔｒｏｌＢＷである場合において、ＢＷ制御期間が切れているか否かをチェックするステップと、
ｇ．該ＢＷ制御期間が切れていない場合において、該データパケットの長さに基づいて該データパケットの流れを制限するステップと、
ｈ．該実行されるアクションがＣｏｎｔｒｏｌＢＷでない場合において、該実行されるアクションがＣｏｎｎｅｃｔｉｏｎＬｉｍｉｔであるか否かをチェックするステップと、
ｉ．該実行されるアクションがＣｏｎｎｅｃｔｉｏｎＬｉｍｉｔである場合において、Ｃｏｎｎ制限期間が切れているか否かをチェックするステップと、
ｊ．該Ｃｏｎｎ制限期間が切れていない場合において、接続数を制御するステップと、
ｋ．該実行されるアクションがＣｏｎｎｅｃｔｉｏｎＬｉｍｉｔでない場合において、該実行されるアクションがＨａｒｄｅｎＦＷであるか否かをチェックするステップと、
ｌ．該実行されるアクションがＨａｒｄｅｎＦＷである場合において、ＦＷ強化期間が切れているか否かをチェックするステップと、
ｍ．該ＦＷ強化期間が切れていない場合において、ファイヤーウォールを強化するステップであって、該ファイヤーウォールは、該データパケットの流れをブロックするために強化される、ステップと
を包含する、請求項３に記載の方法。
【請求項８】
前記ＢＷ制御期間が切れているか否かをチェックするステップが、ＢＷ開始時刻とＢＷ制御時間間隔とから該ＢＷ制御期間を算出するステップをさらに包含し、該ＢＷ開始時刻および該ＢＷ制御時間間隔は前記レコードに格納されている、請求項７に記載の方法。
【請求項９】
前記Ｃｏｎｎ制限期間が切れているか否かをチェックするステップが、Ｃｏｎｎ制御開始時刻とＣｏｎｎ制限時間間隔とから該Ｃｏｎｎ制限期間を算出するステップをさらに包含し、該Ｃｏｎｎ制限開始時刻および該Ｃｏｎｎ制限時間間隔は前記レコードに格納されている、請求項７に記載の方法。
【請求項１０】
前記ＦＷ強化期間が切れているか否かをチェックするステップが、ＦＷ強化開始時刻とＦＷ強化時間間隔とから該ＦＷ強化期間を算出するステップをさらに包含し、該ＦＷ強化開始時刻および該ＦＷ強化時間間隔は前記レコードに格納されている、請求項７に記載の方法。
【請求項１１】
前記データパケットの流れを制限するステップが、
ａ．前記攻撃がカウンタベースのＤＤｏＳ攻撃である場合において、前記ＣＯＴからレコードを取り出すステップであって、該取り出しは、前記デスティネーションコンピュータのＩＰアドレスに基づいて行われる、ステップと、
ｂ．該攻撃がカウンタベースのＤＤｏＳ攻撃でない場合において、前記ＩＡＴからレコードを取り出すステップであって、該取り出しは前記ソースコンピュータのＩＰアドレスに基づいて行われる、ステップと、
ｃ．該レコードからＢＷトークンタイムスタンプの値を取り出すステップであって、該ＢＷトークンタイムスタンプの値は、ＢＷカレントトークンの値が更新されたときにおけるタイムスタンプである、ステップと、
ｄ．カレントタイムが該ＢＷトークンタイムスタンプの値よりも所定の間隔だけ大きい場合において、該レコード内の該ＢＷカレントトークンの値を増加させるステップと、
ｅ．前記データパケットの長さが該ＢＷカレントトークンの値よりも小さい場合において、該ＢＷカレントトークンの値からデータパケットの長さを減算し、該得られた値を該ＢＷカレントトークンの値として指定するステップと、
ｆ．該データパケットの長さが該ＢＷカレントトークンの値よりも大きい場合において、該データパケットをドロップするためにマークするステップと
をさらに包含する、請求項５〜７のいずれか１項に記載の方法。
【請求項１２】
前記接続数を制御するステップが、
ａ．前記攻撃がカウンタベースのＤＤｏＳ攻撃である場合において、前記ＣＯＴからレコードを取り出すステップであって、該取り出しは、前記デスティネーションコンピュータのＩＰアドレスに基づいて行われる、ステップと、
ｂ．該攻撃がカウンタベースのＤＤｏＳ攻撃でない場合において、前記ＩＡＴからレコードを取り出すステップであって、該取り出しは、前記ソースコンピュータのＩＰアドレスに基づいて行われる、ステップと、
ｃ．該レコードからＣｏｎｎトークンタイムスタンプの値を取り出すステップであって、該Ｃｏｎｎトークンタイムスタンプの値は、Ｃｏｎｎカレントトークンの値が更新されたときにおけるタイムスタンプである、ステップと、
ｄ．カレントタイムが該Ｃｏｎｎトークンタイムスタンプの値より所定の間隔だけ大きい場合において、該レコード内の該Ｃｏｎｎカレントトークンの値を増加させるステップと、
ｅ．該Ｃｏｎｎカレントトークンの値がゼロよりも大きい場合において、該Ｃｏｎｎカレントトークンの値から１を減算し、該得られた値をＣｏｎｎカレントトークンの値として指定するステップと、
ｆ．該Ｃｏｎｎカレントトークンの値がゼロよりも大きくない場合において、該データパケットをドロップするためにマークするステップと
をさらに包含する、請求項５〜７のいずれか１項に記載の方法。
【請求項１３】
継続中のセキュリティブリーチの間において、保護されたコンピュータネットワークによって提供されたクオリティオブサービスを確保するシステムであって、該クオリティオブサービスは、１つ以上のデータパケットにセキュアなクオリティオブサービス（ｓＱｏＳ）アクションを実行することによって確保され、該データパケットは、１つ以上のソースコンピュータからデスティネーションコンピュータへと向けられ、該ソースコンピュータと該デスティネーションコンピュータとはコンピュータネットワークの一部であり、該ｓＱｏＳアクションは、外部システムからのトリガ情報の受信に応答して実行され、該外部システムは、該データパケットのうちの１つ以上のデータパケットが該デスティネーションコンピュータに攻撃を引き起こすか否かを決定し、該外部システムは攻撃のタイプも決定し、該外部システムは、該攻撃のタイプを該トリガ情報とみなす情報を送信し、該システムは、
ａ．該データパケットの各々に対して該ｓＱｏＳアクションを実行する手段であって、該アクションは該受信された取りが情報に依存し、該データパケットの各々に対して該ｓＱｏＳアクションを実行する手段は、
ｉ．該トリガ情報が攻撃に対応するか否かを決定する手段と、
ｉｉ．該攻撃がカウンタベースのＤＤｏＳ攻撃であるか否かをチェックする手段と、
ｉｉｉ．カウンタベースのＤＤｏＳ攻撃に対応するアクションを実行する手段と、
ｉｖ．該データパケットの各々をＩＡＴに対して処理する手段と、
ｖ．該データパケットにデータを付加する手段と
をさらに備えている、ｓＱｏＳアクションを実行する手段と、
ｂ．該アクションを実行した後において該データパケットを開放する手段と
を備える、システム。
【請求項１４】
継続中のセキュリティブリーチの間において、保護されたコンピュータネットワークによって提供されたクオリティオブサービスを確保するコンピュータプログラム製品であって、該クオリティオブサービスは、１つ以上のデータパケットにセキュアなクオリティオブサービス（ｓＱｏＳ）アクションを実行することによって確保され、該データパケットは、１つ以上のソースコンピュータからデスティネーションコンピュータへと向けられ、該ソースコンピュータと該デスティネーションコンピュータとはコンピュータネットワークの一部であり、該ｓＱｏＳアクションは、外部システムからのトリガ情報の受信に応答して実行され、該外部システムは、該データパケットのうちの１つ以上のデータパケットが該デスティネーションコンピュータに攻撃を引き起こすか否かを決定し、該外部システムは攻撃のタイプも決定し、該外部システムは、該攻撃のタイプを該トリガ情報とみなす情報を送信し、該コンピュータプログラム製品は、
コンピュータ可読媒体であって、
ａ．該データパケットの各々に対して該ｓＱｏＳアクションを実行する第１の命令手段であって、該アクションは該受信されたトリガ情報に依存し、該データパケットの各々に対して該ｓＱｏＳアクションを実行する該第１の命令手段は、
ｉ．該トリガ情報が攻撃に対応するか否かを決定する命令手段と、
ｉｉ．該攻撃がカウンタベースのＤＤｏＳ攻撃であるか否かをチェックする命令手段と、
ｉｉｉ．カウンタベースのＤＤｏＳ攻撃に対応するアクションを実行する命令手段と、
ｉｖ．パケットベースの攻撃、またはシーケンスベースの攻撃、またはカウンタベースの攻撃に対応するアクションを実行する命令手段と、
ｖ．該データパケットをＩＡＴに対して処理する命令手段と、
ｖｉ．該データパケットにデータを付加する命令手段と
をさらに備えている、第１の命令手段と、
ｂ．該アクションを実行した後において該データパケットを開放する第２の命令手段と
を備えたコンピュータ可読媒体
を備える、コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、セキュリティブリーチ（例えば、侵入攻撃）に対してコンピュータネットワークを保護することに関する。より詳しくは、本発明は、コンピュータネットワークへの侵入攻撃に応答することによってコンピュータネットワークのクオリティオブサービス（ｑｕａｌｉｔｙ  ｏｆ  ｓｅｒｖｉｃｅ）を保全するメカニズムに関する。
【背景技術】
【０００２】
コンピュータネットワークへの最も一般的なタイプの攻撃は、侵入攻撃である。これらの攻撃は、特定アプリケーション向け攻撃、バックドア攻撃、サービス妨害（ＤｏＳ）攻撃、分散サービス妨害（ＤＤｏＳ）攻撃などの分類に分類分けされ得る。特定アプリケーション向けの攻撃は、アプリケーションの振る舞いの弱点につけこむことによって、そうでなければ攻撃者に与えられない情報またはデータへのアクセスが得られる。バックドアは、ネットワークのセキュリティの破壊を試み、または、不正アクセスを意のままに得るために攻撃者によって用いられ得るトロイの木馬を一旦ホスティングし放置する。ＤｏＳ攻撃は、ネットワーク上のコンピュータによって提供されるサービスをクラッシュしようと試みるか、またはそれを使用不能にしようと試み、それによって、正規のユーザーにそのサービスを与えない。典型的なＤｏＳ攻撃では、ネットワーク上の特定のコンピュータが、サービスのクラッシュを試みる。さらに危険な種類のＤｏＳ攻撃は、ＤＤｏＳ攻撃である。そのような攻撃では、攻撃するコンピュータは、通常、ネットワーク上の多数のコンピュータを制御し、それらを介してホストコンピュータを攻撃する。従って、実際の攻撃者の検知が困難である一方、正規のユーザーが攻撃者のように見える。
【０００３】
近年、インターネット上のトラフィックの量が膨大に増えてきた。同時に、インターネットでのハッキングも増えてきている。これによって、コンピュータネットワークへの侵入攻撃の脅威が増してきた。
【０００４】
コンピュータネットワーク上での侵入攻撃への脅威が増してきたために、そのような攻撃からのコンピュータネットワークへの保護を提供するメカニズムが強く望まれている。そのようなメカニズムを介して、インターネットサービスプロバイダ（ＩＳＰ）は、ネットワークの動作を妨害することなしに、顧客により安全なインターネットのアクセスを提供し得る。ＩＳＰは、ネットワークのすべての部分において不正動作を検知し得、阻止し得、およびそれに反応し得る侵入保護ソリューションを必要とする。侵入攻撃に対する保護のそのような効率的なメカニズムなしでは、ＩＳＰは、安全なネットワークインフラストラクチャを提供する能力に対する信頼を顧客から得ることはできない。
【０００５】
企業のネットワーク、政府のネットワークおよび軍用のネットワークへの侵入攻撃およびサイバーテロリズムの脅威が増してきたために、先の理由よりは強くはないかもしれないがそれと同様に強い要望がある。従って、そのような攻撃に対してネットワークを保護するために効果的なメカニズムを適切に配置させることに対するネットワークの安全管理者への圧力が増している。しかし、現在のネットワークアーキテクチャは、そのような攻撃に対するネットワークの完全な保護には十分でないということが判明している。
【０００６】
今までに、様々なタイプの侵入検知システムがインターネットなどのネットワークに対して開発されてきた。今までに、２つのタイプの侵入検知装置が開発されてきた。それらは、ホストベースの侵入検知システムと、ネットワークベースの侵入検知システムである。
【０００７】
通常、ホストベースの侵入検知システムは、それらが保護するホストシステム上で動作する。エージェントソフトウェアは、モニターされるホストサーバにインストールされる。エージェントソフトウェアは、ホストサーバへの不正アクセス試行または別の不正動作を追跡する。
【０００８】
通常、ネットワークベースの侵入検知システムは、ネットワークそれ自身上で動作する。通常、エージェントは、ネットワークトラフィックをモニターおよび分析するために、ローカルエリアネットワーク（ＬＡＮ）セグメント上またはファイヤーウォールの背後でインストールされる。通常、これらのネットワークベースの侵入検知システムは、ネットワーク上において無差別モードで動作する一方、侵入検知を提供する。これらのシステムでは、ネットワークトラフィックを観察し、以前に識別された侵入攻撃の特徴と比較する。
【０００９】
しかし、ただ侵入攻撃を検知することでは、上記の攻撃への保護は提供されない。上記の攻撃に対してネットワークを保護するような上記の攻撃への応答を提供するメカニズムが必要とされている。また、ＤＤｏＳ攻撃に効果的に応答することは、難題である。
【００１０】
従って、ＩＳＰ、企業のネットワークおよび別のネットワークを保護するために、上記の攻撃に効果的かつ適切に応答するメカニズムが必要である。さらに、ＤＤｏＳ攻撃を含めた様々なタイプの侵入攻撃に効果的に応答し、その攻撃に対してネットワークを保護するメカニズムが必要である。さらに、侵入攻撃が進行中の場合でさえ、保護されるコンピュータネットワークのクオリティオブサービスのレベルを維持するメカニズムが必要である。
【発明の開示】
【課題を解決するための手段】
【００１１】
本発明は、データパケットに対してセキュアなクオリティオブサービス（ｓｅｃｕｒｅ  Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）（ｓＱｏＳ）のアクションを実行するシステム、方法およびコンピュータプログラム製品であり、そのデータパケットは、保護されたコンピュータネットワークに伝送され、そのアクションは、侵入攻撃が進行中の場合でさえクオリティオブサービスを確保するように実行される。
【００１２】
一局面によると、本発明は、侵入攻撃へのｓＱｏＳ応答を提供し、それによってコンピュータネットワークのサービスの質を悪くさせる試みに対応するシステム、方法およびコンピュータプログラム製品を提供する。
【００１３】
別の局面によると、本発明は、コンピュータネットワーク上のコンピュータへの侵入攻撃からの保護を提供するシステム、方法およびコンピュータプログラム製品を提供し、その保護は、コンピュータへの侵入攻撃の履歴を用いることによって提供される。
【００１４】
別の局面によると、本発明は、コンピュータネットワーク内のコンピュータへの侵入攻撃に関する履歴情報を格納するシステム、方法およびコンピュータプログラム製品を提供する。
【００１５】
別の局面によると、本発明は、ソースコンピュータネットワークからおよび／またはデスティネーションコンピュータネットワークへの侵入攻撃を引き起こすものと疑われるデータパケットの流れを制御するシステム、方法およびコンピュータプログラム製品を提供し、その流れは、侵入攻撃の検知に関して制御され、また、疑わしいデータパケットの長さに基づいて制御される。
【００１６】
さらなる局面によると、本発明は、ソースコンピュータネットワークからおよび／またはデスティネーションコンピュータネットワークへの侵入攻撃を引き起こすものと疑われるデータパケットの流れを制御するシステム、方法およびコンピュータプログラム製品を提供し、その流れは、侵入攻撃の検知に関して制御され、また、サービスを提供する新たな要求の到達頻度に基づいて制御される。
【００１７】
さらなる局面によると、本発明は、ソースコンピュータネットワークからおよび／またはデスティネーションコンピュータネットワークへの侵入攻撃を引き起こすものと疑われるデータパケットの流れを制御するシステム、方法およびコンピュータプログラム製品を提供し、その流れは、侵入攻撃の検知に関して制御され、また、ソースコンピュータネットワークからのトラフィックに対してネットワークのファイヤーウォールを強化することによって制御される。
【００１８】
本発明の好適な実施形態について、添付の図面とともに以下に説明する。その図面は、本発明を限定するためではなく例示するために提供したものであり、図中において、類似の符号は類似の要素を指す。
【発明を実施するための最良の形態】
【００１９】
本明細書では、用語データパケットは、任意のパケット交換方式のネットワークなどにおいて送信されるデータユニットを広く指し、Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ（ＴＣＰ／ＩＰ）パケット、Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ（ＵＤＰ）パケット（データグラムとも称され得る）、または別のそのようなデータユニットを含む。
【００２０】
以下、データパケットの源であるコンピュータをソースコンピュータと称する。また、データパケットの向かう先のコンピュータをデスティネーションコンピュータと称する。ソースコンピュータとデスティネーションコンピュータは、コンピュータネットワーク上の複数のコンピュータのうちの任意の２つであり得る。
【００２１】
本発明は、コンピュータネットワーク上の１つ以上のデータパケットに対してセキュアなクオリティオブサービス（ｓＱｏＳ）のアクションを提供するシステム、方法およびコンピュータプログラム製品を提供する。実行されるアクションは、セキュリティブリーチ（例えば、ネットワーク上の１つ以上のコンピュータへの侵入攻撃）に応答している。
【００２２】
検知に用いられる様々なメカニズムに基づいて、侵入攻撃は、パケットベースの攻撃と、シーケンスベースの攻撃と、カウンタベースの攻撃とに分類され得る。パケットベースの攻撃は、任意のパケットが所定の侵入特徴にマッチする場合に検知されると言われている。シーケンスベースの攻撃は、パケットのシーケンスが所定の侵入特徴にマッチする場合に検知されると言われている。カウンタベースの攻撃は、所定の時間間隔内に届くパケット数が所定の侵入特徴にマッチする場合に検知されると言われている。
【００２３】
カウンタベースの攻撃は、次の２つのタイプのうちの１つであり得る。ＤｏＳ攻撃とＤＤｏＳ攻撃。カウンタベースのＤｏＳ攻撃では、ソースコンピュータは、ネットワーク上の１つ以上のデスティネーションコンピュータを攻撃する。この場合では、侵入攻撃ソースが１つあり、ソースコンピュータに対してｓＱｏＳアクションを取ることによって攻撃に応答することができる。
【００２４】
カウンタベースのＤＤｏＳ攻撃では、複数のソースコンピュータがネットワーク上の１つ以上のデスティネーションコンピュータを攻撃する。この場合では、すべての攻撃するソースコンピュータから生じるデータパケットに対してアクションを取ることは実現可能ではない。例えば、多数のソースコンピュータから生じるデータパケットの経路をブロックすることは実現可能ではないであろう。攻撃するソースコンピュータが、実際にはネットワーク上の別のコンピュータの制御化にあり得るという事実によって、この問題はさらに悪化される。従って、カウンタベースのＤＤｏＳ攻撃に応答すると、攻撃されているデスティネーションコンピュータに向けられた攻撃を引き起こしていると疑われるデータパケットに対してアクションを行う。
【００２５】
攻撃のタイプにもよるが、実行され得るアクションは多数ある。例えば、１つのタイプのアクションでは、特定のソースコンピュータから生じるデータパケットの経路は、制限され得るか、またはブロックさえされ得る。パケットベースの攻撃、シーケンスベースの攻撃およびカウンタベースの攻撃に応答して実行され得るアクションには、ファイヤーウォール強化（「ＨａｒｄｅｎＦＷ」）、バンド幅制御（「ＣｏｎｔｒｏｌＢＷ」）および接続数制限（「ＣｏｎｎｅｃｔｉｏｎＬｉｍｉｔ」）が含まれるが、これらに限定されない。ＨａｒｄｅｎＦＷアクションには、攻撃するソースコンピュータからのデータパケットの経路をブロックするファイヤーウォールを強化することが含まれる。ＣｏｎｔｒｏｌＢＷアクションには、データパケットの長さに基づいて、攻撃するソースコンピュータからのデータパケットの経路を制限することが含まれる。ＣｏｎｎｅｃｔｉｏｎＬｉｍｉｔアクションには、攻撃するソースコンピュータと攻撃されるデスティネーションコンピュータとの接続の数を限定することが含まれる。カウンタベースのＤＤｏＳ攻撃に応答して実行され得るアクションには、ＣｏｎｔｒｏｌＢＷとＣｏｎｎｅｃｔｉｏｎＬｉｍｉｔが含まれるが、これらに限定されない。これらのすべてのアクションの詳細については後で議論する。
【００２６】
本発明は、統合されたポリシー適用システム（ｐｏｌｉｃｙ  ｅｎｆｏｒｃｅｍｅｎｔ  ｓｙｓｔｅｍ、以下これをポリシーエージェントと称する）内で動作されるものとして考える。ポリシーエージェントは、Ｆｒｅｍｏｎｔ，ＣＡのｉＰｏｌｉｃｙ  Ｎｅｔｗｏｒｋｓ  Ｉｎｃ．によって提供されるｉｐＥｎｆｏｒｃｅｒ５０００（登録商標）などの製品において具体化され得る。この製品は、ネットワーク上の管理ポリシーを適用するために用いられ、また、パケットがネットワークに入る地点に配置される。さらに、ポリシーエージェントは、Ｃなどのプログラミング言語またはアッセンブリにおいてエンコードされ得る。
【００２７】
ポリシーエージェントは、データパケットがポリシーエージェントを通過するときにそれらのパケットをスキャニングし、それらのパケットにネットワークポリシーを適用する。ポリシーエージェントは多様に提供され得るが、そのようなポリシーエージェントの記載は、タイトルが「Ａｒｃｈｉｔｅｃｔｕｒｅ  ｆｏｒ  ａｎ  Ｉｎｔｅｇｒａｔｅｄ  Ｐｏｌｉｃｙ  Ｅｎｆｏｒｃｅｍｅｎｔ  Ｓｙｓｔｅｍ」である米国特許出願第１０／０５２，７４５号（２００２年１月１７日出願）に見て取られ、それの全内容は本明細書において援用される。しかし、本発明は別のポリシーエージェントにおいて動作するように適合され得るということは、当業者に認められ得る。
【００２８】
主に図１を参照して、例示的なポリシーエージェントの様々な機能モジュールを以下に詳細に記載する。ポリシーエージェントは、ジェネリックエクステンションビルダー１０２と、セッションキャッシュモジュール１０４と、アプリケーションデコードモジュール１０６と、ルールエンジンモジュール１０８と、ポリシーエンティティ１１０とを含む。ポリシーエージェントは、ポリシーマネジャー１１２によってもサポートされる。ポリシーエージェントに入るパケットは、それらの機能モジュールを介して伝わる。各機能モジュールは、自身の出力をパケットの拡張部分に追加し、その拡張部分は、ポリシーエージェントの次のモジュールに用いられる。
【００２９】
ジェネリックエクステンションビルダー１０２は、開放型システム相互接続（ＯＳＩ）レイヤ２およびレイヤ３に関連した情報のパケットヘッダを処理する。
【００３０】
セッションキャッシュモジュール１０４は、ＯＳＩレイヤ４およびそれ以上のレイヤに関連した情報のパケットヘッダを処理する。
【００３１】
アプリケーションデコードモジュール１０６は、パケットを生成するアプリケーションを識別し、また、パケットがあるアプリケーション状態から別の状態へと遷移したときにおいてパケットを追跡する。
【００３２】
ルールエンジンモジュール１０８は、前のモジュールから収集された情報に基づいてポリシーの決定を行う。それは、パケットによってマッチされたルールを識別し、ポリシーエンティティ１１０にこの情報を送る。
【００３３】
ポリシーエンティティ１１０は、サービスアプリケーションモジュール（ＳＡＭ）とも称されるポリシー処理モジュールを含む。それらのモジュールは、それの要求にさらに基づいてパケットを分析し、ポリシーを適用する。ＳＡＭには、ファイヤーウォールモジュールと、侵入検知システム（ＩＤＳ）モジュールと、仮想私設網（ＶＰＮ）モジュールと、ｓＱｏＳアクションを提供するモジュール（以下、これをｓＱｏＳモジュールと称する）とが含まれるが、これらには限定されない。
【００３４】
ポリシーマネジャー１１２は、ポリシーエージェントによってインプリメントされるポリシールールを含む。
【００３５】
ＩＤＳモジュールは、ネットワーク上を流れるデータパケットの各々に一組の侵入検知ポリシーを適用し、それによって、そのデータパケットが攻撃に相当するかを決定する。
複数のＩＤＳモジュールのうちの１つが攻撃を検知すると、そのモジュールは攻撃のタイプも決定する。そのタイプはカウンタベースの攻撃と、パケットベースの攻撃と、シーケンスベースの攻撃とのうちのいずれかであり得る。次いで、ＩＤＳモジュールは、複数のｓＱｏＳモジュールのうちの１つにこの情報を送る。次いで、そのｓＱｏＳモジュールは、本発明の一実施形態に従って、データパケットへのアクションを実行する。
【００３６】
ＩＤＳモジュールは多様に提供され得るが、そのようなＩＤＳモジュールの記載は、タイトルが「Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｄｅｔｅｃｔｉｏｎ  ｏｆ  Ｉｎｔｒｕｓｉｏｎ  Ａｔｔａｃｋｓ  ｏｎ  Ｐａｃｋｅｔｓ  Ｔｒａｎｓｍｉｔｔｅｄ  ｏｎ  ａ  Ｎｅｔｗｏｒｋ」である米国特許出願第１０／０５２，３２８号（２００２年１月１７日出願）において見られ、それの全内容は本明細書に援用される。しかし、本発明が別のＩＤＳモジュールと協働して動作するように適合され得るということは、当業者に認められ得る。セキュアなクオリティオブサービスのアクションのトリガについてＩＤＳモジュールを参照して記載してきたが、別のＳＡＭモジュール（例えば、ファイヤーウォールまたはアンチウィルス）もセキュアなクオリティオブサービスのアクションをトリガし得るということは、当業者に認められ得る。
【００３７】
ＩＤＳモジュールによって送られるこの情報は、関連するアクションを実行するｓＱｏＳモジュールのトリガとしての役目をする。先に記載したように、攻撃があるかどうかに、また攻撃のタイプに依存してｓＱｏＳモジュールはデータパケットに適切なアクションを実行する。
【００３８】
その攻撃がパケットベースの攻撃、シーケンスベースの攻撃またはカウンタベースのＤｏＳ攻撃のいずれかである場合には、侵入アタッカテーブル（Ｉｎｔｒｕｓｉｏｎ  Ａｔｔａｃｋｅｒ  Ｔａｂｌｅ）（ＩＡＴ）を用いることによって、適切なアクションを容易にする。アクションのタイプおよび程度を決定する様々な属性がこのテーブルに格納される。ＩＡＴは、以前の攻撃に関する履歴情報も格納する。例えば、この情報は、特定のソースコンピュータからの先の攻撃に応答して実行されたアクションを含み得る。この情報は、先のアクションが実行された期間を含み得る。この情報は、攻撃したソースコンピュータからのデータパケットに適切なアクションをとるために用いられる。
【００３９】
ＩＡＴの各レコードに格納される属性には、攻撃したソースコンピュータのＩＰアドレスと、攻撃を引き起こしたデータパケットに行われたアクションと、アクションが実行される期間とが含まれるが、これらに限定されない。各レコードは、別の属性（次のデータパケットへのアクションを実行するために必要と判断され得る属性）をさらに含み得る。
【００４０】
攻撃がない場合においてでさえ、データパケットへの適切なアクションを容易にするために、ＩＡＴが用いられる。そのような場合には、データパケットは、ＩＡＴに対して処理される。パケットをＩＡＴに対して処理することには、ソースコンピュータのＩＰアドレスに対応するＩＡＴ内のレコードを検索することが含まれる。そのようなレコードが存在し、そのようなレコードに格納されたアクションの期間が切れていない場合には、データパケットに対してそのアクションが行われ得る。ＩＡＴに対してパケットを処理するステップの詳細については、後に開示する。
【００４１】
主に図２を参照して本発明の好適な実施形態によるＩＡＴの各レコードの属性について、以下に詳細に説明する。ＩＡＴのレコード２００は以下の１４個の属性を含む。
ＯｕｔＩＰ２０２−ＯｕｔＩＰ２０２は、侵入の源であったソースコンピュータのＩＰアドレスを指す。
ＩＡＴアクション２０４−ＩＡＴアクション２０４は、攻撃の場合にデータパケットに実行されるアクションを指す。このアクションには、ＨａｒｄｅｎＦＷ、ＣｏｎｔｒｏｌＢＷおよびＣｏｎｎｅｃｔｉｏｎＬｉｍｉｔが含まれるが、これらに限定されない。
ＦＷ強化期間２０６−ＦＷ強化期間２０６は、一度ＯｕｔＩＰに適用されＨａｒｄｅｎＦＷアクションがアクティブである期間を指す。
ＢＷ制御期間２０８−ＢＷ制御期間２０８は、一度ＯｕｔＩＰに適用されＣｏｎｔｒｏｌＢＷアクションがアクティブである期間を指す。
Ｃｏｎｎ制限期間２１０−Ｃｏｎｎ制限期間２１０は、一度ＯｕｔＩＰに適用されＣｏｎｎｅｃｔｉｏｎＬｉｍｉｔがアクティブである期間を指す。
ＦＷ強化開始時刻２１２−ＦＷ強化開始時刻２１２は、ＨａｒｄｅｎＦＷアクションがＯｕｔＩＰに適用されたときにおける初期タイムスタンプを指す。
ＢＷ制御開始時刻２１４−ＢＷ制御開始時刻２１４は、ＣｏｎｔｒｏｌＢＷアクションがＯｕｔＩＰに適用されたときにおける初期タイムスタンプを指す。
Ｃｏｎｎ制御開始時刻２１６−Ｃｏｎｎ制御開始時刻２１６は、ＣｏｎｎｅｃｔｉｏｎＬｉｍｉｔアクションがＯｕｔＩＰに適用されたときにおける初期タイムスタンプを指す。
ＢＷカレントトークン２１８−ＢＷカレントトークン２１８は、ＣｏｎｔｒｏｌＢＷアクションの場合において、バンド幅の制御を保つようにデータパケットで送られ得るデータのバイト数を指す。
Ｃｏｎｎカレントトークン２２０−Ｃｏｎｎカレントトークン２２０は、ＣｏｎｎｅｃｔｉｏｎＬｉｍｉｔアクションの場合において、速度の制御を保つに許容され得る接続数を指す。
ＢＷトークンタイムスタンプ２２２−ＢＷトークンタイムスタンプ２２２は、ＢＷカレントトークンの値が最後に更新されたときにおけるタイムスタンプを指す。
Ｃｏｎｎトークンタイムスタンプ２２４−Ｃｏｎｎトークンタイムスタンプ２２４は、Ｃｏｎｎカレントトークンの値が最後に更新されたときにおけるタイムスタンプを指す。
ＭａｘＢＷ２２６−ＭａｘＢＷ２２６は、ＯｕｔＩＰに対するＢＷカレントトークンの上限値を指す。
Ｍａｘ接続速度２２８−Ｍａｘ接続速度２２８は、ＯｕｔＩＰに対するＣｏｎｎカレントトークンの上限値を指す。
【００４２】
カウンタベースのＤＤｏＳ攻撃の場合には、実行されるアクションを容易にするために、侵入カウンタテーブル（Ｉｎｔｒｕｓｉｏｎ  Ｃｏｕｎｔｅｒ  Ｔａｂｌｅ）（ＣＯＴ）を用いる。ＣＯＴは、攻撃されているコンピュータのＩＰアドレスに基づく情報を格納する。また、ＨａｒｄｅｎＦＷアクションに関連する属性はＣＯＴにはない。
【００４３】
主に図３を参照して本発明の好適な実施形態によるＣＯＴの各レコードの属性について、以下に詳細に記載する。ＩＡＴのレコード３００は以下の４個の属性を含む。
ＩｎＩＰ３０２−ＩｎＩＰ３０２は、攻撃を受けているデスティネーションコンピュータのＩＰアドレスを指す。
ＢＷ／Ｃｏｎｎカレントトークン３０４−ＣｏｎｔｒｏｌＢＷアクションの場合において、ＢＷ／Ｃｏｎｎカレントトークン３０４は、バンド幅の制御を保つようにデータパケットで送られ得るデータのバイト数を指す。ＣｏｎｎｅｃｔｉｏｎＬｉｍｉｔアクションの場合において、ＢＷ／Ｃｏｎｎカレントトークン３０４は、速度の制御を保つに許容され得る接続数を指す。
ＢＷ／Ｃｏｎｎトークンタイムスタンプ３０６−ＢＷ／Ｃｏｎｎトークンタイムスタンプ３０６は、ＢＷ／Ｃｏｎｎカレントトークンが最後に更新されたときにおけるタイムスタンプを指す。
ＭａｘＢＷ／接続速度３０８−ＭａｘＢＷ／接続速度３０８は、ＩｎＩＰに対するＢＷ／Ｃｏｎｎカレントトークンの上限値を指す。
【００４４】
ｓＱｏＳモジュールがＩＤＳモジュールからトリガ情報を受け取るときにおいてそのモジュールの応答を支配する様々なポリシーについて以下に記載する。
【００４５】
図４Ａ、図４Ｂおよび図４Ｃを主に参照して、ＩＤＳによって送られた情報が攻撃に対応する場合におけるｓＱｏＳアクションについて、以下に詳細に記載する。ステップ４０２において、ｓＱｏＳモジュールは、アクションを、攻撃に応答して実行させる。次いでステップ４０４において、ＩＤＳによって送られた情報がカウンタベースのＤＤｏＳ攻撃に対応するかどうかを決定するチェックを行う。情報がカウンタベースのＤＤｏＳ攻撃に対応しない場合において、ステップ４０６において、そのアクションがＨａｒｄｅｎＦＷであるかどうかを決定するチェックを行う。そのアクションがＨａｒｄｅｎＦＷである場合において、ステップ４０８においてＩＡＴが更新され、ステップ４１０においてデータパケットにそのアクションが行われる。ＨａｒｄｅｎＦＷアクションには、ドロップされるパケットにマークすることが含まれる。次いで、コネクタ４１２を用いて示されるように、ＩＡＴに対して処理するためにそのパケットを送る。
【００４６】
攻撃のタイプと関係なく、ステップ４１４においてそのアクションがＣｏｎｔｒｏｌＢＷであるか否かを決定するチェックを行う。そのアクションがＣｏｎｔｒｏｌＢＷである場合には、ステップ４１６においてＣＯＴとＩＡＴのうちのいずれかが更新される。更新されるテーブルは、攻撃のタイプに基づいて選択される。ＩＡＴは、その攻撃がパケットベースの攻撃と、シーケンスベースの攻撃と、カウンタベースのＤｏＳ攻撃とのうちのいずれかである場合において更新され、その一方、ＣＯＴは、そのアクションがカウンタベースのＤＤｏＳ攻撃である場合において更新される。次いで、ステップ４２０において、データパケットに対してそのアクションを行う。次いで、コネクタ４１２を用いて示されるように、ＩＡＴに対して処理するために、そのパケットを送る。ＣｏｎｔｒｏｌＢＷアクションについては、後でさらに詳細に開示する。
【００４７】
ステップ４１４を再度参照すると、そのアクションがＣｏｎｔｒｏｌＢＷでない場合において、ステップ４２２において、そのアクションがＣｏｎｎｅｃｔｉｏｎＬｉｍｉｔであるか否かを決定するチェックを行う。そのアクションがＣｏｎｎｅｃｔｉｏｎＬｉｍｉｔである場合には、ステップ４２４においてＣＯＴとＩＡＴのうちのいずれかが更新される。ＩＡＴは、その攻撃がパケットベースの攻撃と、シーケンスベースの攻撃と、カウンタベースのＤｏＳ攻撃とのうちのいずれかである場合において更新され、その一方、ＣＯＴは、その攻撃がカウンタベースのＤＤｏＳ攻撃である場合において更新される。次いで、ステップ４２８において、データパケットに対してそのアクションを行う。次いで、コネクタ４１２を用いて示されるように、ＩＡＴに対して処理するために、そのパケットを送る。ＣｏｎｎｅｃｔｉｏｎＬｉｍｉｔアクションについては、後でさらに詳細に開示する。
【００４８】
ステップ４２２を再度参照すると、そのアクションがＣｏｎｎｅｃｔｉｏｎＬｉｍｉｔでない場合において、ステップ４３０において、そのアクションがドロップであるかどうかを決定するチェックを行う。そのアクションがドロップである場合において、ステップ４３２において、ドロップされるためにデータパケットをマークする。次いで、ステップ４３４において、ＩＡＴに対して処理するためにそのパケットを送る。
【００４９】
ステップ４３０を再度参照すると、そのアクションがドロップでない場合、ステップ４３６において、そのアクションがアラートであるかどうかを決定するチェックを行う。そのアクションがアラートである場合、ステップ４３８においてアラートメッセージが生成される。次いで、ステップ４３４において、ＩＡＴに対して処理するためにそのパケットを送る。
【００５０】
ステップ４３６を再度参照すると、そのアクションがアラートでない場合、ステップ４４０においてそのアクションがログであるかどうかを決定するチェックを行う。そのアクションがログである場合、ステップ４４２において、その侵入に関する情報を用いてログテーブルが更新される。次いで、ステップ４３４において、ＩＡＴに対して処理するためにそのパケットを送る。
【００５１】
ステップ４４０を再度参照すると、そのアクションがログでない場合において、全くアクションを行わずにステップ４３４においてＩＡＴに対して処理するためにそのデータパケットを送る。
【００５２】
図５Ａ、図５Ｂおよび図５Ｃを主に参照して、データパケットがＩＡＴに対して処理されるように送信される場合におけるｓＱｏＳアクションについて、以下に詳細に記載する。ステップ５０２において、ｓＱｏＳモジュールは、データパケットがＩＰパケットであるかどうかをチェックする。データパケットがＩＰパケットでない場合において、コネクタ５０４を用いて示されるように、そのパケットは解放される。しかし、データパケットがＩＰパケットである場合において、ｓＱｏＳモジュールは、ソースコンピュータのＩＰアドレスに対応するレコード（以下、これをＯｕｔＩＰと称する）を検索する。ステップ５０６においてそのようなレコードがない場合において、コネクタ５０４を用いて示されるように、そのパケットは解放される。しかし、ＯｕｔＩＰに対応するレコードがＩＡＴにある場合、ステップ５０８において、ｓＱｏＳモジュールは、そのレコードから対応するアクションを取得する。
【００５３】
ステップ５１０において、そのアクションがＣｏｎｔｒｏｌＢＷであるかどうかを決定するチェックを行う。ステップ５１０を説明すると、そのアクションがＣｏｎｔｒｏｌＢＷである場合、ステップ５１２において、そのアクションが有効である期間が切れたかどうかをチェックするために、ｓＱｏＳモジュールは、ＩＡＴレコードの属性（ＢＷ制御開始時刻およびＢＷ制御期間）を用いる。この期間が切れている場合、ステップ５１４において、データパケットに対してＣｏｎｔｒｏｌＢＷアクションを実行する。次いで、コネクタ５０４を用いて示されるように、ステップ５１２の結果によらずそのパケットを解放する。ＣｏｎｔｒｏｌＢＷの詳細については、後に開示する。
【００５４】
ステップ５１０を再度参照すると、そのアクションがＣｏｎｔｒｏｌＢＷでない場合、ステップ５１６において、そのアクションがＣｏｎｎｅｃｔｉｏｎＬｉｍｉｔであるかどうかを決定するチェックを行う。そのアクションがＣｏｎｎｅｃｔｉｏｎＬｉｍｉｔである場合、ステップ５１８において、そのアクションが有効である期間が切れているかどうかをチェックするために、ｓＱｏＳモジュールは、属性（ＩＡＴレコードのＣｏｎｎ制限開始時刻およびＣｏｎｎ制限期間）を用いる。その期間が切れている場合には、そのパケットに対してアクションを行わない。しかし、この期間が切れていない場合、ステップ５２０において、そのデータパケットに対してＣｏｎｎｅｃｔｉｏｎＬｉｍｉｔアクションを行う。次いで、ステップ５１８の結果に関わらず、コネクタ５０４を用いて示されるように、そのパケットは解放される。ＣｏｎｎｅｃｔｉｏｎＬｉｍｉｔアクションの詳細は、後に開示する。
【００５５】
ステップ５１６を再度参照すると、そのアクションがＣｏｎｎｅｃｔｉｏｎＬｉｍｉｔでない場合、ステップ５２２において、そのアクションがＨａｒｄｅｎＦＷであるかどうかを決定するチェックを行う。そのアクションがＨａｒｄｅｎＦＷである場合、ステップ５２４において、そのアクションが有効である期間が切れたかどうかをチェックするために、ｓＱｏＳモジュールは、属性（ＩＡＴレコードのＦＷ強化開始時刻およびＦＷ強化期間）を用いる。この期間が切れていると、パケットへのアクションは実行されない。しかし、この期間が切れていない場合には、ステップ５２６において、そのパケットがドロップするためにマークされる。次いで、ステップ５２４の結果に関わらず、そのパケットはステップ５２８において解放される。
【００５６】
先に言及したように、データパケットに実行され得るアクションのうちの１つはＣｏｎｔｒｏｌＢＷである。このアクションには、データパケットの長さに基づいてネットワーク上のデータパケットの経路を制御することが含まれる。主に図６Ａおよび図６Ｂを参照して、ＣｏｎｔｒｏｌＢＷアクションについて、以下に詳細に記載する。ステップ６０２において、その攻撃がカウンタベースのＤＤｏＳ攻撃であるかどうかを決定するチェックを行う。その攻撃がカウンタベースのＤＤｏＳ攻撃である場合、ステップ６０４において、ＩｎＩＰに対応するレコードがＣＯＴから取り出される。その攻撃がカウンタベースのＤＤｏＳ攻撃でない場合、ステップ６０６において、ＯｕｔＩＰに対応するレコードを、ＩＡＴから探索する。そのレコードが適切なテーブルから取り出された後において、ステップ６０８においてカレントタイムスタンプの値が取得される。
【００５７】
ステップ６１０において、ＢＷトークンタイムスタンプの値をカレントタイムスタンプの値と比較する。カレントタイムスタンプの値がＢＷトークンタイムスタンプの値よりも少なくとも所定値ｔ１だけ大きい場合、ステップ６１２において、ＢＷカレントトークンの値はレコード内において増やされる。
【００５８】
次いで、ステップ６１４においてＢＷトークンタイムスタンプの値がカレントタイムスタンプの値を用いて更新される。次いで、ステップ６１０の結果によらず、ステップ６１６において、ＢＷカレントトークンの値を考慮中のデータパケットの長さと比較する。そのデータパケットの長さがＢＷカレントトークンの値よりも大きい場合、ステップ６１８において、ドロップするためにデータパケットにマークする。そうでない場合は、ステップ６２０において、ＢＷカレントトークンの値は、そのデータパケットの長さに等しい量だけ低減される。
【００５９】
本発明の好適な実施形態では、ｔ１の値は１秒に設定される。また、ＢＷカレントトークンの値は、所望の条件が満たされる場合において、ＭａｘＢＷへと増加する。
【００６０】
本発明の代替実施形態では、ＢＷカレントトークンの値の増加は、カレントタイムスタンプの値とＢＷトークンタイムスタンプの値との差に比例する。
【００６１】
データパケットに対して実行され得る別のアクションはＣｏｎｎｅｃｔｉｏｎＬｉｍｉｔである。このアクションには、新たな接続要求のデータパケットの到来速度に依存して、データパケットの経路を制御することが含まれる。図７Ａおよび図７Ｂを参照して、ＣｏｎｎｅｃｔｉｏｎＬｉｍｉｔアクションを、以下に詳細に説明する。ステップ７０２において、そのデータパケットが新たな要求のデータパケットであるかどうかを決定するチェックを行う。そのデータパケットが新たな接続要求のデータパケットでない場合、そのデータパケットにはアクションを行わない。そうでない場合、ステップ７０４において、その攻撃がカウンタベースのＤＤｏＳ攻撃であるかどうかを決定するチェックを行う。その攻撃がカウンタベースのＤＤｏＳ攻撃である場合、ステップ７０６において、ＩｎＩＰに対応するレコードがＣＯＴから取り出される。その攻撃がカウンタベースのＤＤｏＳ攻撃でない場合、ステップ７０８において、ＯｕｔＩＰに対応するレコードを、ＩＡＴから探索する。そのレコードを適切なテーブルから取り出した後において、ステップ７１０において、カレントタイムスタンプの値が取得される。
【００６２】
ステップ７１２において、Ｃｏｎｎトークンスタンプの値をカレントタイムスタンプの値と比較する。カレントタイムスタンプの値が、Ｃｏｎｎトークンタイムスタンプよりも、少なくとも所定値ｔ２だけ大きい場合、ステップ７１４において、Ｃｏｎｎカレントトークンの値がレコード内において増大する。
【００６３】
次いで、ステップ７１６においてＣｏｎｎトークンタイムスタンプの値がカレントタイムスタンプの値を用いて更新される。次いで、ステップ７１２の結果によらず、ステップ７１８において、Ｃｏｎｎカレントトークンの値を考慮中のデータパケットの長さと比較する。そのデータパケットの長さがＣｏｎｎカレントトークンの値よりも大きい場合、ステップ７２０において、ドロップするためにデータパケットにマークする。そうでない場合は、ステップ７２２において、Ｃｏｎｎカレントトークンの値は、１だけ低減される。
【００６４】
本発明の好適な実施形態では、ｔ２の値を１秒に設定する。また、所望の条件が満たされた場合において、Ｃｏｎｎカレントトークンの値はＭａｘ接続速度に増加する。
【００６５】
本発明の代替実施形態では、Ｃｏｎｎカレントトークンの値の増加は、カレントタイムスタンプとＣｏｎｎトークンタイムスタンプとの差に比例する。
【００６６】
先に記載したように、攻撃の場合において、ｓＱｏＳモジュールによって実行されるアクションには、ＩＡＴまたはＣＯＴを更新することが含まれる。更新する方法について、以下に説明する。主に図８を参照して、ＩＡＴまたはＣＯＴを更新するステップについて、以下に詳細に説明する。
【００６７】
ステップ８０２において、その攻撃がカウンタベースのＤＤｏＳ攻撃であるかどうかを決定するチェックを行う。その攻撃がカウンタベースのＤＤｏｓ攻撃である場合、ステップ８０４において、ＩｎＩＰに対応するレコードがＣＯＴ内にあるかどうかを決定するチェックを行う。ＩｎＩＰに対応するレコードがＣＯＴにない場合、ステップ８０６において、新たなレコードがＣＯＴ内に生成される。
【００６８】
ステップ８０２を再度参照すると、その攻撃がカウンタベースのＤＤｏＳ攻撃でない場合、ステップ８０８において、ＯｕｔＩＰに対応するレコードがＩＡＴにあるかどうかを決定するチェックが行われている。ＯｕｔＩＰに対応するレコードがＩＡＴ内にない場合、ステップ８１０において新たなレコードがＩＡＴ内に生成される。しかし、ＯｕｔＩＰに対応するレコードが存在する場合、ステップ８１２において、そのレコードが取り出される。次いで、ステップ８１４において、そのレコードの２つ以上の属性を更新する。例えば、そのアクションがＨａｒｄｅｎＦＷである場合において、ＩＡＴアクションはそれ相応に更新され、ＦＷ開始時刻も更新される。しかし、ＦＷ強化期間は、更新されるかもしれなく、または更新されないかもしれない。そのアクションがＣｏｎｔｒｏｌＢＷである場合、ＩＡＴアクションはそれ相応に更新され、ＢＷ開始時刻も更新される。しかし、ＢＷ制御期間は更新されるかもしれなく、または更新されないかもしれない。そのアクションがＣｏｎｎｅｃｔｉｏｎＬｉｍｉｔである場合、ＩＡＴアクションはそれ相応に用いられ，Ｃｏｎｎ開始時刻も更新される。しかし、Ｃｏｎｎ制限期間は更新されるかもしれなく、または更新されないかもしれない。
【００６９】
本発明の好適な実施形態において、ＣＯＴとＩＡＴとがハッシュテーブルとともにインプリメントされる。ハッシュテーブルの一方はＣＯＴ内のレコードへの鍵を含み、もう一方のハッシュテーブルは、ＩＡＴ内のレコードへの鍵を含む。新たなレコードがＣＯＴまたはＩＡＴに追加されると、対応するハッシュテーブルも更新される。
【００７０】
本発明の１つの有利な点は、安全なレベルまでクオリティオブサービスを保ちながら、ネットワーク上のコンピュータに対する侵入攻撃への応答を提供する。本発明の別の有利な点は、従来のＤｏＳ攻撃に加えてＤＤｏＳ攻撃に応答して適切なアクションを実行することである。本発明のさらなる有利な点は、侵入攻撃の履歴を用いることによって、侵入攻撃へのネットワーク上のコンピュータの保護を提供することである。
【００７１】
先に記載したように、本発明によって、ＩＤＳとポリシーエージェントの別のモジュールとともにそれが達成される。
【００７２】
本発明に記載したようなシステム、またはそれの要素の一部は、処理装置の形態に具体化され得る。処理装置の典型的な例には、汎用コンピュータ、プログラム式マイクロプロセッサ、マイクロコントローラ、集積回路周辺要素、および本発明の方法を構成するステップをインプリメントすることができる別のデバイスまたはデバイスの配置が含まれる。
【００７３】
処理装置は、入力データを処理するために、１つ以上の記憶要素に記憶された一連の命令を実行する。記憶要素は、要望どおりにデータまたは別の情報を保持し得る。その記憶要素は、処理装置に存在するデータベースまたは物理メモリ要素の形態であり得る。
【００７４】
一連の命令には、特定のタスク（例えば、本発明の方法を構成するステップ）を処理装置に実行させるように命令する様々な命令が含まれ得る。一連の命令は、プログラムまたはソフトウェアの形態であり得る。そのソフトウェアは、システムソフトウェアまたはアプリケーションソフトウェアなどの様々な形態であり得る。さらに、そのソフトウェアは、別個のプログラムを合わせたもの、大きなプログラムを有するプログラムモジュール、またはプログラムモジュールの一部の形態であり得る。そのソフトウェアは、オブジェクト指向プログラミングの形態のモジュール式プログラミングを含み得る。処理装置による入力データの処理は、ユーザーコマンドへの応答、または先の処理結果への応答、または別の処理装置によってなされた要求への応答であり得る。
【００７５】
様々な処理装置および／または記憶要素が同じ場所に物理的に配置される必要はない、ということは当業者には理解され得る。処理装置および／または記憶要素は、離れた場所に配置され得、通信を可能にするために互いに接続され得る。処理装置および／または記憶要素間の通信を可能にするために様々な通信技術が用いられ得る。そのような技術には、ネットワークの形態での処理装置および／または記憶要素のセッションが含まれる。そのネットワークは、イントラネット、エクストラネット、インターネット、または通信を可能にするクライアントサーバモジュールであり得る。そのような通信技術では、様々なプロトコル（例えば、ＴＣＰ／ＩＰ、ＵＤＰ、ＡＴＭまたはＯＳＩ）が用いられ得る。
【００７６】
本発明の好適な実施形態について例示し説明してきたが、本発明はそれらの実施形態にのみ限定されるものではないことは明らかである。特許請求の範囲に記載のような本発明の精神および範囲から逸脱することない多くの修正、変更、改変、置換、および均等物は当業者には明らかである。
【図面の簡単な説明】
【００７７】
【図１】例示的なポリシーエージェントの機能モジュールを示す。
【図２】本発明の好適な実施形態による侵入アタッカテーブル（ＩＡＴ）の各レコードの属性を示す。
【図３】本発明の好適な実施形態による侵入カウンタテーブル（ＣＯＴ）の各レコードの属性を示す。
【図４Ａ】データパケットが、攻撃を引き起こすパケットのうちの１つであると疑われた場合におけるデータパケットへのｓＱｏＳアクションを示す。
【図４Ｂ】データパケットが、攻撃を引き起こすパケットのうちの１つであると疑われた場合におけるデータパケットへのｓＱｏＳアクションを示す。
【図４Ｃ】データパケットが、攻撃を引き起こすパケットのうちの１つであると疑われた場合におけるデータパケットへのｓＱｏＳアクションを示す。
【図５Ａ】データパケットが攻撃を引き起こすものと疑われているか否かとは関係ないデータパケットへのｓＱｏＳアクションを示す。
【図５Ｂ】データパケットが攻撃を引き起こすものと疑われているか否かとは関係ないデータパケットへのｓＱｏＳアクションを示す。
【図５Ｃ】データパケットが攻撃を引き起こすものと疑われているか否かとは関係ないデータパケットへのｓＱｏＳアクションを示す。
【図６Ａ】データパケットへのＣｏｎｔｒｏｌＢＷ  ｓＱｏＳアクションを実行するステップを示す。
【図６Ｂ】データパケットへのＣｏｎｔｒｏｌＢＷ  ｓＱｏＳアクションを実行するステップを示す。
【図７Ａ】データパケットへのＣｏｎｎｅｃｔｉｏｎＬｉｍｉｔ  ｓＱｏＳアクションを実行するステップ示す。
【図７Ｂ】データパケットへのＣｏｎｎｅｃｔｉｏｎＬｉｍｉｔ  ｓＱｏＳアクションを実行するステップ示す。
【図８】侵入カウンタテーブル（ＣＯＴ）または侵入アタッカテーブル（ＩＡＴ）を更新するステップを示す。
【図１】
2007521718.tif 000003
【図２】
2007521718.tif 000004
【図３】
2007521718.tif 000005
2007521718.tif 000006
2007521718.tif 000007
2007521718.tif 000008
2007521718.tif 000009
2007521718.tif 000010
2007521718.tif 000011
2007521718.tif 000012
2007521718.tif 000013
2007521718.tif 000014
2007521718.tif 000015
【図８】
2007521718.tif 000016
【国際調査報告】
2007521718.tif 000017