(57)【特許請求の範囲】
【請求項１】
１つまたは複数の後続のフローの関連付けおよび管理を行うためにネットワークトラフィック特性を識別するための方法であって、
トラフィック管理コンピューティングデバイスによって、クライアントコンピューティングデバイスから受信したＨＴＴＰ要求から抽出した１つまたは複数の属性と、タイムスタンプとを含む監視要求を、該ＨＴＴＰ要求に関する１つまたは複数の後続のフローの関連付けを行うために監視サーバへ送信するステップ；
該トラフィック管理コンピューティングデバイスによって、該監視要求に対する確認応答を該監視サーバから受信した後で該ＨＴＴＰ要求をアプリケーションサーバへ送信するステップ；
該トラフィック管理コンピューティングデバイスによって、該ＨＴＴＰ要求に対するＨＴＴＰ応答を該アプリケーションサーバから受信するステップ；および
該トラフィック管理コンピューティングデバイスによって、該監視要求に応じた該ＨＴＴＰ要求に関する関連付けを終了させるための監視応答メッセージを送信した後で、該ＨＴＴＰ応答についてのオペレーションを実行するステップ
を含む、前記方法。
【請求項２】
前記実行するステップが、前記トラフィック管理コンピューティングデバイスによって、前記ＨＴＴＰ応答を要求元のクライアントコンピューティングデバイスへ出力することを更に含む、請求項１に記載の方法。
【請求項３】
前記方法が、前記トラフィック管理コンピューティングデバイスによって、データアクセスポリシーに基づいた、前記監視サーバからの前記ＨＴＴＰ要求に対する決定されたアクションを受信するステップを更に含み、前記実行するステップが、前記トラフィック管理コンピューティングデバイスによって、前記ＨＴＴＰ応答についての該決定されたアクションを実行することを更に含む、請求項１に記載の方法。
【請求項４】
前記決定されたアクションが、前記トラフィック管理コンピューティングデバイスによって、要求元のクライアントコンピューティングデバイスへの前記ＨＴＴＰ応答の出力を許可すること、記録すること、報告すること、隔離すること、および終了させることのうちの１つを含む、請求項３に記載の方法。
【請求項５】
前記１つまたは複数の属性が、前記ＨＴＴＰ要求内のクライアント識別子およびセッション識別子を含む、請求項１に記載の方法。
【請求項６】
機械実行可能なコードを含む、１つまたは複数の後続のフローの関連付けおよび管理を行うためにネットワークトラフィック特性を識別するための命令が格納されている非一時的なコンピュータ可読媒体であって、少なくとも１つのプロセッサによって該機械実行可能なコードが実行されると、
クライアントコンピューティングデバイスから受信したＨＴＴＰ要求から抽出した１つまたは複数の属性と、タイムスタンプとを含む監視要求を、該ＨＴＴＰ要求に関する１つまたは複数の後続のフローの関連付けを行うために監視サーバへ送信するステップ；
該監視要求に対する確認応答を該監視サーバから受信した後、該ＨＴＴＰ要求をアプリケーションサーバへ送信するステップ；
該ＨＴＴＰ要求に対するＨＴＴＰ応答を該アプリケーションサーバから受信するステップ；および
該監視要求に応じた該ＨＴＴＰ要求に関する関連付けを終了させるための監視応答メッセージを送信した後で、該ＨＴＴＰ応答についてのオペレーションを実行するステップ
を含むステップが該プロセッサによって実行される、前記非一時的なコンピュータ可読媒体。
【請求項７】
前記実行するステップが、要求元のクライアントコンピューティングデバイスへ前記ＨＴＴＰ応答を出力することを更に含む、請求項６に記載の媒体。
【請求項８】
データアクセスポリシーに基づいた、前記監視サーバからの前記ＨＴＴＰ要求に対する決定されたアクションを受信するステップを更に含み、前記実行するステップが、前記ＨＴＴＰ応答についての該決定されたアクションを実行することを更に含む、請求項６に記載の媒体。
【請求項９】
前記決定されたアクションが、要求元のクライアントコンピューティングデバイスへの前記ＨＴＴＰ応答の出力を許可すること、記録すること、報告すること、隔離すること、および終了させることのうちの１つを含む、請求項８に記載の媒体。
【請求項１０】
前記１つまたは複数の属性が、前記ＨＴＴＰ要求内のクライアント識別子およびセッション識別子を含む、請求項６に記載の媒体。
【請求項１１】
１つまたは複数のプロセッサ；および
該１つまたは複数のプロセッサに接続されたメモリ
を備えるトラフィック管理コンピューティングデバイスであって、該プロセッサが、
クライアントコンピューティングデバイスから受信したＨＴＴＰ要求から抽出した１つまたは複数の属性と、タイムスタンプとを含む監視要求を、該ＨＴＴＰ要求に関する１つまたは複数の後続のフローの関連付けを行うために監視サーバへ送信するステップ；
該監視要求に対する確認応答を該監視サーバから受信した後、該ＨＴＴＰ要求をアプリケーションサーバへ送信するステップ；
該ＨＴＴＰ要求に対するＨＴＴＰ応答を該アプリケーションサーバから受信するステップ；および
該監視要求に応じた該ＨＴＴＰ要求に関する関連付けを終了させるための監視応答メッセージを送信した後で、該ＨＴＴＰ応答についてのオペレーションを実行するステップ
を含む、該メモリに格納されたプログラムされた命令を実行するように構成されている、前記トラフィック管理コンピューティングデバイス。
【請求項１２】
前記実行するステップが、要求元のクライアントコンピューティングデバイスへ前記ＨＴＴＰ応答を出力することを更に含む、前記メモリに格納されたプログラムされた命令を実行するように、前記１つまたは複数のプロセッサが更に構成されている、請求項１１に記載のデバイス。
【請求項１３】
データアクセスポリシーに基づいた、前記監視サーバからの、前記ＨＴＴＰ要求に対する決定されたアクションを受信するステップを更に含み、前記実行するステップが、前記ＨＴＴＰ応答についての該決定されたアクションを実行することを更に含む、前記メモリに格納されたプログラムされた命令を実行するように、前記１つまたは複数のプロセッサが更に構成されている、請求項１１に記載のデバイス。
【請求項１４】
前記決定されたアクションが、要求元のクライアントコンピューティングデバイスへの前記ＨＴＴＰ応答の出力を許可すること、記録すること、報告すること、隔離すること、および終了させることのうちの１つを含む、請求項１３に記載のデバイス。
【請求項１５】
前記１つまたは複数の属性が、前記ＨＴＴＰ要求内のクライアント識別子およびセッション識別子を含む、請求項１１に記載のデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、その全体が参照により本明細書に組み込まれる２０１１年１２月３０日出願の米国特許出願第１３／３４１，３６０号に対する利益を主張する。
【０００２】
本発明の技術は、１つまたは複数の後続のフローの関連付けおよび管理を行うためにネットワークトラフィック特性を識別するための方法およびそのデバイスに関する。
【背景技術】
【０００３】
企業顧客は、より多くのウェブベースのデータベースアプリケーションを配備しており、ＩＴ管理者は、後続のフローの関連付けおよび管理を行うために、いくつかの課題に直面している。例えば、ＩＴ管理者はデータアクセスの監査証跡を提供したいと考えているが、それは、常に可能なわけではない。更に、ＩＴ管理者は、データアクセスポリシーまたは他のアクセスポリシーに基づいて、不正操作とみなされるユーザセッションを監視し、効果的に警告または終了できるようにしたいと考えている。更に、ＩＴ管理者は、ＳＱＬインジェクションおよびクロスサイトスクリプティング攻撃などの脅威からアプリケーション環境およびデータベース環境の両方を保護したいと考えている。
【発明の概要】
【０００４】
１つまたは複数の後続のフローの関連付けおよび管理を行うためにネットワークトラフィック特性を識別するための方法は、トラフィック管理コンピューティングデバイスによって、クライアントコンピューティングデバイスから受信したＨＴＴＰ要求から抽出した１つまたは複数の属性およびタイムスタンプを含む監視要求を、前記ＨＴＴＰ要求に関する１つまたは複数の後続のフローの関連付けを行うために監視サーバへ送信するステップを含む。監視要求に対する確認応答を監視サーバから受信した後、トラフィック管理コンピューティングデバイスにより、ＨＴＴＰ要求がアプリケーションサーバに送信される。ＨＴＴＰ要求に対するＨＴＴＰ応答は、トラフィック管理コンピューティングデバイスにより、アプリケーションサーバから受信される。監視要求に応じたＨＴＴＰ要求に関する関連付けを終了させるための監視応答メッセージを送信した後で、トラフィック管理コンピューティングデバイスにより、ＨＴＴＰ応答についてのオペレーションが実行される。
【０００５】
機械実行可能なコードを含む、１つまたは複数の後続のフローの関連付けおよび管理を行うためにネットワークトラフィック特性を識別するための格納された命令を格納する非一時的なコンピュータ可読媒体。この機械実行可能なコードは、少なくとも１つのプロセッサによって実行されると、クライアントコンピューティングデバイスから受信したＨＴＴＰ要求から抽出した１つまたは複数の属性と、タイムスタンプとを含む監視要求を、前記ＨＴＴＰ要求に関する１つまたは複数の後続のフローの関連付けを行うために監視サーバへ送信するステップをプロセッサに実行させる。監視サーバから、監視要求に対する確認応答が受信された後、ＨＴＴＰ要求がアプリケーションサーバへ送信される。アプリケーションサーバから、ＨＴＴＰ要求に対するＨＴＴＰ応答が受信される。ＨＴＴＰ応答についてのオペレーションが実行される。
【０００６】
トラフィック管理コンピューティングデバイスは、１つまたは複数のプロセッサに接続されたメモリを含み、このプロセッサは、クライアントコンピューティングデバイスから受信したＨＴＴＰ要求から抽出した１つまたは複数の属性と、タイムスタンプとを含む監視要求を、前記ＨＴＴＰ要求に関する１つまたは複数の後続のフローの関連付けを行うために監視サーバへ送信することを含む、メモリに格納されたプログラムされた命令を実行するように構成されている。監視サーバから監視要求に対する確認応答を受信後、ＨＴＴＰ要求がアプリケーションサーバへ送信される。アプリケーションサーバから、ＨＴＴＰ要求に対するＨＴＴＰ応答が受信される。ＨＴＴＰ応答についてのオペレーションが実行される。
【０００７】
本発明の技術は、１つまたは複数の後続のフローの関連付けおよび管理を行うためにネットワークトラフィック特性を識別するための効果的な方法、非一時的なコンピュータ可読媒体、およびデバイスの提供を含む、多くの利点を提供する。本発明の技術により、データレベルでのきめ細かい、かつウェブアプリケーション層の属性に結びついた、アクセス監査証跡を生成することができる。更に、本発明の技術により、データアクセスポリシーに基づいて、不正操作とみなされるユーザセッションを監視し、効果的に警告するかまたは終了させることができる。更に、本発明の技術は、ＳＱＬインジェクションおよびクロスサイトスクリプティング攻撃などの脅威からアプリケーション環境およびデータベース環境の両方の保護に役立つ。
[本発明1001]
1つまたは複数の後続のフローの関連付けおよび管理を行うためにネットワークトラフィック特性を識別するための方法であって、
トラフィック管理コンピューティングデバイスによって、クライアントコンピューティングデバイスから受信したＨＴＴＰ要求から抽出した1つまたは複数の属性と、タイムスタンプとを含む監視要求を、該ＨＴＴＰ要求に関する1つまたは複数の後続のフローの関連付けを行うために監視サーバへ送信するステップ；
該トラフィック管理コンピューティングデバイスによって、該監視要求に対する確認応答を該監視サーバから受信した後で該ＨＴＴＰ要求をアプリケーションサーバへ送信するステップ；
該トラフィック管理コンピューティングデバイスによって、該ＨＴＴＰ要求に対するＨＴＴＰ応答を該アプリケーションサーバから受信するステップ；および
該トラフィック管理コンピューティングデバイスによって、該監視要求に応じた該ＨＴＴＰ要求に関する関連付けを終了させるための監視応答メッセージを送信した後で、該ＨＴＴＰ応答についてのオペレーションを実行するステップ
を含む、前記方法。
[本発明1002]
前記実行するステップが、前記トラフィック管理コンピューティングデバイスによって、前記ＨＴＴＰ応答を要求元のクライアントコンピューティングデバイスへ出力することを更に含む、本発明1001の方法。
[本発明1003]
前記方法が、前記トラフィック管理コンピューティングデバイスによって、データアクセスポリシーに基づいた、前記監視サーバからの前記ＨＴＴＰ要求に対する決定されたアクションを受信するステップを更に含み、前記実行するステップが、前記トラフィック管理コンピューティングデバイスによって、前記ＨＴＴＰ応答についての該決定されたアクションを実行することを更に含む、本発明1001の方法。
[本発明1004]
前記決定されたアクションが、前記トラフィック管理コンピューティングデバイスによって、要求元のクライアントコンピューティングデバイスへの前記ＨＴＴＰ応答の出力を許可すること、記録すること、報告すること、隔離すること、および終了させることのうちの1つを含む、本発明1003の方法。
[本発明1005]
前記1つまたは複数の属性が、前記ＨＴＴＰ要求内のクライアント識別子およびセッション識別子を含む、本発明1001の方法。
[本発明1006]
前記1つまたは複数の属性が、1つまたは複数の要求値を更に含む、本発明1005の方法。
[本発明1007]
機械実行可能なコードを含む、1つまたは複数の後続のフローの関連付けおよび管理を行うためにネットワークトラフィック特性を識別するための命令が格納されている非一時的なコンピュータ可読媒体であって、少なくとも1つのプロセッサによって該機械実行可能なコードが実行されると、
クライアントコンピューティングデバイスから受信したＨＴＴＰ要求から抽出した1つまたは複数の属性と、タイムスタンプとを含む監視要求を、該ＨＴＴＰ要求に関する1つまたは複数の後続のフローの関連付けを行うために監視サーバへ送信するステップ；
該監視要求に対する確認応答を該監視サーバから受信した後、該ＨＴＴＰ要求をアプリケーションサーバへ送信するステップ；
該ＨＴＴＰ要求に対するＨＴＴＰ応答を該アプリケーションサーバから受信するステップ；および
該監視要求に応じた該ＨＴＴＰ要求に関する関連付けを終了させるための監視応答メッセージを送信した後で、該ＨＴＴＰ応答についてのオペレーションを実行するステップ
を含むステップが該プロセッサによって実行される、前記非一時的なコンピュータ可読媒体。
[本発明1008]
前記実行するステップが、要求元のクライアントコンピューティングデバイスへ前記ＨＴＴＰ応答を出力することを更に含む、本発明1007の媒体。
[本発明1009]
データアクセスポリシーに基づいた、前記監視サーバからの前記ＨＴＴＰ要求に対する決定されたアクションを受信するステップを更に含み、前記実行するステップが、前記ＨＴＴＰ応答についての該決定されたアクションを実行することを更に含む、本発明1007の媒体。
[本発明1010]
前記決定されたアクションが、要求元のクライアントコンピューティングデバイスへの前記ＨＴＴＰ応答の出力を許可すること、記録すること、報告すること、隔離すること、および終了させることのうちの1つを含む、本発明1009の媒体。
[本発明1011]
前記1つまたは複数の属性が、前記ＨＴＴＰ要求内のクライアント識別子およびセッション識別子を含む、本発明1007の媒体。
[本発明1012]
前記1つまたは複数の属性が、1つまたは複数の要求値を更に含む、本発明1011の媒体。
[本発明1013]
1つまたは複数のプロセッサ；および
該1つまたは複数のプロセッサに接続されたメモリ
を備えるトラフィック管理コンピューティングデバイスであって、該プロセッサが、
クライアントコンピューティングデバイスから受信したＨＴＴＰ要求から抽出した1つまたは複数の属性と、タイムスタンプとを含む監視要求を、該ＨＴＴＰ要求に関する1つまたは複数の後続のフローの関連付けを行うために監視サーバへ送信するステップ；
該監視要求に対する確認応答を該監視サーバから受信した後、該ＨＴＴＰ要求をアプリケーションサーバへ送信するステップ；
該ＨＴＴＰ要求に対するＨＴＴＰ応答を該アプリケーションサーバから受信するステップ；および
該監視要求に応じた該ＨＴＴＰ要求に関する関連付けを終了させるための監視応答メッセージを送信した後で、該ＨＴＴＰ応答についてのオペレーションを実行するステップ
を含む、該メモリに格納されたプログラムされた命令を実行するように構成されている、前記トラフィック管理コンピューティングデバイス。
[本発明1014]
前記実行するステップが、要求元のクライアントコンピューティングデバイスへ前記ＨＴＴＰ応答を出力することを更に含む、前記メモリに格納されたプログラムされた命令を実行するように、前記1つまたは複数のプロセッサが更に構成されている、本発明1013のデバイス。
[本発明1015]
データアクセスポリシーに基づいた、前記監視サーバからの、前記ＨＴＴＰ要求に対する決定されたアクションを受信するステップを更に含み、前記実行するステップが、前記ＨＴＴＰ応答についての該決定されたアクションを実行することを更に含む、前記メモリに格納されたプログラムされた命令を実行するように、前記1つまたは複数のプロセッサが更に構成されている、本発明1013のデバイス。
[本発明1016]
前記決定されたアクションが、要求元のクライアントコンピューティングデバイスへの前記ＨＴＴＰ応答の出力を許可すること、記録すること、報告すること、隔離すること、および終了させることのうちの1つを含む、本発明1015のデバイス。
[本発明1017]
前記1つまたは複数の属性が、前記ＨＴＴＰ要求内のクライアント識別子およびセッション識別子を含む、本発明1013のデバイス。
[本発明1018]
前記1つまたは複数の属性が、1つまたは複数の要求値を更に含む、本発明1017のデバイス。
【図面の簡単な説明】
【０００８】
【図１】１つまたは複数の後続のフローの関連付けおよび管理を行うためにネットワークトラフィック特性を識別する例示的なトラフィック管理コンピューティングデバイスを有する環境である。
【図２】ネットワークトラフィック特性を識別して１つまたは複数の後続のフローの関連付けおよび監視を行い、監査証跡を生成する方法のフロー図である。
【図３】ネットワークトラフィック特性を識別して１つまたは複数の後続のフローの関連付けおよび監視を行い、監査証跡を生成する方法の機能図である。
【図４】ネットワークトラフィック特性を識別して１つまたは複数の後続のフローへのアクセスの関連付けおよび管理を行う方法のフロー図である。
【図５】ネットワークトラフィック特性を識別して１つまたは複数の後続のフローへのアクセスの関連付けおよび管理を行う方法の機能図である。
【発明を実施するための形態】
【０００９】
１つまたは複数の後続のフローの関連付けおよび管理を行うためにネットワークトラフィック特性を識別する例示的なトラフィック管理コンピューティングデバイスを有する環境１０が、図１に示されている。環境１０は、トラフィック管理コンピューティングデバイス１２、複数のクライアントコンピューティングデバイス１４（１）〜１４（ｎ）、データベース監視サーバ１６、ウェブアプリケーションサーバ１８、およびデータサーバ２０（１）〜２０（ｎ）を含み、それらは全て、１つまたは複数の通信ネットワーク２１（１）〜２１（４）によって共に接続されているが、この環境は、他の構成における他の数および種類のシステム、デバイス、構成要素、および要素を含めることができる。本発明の技術は、要求フローおよび／または応答フローなどの１つまたは複数の後続のフローの関連付けおよび管理を行うためにネットワークトラフィック特性を識別するための効果的な方法、非一時的なコンピュータ可読媒体、およびデバイスの提供を含む、多くの利点を提供する。
【００１０】
トラフィック管理コンピューティングデバイス１２は、１つまたは複数の後続のフローの関連付けおよび管理を行うためにネットワークトラフィック特性を識別することを含む、本明細書の実施例で示され説明される多数の機能を提供するが、他の数および種類のシステムを使用してもよく、他の数および種類の機能を実行することもできる。この例では、トラフィック管理コンピューティングデバイス１２は、バスまたは他のリンクによって共に接続される中央処理装置（ＣＰＵ）またはプロセッサ２２、メモリ２４、インターフェースシステム２６を含むが、他の構成生産データ記憶デバイス１６における、他の数および種類のシステム、デバイス、構成要素、要素、ならびにバックアップデータ保存装置１８および位置を使用することもできる。プロセッサ２２は、本明細書の実施例によって説明および示されるように、本技術の１つまたは複数の態様において、格納された命令のプログラムを実行するが、他の種類および数の処理装置および論理を使用することができ、かつプロセッサ２２は、他の数および種類のプログラムされた命令を実行できる。
【００１１】
メモリ２４は、本明細書に説明および示されている本技術の１つまたは複数の態様のために、これらのプログラムされた命令を格納するが、いくつかまたは全てのプログラムされた命令を格納して、他の場所で実行することができる。システム内のランダムアクセスメモリ（ＲＡＭ）もしくは読み取り専用メモリ（ＲＯＭ）、フロッピーディスク、ハードディスク、ＣＤ  ＲＯＭ、ＤＶＤ  ＲＯＭ、または、プロセッサ２２に接続される磁気的、光学的、または他の読み取りおよび書き込みシステムによって読み取りおよび書き込みが行われる他のコンピュータ可読媒体などの、様々な異なるタイプのメモリ記憶装置をメモリ２４に使用することができる。
【００１２】
この例では、トラフィック管理コンピューティングデバイス１２におけるインターフェースシステム２６を使用して、トラフィック管理コンピューティングデバイス１２と、複数のクライアントコンピューティングデバイス１４（１）〜１４（ｎ）、データベース監視サーバ１６、およびウェブアプリケーションサーバ１８との間を動作可能なように接続して通信を行い、これらはいずれも１つまたは複数の通信ネットワーク２１（１）、２１（２）、２１（４）によって互いに接続されているが、他のデバイスおよび要素に対する他の種類および数の接続および構成を持つ他の種類および数の通信ネットワークまたはシステム、例えばデータサーバ２０（１）〜２０（ｎ）と通信する通信ネットワーク２１（３）を使用することもできる。この説明例では、アプリケーション、ウェブアプリケーションサーバ１８は、通信ネットワーク２０（３）を介してデータサーバ２０（１）〜２０（ｎ）に接続されている。加えて、単なる例であるが、１つまたは複数の通信ネットワークは、イーサネット上、ならびにＮＦＳ、ＣＩＦＳ、ＳＯＡＰ、ＸＭＬ、ＬＤＡＰ、およびＳＮＭＰなどの業界標準のプロトコル上でＴＣＰ／ＩＰを使用することができるが、それぞれ独自の通信プロトコルを有する、直接接続、ローカルエリアネットワーク、ワイドエリアネットワーク、モデム、電話回線、電子メール、無線通信技術などの他の種類および数の通信ネットワークを使用することもできる。図１に示されている例示的な環境１０では、３つの通信ネットワーク２１（１）〜２１（４）が示されているが、他の数および種類を使用することもできる。
【００１３】
クライアントコンピューティングデバイス１４（１）〜１４（ｎ）、データベース監視サーバ１６、ウェブアプリケーションサーバ１８、およびデータサーバ２０（１）〜２０（ｎ）は、それぞれ、中央処理装置（ＣＰＵ）またはプロセッサ、メモリ、およびインタフェースまたはＩ／Ｏシステムを含んでもよく、それらはバスまたは他のリンクによって共に接続されているが、それぞれは、本発明の技術の１つまたは複数の態様を実行するために構成される制御論理などの、他の数および種類の要素および構成要素を含むことができる。各クライアントコンピューティングデバイス１４（１）〜１４（ｎ）は、トラフィック管理コンピューティングデバイス１２を介して、ウェブアプリケーションサーバ１８からのデータまたはオペレーションについてのＨＴＴＰ要求を送信でき、かつＨＴＴＰ応答を受け取ることができるが、他の数および種類の要求および応答を送信および受信することができ、他の種類および数の機能を実行することができる。
【００１４】
データベース監視サーバ１６は、トラフィック管理デバイス１２と対話して、ＨＴＴＰ要求から抽出された１つまたは複数の属性をタイムスタンプと共に受信することができ、かつ、当該属性およびタイムスタンプを用いて、データサーバ２０（１）〜２０（ｎ）のうちの１つまたは複数へのＨＴＴＰ要求に関する１つまたは複数の後続のフローの関連付けを行うことができるが、他の数および種類の機能を実行することもできる。
【００１５】
ウェブアプリケーションサーバ１８は、クライアントコンピューティングデバイス１４（１）〜１４（ｎ）のうちの１つまたは複数から１つまたは複数のＨＴＴＰ要求または他の要求を受信して処理し、１つまたは複数のＳＱＬクエリまたは要求を実行して、データサーバ２０（１）〜２０（ｎ）のうちの１つまたは複数から応答データまたは他の情報を取得することができるが、他の数および種類の機能を実行することもできる。データサーバ２０（１）〜２０（ｎ）はそれぞれ、リレーショナルデータベース内にファイルおよびディレクトリなどのコンテンツを格納して異なるオペレーションを実行するが、他の数および種類の機能を有しかつ／または他のデータを格納し得る他の数および種類のサーバまたは他のコンピューティングデバイスを使用することもできる。
【００１６】
トラフィック管理コンピューティングデバイス１２、複数のクライアントコンピューティングデバイス１４（１）〜１４（ｎ）、データベース監視サーバ１６、ウェブアプリケーションサーバ１８、およびデータサーバ２０（１）〜２０（ｎ）の一例は、本明細書にて説明されているが、他の種類および数のデバイスを使用でき、これらのデバイスはそれぞれ、１つまたは複数の任意の好適なコンピュータシステムまたはコンピューティングデバイス上において、他の構成および方法で実行することができる。なお、本明細書にて説明されている実施例のデバイスおよびシステムは、例示目的のためであることが理解されるべきであり、関連する技術分野の当業者によって理解されるように、実施例を実行するために使用される特定のハードウェアおよびソフトウェアの多くの変形形態が可能である。
【００１７】
更に、それぞれの実施例のシステムは、本明細書に説明され図示され、かつ当業者によって理解されるように、実施例の教示に従ってプログラムされた、１つまたは複数の汎用コンピュータシステム、マイクロプロセッサ、デジタル信号プロセッサ、およびマイクロコントローラを使用して、好都合に実行することができる。
【００１８】
加えて、２つ以上のコンピューティングシステムまたはデバイスは、実施例の任意の実施形態におけるいずれか１つのシステムと置換することができる。したがって、冗長性および複製などの、分散処理の原則および利点も、実施例のデバイスおよびシステムの堅牢性および性能を高めるために、所望のように、実行することができる。実施例はまた、任意の好適なインターフェースメカニズムおよび通信技術を用いて、コンピュータシステムまたは任意の好適なネットワークにわたって延在するシステムに実行されてもよく、この通信技術には、単なる例であるが、任意の好適な形態（例えば、音声およびモデム）での電気通信、無線通信媒体、無線通信ネットワーク、セルラ通信ネットワーク、Ｇ３通信ネットワーク、公衆交換電話網（ＰＳＴＮ）、パケットデータネットワーク（ＰＤＮ）、インターネット、イントラネット、およびそれらの組み合わせが含まれる。
【００１９】
実施例はまた、本明細書の実施例で説明され図示される本技術の１つまたは複数の態様に対して、格納された命令を中に有する、非一時的なコンピュータ可読媒体として、具体化することができ、本明細書で説明されるように、その命令は、プロセッサによって実行されると、プロセッサに、本明細書に説明され図示される実施例の方法を実行するために必要なステップを実行させる。
【００２０】
ネットワークトラフィック特性を識別して１つまたは複数の後続フローの関連付けおよび監視を行い監査証跡を生成する例示的な方法を、以下、図１〜３を参照して説明する。ステップ１００において、トラフィック管理コンピューティングデバイス１２は、いつクライアントコンピューティングデバイス１４（１）〜１４（ｎ）のうちの１つがログイン要求を実行してユーザ名または他のログイン識別子を含むログインフォームを送信するかを監視するが、最初のログインページを提供するトラフィック管理コンピューティングデバイス１２のような、ログインを監視するための他の手法を使用することもできる。
【００２１】
ステップ１０２において、トラフィック管理コンピューティングデバイス１２は、ユーザ名または他のログイン資格証明を伴う受信したユーザ要求（単なる例であるが例えばＨＴＴＰ要求）がクライアントコンピューティングデバイス１４（１）〜１４（ｎ）のうちの１つに関連し得るか否かを決定するが、他の種類のデバイスからの他の種類の要求を受信することもできる。ステップ１０２において、トラフィック管理コンピューティングデバイス１２が、ユーザ名または他のログイン資格証明を伴う受信したユーザ要求をクライアントコンピューティングデバイス１４（１）〜１４（ｎ）のうちの１つと関連付けることができない場合、「いいえ」の分岐でステップ１０４へと進む。
【００２２】
ステップ１０４において、単なる例であるが、例えば、クライアントコンピューティングデバイス１４（１）〜１４（ｎ）のうちの１つにおいてユーザがログアウトするかブラウズするのを止めたときに、トラフィック管理コンピューティングデバイス１２はこの例示的な方法を終了すべきかどうかを決定するが、この方法をいつ終了すべきかを決定するための他の手法を使用することもできる。ステップ１０４において、トラフィック管理コンピューティングデバイス１２が、この例示的な方法は終了すべきであると決定した場合、「はい」の分岐でステップ１０６へ進み、ここでこの例示的な方法が終了する。ステップ１０４において、トラフィック管理コンピューティングデバイス１２が、この例示的な方法は終了すべきでないと決定した場合、「いいえ」の分岐で上述のステップ１０２へ戻る。
【００２３】
ステップ１０２に戻って、トラフィック管理コンピューティングデバイス１２が、ユーザ名または他のログイン資格証明を伴う受信したユーザ要求をクライアントコンピューティングデバイス１４（１）〜１４（ｎ）のうちの１つと関連付けることができる場合、「はい」の分岐でステップ１０８へと進む。図３で図示するこの具体例では、クライアントコンピューティングデバイス１４（１）がユーザ要求を提供しているが、他の種類のデバイスが当該要求を提供してもよい。
【００２４】
ステップ１０８において、トラフィック管理コンピューティングデバイス１２は、クライアント識別子（単なる例であるが、例えば、ログインユーザ名、ＩＰアドレス、認証資格情報、および認証クッキーの値のうちの１つまたは複数）と、セッション識別子と、受信したユーザ要求に由来する１つまたは複数の値とを抽出するが、他の種類および量のデータを抽出することもできる。
【００２５】
ステップ１１０において、トラフィック管理コンピューティングデバイス１２は、単なる例であるが図３において「ａｓｍ＿ｒｅｑｕｅｓｔ．ｍｓｇ」と示されている監視要求メッセージを生成する。生成された監視要求メッセージは、タイムスタンプ、ならびに抽出されたクライアント識別子、セッション識別子、および受信したユーザ要求に由来する１つまたは複数の値を含むが、他のデータを伴う他の種類のメッセージの生成も可能である。生成された監視要求は、ステップ１１２において、トラフィック管理コンピューティングデバイス１２によって、通信ネットワーク２１（２）により提供されるセキュリティ保護された内部ＬＡＮ上で、暗号化されていないＴＣＰソケットを介してデータベース監視サーバ１６へと送信されるが、他の種類の接続およびネットワーク上でこのメッセージを送信する他の手法も使用可能である。データベース監視サーバ１６が監視要求を受信すると、データベース監視サーバ１６は監視確認応答を生成し、トラフィック管理コンピューティングデバイス１２に送信する。
【００２６】
ステップ１１４において、トラフィック管理コンピューティングデバイス１２は、単なる例であるが図３において「ｄｂｍ＿ａｃｋ．ｍｓｇ」と示されている監視確認応答を、データベース監視サーバ１６から受信する。
【００２７】
ステップ１１６において、トラフィック管理コンピューティングデバイスは、受信したユーザ要求をアプリケーションサーバ１８に送信する。アプリケーションサーバ１８は、トラフィック管理コンピューティングデバイス１２から転送されたユーザ要求を受信し、データサーバ２０（１）〜２０（ｎ）のうちの１つまたは複数からのデータまたは他のオペレーションに対して１つまたは複数のＳＱＬ要求を発行することができるが、他の種類および数のデバイスに対する他の種類および数の要求（単なる例であるが、例えば、ＸＭＬクエリ、ＸＰＡＴＨ、またはＷＳセキュリティ要求）を使用することもできる。図３で図示するこの具体例では、アプリケーションサーバ１８からのＳＱＬ要求はデータサーバ２０（１）に提供されているが、この要求は、要求されたデータを取得するために他のデバイスに送信されてもよい。
【００２８】
ステップ１１８において、データベース監視サーバ１６は、生成された監視要求の情報を使用することで、受信したユーザ要求に関する、データサーバ２０（１）〜２０（ｎ）のうちの１つまたは複数とアプリケーションサーバ１８との間のデータフローについての監視および関連付けを行うことができるが、他の種類のサーバおよびコンピューティングデバイスへの要求および／または応答の種々のフローについても監視および関連付けを行うことができる。データベース監視サーバ１６は、アプリケーションサーバ１８とデータサーバ２０（１）〜２０（ｎ）のうちの１つまたは複数との間のデータフローに対して、格納された１つまたは複数のアクセスポリシーまたは他のポリシーを適用することができるが、当該アクセスポリシーまたは他のポリシーを、他の種類のサーバおよびコンピューティングデバイスに対する他の種類のフローに対しても適用することができる。加えて、データベース監視サーバ１６は、ユーザ要求と、関連するＳＱＬ要求または他の要求とに関連する、監査証跡を生成することができる。
【００２９】
ステップ１２０において、トラフィック管理コンピューティングデバイス１２は、ユーザ要求に対する応答を受信したか否かを決定する。ステップ１２０において、トラフィック管理コンピューティングデバイス１２が、ユーザ要求に対する応答を受信していないと決定した場合、前述のように「いいえ」の分岐でステップ１１８に戻り、その後、データベース監視サーバ１６は、アプリケーションサーバ１８とデータサーバ２０（１）〜２０（ｎ）のうちの１つまたは複数との間のデータフローの監視および関連付けを続ける。ステップ１２０において、トラフィック管理コンピューティングデバイス１２が、ユーザ要求に対する応答を受信したと決定した場合、「はい」の分岐でステップ１２２へ戻る。
【００３０】
ステップ１２２において、トラフィック管理コンピューティングデバイス１２は、単なる例であるが図３において「ａｓｍ＿ｒｅｓｐｏｎｓｅ．ｍｓｇ」と示されている監視応答メッセージを生成し、データベース監視サーバ１６へ送信する。データベース監視サーバ１６は、監視応答メッセージを受信すると、以前に受信したユーザ要求についての、アプリケーションサーバ１８とデータサーバ２０（１）〜２０（ｎ）のうちの１つまたは複数との間のデータフローのさらなる監視および関連付けを止める。ステップ１２４において、トラフィック管理コンピューティングデバイス１２は、アプリケーションサーバ１８から受信したユーザ応答を、クライアントコンピューティングデバイス１４（１）〜１４（ｎ）のうちの要求元のデバイス（単なる例であるが図３にはクライアントコンピューティングデバイス１４（１）と示されている）へ送信し、その後、前述のようにステップ１０４に進む。
【００３１】
ネットワークトラフィック特性を識別して１つまたは複数の後続のフローへのアクセスの関連付けおよび管理を行う例示的な方法を、今度は図１、図４および図５を参照して説明する。この例示的な方法は、本明細書において図示および説明される場合を除き、図１〜３を参照して説明される例示的な方法と同じである。図１、図４および図５を参照して説明される例示的な方法のステップは、図１〜３を参照して説明される前述の例示的な方法のステップと同様であり、同様の参照番号が付され、再度説明されることはない。
【００３２】
ステップ１２２において、トラフィック管理コンピューティングデバイス１２は、単なる例であるが図３において「ａｓｍ＿ｒｅｓｐｏｎｓｅ．ｍｓｇ」と示されている監視応答メッセージを生成し、データベース監視サーバ１６へ送信する。しかしながら、この例示的な方法では、トラフィック管理コンピューティングデバイス１２は、ここではデータベース監視サーバ１２から後続のアクションメッセージを待ち、その後、クライアントコンピューティングデバイス１４（１）〜１４（ｎ）のうちの１つ（単なる例であるが図５にはクライアントコンピューティングデバイス１４（１）と示されている）から受信したユーザ要求に対するＨＴＴＰ応答について実行するアクションが決定される。データベース監視サーバ１２は、アプリケーションサーバ１８と、データサーバ２０（１）〜２０（ｎ）のうちの１つまたは複数との間のデータフローを監視することができ、１つまたは複数のコマンドを生成することができる。この例では、受信されたアクションは、このＨＴＴＰ応答が、クライアントコンピューティングデバイス１４（１）〜１４（ｎ）のうちの要求元のデバイスへ送信されることを許可することと、監査または他の目的のためにこのＨＴＴＰ応答をメモリ記憶装置内に記録することと、１つまたは複数の指定されたエンティティにこのＨＴＴＰ応答を報告することと、例えばＳＱＬインジェクションが検出された場合にこのＨＴＴＰ応答がクライアントコンピューティングデバイス１４（１）〜１４（ｎ）のうちの要求元のデバイスへ送信されるのを隔離するかまたはそうではなくて阻止することと、このＨＴＴＰ応答を終了させることとを含むことができるが、受信したコマンドに基づく他の種類および数のオペレーションを実行することもできる。阻止は、ウェブアプリケーションのレベルであっても、トランザクションのレベルであってもよく、またはユーザもしくはユーザセッションのためのそれ以降のレベルで行われてもよく、かつそのコマンドは、データベース監視サーバ１６内の１つまたは複数のＳＱＬインジェクションポリシーを含むデータアクセスポリシーに基づくものであってもよい。
【００３３】
ステップ１２６において、トラフィック管理コンピューティングデバイス１２は、単なる例であるが図５において「ｄｂｍ＿ｒｅｐｌｙ．ｍｓｇ」と示されているアクションメッセージをデータベース監視サーバ１６から受信したかどうかを決定する。ステップ１２６において、トラフィック管理コンピューティングデバイス１２が、データベース監視サーバ１６からアクションメッセージを受信していないと決定した場合、「いいえ」の分岐でステップ１２６の最初に戻るが、コマンドメッセージが受信されない場合は一定期間の後にこの方法を終了させるような他のオプションが利用可能である。ステップ１２６において、トラフィック管理コンピューティングデバイス１２が、データベース監視サーバ１６からのアクションメッセージを受信したと決定する場合、「はい」の分岐でステップ１２８に進む。
【００３４】
ステップ１２８において、トラフィック管理コンピューティングデバイス１２は、受信したユーザ要求に対するＨＴＴＰ応答に関するメッセージにおいて指定されたアクションを実行するが、他の種類および数のオペレーションも実行可能である。前述のように、これらのアクションは、単なる例であるが、受信したユーザ要求に対する応答を許可すること、記録すること、報告すること、隔離すること、または終了させることを含んでもよい。トラフィック管理コンピューティングデバイス１２が、受信したコマンドに基づいてＨＴＴＰ応答に関するアクションを完了すると、この例示的な方法は、前述のようにステップ１０４に戻る。
【００３５】
したがって、本明細書の例示的な方法で示されかつ説明されているように、本発明の技術は、１つまたは複数の後続のフローの関連付けおよび管理を行うためにネットワークトラフィック特性を識別するための効果的な方法、非一時的なコンピュータ可読媒体、およびデバイスを提供する。本発明の技術により、データレベルでのきめ細かい、かつウェブアプリケーション層の属性に結び付いた、データアクセス監査証跡を生成することができる。更に、本発明の技術により、データアクセスポリシーに基づいて、不正操作とみなさるユーザセッションを監視し、効果的に警告または終了できる。更に、本発明の技術は、ＳＱＬインジェクションおよびクロスサイトスクリプティング攻撃などの脅威からアプリケーション環境およびデータベース環境の両方を保護するために役立つ。
【００３６】
このように、本発明の基本概念を説明したが、前述の詳細な開示は、単なる例として示されることを意図しており、これに限定されるものではないことは、当業者には極めて明白であろう。本明細書に明示的には述べられていないが、種々の変更、改良、および修正が発生するだろうし、それらは当業者を対象としている。これらの変更、改良、および修正は、本明細書に示唆されていることを意図しており、かつそれらは本発明の趣旨および範囲内である。加えて、処理要素もしくは工程の記載順序、または番号、文字、もしくは他の名称の使用は、特許請求の範囲で指定される場合を除き、請求された方法を任意の順序のものに限定することを意図していない。したがって、本発明は、以下の特許請求の範囲およびその均等物によってのみ制限される。
【図１】
0006055484.tif 000002
【図２】
0006055484.tif 000003
【図３】
0006055484.tif 000004
【図４】
0006055484.tif 000005
【図５】
0006055484.tif 000006