(57)【特許請求の範囲】
【請求項１】
サーバへのリクエストとの類似度に基づき、当該リクエストが攻撃であるか否かを判定するためのプロファイルとマッチしないリクエストのうち、特定のリクエストを抽出する抽出部と、
前記抽出部によって抽出された前記特定のリクエストが、一定数以上の送信元から継続して送信されていることを示す所定の条件を満たすか否かを判定する判定部と、
前記特定のリクエストが、前記判定部によって所定の条件を満たすと判定された場合、前記プロファイルの再学習を行う学習部と、
を有することを特徴とする学習装置。
【請求項２】
前記抽出部は、パス及びパラメータキーの組み合わせが前記プロファイルに含まれないＨＴＴＰリクエストを前記特定のリクエストとして抽出することを特徴とする請求項１に記載の学習装置。
【請求項３】
前記抽出部は、パス及びパラメータキーの組み合わせが前記プロファイルに含まれ、かつ、前記パス、前記パラメータキー及びバリューの傾向の組み合わせが前記プロファイルに含まれないＨＴＴＰリクエストを前記特定のリクエストとして抽出することを特徴とする請求項１に記載の学習装置。
【請求項４】
前記判定部は、前記特定のリクエストの送信日時を含んだ期間を複数のタイムスロットに分割し、前記タイムスロットごとに前記特定のリクエストの送信元アドレスの種類の数をカウントし、送信元アドレスの種類の数が閾値以上であるタイムスロットの数が前記複数のタイムスロットの総数に占める割合が所定値以上である場合、前記特定のリクエストが前記所定の条件を満たすと判定することを特徴とする請求項１から３のいずれか１項に記載の学習装置。
【請求項５】
前記判定部は、前記特定のリクエストの送信日時を含んだ期間を複数のタイムスロットに分割し、前記タイムスロットごとに前記特定のリクエストの送信元アドレスの種類の数をカウントし、送信元アドレスの種類の数が閾値以上であるタイムスロットが所定の数以上連続している場合、前記特定のリクエストが前記所定の条件を満たすと判定することを特徴とする請求項１から３のいずれか１項に記載の学習装置。
【請求項６】
前記判定部で用いられる前記所定の条件は、前記特定のリクエストの送信日時の間隔が短く、前記特定のリクエストの送信元アドレスの種類が多いほど満たされやすいことを特徴とする請求項１から３のいずれか１項に記載の学習装置。
【請求項７】
学習装置で実行される再学習要否判定方法であって、
サーバへのリクエストとの類似度に基づき、当該リクエストが攻撃であるか否かを判定するためのプロファイルとマッチしないリクエストのうち、特定のリクエストを抽出する抽出工程と、
前記抽出工程によって抽出された前記特定のリクエストが、一定数以上の送信元から継続して送信されていることを示す所定の条件を満たす場合、前記プロファイルの再学習が必要であると判定する判定工程と、
を含んだことを特徴とする再学習要否判定方法。
【請求項８】
コンピュータに、
サーバへのリクエストとの類似度に基づき、当該リクエストが攻撃であるか否かを判定するためのプロファイルとマッチしないリクエストのうち、特定のリクエストを抽出する抽出ステップと、
前記抽出ステップによって抽出された前記特定のリクエストが、一定数以上の送信元から継続して送信されていることを示す所定の条件を満たす場合、前記プロファイルの再学習が必要であると判定する判定ステップと、
を実行させることを特徴とする再学習要否判定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習装置、再学習要否判定方法及び再学習要否判定プログラムに関する。
【背景技術】
【０００２】
インターネットの普及に伴い、Ｗｅｂサーバに対する攻撃が急増している。攻撃の対策としてＩＤＳ（Intrusion  Detection  System）、ＩＰＳ（Intrusion  Prevention  System）、ＷＡＦ（Web  Application  Firewall）等が知られている。これらの技術では、ブラックリストやシグネチャファイルを用いたパターンで検出を行い、既知の攻撃の検知及び防御を行う。【０００３】
また、未知の攻撃の検出技術として、正常なＷｅｂサーバへのアクセス要求からパラメータ値の特徴等をプロファイルとして学習し、識別対象のアクセス要求の特徴と当該プロファイルとを比較することにより、当該アクセス要求が攻撃（正常なアクセスではない）であるか否かを判定する技術が知られている（例えば、特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１５／１８６６６２号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、アクセスが攻撃であるか否かをプロファイルに基づいて判定する従来の技術には、運用稼働を抑えつつ、攻撃の検知精度を高精度に維持することが困難であるという問題があった。【０００６】
例えば、Ｗｅｂサイトが変更されると、当該Ｗｅｂサイトへの正常なアクセスのＨＴＴＰリクエストに、それまで含まれていなかったパスやパラメータが含まれ始める。このような場合、Ｗｅｂサイトの変更前に学習されたプロファイルでは、アクセスが攻撃であるか否かを判定できなくなり、攻撃を見逃してしまう場合がある。また、パラメータのバリューの仕様が変更され、文字列構造が変化した場合、正常なアクセスを攻撃と判定する誤検知が発生すること場合がある。【０００７】
このような場合、攻撃の検知精度を高精度に維持するためには、Ｗｅｂサイトの変更にあわせてプロファイルの再学習を行う必要があるが、従来の技術では、Ｗｅｂサイトの変更を検出することができず、プロファイルの再学習を行う契機を判断することは困難であった。【０００８】
一方で、Ｗｅｂサイトの変更が行われたか否かにかかわらず、高頻度でプロファイルの再学習を行うことで、攻撃の検知精度を高精度に維持することが考えられるが、この場合、運用稼働が増大してしまうため現実的ではない。
【課題を解決するための手段】
【０００９】
本発明の学習装置は、サーバへのリクエストとの類似度に基づき、当該リクエストが攻撃であるか否かを判定するためのプロファイルとマッチしないリクエストのうち、特定のリクエストを抽出する抽出部と、前記抽出部によって抽出された前記特定のリクエストが、一定数以上の送信元から継続して送信されていることを示す所定の条件を満たすか否かを判定する判定部と、前記特定のリクエストが、前記判定部によって所定の条件を満たすと判定された場合、前記プロファイルの再学習を行う学習部と、を有することを特徴とする。【００１０】
本発明の再学習要否判定方法は、学習装置で実行される再学習要否判定方法であって、サーバへのリクエストとの類似度に基づき、当該リクエストが攻撃であるか否かを判定するためのプロファイルとマッチしないリクエストのうち、特定のリクエストを抽出する抽出工程と、前記抽出工程によって抽出された前記特定のリクエストが、一定数以上の送信元から継続して送信されていることを示す所定の条件を満たす場合、前記プロファイルの再学習が必要であると判定する判定工程と、を含んだことを特徴とする。【００１１】
本発明の再学習要否判定プログラムは、コンピュータに、サーバへのリクエストとの類似度に基づき、当該リクエストが攻撃であるか否かを判定するためのプロファイルとマッチしないリクエストのうち、特定のリクエストを抽出する抽出ステップと、前記抽出ステップによって抽出された前記特定のリクエストが、一定数以上の送信元から継続して送信されていることを示す所定の条件を満たす場合、前記プロファイルの再学習が必要であると判定する判定ステップと、を実行させることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、運用稼働を抑えつつ、攻撃の検知精度を高精度に維持することができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、第１の実施形態に係る学習装置の構成の一例を示す図である。
【図２】図２は、第１の実施形態に係る制御部の処理について説明するための図である。
【図３】図３は、第１の実施形態に係るNew  Parameterの抽出について説明するための図である。
【図４】図４は、第１の実施形態に係るUnmached  Valueの抽出について説明するための図である。
【図５】図５は、第１の実施形態に係る抽出部の処理結果の出力について説明するための図である。
【図６】図６は、第１の実施形態に係る抽出部の処理の変形例について説明するための図である。
【図７】図７は、第１の実施形態に係る継続性があるパターンの一例について説明するための図である。
【図８】図８は、第１の実施形態に係る継続性があるパターンの一例について説明するための図である。
【図９】図９は、第１の実施形態に係る継続性があるパターンの一例について説明するための図である。
【図１０】図１０は、第１の実施形態に係るタイムスロットの分割について説明するための図である。
【図１１】図１１は、第１の実施形態に係るタイムスロットの特定について説明するための図である。
【図１２】図１２は、第１の実施形態に係る判定部の処理結果の出力について説明するための図である。
【図１３】図１３は、第１の実施形態に係る判定部の他の処理について説明するための図である。
【図１４】図１４は、第１の実施形態に係る判定部の再学習対象判定用情報作成処理について説明するための図である。
【図１５】図１５は、第１の実施形態に係る判定部の再学習対象判定用情報検索処理について説明するための図である。
【図１６】図１６は、第１の実施形態に係る判定部の送信元のＩＰアドレスに関する再学習対象判定用情報比較処理について説明するための図である。
【図１７】図１７は、第１の実施形態に係る判定部の送信日時に関する再学習対象判定用情報比較処理について説明するための図である。
【図１８】図１８は、第１の実施形態に係る判定部の再学習対象判定処理について説明するための図である。
【図１９】図１９は、第１の実施形態に係る判定部の再学習対象判定用情報追加処理について説明するための図である。
【図２０】図２０は、第１の実施形態に係る判定部の再学習対象判定用情報更新処理について説明するための図である。
【図２１】図２１は、第１の実施形態に係る判定部の処理の変形例について説明するための図である。
【図２２】図２２は、第１の実施形態に係る抽出部の処理の流れを示すフローチャートである。
【図２３】図２３は、第１の実施形態に係る判定部のタイムスロットを用いた処理の流れを示すフローチャートである。
【図２４】図２４は、第１の実施形態に係る判定部の再学習対象判定用情報を用いた処理の流れを示すフローチャートである。
【図２５】図２５は、プログラムが実行されることにより学習装置が実現されるコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１４】
以下に、本願に係る学習装置、再学習要否判定方法及び再学習要否判定プログラムの実施形態を図面に基づいて詳細に説明する。なお、本発明は、以下に説明する実施形態により限定されるものではない。
【００１５】
［第１の実施形態の構成］
まず、図１を用いて、第１の実施形態に係る学習装置の構成について説明する。図１は、第１の実施形態に係る学習装置の構成の一例を示す図である。図１に示すように、学習装置１０は、入力部１１、制御部１２及び再学習要否判定部１５を有する。また、学習装置１０は、サーバへのリクエストとの類似度に基づき、当該リクエストが攻撃であるか否かを判定するためのプロファイル１３の学習を行うための装置である。また、学習装置１０は、プロファイル１３を用いて攻撃であるリクエストの検知を行うこともできる。
【００１６】
また、学習装置１０は、入力されたデータに基づき、プロファイル１３の再学習を行う必要があるかを自動的に判断することができる。また、学習装置１０は、プロファイル１３の再学習を行う必要があると判断した際に、自動的に再学習を開始することができる。
【００１７】
入力部１１は、学習装置１０における学習又は分析のためのデータの入力を受け付ける。入力部１１は、分析対象データ入力部１１１及び学習データ入力部１１２を有する。分析対象データ入力部１１１は、分析データＨＴＴＰリクエスト２０の入力を受け付ける。また、学習データ入力部１１２は、学習データＨＴＴＰリクエスト３０の入力を受け付ける。分析データＨＴＴＰリクエスト２０及び学習データＨＴＴＰリクエスト３０は、例えば、Ｗｅｂサイトへのアクセスの際に生成されるＨＴＴＰリクエストである。また、学習データＨＴＴＰリクエスト３０は、攻撃であるか否かがあらかじめ判明しているＨＴＴＰリクエストであってもよい。
【００１８】
制御部１２は、パラメータ抽出部１２１、文字クラス列変換部１２２、異常検知部１２３及びプロファイル保存部１２４を有する。制御部１２は、プロファイル１３の学習及び攻撃であるリクエストの検知に関する処理を行う。
【００１９】
パラメータ抽出部１２１は、入力部１１に入力された分析データＨＴＴＰリクエスト２０及び学習データＨＴＴＰリクエスト３０からパラメータを抽出する。パラメータ抽出部１２１は、各ＨＴＴＰリクエストから、パス、パラメータキー及びパラメータキーに対応するバリューを抽出する。
【００２０】
例えば、学習データＨＴＴＰリクエスト３０に「http://example.com/index.php?id=03&file=Top001.png」というＵＲＬが含まれている場合、パラメータ抽出部１２１は、パスとして「index.php」を抽出し、パラメータキーとして「id」及び「file」を抽出し、パラメータキーに対応するバリューとして、「03」及び「Top001.png」を抽出する。
【００２１】
また、文字クラス列変換部１２２は、パラメータ抽出部１２１によって抽出されたバリューを文字クラス列に変換する。例えば、文字クラス列変換部１２２は、パラメータ抽出部１２１によって抽出されたバリューである「03」及び「Top001.png」を文字クラス列に変換する。
【００２２】
文字クラス列変換部１２２は、例えば、バリューの数字で構成される部分を「numeric」、アルファベットで構成される部分を「alpha」、記号で構成される部分を「symbol」に置き換えることで文字クラス列への変換を行う。文字クラス列変換部１２２は、例えば、バリュー「03」を文字クラス列「(numeric)」に変換する。また、文字クラス列変換部１２２は、例えば、バリュー「Top001.png」を文字クラス列「(alpha,  numeric,  symbol,  alpha)」に変換する。
【００２３】
異常検知部１２３は、文字クラス列変換部１２２等から受け取ったパス、パラメータキー及び文字クラス列と、プロファイル１３との類似度を計算し、計算した類似度を閾値と比較すること等により攻撃の検知を行う。例えば、異常検知部１２３は、ある分析データＨＴＴＰリクエスト２０のパス、パラメータキー及び文字クラス列と、プロファイル１３との類似度が閾値以下である場合、当該分析データＨＴＴＰリクエスト２０を攻撃として検知する。また、異常検知部１２３は、検知結果１４を出力する。
【００２４】
プロファイル保存部１２４は、文字クラス列変換部１２２から受け取ったパス、パラメータキー及び文字クラス列をプロファイル１３として保存する。この時、パス及びパラメータキーに対応する文字クラス列が複数ある場合、例えば当該複数の文字クラス列のうち最も頻出する文字クラス列をプロファイル１３として保存する。プロファイル保存部１２４の処理により、制御部１２は、学習部として機能する。
【００２５】
図２を用いて、制御部１２の処理について説明する。図２は、第１の実施形態に係る制御部の処理について説明するための図である。まず、学習データＨＴＴＰリクエスト３０には、ＵＲＬ「http://example.com/index.php?file=Img.jpg」、「http://example.com/index.php?file=Test.png」及び「http://example.com/index.php?file=Top001.png」が含まれているとする。また、分析データＨＴＴＰリクエスト２０には、ＵＲＬ「http://example.com/index.php?file=Test011.jpg」及び「http://example.com/index.php?file=Test_011.jpg'  or  '1'='1」が含まれているとする。
【００２６】
このとき、パラメータ抽出部１２１は、学習データＨＴＴＰリクエスト３０から、バリュー「Img.jpg」、「Test.png」及び「Top001.png」を抽出する。また、パラメータ抽出部１２１は、分析データＨＴＴＰリクエスト２０から、バリュー「Test011.jpg」及び「Test_011.jpg'  or  '1'='1」を抽出する。
【００２７】
次に、図２に示すように、文字クラス列変換部１２２は、バリュー「Img.jpg」、「Test.png」及び「Top001.png」をそれぞれ、文字クラス列「(alpha,  symbol,  alpha)」、「(alpha,  symbol,  alpha)」及び「(alpha,  numeric,  symbol,  alpha)」に変換する。また、文字クラス列変換部１２２は、バリュー「Test011.jpg」及び「Test_011.jpg'  or  '1'='1」を、それぞれ文字クラス列「(alpha,  numeric,  symbol,  alpha)」及び「(alpha,  symbol,  numeric,  symbol,  alpha,  symbol,  space,  alpha,  space,  symbol,  numeric,  symbol,  numeric)」に変換する。なお、バリュー「スペース(空白)」は文字クラス列「space」に変換する。
【００２８】
次に、異常検知部１２３は、分析データＨＴＴＰリクエスト２０からの文字クラス列「(alpha,  numeric,  symbol,  alpha)」及び「(alpha,  symbol,  numeric,  symbol,  alpha,  symbol,  space,  alpha,  space,  symbol,  numeric,  symbol,  numeric)」に対応するパスとパラメータキーを組み合わせたデータとプロファイル１３との類似度を計算し、攻撃の検知を行う。
【００２９】
また、プロファイル保存部１２４は、学習データＨＴＴＰリクエスト３０に含まれるＵＲＬのパス「index.php」及びパラメータキー「file」に対応する文字クラス列のうち、例えば「(alpha,  symbol,  alpha)」を最も頻出する文字クラス列としてプロファイル１３に保存する。
【００３０】
再学習要否判定部１５は、抽出部１５１及び判定部１５２を有する。抽出部１５１は、サーバへのリクエストとの類似度に基づき、当該リクエストが攻撃であるか否かを判定するためのプロファイル１３とマッチしないリクエストのうち、特定のリクエストを抽出する。また、判定部１５２は、抽出部１５１によって抽出された特定のリクエストが、一定数以上の送信元から継続して送信されていることを示す所定の条件を満たすか否かを判定する。また、制御部１２は、特定のリクエストが、判定部１５２によって所定の条件を満たすと判定された場合、プロファイル１３の再学習を行う。
【００３１】
なお、制御部１２は、判定部１５２による判定が行われた後、判定結果である再学習対象データＨＴＴＰリクエスト１６を学習データ入力部１１２に入力し、自動的に再学習を開始してもよい。また、再学習対象データＨＴＴＰリクエスト１６は、例えばユーザが認識可能なデータ形式で、装置外部に出力されてもよい。
【００３２】
本実施形態において、抽出部１５１は、New  Parameter及びUnmatched  Valueの抽出、New  Parameter又はUnmatched  Valueを含んだＨＴＴＰリクエストの抽出を行う。New  Parameterとは、学習したプロファイル１３に存在しないパス及びパラメータキーである。また、Unmatched  Valueとは、学習したプロファイル１３と、傾向が異なるバリューである。バリューの傾向の異同は、例えば文字クラス列を用いて判断される。
【００３３】
また、本実施形態では、判定部１５２は、New  Parameter又はUnmatched  Valueを含んだＨＴＴＰリクエストが、一定数以上の発信元から継続して発信されているものである場合、プロファイル１３の再学習が必要であると判定する。これは、プロファイル１３が正常通信の特徴を学習した正常プロファイルであるとしたときに、New  Parameter又はUnmatched  Valueを含んだＨＴＴＰリクエストが一定数以上の発信元から継続して発信されている場合、Ｗｅｂサイトに変更があったことが考えられるためである。
【００３４】
なお、プロファイル１３は、悪性通信の特徴を学習した悪性プロファイルであってもよい。この場合、判定部１５２は、New  Parameter又はUnmatched  Valueを含んだＨＴＴＰリクエストが、一定数以上の発信元から継続して発信されているものである場合以外の場合に、プロファイル１３の再学習が必要であると判定する。
【００３５】
ここで、New  Parameter又はUnmatched  Valueを含んだＨＴＴＰリクエストは、攻撃であることも考えられる。しかし、正規利用者数が攻撃者数より非常に多いため、多数のＩＰアドレスから送信されているＨＴＴＰリクエストは、攻撃よりもＷｅｂサイトの正常な利用によるものである可能性が高い。また、攻撃者が攻撃を行う期間は短いことから、送信の継続期間が長いＨＴＴＰリクエストは、攻撃よりもＷｅｂサイトの正常な利用によるものである可能性が高い。このため、判定部１５２によってＨＴＴＰリクエストが一定数以上の発信元から継続して発信されていると判定されたＨＴＴＰリクエストは、攻撃よりもＷｅｂサイトの正常な利用によるものである可能性が高いことがいえる。
【００３６】
抽出部１５１は、パス及びパラメータキーの組み合わせがプロファイル１３に含まれないＨＴＴＰリクエスト、すなわち、New  Parameterを有するＨＴＴＰリクエストを特定のリクエストとして抽出することができる。また、抽出部１５１は、パス及びパラメータキーの組み合わせがプロファイル１３に含まれ、かつ、パス、パラメータキー及びバリューの傾向の組み合わせがプロファイル１３に含まれないＨＴＴＰリクエスト、すなわち、Unmached  Valueを有するＨＴＴＰリクエストを特定のリクエストとして抽出することができる。
【００３７】
（New  Parameterの抽出）
ここで、図３を用いて、抽出部１５１によるNew  Parameterの抽出処理について説明する。図３は、第１の実施形態に係るNew  Parameterの抽出について説明するための図である。抽出部１５１は、分析対象のＨＴＴＰリクエストのパス及びパラメータキーの組み合わせが、プロファイル１３に含まれない場合、当該ＨＴＴＰリクエストに関する情報をNew  Parameterとして抽出する。
【００３８】
例えば、図３に示すように、ＨＴＴＰリクエスト「12/1  0：01：30  192.168.0.1  GET  /index.php?key=user001」に含まれるパス「index.php」及びパラメータキー「key」の組み合わせは、プロファイル１３に含まれるため、抽出部１５１は、ＨＴＴＰリクエスト「12/1  0：01：30  192.168.0.1  GET  /index.php?key=user001」に関する情報をNew  Parameterとして抽出しない。
【００３９】
一方、ＨＴＴＰリクエスト「12/1  0：01：34  192.168.0.1  GET  /index.php?key=user001&new_key1=new_value001」に含まれるパス「index.php」及びパラメータキー「new_key1」の組み合わせは、プロファイル１３に含まれないため、抽出部１５１は、ＨＴＴＰリクエスト「12/1  0：01：34  192.168.0.1  GET  /index.php?key=user001&new_key1=new_value001」に関する情報をNew  Parameterとして抽出する。
【００４０】
（Unmached  Valueの抽出）
次に、図４を用いて、抽出部１５１によるUnmached  Valueの抽出処理について説明する。図４は、第１の実施形態に係るUnmached  Valueの抽出について説明するための図である。抽出部１５１は、分析対象のＨＴＴＰリクエストのパス及びパラメータキーの組み合わせがプロファイル１３に含まれ、かつ、パス、パラメータキー及びバリューの傾向の組み合わせがプロファイル１３に含まれない場合、当該ＨＴＴＰリクエストに関する情報をUnmached  Valueとして抽出する。
【００４１】
例えば、図４に示すように、ＨＴＴＰリクエスト「12/1  0：03：45  192.168.0.1  GET  /index.php?key=user001」に含まれるパス「index.php」及びパラメータキー「key」の組み合わせはプロファイル１３に含まれ、パス「index.php」、パラメータキー「key」及びバリュー「user001」から変換された文字クラス列「{AL,  NU}」の組み合わせもプロファイル１３に含まれる。このため、抽出部１５１は、ＨＴＴＰリクエスト「12/1  0：03：45  192.168.0.1  GET  /index.php?key=user001」に関する情報をUnmached  Valueとして抽出しない。なお、図４の文字クラス列の表記方法は図２のものと異なるが、文字クラス列の表記方法は、学習装置１０内で認識可能なものであれば任意の方法とすることができる。
【００４２】
一方、ＨＴＴＰリクエスト「12/1  3：00：18  192.168.0.1  GET  /index.php?key=user001-01」に含まれるパス「index.php」及びパラメータキー「key」の組み合わせは、プロファイル１３に含まれるが、パス「index.php」、パラメータキー「key」及びバリュー「user001-01」から変換された文字クラス列「{AL,  NU,  SY,  NU}」の組み合わせはプロファイル１３に含まれない。このため、抽出部１５１は、ＨＴＴＰリクエスト「12/1  3：00：18  192.168.0.1  GET  /index.php?key=user001-01」に関する情報をUnmached  Valueとして抽出する。
【００４３】
次に、図５を用いて、抽出部１５１の出力について説明する。図５は、第１の実施形態に係る抽出部の処理結果の出力について説明するための図である。前述の通り、抽出部１５１は、New  Parameter又はUnmached  Valueとして、ＨＴＴＰリクエストに関する情報を取得する。ＨＴＴＰリクエストに関する情報には、例えば、送信日時、ＩＰアドレス、パス、パラメータキー及びバリュー等が含まれる。さらに、抽出部１５１は、再学習対象候補ＨＴＴＰリクエストを抽出する。
【００４４】
再学習対象候補ＨＴＴＰリクエストには、New  Parameter又はUnmached  Valueの抽出対象のＨＴＴＰリクエストに加え、当該ＨＴＴＰリクエストとパス及びパラメータキーが一致するＨＴＴＰリクエストが含まれる。例えば、図４の例では、抽出部１５１は、ＨＴＴＰリクエスト「12/1  0：03：45  192.168.0.1  GET  /index.php?key=user001」に関する情報をUnmached  Valueとして抽出しないが、当該ＨＴＴＰリクエストは、Unmached  Valueとして抽出するＨＴＴＰリクエスト「12/1  3：00：18  192.168.0.1  GET  /index.php?key=user001-01」とパス及びパラメータが一致しているため、再学習対象候補ＨＴＴＰリクエストとして抽出する。
【００４５】
また、図５に示すように、抽出部１５１は、バリューが文字クラス列に変換されたＨＴＴＰリクエストではなく、元となったＨＴＴＰリクエストを再学習候補ＨＴＴＰリクエストとして抽出する。
【００４６】
（変形例）
さらに、図６に示すように、抽出部１５１は、ＨＴＴＰリクエストのうち、ステータスコードが所定値であるものだけを抽出するようにしてもよい。図６は、第１の実施形態に係る抽出部の処理の変形例について説明するための図である。例えば、ステータスコード「２００〜３９９」は、正常を意味しているため、抽出部１５１は、ステータスコード「２００〜３９９」であるＨＴＴＰリクエストを抽出する。
【００４７】
図６の例では、ＨＴＴＰリクエスト「192.168.0.2  GET  /index.php?new_key2=../../etc/passwd」は、前述のNew  Parameterとして抽出される条件を満たしているが、ステータスコードが「４０４」であるため、本変形例においては、抽出部１５１は、ＨＴＴＰリクエスト「192.168.0.2  GET  /index.php?new_key2=../../etc/passwd」に関する情報をNew  Parameterとして抽出しない。なお、ここではNew  Parameterの場合の例を説明したが、抽出部１５１がUnmached  Valueを抽出する場合においても本変形例を適用することができる。
【００４８】
（継続性の判定）
ここで、判定部１５２による、継続性の判定、すなわち、リクエストが、一定数以上の送信元から継続して送信されているか否かを判定する処理について説明する。図７〜９を用いて、継続性があるパターンについて説明する。図７〜９は、第１の実施形態に係る継続性があるパターンの一例について説明するための図である。
【００４９】
まず、図７に示すように、ＨＴＴＰリクエストの送信時間を含んだ期間を複数のタイムスロットに分割した場合に、条件を満たすタイムブロックが高頻度で出現するパターンを、判定部１５２は継続性があるパターンと判定することができる。
【００５０】
例えば、条件を満たすタイムブロックの出現率の閾値を５／１０に設定した場合、図７に示すように、条件を満たすタイムブロックの出現率が１／１０である場合は非継続的であると判定され、条件を満たすタイムブロックの出現率が８／１０である場合は継続的であると判定される。
【００５１】
また、図８に示すように、ＨＴＴＰリクエストの送信時間を含んだ期間を複数のタイムスロットに分割した場合に、条件を満たすタイムブロックの連続して出現するパターンを、判定部１５２は継続性があるパターンと判定することができる。
【００５２】
例えば、条件を満たすタイムブロックが連続する回数の閾値を５回とした場合、図８に示すように、条件を満たすタイムブロックが６回連続で出現した場合は継続的であると判定され、条件を満たすタイムブロックが３回までしか連続して出現しなかった場合は非継続的であると判定される。
【００５３】
また、図９に示すように、所定のＨＴＴＰリクエストが送信されてから、当該ＨＴＴＰリクエストから一部が変化したＨＴＴＰリクエストが送信されるまでの時間が所定の条件を満たすパターンを、判定部１５２は継続性があるパターンと判定することができる。例えば、図９のパターンには、あるパス及びパラメータキーを有するＨＴＴＰリクエストが送信された後、同じパス及びパラメータキーを有し、異なる送信元ＩＰアドレスを有するＨＴＴＰリクエストが送信されるまでの時間が所定値以上であるパターンが該当する。
【００５４】
（タイムスロットを用いた判定）
図１０を用いて、判定部１５２による、図７のパターンを判定する処理について説明する。まず、図１０に示すように、判定部１５２は、特定のリクエストの送信日時を含んだ期間を複数のタイムスロットに分割する。図１０は、第１の実施形態に係るタイムスロットの分割について説明するための図である。図１０に示すように、判定部１５２は、特定の期間を、４時間ごとのタイムスロットに分割する。例えば、タイムスロット（１）は、０：００〜４：００である。また、タイムスロット（２）は、４：００〜８：００である。このとき、さらに、判定部１５２は、各タイムスロットに、ＨＴＴＰリクエストの送信元ＩＰアドレスを時系列で並べて割り当てる。
【００５５】
次に、図１１に示すように、判定部１５２は、タイムスロットごとに特定のリクエストの送信元アドレスの種類の数をカウントする。図１１は、第１の実施形態に係るタイムスロットの特定について説明するための図である。例えば、「path1:new_key1」のタイムスロット（１）（０：００〜４：００）には、３種類の送信元ＩＰアドレスが含まれるので、判定部１５２は当該タイムスロットの送信元アドレスの種類を３とカウントする。一方、「path1:new_key2」のタイムスロット（１）（０：００〜４：００）には、１種類の送信元ＩＰアドレスが含まれるので、判定部１５２は当該タイムスロットの送信元アドレスの種類を１とカウントする。
【００５６】
次に、判定部１５２は、送信元アドレスの種類の数が閾値以上であるタイムスロットの数が複数のタイムスロットの総数に占める割合が所定値以上である場合、特定のリクエストが所定の条件を満たすと判定する。ここで、送信元アドレスの種類の数に関する閾値が２であるとする。このとき、図１１に示すように、「path1:new_key1」のタイムスロットには、送信元アドレスの種類が複数見られるのに対し、「path1:new_key2」のタイムスロットには、送信元アドレスの種類があまり見られない。
【００５７】
ここで、例えば、送信元アドレスの種類の数が閾値以上であるタイムスロットの数が複数のタイムスロットの総数に占める割合が０．８を超えた場合に、判定部１５２は所定の条件を満たすとすることができる。そして、図１２に示すように、「path1:new_key1」が当該条件を満たすと判定された場合、抽出部１５１によって抽出された再学習対象候補ＨＴＴＰリクエストのうち、パスが「path1」、パラメータキーが「new_key1」であるＨＴＴＰリクエストは、再学習対象データＨＴＴＰリクエスト１６として出力される。図１２は、第１の実施形態に係る判定部の処理結果の出力について説明するための図である。なお、「path1」は、パス「index.php」を示す符号である。
【００５８】
図１３を用いて、判定部１５２による、図８のパターンを判定する処理について説明する。図１３は、第１の実施形態に係る判定部の他の処理について説明するための図である。図１３に示すように、判定部１５２は、特定のリクエストの送信日時を含んだ期間を複数のタイムスロットに分割し、タイムスロットごとに特定のリクエストの送信元アドレスの種類の数をカウントし、送信元アドレスの種類の数が閾値以上であるタイムスロットが所定の数以上連続している場合、特定のリクエストが所定の条件を満たすと判定することができる。タイムスロットの分割及び送信元アドレスの種類の数のカウントについては、図１０及び１１の場合と同様であるため説明を省略する。
【００５９】
ここで、図１３に示すように、「path1:new_key1」の方では、送信元アドレスの種類が閾値を越えるタイムスロットが連続している傾向があるのに、「path1:new_key2」の方では、送信元アドレスの種類が閾値を越えるタイムスロットが連続しない傾向がある。判定部１５２は、例えば送信元アドレスの種類が閾値を越えるタイムスロットが５回以上連続した場合に、判定部１５２は所定の条件を満たすとすることができる。
【００６０】
（再学習対象判定用情報を用いた判定）
図１４〜２０を用いて、判定部１５２による、図９のパターンを判定する処理について説明する。図１４〜２０は、第１の実施形態に係る判定部の図９のパターンを判定する処理について説明するための図である。
【００６１】
まず、図１４のように、判定部１５２は、再学習対象判定用情報を作成する。図１４は、第１の実施形態に係る判定部の再学習対象判定用情報作成処理について説明するための図である。このとき、再学習対象判定用情報にはデータが存在せず、項目のみが設定されている。
【００６２】
次に、図１５に示すように、判定部１５２は、抽出部１５１で抽出されたNew  Parameter及びUnmatched  Valueのパス及びパラメータキーの組み合わせのそれぞれで、再学習対象判定用情報を順次検索する。図１５は、第１の実施形態に係る判定部の再学習対象判定用情報検索処理について説明するための図である。再学習対象判定用情報を検索した結果、検索結果が存在した場合、判定部１５２は、送信元のＩＰアドレスに関する再学習対象判定用情報比較を行う。
【００６３】
図１６を用いて、送信元のＩＰアドレスに関する再学習対象判定用情報比較について説明する。図１６は、第１の実施形態に係る判定部の送信元のＩＰアドレスに関する再学習対象判定用情報比較処理について説明するための図である。検索結果の再学習対象判定用情報に含まれるＩＰアドレスと、検索に用いたNew  Parameter又はUnmatched  Valueに含まれるＩＰアドレスとが同じである場合（図１６の比較（２））、判定部１５２は次の検索へ進む。
【００６４】
一方、検索結果の再学習対象判定用情報に含まれるＩＰアドレスと、検索に用いたNew  Parameter又はUnmatched  Valueに含まれるＩＰアドレスとが異なる場合（図１６の比較（１））、判定部１５２は送信日時に関する再学習対象判定用情報比較を行う。
【００６５】
ここで、図１７を用いて、送信日時に関する再学習対象判定用情報比較について説明する。図１７は、第１の実施形態に係る判定部の送信日時に関する再学習対象判定用情報比較処理について説明するための図である。検索に用いたNew  Parameter又はUnmatched  Valueに含まれる送信日時が、検索結果の再学習対象判定用情報に含まれる前回時刻から一定時間（例えば、６０分）以内である場合（図１７の比較（１））、判定部１５２は再学習対象判定処理を行う。
【００６６】
一方、検索に用いたNew  Parameter又はUnmatched  Valueに含まれる送信日時が、検索結果の再学習対象判定用情報に含まれる前回時刻から一定時間（例えば、６０分）以内でない場合（図１７の比較（２））、判定部１５２は再学習対象判定用情報更新処理を行った後、次の検索へ進む。
【００６７】
ここで、図１８を用いて、再学習対象判定処理について説明する。図１８は、第１の実施形態に係る判定部の再学習対象判定処理について説明するための図である。検索に用いたNew  Parameter又はUnmatched  Valueに含まれる送信日時が、検索結果の再学習対象判定用情報に含まれる初回時刻から一定時間（例えば、１２０分）以上経過している場合（図１８の比較（１））、判定部１５２は、抽出部１５１によって抽出された再学習対象候補ＨＴＴＰリクエストのうち、当該New  Parameter又はUnmatched  Valueを有するものを、再学習対象データＨＴＴＰリクエスト１６とする。
【００６８】
一方、検索に用いたNew  Parameter又はUnmatched  Valueに含まれる送信日時が、検索結果の再学習対象判定用情報に含まれる初回時刻から一定時間（例えば、１２０分）以上経過していない場合（図１８の比較（２））、判定部１５２は再学習対象判定用情報の前回時刻及びＩＰアドレスを、それぞれNew  Parameter又はUnmatched  Valueに含まれる送信日時及び送信元のＩＰアドレスで更新し、次の検索へ進む。
【００６９】
また、再学習対象判定用情報を検索した結果、検索結果が存在しなかった場合、判定部１５２は、再学習対象判定用情報追加処理を行う。なお、初回は検索対象の再学習対象判定用情報が作成されていないため、判定部１５２は、再学習対象判定用情報追加処理を行うことになる。
【００７０】
図１９を用いて、再学習対象判定用情報追加処理について説明する。図１９は、第１の実施形態に係る判定部の再学習対象判定用情報追加処理について説明するための図である。図１９に示すように、再学習対象判定用情報追加処理において、判定部１５２は、New  Parameter又はUnmatched  Valueに含まれる各情報を再学習対象判定用情報に追加する。なお、この場合、判定部１５２は、初回時刻及び前回時刻の両方に、New  Parameter又はUnmatched  Valueに含まれる送信日時を追加する。
【００７１】
図２０を用いて、再学習対象判定用情報更新処理について説明する。図２０は、第１の実施形態に係る判定部の再学習対象判定用情報更新処理について説明するための図である。図２０に示すように、再学習対象判定用情報更新処理において、判定部１５２は、再学習対象判定用情報を、New  Parameter又はUnmatched  Valueに含まれる各情報で更新する。なお、この場合、判定部１５２は、前回時刻をNew  Parameter又はUnmatched  Valueに含まれる送信日時で更新し、初回時刻は更新しない。
【００７２】
この場合、判定部１５２で用いられる所定の条件は、特定のリクエストの送信日時の間隔が短く、特定のリクエストの送信元アドレスの種類が多いほど満たされやすいものである。
【００７３】
つまり、再学習対象データＨＴＴＰリクエスト１６として判定部１５２によって判定されるためには、図１８に示す再学習対象判定処理に進む必要がある。ここで、再学習対象判定処理に進むためには、送信日時に関する再学習対象判定用情報比較処理において、New  Parameter又はUnmatched  Valueに含まれる送信日時が、検索結果の再学習対象判定用情報に含まれる前回時刻から一定時間以内でなければならない。これより、リクエストの送信日時の間隔短いほど再学習対象判定処理に進みやすいといえる。
【００７４】
また、送信日時に関する再学習対象判定用情報比較処理に進むためには、送信元のＩＰアドレスに関する再学習対象判定用情報比較処理において、New  Parameter又はUnmatched  Valueに含まれる送信元のＩＰアドレスが、検索結果の再学習対象判定用情報に含まれるＩＰアドレスと異なっていなければならない。これより、送信元アドレスの種類が多いほど再学習対象判定処理に進みやすいといえる。
【００７５】
（変形例）
図２１に示すように、判定部１５２はＩＰアドレスのブラックリストを保持しておき、ＨＴＴＰリクエストの送信元のＩＰアドレスがブラックリストに記載されている場合、ＨＴＴＰリクエストを判定対象から除外してもよい。図２１は、第１の実施形態に係る判定部の処理の変形例について説明するための図である。図２１の例では、ＩＰアドレス「192.168.0.2」はブラックリストに含まれているため、例えばタイムブロックごとのアドレスの種類の数をカウントする際に除外される。
【００７６】
［第１の実施形態の処理］
まず、図２２を用いて、抽出部１５１の処理の流れについて説明する。図２２は、第１の実施形態に係る抽出部の処理の流れを示すフローチャートである。図２２に示すように、抽出部１５１は、入力データとして分析対象のＨＴＴＰリクエストを取得する（ステップＳ１０１）。次に、抽出部１５１は、New  Parameterの抽出を行う（ステップＳ１０２）。また、抽出部１５１は、Unmatched  Valueの抽出を行う（ステップＳ１０３）。そして、抽出部１５１は、処理結果データを出力する（ステップＳ１０４）。
【００７７】
なお、抽出部１５１は、New  Parameterの抽出（ステップＳ１０２）、及びUnmatched  Valueの抽出（ステップＳ１０３）の順序を逆にしてもよいし、New  Parameterの抽出（ステップＳ１０２）、及びUnmatched  Valueの抽出（ステップＳ１０３）のいずれか一方のみを行うこととしてもよい。
【００７８】
次に、図２３を用いて、判定部１５２のタイムスロットを用いた判定処理について説明する。図２３は、第１の実施形態に係る判定部のタイムスロットを用いた処理の流れを示すフローチャートである。図２３に示すように、判定部１５２は、まず、入力データとして、抽出部１５１の処理結果データを取得する（ステップＳ２０１）。
【００７９】
次に、判定部１５２は、抽出部１５１の処理結果データに含まれるＨＴＴＰリクエストの送信日時を含んだ期間を複数のタイムスロットに分割する（ステップＳ２０２）。次に、判定部１５２は、タイムスロットごとに送信元ＩＰアドレスの種類をカウントすること等により、判定の対象となるタイムスロットを特定する（ステップＳ２０３）。そして、特定したタイムスロットの出現状況に基づいて再学習対象のＨＴＴＰリクエストを判定する（ステップＳ２０４）。出現状況としては、条件を満たすタイムスロットの全体に占める割合や、条件を満たすタイムスロットの連続性等がある。そして、判定部１５２は、処理結果データを出力する（ステップＳ２０５）。
【００８０】
次に、図２４を用いて、再学習対象判定情報を用いた判定処理について説明する。図２４は、第１の実施形態に係る判定部の再学習対象判定用情報を用いた処理の流れを示すフローチャートである。図２４に示すように、判定部１５２は、入力データとして、抽出部１５１の処理結果データを取得する（ステップＳ３０１）。
【００８１】
ここで、判定部１５２は、再学習対象判定用情報を作成する（ステップＳ３０２）。次に、判定部１５２は、入力データとして取得したＨＴＴＰリクエストに関する情報で、再学習対象判定用情報を検索し、検索結果が存在しなかった場合（ステップＳ３０３、Ｎｏ）、再学習対象判定用情報追加処理を行い（ステップＳ３０４）、次の検索へ進む。検索結果が存在した場合（ステップＳ３０３、Ｙｅｓ）、判定部１５２は、送信元のＩＰアドレスに関する再学習対象判定用情報比較処理を実行する（ステップＳ３０５）。
【００８２】
送信元のＩＰアドレスに関する再学習対象判定用情報比較処理の結果、ＩＰアドレスが異なっていた場合（ステップＳ３０５、Ｙｅｓ）、判定部１５２は、送信日時に関する再学習対象判定用情報比較処理を実行する（ステップＳ３０６）。また、送信元のＩＰアドレスに関する再学習対象判定用情報比較処理の結果、ＩＰアドレスが異なっていなかった場合（ステップＳ３０５、Ｎｏ）、判定部１５２は、次の検索へ進む。
【００８３】
送信日時に関する再学習対象判定用情報比較処理の結果、送信日時が前回時刻から一定時間以内であった場合（ステップＳ３０６、Ｙｅｓ）、判定部１５２は、再学習対象判定処理を実行する（ステップＳ３０８）。また、送信日時に関する再学習対象判定用情報比較処理の結果、送信日時が前回時刻から一定時間以内でなかった場合（ステップＳ３０６、Ｎｏ）、判定部１５２は、再学習対象判定用情報更新処理を実行し（ステップＳ３０７）、次の検索へ進む。
【００８４】
また、再学習対象判定処理の結果、送信日時が初回時刻から一定時間以上経過している場合（ステップＳ３０８、Ｙｅｓ）、当該ＨＴＴＰリクエストを再学習対象として、処理結果データを出力する（ステップＳ３０９）。また、再学習対象判定処理の結果、送信日時が初回時刻から一定時間以上経過していなかった場合（ステップＳ３０８、Ｎｏ）、判定部１５２は、再学習対象判定用情報のＩＰアドレスと前回時刻を更新し、次の検索へ進む。
【００８５】
［第１の実施形態の効果］
抽出部１５１は、サーバへのリクエストとの類似度に基づき、当該リクエストが攻撃であるか否かを判定するためのプロファイル１３とマッチしないリクエストのうち、特定のリクエストを抽出する。また、判定部１５２は、抽出部１５１によって抽出された特定のリクエストが、一定数以上の送信元から継続して送信されていることを示す所定の条件を満たすか否かを判定する。また、制御部１２は、特定のリクエストが、判定部１５２によって所定の条件を満たすと判定された場合、プロファイル１３の再学習を行う。これにより、必要に応じてプロファイルの再学習を行うことができるようになるため、運用稼働を抑えつつ、攻撃の検知精度を高精度に維持することができるようになる。
【００８６】
抽出部１５１は、パス及びパラメータキーの組み合わせがプロファイル１３に含まれないＨＴＴＰリクエストを特定のリクエストとして抽出することができる。これにより、新たに出現したパスやパラメータにプロファイルを対応させることが可能となり、攻撃の見逃しを防止できるようになる。
【００８７】
抽出部１５１は、パス及びパラメータキーの組み合わせがプロファイル１３に含まれ、かつ、パス、パラメータキー及びバリューの傾向の組み合わせがプロファイル１３に含まれないＨＴＴＰリクエストを特定のリクエストとして抽出することができる。これにより、既存パラメータキーのバリューの仕様（文字列構造）が変化した場合であっても、プロファイルを対応させることが可能となり、攻撃の誤検知を防止できるようになる。
【００８８】
判定部１５２は、特定のリクエストの送信日時を含んだ期間を複数のタイムスロットに分割し、タイムスロットごとに特定のリクエストの送信元アドレスの種類の数をカウントし、送信元アドレスの種類の数が閾値以上であるタイムスロットの数が複数のタイムスロットの総数に占める割合が所定値以上である場合、特定のリクエストが所定の条件を満たすと判定することができる。これにより、タイムスロットの出現頻度に基づき、一定数以上の発信元から継続的に送信されているリクエストを判定することが可能となる。
【００８９】
判定部１５２は、特定のリクエストの送信日時を含んだ期間を複数のタイムスロットに分割し、タイムスロットごとに特定のリクエストの送信元アドレスの種類の数をカウントし、送信元アドレスの種類の数が閾値以上であるタイムスロットが所定の数以上連続している場合、特定のリクエストが所定の条件を満たすと判定することができる。これにより、タイムスロットの出現の連続性に基づき、一定数以上の発信元から継続的に送信されているリクエストを判定することが可能となる。
【００９０】
判定部１５２で用いられる所定の条件は、特定のリクエストの送信日時の間隔短く、特定のリクエストの送信元アドレスの種類が多いほど満たされやすいものであってもよい。これにより、Ｗｅｂサイトの変更時に現れやすい傾向を基に条件を設定し、一定数以上の発信元から継続的に送信されているリクエストを判定することが可能となる。
【００９１】
［プログラム］
一実施形態として、学習装置１０は、パッケージソフトウェアやオンラインソフトウェアとして上記の再学習要否判定を実行する再学習要否判定プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の再学習要否判定プログラムを情報処理装置に実行させることにより、情報処理装置を学習装置１０として機能させることができる。ここで言う情報処理装置には、デスクトップ型又はノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やＰＨＳ（Personal  Handyphone  System）等の移動体通信端末、さらには、ＰＤＡ（Personal  Digital  Assistant）等のスレート端末等がその範疇に含まれる。
【００９２】
また、学習装置１０は、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の再学習要否判定に関するサービスを提供する学習サーバ装置として実装することもできる。例えば、学習サーバ装置は、分析対象のＨＴＴＰリクエストを入力とし、再学習の要否、及び再学習対象のＨＴＴＰリクエストを出力とする学習サービスを提供するサーバ装置として実装される。この場合、学習サーバ装置は、Ｗｅｂサーバとして実装することとしてもよいし、アウトソーシングによって上記の再学習要否判定に関するサービスを提供するクラウドとして実装することとしてもかまわない。
【００９３】
図２５は、プログラムが実行されることにより学習装置が実現されるコンピュータの一例を示す図である。コンピュータ１０００は、例えば、メモリ１０１０、ＣＰＵ１０２０を有する。また、コンピュータ１０００は、ハードディスクドライブインタフェース１０３０、ディスクドライブインタフェース１０４０、シリアルポートインタフェース１０５０、ビデオアダプタ１０６０、ネットワークインタフェース１０７０を有する。これらの各部は、バス１０８０によって接続される。
【００９４】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１及びＲＡＭ（Random  Access  Memory）１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１１００に挿入される。シリアルポートインタフェース１０５０は、例えばマウス１１１０、キーボード１１２０に接続される。ビデオアダプタ１０６０は、例えばディスプレイ１１３０に接続される。
【００９５】
ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、学習装置１０の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール１０９３として実装される。プログラムモジュール１０９３は、例えばハードディスクドライブ１０９０に記憶される。例えば、学習装置１０における機能構成と同様の処理を実行するためのプログラムモジュール１０９３が、ハードディスクドライブ１０９０に記憶される。なお、ハードディスクドライブ１０９０は、ＳＳＤにより代替されてもよい。
【００９６】
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ１０９４として、例えばメモリ１０１０やハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して実行する。
【００９７】
なお、プログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、プログラムモジュール１０９３及びプログラムデータ１０９４は、ネットワーク（ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール１０９３及びプログラムデータ１０９４は、他のコンピュータから、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【符号の説明】
【００９８】
１０  学習装置
１１  入力部
１２  制御部
１３  プロファイル
１４  検知結果
１５  再学習要否判定部
１６  再学習対象データＨＴＴＰリクエスト
２０  分析データＨＴＴＰリクエスト
３０  学習データＨＴＴＰリクエスト
１１１  分析対象データ入力部
１１２  学習データ入力部
１２１  パラメータ抽出部
１２２  文字クラス列変換部
１２３  異常検知部
１２４  プロファイル保存部
１５１  抽出部
１５２  判定部
【図１】
0006714143.tif 000002
【図２】
0006714143.tif 000003
【図３】
0006714143.tif 000004
【図４】
0006714143.tif 000005
【図５】
0006714143.tif 000006
【図６】
0006714143.tif 000007
【図７】
0006714143.tif 000008
【図８】
0006714143.tif 000009
【図９】
0006714143.tif 000010
【図１０】
0006714143.tif 000011
【図１１】
0006714143.tif 000012
【図１２】
0006714143.tif 000013
【図１３】
0006714143.tif 000014
【図１４】
0006714143.tif 000015
【図１５】
0006714143.tif 000016
【図１６】
0006714143.tif 000017
【図１７】
0006714143.tif 000018
【図１８】
0006714143.tif 000019
【図１９】
0006714143.tif 000020
【図２０】
0006714143.tif 000021
【図２１】
0006714143.tif 000022
【図２２】
0006714143.tif 000023
【図２３】
0006714143.tif 000024
【図２４】
0006714143.tif 000025
【図２５】
0006714143.tif 000026