(57)【特許請求の範囲】
【請求項１】
複数のＷｅｂサーバへのアクセスログのＵＲＩを、複数のＵＲＩ間で類似する表記を統一して正規化済ＵＲＩに変更する正規化部と、
送信元が同一の前記アクセスログのうち、異なる宛先の同一の前記正規化済ＵＲＩを対象とした、所定のレスポンスコードであるアクセスログの割合を算出する算出部と、
前記正規化済ＵＲＩのそれぞれについて、算出された前記割合の最大値が所定の閾値以上の場合に、該正規化済ＵＲＩをスキャンの対象のＵＲＩと判定する判定部と、
を備えることを特徴とする検知装置。
【請求項２】
前記判定部によりスキャンの対象と判定されたＵＲＩから、既知のスキャンの対象のＵＲＩを除外する除外部をさらに備えることを特徴とする請求項１に記載の検知装置。
【請求項３】
前記判定部によりスキャンの対象と判定されたＵＲＩに、既知のＷｅｂアプリケーション名が含まれていた場合に、該Ｗｅｂアプリケーション名を出力するアプリ名照合部をさらに備えることを特徴とする請求項１に記載の検知装置。
【請求項４】
前記判定部によりスキャンの対象と判定されたＵＲＩが、既知のＷｅｂアプリケーションのリソースのディレクトリ構造と一致する場合に、該ＷｅｂアプリケーションのＷｅｂ
アプリケーション名を出力する構造照合部をさらに備えることを特徴とする請求項１に記載の検知装置。
【請求項５】
送信元ごとの前記アクセスログの対象の前記正規化済ＵＲＩのセットの類似度が所定の閾値以上の場合に、異なる前記送信元を同一のグループに含める送信元グループ化部をさらに備え、
前記算出部は、同一の前記グループに含まれる送信元を同一の送信元とみなして、前記割合を算出することを特徴とする請求項１に記載の検知装置。
【請求項６】
コンピュータに、請求項１〜５のいずれか１項に記載の検知装置として機能させるための検知プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検知装置および検知プログラムに関する。
【背景技術】
【０００２】
Ｗｅｂサーバの攻撃を行おうとする攻撃者が、攻撃対象となり得る脆弱なＷｅｂサーバを探すために、Ｗｅｂアプリケーションのスキャンを行う場合がある。スキャンとは、脆弱なＷｅｂアプリケーションに存在するＵＲＩ（Uniform  Resource  Identifier）を、標的のＷｅｂサーバにリクエストした際のレスポンスによって、脆弱なＷｅｂアプリケーションの有無を調査する行為のことである。このような攻撃者によるスキャン行為を早期に検知できれば、攻撃者が標的としているＷｅｂアプリケーションを特定して対策を施すことが可能となる。【０００３】
従来、例えば、ＯＳＳ（Open  Source  Software）のＳｎｏｒｔ等で用いられているシグネチャマッチによる検知技術が知られている。この技術では、通常のＷｅｂトラフィックやハニーポット等での観測から得られたシグネチャを利用して、スキャンが検知される。また、悪意のあるＷｅｂアクセスはＨＴＴＰレスポンスコードに特徴が表れることが知られている（非特許文献１参照）。これを応用することで、ＨＴＴＰレスポンスに基づいてスキャンを検知することができる。例えば、スキャンによるＷｅｂアクセスに対するＨＴＴＰのレスポンスコードの多くが「ページが存在しない」ことを示す４０４であることから、この技術では、レスポンスコードが４０４のアクセスがスキャンとして抽出される。【０００４】
また、Ｗｅｂページのアクセス順序・間隔に基づいて攻撃等の異常なＷｅｂアクセスを検知する技術が知られている（非特許文献２、３参照）。この技術を応用することで、通常のユーザがＷｅｂサーバにアクセスした際のＷｅｂページの遷移の順序やパターンと大きく異なるアクセスがスキャンとして検知される。また、ＵＲＩの共起性に基づく検知技術が知られている（非特許文献４参照）。攻撃者はスキャンの際に同じＩＰアドレスから複数のＷｅｂサーバに対して同じＵＲＩをリクエストする傾向がある。そこでこの技術では、複数のＷｅｂサーバに対するアクセスの中で共起しているＵＲＩがスキャンの対象として検出される。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Katerina  Goseva-Popstojanova，Goce  Anastasovski，Risto  Pantev，“Classification  of  malicious  Web  sessions”，ICCCN，2012年
【非特許文献２】Kruegel  Christopher，Giovanni  Vigna，William  Robertson，“A  multi-model  approach  to  the  detection  of  web-based  attacks”，In  Computer  Networks，2005年
【非特許文献３】Sanghyun  Cho，Sungdeok  Cha，“SAD:  web  session  anomaly  detection  based  on  parameter  estimation”，Computers  &  Security，2004年
【非特許文献４】鐘揚，折原慎吾，谷川真樹，嶋田創，村瀬勉，高倉弘喜，大嶋嘉人，“URIの共起性検知に基づくWebスキャンの実態調査”，電子情報通信学会技術報告，2016年
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の技術では、検知されるべきスキャン行為を検知できない場合や誤検知する場合がある。例えば、シグネチャマッチによる検知技術では、事前にシグネチャとして登録されていないスキャンを検知することはできない。また、ＨＴＴＰレスポンスに基づく検知技術では、エラーとなってしまう正常なＷｅｂアクセスをスキャンと誤検知する場合がある。例えば、Ｗｅｂページ内のリンク先が誤っている場合や、「/favicon.ico」等のように、Ｗｅｂブラウザの機能によりファイルの有無に関わらず自動的にアクセスされる場合等には、誤検知が生じ得る。【０００７】
また、Ｗｅｂページのアクセス順序・間隔に基づく検知技術では、攻撃者がページのアクセス順序を調整したりアクセス間隔を広げたりすることにより、スキャンの検知を回避できてしまう。また、ＵＲＩの共起性に基づく検知技術では、広く一般にＷｅｂサーバで利用されている「/」、「/index.php」等のＵＲＩがスキャンの対象と誤検知される場合がある。また、この技術では、スキャンの対象にも正常なアクセスの対象にもなっているＵＲＩの検知は困難である。【０００８】
本発明は、上記に鑑みてなされたものであって、攻撃者のスキャン行為を精度高く検知することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明に係る検知装置は、複数のＷｅｂサーバへのアクセスログのＵＲＩを、複数のＵＲＩ間で類似する表記を統一して正規化済ＵＲＩに変更する正規化部と、送信元が同一の前記アクセスログのうち、異なる宛先の同一の前記正規化済ＵＲＩを対象とした、所定のレスポンスコードであるアクセスログの割合を算出する算出部と、前記正規化済ＵＲＩのそれぞれについて、算出された前記割合の最大値が所定の閾値以上の場合に、該正規化済ＵＲＩをスキャンの対象と判定する判定部と、を備えることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、攻撃者のスキャン行為を精度高く検知することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】図１は、本実施形態の検知装置を含むシステムを説明するための図である。
【図２】図２は、検知装置の概略構成を例示する模式図である。
【図３】図３は、正規化部の処理を説明するための説明図である。
【図４】図４は、算出部および判定部の処理を説明するための説明図である。
【図５】図５は、検知処理手順を示すフローチャートである。
【図６】図６は、第２の実施形態の検知装置の概略構成を例示する模式図である。
【図７】図７は、送信元グループ化部の処理を説明するための説明図である。
【図８】図８は、除外部の処理を説明するための図である。
【図９】図９は、アプリ名照合部の処理を説明するための図である。
【図１０】図１０は、構造照合部の処理を説明するための図である。
【図１１】図１１は、検知プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
【００１３】
［第１の実施形態］
［システム構成］
図１は、本実施形態の検知装置を含むシステムを説明するための図である。様々なＷｅｂアプリケーションがインターネットを介して公開されている。このＷｅｂアプリケーションが稼働する多数のＷｅｂサーバ１が、図１に示すように、会社等の組織のネットワークｎに構築され、ゲートウェイ２を介してインターネットＮに接続されている。ユーザは、インターネットＮを介してＷｅｂサーバ１にアクセスして、Ｗｅｂアプリケーションを利用する。
【００１４】
このシステムにおいて、検知装置１０は、ゲートウェイ２等から、正常なユーザや攻撃者の同一のネットワークに存在するＷｅｂサーバ１群へのアクセスログを取得して、後述する検知処理を実行することにより、アクセスログから攻撃者のスキャン行為を検知する。
【００１５】
［検知装置の構成］
図２は、検知装置の概略構成を例示する模式図である。検知装置１０では、汎用コンピュータのＣＰＵ（Central  Processing  Unit）等を用いて実現される制御部が、図２に示すように、正規化部１１、算出部１２、および判定部１３として機能する。なお、これらの機能部は、それぞれあるいは一部が異なるハードウェアに実装されてもよい。
【００１６】
また、検知装置１０では、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される記憶部に、アクセスログ１４が記憶される。
【００１７】
ここで、アクセスログ１４は、予め、例えばゲートウェイ２等から取得された多数のＷｅｂサーバ１に対する多数のＨＴＴＰアクセスログが蓄積されたものである。各アクセスログには、リクエストの送信元ＩＰアドレスおよび送信先ＩＰアドレスと、リクエストの対象のＵＲＩと、アクセスに対するレスポンスコードとが含まれる。
【００１８】
正規化部１１は、複数のＷｅｂサーバ１へのアクセスログのＵＲＩを、複数のＵＲＩ間で類似する表記を統一して正規化済ＵＲＩに変更する。具体的には、正規化部１１は、ＵＲＩ中のＷｅｂアプリケーションのバージョン違いや大文字小文字等の違いを統一することにより、類似した表記のＵＲＩを統一する正規化を行う。この正規化により、検知装置１０は、以降の処理において、Ｗｅｂアプリケーション単位等のまとまった単位での処理が可能となる。
【００１９】
ここで、図３は、正規化部１１の処理を説明するための図である。例えば、図３に示すように、正規化部１１は、ＵＲＩ中でＷｅｂアプリケーションのバージョンを表す「２．１．１」、「３」、「３．１」等の連続した数字を全て削除する。また、正規化部１１は、ＵＲＩ中のアルファベットの大文字を全て小文字に統一する。また、正規化部１１は、ＵＲＩ中の「？」以降のクエリ部を削除する。
【００２０】
図３に示した例では、正規化部１１は、「/phpMyAdmin2.1.1/setup.php」、「/phpMyAdmin3/setup.php」、「/phpmyadmin3.1/setup.php」、「/phpmyadmin2/setup.php?param=xx」等のＵＲＩを、同一の正規化済ＵＲＩ「/phpmyadmin/setup.php」に変更している。
【００２１】
図２の説明に戻る。算出部１２は、送信元が同一のアクセスログのうち、異なる宛先の同一の正規化済ＵＲＩを対象とした、所定のレスポンスコードであるアクセスログの割合を、送信元ＩＰアドレスのスコアとして算出する。例えば、算出部１２は、送信元ＩＰアドレスのスコアとして、この送信元のアクセスログのうち、異なる送信先ＩＰアドレスへの同一の正規化済ＵＲＩをリクエストの対象とした、レスポンスコードが３００以上であるアクセスログの割合を算出する。レスポンスコードが３００以上のアクセスログとは、スキャンである可能性のある正常ではないリクエストであることを意味している。
【００２２】
また、判定部１３は、正規化済ＵＲＩのそれぞれについて、算出された送信元ＩＰアドレスのスコアの最大値である正規化済ＵＲＩのスコアが所定の閾値以上の場合に、該正規化済ＵＲＩをスキャンの対象のＵＲＩと判定する。例えば、閾値が０．５であれば、判定部１３は、正規化済ＵＲＩのスコアが０．５以上である場合に、この正規化済ＵＲＩをスキャンの対象のＵＲＩと判定する。
【００２３】
このように、判定部１３が、送信元ＩＰアドレスのスコアの最大値を用いてスキャン行為を判定することにより、多数の正常なユーザの中でも一人の攻撃者によるスコアの高いスキャン行為を検知することが可能となる。
【００２４】
ここで、図４は、算出部１２および判定部１３の処理を説明するための図である。図４（ａ）には、正規化部１１でＵＲＩが正規化されたアクセスログが例示されている。このアクセスログを処理対象として、まず、算出部１２が、送信元ＩＰアドレスごとに、この送信元ＩＰアドレスのスコアとして、同一の正規化済ＵＲＩを対象とした、レスポンスコードが３００以上のアクセスログの割合を算出する。
【００２５】
例えば、図４（ａ）に示す領域ａ１には、送信元ＩＰアドレス「X.X.X.X」のアクセスログのうち、異なる送信先ＩＰアドレスへの同一の正規化済ＵＲＩ「/phpmyadmin/setup.php」をリクエストの対象としたアクセスログが例示されている。また、図４（ａ）に示す領域ａ２には、送信元ＩＰアドレス「X.X.X.X」の５つのアクセスログのうち、３００以上であるレスポンスコードが例示されている。この場合に、異なる送信先ＩＰアドレスへの同一の正規化済ＵＲＩ「/phpmyadmin/setup.php」をリクエストの対象とした、レスポンスコードが３００以上のアクセスログは３つである。したがって、算出部１２は、図４（ｂ）に示すように、送信元ＩＰアドレス「X.X.X.X」のスコアを０．６と算出する。
【００２６】
同様に、図４（ａ）に示す送信元ＩＰアドレス「Y.Y.Y.Y」の２つのアクセスログのうち、異なる送信先ＩＰアドレスへの同一の正規化済ＵＲＩをリクエストの対象とした、レスポンスコードが３００以上のアクセスログは０である。したがって、算出部１２は、図４（ｂ）に示すように、送信元ＩＰアドレス「Y.Y.Y.Y」のスコアを０．０と算出する。
【００２７】
この場合に、判定部１３は、図４（ｃ）に示すように、各正規化済ＵＲＩを対象としたアクセスログの送信元ＩＰアドレスのスコアの最大値を、各正規化済ＵＲＩのスコアとする。例えば、判定部１３は、正規化済ＵＲＩ「/phpmyadmin/setup.php」のスコアとして、送信元ＩＰアドレス「X.X.X.X」のスコア０．６、送信元ＩＰアドレス「Y.Y.Y.Y」のスコア０．０のうちの最大値である０．６を算出している。
【００２８】
そして判定部１３は、正規化済ＵＲＩのスコアが所定の閾値以上の場合に、この正規化済ＵＲＩをスキャンの対象のＵＲＩと判定する。図４に示す例では、閾値は０．５とされている。その結果、図４（ｃ）の領域ｃ１に示すように、ＵＲＩ「/phpmyadmin/setup.php」およびＵＲＩ「/scripts/setup.php」が、スキャンの対象のＵＲＩと判定されている。
【００２９】
［検知処理］
次に、図５を参照して、本実施形態に係る検知装置１０による検知処理について説明する。図５は、検知処理手順を示すフローチャートである。図５のフローチャートは、例えば、ユーザが検知処理の開始を指示する操作入力を行ったタイミングで開始される。
【００３０】
まず、正規化部１１が、複数のＷｅｂサーバ１へのアクセスログ１４を読み込んで（ステップＳ１）、リクエストを示す各アクセスログに対して、ステップＳ３の処理を繰り返す（ステップＳ２）。ステップＳ３の処理では、正規化部１１は、アクセスログのＵＲＩを、複数のＵＲＩ間で類似する表記を統一して正規化済ＵＲＩに変更する。具体的には、正規化部１１は、ＵＲＩ中のＷｅｂアプリケーションのバージョン違いや大文字小文字等の違いを統一することにより、類似した表記のＵＲＩを統一する正規化を行う。
【００３１】
次に、算出部１２が、送信元ＩＰアドレスに対して、ステップＳ５の処理を繰り返す（ステップＳ４）。ステップＳ５の処理では、算出部１２が、送信元が同一のアクセスログのうち、異なる宛先の同一の正規化済ＵＲＩを対象とした、所定のレスポンスコードであるアクセスログの割合を、送信元ＩＰアドレスのスコアとして算出する。例えば、算出部１２は、送信元ＩＰアドレスのスコアとして、この送信元のアクセスログのうち、異なる送信先ＩＰアドレスへの同一の正規化済ＵＲＩをリクエストの対象とした、レスポンスコードが３００以上である正常な処理ではないアクセスログの割合を算出する。
【００３２】
次に、判定部１３が、各正規化済ＵＲＩに対して、ステップＳ７の処理を繰り返す（ステップＳ６）。ステップＳ７の処理では、判定部１３が、正規化済ＵＲＩのそれぞれについて、算出された送信元ＩＰアドレスのスコアの最大値を正規化済ＵＲＩのスコアとして算出する。
【００３３】
そして、判定部１３は、正規化済ＵＲＩのスコアが所定の閾値以上の場合に、該正規化済ＵＲＩをスキャンの対象のＵＲＩと判定する（ステップＳ８）。例えば、判定部１３は、正規化済ＵＲＩのスコアが０．５以上であった場合に、この正規化済ＵＲＩをスキャンの対象のＵＲＩと判定する。検知装置１０は、判定結果のＵＲＩをディスプレイや他の装置に出力する。これにより、一連の検知が終了する。
【００３４】
以上、説明したように、本実施形態の検知装置１０において、正規化部１１が、複数のＷｅｂサーバ１へのアクセスログのＵＲＩを、複数のＵＲＩ間で類似する表記を統一して正規化済ＵＲＩに変更する。また、算出部１２が、送信元が同一のアクセスログのうち、異なる宛先の同一の正規化済ＵＲＩを対象とした、所定のレスポンスコードであるアクセスログの割合を算出する。また、判定部１３が、正規化済ＵＲＩのそれぞれについて、算出された割合の最大値が所定の閾値以上の場合に、該正規化済ＵＲＩをスキャンの対象と判定する。
【００３５】
これにより、本実施形態の検知装置１０は、Ｗｅｂアプリケーション単位等のまとまった単位でスキャン行為の解析を行うことが可能となる。また、検知装置１０は、算出された割合の最大値を用いてスキャン行為を判定することにより、多数の正常なユーザの中での一人の攻撃者によるスキャン行為を検知することが可能となる。このように、検知装置１０は、ＵＲＩの共起性とレスポンスコードとを併せて用いることにより、従来は検知できなかったスキャンの検知や、誤検知を低減し、攻撃者のスキャン行為を精度高く検知することが可能となる。
【００３６】
［第２の実施形態］
本発明の検知装置１０は、上記実施形態に限定されず、上記実施形態の構成（図２参照）に加え、以下に説明する機能部を含んで構成されてもよい。図６は、第２の実施形態に係る検知装置の概略構成を例示する模式図である。図６に示すように、本実施形態の検知装置１０は、送信元グループ化部１５、除外部１６、アプリ名照合部１８、または構造照合部２０の一部または全てを制御部に含む。制御部に除外部１６が含まれる場合には、記憶部に検出済情報ＤＢ１７が記憶される。また、制御部にアプリ名照合部１８が含まれる場合には、記憶部にアプリ名ＤＢ１９が記憶される。なお、上記実施形態と同様の機能部については、説明を省略する。
【００３７】
送信元グループ化部１５は、送信元ごとのアクセスログの対象の正規化済ＵＲＩのセットの類似度が所定の閾値以上の場合に、異なる送信元を同一のグループに含める。具体的には、送信元グループ化部１５は、まず、アクセスログの送信元ＩＰアドレスごとに、リクエストの対象の正規化済ＵＲＩのリストを作成する。そして、送信元グループ化部１５は、異なる送信元ＩＰアドレスについてのリストに含まれる正規化済ＵＲＩのセットの類似度Ｓを、例えば、次式（１）により算出する。
【００３８】
【数１】
0006930667.tif 000002
【００３９】
送信元グループ化部１５は、類似度Ｓが所定の閾値以上である場合に、送信元を同一とみなし、それらの送信元ＩＰアドレスを同一のグループに含める。
【００４０】
その場合には、算出部１２は、同一のグループに含まれる送信元を同一の送信元とみなして上記の処理を行って、送信元ＩＰアドレスのスコアを算出する。これにより、検知装置１０は、攻撃者が複数のＩＰアドレスを使い分けたり、ボットネットを用いてＷｅｂスキャンを行なったりした場合にも、スキャン行為を検知することが可能となる。
【００４１】
ここで、図７は、送信元グループ化部１５の処理を説明するための図である。送信元グループ化部１５は、まず、図７（ａ）に示すように、アクセスログの送信元ＩＰアドレスごとに、リクエストの対象の正規化済ＵＲＩのリストを作成する。
【００４２】
次に、送信元グループ化部１５は、異なる送信元ＩＰアドレスについてのリストに含まれる正規化済ＵＲＩのセットの類似度を算出し、類似度が所定の閾値以上の場合に、それらの送信元ＩＰアドレスを同一のグループに含める。なお、送信元グループ化部１５は、類似度が所定の閾値以上のグループが複数あった場合には、それらの送信元ＩＰアドレスを最も類似度の高いグループに含める。また、送信元グループ化部１５は、最も類似度の高いグループが複数あった場合には、それらの送信元ＩＰアドレスをその全てのグループに含める。
【００４３】
例えば、送信元グループ化部１５は、図７（ｂ）に示すように、グループ１を作成し、送信元ＩＰアドレス「A.A.A.A」をグループ１に含める。そして、送信元グループ化部１５は、送信元ＩＰアドレス「B.B.B.B」の正規化済ＵＲＩのセットについて、グループ１の正規化済ＵＲＩのセットとの類似度を算出する。
【００４４】
図７（ｂ）に示す例では、グループ１の正規化済ＵＲＩのセットは｛/aaa、/bbb｝であり、送信元ＩＰアドレス「B.B.B.B」の正規化済ＵＲＩのセットは｛/ccc｝であるので、上記式（１）により、類似度Ｓ＝０／３と算出される。閾値を２／３とした場合に、算出された類似度Ｓは閾値未満であるので、送信元グループ化部１５は、図７（ｃ）に示すように、送信元ＩＰアドレス「B.B.B.B」をグループ１には含めずに、新たなグループ２に含める。
【００４５】
同様にして、送信元グループ化部１５は、送信元ＩＰアドレス「C.C.C.C」について、グループ１およびグループ２との類似度Ｓを算出する。図７（ｃ）に示す例では、送信元ＩＰアドレス「C.C.C.C」の正規化済ＵＲＩのセットは｛/aaa、/bbb、/ddd｝であり、グループ１の正規化済ＵＲＩのセットは｛/aaa、/bbb｝であるので、グループ１との類似度Ｓ＝２／３と算出される。また、グループ２の正規化済ＵＲＩのセットは｛/ccc｝であるので、類似度Ｓ＝０／４と算出される。したがって、送信元グループ化部１５は、図７（ｄ）に示すように、送信元ＩＰアドレス「C.C.C.C」を、類似度Ｓが閾値以上であるグループ１に含める。
【００４６】
このようにして同一の送信元グループに含められた送信元ＩＰアドレス「A.A.A.A」と送信元ＩＰアドレス「C.C.C.C」とは、同一の送信元とみなされる。この場合には、算出部１２は、上記の送信元ＩＰアドレスのスコアとして、送信元グループごとのスコアを算出する。
【００４７】
このように、送信元グループ化部１５が、送信元ごとのアクセスログの対象の正規化済ＵＲＩのセットの類似度が所定の閾値以上の場合に、異なる送信元を同一のグループに含める。この場合に、算出部１２は、同一のグループに含まれる送信元を同一の送信元とみなして、送信元のスコアである割合を算出する。これにより、検知装置１０は、攻撃者が複数のＩＰアドレスを使い分けたり、ボットネットを用いてＷｅｂスキャンを行なったりした場合にも、より精度高くスキャン行為を検知することが可能となる。
【００４８】
図６の説明に戻る。除外部１６は、判定部１３によりスキャンの対象と判定されたＵＲＩから、既知のスキャンの対象のＵＲＩを除外する。
【００４９】
ここで、図８は、除外部１６の処理を説明するための図である。検知装置１０は、図８（ｂ）に例示するように、過去にスキャンの対象と判定されたＵＲＩや既知の攻撃情報におけるスキャンの対象のＵＲＩを、検出済情報ＤＢ１７に記憶している。
【００５０】
そこで、除外部１６は、判定部１３によりスキャンの対象と判定された、図８（ａ）に例示したＵＲＩを、図８（ｂ）に例示した検出済情報ＤＢ１７のＵＲＩを用いてフィルタリングする。その結果、残ったＵＲＩは、新たにスキャンの対象と検知された未知のＵＲＩである。したがって、除外部１６は、図８（ｃ）に例示するように、未知のスキャン対象のＵＲＩを抽出することができる。
【００５１】
なお、除外部１６は、抽出した未知のスキャン対象のＵＲＩを用いて、図８（ｄ）に示すように、検出済情報ＤＢ１７を更新する。図８に示す例では、例えば、判定部１３により検知されたスキャン対象のＵＲＩ「/eee」は、検出済情報ＤＢ１７に記憶されていないことから、未知のスキャン対象のＵＲＩとして抽出され、新たに検出済情報ＤＢ１７に記憶されている。
【００５２】
このように、除外部１６が、判定部１３によりスキャンの対象と判定されたＵＲＩから、既知のスキャンの対象のＵＲＩを除外する。これにより、検知装置１０は、新たにスキャンの対象となった未知のＵＲＩを検知することが可能となる。
【００５３】
図６の説明に戻る。アプリ名照合部１８は、判定部１３によりスキャンの対象と判定されたＵＲＩに、既知のＷｅｂアプリケーション名が含まれていた場合に、該Ｗｅｂアプリケーション名を出力する。
【００５４】
ここで、図９は、アプリ名照合部１８の処理を説明するための図である。検知装置１０は、図９（ｂ）に示すように、外部のオープンソースソフトウェア（ＯＳＳ）情報サイト等からＷｅｂアプリケーション名の一覧を取得して、アプリ名ＤＢ１９に記憶している。その際に、正規化部１１が、取得されたＷｅｂアプリケーション名の正規化を行う。すなわち、正規化部１１は、正規化済ＵＲＩとの照合のため、Ｗｅｂアプリケーション名に対し、ＵＲＩ中のＷｅｂアプリケーションと同様に、バージョン違いや大文字小文字等の違いの統一を行う。
【００５５】
そして、アプリ名照合部１８は、判定部１３によりスキャンの対象と判定された、図９（ａ）に例示したＵＲＩに、図９（ｂ）に例示したアプリ名ＤＢ１９のＷｅｂアプリケーション名が含まれているか否かを確認する。スキャン対象と判定されたＵＲＩにＷｅｂアプリケーション名が含まれていた場合には、アプリ名照合部１８は、図９（ｃ）に例示するように、そのＷｅｂアプリケーション名とスキャン対象のＵＲＩとを対応付けて、不図示のディスプレイや外部装置等に出力する。これにより、検知装置１０は、スキャンの標的となっているＷｅｂアプリケーションを推定することが可能となる。
【００５６】
図９に示す例では、例えば、判定部１３により検知されたスキャン対象のＵＲＩ「/aaa/bbb/ccc/」と「/aaa/ddd/eee/」とに、アプリ名ＤＢ１９のＷｅｂアプリケーション名「aaa」が含まれている。したがって、このＷｅｂアプリケーション「aaa」がスキャンの標的となっていることが推定されている。
【００５７】
このように、アプリ名照合部１８が、判定部１３によりスキャンの対象と判定されたＵＲＩに、既知のＷｅｂアプリケーション名が含まれていた場合に、該Ｗｅｂアプリケーション名を出力する。これにより、検知装置１０は、スキャンの標的とされたＷｅｂアプリケーションを推定することが可能となる。
【００５８】
なお、アプリ名照合部１８は、スキャン対象と判定されたＵＲＩにＷｅｂアプリケーション名が含まれていない場合には、Ｗｅｂアプリケーション名を特定できない。その場合には、本実施形態の検知装置１０は、後述する構造照合部２０によって、Ｗｅｂアプリケーション名を推定することが可能となる。
【００５９】
図６の説明に戻る。構造照合部２０は、判定部１３によりスキャンの対象と判定されたＵＲＩが、既知のＷｅｂアプリケーションのリソースのディレクトリ構造と一致する場合に、該ＷｅｂアプリケーションのＷｅｂアプリケーション名を出力する。
【００６０】
ここで、図１０は、構造照合部２０の処理を説明するための図である。構造照合部２０は、外部のＯＳＳ情報サイト等のソースコード情報から、図１０（ａ）に例示するように、Ｗｅｂアプリケーションリソースのディレクトリ構造を取得する。そして、構造照合部２０は、判定部１３によりスキャンの対象と判定された、図１０（ｂ）に例示したＵＲＩに、図１０（ａ）と同様のディレクトリ構造がある場合に、該当のＷｅｂアプリケーションのＵＲＩであると推定する。
【００６１】
その場合に、構造照合部２０は、図１０（ｃ）に例示するように、そのＷｅｂアプリケーション名とスキャン対象のＵＲＩとを対応付けて、不図示のディスプレイや外部装置等に出力する。このように、検知装置１０は、ＵＲＩにＷｅｂアプリケーション名が含まれていない場合にも、スキャンの標的となっているＷｅｂアプリケーションを推定することが可能となる。
【００６２】
図１０に示す例では、例えば、判定部１３により検知されたスキャン対象のＵＲＩ「/aaa/bbb/ccc/」と「/aaa/fff」とのディレクトリ構造が、Ｗｅｂアプリケーション「XXX」のリソースのディレクトリ構造と一致している。したがって、このＷｅｂアプリケーション「XXX」がスキャンの標的となっていることが推定されている。
【００６３】
このように、構造照合部２０が、判定部１３によりスキャンの対象と判定されたＵＲＩが、既知のＷｅｂアプリケーションのリソースのディレクトリ構造と一致する場合に、該ＷｅｂアプリケーションのＷｅｂアプリケーション名を出力する。これにより、検知装置１０は、ＵＲＩにＷｅｂアプリケーション名が含まれていない場合にも、スキャンの標的となっているＷｅｂアプリケーションを推定することが可能となる。
【００６４】
［プログラム］
上記実施形態に係る検知装置１０が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。一実施形態として、検知装置１０は、パッケージソフトウェアやオンラインソフトウェアとして上記の検知処理を実行する検知プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の検知プログラムを情報処理装置に実行させることにより、情報処理装置を検知装置１０として機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やＰＨＳ（Personal  Handyphone  System）などの移動体通信端末、さらには、ＰＤＡ（Personal  Digital  Assistant）などのスレート端末などがその範疇に含まれる。また、検知装置１０の機能を、クラウドサーバに実装してもよい。
【００６５】
図１１は、検知プログラムを実行するコンピュータの一例を示す図である。コンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有する。これらの各部は、バス１０８０によって接続される。
【００６６】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１およびＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０３１に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１０４１に接続される。ディスクドライブ１０４１には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース１０５０には、例えば、マウス１０５１およびキーボード１０５２が接続される。ビデオアダプタ１０６０には、例えば、ディスプレイ１０６１が接続される。
【００６７】
ここで、ハードディスクドライブ１０３１は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３およびプログラムデータ１０９４を記憶する。上記実施形態で説明した各情報は、例えばハードディスクドライブ１０３１やメモリ１０１０に記憶される。
【００６８】
また、検知プログラムは、例えば、コンピュータ１０００によって実行される指令が記述されたプログラムモジュール１０９３として、ハードディスクドライブ１０３１に記憶される。具体的には、上記実施形態で説明した検知装置１０が実行する各処理が記述されたプログラムモジュール１０９３が、ハードディスクドライブ１０３１に記憶される。
【００６９】
また、検知プログラムによる情報処理に用いられるデータは、プログラムデータ１０９４として、例えば、ハードディスクドライブ１０３１に記憶される。そして、ＣＰＵ１０２０が、ハードディスクドライブ１０３１に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して、上述した各手順を実行する。
【００７０】
なお、検知プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０３１に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ１０４１等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、検知プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ＬＡＮやＷＡＮ（Wide  Area  Network）等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【００７１】
以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述および図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例および運用技術等は全て本発明の範疇に含まれる。
【符号の説明】
【００７２】
１０  検知装置
１１  正規化部
１２  算出部
１３  判定部
１４  アクセスログ
１５  送信元グループ化部
１６  除外部
１７  検出済情報ＤＢ
１８  アプリ名照合部
１９  アプリ名ＤＢ
２０  構造照合部
【図１】
0006930667.tif 000003
【図２】
0006930667.tif 000004
【図３】
0006930667.tif 000005
【図４】
0006930667.tif 000006
【図５】
0006930667.tif 000007
【図６】
0006930667.tif 000008
【図７】
0006930667.tif 000009
【図８】
0006930667.tif 000010
【図９】
0006930667.tif 000011
【図１０】
0006930667.tif 000012
【図１１】
0006930667.tif 000013