(57)【特許請求の範囲】
【請求項１】
複数のウェブサーバとネットワークを介して相互に接続されたブラックリスト抽出装置であって、
前記各ウェブサーバで記録されたアクセス情報を収集して、これを予め備えられた記憶手段にアクセスログとして記憶させるアクセスログ収集部と、
予め与えられた検知条件に基づいて、前記アクセスログに記録された前記アクセス情報から、同一のアクセス元ＩＰアドレスから複数の前記ウェブサーバに対して同一の文字列を含むリクエストが前記検知条件で定められた時間範囲内に送信されていることが検出された場合に、これをブラックリストとして抽出する攻撃情報抽出部と、
前記リクエストにどの開発言語のコマンドが含まれているかを特定し、特定された前記開発言語が前記ウェブサーバの開発言語と異なっているか否かを判定する言語種類判定部と、
抽出された前記ブラックリストを出力するブラックリスト出力部とを備え、
前記攻撃情報抽出部が前記リクエストと前記ウェブサーバとの間で前記開発言語が異なっている場合にこれを前記ブラックリストとして抽出することを特徴とするブラックリスト抽出装置。
【請求項２】
複数のウェブサーバとネットワークを介して相互に接続されたブラックリスト抽出装置にあって、
前記各ウェブサーバで記録されたアクセス情報をアクセスログ収集部が収集して、これを予め備えられた記憶手段にアクセスログとして記憶させ、
予め与えられた検知条件に基づいて、前記アクセスログに記録された前記アクセス情報から、同一のアクセス元ＩＰアドレスから複数の前記ウェブサーバに対して同一の文字列を含むリクエストが前記検知条件で定められた時間範囲内に送信されていることが検出された場合に、これを攻撃情報抽出部がブラックリストとして抽出し、
前記リクエストにどの開発言語のコマンドが含まれているかを言語種類判定部が特定すると共にこの開発言語が前記ウェブサーバの開発言語と異なっているか否かを判定し、
前記攻撃情報抽出部が、前記リクエストと前記ウェブサーバとの間で前記開発言語が異なっている場合にこれを前記ブラックリストとして抽出し、
抽出された前記ブラックリストをブラックリスト出力部が出力する
ことを特徴とするブラックリスト抽出方法。
【請求項３】
複数のウェブサーバとネットワークを介して相互に接続されたブラックリスト抽出装置にあって、
前記ブラックリスト抽出装置が備えているコンピュータに、
前記各ウェブサーバで記録されたアクセス情報を収集して、これを予め備えられた記憶手段にアクセスログとして記憶させる手順、
予め与えられた検知条件に基づいて、前記アクセスログに記録された前記アクセス情報から、同一のアクセス元ＩＰアドレスから複数の前記ウェブサーバに対して同一の文字列を含むリクエストが前記検知条件で定められた時間範囲内に送信されていることが検出された場合に、これをブラックリストとして抽出する手順、
前記リクエストにどの開発言語のコマンドが含まれているかを特定すると共にこの開発言語が前記ウェブサーバの開発言語と異なっているか否かを判定する手順、
前記リクエストと前記ウェブサーバとの間で前記開発言語が異なっている場合にこれを前記ブラックリストとして抽出する手順、
および抽出された前記ブラックリストを出力する手順
を実行させることを特徴とするブラックリスト抽出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ウェブサイトへのアクセス情報から不正アクセスをブラックリストとして抽出するブラックリスト抽出装置、抽出方法および抽出プログラムに関する。
【背景技術】
【０００２】
インターネット、特にウェブサイトを利用した情報発信や商取引などが一般的なものになるにつれ、それらのウェブサイトに対する（個人情報や取引情報などの）不正取得や不正な改竄などを意図した不正アクセスが多く行われるようになり、ウェブサイトの管理者はそのような不正アクセスへの対策がもはや必須である。
【０００３】
その中でも特に多い不正アクセスの手口が、クロスサイトスクリプティング、ＳＱＬインジェクション攻撃、ＯＳコマンドインジェクション攻撃といったものである。以下、これらについて説明する。
【０００４】
クロスサイトスクリプティング（ＸＳＳ）は、悪意を持ったユーザが（ウェブメールや掲示板などの）フォームからジャバスクリプトなどブラウザで実行可能なコードを入力すると、そのコードがそのまま他のユーザのブラウザに送り込まれて実行されてしまうというウェブサーバソフトの脆弱性を利用した不正アクセス行為である。これによって、たとえば特定のウェブサイトの表示内容を書き換えられたり、ブラウザのクッキー（cookie）として記憶された個人情報や取引情報を攻撃者に奪われたり、などといった被害が起こりうる。
【０００５】
ＳＱＬインジェクション攻撃は、ウェブサイトで利用されるデータベースを操作する言語であるＳＱＬ（Structured Query Language）コマンドをＵＲＬ内の引数やフォームなどを通じて入力することによって、当該データベースを不正に操作するという不正アクセス行為である。たとえばパスワードを知らなくても、そのデータベースにログインすることが、この行為によって可能になってしまう。これによって、当該データベースの内容が不正に改竄されるなどのような被害が起こりうる。
【０００６】
これと同じように、ウェブサイトの動作を制御しているオペレーティングシステム（ＯＳ）のコマンドをＵＲＬ内の引数やフォームなどを通じて入力することによって行われる不正アクセス行為が、ＯＳコマンドインジェクション攻撃である。これによって、当該ウェブサイトの管理者権限を攻撃者に奪われるなどのような重大な被害が起こりうる。
【０００７】
これに関連して、以下のような技術資料がある。その中でも特許文献１には、ユーザ名データが同一であり、かつパスワードデータが互いに異なるデータが短時間に連続して送信された場合にこれをクラッカーからの攻撃として検出するというクラッカー監視システムについて記載されている。特許文献２には、複数のサーバから収集したログから、侵入容疑の高いアクセス情報を収集して、専門家によって容易に分析できるログを記録するという侵入検知システムについて記載されている。
【０００８】
特許文献３には、ＳＱＬサーバに対して送信されたクエリーに含まれるＳＱＬインジェクション攻撃に係る文字列が実行されないように保護するというセキュリティプログラムについて記載されている。特許文献４には、アクセスポイントにおいて不正アクセスを検知してこれを防止するという広域ネットワークについて記載されている。特許文献５には、多数のウェブサーバからログ利用サーバがログを収集して、これを容易に利用して管理できるというログ収集管理システムについて記載されている。
【０００９】
特許文献６には、インターネットから内部ネットワークに対して送られた不審な通信パケットを「おとり装置」に送信してそこで攻撃の有無を判定するという攻撃検知システムについて記載されている。非特許文献１には前述のクロスサイトスクリプティング、非特許文献２にはＳＱＬインジェクション攻撃についての解説がそれぞれ記載されている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００１−０５７５５４号公報
【特許文献２】特開２００５−１８９９９６号公報
【特許文献３】特表２００９−５０６４３９号公報
【特許文献４】特開２００４−０８６８８０号公報
【特許文献５】特開２００４−２９５３０３号公報
【特許文献６】特開２００７−３１２４１４号公報
【非特許文献】
【００１１】
【非特許文献１】国分裕、「クロスサイトスクリプティング対策の基本」、２００２年１１月９日、アイティメディア株式会社、［平成２４年１月１７日検索］、インターネット＜URL：http://www.atmarkit.co.jp/fsecurity/special/30xss/xss01.html＞
【非特許文献２】上野宣、「今夜分かるSQLインジェクション対策」、２００６年１１月２日、アイティメディア株式会社、［平成２４年１月１７日検索］、インターネット＜URL：http://www.atmarkit.co.jp/fsecurity/column/ueno/42.html＞
【発明の概要】
【発明が解決しようとする課題】
【００１２】
前述のように、ウェブサイトに対する不正アクセスは近年ますます手口が巧妙化していて、特にそのような不正アクセスの行われる範囲が複数のウェブサイトに及ぶことも多くなっている。また実際、これらのような不正アクセスを複数のウェブサイトに対して自動的に行うソフトウェアも存在する。
【００１３】
そのようなソフトウェアを使われた場合、多数のウェブサイトに対して同一の文字列を含むリクエストが送られることになる。しかしながら、そのような不正アクセスは、単一のウェブサイトに対するリクエストとしては正当なものに見えることも多い。複数のウェブサイトに対するアクセスを見比べることによって、初めてこれを不正アクセスとして検出することが可能である。また、あるウェブサイトに対しては特に問題の無いリクエストであっても、同じリクエストを他のウェブサイトに対して送られた場合には不正アクセスとなる場合もある。
【００１４】
即ち、複数のウェブサイトのアクセスログを見比べないと、不正アクセスを見逃す可能性が高くなる。しかしながら、複数のウェブサイトのアクセスログを見比べて不正アクセスを検出することは、高度なスキルを持ったネットワーク管理者が、分析作業を繰り返し、これによって情報を絞り込んでいくことが必要である。この作業は煩雑で、かつ自動化が困難なものである。また、ただでさえアクセスログのデータ量は膨大なものであるので、目視による検出では見逃しやヒューマンエラーが多く発生することにもなる。
【００１５】
しかしながら、特許文献１〜６および非特許文献１〜２に記載された技術は、そのような問題点を解決するものではない。特許文献２に記載の技術は、各ウェブサイトの側で「（不正侵入と判断された）ログ情報をフィルタリング」して分析センタに送っているので、ウェブサイト単体でそれが正当なリクエストと判断された場合には、もうそれを不正アクセスとして検出することはできない。他の文献に記載の技術を組み合わせても同様である。
【００１６】
本発明の目的は、複数のウェブサイトのアクセスログから有効に不正アクセスを検出することを可能とするブラックリスト抽出装置、抽出方法および抽出プログラムを提供することにある。
【課題を解決するための手段】
【００１７】
上記目的を達成するため、本発明に係るブラックリスト抽出装置は、複数のウェブサーバとネットワークを介して相互に接続されたブラックリスト抽出装置であって、各ウェブサーバで記録されたアクセス情報を収集して、これを予め備えられた記憶手段にアクセスログとして記憶させるアクセスログ収集部と、予め与えられた検知条件に基づいて、アクセスログに記録されたアクセス情報から、同一のアクセス元ＩＰアドレスから複数のウェブサーバに対して同一の文字列を含むリクエストが検知条件で定められた時間範囲内に送信されていることが検出された場合に、これをブラックリストとして抽出する攻撃情報抽出部と、リクエストにどの開発言語のコマンドが含まれているかを特定し、特定された開発言語がウェブサーバの開発言語と異なっているか否かを判定する言語種類判定部と、抽出されたブラックリストを出力するブラックリスト出力部とを備え、攻撃情報抽出部がリクエストとウェブサーバとの間で開発言語が異なっている場合にこれをブラックリストとして抽出することを特徴とする。
【００１８】
上記目的を達成するため、本発明に係るブラックリスト抽出方法は、複数のウェブサーバとネットワークを介して相互に接続されたブラックリスト抽出装置にあって、各ウェブサーバで記録されたアクセス情報をアクセスログ収集部が収集して、これを予め備えられた記憶手段にアクセスログとして記憶させ、予め与えられた検知条件に基づいて、アクセスログに記録されたアクセス情報から、同一のアクセス元ＩＰアドレスから複数のウェブサーバに対して同一の文字列を含むリクエストが検知条件で定められた時間範囲内に送信されていることが検出された場合に、これを攻撃情報抽出部がブラックリストとして抽出し、リクエストにどの開発言語のコマンドが含まれているかを言語種類判定部が特定すると共にこの開発言語がウェブサーバの開発言語と異なっているか否かを判定し、攻撃情報抽出部が、リクエストとウェブサーバとの間で開発言語が異なっている場合にこれをブラックリストとして抽出し、抽出されたブラックリストをブラックリスト出力部が出力することを特徴とする。
【００１９】
上記目的を達成するため、本発明に係るブラックリスト抽出プログラムは、複数のウェブサーバとネットワークを介して相互に接続されたブラックリスト抽出装置にあって、ブラックリスト抽出装置が備えているコンピュータに、各ウェブサーバで記録されたアクセス情報を収集して、これを予め備えられた記憶手段にアクセスログとして記憶させる手順、予め与えられた検知条件に基づいて、アクセスログに記録されたアクセス情報から、同一のアクセス元ＩＰアドレスから複数のウェブサーバに対して同一の文字列を含むリクエストが検知条件で定められた時間範囲内に送信されていることが検出された場合に、これをブラックリストとして抽出する手順、リクエストにどの開発言語のコマンドが含まれているかを特定すると共にこの開発言語がウェブサーバの開発言語と異なっているか否かを判定する手順、リクエストとウェブサーバとの間で開発言語が異なっている場合にこれをブラックリストとして抽出する手順、および抽出されたブラックリストを出力する手順を実行させることを特徴とする。
【発明の効果】
【００２０】
本発明は、上記したように、同一のアクセス元からの複数のウェブサーバに対するアクセス情報から不正アクセスを抽出するように構成したので、複数のウェブサイトに対するアクセスを見比べることによって初めて検出できる不正アクセスを、容易に検出することが可能となる。これによって、複数のウェブサイトのアクセスログから有効に不正アクセスを検出することを可能であるという、優れた特徴を持つブラックリスト抽出装置、抽出方法および抽出プログラムを提供することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の実施形態に係るブラックリスト抽出装置の構成について示す説明図である。
【図２】図１に示したアクセスログ収集部によって収集されるアクセスログの一例について示す説明図である。
【図３】図１に示した検知条件記憶部に予め記憶されている検知条件の一例について示す説明図である。
【図４】図１に示したブラックリスト抽出装置が、ウェブサーバからアクセスログを収集して、そこから不正アクセスを抽出する動作について示すフローチャートである。
【図５】図１に示したブラックリスト記憶部に記憶されるブラックリストの一例について示す説明図である。
【図６】本発明の第２の実施形態に係るブラックリスト抽出装置の構成について示す説明図である。
【図７】図６に示したウェブサーバ情報記憶部に記憶されているウェブサーバ情報の一例について示す説明図である。
【図８】図６に示したブラックリスト抽出装置が、ウェブサーバからアクセスログを収集して、そこから不正アクセスを抽出する動作について示すフローチャートである。
【発明を実施するための形態】
【００２２】
（第１の実施形態）
以下、本発明の実施形態の構成について添付図１に基づいて説明する。
最初に、本実施形態の基本的な内容について説明し、その後でより具体的な内容について説明する。
本実施形態に係るブラックリスト抽出装置１０は、複数のウェブサーバ２０とネットワーク３０を介して相互に接続されたブラックリスト抽出装置である。このブラックリスト抽出装置１０は、各ウェブサーバで記録されたアクセス情報を収集して、これを予め備えられた記憶手段にアクセスログ１５０として記憶させるアクセスログ収集部１０１と、予め与えられた検知条件１６０に基づいて、アクセスログに記録された同一のアクセス元からの複数のウェブサーバに対するアクセス情報から不正アクセスをブラックリストとして抽出する攻撃情報抽出部１０２と、抽出されたブラックリストを出力するブラックリスト出力部１０６とを有する。
【００２３】
ここで、攻撃情報抽出部１０２は、同一のアクセス元から複数のウェブサーバ２０に対して同一の文字列を含むリクエストが検知条件１６０で定められた時間範囲内に送信されていることがアクセスログから検出された場合に、これを不正アクセスとして抽出する。
【００２４】
この構成を備えることにより、ブラックリスト抽出装置１０は、複数のウェブサイトのアクセスログから有効に不正アクセスを検出することが可能となる。
以下、これをより詳細に説明する。
【００２５】
図１は、本発明の実施形態に係るブラックリスト抽出装置１０の構成について示す説明図である。ブラックリスト抽出装置１０は、コンピュータ装置としての基本的な構成を備えている。即ち、コンピュータプログラムの動作主体であるプロセッサ１１と、プログラムおよびデータを記憶する記憶手段１２と、ネットワーク３０を介して他の装置との通信を行う通信手段１３と、処理結果を出力する出力手段１４とを備える。
【００２６】
また、ブラックリスト抽出装置１０は、ネットワーク３０を介して、複数のウェブサーバ２０に接続されている。このウェブサーバの台数については、２台以上であれば特に制限は無い。図１では、本発明の概念を平易に示すため、２台のウェブサーバ２０ａおよび２０ｂについてのみ、それらの構成を示している。
【００２７】
そして、ウェブサーバ２０では、ネットワーク３０を介してウェブページ閲覧要求を送信する不特定多数のクライアントコンピュータ４０ａ、４０ｂ、４０ｃ、…からのアクセスログを記録するログ採取手段２１と、それらの閲覧要求に対してウェブページ表示用のデータを送信するウェブサービス手段２２とが各々動作している。
【００２８】
ブラックリスト抽出装置１０のプロセッサ１１は、ブラックリスト抽出プログラムを実行することにより、アクセスログ収集部１０１、攻撃情報抽出部１０２、およびブラックリスト出力部１０６として動作する。また、記憶手段１２には、収集されたアクセスログを記憶するための記憶域であるアクセスログ記憶部１０３と、不正アクセスを抽出するための条件を記憶する検知条件記憶部１０４と、抽出されたブラックリストの内容を記憶するための記憶域であるブラックリスト記憶部１０５が確保されている。
【００２９】
アクセスログ収集部１０１は、各々のウェブサーバ２０のログ採取手段２１で記録されたアクセスログをネットワーク３０を介して収集して、アクセスログ記憶部１０３に記憶する。そして攻撃情報抽出部１０２は、検知条件記憶部１０４に記憶された条件に基づいて、これらのアクセスログの記録内容の中から不正アクセスをブラックリストとして抽出し、その内容をブラックリスト記憶部１０５のブラックリスト１７０として記憶する。
【００３０】
ブラックリスト出力部１０６は、最終的に記憶されたブラックリスト１７０を、出力手段１４を介して出力する。ここで、出力手段１４は、典型的にはディスプレイやプリンタなどであるが、たとえばネットワーク３０を介して他のコンピュータに対して情報を出力させるものでもよく、また電子メールや音声通話などを介してネットワーク管理者を呼び出すものでもよい。
【００３１】
図２は、図１に示したアクセスログ収集部１０１によって収集されるアクセスログ１５０の一例について示す説明図である。このアクセスログ１５０は、各々の記録データを一意に示す通し番号であるデータ番号１５０ａ、当該アクセスの対象となったウェブサイト名１５０ｂ、当該アクセスが行われた日時を示すタイムスタンプ１５０ｃ、当該アクセスを行ったクライアントコンピュータ４０のＩＰアドレスを示すアクセス元ＩＰ１５０ｄ、および当該アクセスの具体的な内容を示すリクエスト内容１５０ｅなどといったデータを含む。
【００３２】
この中で、データ番号１５０ａ＝「１」「５」「１３」「１４」の各データが、ウェブサイト名１５０ｂが各々違うが、タイムスタンプ１５０ｃが近接した日時（２０１２年１月１７日１２時００〜１２分）であり、アクセス元ＩＰ１５０ｄが全て同一（１９２．１６８．１２３．４５）であり、さらにリクエスト内容１５０ｅの引数の部分（？以後）が全て同一の文字列（ｔｘｔ＝ａｔｔａｃｋ＿ｐａｔｔｅｒｎ）を含む。
【００３３】
図３は、図１に示した検知条件記憶部１０４に予め記憶されている検知条件１６０の一例について示す説明図である。この検知条件１６０は、各々の記録データを一意に示す通し番号である条件番号１６０ａ、設定されて記憶された検知条件である条件内容１６０ｂ、および条件内容１６０ｂに該当した場合に判定される判定内容１６０ｃなどといったデータを含む。
【００３４】
ここでは、条件番号１６０ａ＝「１」として、「２つ以上のウェブサーバに対して」「１０分以内に」「同一のアクセス元ＩＰから」「同一の文字列を含んだリクエストが」送られている場合に、これを不正アクセスとして判定するという条件内容１６０ｂ、この条件内容に該当した場合に判定内容１６０ｃ＝「攻撃パターンＡ」として検出するという検知条件が示されている。
【００３５】
また、条件番号１６０ａ＝「２」として、「１つ以上のウェブサーバに対して」「１０分以内に」「同一のアクセス元ＩＰから」「同一のＩＤ入力欄およびパスワード入力欄に対して２つ以上連続した入力が」送られている場合に、これを不正アクセスとして判定するという条件内容１６０ｂ、この条件内容に該当した場合に判定内容１６０ｃ＝「攻撃パターンＢ」として検出するという検知条件が示されている。
【００３６】
また、検知条件１６０は、上記以外にもたとえば、条件内容１６０ｂに設定された内容のうち何割以上が一致したら該当すると判断するための「一致率」や、文字列検索の具体的な方法を指定する「検索内容（たとえばあいまい検索のオン／オフなど）」、あるいは同一の文字列が複数のウェブサーバから検出されてもこれを不正アクセスとして検出しない「例外文字列」、などといった点を指定する内容を適宜含むこともできる。これらのような点については、公知技術に属する内容であるので詳しく説明しない。
【００３７】
図４は、図１に示したブラックリスト抽出装置１０が、ウェブサーバ２０からアクセスログ１５０を収集して、そこから不正アクセスを抽出する動作について示すフローチャートである。
【００３８】
まず、アクセスログ収集部１０１が、各々のウェブサーバ２０のログ採取手段２１で記録されたアクセスログをネットワーク３０を介して収集して、アクセスログ記憶部１０３に記憶する（ステップＳ２０１）。そして攻撃情報抽出部１０２は、変数ｉ＝１、かつブラックリスト記憶部１０５に記憶されるブラックリスト１７０を空データとして初期設定し（ステップＳ２０２）、条件番号１６０ａ＝ｉの条件内容１６０ｂに該当する内容がアクセスログ１５０の中に存在するか否かを判定する（ステップＳ２０３）。
【００３９】
ステップＳ２０３で、該当する内容がアクセスログ１５０の中に存在すれば、攻撃情報抽出部１０２はその該当する内容を抽出して（ステップＳ２０４）、その該当する判定内容１６０ｃ、タイムスタンプ１５０ｃ、アクセス元ＩＰ１５０ｄ、およびリクエスト内容１５０ｅをブラックリスト１７０に追加して（ステップＳ２０５）ステップＳ２０６に進む。該当する内容が存在しなければ、そのままステップＳ２０６に進む。
【００４０】
そして攻撃情報抽出部１０２はｉ＝ｉ＋１として（ステップＳ２０６）、ｉが条件番号１６０ａの最大値を越えるまでステップＳ２０３〜２０６の処理を繰り返す（ステップＳ２０７）。全ての条件番号１６０ａに対してこの処理を行ったら、ブラックリスト出力部１０６が記憶されたブラックリスト１７０を出力手段１４を介して出力し（ステップＳ２０８）、処理を終了する。
【００４１】
図５は、図１に示したブラックリスト記憶部１０５に記憶されるブラックリスト１７０の一例について示す説明図である。図５に示したブラックリスト１７０は、図２に示したアクセスログ１５０に対して、図３に示した検知条件１６０で検知を行った例である。
【００４２】
前述のように、アクセスログ１５０には、データ番号１５０ａ＝「１」「５」「１３」「１４」の各データが、複数のウェブサイトに対して、日時のタイムスタンプ１５０ｃが１０分以内で、同一のアクセス元ＩＰ１５０ｄからの、同一の文字列を含むリクエスト内容１５０ｅ、という内容が記録されている。これは、条件番号１６０ａ＝「１」として登録された条件内容１６０ｂに一致する。
【００４３】
従って、攻撃情報抽出部１０２はこれを判定内容１６０ｃ＝「攻撃パターンＡ」として検出し、該当するタイムスタンプ１５０ｃ、アクセス元ＩＰ１５０ｄ、およびリクエスト内容１５０ｅで一致した文字列をブラックリスト１７０に追加する。その際、タイムスタンプ１５０ｃのブラックリスト１７０に出力される内容は、その日時そのままでなく、当該アクセスがあった時刻の範囲や間隔などを出力するようにしてもよい。
【００４４】
以上の処理によって出力されたブラックリスト１７０は、たとえばネットワーク管理者が目視によって、検出された各々のアクセスの危険性を判断するようにしてもよい。その場合も、複数のウェブサーバから検出された情報を一括して判断できるので、複数のログを見比べるよりも容易に判断することができる。
【００４５】
（第１の実施形態の全体的な動作）
次に、上記の実施形態の全体的な動作について説明する。
本実施形態に係るブラックリスト抽出方法は、複数のウェブサーバとネットワークを介して相互に接続されたブラックリスト抽出装置１０にあって、各ウェブサーバで記録されたアクセス情報をアクセスログ収集部が収集して、これを予め備えられた記憶手段にアクセスログとして記憶させ（図４・ステップＳ２０１）、予め与えられた検知条件に基づいて、アクセスログに記録された同一のアクセス元からの複数のウェブサーバに対するアクセス情報から不正アクセスを攻撃情報抽出部がブラックリストとして抽出し（図４・ステップＳ２０３〜２０６）、抽出されたブラックリストをブラックリスト出力部が出力する（図４・ステップＳ２０８）。
【００４６】
また、この不正アクセスを抽出する処理は、同一のアクセス元から複数のウェブサーバに対して同一の文字列を含むリクエストが検知条件で定められた時間範囲内に送信されていることがアクセスログから検出された場合に、これを不正アクセスとして抽出する。
【００４７】
ここで、上記各動作ステップについては、これをコンピュータで実行可能にプログラム化し、これらを前記各ステップを直接実行するブラックリスト抽出装置１０のプロセッサ１１に実行させるようにしてもよい。本プログラムは、非一時的な記録媒体、例えば、ＤＶＤ、ＣＤ、フラッシュメモリ等に記録されてもよい。その場合、本プログラムは、記録媒体からコンピュータによって読み出され、実行される。
この動作により、本実施形態は以下のような効果を奏する。
【００４８】
本実施形態によれば、複数のウェブサイトのアクセスログを見比べて不正アクセスを検出するという、従来は高度なスキルを必要とする煩雑な行為であったが、これを有効に自動化して工数を削減し、また見逃しやヒューマンエラーの発生を抑制することが可能となる。また、不正アクセスに利用される攻撃パターンを、従来とは違う観点で抽出することが可能となる。
【００４９】
出力されたブラックリスト１７０は、その全体の内容、あるいはネットワーク管理者がそこから取捨選択した内容を、各ウェブサーバが備えるウェブアプリケーションファイアウォールに適したデータ形式に変換して、適用することができる。これによって、危険性の高いアクセスを容易に遮断することが可能となる。この場合においても、ネットワーク管理者による手動での判断は最終段階での情報の取捨選択のみであるので、少ない工数で不正アクセスを遮断することが可能となる。
【００５０】
（第２の実施形態）
本発明の第２の実施形態に係るブラックリスト抽出装置３１０は、第１の実施形態で示した構成に加えて、リクエストにどの開発言語のコマンドが含まれているかを特定し、特定された開発言語がウェブサーバの開発言語と異なっているか否かを判定する言語種類判定部４０７を備え、攻撃情報抽出部４０２がリクエストとウェブサーバとの間で開発言語が異なっている場合にこれをブラックリストとして抽出するよう構成した。
【００５１】
この構成によっても第１の実施形態と同一の効果が得られるのに加えて、さらに複数のサーバに対して特定の開発言語に依存するコマンドを送信することによる不正アクセスを有効に検出することが可能となる。
以下、これをより詳細に説明する。
【００５２】
図６は、本発明の第２の実施形態に係るブラックリスト抽出装置３１０の構成について示す説明図である。ブラックリスト抽出装置３１０は、図１に示した第１の実施形態のブラックリスト抽出装置１０と、ハードウェアとしては同一の構成を有する。これに接続されているネットワーク３０およびウェブサーバ２０も、第１の実施形態と同一である。
【００５３】
また、ソフトウェアとしても、攻撃情報抽出部１０２が別の攻撃情報抽出部４０２に置換され、プロセッサ１１ではさらに言語種類判定部４０７が動作し、記憶手段１２にさらにウェブサーバ情報記憶部４０８が追加されている点以外は第１の実施形態と同一である。従って、第１の実施形態と同一である要素については、同一の呼称および参照番号でいう。
【００５４】
図７は、図６に示したウェブサーバ情報記憶部４０８に記憶されているウェブサーバ情報４８０の一例について示す説明図である。ウェブサーバ情報４８０は、各々のウェブサーバ２０のウェブサイト名４８０ａと、当該ウェブサーバで使用されているウェブアプリケーションの開発言語種類４８０ｂが対応づけられて記憶されている。
【００５５】
たとえばウェブサイト名４８０ａ＝「ＷｅｂＳｉｔｅ００１」は、開発言語種類４８０ｂ＝「Ｐｅｒｌ」である。開発言語種類４８０ｂは、他にも「Ｊａｖａ（登録商標）」「ＰＨＰ」「ＶＢ．Ｎｅｔ」などのような内容を含むことができる。また、これとは別個にデータベースの種類などのデータを、ウェブサイト名４８０ａと対応させて記憶させることもできる。
【００５６】
言語種類判定部４０７は、各アクセスのリクエスト内容１５０ｅに、どの開発言語のコマンドが含まれているかを判定し、判定された開発言語がウェブサーバ情報４８０の開発言語種類４８０ｂと異なっているか否かについて判定する。そして攻撃情報抽出部４０２は、開発言語種類４８０ｂとは異なる言語のコマンドがリクエスト内容１５０ｅに含まれていれば、これを異常なアクセスとしてブラックリスト１７０に出力する機能を持つ。
【００５７】
より具体的には、言語種類判定部４０７は、たとえばリクエスト内容１５０ｅに含まれるファイル名の拡張子が「．ｐｌ」であれば開発言語は「Ｐｅｒｌ」、「．ｐｈｐ」であれば開発言語は「ＰＨＰ」などのように検出することができる。または、拡張子以外のリクエスト内容から、各言語に固有の語法を検出するようにしてもよい。
【００５８】
図８は、図６に示したブラックリスト抽出装置３１０が、ウェブサーバ２０からアクセスログ１５０を収集して、そこから不正アクセスを抽出する動作について示すフローチャートである。これも、第１の実施形態と同一である動作内容については、図４と同一の参照番号を付している。ステップＳ２０１〜２０５は、第１の実施形態と同一の動作である。
【００５９】
ステップＳ２０３〜２０５の判定の後、攻撃情報抽出部４０２は、アクセスログ１５０のウェブサイト名１５０ｂをウェブサーバ情報４８０のウェブサイト名４８０ａの中から検索し、当該ウェブサイトで使用されている開発言語種類４８０ｂを特定する（ステップＳ５０１）。そして、言語種類判定部４０７が、リクエスト内容１５０ｅに含まれるコマンドの開発言語の種類を特定して、これが開発言語種類４８０ｂと一致するか否かについて判定する（ステップＳ５０２）。
【００６０】
ステップＳ５０２で、開発言語の種類が一致しなければ、その旨をブラックリスト１７０に追加して（ステップＳ５０３）ステップＳ２０６に進む。開発言語の種類が一致すれば、そのままステップＳ２０６に進む。ステップ２０６以降の動作は、第１の実施形態と同一である。
【００６１】
ステップＳ５０３で、ブラックリスト１７０に出力される内容は、「言語の種類が一致しないリクエストがあった」旨と、これに該当するタイムスタンプ１５０ｃ、アクセス元ＩＰ１５０ｄ、およびリクエスト内容１５０ｅである。これらの内容を、図５に示したものに準じる形で出力すればよい。
【００６２】
前述のように、不正アクセス行為の多くは特定のソフトウェアによって複数のウェブサイトに対して自動的に行われるものである。従って、リクエスト内容に含まれる開発言語の種類とウェブサーバのそれとが異なっていることも多くなり、それは正当なアクセスではまず生じ得ないことであると考えることができる。本実施形態によれば、そのような行為を有効に検出して、不正アクセスであると判定することができる。
【００６３】
これまで本発明について図面に示した特定の実施形態をもって説明してきたが、本発明は図面に示した実施形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができる。
【００６４】
上述した実施形態について、その新規な技術内容の要点をまとめると、以下のようになる。なお、上記実施形態の一部または全部は、新規な技術として以下のようにまとめられるが、本発明は必ずしもこれに限定されるものではない。
【００６５】
（付記１）  複数のウェブサーバとネットワークを介して相互に接続されたブラックリスト抽出装置であって、
前記各ウェブサーバで記録されたアクセス情報を収集して、これを予め備えられた記憶手段にアクセスログとして記憶させるアクセスログ収集部と、
予め与えられた検知条件に基づいて、前記アクセスログに記録された同一のアクセス元からの複数のウェブサーバに対するアクセス情報から不正アクセスをブラックリストとして抽出する攻撃情報抽出部と、
抽出された前記ブラックリストを出力するブラックリスト出力部と
を有することを特徴とするブラックリスト抽出装置。
【００６６】
（付記２）  前記攻撃情報抽出部が、
前記同一のアクセス元から複数の前記ウェブサーバに対して同一の文字列を含むリクエストが前記検知条件で定められた時間範囲内に送信されていることが前記アクセスログから検出された場合に、これを前記不正アクセスとして抽出することを特徴とする、付記１に記載のブラックリスト抽出装置。
【００６７】
（付記３）  前記リクエストにどの開発言語のコマンドが含まれているかを特定し、特定された前記開発言語が前記ウェブサーバの開発言語と異なっているか否かを判定する言語種類判定部を備え、
前記攻撃情報抽出部が前記リクエストと前記ウェブサーバとの間で前記開発言語が異なっている場合にこれを前記ブラックリストとして抽出することを特徴とする、付記２に記載のブラックリスト抽出装置。
【００６８】
（付記４）  複数のウェブサーバとネットワークを介して相互に接続されたブラックリスト抽出装置にあって、
前記各ウェブサーバで記録されたアクセス情報をアクセスログ収集部が収集して、これを予め備えられた記憶手段にアクセスログとして記憶させ、
予め与えられた検知条件に基づいて、前記アクセスログに記録された同一のアクセス元からの複数のウェブサーバに対するアクセス情報から不正アクセスを攻撃情報抽出部がブラックリストとして抽出し、
抽出された前記ブラックリストをブラックリスト出力部が出力する
ことを特徴とするブラックリスト抽出方法。
【００６９】
（付記５）  前記不正アクセスを抽出する処理が、
前記同一のアクセス元から複数の前記ウェブサーバに対して同一の文字列を含むリクエストが前記検知条件で定められた時間範囲内に送信されていることが前記アクセスログから検出された場合に、これを前記不正アクセスとして抽出することを特徴とする、付記４に記載のブラックリスト抽出方法。
【００７０】
（付記６）  複数のウェブサーバとネットワークを介して相互に接続されたブラックリスト抽出装置にあって、
前記ブラックリスト抽出装置が備えているコンピュータに、
前記各ウェブサーバで記録されたアクセス情報を収集して、これを予め備えられた記憶手段にアクセスログとして記憶させる手順、
予め与えられた検知条件に基づいて、前記アクセスログに記録された同一のアクセス元からの複数のウェブサーバに対するアクセス情報から不正アクセスをブラックリストとして抽出する手順、
および抽出された前記ブラックリストを出力する手順
を実行させることを特徴とするブラックリスト抽出プログラム。
【００７１】
（付記７）  前記不正アクセスを抽出する手順が、
前記同一のアクセス元から複数の前記ウェブサーバに対して同一の文字列を含むリクエストが前記検知条件で定められた時間範囲内に送信されていることが前記アクセスログから検出された場合に、これを前記不正アクセスとして抽出することを特徴とする、付記６に記載のブラックリスト抽出プログラム。
【産業上の利用可能性】
【００７２】
本発明は、ウェブサーバに対して適用することが可能である。特に、ウェブアプリケーションファイアウォールを利用して危険性の高いアクセスを遮断する場合に有効である。
【符号の説明】
【００７３】
１０、３１０  ブラックリスト抽出装置
１１  プロセッサ
１２  記憶手段
１３  通信手段
１４  出力手段
２０、２０ａ、２０ｂ  ウェブサーバ
２１  ログ採取手段
２２  ウェブサービス手段
３０  ネットワーク
４０、４０ａ、４０ｂ、４０ｃ  クライアントコンピュータ
１０１  アクセスログ収集部
１０２、４０２  攻撃情報抽出部
１０３  アクセスログ記憶部
１０４  検知条件記憶部
１０５  ブラックリスト記憶部
１０６  ブラックリスト出力部
１５０  アクセスログ
１６０  検知条件
１７０  ブラックリスト
４０７  言語種類判定部
４０８  ウェブサーバ情報記憶部
４８０  ウェブサーバ情報
【図１】
0005656266.tif 000002
【図２】
0005656266.tif 000003
【図３】
0005656266.tif 000004
【図４】
0005656266.tif 000005
【図５】
0005656266.tif 000006
【図６】
0005656266.tif 000007
【図７】
0005656266.tif 000008
【図８】
0005656266.tif 000009