特許第5656266号(P5656266)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ NECソリューションイノベータ株式会社の特許一覧

特許5656266ブラックリスト抽出装置、抽出方法および抽出プログラム
<>
  • 特許5656266-ブラックリスト抽出装置、抽出方法および抽出プログラム 図000002
  • 特許5656266-ブラックリスト抽出装置、抽出方法および抽出プログラム 図000003
  • 特許5656266-ブラックリスト抽出装置、抽出方法および抽出プログラム 図000004
  • 特許5656266-ブラックリスト抽出装置、抽出方法および抽出プログラム 図000005
  • 特許5656266-ブラックリスト抽出装置、抽出方法および抽出プログラム 図000006
  • 特許5656266-ブラックリスト抽出装置、抽出方法および抽出プログラム 図000007
  • 特許5656266-ブラックリスト抽出装置、抽出方法および抽出プログラム 図000008
  • 特許5656266-ブラックリスト抽出装置、抽出方法および抽出プログラム 図000009
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5656266
(24)【登録日】2014年12月5日
(45)【発行日】2015年1月21日
(54)【発明の名称】ブラックリスト抽出装置、抽出方法および抽出プログラム
(51)【国際特許分類】
   G06F 21/62 20130101AFI20141225BHJP
【FI】
   G06F21/24 163J
   G06F21/24 163Z
【請求項の数】3
【全頁数】15
(21)【出願番号】特願2012-11601(P2012-11601)
(22)【出願日】2012年1月24日
(65)【公開番号】特開2013-152497(P2013-152497A)
(43)【公開日】2013年8月8日
【審査請求日】2013年5月15日
【前置審査】
(73)【特許権者】
【識別番号】000232092
【氏名又は名称】NECソリューションイノベータ株式会社
(74)【代理人】
【識別番号】100079164
【弁理士】
【氏名又は名称】高橋 勇
(72)【発明者】
【氏名】前田 健吾
【審査官】 木村 励
(56)【参考文献】
【文献】 特開2004−030286(JP,A)
【文献】 特開2001−144755(JP,A)
【文献】 特開2002−176454(JP,A)
【文献】 特開平11−119927(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/00 − 21/88
(57)【特許請求の範囲】
【請求項1】
複数のウェブサーバとネットワークを介して相互に接続されたブラックリスト抽出装置であって、
前記各ウェブサーバで記録されたアクセス情報を収集して、これを予め備えられた記憶手段にアクセスログとして記憶させるアクセスログ収集部と、
予め与えられた検知条件に基づいて、前記アクセスログに記録された前記アクセス情報から、同一のアクセス元IPアドレスから複数の前記ウェブサーバに対して同一の文字列を含むリクエストが前記検知条件で定められた時間範囲内に送信されていることが検出された場合に、これをブラックリストとして抽出する攻撃情報抽出部と、
前記リクエストにどの開発言語のコマンドが含まれているかを特定し、特定された前記開発言語が前記ウェブサーバの開発言語と異なっているか否かを判定する言語種類判定部と、
抽出された前記ブラックリストを出力するブラックリスト出力部とを備え、
前記攻撃情報抽出部が前記リクエストと前記ウェブサーバとの間で前記開発言語が異なっている場合にこれを前記ブラックリストとして抽出することを特徴とするブラックリスト抽出装置。
【請求項2】
複数のウェブサーバとネットワークを介して相互に接続されたブラックリスト抽出装置にあって、
前記各ウェブサーバで記録されたアクセス情報をアクセスログ収集部が収集して、これを予め備えられた記憶手段にアクセスログとして記憶させ、
予め与えられた検知条件に基づいて、前記アクセスログに記録された前記アクセス情報から、同一のアクセス元IPアドレスから複数の前記ウェブサーバに対して同一の文字列を含むリクエストが前記検知条件で定められた時間範囲内に送信されていることが検出された場合に、これを攻撃情報抽出部がブラックリストとして抽出し、
前記リクエストにどの開発言語のコマンドが含まれているかを言語種類判定部が特定すると共にこの開発言語が前記ウェブサーバの開発言語と異なっているか否かを判定し、
前記攻撃情報抽出部が、前記リクエストと前記ウェブサーバとの間で前記開発言語が異なっている場合にこれを前記ブラックリストとして抽出し、
抽出された前記ブラックリストをブラックリスト出力部が出力する
ことを特徴とするブラックリスト抽出方法。
【請求項3】
複数のウェブサーバとネットワークを介して相互に接続されたブラックリスト抽出装置にあって、
前記ブラックリスト抽出装置が備えているコンピュータに、
前記各ウェブサーバで記録されたアクセス情報を収集して、これを予め備えられた記憶手段にアクセスログとして記憶させる手順、
予め与えられた検知条件に基づいて、前記アクセスログに記録された前記アクセス情報から、同一のアクセス元IPアドレスから複数の前記ウェブサーバに対して同一の文字列を含むリクエストが前記検知条件で定められた時間範囲内に送信されていることが検出された場合に、これをブラックリストとして抽出する手順、
前記リクエストにどの開発言語のコマンドが含まれているかを特定すると共にこの開発言語が前記ウェブサーバの開発言語と異なっているか否かを判定する手順、
前記リクエストと前記ウェブサーバとの間で前記開発言語が異なっている場合にこれを前記ブラックリストとして抽出する手順、
および抽出された前記ブラックリストを出力する手順
を実行させることを特徴とするブラックリスト抽出プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ウェブサイトへのアクセス情報から不正アクセスをブラックリストとして抽出するブラックリスト抽出装置、抽出方法および抽出プログラムに関する。
【背景技術】
【0002】
インターネット、特にウェブサイトを利用した情報発信や商取引などが一般的なものになるにつれ、それらのウェブサイトに対する(個人情報や取引情報などの)不正取得や不正な改竄などを意図した不正アクセスが多く行われるようになり、ウェブサイトの管理者はそのような不正アクセスへの対策がもはや必須である。
【0003】
その中でも特に多い不正アクセスの手口が、クロスサイトスクリプティング、SQLインジェクション攻撃、OSコマンドインジェクション攻撃といったものである。以下、これらについて説明する。
【0004】
クロスサイトスクリプティング(XSS)は、悪意を持ったユーザが(ウェブメールや掲示板などの)フォームからジャバスクリプトなどブラウザで実行可能なコードを入力すると、そのコードがそのまま他のユーザのブラウザに送り込まれて実行されてしまうというウェブサーバソフトの脆弱性を利用した不正アクセス行為である。これによって、たとえば特定のウェブサイトの表示内容を書き換えられたり、ブラウザのクッキー(cookie)として記憶された個人情報や取引情報を攻撃者に奪われたり、などといった被害が起こりうる。
【0005】
SQLインジェクション攻撃は、ウェブサイトで利用されるデータベースを操作する言語であるSQL(Structured Query Language)コマンドをURL内の引数やフォームなどを通じて入力することによって、当該データベースを不正に操作するという不正アクセス行為である。たとえばパスワードを知らなくても、そのデータベースにログインすることが、この行為によって可能になってしまう。これによって、当該データベースの内容が不正に改竄されるなどのような被害が起こりうる。
【0006】
これと同じように、ウェブサイトの動作を制御しているオペレーティングシステム(OS)のコマンドをURL内の引数やフォームなどを通じて入力することによって行われる不正アクセス行為が、OSコマンドインジェクション攻撃である。これによって、当該ウェブサイトの管理者権限を攻撃者に奪われるなどのような重大な被害が起こりうる。
【0007】
これに関連して、以下のような技術資料がある。その中でも特許文献1には、ユーザ名データが同一であり、かつパスワードデータが互いに異なるデータが短時間に連続して送信された場合にこれをクラッカーからの攻撃として検出するというクラッカー監視システムについて記載されている。特許文献2には、複数のサーバから収集したログから、侵入容疑の高いアクセス情報を収集して、専門家によって容易に分析できるログを記録するという侵入検知システムについて記載されている。
【0008】
特許文献3には、SQLサーバに対して送信されたクエリーに含まれるSQLインジェクション攻撃に係る文字列が実行されないように保護するというセキュリティプログラムについて記載されている。特許文献4には、アクセスポイントにおいて不正アクセスを検知してこれを防止するという広域ネットワークについて記載されている。特許文献5には、多数のウェブサーバからログ利用サーバがログを収集して、これを容易に利用して管理できるというログ収集管理システムについて記載されている。
【0009】
特許文献6には、インターネットから内部ネットワークに対して送られた不審な通信パケットを「おとり装置」に送信してそこで攻撃の有無を判定するという攻撃検知システムについて記載されている。非特許文献1には前述のクロスサイトスクリプティング、非特許文献2にはSQLインジェクション攻撃についての解説がそれぞれ記載されている。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】特開2001−057554号公報
【特許文献2】特開2005−189996号公報
【特許文献3】特表2009−506439号公報
【特許文献4】特開2004−086880号公報
【特許文献5】特開2004−295303号公報
【特許文献6】特開2007−312414号公報
【非特許文献】
【0011】
【非特許文献1】国分裕、「クロスサイトスクリプティング対策の基本」、2002年11月9日、アイティメディア株式会社、[平成24年1月17日検索]、インターネット<URL:http://www.atmarkit.co.jp/fsecurity/special/30xss/xss01.html>
【非特許文献2】上野宣、「今夜分かるSQLインジェクション対策」、2006年11月2日、アイティメディア株式会社、[平成24年1月17日検索]、インターネット<URL:http://www.atmarkit.co.jp/fsecurity/column/ueno/42.html>
【発明の概要】
【発明が解決しようとする課題】
【0012】
前述のように、ウェブサイトに対する不正アクセスは近年ますます手口が巧妙化していて、特にそのような不正アクセスの行われる範囲が複数のウェブサイトに及ぶことも多くなっている。また実際、これらのような不正アクセスを複数のウェブサイトに対して自動的に行うソフトウェアも存在する。
【0013】
そのようなソフトウェアを使われた場合、多数のウェブサイトに対して同一の文字列を含むリクエストが送られることになる。しかしながら、そのような不正アクセスは、単一のウェブサイトに対するリクエストとしては正当なものに見えることも多い。複数のウェブサイトに対するアクセスを見比べることによって、初めてこれを不正アクセスとして検出することが可能である。また、あるウェブサイトに対しては特に問題の無いリクエストであっても、同じリクエストを他のウェブサイトに対して送られた場合には不正アクセスとなる場合もある。
【0014】
即ち、複数のウェブサイトのアクセスログを見比べないと、不正アクセスを見逃す可能性が高くなる。しかしながら、複数のウェブサイトのアクセスログを見比べて不正アクセスを検出することは、高度なスキルを持ったネットワーク管理者が、分析作業を繰り返し、これによって情報を絞り込んでいくことが必要である。この作業は煩雑で、かつ自動化が困難なものである。また、ただでさえアクセスログのデータ量は膨大なものであるので、目視による検出では見逃しやヒューマンエラーが多く発生することにもなる。
【0015】
しかしながら、特許文献1〜6および非特許文献1〜2に記載された技術は、そのような問題点を解決するものではない。特許文献2に記載の技術は、各ウェブサイトの側で「(不正侵入と判断された)ログ情報をフィルタリング」して分析センタに送っているので、ウェブサイト単体でそれが正当なリクエストと判断された場合には、もうそれを不正アクセスとして検出することはできない。他の文献に記載の技術を組み合わせても同様である。
【0016】
本発明の目的は、複数のウェブサイトのアクセスログから有効に不正アクセスを検出することを可能とするブラックリスト抽出装置、抽出方法および抽出プログラムを提供することにある。
【課題を解決するための手段】
【0017】
上記目的を達成するため、本発明に係るブラックリスト抽出装置は、複数のウェブサーバとネットワークを介して相互に接続されたブラックリスト抽出装置であって、各ウェブサーバで記録されたアクセス情報を収集して、これを予め備えられた記憶手段にアクセスログとして記憶させるアクセスログ収集部と、予め与えられた検知条件に基づいて、アクセスログに記録されたアクセス情報から、同一のアクセス元IPアドレスから複数のウェブサーバに対して同一の文字列を含むリクエストが検知条件で定められた時間範囲内に送信されていることが検出された場合に、これをブラックリストとして抽出する攻撃情報抽出部と、リクエストにどの開発言語のコマンドが含まれているかを特定し、特定された開発言語がウェブサーバの開発言語と異なっているか否かを判定する言語種類判定部と、抽出されたブラックリストを出力するブラックリスト出力部とを備え、攻撃情報抽出部がリクエストとウェブサーバとの間で開発言語が異なっている場合にこれをブラックリストとして抽出することを特徴とする。
【0018】
上記目的を達成するため、本発明に係るブラックリスト抽出方法は、複数のウェブサーバとネットワークを介して相互に接続されたブラックリスト抽出装置にあって、各ウェブサーバで記録されたアクセス情報をアクセスログ収集部が収集して、これを予め備えられた記憶手段にアクセスログとして記憶させ、予め与えられた検知条件に基づいて、アクセスログに記録されたアクセス情報から、同一のアクセス元IPアドレスから複数のウェブサーバに対して同一の文字列を含むリクエストが検知条件で定められた時間範囲内に送信されていることが検出された場合に、これを攻撃情報抽出部がブラックリストとして抽出し、リクエストにどの開発言語のコマンドが含まれているかを言語種類判定部が特定すると共にこの開発言語がウェブサーバの開発言語と異なっているか否かを判定し、攻撃情報抽出部が、リクエストとウェブサーバとの間で開発言語が異なっている場合にこれをブラックリストとして抽出し、抽出されたブラックリストをブラックリスト出力部が出力することを特徴とする。
【0019】
上記目的を達成するため、本発明に係るブラックリスト抽出プログラムは、複数のウェブサーバとネットワークを介して相互に接続されたブラックリスト抽出装置にあって、ブラックリスト抽出装置が備えているコンピュータに、各ウェブサーバで記録されたアクセス情報を収集して、これを予め備えられた記憶手段にアクセスログとして記憶させる手順、予め与えられた検知条件に基づいて、アクセスログに記録されたアクセス情報から、同一のアクセス元IPアドレスから複数のウェブサーバに対して同一の文字列を含むリクエストが検知条件で定められた時間範囲内に送信されていることが検出された場合に、これをブラックリストとして抽出する手順、リクエストにどの開発言語のコマンドが含まれているかを特定すると共にこの開発言語がウェブサーバの開発言語と異なっているか否かを判定する手順、リクエストとウェブサーバとの間で開発言語が異なっている場合にこれをブラックリストとして抽出する手順、および抽出されたブラックリストを出力する手順を実行させることを特徴とする。
【発明の効果】
【0020】
本発明は、上記したように、同一のアクセス元からの複数のウェブサーバに対するアクセス情報から不正アクセスを抽出するように構成したので、複数のウェブサイトに対するアクセスを見比べることによって初めて検出できる不正アクセスを、容易に検出することが可能となる。これによって、複数のウェブサイトのアクセスログから有効に不正アクセスを検出することを可能であるという、優れた特徴を持つブラックリスト抽出装置、抽出方法および抽出プログラムを提供することができる。
【図面の簡単な説明】
【0021】
図1】本発明の実施形態に係るブラックリスト抽出装置の構成について示す説明図である。
図2図1に示したアクセスログ収集部によって収集されるアクセスログの一例について示す説明図である。
図3図1に示した検知条件記憶部に予め記憶されている検知条件の一例について示す説明図である。
図4図1に示したブラックリスト抽出装置が、ウェブサーバからアクセスログを収集して、そこから不正アクセスを抽出する動作について示すフローチャートである。
図5図1に示したブラックリスト記憶部に記憶されるブラックリストの一例について示す説明図である。
図6】本発明の第2の実施形態に係るブラックリスト抽出装置の構成について示す説明図である。
図7図6に示したウェブサーバ情報記憶部に記憶されているウェブサーバ情報の一例について示す説明図である。
図8図6に示したブラックリスト抽出装置が、ウェブサーバからアクセスログを収集して、そこから不正アクセスを抽出する動作について示すフローチャートである。
【発明を実施するための形態】
【0022】
(第1の実施形態)
以下、本発明の実施形態の構成について添付図1に基づいて説明する。
最初に、本実施形態の基本的な内容について説明し、その後でより具体的な内容について説明する。
本実施形態に係るブラックリスト抽出装置10は、複数のウェブサーバ20とネットワーク30を介して相互に接続されたブラックリスト抽出装置である。このブラックリスト抽出装置10は、各ウェブサーバで記録されたアクセス情報を収集して、これを予め備えられた記憶手段にアクセスログ150として記憶させるアクセスログ収集部101と、予め与えられた検知条件160に基づいて、アクセスログに記録された同一のアクセス元からの複数のウェブサーバに対するアクセス情報から不正アクセスをブラックリストとして抽出する攻撃情報抽出部102と、抽出されたブラックリストを出力するブラックリスト出力部106とを有する。
【0023】
ここで、攻撃情報抽出部102は、同一のアクセス元から複数のウェブサーバ20に対して同一の文字列を含むリクエストが検知条件160で定められた時間範囲内に送信されていることがアクセスログから検出された場合に、これを不正アクセスとして抽出する。
【0024】
この構成を備えることにより、ブラックリスト抽出装置10は、複数のウェブサイトのアクセスログから有効に不正アクセスを検出することが可能となる。
以下、これをより詳細に説明する。
【0025】
図1は、本発明の実施形態に係るブラックリスト抽出装置10の構成について示す説明図である。ブラックリスト抽出装置10は、コンピュータ装置としての基本的な構成を備えている。即ち、コンピュータプログラムの動作主体であるプロセッサ11と、プログラムおよびデータを記憶する記憶手段12と、ネットワーク30を介して他の装置との通信を行う通信手段13と、処理結果を出力する出力手段14とを備える。
【0026】
また、ブラックリスト抽出装置10は、ネットワーク30を介して、複数のウェブサーバ20に接続されている。このウェブサーバの台数については、2台以上であれば特に制限は無い。図1では、本発明の概念を平易に示すため、2台のウェブサーバ20aおよび20bについてのみ、それらの構成を示している。
【0027】
そして、ウェブサーバ20では、ネットワーク30を介してウェブページ閲覧要求を送信する不特定多数のクライアントコンピュータ40a、40b、40c、…からのアクセスログを記録するログ採取手段21と、それらの閲覧要求に対してウェブページ表示用のデータを送信するウェブサービス手段22とが各々動作している。
【0028】
ブラックリスト抽出装置10のプロセッサ11は、ブラックリスト抽出プログラムを実行することにより、アクセスログ収集部101、攻撃情報抽出部102、およびブラックリスト出力部106として動作する。また、記憶手段12には、収集されたアクセスログを記憶するための記憶域であるアクセスログ記憶部103と、不正アクセスを抽出するための条件を記憶する検知条件記憶部104と、抽出されたブラックリストの内容を記憶するための記憶域であるブラックリスト記憶部105が確保されている。
【0029】
アクセスログ収集部101は、各々のウェブサーバ20のログ採取手段21で記録されたアクセスログをネットワーク30を介して収集して、アクセスログ記憶部103に記憶する。そして攻撃情報抽出部102は、検知条件記憶部104に記憶された条件に基づいて、これらのアクセスログの記録内容の中から不正アクセスをブラックリストとして抽出し、その内容をブラックリスト記憶部105のブラックリスト170として記憶する。
【0030】
ブラックリスト出力部106は、最終的に記憶されたブラックリスト170を、出力手段14を介して出力する。ここで、出力手段14は、典型的にはディスプレイやプリンタなどであるが、たとえばネットワーク30を介して他のコンピュータに対して情報を出力させるものでもよく、また電子メールや音声通話などを介してネットワーク管理者を呼び出すものでもよい。
【0031】
図2は、図1に示したアクセスログ収集部101によって収集されるアクセスログ150の一例について示す説明図である。このアクセスログ150は、各々の記録データを一意に示す通し番号であるデータ番号150a、当該アクセスの対象となったウェブサイト名150b、当該アクセスが行われた日時を示すタイムスタンプ150c、当該アクセスを行ったクライアントコンピュータ40のIPアドレスを示すアクセス元IP150d、および当該アクセスの具体的な内容を示すリクエスト内容150eなどといったデータを含む。
【0032】
この中で、データ番号150a=「1」「5」「13」「14」の各データが、ウェブサイト名150bが各々違うが、タイムスタンプ150cが近接した日時(2012年1月17日12時00〜12分)であり、アクセス元IP150dが全て同一(192.168.123.45)であり、さらにリクエスト内容150eの引数の部分(?以後)が全て同一の文字列(txt=attack_pattern)を含む。
【0033】
図3は、図1に示した検知条件記憶部104に予め記憶されている検知条件160の一例について示す説明図である。この検知条件160は、各々の記録データを一意に示す通し番号である条件番号160a、設定されて記憶された検知条件である条件内容160b、および条件内容160bに該当した場合に判定される判定内容160cなどといったデータを含む。
【0034】
ここでは、条件番号160a=「1」として、「2つ以上のウェブサーバに対して」「10分以内に」「同一のアクセス元IPから」「同一の文字列を含んだリクエストが」送られている場合に、これを不正アクセスとして判定するという条件内容160b、この条件内容に該当した場合に判定内容160c=「攻撃パターンA」として検出するという検知条件が示されている。
【0035】
また、条件番号160a=「2」として、「1つ以上のウェブサーバに対して」「10分以内に」「同一のアクセス元IPから」「同一のID入力欄およびパスワード入力欄に対して2つ以上連続した入力が」送られている場合に、これを不正アクセスとして判定するという条件内容160b、この条件内容に該当した場合に判定内容160c=「攻撃パターンB」として検出するという検知条件が示されている。
【0036】
また、検知条件160は、上記以外にもたとえば、条件内容160bに設定された内容のうち何割以上が一致したら該当すると判断するための「一致率」や、文字列検索の具体的な方法を指定する「検索内容(たとえばあいまい検索のオン/オフなど)」、あるいは同一の文字列が複数のウェブサーバから検出されてもこれを不正アクセスとして検出しない「例外文字列」、などといった点を指定する内容を適宜含むこともできる。これらのような点については、公知技術に属する内容であるので詳しく説明しない。
【0037】
図4は、図1に示したブラックリスト抽出装置10が、ウェブサーバ20からアクセスログ150を収集して、そこから不正アクセスを抽出する動作について示すフローチャートである。
【0038】
まず、アクセスログ収集部101が、各々のウェブサーバ20のログ採取手段21で記録されたアクセスログをネットワーク30を介して収集して、アクセスログ記憶部103に記憶する(ステップS201)。そして攻撃情報抽出部102は、変数i=1、かつブラックリスト記憶部105に記憶されるブラックリスト170を空データとして初期設定し(ステップS202)、条件番号160a=iの条件内容160bに該当する内容がアクセスログ150の中に存在するか否かを判定する(ステップS203)。
【0039】
ステップS203で、該当する内容がアクセスログ150の中に存在すれば、攻撃情報抽出部102はその該当する内容を抽出して(ステップS204)、その該当する判定内容160c、タイムスタンプ150c、アクセス元IP150d、およびリクエスト内容150eをブラックリスト170に追加して(ステップS205)ステップS206に進む。該当する内容が存在しなければ、そのままステップS206に進む。
【0040】
そして攻撃情報抽出部102はi=i+1として(ステップS206)、iが条件番号160aの最大値を越えるまでステップS203〜206の処理を繰り返す(ステップS207)。全ての条件番号160aに対してこの処理を行ったら、ブラックリスト出力部106が記憶されたブラックリスト170を出力手段14を介して出力し(ステップS208)、処理を終了する。
【0041】
図5は、図1に示したブラックリスト記憶部105に記憶されるブラックリスト170の一例について示す説明図である。図5に示したブラックリスト170は、図2に示したアクセスログ150に対して、図3に示した検知条件160で検知を行った例である。
【0042】
前述のように、アクセスログ150には、データ番号150a=「1」「5」「13」「14」の各データが、複数のウェブサイトに対して、日時のタイムスタンプ150cが10分以内で、同一のアクセス元IP150dからの、同一の文字列を含むリクエスト内容150e、という内容が記録されている。これは、条件番号160a=「1」として登録された条件内容160bに一致する。
【0043】
従って、攻撃情報抽出部102はこれを判定内容160c=「攻撃パターンA」として検出し、該当するタイムスタンプ150c、アクセス元IP150d、およびリクエスト内容150eで一致した文字列をブラックリスト170に追加する。その際、タイムスタンプ150cのブラックリスト170に出力される内容は、その日時そのままでなく、当該アクセスがあった時刻の範囲や間隔などを出力するようにしてもよい。
【0044】
以上の処理によって出力されたブラックリスト170は、たとえばネットワーク管理者が目視によって、検出された各々のアクセスの危険性を判断するようにしてもよい。その場合も、複数のウェブサーバから検出された情報を一括して判断できるので、複数のログを見比べるよりも容易に判断することができる。
【0045】
(第1の実施形態の全体的な動作)
次に、上記の実施形態の全体的な動作について説明する。
本実施形態に係るブラックリスト抽出方法は、複数のウェブサーバとネットワークを介して相互に接続されたブラックリスト抽出装置10にあって、各ウェブサーバで記録されたアクセス情報をアクセスログ収集部が収集して、これを予め備えられた記憶手段にアクセスログとして記憶させ(図4・ステップS201)、予め与えられた検知条件に基づいて、アクセスログに記録された同一のアクセス元からの複数のウェブサーバに対するアクセス情報から不正アクセスを攻撃情報抽出部がブラックリストとして抽出し(図4・ステップS203〜206)、抽出されたブラックリストをブラックリスト出力部が出力する(図4・ステップS208)。
【0046】
また、この不正アクセスを抽出する処理は、同一のアクセス元から複数のウェブサーバに対して同一の文字列を含むリクエストが検知条件で定められた時間範囲内に送信されていることがアクセスログから検出された場合に、これを不正アクセスとして抽出する。
【0047】
ここで、上記各動作ステップについては、これをコンピュータで実行可能にプログラム化し、これらを前記各ステップを直接実行するブラックリスト抽出装置10のプロセッサ11に実行させるようにしてもよい。本プログラムは、非一時的な記録媒体、例えば、DVD、CD、フラッシュメモリ等に記録されてもよい。その場合、本プログラムは、記録媒体からコンピュータによって読み出され、実行される。
この動作により、本実施形態は以下のような効果を奏する。
【0048】
本実施形態によれば、複数のウェブサイトのアクセスログを見比べて不正アクセスを検出するという、従来は高度なスキルを必要とする煩雑な行為であったが、これを有効に自動化して工数を削減し、また見逃しやヒューマンエラーの発生を抑制することが可能となる。また、不正アクセスに利用される攻撃パターンを、従来とは違う観点で抽出することが可能となる。
【0049】
出力されたブラックリスト170は、その全体の内容、あるいはネットワーク管理者がそこから取捨選択した内容を、各ウェブサーバが備えるウェブアプリケーションファイアウォールに適したデータ形式に変換して、適用することができる。これによって、危険性の高いアクセスを容易に遮断することが可能となる。この場合においても、ネットワーク管理者による手動での判断は最終段階での情報の取捨選択のみであるので、少ない工数で不正アクセスを遮断することが可能となる。
【0050】
(第2の実施形態)
本発明の第2の実施形態に係るブラックリスト抽出装置310は、第1の実施形態で示した構成に加えて、リクエストにどの開発言語のコマンドが含まれているかを特定し、特定された開発言語がウェブサーバの開発言語と異なっているか否かを判定する言語種類判定部407を備え、攻撃情報抽出部402がリクエストとウェブサーバとの間で開発言語が異なっている場合にこれをブラックリストとして抽出するよう構成した。
【0051】
この構成によっても第1の実施形態と同一の効果が得られるのに加えて、さらに複数のサーバに対して特定の開発言語に依存するコマンドを送信することによる不正アクセスを有効に検出することが可能となる。
以下、これをより詳細に説明する。
【0052】
図6は、本発明の第2の実施形態に係るブラックリスト抽出装置310の構成について示す説明図である。ブラックリスト抽出装置310は、図1に示した第1の実施形態のブラックリスト抽出装置10と、ハードウェアとしては同一の構成を有する。これに接続されているネットワーク30およびウェブサーバ20も、第1の実施形態と同一である。
【0053】
また、ソフトウェアとしても、攻撃情報抽出部102が別の攻撃情報抽出部402に置換され、プロセッサ11ではさらに言語種類判定部407が動作し、記憶手段12にさらにウェブサーバ情報記憶部408が追加されている点以外は第1の実施形態と同一である。従って、第1の実施形態と同一である要素については、同一の呼称および参照番号でいう。
【0054】
図7は、図6に示したウェブサーバ情報記憶部408に記憶されているウェブサーバ情報480の一例について示す説明図である。ウェブサーバ情報480は、各々のウェブサーバ20のウェブサイト名480aと、当該ウェブサーバで使用されているウェブアプリケーションの開発言語種類480bが対応づけられて記憶されている。
【0055】
たとえばウェブサイト名480a=「WebSite001」は、開発言語種類480b=「Perl」である。開発言語種類480bは、他にも「Java(登録商標)」「PHP」「VB.Net」などのような内容を含むことができる。また、これとは別個にデータベースの種類などのデータを、ウェブサイト名480aと対応させて記憶させることもできる。
【0056】
言語種類判定部407は、各アクセスのリクエスト内容150eに、どの開発言語のコマンドが含まれているかを判定し、判定された開発言語がウェブサーバ情報480の開発言語種類480bと異なっているか否かについて判定する。そして攻撃情報抽出部402は、開発言語種類480bとは異なる言語のコマンドがリクエスト内容150eに含まれていれば、これを異常なアクセスとしてブラックリスト170に出力する機能を持つ。
【0057】
より具体的には、言語種類判定部407は、たとえばリクエスト内容150eに含まれるファイル名の拡張子が「.pl」であれば開発言語は「Perl」、「.php」であれば開発言語は「PHP」などのように検出することができる。または、拡張子以外のリクエスト内容から、各言語に固有の語法を検出するようにしてもよい。
【0058】
図8は、図6に示したブラックリスト抽出装置310が、ウェブサーバ20からアクセスログ150を収集して、そこから不正アクセスを抽出する動作について示すフローチャートである。これも、第1の実施形態と同一である動作内容については、図4と同一の参照番号を付している。ステップS201〜205は、第1の実施形態と同一の動作である。
【0059】
ステップS203〜205の判定の後、攻撃情報抽出部402は、アクセスログ150のウェブサイト名150bをウェブサーバ情報480のウェブサイト名480aの中から検索し、当該ウェブサイトで使用されている開発言語種類480bを特定する(ステップS501)。そして、言語種類判定部407が、リクエスト内容150eに含まれるコマンドの開発言語の種類を特定して、これが開発言語種類480bと一致するか否かについて判定する(ステップS502)。
【0060】
ステップS502で、開発言語の種類が一致しなければ、その旨をブラックリスト170に追加して(ステップS503)ステップS206に進む。開発言語の種類が一致すれば、そのままステップS206に進む。ステップ206以降の動作は、第1の実施形態と同一である。
【0061】
ステップS503で、ブラックリスト170に出力される内容は、「言語の種類が一致しないリクエストがあった」旨と、これに該当するタイムスタンプ150c、アクセス元IP150d、およびリクエスト内容150eである。これらの内容を、図5に示したものに準じる形で出力すればよい。
【0062】
前述のように、不正アクセス行為の多くは特定のソフトウェアによって複数のウェブサイトに対して自動的に行われるものである。従って、リクエスト内容に含まれる開発言語の種類とウェブサーバのそれとが異なっていることも多くなり、それは正当なアクセスではまず生じ得ないことであると考えることができる。本実施形態によれば、そのような行為を有効に検出して、不正アクセスであると判定することができる。
【0063】
これまで本発明について図面に示した特定の実施形態をもって説明してきたが、本発明は図面に示した実施形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができる。
【0064】
上述した実施形態について、その新規な技術内容の要点をまとめると、以下のようになる。なお、上記実施形態の一部または全部は、新規な技術として以下のようにまとめられるが、本発明は必ずしもこれに限定されるものではない。
【0065】
(付記1) 複数のウェブサーバとネットワークを介して相互に接続されたブラックリスト抽出装置であって、
前記各ウェブサーバで記録されたアクセス情報を収集して、これを予め備えられた記憶手段にアクセスログとして記憶させるアクセスログ収集部と、
予め与えられた検知条件に基づいて、前記アクセスログに記録された同一のアクセス元からの複数のウェブサーバに対するアクセス情報から不正アクセスをブラックリストとして抽出する攻撃情報抽出部と、
抽出された前記ブラックリストを出力するブラックリスト出力部と
を有することを特徴とするブラックリスト抽出装置。
【0066】
(付記2) 前記攻撃情報抽出部が、
前記同一のアクセス元から複数の前記ウェブサーバに対して同一の文字列を含むリクエストが前記検知条件で定められた時間範囲内に送信されていることが前記アクセスログから検出された場合に、これを前記不正アクセスとして抽出することを特徴とする、付記1に記載のブラックリスト抽出装置。
【0067】
(付記3) 前記リクエストにどの開発言語のコマンドが含まれているかを特定し、特定された前記開発言語が前記ウェブサーバの開発言語と異なっているか否かを判定する言語種類判定部を備え、
前記攻撃情報抽出部が前記リクエストと前記ウェブサーバとの間で前記開発言語が異なっている場合にこれを前記ブラックリストとして抽出することを特徴とする、付記2に記載のブラックリスト抽出装置。
【0068】
(付記4) 複数のウェブサーバとネットワークを介して相互に接続されたブラックリスト抽出装置にあって、
前記各ウェブサーバで記録されたアクセス情報をアクセスログ収集部が収集して、これを予め備えられた記憶手段にアクセスログとして記憶させ、
予め与えられた検知条件に基づいて、前記アクセスログに記録された同一のアクセス元からの複数のウェブサーバに対するアクセス情報から不正アクセスを攻撃情報抽出部がブラックリストとして抽出し、
抽出された前記ブラックリストをブラックリスト出力部が出力する
ことを特徴とするブラックリスト抽出方法。
【0069】
(付記5) 前記不正アクセスを抽出する処理が、
前記同一のアクセス元から複数の前記ウェブサーバに対して同一の文字列を含むリクエストが前記検知条件で定められた時間範囲内に送信されていることが前記アクセスログから検出された場合に、これを前記不正アクセスとして抽出することを特徴とする、付記4に記載のブラックリスト抽出方法。
【0070】
(付記6) 複数のウェブサーバとネットワークを介して相互に接続されたブラックリスト抽出装置にあって、
前記ブラックリスト抽出装置が備えているコンピュータに、
前記各ウェブサーバで記録されたアクセス情報を収集して、これを予め備えられた記憶手段にアクセスログとして記憶させる手順、
予め与えられた検知条件に基づいて、前記アクセスログに記録された同一のアクセス元からの複数のウェブサーバに対するアクセス情報から不正アクセスをブラックリストとして抽出する手順、
および抽出された前記ブラックリストを出力する手順
を実行させることを特徴とするブラックリスト抽出プログラム。
【0071】
(付記7) 前記不正アクセスを抽出する手順が、
前記同一のアクセス元から複数の前記ウェブサーバに対して同一の文字列を含むリクエストが前記検知条件で定められた時間範囲内に送信されていることが前記アクセスログから検出された場合に、これを前記不正アクセスとして抽出することを特徴とする、付記6に記載のブラックリスト抽出プログラム。
【産業上の利用可能性】
【0072】
本発明は、ウェブサーバに対して適用することが可能である。特に、ウェブアプリケーションファイアウォールを利用して危険性の高いアクセスを遮断する場合に有効である。
【符号の説明】
【0073】
10、310 ブラックリスト抽出装置
11 プロセッサ
12 記憶手段
13 通信手段
14 出力手段
20、20a、20b ウェブサーバ
21 ログ採取手段
22 ウェブサービス手段
30 ネットワーク
40、40a、40b、40c クライアントコンピュータ
101 アクセスログ収集部
102、402 攻撃情報抽出部
103 アクセスログ記憶部
104 検知条件記憶部
105 ブラックリスト記憶部
106 ブラックリスト出力部
150 アクセスログ
160 検知条件
170 ブラックリスト
407 言語種類判定部
408 ウェブサーバ情報記憶部
480 ウェブサーバ情報
図1
図2
図3
図4
図5
図6
図7
図8