JP7001180B2 - フィッシングサイト検知装置、フィッシングサイト検知方法、および、フィッシングサイト検知プログラム - Google Patents
フィッシングサイト検知装置、フィッシングサイト検知方法、および、フィッシングサイト検知プログラム Download PDFInfo
- Publication number
- JP7001180B2 JP7001180B2 JP2020558152A JP2020558152A JP7001180B2 JP 7001180 B2 JP7001180 B2 JP 7001180B2 JP 2020558152 A JP2020558152 A JP 2020558152A JP 2020558152 A JP2020558152 A JP 2020558152A JP 7001180 B2 JP7001180 B2 JP 7001180B2
- Authority
- JP
- Japan
- Prior art keywords
- phishing
- access
- phishing site
- site
- kit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1483—Countermeasures against malicious traffic service impersonation, e.g. phishing, pharming or web spoofing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2119—Authenticating web pages, e.g. with suspicious links
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Description
本発明は、フィッシングサイト検知装置、フィッシングサイト検知方法、および、フィッシングサイト検知プログラムに関する。
従来のフィッシング検知技術として、正規のウェブサイトのログインページとフィッシングサイト間の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.
フィッシングサイトには、検索エンジンの検索結果に掲載されることや、ブラックリストに掲載されることを避けるために、検索エンジンボットやセキュリティベンダーからのアクセスをブロックするアクセスブロック機能を持つものがある。このようなサイトでは、このアクセスブロック機能によりコンテンツが取得できず、正規のウェブサイトの学習データとの特徴の比較が行えないため、当該サイトがフィッシングサイトか否かを判定することができなかった。
そこで、本発明は、前記した問題を解決し、アクセスブロック機能をもつフィッシングサイトであっても、フィッシングサイトとして検知できるようにすることを課題とする。
前記した課題を解決するため、本発明は、フィッシングサイトを構築するためのツールであるフィッシングキットを取得するフィッシングキット取得部と、取得した前記フィッシングキットを用いてフィッシングサイトを構築し、フィッシングサイトの動作を再現するフィッシングサイト再現部と、前記フィッシングキットにより構築されたフィッシングサイトにおいてアクセスがブロックされるアクセス元の条件を、前記フィッシングキットから抽出するブロック条件抽出部と、前記抽出したアクセス元の条件を用いて、各フィッシングキットにより構築されたフィッシングサイトそれぞれへアクセスし、前記フィッシングサイトへのアクセス結果と、当該フィッシングサイトへのアクセスに用いたアクセス元の条件とを対応付けたアクセス結果情報を作成するアクセス部と、前記アクセス結果情報に示されるアクセス結果が前記フィッシングサイトからのアクセスブロックであるアクセス元の条件を選択して、フィッシングサイトの可能性のあるウェブサイトへアクセスする処理を1以上実行し、前記ウェブサイトへのアクセスがブロックされた場合、当該ウェブサイトをフィッシングサイトと判定するフィッシングサイト検知部と、を備えることを特徴とする。
本発明によれば、アクセスブロック機能をもつフィッシングサイトであっても、フィッシングサイトとして検知をすることができる。
以下、図面を参照しながら、本発明を実施するための形態(実施形態)について説明する。まず、図1を参照しながら、本実施形態のフィッシングサイト検知装置10の概要を説明する。本発明は、以下に説明する実施形態に限定されない。
[概要]
フィッシングサイト検知装置10は、例えば、インターネット上に存在するフィッシングサイトからPhishing Kit(フィッシングキット。フィッシングサイトを構築するためのツール)を取得し、閉環境にフィッシングサイトを構築し、動作させる。そして、フィッシングサイト検知装置10は、閉環境に構築したフィッシングサイトに対して、アクセスブロックされる可能性のあるアクセス元の条件(ブロック条件。例えば、User-Agent、Referer等)を設定してアクセスし、そのブロック条件でのアクセス結果(例えば、アクセスブロックされたか否か)を保存する。なお、このブロック条件は、例えば、フィッシングキット内の.htaccessから抽出されたものを用いる。
フィッシングサイト検知装置10は、例えば、インターネット上に存在するフィッシングサイトからPhishing Kit(フィッシングキット。フィッシングサイトを構築するためのツール)を取得し、閉環境にフィッシングサイトを構築し、動作させる。そして、フィッシングサイト検知装置10は、閉環境に構築したフィッシングサイトに対して、アクセスブロックされる可能性のあるアクセス元の条件(ブロック条件。例えば、User-Agent、Referer等)を設定してアクセスし、そのブロック条件でのアクセス結果(例えば、アクセスブロックされたか否か)を保存する。なお、このブロック条件は、例えば、フィッシングキット内の.htaccessから抽出されたものを用いる。
その後、フィッシングサイト検知装置10は、保存されたアクセス結果情報(アクセス結果の集合)を読み出し、アクセスパターン(例えば、アクセス時に用いるUser-Agent、Referer等)を変更して、フィッシングサイトである可能性のあるウェブサイトに複数回アクセスする。そして、フィッシングサイト検知装置10は、当該ウェブサイトからの応答に基づき、当該ウェブサイトがフィッシングサイトか否かを判定する。
例えば、フィッシングサイト検知装置10は、アクセス結果情報から、閉環境に構築した各フィッシングサイトにおいてブロックされた複数のブロック条件を読み出すと、このブロック条件を順次設定し、フィッシングサイトである可能性のあるウェブサイトにアクセスする。その結果、当該ウェブサイトからブロックされた場合、フィッシングサイト検知装置10は、当該ウェブサイトをフィッシングサイトと判定する。一方、当該ウェブサイトからブロックされなかった場合、フィッシングサイト検知装置10は、当該ウェブサイトをフィッシングサイトではないと判定する。
このように、フィッシングサイト検知装置10は、フィッシングサイトにおけるアクセスブロック機能の動作をフィッシングサイトの特徴と捉えることにより、フィッシングサイトの検知を行う。その結果、フィッシングサイト検知装置10は、アクセスブロック機能をもつフィッシングサイトであっても、フィッシングサイトとして検知することができる。
[構成]
次に、引き続き図1を用いて、フィッシングサイト検知装置10の構成例を説明する。フィッシングサイト検知装置10は、例えば、フィッシングキットダウンロード部(フィッシングキット取得部)11と、フィッシングキット記憶部12と、フィッシングサイト動作再現部13と、ブロック条件抽出部14と、フィッシングサイトアクセス部(アクセス部)15と、アクセス結果記憶部16と、フィッシングサイト検知部17とを備える。
次に、引き続き図1を用いて、フィッシングサイト検知装置10の構成例を説明する。フィッシングサイト検知装置10は、例えば、フィッシングキットダウンロード部(フィッシングキット取得部)11と、フィッシングキット記憶部12と、フィッシングサイト動作再現部13と、ブロック条件抽出部14と、フィッシングサイトアクセス部(アクセス部)15と、アクセス結果記憶部16と、フィッシングサイト検知部17とを備える。
フィッシングキットダウンロード部11は、フィッシングサイトからフィッシングキットをダウンロード(取得)し、ダウンロードしたフィッシングキットをフィッシングキット記憶部12に保存する。なお、このフィッシングキットは、前記したとおりフィッシングサイトを構築するためのツールであり、例えば、ログインページを模したHTMLファイルや画像ファイル、認証情報をメール送信する等のPHP等のプログラムコード、所定のアクセス元からのアクセスをブロックするためのApacheの.htaccessファイルやPHPコード等が含まれる。
このフィッシングキットは、悪意ある者が、フィッシングサイトを構築した後、削除のし忘れ等で当該フィッシングサイトに残っていることがある。そこで、フィッシングキットダウンロード部11は、例えば、ブラックリスト等から入手したフィッシングサイトのURLのリスト(フィッシングサイトURLリスト)に基づき、フィッシングサイトにアクセスし、フィッシングキットのダウンロードを試みる。ここで、フィッシングキットダウンロード部11は、フィッシングサイトのどのディレクトリにフィッシングキットが格納されているのか不明であることもあるので、フィッシングサイトのURLから、フィッシングキットのダウンロード元のURL(ダウンロード候補のURL)を複数生成し、生成したURLにアクセスし、フィッシングキットのダウンロードを試みる。なお、上記のフィッシングキットのダウンロード元のURLの生成については、具体例を用いて後記する。
フィッシングキット記憶部12は、フィッシングキットダウンロード部11により取得されたフィッシングキットを記憶する。
フィッシングサイト動作再現部13は、フィッシングキットダウンロード部11により取得されたフィッシングキットを展開し、フィッシングサイトを構築し、フィッシングサイトの動作を再現する。
例えば、フィッシングサイト動作再現部13は、フィッシングキット記憶部12からフィッシングキットを取得すると、当該フィッシングキットを閉環境(例えば、外部との通信が制限されるサーバ上)に展開し、フィッシングサイトを構築し、動作させる。なお、フィッシングサイト動作再現部13は、フィッシングサイトを動作させるサーバアプリケーションとして、例えば、ApacheおよびPHPを用いる。
ブロック条件抽出部14は、各フィッシングキットから、当該フィッシングキットにより構築されるフィッシングサイトにおいてアクセスがブロックされる1以上のアクセス元の条件(ブロック条件)を抽出する。
例えば、ブロック条件抽出部14は、フィッシングキット記憶部12から1以上のフィッシングキットを取得すると、取得したフィッシングキットそれぞれの.htaccessファイルからブロック条件となるUser-AgentおよびRefererを正規表現で抽出する。そして、ブロック条件抽出部14は、抽出したUser-AgentおよびRefererをリスト化したUser-Agent/Referer文字列リストを生成する。
フィッシングサイトアクセス部15は、ブロック条件抽出部14により抽出されたブロック条件を用いて、各フィッシングキットにより構築されたフィッシングサイトそれぞれへアクセスする。そして、フィッシングサイトアクセス部15は、各フィッシングサイトへのアクセス結果(例えば、HTTPレスポンスのステータスコード)と、当該フィッシングサイトへのアクセスに用いたブロック条件とを対応付けたアクセス結果情報を作成する。
例えば、フィッシングサイトアクセス部15は、User-Agent/Referer文字列リストに示されるUser-Agent、Refererをヘッダに設定したHTTPリクエストをフィッシングサイトへ送信し、当該フィッシングサイトから応答(HTTPレスポンス)を受信すると、当該フィッシングサイトの構築に用いられたフィッシングキットと、当該フィッシングサイトへのHTTPリクエストに設定したUser-Agent(UA)またはReferer(Ref)と、当該フィッシングサイトからの応答(HTTPレスポンス)のステータスコードと対応付けてアクセス結果情報(図2参照)に記録する。
例えば、図2に示すアクセス結果情報は、「No.1」のフィッシングキットにより構築されたフィッシングサイトへ、UA「SampleB」を設定したHTTPリクエストを送信した場合の応答のステータスコードは「200(成功)」であり、UA「SampleC」を設定したHTTPリクエストを送信した場合の応答のステータスコードは「403(アクセスブロック)」であったことを示す。また、「No.1」のフィッシングキットにより構築されたフィッシングサイトへ、Ref「SampleX」を設定したHTTPリクエストを送信した場合の応答のステータスコードは「403(アクセスブロック)」であり、Ref「SampleY」を設定したHTTPリクエストを送信した場合の応答のステータスコードは「200(成功)」であったことを示す。
なお、フィッシングサイトアクセス部15は、フィッシングサイト動作再現部13により構築されたフィッシングサイトへアクセスする際、当該フィッシングサイトのログインページとして利用される可能性があるファイルにアクセスする必要がある。このため、フィッシングサイトアクセス部15は、フィッシングキットのダウンロード元のフィッシングサイトのURLと、当該フィッシングキットとを用いて、当該フィッシングサイトのログインページとして利用される可能性があるファイル(フィッシングログインページのファイル)を特定する。ここでのフィッシングログインページのファイルの特定については、具体例を用いて後記する。
図1の説明に戻る。フィッシングサイト検知部17は、アクセス結果情報に示されるアクセス結果が、フィッシングサイトからのアクセスブロックであるアクセス元の条件を選択して、設定し、フィッシングサイトの可能性のあるウェブサイトへアクセスする処理を1以上実行し、当該ウェブサイトへのアクセスがブロックされた場合、当該ウェブサイトをフィッシングサイトと判定する。
例えば、フィッシングサイト検知部17は、アクセス結果記憶部16のアクセス結果情報から、フィッシングサイトへのアクセスがブロックされた1以上のUser-Agent、Refererを抽出すると、抽出した1以上のUser-Agent、Refererを設定したHTTPリクエストをフィッシングサイトの可能性のあるウェブサイトに送信する。つまり、フィッシングサイト検知部17は、User-Agent、Refererを変更して複数回、当該ウェブサイトにアクセスし、当該ウェブサイトへのアクセスがブロックされた場合、当該ウェブサイトをフィッシングサイトと判定する。
ここで、フィッシングサイト検知部17は、フィッシングサイトのアクセスブロック機能でブロックされる可能性が高く、かつ、できるだけ少ない回数のアクセス数でフィッシングサイトが検知できるようなUser-Agent、Refererのパターンを抽出することが好ましい。そこで、フィッシングサイト検知部17は、アクセス結果情報から、例えば、以下のようにしてフィッシングサイトの検知に用いるUser-Agent、Refererのパターンを抽出する。
例えば、フィッシングサイト検知装置10は、図3の上部に示すアクセス結果情報における、UA「SampleC」およびUA「SampleB」のアクセス結果に基づき、図3の下部に示す決定木を作成する。そして、フィッシングサイト検知部17は、作成した決定木に示される条件に基づき、UA「SampleC」およびUA「SampleB」を設定してフィッシングサイトである可能性のあるウェブサイトへアクセスし、そのアクセス結果に基づき、当該ウェブサイトがフィッシングサイト(Phishing)か否か(Benign)を判定する。
例えば、フィッシングサイト検知部17は、図3に示す決定木に基づき、UAに「SampleC」を設定し、当該ウェブサイトへアクセスし、そのアクセス結果のステータスコードが「403」であった(アクセスブロックされた)場合、当該ウェブサイトをフィッシングサイト(Phishing)と判定する。
また、当該ウェブサイトへのアクセス結果のステータスコードが「403」でなければ、フィッシングサイト検知部17は、UAに「SampleB」を設定し、当該ウェブサイトへ再度アクセスする。そして、当該ウェブサイトへのアクセス結果のステータスコードが「403」であった場合、フィッシングサイト検知部17は、当該ウェブサイトをフィッシングサイト(Phishing)と判定する。一方、当該ウェブサイトへのアクセス結果のステータスコードが「403」でなかった場合、フィッシングサイト検知部17は、当該ウェブサイトをフィッシングサイトではない(Benign)と判定する。
つまり、フィッシングサイト検知部17は、図4の上部に示すように、UAに「SampleC」を設定し、当該ウェブサイトへアクセスし、そのアクセス結果のステータスコードが「403」であった(アクセスブロックされた)場合、当該ウェブサイトをフィッシングサイトと判定する。
また、フィッシングサイト検知部17は、図4の下部に示すように、UAに「SampleC」を設定し、当該ウェブサイトへアクセスし、そのアクセス結果のステータスコードが「200」であった(「403」ではなかった)場合、UAに「SampleB」を設定し、当該ウェブサイトへ再度アクセスする。そして、当該ウェブサイトへのアクセス結果のステータスコードが「403」であった(アクセスブロックされた)場合、フィッシングサイト検知部17は、当該ウェブサイトをフィッシングサイトと判定する。
また、フィッシングサイト検知部17は、図5に示すように、UAに「SampleC」を設定し、当該ウェブサイトへアクセスし、そのアクセス結果のステータスコードが「200」であった(「403」ではなかった)場合、UAに「SampleB」を設定し、当該ウェブサイトへ再度アクセスする。そして、当該ウェブサイトへのアクセス結果のステータスコードが「200」であった(アクセスブロックされなかった)場合、フィッシングサイト検知部17は、当該ウェブサイトをフィッシングサイトではないと判定する。
このように、フィッシングサイト検知部17は、アクセス結果情報に基づき、フィッシングサイトである可能性のあるウェブサイトへのアクセスに用いるブロック条件のパターンを抽出する。そして、フィッシングサイト検知部17は、抽出したブロック条件のパターンに従い、当該ウェブサイトへアクセスする。つまり、フィッシングサイト検知部17はブロック条件を変更して、フィッシングサイトの可能性があるウェブサイトへ複数回アクセスする。そして、フィッシングサイト検知部17は、当該ウェブサイトへのアクセス結果に基づき、当該ウェブサイトがフィッシングサイトか否かを判定する。
以上説明したフィッシングサイト検知装置10によれば、アクセスブロック機能をもつフィッシングサイトであっても、フィッシングサイトとして検知することができる。
[処理手順]
次に、フィッシングサイト検知装置10の処理手順の例を説明する。まず、図6を用いてフィッシングサイト検知装置10が、フィッシングキットにより構築されたフィッシングサイトへのアクセス結果を収集する処理手順の例を説明する。
次に、フィッシングサイト検知装置10の処理手順の例を説明する。まず、図6を用いてフィッシングサイト検知装置10が、フィッシングキットにより構築されたフィッシングサイトへのアクセス結果を収集する処理手順の例を説明する。
まず、フィッシングサイト検知装置10のフィッシングキットダウンロード部11は、フィッシングキットのダウンロード候補のURLを生成すると(S1)、当該URLにアクセスしてフィッシングキットをダウンロードする(S2)。そして、フィッシングキットダウンロード部11は、ダウンロードしたフィッシングキットをフィッシングキット記憶部12に保存する。
S2の後、ブロック条件抽出部14は、フィッシングキット記憶部12からフィッシングキットを取得し、このフィッシングキットに含まれる.htaccessからブロック条件(User-Agent、Referer)を抽出する(S3)。また、フィッシングサイト動作再現部13は、S2でダウンロードされたフィッシングキットにより、フィッシングサイトを構築する(S4)。
S4の後、フィッシングサイトアクセス部15は、S4で構築されたフィッシングサイトのログインページのURLを生成する(S5:フィッシングログインページのURL生成)。その後、フィッシングサイトアクセス部15は、S3で抽出されたブロック条件を設定して、S4で構築されたフィッシングサイトのログインページにアクセスすることにより、当該フィッシングサイトへのアクセス結果を収集する(S6)。
例えば、S6において、フィッシングサイトアクセス部15は、フィッシングサイト動作再現部13がフィッシングサイトの構築に用いたフィッシングキットと、当該フィッシングキットサイトへのHTTPリクエストに設定したブロック条件(User-Agent、Referer)と、当該HTTPリクエストに対する当該フィッシングサイトからの応答(HTTPレスポンス)のステータスコードとを対応付けたアクセス結果をアクセス結果情報(図2参照)に記録する。
なお、ここでは説明を省略するが、S2でダウンロードされたフィッシングキットが複数ある場合、フィッシングサイト検知装置10は、ダウンロードされたフィッシングキットごとに、S3~S6の処理を繰り返す。これにより、フィッシングサイトアクセス部15は、様々なフィッシングサイトのブロック条件と、当該ブロック条件を用いた各フィッシングサイトへのアクセス結果とを収集することができる。
次に、図7を用いてフィッシングサイト検知装置10が、図6で収集されたアクセス結果に基づき、フィッシングサイトの検知を行う処理手順の例を説明する。
まず、フィッシングサイト検知装置10のフィッシングサイト検知部17は、図6で収集されたアクセス結果(アクセス結果情報)から、フィッシングサイトの検知を行うためのUser-Agent、Refererのパターンを抽出する(S11:User-Agent、Refererパターン抽出)。そして、フィッシングサイト検知部17は、S11で抽出したUser-Agent、Refererのパターンを用いて、フィッシングサイトである可能性のあるウェブサイトにアクセスし、当該ウェブサイトからの応答に基づき、当該ウェブサイトがフィッシングサイトか否かの判定を行う(S12:フィッシングサイト検知)。
このようにすることで、フィッシングサイト検知装置10は、アクセスブロック機能をもつフィッシングサイトであっても、フィッシングサイトとして検知することができる。
[フィッシングキットのダウンロード元のURLの生成]
次に、フィッシングキットダウンロード部11によるフィッシングキットのダウンロード元のURLの生成について説明する。
次に、フィッシングキットダウンロード部11によるフィッシングキットのダウンロード元のURLの生成について説明する。
フィッシングキットダウンロード部11は、例えば、図8に示すように、フィッシュングサイトのURL(フィッシングサイトURL)のディレクトリの記述を後方から段階的に削除することにより、フィッシングキットのダウンロード元のURLの候補(ダウンロード候補)を生成する。
例えば、フィッシングサイトURLが「http://phish.example.com/aaa/bbb/login/info/index.php」である場合、フィッシングキットダウンロード部11は、当該URLの後方のディレクトリから順にURLの記述を削除して、図8に示すダウンロード候補(1-1)~(1-5)を生成する。
その後、フィッシングキットダウンロード部11は、生成したダウンロード候補(1-1)~(1-5)のURLにアクセスし、フィッシングキットのダウンロードを試みる。例えば、フィッシングキットダウンロード部11は、図9に示す手順によりダウンロード候補(1-1)~(1-i)のURLにアクセスする。
まず、フィッシングキットダウンロード部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へ進む。
S25の後、フィッシングキットダウンロード部11は、未アクセスのダウンロード候補のURLがあるか否かを判断し(S26)、未アクセスのダウンロード候補のURLがあれば(S26でYes)、iをインクリメントして(S27)、S21の処理へ戻る。一方、S25の後、未アクセスのダウンロード候補のURLがなければ(S26でNo)、処理を終了する。
また、フィッシングキットダウンロード部11は、ダウンロード候補のURLを生成する際、フィッシングサイトURLのディレクトリの記述を後方から段階的に削除したURLを生成した後、それぞれのURLの末尾に「.zip」等の圧縮ファイルを示す拡張子を付加してもよい(図10に示すダウンロード候補(2-1)~(2-4)参照)。この場合、ダウンロード候補のURLに既に圧縮ファイルを示す拡張子が付加されているので、フィッシングキットダウンロード部11は、ダウンロード候補のURLに順にアクセスし、該当するファイルがあればアクセス先からダウンロードすればよい。
このようにすることで、フィッシングキットダウンロード部11は、フィッシングサイトのどこにフィッシングキットが格納されているか不明な場合でも、フィッシングサイトからフィッシングキットをダウンロードしやすくなる。
[ブロック条件の抽出]
次に、ブロック条件抽出部14によるブロック条件の抽出を説明する。ブロック条件抽出部14は、例えば、フィッシングキット記憶部12に保存された圧縮ファイル(フィッシングキットである可能性のある圧縮ファイル)を取得すると、その圧縮ファイルを展開し、展開したファイル内の.htaccessファイルから正規表現を用いてブロック条件となりうるUser-AgentおよびRefererを抽出する。
次に、ブロック条件抽出部14によるブロック条件の抽出を説明する。ブロック条件抽出部14は、例えば、フィッシングキット記憶部12に保存された圧縮ファイル(フィッシングキットである可能性のある圧縮ファイル)を取得すると、その圧縮ファイルを展開し、展開したファイル内の.htaccessファイルから正規表現を用いてブロック条件となりうるUser-AgentおよびRefererを抽出する。
例えば、ブロック条件抽出部14は、図11に示す.htaccessファイルから正規表現を用いてブロック条件となりうるUser-AgentおよびReferer(図11の下線部参照)を抽出する。例えば、ブロック条件抽出部14は、符号101に示すRefererに関する記述を、符号102に示すような正規表現(Regex)に変換して抽出する。また、ブロック条件抽出部14は、符号103に示すRefererに関する記述を、符号104に示すような正規表現(Regex)に変換して抽出する。
[フィッシングログインページのファイルの特定]
次に、フィッシングサイトアクセス部15によるフィッシングログインページのファイルの特定について説明する。フィッシングサイトアクセス部15は、例えば、フィッシングキットに含まれるファイルのうち、当該フィッシングキットのダウンロード元のフィッシングサイトのURLと後方一致するファイルを、フィッシングログインページのファイルとして特定する。
次に、フィッシングサイトアクセス部15によるフィッシングログインページのファイルの特定について説明する。フィッシングサイトアクセス部15は、例えば、フィッシングキットに含まれるファイルのうち、当該フィッシングキットのダウンロード元のフィッシングサイトのURLと後方一致するファイルを、フィッシングログインページのファイルとして特定する。
例えば、図12に示すように、フィッシングキットのダウンロード元のフィッシングサイトのURLが「http://phish.example.com/aaa/bbb/login/info/index.php」であり、当該フィッシングキットの展開後のファイル内のファイルパスが符号1101に示すファイルパス群である場合を考える。この場合、フィッシングサイトのURLに含まれる文字列「login/info/index.php」が展開後のファイル内のファイルパス群に含まれているため、フィッシングサイトアクセス部15は、「login/info/index.php」をフィッシングサイトのログインページとして使われるファイルと特定する。そして、フィッシングサイトアクセス部15は、フィッシングキットにより構築されたフィッシングサイトにおける、上記の特定されたファイルにアクセスする。
なお、フィッシングキットには、最初にアクセスするファイルに以下の数1に示すようなPHPコードがあり、当該フィッシングキットにより構築されたフィッシングサイトにアクセスすると、特定のフォルダをランダム文字列のフォルダ名にコピーして、そのフォルダに誘導する機能を持つものがある。
その場合、フィッシングサイトのURLは、例えば、図13に示すようにランダム文字列を含むので、フィッシングサイトアクセス部15は、フィッシングキットに含まれるファイルの中から、フィッシングサイトのURLと後方一致するファイルを特定できない場合がある。
そこで、フィッシングサイトアクセス部15は、上記のフィッシングサイトのURLにランダム文字列が含まれている場合、フィッシングサイトのURLからランダム文字列の記述を除外(削除)したURLを用いて、フィッシングキットに含まれるファイルの中から、フィッシングサイトのURLと後方一致するファイルを特定する。なお、上記のフィッシングサイトのURLにおいて、除外対象とするランダム文字列は正規表現で以下のように表現される。
([\w]{32,}|[0-9A-Z]{20})(\=){0,2}
一例を挙げる。例えば、フィッシングサイトアクセス部15は、図13に示すように、フィッシングサイトのURLのパス部にランダム文字列が含まれる場合、ランダム文字列の記述を除外(削除)する。そして、フィッシングサイトアクセス部15は、フィッシングキットの展開後のファイル内のファイルの中から、ランダム文字列除外後のフィッシングサイトのURLと後方一致するファイルを、フィッシングサイトのログインページとして使われるファイルとして特定する。
このようにすることで、フィッシングサイトアクセス部15はフィッシングサイトのURLにランダム文字列が含まれる場合あっても、フィッシングサイトのログインページとして使われるファイルとして特定することができる。その結果、フィッシングサイトアクセス部15は、フィッシングサイトのログインページにアクセスしやすくなる。
以上説明したフィッシングサイト検知装置10によれば、アクセスブロック機能をもつフィッシングサイトであっても、フィッシングサイトとして検知することができる。
なお、PHP等を用いてアクセスブロックを行うフィッシングサイトの場合、フォーマットが様々なため、ブロック条件を抽出することが困難であり、従来技術では、フィッシングサイトか否かの判定が困難であった。しかし、フィッシングサイト検知装置10は、閉環境で動作するフィッシングサイトに対し様々な条件でアクセスしたアクセス結果を収集し、その収集したアクセス結果を用いてフィッシングサイトか否かの判定を行う。その結果、フィッシングサイト検知装置10は、PHP等によりアクセスブロックを行うフィッシングサイトであっても、フィッシングサイトとして検知することができる。
[プログラム]
また、上記の実施形態で述べたフィッシングサイト検知装置10の機能を実現するプログラムを所望の情報処理装置(コンピュータ)にインストールすることによって実装できる。例えば、パッケージソフトウェアやオンラインソフトウェアとして提供される上記のプログラムを情報処理装置に実行させることにより、情報処理装置をフィッシングサイト検知装置10として機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータ、ラック搭載型のサーバコンピュータ等が含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等がその範疇に含まれる。また、フィッシングサイト検知装置10を、クラウドサーバに実装してもよい。
また、上記の実施形態で述べたフィッシングサイト検知装置10の機能を実現するプログラムを所望の情報処理装置(コンピュータ)にインストールすることによって実装できる。例えば、パッケージソフトウェアやオンラインソフトウェアとして提供される上記のプログラムを情報処理装置に実行させることにより、情報処理装置をフィッシングサイト検知装置10として機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータ、ラック搭載型のサーバコンピュータ等が含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等がその範疇に含まれる。また、フィッシングサイト検知装置10を、クラウドサーバに実装してもよい。
図14を用いて、上記のプログラム(フィッシングサイト検知プログラム)を実行するコンピュータの一例を説明する。図14に示すように、コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有する。これらの各部は、バス1080によって接続される。
メモリ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が接続される。
ここで、図14に示すように、ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093およびプログラムデータ1094を記憶する。前記した実施形態で説明した各種データや情報は、例えばハードディスクドライブ1090やメモリ1010に記憶される。
そして、CPU1020が、ハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した各手順を実行する。
なお、上記のフィッシングサイト検知プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、上記のプログラムに係るプログラムモジュール1093やプログラムデータ1094は、LANやWAN(Wide Area Network)等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
10 フィッシングサイト検知装置
11 フィッシングキットダウンロード部
12 フィッシングキット記憶部
13 フィッシングサイト動作再現部
14 ブロック条件抽出部
15 フィッシングサイトアクセス部
16 アクセス結果記憶部
17 フィッシングサイト検知部
11 フィッシングキットダウンロード部
12 フィッシングキット記憶部
13 フィッシングサイト動作再現部
14 ブロック条件抽出部
15 フィッシングサイトアクセス部
16 アクセス結果記憶部
17 フィッシングサイト検知部
Claims (7)
- フィッシングサイトを構築するためのツールであるフィッシングキットを取得するフィッシングキット取得部と、
取得した前記フィッシングキットを用いてフィッシングサイトを構築し、フィッシングサイトの動作を再現するフィッシングサイト再現部と、
前記フィッシングキットにより構築されたフィッシングサイトにおいてアクセスがブロックされるアクセス元の条件を、前記フィッシングキットから抽出するブロック条件抽出部と、
前記抽出したアクセス元の条件を用いて、各フィッシングキットにより構築されたフィッシングサイトそれぞれへアクセスし、前記フィッシングサイトへのアクセス結果と、当該フィッシングサイトへのアクセスに用いたアクセス元の条件とを対応付けたアクセス結果情報を作成するアクセス部と、
前記アクセス結果情報に示されるアクセス結果が前記フィッシングサイトからのアクセスブロックであるアクセス元の条件を選択して、フィッシングサイトの可能性のあるウェブサイトへアクセスする処理を1以上実行し、前記ウェブサイトへのアクセスがブロックされた場合、当該ウェブサイトをフィッシングサイトと判定するフィッシングサイト検知部と、
を備えることを特徴とするフィッシングサイト検知装置。 - 前記アクセス元の条件は、
アクセス元のUser-AgentおよびRefererの少なくともいずれかである
ことを特徴とする請求項1に記載のフィッシングサイト検知装置。 - 前記フィッシングキット取得部は、
フィッシングサイトから、前記フィッシングキットを取得する
ことを特徴とする請求項1に記載のフィッシングサイト検知装置。 - 前記アクセス部は、
前記フィッシングキットに含まれるファイルのうち、前記フィッシングサイトのURLと後方一致するファイルを、前記フィッシングサイトのログインページのファイルとして特定し、再現された前記フィッシングサイトにおける前記ログインページのファイルにアクセスする
ことを特徴とする請求項1に記載のフィッシングサイト検知装置。 - 前記アクセス部は、
前記フィッシングサイトのURLのランダム文字列が含まれる場合、前記フィッシングサイトのURLからランダム文字列を削除し、前記フィッシングキットに含まれるファイルのうち、前記ランダム文字列の削除後のフィッシングサイトのURLと後方一致するファイルを、前記フィッシングサイトのログインページのファイルとして特定する
ことを特徴とする請求項4に記載のフィッシングサイト検知装置。 - フィッシングサイト検知装置により実行されるフィッシングサイト検知方法であって、
フィッシングサイトを構築するためのツールであるフィッシングキットを取得するフィッシングキット取得ステップと、
取得した前記フィッシングキットを用いてフィッシングサイトを構築し、フィッシングサイトの動作を再現するフィッシングサイト再現ステップと、
前記フィッシングキットにより構築されたフィッシングサイトにおいてアクセスがブロックされるアクセス元の条件を、前記フィッシングキットから抽出するブロック条件抽出ステップと、
前記抽出したアクセス元の条件を用いて、各フィッシングキットにより構築されたフィッシングサイトそれぞれへアクセスし、前記フィッシングサイトへのアクセス結果と、当該フィッシングサイトへのアクセスに用いたアクセス元の条件とを対応付けたアクセス結果情報を作成するアクセスステップと、
前記アクセス結果情報に示されるアクセス結果が前記フィッシングサイトからのアクセスブロックであるアクセス元の条件を選択して、フィッシングサイトの可能性のあるウェブサイトへアクセスする処理を1以上実行し、前記ウェブサイトへのアクセスがブロックされた場合、当該ウェブサイトをフィッシングサイトと判定するフィッシングサイト検知ステップと、
を含んだことを特徴とするフィッシングサイト検知方法。 - フィッシングサイトを構築するためのツールであるフィッシングキットを取得するフィッシングキット取得ステップと、
取得した前記フィッシングキットを用いてフィッシングサイトを構築し、フィッシングサイトの動作を再現するフィッシングサイト再現ステップと、
前記フィッシングキットにより構築されたフィッシングサイトにおいてアクセスがブロックされるアクセス元の条件を、前記フィッシングキットから抽出するブロック条件抽出ステップと、
前記抽出したアクセス元の条件を用いて、各フィッシングキットにより構築されたフィッシングサイトそれぞれへアクセスし、前記フィッシングサイトへのアクセス結果と、当該フィッシングサイトへのアクセスに用いたアクセス元の条件とを対応付けたアクセス結果情報を作成するアクセスステップと、
前記アクセス結果情報に示されるアクセス結果が前記フィッシングサイトからのアクセスブロックであるアクセス元の条件を選択して、フィッシングサイトの可能性のあるウェブサイトへアクセスする処理を1以上実行し、前記ウェブサイトへのアクセスがブロックされた場合、当該ウェブサイトをフィッシングサイトと判定するフィッシングサイト検知ステップと、
をコンピュータに実行させることを特徴とするフィッシングサイト検知プログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018216576 | 2018-11-19 | ||
JP2018216576 | 2018-11-19 | ||
PCT/JP2019/040127 WO2020105308A1 (ja) | 2018-11-19 | 2019-10-10 | フィッシングサイト検知装置、フィッシングサイト検知方法、および、フィッシングサイト検知プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2020105308A1 JPWO2020105308A1 (ja) | 2021-04-30 |
JP7001180B2 true JP7001180B2 (ja) | 2022-01-19 |
Family
ID=70773927
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020558152A Active JP7001180B2 (ja) | 2018-11-19 | 2019-10-10 | フィッシングサイト検知装置、フィッシングサイト検知方法、および、フィッシングサイト検知プログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US11838322B2 (ja) |
EP (1) | EP3859578B1 (ja) |
JP (1) | JP7001180B2 (ja) |
WO (1) | WO2020105308A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210377301A1 (en) * | 2020-06-02 | 2021-12-02 | Zscaler, Inc. | Phishing detection of uncategorized URLs using heuristics and scanning |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8856937B1 (en) | 2008-06-27 | 2014-10-07 | Symantec Corporation | Methods and systems for identifying fraudulent websites |
US9094452B2 (en) | 2012-08-01 | 2015-07-28 | Bank Of America Corporation | Method and apparatus for locating phishing kits |
-
2019
- 2019-10-10 US US17/291,607 patent/US11838322B2/en active Active
- 2019-10-10 WO PCT/JP2019/040127 patent/WO2020105308A1/ja unknown
- 2019-10-10 JP JP2020558152A patent/JP7001180B2/ja active Active
- 2019-10-10 EP EP19886219.5A patent/EP3859578B1/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8856937B1 (en) | 2008-06-27 | 2014-10-07 | Symantec Corporation | Methods and systems for identifying fraudulent websites |
US9094452B2 (en) | 2012-08-01 | 2015-07-28 | Bank Of America Corporation | Method and apparatus for locating phishing kits |
Also Published As
Publication number | Publication date |
---|---|
WO2020105308A1 (ja) | 2020-05-28 |
EP3859578A4 (en) | 2022-06-22 |
US11838322B2 (en) | 2023-12-05 |
EP3859578A1 (en) | 2021-08-04 |
EP3859578B1 (en) | 2022-11-23 |
US20220021703A1 (en) | 2022-01-20 |
JPWO2020105308A1 (ja) | 2021-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6590481B2 (ja) | ウイルス侵入経路特定装置、ウイルス侵入経路特定方法およびプログラム | |
RU2580036C2 (ru) | Система и способ создания гибкой свертки для обнаружения вредоносных программ | |
JP5989919B2 (ja) | Urlマッチング装置、urlマッチング方法、および、urlマッチングプログラム | |
US20180097828A1 (en) | Computerized system and method for automatically determining malicious ip clusters using network activity data | |
CN111382434B (zh) | 用于检测恶意文件的系统和方法 | |
CN102254111A (zh) | 恶意网站检测方法及装置 | |
CN103180863A (zh) | 计算机系统分析方法和装置 | |
CN108900554B (zh) | Http协议资产检测方法、系统、设备及计算机介质 | |
JP6674036B2 (ja) | 分類装置、分類方法及び分類プログラム | |
CN106022124B (zh) | 针对恶意软件分析受口令保护的文件 | |
US11431749B2 (en) | Method and computing device for generating indication of malicious web resources | |
JP5752642B2 (ja) | 監視装置および監視方法 | |
CN108182360B (zh) | 一种风险识别方法及其设备、存储介质、电子设备 | |
WO2017077847A1 (ja) | 解析装置、解析方法、および、解析プログラム | |
JP7001180B2 (ja) | フィッシングサイト検知装置、フィッシングサイト検知方法、および、フィッシングサイト検知プログラム | |
CN110392032B (zh) | 检测异常url的方法、装置及存储介质 | |
WO2019123757A1 (ja) | 分類装置、分類方法、および、分類プログラム | |
CN106021252A (zh) | 使用公共因特网搜索确定基于因特网的对象信息 | |
US11556819B2 (en) | Collection apparatus, collection method, and collection program | |
Na et al. | Service identification of internet-connected devices based on common platform enumeration | |
Michalas et al. | MemTri: A memory forensics triage tool using bayesian network and volatility | |
CN112231700B (zh) | 行为识别方法和装置、存储介质及电子设备 | |
Feng et al. | Cyber security investigation for Raspberry Pi devices | |
JP6749865B2 (ja) | 情報収集装置、および、情報収集方法 | |
RU2614561C1 (ru) | Система и способ определения похожих файлов |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201020 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20211124 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211207 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7001180 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |