(57)【要約】  フィッシングサイト検知装置（１０）は、フィッシングキットから、フィッシングサイトにおいてアクセスがブロックされるアクセス元の条件を抽出する。そして、フィッシングサイト検知装置（１０）は、抽出した１以上のアクセス元の条件を用いて、当該フィッシングキットにより構築されたフィッシングサイトへアクセスし、アクセス元の条件ごとのアクセス結果をアクセス結果記憶部（１６）に蓄積する。その後、フィッシングサイト検知装置（１０）は、フィッシングキットにより構築されたフィッシングサイトにおいてアクセスがブロックされたアクセス元の条件を設定し、検知対象のウェブサイトにアクセスし、そのアクセス結果に基づき、当該ウェブサイトがフィッシングサイトか否かを判定する。
2020105308.tif 000002
【特許請求の範囲】
【請求項１】
フィッシングサイトを構築するためのツールであるフィッシングキットを取得するフィッシングキット取得部と、
取得した前記フィッシングキットを用いてフィッシングサイトを構築し、フィッシングサイトの動作を再現するフィッシングサイト再現部と、
前記フィッシングキットにより構築されたフィッシングサイトにおいてアクセスがブロックされるアクセス元の条件を、前記フィッシングキットから抽出するブロック条件抽出部と、
前記抽出したアクセス元の条件を用いて、各フィッシングキットにより構築されたフィッシングサイトそれぞれへアクセスし、前記フィッシングサイトへのアクセス結果と、当該フィッシングサイトへのアクセスに用いたアクセス元の条件とを対応付けたアクセス結果情報を作成するアクセス部と、
前記アクセス結果情報に示されるアクセス結果が前記フィッシングサイトからのアクセスブロックであるアクセス元の条件を選択して、フィッシングサイトの可能性のあるウェブサイトへアクセスする処理を１以上実行し、前記ウェブサイトへのアクセスがブロックされた場合、当該ウェブサイトをフィッシングサイトと判定するフィッシングサイト検知部と、
を備えることを特徴とするフィッシングサイト検知装置。
【請求項２】
前記アクセス元の条件は、
アクセス元のUser-AgentおよびRefererの少なくともいずれかである
ことを特徴とする請求項１に記載のフィッシングサイト検知装置。
【請求項３】
前記フィッシングキット取得部は、
フィッシングサイトから、前記フィッシングキットを取得する
ことを特徴とする請求項１に記載のフィッシングサイト検知装置。
【請求項４】
前記アクセス部は、
前記フィッシングキットに含まれるファイルのうち、前記フィッシングサイトのＵＲＬと後方一致するファイルを、前記フィッシングサイトのログインページのファイルとして特定し、再現された前記フィッシングサイトにおける前記ログインページのファイルにアクセスする
ことを特徴とする請求項１に記載のフィッシングサイト検知装置。
【請求項５】
前記アクセス部は、
前記フィッシングサイトのＵＲＬのランダム文字列が含まれる場合、前記フィッシングサイトのＵＲＬからランダム文字列を削除し、前記フィッシングキットに含まれるファイルのうち、前記ランダム文字列の削除後のフィッシングサイトのＵＲＬと後方一致するファイルを、前記フィッシングサイトのログインページのファイルとして特定する
ことを特徴とする請求項４に記載のフィッシングサイト検知装置。
【請求項６】
フィッシングサイト検知装置により実行されるフィッシングサイト検知方法であって、
フィッシングサイトを構築するためのツールであるフィッシングキットを取得するフィッシングキット取得ステップと、
取得した前記フィッシングキットを用いてフィッシングサイトを構築し、フィッシングサイトの動作を再現するフィッシングサイト再現ステップと、
前記フィッシングキットにより構築されたフィッシングサイトにおいてアクセスがブロックされるアクセス元の条件を、前記フィッシングキットから抽出するブロック条件抽出ステップと、
前記抽出したアクセス元の条件を用いて、各フィッシングキットにより構築されたフィッシングサイトそれぞれへアクセスし、前記フィッシングサイトへのアクセス結果と、当該フィッシングサイトへのアクセスに用いたアクセス元の条件とを対応付けたアクセス結果情報を作成するアクセスステップと、
前記アクセス結果情報に示されるアクセス結果が前記フィッシングサイトからのアクセスブロックであるアクセス元の条件を選択して、フィッシングサイトの可能性のあるウェブサイトへアクセスする処理を１以上実行し、前記ウェブサイトへのアクセスがブロックされた場合、当該ウェブサイトをフィッシングサイトと判定するフィッシングサイト検知ステップと、
を含んだことを特徴とするフィッシングサイト検知方法。
【請求項７】
フィッシングサイトを構築するためのツールであるフィッシングキットを取得するフィッシングキット取得ステップと、
取得した前記フィッシングキットを用いてフィッシングサイトを構築し、フィッシングサイトの動作を再現するフィッシングサイト再現ステップと、
前記フィッシングキットにより構築されたフィッシングサイトにおいてアクセスがブロックされるアクセス元の条件を、前記フィッシングキットから抽出するブロック条件抽出ステップと、
前記抽出したアクセス元の条件を用いて、各フィッシングキットにより構築されたフィッシングサイトそれぞれへアクセスし、前記フィッシングサイトへのアクセス結果と、当該フィッシングサイトへのアクセスに用いたアクセス元の条件とを対応付けたアクセス結果情報を作成するアクセスステップと、
前記アクセス結果情報に示されるアクセス結果が前記フィッシングサイトからのアクセスブロックであるアクセス元の条件を選択して、フィッシングサイトの可能性のあるウェブサイトへアクセスする処理を１以上実行し、前記ウェブサイトへのアクセスがブロックされた場合、当該ウェブサイトをフィッシングサイトと判定するフィッシングサイト検知ステップと、
をコンピュータに実行させることを特徴とするフィッシングサイト検知プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フィッシングサイト検知装置、フィッシングサイト検知方法、および、フィッシングサイト検知プログラムに関する。
【背景技術】
【０００２】
従来のフィッシング検知技術として、正規のウェブサイトのログインページとフィッシングサイト間のCSS（Cascading  Style  Sheets）の類似性を用いた検知技術や、ページで使用されているロゴ画像の類似性を用いた検知技術等、フィッシングサイトのコンテンツを用いた検知技術が存在する。これらの技術では、検知の指標となる正規のウェブサイトの情報を予め学習しておき、取得したコンテンツの特徴からフィッシングサイトであるか否かを判定する。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】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.
【非特許文献２】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.
【発明の概要】
【発明が解決しようとする課題】
【０００４】
フィッシングサイトには、検索エンジンの検索結果に掲載されることや、ブラックリストに掲載されることを避けるために、検索エンジンボットやセキュリティベンダーからのアクセスをブロックするアクセスブロック機能を持つものがある。このようなサイトでは、このアクセスブロック機能によりコンテンツが取得できず、正規のウェブサイトの学習データとの特徴の比較が行えないため、当該サイトがフィッシングサイトか否かを判定することができなかった。【０００５】
そこで、本発明は、前記した問題を解決し、アクセスブロック機能をもつフィッシングサイトであっても、フィッシングサイトとして検知できるようにすることを課題とする。
【課題を解決するための手段】
【０００６】
前記した課題を解決するため、本発明は、フィッシングサイトを構築するためのツールであるフィッシングキットを取得するフィッシングキット取得部と、取得した前記フィッシングキットを用いてフィッシングサイトを構築し、フィッシングサイトの動作を再現するフィッシングサイト再現部と、前記フィッシングキットにより構築されたフィッシングサイトにおいてアクセスがブロックされるアクセス元の条件を、前記フィッシングキットから抽出するブロック条件抽出部と、前記抽出したアクセス元の条件を用いて、各フィッシングキットにより構築されたフィッシングサイトそれぞれへアクセスし、前記フィッシングサイトへのアクセス結果と、当該フィッシングサイトへのアクセスに用いたアクセス元の条件とを対応付けたアクセス結果情報を作成するアクセス部と、前記アクセス結果情報に示されるアクセス結果が前記フィッシングサイトからのアクセスブロックであるアクセス元の条件を選択して、フィッシングサイトの可能性のあるウェブサイトへアクセスする処理を１以上実行し、前記ウェブサイトへのアクセスがブロックされた場合、当該ウェブサイトをフィッシングサイトと判定するフィッシングサイト検知部と、を備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、アクセスブロック機能をもつフィッシングサイトであっても、フィッシングサイトとして検知をすることができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、本実施形態のフィッシングサイト検知装置の概要および構成例を説明する図である。
【図２】図２は、図１のアクセス結果記憶部に記憶されるアクセス結果情報の例を示す図である。
【図３】図３は、図２のアクセス結果情報に基づく、User-Agent、Refererのパターンの抽出の例を説明するための図である。
【図４】図４は、図３で抽出されたUser-Agent、Refererのパターンを用いたフィッシングサイトの検知を説明するための図である。
【図５】図５は、図３で抽出されたUser-Agent、Refererのパターンを用いたフィッシングサイトの検知を説明するための図である。
【図６】図６は、図１のフィッシングサイト検知装置が、フィッシングサイトへのアクセス結果を収集する処理手順の例を示すフローチャートである。
【図７】図７は、図１のフィッシングサイト検知装置が、フィッシングサイトを検知する処理手順の例を示すフローチャートである。
【図８】図８は、図１のフィッシングキットダウンロード部が生成する、フィッシングキットのダウンロード元のＵＲＬの候補（ダウンロード候補）の例を示す図である。
【図９】図９は、図１のフィッシングキットダウンロード部がダウンロード候補のＵＲＬからフィッシングキットをダウンロードする処理手順の例を示すフローチャートである。
【図１０】図１０は、図１のフィッシングキットダウンロード部により生成する、フィッシングキットのダウンロード元のＵＲＬの候補（ダウンロード候補）の他の例を示す図である。
【図１１】図１１は、図１のブロック条件抽出部によるブロック条件の抽出の例を説明する図である。
【図１２】図１２は、図１のフィッシングサイトアクセス部によるフィッシングログインページのファイルの特定の例を説明する図である。
【図１３】図１３は、フィッシングサイトのＵＲＬにランダム文字列の記述が含まれていた場合におけるフィッシングログインページのファイルの特定の例を説明する図である。
【図１４】図１４は、フィッシングサイト検知プログラムを実行するコンピュータの例を示す図である。
【発明を実施するための形態】
【０００９】
以下、図面を参照しながら、本発明を実施するための形態（実施形態）について説明する。まず、図１を参照しながら、本実施形態のフィッシングサイト検知装置１０の概要を説明する。本発明は、以下に説明する実施形態に限定されない。
【００１０】
［概要］
フィッシングサイト検知装置１０は、例えば、インターネット上に存在するフィッシングサイトからPhishing  Kit（フィッシングキット。フィッシングサイトを構築するためのツール）を取得し、閉環境にフィッシングサイトを構築し、動作させる。そして、フィッシングサイト検知装置１０は、閉環境に構築したフィッシングサイトに対して、アクセスブロックされる可能性のあるアクセス元の条件（ブロック条件。例えば、User-Agent、Referer等）を設定してアクセスし、そのブロック条件でのアクセス結果（例えば、アクセスブロックされたか否か）を保存する。なお、このブロック条件は、例えば、フィッシングキット内の.htaccessから抽出されたものを用いる。
【００１１】
その後、フィッシングサイト検知装置１０は、保存されたアクセス結果情報（アクセス結果の集合）を読み出し、アクセスパターン（例えば、アクセス時に用いるUser-Agent、Referer等）を変更して、フィッシングサイトである可能性のあるウェブサイトに複数回アクセスする。そして、フィッシングサイト検知装置１０は、当該ウェブサイトからの応答に基づき、当該ウェブサイトがフィッシングサイトか否かを判定する。
【００１２】
例えば、フィッシングサイト検知装置１０は、アクセス結果情報から、閉環境に構築した各フィッシングサイトにおいてブロックされた複数のブロック条件を読み出すと、このブロック条件を順次設定し、フィッシングサイトである可能性のあるウェブサイトにアクセスする。その結果、当該ウェブサイトからブロックされた場合、フィッシングサイト検知装置１０は、当該ウェブサイトをフィッシングサイトと判定する。一方、当該ウェブサイトからブロックされなかった場合、フィッシングサイト検知装置１０は、当該ウェブサイトをフィッシングサイトではないと判定する。
【００１３】
このように、フィッシングサイト検知装置１０は、フィッシングサイトにおけるアクセスブロック機能の動作をフィッシングサイトの特徴と捉えることにより、フィッシングサイトの検知を行う。その結果、フィッシングサイト検知装置１０は、アクセスブロック機能をもつフィッシングサイトであっても、フィッシングサイトとして検知することができる。
【００１４】
［構成］
次に、引き続き図１を用いて、フィッシングサイト検知装置１０の構成例を説明する。フィッシングサイト検知装置１０は、例えば、フィッシングキットダウンロード部（フィッシングキット取得部）１１と、フィッシングキット記憶部１２と、フィッシングサイト動作再現部１３と、ブロック条件抽出部１４と、フィッシングサイトアクセス部（アクセス部）１５と、アクセス結果記憶部１６と、フィッシングサイト検知部１７とを備える。
【００１５】
フィッシングキットダウンロード部１１は、フィッシングサイトからフィッシングキットをダウンロード（取得）し、ダウンロードしたフィッシングキットをフィッシングキット記憶部１２に保存する。なお、このフィッシングキットは、前記したとおりフィッシングサイトを構築するためのツールであり、例えば、ログインページを模したHTMLファイルや画像ファイル、認証情報をメール送信する等のPHP等のプログラムコード、所定のアクセス元からのアクセスをブロックするためのApacheの.htaccessファイルやPHPコード等が含まれる。
【００１６】
このフィッシングキットは、悪意ある者が、フィッシングサイトを構築した後、削除のし忘れ等で当該フィッシングサイトに残っていることがある。そこで、フィッシングキットダウンロード部１１は、例えば、ブラックリスト等から入手したフィッシングサイトのＵＲＬのリスト（フィッシングサイトＵＲＬリスト）に基づき、フィッシングサイトにアクセスし、フィッシングキットのダウンロードを試みる。ここで、フィッシングキットダウンロード部１１は、フィッシングサイトのどのディレクトリにフィッシングキットが格納されているのか不明であることもあるので、フィッシングサイトのＵＲＬから、フィッシングキットのダウンロード元のＵＲＬ（ダウンロード候補のＵＲＬ）を複数生成し、生成したＵＲＬにアクセスし、フィッシングキットのダウンロードを試みる。なお、上記のフィッシングキットのダウンロード元のＵＲＬの生成については、具体例を用いて後記する。
【００１７】
フィッシングキット記憶部１２は、フィッシングキットダウンロード部１１により取得されたフィッシングキットを記憶する。
【００１８】
フィッシングサイト動作再現部１３は、フィッシングキットダウンロード部１１により取得されたフィッシングキットを展開し、フィッシングサイトを構築し、フィッシングサイトの動作を再現する。
【００１９】
例えば、フィッシングサイト動作再現部１３は、フィッシングキット記憶部１２からフィッシングキットを取得すると、当該フィッシングキットを閉環境（例えば、外部との通信が制限されるサーバ上）に展開し、フィッシングサイトを構築し、動作させる。なお、フィッシングサイト動作再現部１３は、フィッシングサイトを動作させるサーバアプリケーションとして、例えば、ApacheおよびPHPを用いる。
【００２０】
ブロック条件抽出部１４は、各フィッシングキットから、当該フィッシングキットにより構築されるフィッシングサイトにおいてアクセスがブロックされる１以上のアクセス元の条件（ブロック条件）を抽出する。
【００２１】
例えば、ブロック条件抽出部１４は、フィッシングキット記憶部１２から１以上のフィッシングキットを取得すると、取得したフィッシングキットそれぞれの.htaccessファイルからブロック条件となるUser-AgentおよびRefererを正規表現で抽出する。そして、ブロック条件抽出部１４は、抽出したUser-AgentおよびRefererをリスト化したUser-Agent/Referer文字列リストを生成する。
【００２２】
フィッシングサイトアクセス部１５は、ブロック条件抽出部１４により抽出されたブロック条件を用いて、各フィッシングキットにより構築されたフィッシングサイトそれぞれへアクセスする。そして、フィッシングサイトアクセス部１５は、各フィッシングサイトへのアクセス結果（例えば、HTTPレスポンスのステータスコード）と、当該フィッシングサイトへのアクセスに用いたブロック条件とを対応付けたアクセス結果情報を作成する。
【００２３】
例えば、フィッシングサイトアクセス部１５は、User-Agent/Referer文字列リストに示されるUser-Agent、Refererをヘッダに設定したHTTPリクエストをフィッシングサイトへ送信し、当該フィッシングサイトから応答（HTTPレスポンス）を受信すると、当該フィッシングサイトの構築に用いられたフィッシングキットと、当該フィッシングサイトへのHTTPリクエストに設定したUser-Agent（UA）またはReferer（Ref）と、当該フィッシングサイトからの応答（HTTPレスポンス）のステータスコードと対応付けてアクセス結果情報（図２参照）に記録する。
【００２４】
例えば、図２に示すアクセス結果情報は、「No.1」のフィッシングキットにより構築されたフィッシングサイトへ、UA「SampleB」を設定したHTTPリクエストを送信した場合の応答のステータスコードは「200（成功）」であり、UA「SampleC」を設定したHTTPリクエストを送信した場合の応答のステータスコードは「403（アクセスブロック）」であったことを示す。また、「No.1」のフィッシングキットにより構築されたフィッシングサイトへ、Ref「SampleX」を設定したHTTPリクエストを送信した場合の応答のステータスコードは「403（アクセスブロック）」であり、Ref「SampleY」を設定したHTTPリクエストを送信した場合の応答のステータスコードは「200（成功）」であったことを示す。
【００２５】
なお、フィッシングサイトアクセス部１５は、フィッシングサイト動作再現部１３により構築されたフィッシングサイトへアクセスする際、当該フィッシングサイトのログインページとして利用される可能性があるファイルにアクセスする必要がある。このため、フィッシングサイトアクセス部１５は、フィッシングキットのダウンロード元のフィッシングサイトのＵＲＬと、当該フィッシングキットとを用いて、当該フィッシングサイトのログインページとして利用される可能性があるファイル（フィッシングログインページのファイル）を特定する。ここでのフィッシングログインページのファイルの特定については、具体例を用いて後記する。
【００２６】
図１の説明に戻る。フィッシングサイト検知部１７は、アクセス結果情報に示されるアクセス結果が、フィッシングサイトからのアクセスブロックであるアクセス元の条件を選択して、設定し、フィッシングサイトの可能性のあるウェブサイトへアクセスする処理を１以上実行し、当該ウェブサイトへのアクセスがブロックされた場合、当該ウェブサイトをフィッシングサイトと判定する。
【００２７】
例えば、フィッシングサイト検知部１７は、アクセス結果記憶部１６のアクセス結果情報から、フィッシングサイトへのアクセスがブロックされた１以上のUser-Agent、Refererを抽出すると、抽出した１以上のUser-Agent、Refererを設定したHTTPリクエストをフィッシングサイトの可能性のあるウェブサイトに送信する。つまり、フィッシングサイト検知部１７は、User-Agent、Refererを変更して複数回、当該ウェブサイトにアクセスし、当該ウェブサイトへのアクセスがブロックされた場合、当該ウェブサイトをフィッシングサイトと判定する。
【００２８】
ここで、フィッシングサイト検知部１７は、フィッシングサイトのアクセスブロック機能でブロックされる可能性が高く、かつ、できるだけ少ない回数のアクセス数でフィッシングサイトが検知できるようなUser-Agent、Refererのパターンを抽出することが好ましい。そこで、フィッシングサイト検知部１７は、アクセス結果情報から、例えば、以下のようにしてフィッシングサイトの検知に用いるUser-Agent、Refererのパターンを抽出する。
【００２９】
例えば、フィッシングサイト検知装置１０は、図３の上部に示すアクセス結果情報における、UA「SampleC」およびUA「SampleB」のアクセス結果に基づき、図３の下部に示す決定木を作成する。そして、フィッシングサイト検知部１７は、作成した決定木に示される条件に基づき、UA「SampleC」およびUA「SampleB」を設定してフィッシングサイトである可能性のあるウェブサイトへアクセスし、そのアクセス結果に基づき、当該ウェブサイトがフィッシングサイト（Phishing）か否か（Benign）を判定する。
【００３０】
例えば、フィッシングサイト検知部１７は、図３に示す決定木に基づき、UAに「SampleC」を設定し、当該ウェブサイトへアクセスし、そのアクセス結果のステータスコードが「403」であった（アクセスブロックされた）場合、当該ウェブサイトをフィッシングサイト（Phishing）と判定する。
【００３１】
また、当該ウェブサイトへのアクセス結果のステータスコードが「403」でなければ、フィッシングサイト検知部１７は、UAに「SampleB」を設定し、当該ウェブサイトへ再度アクセスする。そして、当該ウェブサイトへのアクセス結果のステータスコードが「403」であった場合、フィッシングサイト検知部１７は、当該ウェブサイトをフィッシングサイト（Phishing）と判定する。一方、当該ウェブサイトへのアクセス結果のステータスコードが「403」でなかった場合、フィッシングサイト検知部１７は、当該ウェブサイトをフィッシングサイトではない（Benign）と判定する。
【００３２】
つまり、フィッシングサイト検知部１７は、図４の上部に示すように、UAに「SampleC」を設定し、当該ウェブサイトへアクセスし、そのアクセス結果のステータスコードが「403」であった（アクセスブロックされた）場合、当該ウェブサイトをフィッシングサイトと判定する。
【００３３】
また、フィッシングサイト検知部１７は、図４の下部に示すように、UAに「SampleC」を設定し、当該ウェブサイトへアクセスし、そのアクセス結果のステータスコードが「200」であった（「403」ではなかった）場合、UAに「SampleB」を設定し、当該ウェブサイトへ再度アクセスする。そして、当該ウェブサイトへのアクセス結果のステータスコードが「403」であった（アクセスブロックされた）場合、フィッシングサイト検知部１７は、当該ウェブサイトをフィッシングサイトと判定する。
【００３４】
また、フィッシングサイト検知部１７は、図５に示すように、UAに「SampleC」を設定し、当該ウェブサイトへアクセスし、そのアクセス結果のステータスコードが「200」であった（「403」ではなかった）場合、UAに「SampleB」を設定し、当該ウェブサイトへ再度アクセスする。そして、当該ウェブサイトへのアクセス結果のステータスコードが「200」であった（アクセスブロックされなかった）場合、フィッシングサイト検知部１７は、当該ウェブサイトをフィッシングサイトではないと判定する。
【００３５】
このように、フィッシングサイト検知部１７は、アクセス結果情報に基づき、フィッシングサイトである可能性のあるウェブサイトへのアクセスに用いるブロック条件のパターンを抽出する。そして、フィッシングサイト検知部１７は、抽出したブロック条件のパターンに従い、当該ウェブサイトへアクセスする。つまり、フィッシングサイト検知部１７はブロック条件を変更して、フィッシングサイトの可能性があるウェブサイトへ複数回アクセスする。そして、フィッシングサイト検知部１７は、当該ウェブサイトへのアクセス結果に基づき、当該ウェブサイトがフィッシングサイトか否かを判定する。
【００３６】
以上説明したフィッシングサイト検知装置１０によれば、アクセスブロック機能をもつフィッシングサイトであっても、フィッシングサイトとして検知することができる。
【００３７】
［処理手順］
次に、フィッシングサイト検知装置１０の処理手順の例を説明する。まず、図６を用いてフィッシングサイト検知装置１０が、フィッシングキットにより構築されたフィッシングサイトへのアクセス結果を収集する処理手順の例を説明する。
【００３８】
まず、フィッシングサイト検知装置１０のフィッシングキットダウンロード部１１は、フィッシングキットのダウンロード候補のＵＲＬを生成すると（Ｓ１）、当該ＵＲＬにアクセスしてフィッシングキットをダウンロードする（Ｓ２）。そして、フィッシングキットダウンロード部１１は、ダウンロードしたフィッシングキットをフィッシングキット記憶部１２に保存する。
【００３９】
Ｓ２の後、ブロック条件抽出部１４は、フィッシングキット記憶部１２からフィッシングキットを取得し、このフィッシングキットに含まれる.htaccessからブロック条件（User-Agent、Referer）を抽出する（Ｓ３）。また、フィッシングサイト動作再現部１３は、Ｓ２でダウンロードされたフィッシングキットにより、フィッシングサイトを構築する（Ｓ４）。
【００４０】
Ｓ４の後、フィッシングサイトアクセス部１５は、Ｓ４で構築されたフィッシングサイトのログインページのＵＲＬを生成する（Ｓ５：フィッシングログインページのＵＲＬ生成）。その後、フィッシングサイトアクセス部１５は、Ｓ３で抽出されたブロック条件を設定して、Ｓ４で構築されたフィッシングサイトのログインページにアクセスすることにより、当該フィッシングサイトへのアクセス結果を収集する（Ｓ６）。
【００４１】
例えば、Ｓ６において、フィッシングサイトアクセス部１５は、フィッシングサイト動作再現部１３がフィッシングサイトの構築に用いたフィッシングキットと、当該フィッシングキットサイトへのHTTPリクエストに設定したブロック条件（User-Agent、Referer）と、当該HTTPリクエストに対する当該フィッシングサイトからの応答（HTTPレスポンス）のステータスコードとを対応付けたアクセス結果をアクセス結果情報（図２参照）に記録する。
【００４２】
なお、ここでは説明を省略するが、Ｓ２でダウンロードされたフィッシングキットが複数ある場合、フィッシングサイト検知装置１０は、ダウンロードされたフィッシングキットごとに、Ｓ３〜Ｓ６の処理を繰り返す。これにより、フィッシングサイトアクセス部１５は、様々なフィッシングサイトのブロック条件と、当該ブロック条件を用いた各フィッシングサイトへのアクセス結果とを収集することができる。
【００４３】
次に、図７を用いてフィッシングサイト検知装置１０が、図６で収集されたアクセス結果に基づき、フィッシングサイトの検知を行う処理手順の例を説明する。
【００４４】
まず、フィッシングサイト検知装置１０のフィッシングサイト検知部１７は、図６で収集されたアクセス結果（アクセス結果情報）から、フィッシングサイトの検知を行うためのUser-Agent、Refererのパターンを抽出する（Ｓ１１：User-Agent、Refererパターン抽出）。そして、フィッシングサイト検知部１７は、Ｓ１１で抽出したUser-Agent、Refererのパターンを用いて、フィッシングサイトである可能性のあるウェブサイトにアクセスし、当該ウェブサイトからの応答に基づき、当該ウェブサイトがフィッシングサイトか否かの判定を行う（Ｓ１２：フィッシングサイト検知）。
【００４５】
このようにすることで、フィッシングサイト検知装置１０は、アクセスブロック機能をもつフィッシングサイトであっても、フィッシングサイトとして検知することができる。
【００４６】
［フィッシングキットのダウンロード元のＵＲＬの生成］
次に、フィッシングキットダウンロード部１１によるフィッシングキットのダウンロード元のＵＲＬの生成について説明する。
【００４７】
フィッシングキットダウンロード部１１は、例えば、図８に示すように、フィッシュングサイトのＵＲＬ（フィッシングサイトＵＲＬ）のディレクトリの記述を後方から段階的に削除することにより、フィッシングキットのダウンロード元のＵＲＬの候補（ダウンロード候補）を生成する。
【００４８】
例えば、フィッシングサイトＵＲＬが「http://phish.example.com/aaa/bbb/login/info/index.php」である場合、フィッシングキットダウンロード部１１は、当該ＵＲＬの後方のディレクトリから順にＵＲＬの記述を削除して、図８に示すダウンロード候補（１−１）〜（１−５）を生成する。
【００４９】
その後、フィッシングキットダウンロード部１１は、生成したダウンロード候補（１−１）〜（１−５）のＵＲＬにアクセスし、フィッシングキットのダウンロードを試みる。例えば、フィッシングキットダウンロード部１１は、図９に示す手順によりダウンロード候補（１−１）〜（１−ｉ）のＵＲＬにアクセスする。
【００５０】
まず、フィッシングキットダウンロード部１１は、ダウンロード候補（１−ｉ）のＵＲＬにアクセスする（図９のＳ２１）。そして、フィッシングキットダウンロード部１１が、アクセス先はオープンディレクトリであり（つまり、titleに「Index  of」が含まれており）、かつ、オープンディレクトリのリンクに「.zip」を持つものがあると判断した場合（Ｓ２２でＹｅｓ→Ｓ２３でＹｅｓ）、フィッシングキットダウンロード部１１は当該「.zip」を持つリンクから圧縮ファイルをダウンロードする（Ｓ２４）。ダウンロードされた圧縮ファイルは、フィッシングサイト動作再現部１３に展開される（Ｓ２５）。一方、フィッシングキットダウンロード部１１が、アクセス先はオープンディレクトリではない（Ｓ２２でＮｏ）、あるいは、オープンディレクトリのリンクに「.zip」を持つものがないと判断した場合（Ｓ２３でＮｏ）、Ｓ２６へ進む。
【００５１】
Ｓ２５の後、フィッシングキットダウンロード部１１は、未アクセスのダウンロード候補のＵＲＬがあるか否かを判断し（Ｓ２６）、未アクセスのダウンロード候補のＵＲＬがあれば（Ｓ２６でＹｅｓ）、ｉをインクリメントして（Ｓ２７）、Ｓ２１の処理へ戻る。一方、Ｓ２５の後、未アクセスのダウンロード候補のＵＲＬがなければ（Ｓ２６でＮｏ）、処理を終了する。
【００５２】
また、フィッシングキットダウンロード部１１は、ダウンロード候補のＵＲＬを生成する際、フィッシングサイトＵＲＬのディレクトリの記述を後方から段階的に削除したＵＲＬを生成した後、それぞれのＵＲＬの末尾に「.zip」等の圧縮ファイルを示す拡張子を付加してもよい（図１０に示すダウンロード候補（２−１）〜（２−４）参照）。この場合、ダウンロード候補のＵＲＬに既に圧縮ファイルを示す拡張子が付加されているので、フィッシングキットダウンロード部１１は、ダウンロード候補のＵＲＬに順にアクセスし、該当するファイルがあればアクセス先からダウンロードすればよい。
【００５３】
このようにすることで、フィッシングキットダウンロード部１１は、フィッシングサイトのどこにフィッシングキットが格納されているか不明な場合でも、フィッシングサイトからフィッシングキットをダウンロードしやすくなる。
【００５４】
［ブロック条件の抽出］
次に、ブロック条件抽出部１４によるブロック条件の抽出を説明する。ブロック条件抽出部１４は、例えば、フィッシングキット記憶部１２に保存された圧縮ファイル（フィッシングキットである可能性のある圧縮ファイル）を取得すると、その圧縮ファイルを展開し、展開したファイル内の.htaccessファイルから正規表現を用いてブロック条件となりうるUser-AgentおよびRefererを抽出する。
【００５５】
例えば、ブロック条件抽出部１４は、図１１に示す.htaccessファイルから正規表現を用いてブロック条件となりうるUser-AgentおよびReferer（図１１の下線部参照）を抽出する。例えば、ブロック条件抽出部１４は、符号１０１に示すRefererに関する記述を、符号１０２に示すような正規表現（Regex）に変換して抽出する。また、ブロック条件抽出部１４は、符号１０３に示すRefererに関する記述を、符号１０４に示すような正規表現（Regex）に変換して抽出する。
【００５６】
［フィッシングログインページのファイルの特定］
次に、フィッシングサイトアクセス部１５によるフィッシングログインページのファイルの特定について説明する。フィッシングサイトアクセス部１５は、例えば、フィッシングキットに含まれるファイルのうち、当該フィッシングキットのダウンロード元のフィッシングサイトのＵＲＬと後方一致するファイルを、フィッシングログインページのファイルとして特定する。
【００５７】
例えば、図１２に示すように、フィッシングキットのダウンロード元のフィッシングサイトのＵＲＬが「http://phish.example.com/aaa/bbb/login/info/index.php」であり、当該フィッシングキットの展開後のファイル内のファイルパスが符号１１０１に示すファイルパス群である場合を考える。この場合、フィッシングサイトのＵＲＬに含まれる文字列「login/info/index.php」が展開後のファイル内のファイルパス群に含まれているため、フィッシングサイトアクセス部１５は、「login/info/index.php」をフィッシングサイトのログインページとして使われるファイルと特定する。そして、フィッシングサイトアクセス部１５は、フィッシングキットにより構築されたフィッシングサイトにおける、上記の特定されたファイルにアクセスする。
【００５８】
なお、フィッシングキットには、最初にアクセスするファイルに以下の数１に示すようなPHPコードがあり、当該フィッシングキットにより構築されたフィッシングサイトにアクセスすると、特定のフォルダをランダム文字列のフォルダ名にコピーして、そのフォルダに誘導する機能を持つものがある。
【００５９】
【数１】
2020105308.tif 000003
【００６０】
その場合、フィッシングサイトのＵＲＬは、例えば、図１３に示すようにランダム文字列を含むので、フィッシングサイトアクセス部１５は、フィッシングキットに含まれるファイルの中から、フィッシングサイトのＵＲＬと後方一致するファイルを特定できない場合がある。
【００６１】
そこで、フィッシングサイトアクセス部１５は、上記のフィッシングサイトのＵＲＬにランダム文字列が含まれている場合、フィッシングサイトのＵＲＬからランダム文字列の記述を除外（削除）したＵＲＬを用いて、フィッシングキットに含まれるファイルの中から、フィッシングサイトのＵＲＬと後方一致するファイルを特定する。なお、上記のフィッシングサイトのＵＲＬにおいて、除外対象とするランダム文字列は正規表現で以下のように表現される。
【００６２】
([\w]｛32,｝|[0-9A-Z]｛20｝)(\=)｛0,2｝
【００６３】
一例を挙げる。例えば、フィッシングサイトアクセス部１５は、図１３に示すように、フィッシングサイトのＵＲＬのパス部にランダム文字列が含まれる場合、ランダム文字列の記述を除外（削除）する。そして、フィッシングサイトアクセス部１５は、フィッシングキットの展開後のファイル内のファイルの中から、ランダム文字列除外後のフィッシングサイトのＵＲＬと後方一致するファイルを、フィッシングサイトのログインページとして使われるファイルとして特定する。
【００６４】
このようにすることで、フィッシングサイトアクセス部１５はフィッシングサイトのＵＲＬにランダム文字列が含まれる場合あっても、フィッシングサイトのログインページとして使われるファイルとして特定することができる。その結果、フィッシングサイトアクセス部１５は、フィッシングサイトのログインページにアクセスしやすくなる。
【００６５】
以上説明したフィッシングサイト検知装置１０によれば、アクセスブロック機能をもつフィッシングサイトであっても、フィッシングサイトとして検知することができる。
【００６６】
なお、PHP等を用いてアクセスブロックを行うフィッシングサイトの場合、フォーマットが様々なため、ブロック条件を抽出することが困難であり、従来技術では、フィッシングサイトか否かの判定が困難であった。しかし、フィッシングサイト検知装置１０は、閉環境で動作するフィッシングサイトに対し様々な条件でアクセスしたアクセス結果を収集し、その収集したアクセス結果を用いてフィッシングサイトか否かの判定を行う。その結果、フィッシングサイト検知装置１０は、PHP等によりアクセスブロックを行うフィッシングサイトであっても、フィッシングサイトとして検知することができる。
【００６７】
［プログラム］
また、上記の実施形態で述べたフィッシングサイト検知装置１０の機能を実現するプログラムを所望の情報処理装置（コンピュータ）にインストールすることによって実装できる。例えば、パッケージソフトウェアやオンラインソフトウェアとして提供される上記のプログラムを情報処理装置に実行させることにより、情報処理装置をフィッシングサイト検知装置１０として機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータ、ラック搭載型のサーバコンピュータ等が含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やＰＨＳ（Personal  Handyphone  System）等の移動体通信端末、さらには、ＰＤＡ（Personal  Digital  Assistant）等がその範疇に含まれる。また、フィッシングサイト検知装置１０を、クラウドサーバに実装してもよい。
【００６８】
図１４を用いて、上記のプログラム（フィッシングサイト検知プログラム）を実行するコンピュータの一例を説明する。図１４に示すように、コンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有する。これらの各部は、バス１０８０によって接続される。
【００６９】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１およびＲＡＭ（Random  Access  Memory）１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。ディスクドライブ１１００には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース１０５０には、例えば、マウス１１１０およびキーボード１１２０が接続される。ビデオアダプタ１０６０には、例えば、ディスプレイ１１３０が接続される。
【００７０】
ここで、図１４に示すように、ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３およびプログラムデータ１０９４を記憶する。前記した実施形態で説明した各種データや情報は、例えばハードディスクドライブ１０９０やメモリ１０１０に記憶される。
【００７１】
そして、ＣＰＵ１０２０が、ハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して、上述した各手順を実行する。
【００７２】
なお、上記のフィッシングサイト検知プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、上記のプログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ＬＡＮやＷＡＮ（Wide  Area  Network）等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【符号の説明】
【００７３】
１０  フィッシングサイト検知装置
１１  フィッシングキットダウンロード部
１２  フィッシングキット記憶部
１３  フィッシングサイト動作再現部
１４  ブロック条件抽出部
１５  フィッシングサイトアクセス部
１６  アクセス結果記憶部
１７  フィッシングサイト検知部
【図１】
2020105308.tif 000004
【図２】
2020105308.tif 000005
【図３】
2020105308.tif 000006
【図４】
2020105308.tif 000007
【図５】
2020105308.tif 000008
【図６】
2020105308.tif 000009
【図７】
2020105308.tif 000010
【図８】
2020105308.tif 000011
【図９】
2020105308.tif 000012
【図１０】
2020105308.tif 000013
【図１１】
2020105308.tif 000014
【図１２】
2020105308.tif 000015
【図１３】
2020105308.tif 000016
【図１４】
2020105308.tif 000017
【国際調査報告】
2020105308.tif 000018
2020105308.tif 000019