処理中

しばらくお待ちください...

設定

設定

出願の表示

1. WO2020105308 - フィッシングサイト検知装置、フィッシングサイト検知方法、および、フィッシングサイト検知プログラム

Document

明 細 書

発明の名称 フィッシングサイト検知装置、フィッシングサイト検知方法、および、フィッシングサイト検知プログラム

技術分野

0001  

背景技術

0002  

先行技術文献

非特許文献

0003  

発明の概要

発明が解決しようとする課題

0004   0005  

課題を解決するための手段

0006  

発明の効果

0007  

図面の簡単な説明

0008  

発明を実施するための形態

0009   0010   0011   0012   0013   0014   0015   0016   0017   0018   0019   0020   0021   0022   0023   0024   0025   0026   0027   0028   0029   0030   0031   0032   0033   0034   0035   0036   0037   0038   0039   0040   0041   0042   0043   0044   0045   0046   0047   0048   0049   0050   0051   0052   0053   0054   0055   0056   0057   0058   0059   0060   0061   0062   0063   0064   0065   0066   0067   0068   0069   0070   0071   0072  

符号の説明

0073  

請求の範囲

1   2   3   4   5   6   7  

図面

1   2   3   4   5   6   7   8   9   10   11   12   13   14  

明 細 書

発明の名称 : フィッシングサイト検知装置、フィッシングサイト検知方法、および、フィッシングサイト検知プログラム

技術分野

[0001]
 本発明は、フィッシングサイト検知装置、フィッシングサイト検知方法、および、フィッシングサイト検知プログラムに関する。

背景技術

[0002]
 従来のフィッシング検知技術として、正規のウェブサイトのログインページとフィッシングサイト間のCSS(Cascading Style Sheets)の類似性を用いた検知技術や、ページで使用されているロゴ画像の類似性を用いた検知技術等、フィッシングサイトのコンテンツを用いた検知技術が存在する。これらの技術では、検知の指標となる正規のウェブサイトの情報を予め学習しておき、取得したコンテンツの特徴からフィッシングサイトであるか否かを判定する。

先行技術文献

非特許文献

[0003]
非特許文献1 : J. Mao, W. Tian, P. Li, T. Wei and Z. Liang, "Phishing-Alarm: Robust and Efficient Phishing Detection via Page Component Similarity",in IEEE Access, vol. 5, pp. 17020-17030, 2017.
非特許文献2 : Omid Asudeh and Matthew Wright, POSTER: Phishing Website Detection with a Multiphase Framework to Find Visual Similarity. In Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security (CCS '16). ACM, New York, NY, USA, 1790-1792. 2016.

発明の概要

発明が解決しようとする課題

[0004]
 フィッシングサイトには、検索エンジンの検索結果に掲載されることや、ブラックリストに掲載されることを避けるために、検索エンジンボットやセキュリティベンダーからのアクセスをブロックするアクセスブロック機能を持つものがある。このようなサイトでは、このアクセスブロック機能によりコンテンツが取得できず、正規のウェブサイトの学習データとの特徴の比較が行えないため、当該サイトがフィッシングサイトか否かを判定することができなかった。
[0005]
 そこで、本発明は、前記した問題を解決し、アクセスブロック機能をもつフィッシングサイトであっても、フィッシングサイトとして検知できるようにすることを課題とする。

課題を解決するための手段

[0006]
 前記した課題を解決するため、本発明は、フィッシングサイトを構築するためのツールであるフィッシングキットを取得するフィッシングキット取得部と、取得した前記フィッシングキットを用いてフィッシングサイトを構築し、フィッシングサイトの動作を再現するフィッシングサイト再現部と、前記フィッシングキットにより構築されたフィッシングサイトにおいてアクセスがブロックされるアクセス元の条件を、前記フィッシングキットから抽出するブロック条件抽出部と、前記抽出したアクセス元の条件を用いて、各フィッシングキットにより構築されたフィッシングサイトそれぞれへアクセスし、前記フィッシングサイトへのアクセス結果と、当該フィッシングサイトへのアクセスに用いたアクセス元の条件とを対応付けたアクセス結果情報を作成するアクセス部と、前記アクセス結果情報に示されるアクセス結果が前記フィッシングサイトからのアクセスブロックであるアクセス元の条件を選択して、フィッシングサイトの可能性のあるウェブサイトへアクセスする処理を1以上実行し、前記ウェブサイトへのアクセスがブロックされた場合、当該ウェブサイトをフィッシングサイトと判定するフィッシングサイト検知部と、を備えることを特徴とする。

発明の効果

[0007]
 本発明によれば、アクセスブロック機能をもつフィッシングサイトであっても、フィッシングサイトとして検知をすることができる。

図面の簡単な説明

[0008]
[図1] 図1は、本実施形態のフィッシングサイト検知装置の概要および構成例を説明する図である。
[図2] 図2は、図1のアクセス結果記憶部に記憶されるアクセス結果情報の例を示す図である。
[図3] 図3は、図2のアクセス結果情報に基づく、User-Agent、Refererのパターンの抽出の例を説明するための図である。
[図4] 図4は、図3で抽出されたUser-Agent、Refererのパターンを用いたフィッシングサイトの検知を説明するための図である。
[図5] 図5は、図3で抽出されたUser-Agent、Refererのパターンを用いたフィッシングサイトの検知を説明するための図である。
[図6] 図6は、図1のフィッシングサイト検知装置が、フィッシングサイトへのアクセス結果を収集する処理手順の例を示すフローチャートである。
[図7] 図7は、図1のフィッシングサイト検知装置が、フィッシングサイトを検知する処理手順の例を示すフローチャートである。
[図8] 図8は、図1のフィッシングキットダウンロード部が生成する、フィッシングキットのダウンロード元のURLの候補(ダウンロード候補)の例を示す図である。
[図9] 図9は、図1のフィッシングキットダウンロード部がダウンロード候補のURLからフィッシングキットをダウンロードする処理手順の例を示すフローチャートである。
[図10] 図10は、図1のフィッシングキットダウンロード部により生成する、フィッシングキットのダウンロード元のURLの候補(ダウンロード候補)の他の例を示す図である。
[図11] 図11は、図1のブロック条件抽出部によるブロック条件の抽出の例を説明する図である。
[図12] 図12は、図1のフィッシングサイトアクセス部によるフィッシングログインページのファイルの特定の例を説明する図である。
[図13] 図13は、フィッシングサイトのURLにランダム文字列の記述が含まれていた場合におけるフィッシングログインページのファイルの特定の例を説明する図である。
[図14] 図14は、フィッシングサイト検知プログラムを実行するコンピュータの例を示す図である。

発明を実施するための形態

[0009]
 以下、図面を参照しながら、本発明を実施するための形態(実施形態)について説明する。まず、図1を参照しながら、本実施形態のフィッシングサイト検知装置10の概要を説明する。本発明は、以下に説明する実施形態に限定されない。
[0010]
[概要]
 フィッシングサイト検知装置10は、例えば、インターネット上に存在するフィッシングサイトからPhishing Kit(フィッシングキット。フィッシングサイトを構築するためのツール)を取得し、閉環境にフィッシングサイトを構築し、動作させる。そして、フィッシングサイト検知装置10は、閉環境に構築したフィッシングサイトに対して、アクセスブロックされる可能性のあるアクセス元の条件(ブロック条件。例えば、User-Agent、Referer等)を設定してアクセスし、そのブロック条件でのアクセス結果(例えば、アクセスブロックされたか否か)を保存する。なお、このブロック条件は、例えば、フィッシングキット内の.htaccessから抽出されたものを用いる。
[0011]
 その後、フィッシングサイト検知装置10は、保存されたアクセス結果情報(アクセス結果の集合)を読み出し、アクセスパターン(例えば、アクセス時に用いるUser-Agent、Referer等)を変更して、フィッシングサイトである可能性のあるウェブサイトに複数回アクセスする。そして、フィッシングサイト検知装置10は、当該ウェブサイトからの応答に基づき、当該ウェブサイトがフィッシングサイトか否かを判定する。
[0012]
 例えば、フィッシングサイト検知装置10は、アクセス結果情報から、閉環境に構築した各フィッシングサイトにおいてブロックされた複数のブロック条件を読み出すと、このブロック条件を順次設定し、フィッシングサイトである可能性のあるウェブサイトにアクセスする。その結果、当該ウェブサイトからブロックされた場合、フィッシングサイト検知装置10は、当該ウェブサイトをフィッシングサイトと判定する。一方、当該ウェブサイトからブロックされなかった場合、フィッシングサイト検知装置10は、当該ウェブサイトをフィッシングサイトではないと判定する。
[0013]
 このように、フィッシングサイト検知装置10は、フィッシングサイトにおけるアクセスブロック機能の動作をフィッシングサイトの特徴と捉えることにより、フィッシングサイトの検知を行う。その結果、フィッシングサイト検知装置10は、アクセスブロック機能をもつフィッシングサイトであっても、フィッシングサイトとして検知することができる。
[0014]
[構成]
 次に、引き続き図1を用いて、フィッシングサイト検知装置10の構成例を説明する。フィッシングサイト検知装置10は、例えば、フィッシングキットダウンロード部(フィッシングキット取得部)11と、フィッシングキット記憶部12と、フィッシングサイト動作再現部13と、ブロック条件抽出部14と、フィッシングサイトアクセス部(アクセス部)15と、アクセス結果記憶部16と、フィッシングサイト検知部17とを備える。
[0015]
 フィッシングキットダウンロード部11は、フィッシングサイトからフィッシングキットをダウンロード(取得)し、ダウンロードしたフィッシングキットをフィッシングキット記憶部12に保存する。なお、このフィッシングキットは、前記したとおりフィッシングサイトを構築するためのツールであり、例えば、ログインページを模したHTMLファイルや画像ファイル、認証情報をメール送信する等のPHP等のプログラムコード、所定のアクセス元からのアクセスをブロックするためのApacheの.htaccessファイルやPHPコード等が含まれる。
[0016]
 このフィッシングキットは、悪意ある者が、フィッシングサイトを構築した後、削除のし忘れ等で当該フィッシングサイトに残っていることがある。そこで、フィッシングキットダウンロード部11は、例えば、ブラックリスト等から入手したフィッシングサイトのURLのリスト(フィッシングサイトURLリスト)に基づき、フィッシングサイトにアクセスし、フィッシングキットのダウンロードを試みる。ここで、フィッシングキットダウンロード部11は、フィッシングサイトのどのディレクトリにフィッシングキットが格納されているのか不明であることもあるので、フィッシングサイトのURLから、フィッシングキットのダウンロード元のURL(ダウンロード候補のURL)を複数生成し、生成したURLにアクセスし、フィッシングキットのダウンロードを試みる。なお、上記のフィッシングキットのダウンロード元のURLの生成については、具体例を用いて後記する。
[0017]
 フィッシングキット記憶部12は、フィッシングキットダウンロード部11により取得されたフィッシングキットを記憶する。
[0018]
 フィッシングサイト動作再現部13は、フィッシングキットダウンロード部11により取得されたフィッシングキットを展開し、フィッシングサイトを構築し、フィッシングサイトの動作を再現する。
[0019]
 例えば、フィッシングサイト動作再現部13は、フィッシングキット記憶部12からフィッシングキットを取得すると、当該フィッシングキットを閉環境(例えば、外部との通信が制限されるサーバ上)に展開し、フィッシングサイトを構築し、動作させる。なお、フィッシングサイト動作再現部13は、フィッシングサイトを動作させるサーバアプリケーションとして、例えば、ApacheおよびPHPを用いる。
[0020]
 ブロック条件抽出部14は、各フィッシングキットから、当該フィッシングキットにより構築されるフィッシングサイトにおいてアクセスがブロックされる1以上のアクセス元の条件(ブロック条件)を抽出する。
[0021]
 例えば、ブロック条件抽出部14は、フィッシングキット記憶部12から1以上のフィッシングキットを取得すると、取得したフィッシングキットそれぞれの.htaccessファイルからブロック条件となるUser-AgentおよびRefererを正規表現で抽出する。そして、ブロック条件抽出部14は、抽出したUser-AgentおよびRefererをリスト化したUser-Agent/Referer文字列リストを生成する。
[0022]
 フィッシングサイトアクセス部15は、ブロック条件抽出部14により抽出されたブロック条件を用いて、各フィッシングキットにより構築されたフィッシングサイトそれぞれへアクセスする。そして、フィッシングサイトアクセス部15は、各フィッシングサイトへのアクセス結果(例えば、HTTPレスポンスのステータスコード)と、当該フィッシングサイトへのアクセスに用いたブロック条件とを対応付けたアクセス結果情報を作成する。
[0023]
 例えば、フィッシングサイトアクセス部15は、User-Agent/Referer文字列リストに示されるUser-Agent、Refererをヘッダに設定したHTTPリクエストをフィッシングサイトへ送信し、当該フィッシングサイトから応答(HTTPレスポンス)を受信すると、当該フィッシングサイトの構築に用いられたフィッシングキットと、当該フィッシングサイトへのHTTPリクエストに設定したUser-Agent(UA)またはReferer(Ref)と、当該フィッシングサイトからの応答(HTTPレスポンス)のステータスコードと対応付けてアクセス結果情報(図2参照)に記録する。
[0024]
 例えば、図2に示すアクセス結果情報は、「No.1」のフィッシングキットにより構築されたフィッシングサイトへ、UA「SampleB」を設定したHTTPリクエストを送信した場合の応答のステータスコードは「200(成功)」であり、UA「SampleC」を設定したHTTPリクエストを送信した場合の応答のステータスコードは「403(アクセスブロック)」であったことを示す。また、「No.1」のフィッシングキットにより構築されたフィッシングサイトへ、Ref「SampleX」を設定したHTTPリクエストを送信した場合の応答のステータスコードは「403(アクセスブロック)」であり、Ref「SampleY」を設定したHTTPリクエストを送信した場合の応答のステータスコードは「200(成功)」であったことを示す。
[0025]
 なお、フィッシングサイトアクセス部15は、フィッシングサイト動作再現部13により構築されたフィッシングサイトへアクセスする際、当該フィッシングサイトのログインページとして利用される可能性があるファイルにアクセスする必要がある。このため、フィッシングサイトアクセス部15は、フィッシングキットのダウンロード元のフィッシングサイトのURLと、当該フィッシングキットとを用いて、当該フィッシングサイトのログインページとして利用される可能性があるファイル(フィッシングログインページのファイル)を特定する。ここでのフィッシングログインページのファイルの特定については、具体例を用いて後記する。
[0026]
 図1の説明に戻る。フィッシングサイト検知部17は、アクセス結果情報に示されるアクセス結果が、フィッシングサイトからのアクセスブロックであるアクセス元の条件を選択して、設定し、フィッシングサイトの可能性のあるウェブサイトへアクセスする処理を1以上実行し、当該ウェブサイトへのアクセスがブロックされた場合、当該ウェブサイトをフィッシングサイトと判定する。
[0027]
 例えば、フィッシングサイト検知部17は、アクセス結果記憶部16のアクセス結果情報から、フィッシングサイトへのアクセスがブロックされた1以上のUser-Agent、Refererを抽出すると、抽出した1以上のUser-Agent、Refererを設定したHTTPリクエストをフィッシングサイトの可能性のあるウェブサイトに送信する。つまり、フィッシングサイト検知部17は、User-Agent、Refererを変更して複数回、当該ウェブサイトにアクセスし、当該ウェブサイトへのアクセスがブロックされた場合、当該ウェブサイトをフィッシングサイトと判定する。
[0028]
 ここで、フィッシングサイト検知部17は、フィッシングサイトのアクセスブロック機能でブロックされる可能性が高く、かつ、できるだけ少ない回数のアクセス数でフィッシングサイトが検知できるようなUser-Agent、Refererのパターンを抽出することが好ましい。そこで、フィッシングサイト検知部17は、アクセス結果情報から、例えば、以下のようにしてフィッシングサイトの検知に用いるUser-Agent、Refererのパターンを抽出する。
[0029]
 例えば、フィッシングサイト検知装置10は、図3の上部に示すアクセス結果情報における、UA「SampleC」およびUA「SampleB」のアクセス結果に基づき、図3の下部に示す決定木を作成する。そして、フィッシングサイト検知部17は、作成した決定木に示される条件に基づき、UA「SampleC」およびUA「SampleB」を設定してフィッシングサイトである可能性のあるウェブサイトへアクセスし、そのアクセス結果に基づき、当該ウェブサイトがフィッシングサイト(Phishing)か否か(Benign)を判定する。
[0030]
 例えば、フィッシングサイト検知部17は、図3に示す決定木に基づき、UAに「SampleC」を設定し、当該ウェブサイトへアクセスし、そのアクセス結果のステータスコードが「403」であった(アクセスブロックされた)場合、当該ウェブサイトをフィッシングサイト(Phishing)と判定する。
[0031]
 また、当該ウェブサイトへのアクセス結果のステータスコードが「403」でなければ、フィッシングサイト検知部17は、UAに「SampleB」を設定し、当該ウェブサイトへ再度アクセスする。そして、当該ウェブサイトへのアクセス結果のステータスコードが「403」であった場合、フィッシングサイト検知部17は、当該ウェブサイトをフィッシングサイト(Phishing)と判定する。一方、当該ウェブサイトへのアクセス結果のステータスコードが「403」でなかった場合、フィッシングサイト検知部17は、当該ウェブサイトをフィッシングサイトではない(Benign)と判定する。
[0032]
 つまり、フィッシングサイト検知部17は、図4の上部に示すように、UAに「SampleC」を設定し、当該ウェブサイトへアクセスし、そのアクセス結果のステータスコードが「403」であった(アクセスブロックされた)場合、当該ウェブサイトをフィッシングサイトと判定する。
[0033]
 また、フィッシングサイト検知部17は、図4の下部に示すように、UAに「SampleC」を設定し、当該ウェブサイトへアクセスし、そのアクセス結果のステータスコードが「200」であった(「403」ではなかった)場合、UAに「SampleB」を設定し、当該ウェブサイトへ再度アクセスする。そして、当該ウェブサイトへのアクセス結果のステータスコードが「403」であった(アクセスブロックされた)場合、フィッシングサイト検知部17は、当該ウェブサイトをフィッシングサイトと判定する。
[0034]
 また、フィッシングサイト検知部17は、図5に示すように、UAに「SampleC」を設定し、当該ウェブサイトへアクセスし、そのアクセス結果のステータスコードが「200」であった(「403」ではなかった)場合、UAに「SampleB」を設定し、当該ウェブサイトへ再度アクセスする。そして、当該ウェブサイトへのアクセス結果のステータスコードが「200」であった(アクセスブロックされなかった)場合、フィッシングサイト検知部17は、当該ウェブサイトをフィッシングサイトではないと判定する。
[0035]
 このように、フィッシングサイト検知部17は、アクセス結果情報に基づき、フィッシングサイトである可能性のあるウェブサイトへのアクセスに用いるブロック条件のパターンを抽出する。そして、フィッシングサイト検知部17は、抽出したブロック条件のパターンに従い、当該ウェブサイトへアクセスする。つまり、フィッシングサイト検知部17はブロック条件を変更して、フィッシングサイトの可能性があるウェブサイトへ複数回アクセスする。そして、フィッシングサイト検知部17は、当該ウェブサイトへのアクセス結果に基づき、当該ウェブサイトがフィッシングサイトか否かを判定する。
[0036]
 以上説明したフィッシングサイト検知装置10によれば、アクセスブロック機能をもつフィッシングサイトであっても、フィッシングサイトとして検知することができる。
[0037]
[処理手順]
 次に、フィッシングサイト検知装置10の処理手順の例を説明する。まず、図6を用いてフィッシングサイト検知装置10が、フィッシングキットにより構築されたフィッシングサイトへのアクセス結果を収集する処理手順の例を説明する。
[0038]
 まず、フィッシングサイト検知装置10のフィッシングキットダウンロード部11は、フィッシングキットのダウンロード候補のURLを生成すると(S1)、当該URLにアクセスしてフィッシングキットをダウンロードする(S2)。そして、フィッシングキットダウンロード部11は、ダウンロードしたフィッシングキットをフィッシングキット記憶部12に保存する。
[0039]
 S2の後、ブロック条件抽出部14は、フィッシングキット記憶部12からフィッシングキットを取得し、このフィッシングキットに含まれる.htaccessからブロック条件(User-Agent、Referer)を抽出する(S3)。また、フィッシングサイト動作再現部13は、S2でダウンロードされたフィッシングキットにより、フィッシングサイトを構築する(S4)。
[0040]
 S4の後、フィッシングサイトアクセス部15は、S4で構築されたフィッシングサイトのログインページのURLを生成する(S5:フィッシングログインページのURL生成)。その後、フィッシングサイトアクセス部15は、S3で抽出されたブロック条件を設定して、S4で構築されたフィッシングサイトのログインページにアクセスすることにより、当該フィッシングサイトへのアクセス結果を収集する(S6)。
[0041]
 例えば、S6において、フィッシングサイトアクセス部15は、フィッシングサイト動作再現部13がフィッシングサイトの構築に用いたフィッシングキットと、当該フィッシングキットサイトへのHTTPリクエストに設定したブロック条件(User-Agent、Referer)と、当該HTTPリクエストに対する当該フィッシングサイトからの応答(HTTPレスポンス)のステータスコードとを対応付けたアクセス結果をアクセス結果情報(図2参照)に記録する。
[0042]
 なお、ここでは説明を省略するが、S2でダウンロードされたフィッシングキットが複数ある場合、フィッシングサイト検知装置10は、ダウンロードされたフィッシングキットごとに、S3~S6の処理を繰り返す。これにより、フィッシングサイトアクセス部15は、様々なフィッシングサイトのブロック条件と、当該ブロック条件を用いた各フィッシングサイトへのアクセス結果とを収集することができる。
[0043]
 次に、図7を用いてフィッシングサイト検知装置10が、図6で収集されたアクセス結果に基づき、フィッシングサイトの検知を行う処理手順の例を説明する。
[0044]
 まず、フィッシングサイト検知装置10のフィッシングサイト検知部17は、図6で収集されたアクセス結果(アクセス結果情報)から、フィッシングサイトの検知を行うためのUser-Agent、Refererのパターンを抽出する(S11:User-Agent、Refererパターン抽出)。そして、フィッシングサイト検知部17は、S11で抽出したUser-Agent、Refererのパターンを用いて、フィッシングサイトである可能性のあるウェブサイトにアクセスし、当該ウェブサイトからの応答に基づき、当該ウェブサイトがフィッシングサイトか否かの判定を行う(S12:フィッシングサイト検知)。
[0045]
 このようにすることで、フィッシングサイト検知装置10は、アクセスブロック機能をもつフィッシングサイトであっても、フィッシングサイトとして検知することができる。
[0046]
[フィッシングキットのダウンロード元のURLの生成]
 次に、フィッシングキットダウンロード部11によるフィッシングキットのダウンロード元のURLの生成について説明する。
[0047]
 フィッシングキットダウンロード部11は、例えば、図8に示すように、フィッシュングサイトのURL(フィッシングサイトURL)のディレクトリの記述を後方から段階的に削除することにより、フィッシングキットのダウンロード元のURLの候補(ダウンロード候補)を生成する。
[0048]
 例えば、フィッシングサイトURLが「http://phish.example.com/aaa/bbb/login/info/index.php」である場合、フィッシングキットダウンロード部11は、当該URLの後方のディレクトリから順にURLの記述を削除して、図8に示すダウンロード候補(1-1)~(1-5)を生成する。
[0049]
 その後、フィッシングキットダウンロード部11は、生成したダウンロード候補(1-1)~(1-5)のURLにアクセスし、フィッシングキットのダウンロードを試みる。例えば、フィッシングキットダウンロード部11は、図9に示す手順によりダウンロード候補(1-1)~(1-i)のURLにアクセスする。
[0050]
 まず、フィッシングキットダウンロード部11は、ダウンロード候補(1-i)のURLにアクセスする(図9のS21)。そして、フィッシングキットダウンロード部11が、アクセス先はオープンディレクトリであり(つまり、titleに「Index of」が含まれており)、かつ、オープンディレクトリのリンクに「.zip」を持つものがあると判断した場合(S22でYes→S23でYes)、フィッシングキットダウンロード部11は当該「.zip」を持つリンクから圧縮ファイルをダウンロードする(S24)。ダウンロードされた圧縮ファイルは、フィッシングサイト動作再現部13に展開される(S25)。一方、フィッシングキットダウンロード部11が、アクセス先はオープンディレクトリではない(S22でNo)、あるいは、オープンディレクトリのリンクに「.zip」を持つものがないと判断した場合(S23でNo)、S26へ進む。
[0051]
 S25の後、フィッシングキットダウンロード部11は、未アクセスのダウンロード候補のURLがあるか否かを判断し(S26)、未アクセスのダウンロード候補のURLがあれば(S26でYes)、iをインクリメントして(S27)、S21の処理へ戻る。一方、S25の後、未アクセスのダウンロード候補のURLがなければ(S26でNo)、処理を終了する。
[0052]
 また、フィッシングキットダウンロード部11は、ダウンロード候補のURLを生成する際、フィッシングサイトURLのディレクトリの記述を後方から段階的に削除したURLを生成した後、それぞれのURLの末尾に「.zip」等の圧縮ファイルを示す拡張子を付加してもよい(図10に示すダウンロード候補(2-1)~(2-4)参照)。この場合、ダウンロード候補のURLに既に圧縮ファイルを示す拡張子が付加されているので、フィッシングキットダウンロード部11は、ダウンロード候補のURLに順にアクセスし、該当するファイルがあればアクセス先からダウンロードすればよい。
[0053]
 このようにすることで、フィッシングキットダウンロード部11は、フィッシングサイトのどこにフィッシングキットが格納されているか不明な場合でも、フィッシングサイトからフィッシングキットをダウンロードしやすくなる。
[0054]
[ブロック条件の抽出]
 次に、ブロック条件抽出部14によるブロック条件の抽出を説明する。ブロック条件抽出部14は、例えば、フィッシングキット記憶部12に保存された圧縮ファイル(フィッシングキットである可能性のある圧縮ファイル)を取得すると、その圧縮ファイルを展開し、展開したファイル内の.htaccessファイルから正規表現を用いてブロック条件となりうるUser-AgentおよびRefererを抽出する。
[0055]
 例えば、ブロック条件抽出部14は、図11に示す.htaccessファイルから正規表現を用いてブロック条件となりうるUser-AgentおよびReferer(図11の下線部参照)を抽出する。例えば、ブロック条件抽出部14は、符号101に示すRefererに関する記述を、符号102に示すような正規表現(Regex)に変換して抽出する。また、ブロック条件抽出部14は、符号103に示すRefererに関する記述を、符号104に示すような正規表現(Regex)に変換して抽出する。
[0056]
[フィッシングログインページのファイルの特定]
 次に、フィッシングサイトアクセス部15によるフィッシングログインページのファイルの特定について説明する。フィッシングサイトアクセス部15は、例えば、フィッシングキットに含まれるファイルのうち、当該フィッシングキットのダウンロード元のフィッシングサイトのURLと後方一致するファイルを、フィッシングログインページのファイルとして特定する。
[0057]
 例えば、図12に示すように、フィッシングキットのダウンロード元のフィッシングサイトのURLが「http://phish.example.com/aaa/bbb/login/info/index.php」であり、当該フィッシングキットの展開後のファイル内のファイルパスが符号1101に示すファイルパス群である場合を考える。この場合、フィッシングサイトのURLに含まれる文字列「login/info/index.php」が展開後のファイル内のファイルパス群に含まれているため、フィッシングサイトアクセス部15は、「login/info/index.php」をフィッシングサイトのログインページとして使われるファイルと特定する。そして、フィッシングサイトアクセス部15は、フィッシングキットにより構築されたフィッシングサイトにおける、上記の特定されたファイルにアクセスする。
[0058]
 なお、フィッシングキットには、最初にアクセスするファイルに以下の数1に示すようなPHPコードがあり、当該フィッシングキットにより構築されたフィッシングサイトにアクセスすると、特定のフォルダをランダム文字列のフォルダ名にコピーして、そのフォルダに誘導する機能を持つものがある。
[0059]
[数1]


[0060]
 その場合、フィッシングサイトのURLは、例えば、図13に示すようにランダム文字列を含むので、フィッシングサイトアクセス部15は、フィッシングキットに含まれるファイルの中から、フィッシングサイトのURLと後方一致するファイルを特定できない場合がある。
[0061]
 そこで、フィッシングサイトアクセス部15は、上記のフィッシングサイトのURLにランダム文字列が含まれている場合、フィッシングサイトのURLからランダム文字列の記述を除外(削除)したURLを用いて、フィッシングキットに含まれるファイルの中から、フィッシングサイトのURLと後方一致するファイルを特定する。なお、上記のフィッシングサイトのURLにおいて、除外対象とするランダム文字列は正規表現で以下のように表現される。
[0062]
 ([\w]{32,}|[0-9A-Z]{20})(\=){0,2}
[0063]
 一例を挙げる。例えば、フィッシングサイトアクセス部15は、図13に示すように、フィッシングサイトのURLのパス部にランダム文字列が含まれる場合、ランダム文字列の記述を除外(削除)する。そして、フィッシングサイトアクセス部15は、フィッシングキットの展開後のファイル内のファイルの中から、ランダム文字列除外後のフィッシングサイトのURLと後方一致するファイルを、フィッシングサイトのログインページとして使われるファイルとして特定する。
[0064]
 このようにすることで、フィッシングサイトアクセス部15はフィッシングサイトのURLにランダム文字列が含まれる場合あっても、フィッシングサイトのログインページとして使われるファイルとして特定することができる。その結果、フィッシングサイトアクセス部15は、フィッシングサイトのログインページにアクセスしやすくなる。
[0065]
 以上説明したフィッシングサイト検知装置10によれば、アクセスブロック機能をもつフィッシングサイトであっても、フィッシングサイトとして検知することができる。
[0066]
 なお、PHP等を用いてアクセスブロックを行うフィッシングサイトの場合、フォーマットが様々なため、ブロック条件を抽出することが困難であり、従来技術では、フィッシングサイトか否かの判定が困難であった。しかし、フィッシングサイト検知装置10は、閉環境で動作するフィッシングサイトに対し様々な条件でアクセスしたアクセス結果を収集し、その収集したアクセス結果を用いてフィッシングサイトか否かの判定を行う。その結果、フィッシングサイト検知装置10は、PHP等によりアクセスブロックを行うフィッシングサイトであっても、フィッシングサイトとして検知することができる。
[0067]
[プログラム]
 また、上記の実施形態で述べたフィッシングサイト検知装置10の機能を実現するプログラムを所望の情報処理装置(コンピュータ)にインストールすることによって実装できる。例えば、パッケージソフトウェアやオンラインソフトウェアとして提供される上記のプログラムを情報処理装置に実行させることにより、情報処理装置をフィッシングサイト検知装置10として機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータ、ラック搭載型のサーバコンピュータ等が含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等がその範疇に含まれる。また、フィッシングサイト検知装置10を、クラウドサーバに実装してもよい。
[0068]
 図14を用いて、上記のプログラム(フィッシングサイト検知プログラム)を実行するコンピュータの一例を説明する。図14に示すように、コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有する。これらの各部は、バス1080によって接続される。
[0069]
 メモリ1010は、ROM(Read Only Memory)1011およびRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。ディスクドライブ1100には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース1050には、例えば、マウス1110およびキーボード1120が接続される。ビデオアダプタ1060には、例えば、ディスプレイ1130が接続される。
[0070]
 ここで、図14に示すように、ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093およびプログラムデータ1094を記憶する。前記した実施形態で説明した各種データや情報は、例えばハードディスクドライブ1090やメモリ1010に記憶される。
[0071]
 そして、CPU1020が、ハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した各手順を実行する。
[0072]
 なお、上記のフィッシングサイト検知プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、上記のプログラムに係るプログラムモジュール1093やプログラムデータ1094は、LANやWAN(Wide Area Network)等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。

符号の説明

[0073]
 10 フィッシングサイト検知装置
 11 フィッシングキットダウンロード部
 12 フィッシングキット記憶部
 13 フィッシングサイト動作再現部
 14 ブロック条件抽出部
 15 フィッシングサイトアクセス部
 16 アクセス結果記憶部
 17 フィッシングサイト検知部

請求の範囲

[請求項1]
 フィッシングサイトを構築するためのツールであるフィッシングキットを取得するフィッシングキット取得部と、
 取得した前記フィッシングキットを用いてフィッシングサイトを構築し、フィッシングサイトの動作を再現するフィッシングサイト再現部と、
 前記フィッシングキットにより構築されたフィッシングサイトにおいてアクセスがブロックされるアクセス元の条件を、前記フィッシングキットから抽出するブロック条件抽出部と、
 前記抽出したアクセス元の条件を用いて、各フィッシングキットにより構築されたフィッシングサイトそれぞれへアクセスし、前記フィッシングサイトへのアクセス結果と、当該フィッシングサイトへのアクセスに用いたアクセス元の条件とを対応付けたアクセス結果情報を作成するアクセス部と、
 前記アクセス結果情報に示されるアクセス結果が前記フィッシングサイトからのアクセスブロックであるアクセス元の条件を選択して、フィッシングサイトの可能性のあるウェブサイトへアクセスする処理を1以上実行し、前記ウェブサイトへのアクセスがブロックされた場合、当該ウェブサイトをフィッシングサイトと判定するフィッシングサイト検知部と、
 を備えることを特徴とするフィッシングサイト検知装置。
[請求項2]
 前記アクセス元の条件は、
 アクセス元のUser-AgentおよびRefererの少なくともいずれかである
 ことを特徴とする請求項1に記載のフィッシングサイト検知装置。
[請求項3]
 前記フィッシングキット取得部は、
 フィッシングサイトから、前記フィッシングキットを取得する
 ことを特徴とする請求項1に記載のフィッシングサイト検知装置。
[請求項4]
 前記アクセス部は、
 前記フィッシングキットに含まれるファイルのうち、前記フィッシングサイトのURLと後方一致するファイルを、前記フィッシングサイトのログインページのファイルとして特定し、再現された前記フィッシングサイトにおける前記ログインページのファイルにアクセスする
 ことを特徴とする請求項1に記載のフィッシングサイト検知装置。
[請求項5]
 前記アクセス部は、
 前記フィッシングサイトのURLのランダム文字列が含まれる場合、前記フィッシングサイトのURLからランダム文字列を削除し、前記フィッシングキットに含まれるファイルのうち、前記ランダム文字列の削除後のフィッシングサイトのURLと後方一致するファイルを、前記フィッシングサイトのログインページのファイルとして特定する
 ことを特徴とする請求項4に記載のフィッシングサイト検知装置。
[請求項6]
 フィッシングサイト検知装置により実行されるフィッシングサイト検知方法であって、
 フィッシングサイトを構築するためのツールであるフィッシングキットを取得するフィッシングキット取得ステップと、
 取得した前記フィッシングキットを用いてフィッシングサイトを構築し、フィッシングサイトの動作を再現するフィッシングサイト再現ステップと、
 前記フィッシングキットにより構築されたフィッシングサイトにおいてアクセスがブロックされるアクセス元の条件を、前記フィッシングキットから抽出するブロック条件抽出ステップと、
 前記抽出したアクセス元の条件を用いて、各フィッシングキットにより構築されたフィッシングサイトそれぞれへアクセスし、前記フィッシングサイトへのアクセス結果と、当該フィッシングサイトへのアクセスに用いたアクセス元の条件とを対応付けたアクセス結果情報を作成するアクセスステップと、
 前記アクセス結果情報に示されるアクセス結果が前記フィッシングサイトからのアクセスブロックであるアクセス元の条件を選択して、フィッシングサイトの可能性のあるウェブサイトへアクセスする処理を1以上実行し、前記ウェブサイトへのアクセスがブロックされた場合、当該ウェブサイトをフィッシングサイトと判定するフィッシングサイト検知ステップと、
 を含んだことを特徴とするフィッシングサイト検知方法。
[請求項7]
 フィッシングサイトを構築するためのツールであるフィッシングキットを取得するフィッシングキット取得ステップと、
 取得した前記フィッシングキットを用いてフィッシングサイトを構築し、フィッシングサイトの動作を再現するフィッシングサイト再現ステップと、
 前記フィッシングキットにより構築されたフィッシングサイトにおいてアクセスがブロックされるアクセス元の条件を、前記フィッシングキットから抽出するブロック条件抽出ステップと、
 前記抽出したアクセス元の条件を用いて、各フィッシングキットにより構築されたフィッシングサイトそれぞれへアクセスし、前記フィッシングサイトへのアクセス結果と、当該フィッシングサイトへのアクセスに用いたアクセス元の条件とを対応付けたアクセス結果情報を作成するアクセスステップと、
 前記アクセス結果情報に示されるアクセス結果が前記フィッシングサイトからのアクセスブロックであるアクセス元の条件を選択して、フィッシングサイトの可能性のあるウェブサイトへアクセスする処理を1以上実行し、前記ウェブサイトへのアクセスがブロックされた場合、当該ウェブサイトをフィッシングサイトと判定するフィッシングサイト検知ステップと、
 をコンピュータに実行させることを特徴とするフィッシングサイト検知プログラム。

図面

[ 図 1]

[ 図 2]

[ 図 3]

[ 図 4]

[ 図 5]

[ 図 6]

[ 図 7]

[ 図 8]

[ 図 9]

[ 図 10]

[ 図 11]

[ 図 12]

[ 図 13]

[ 図 14]