(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-25
(45)【発行日】2022-12-05
(54)【発明の名称】不正Webページ検出装置、不正Webページ検出装置の制御方法及び制御プログラム
(51)【国際特許分類】
G06F 21/55 20130101AFI20221128BHJP
【FI】
G06F21/55
(21)【出願番号】P 2020539928
(86)(22)【出願日】2018-08-29
(86)【国際出願番号】 JP2018031993
(87)【国際公開番号】W WO2020044469
(87)【国際公開日】2020-03-05
【審査請求日】2021-08-03
(73)【特許権者】
【識別番号】506129924
【氏名又は名称】BBソフトサービス株式会社
(74)【代理人】
【識別番号】100099759
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100114018
【氏名又は名称】南山 知広
(74)【代理人】
【識別番号】100180806
【氏名又は名称】三浦 剛
(74)【代理人】
【識別番号】100159259
【氏名又は名称】竹本 実
(72)【発明者】
【氏名】田代 隆一
【審査官】平井 誠
(56)【参考文献】
【文献】米国特許出願公開第2016/0352772(US,A1)
【文献】米国特許出願公開第2013/0086677(US,A1)
【文献】特開平07-319897(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/55
(57)【特許請求の範囲】
【請求項1】
複数の不正Webページのそれぞれを構成する複数の不正HTML(HyperText Markup Language)文書の、各HTML文書内の複数の文字列の関連状態に基づく特徴ベクトルを記憶する記憶部と、
検査対象Webページを構成する検査対象HTML文書を取得する取得部と、
前記検査対象HTML文書及び前記不正HTML文書に対して、HTMLタグ内に記載されているURLのパスを削除する処理を実行する前処理部と、
前記検査対象HTML文書の特徴ベクトルを算出するベクトル算出部と、
前記検査対象HTML文書の特徴ベクトルと、前記複数の不正HTML文書の特徴ベクトルのそれぞれとの類似度を算出する類似度算出部と、
前記算出された各類似度としきい値とに基づいて、前記検査対象Webページが不正Webページであるか否かを判定する判定部と、
前記判定部による判定結果を出力する判定結果出力部と、
を有
し、
前記記憶部が記憶する特徴ベクトルは、前記前処理部により処理された不正HTML文書の特徴ベクトルであり、
前記ベクトル算出部は、前記前処理部により処理された検査対象HTML文書に基づいて前記検査対象HTML文書の特徴ベクトルを算出する、
ことを特徴とする不正Webページ検出装置。
【請求項2】
前記取得部は、新たな不正HTML文書をさらに取得し、
前記ベクトル算出部は、HTML文書の特徴ベクトルを出力するように事前学習された学習器により前記検査対象HTML文書の特徴ベクトルを算出し、かつ、前記学習器により前記新たな不正HTML文書の特徴ベクトルをさらに算出し、
前記類似度算出部は、前記検査対象HTML文書の特徴ベクトルと、前記新たな不正HTML文書の特徴ベクトルとの類似度をさらに算出する、請求項1に記載の不正Webページ検出装置。
【請求項3】
前記記憶部は、さらに、複数の正規Webページのそれぞれを構成する複数の正規HTML文書の前記特徴ベクトルを、前記正規Webページを示す正規URL(Uniform Resource Locator)と関連付けて記憶し、
前記取得部は、さらに、前記検査対象Webページを示す検査対象URLを取得し、
前記類似度算出部は、前記検査対象URL中のドメイン名が前記複数の正規URL中のドメイン名の何れとも一致しない場合、さらに、前記検査対象HTML
文書の特徴ベクトルと、前記複数の正規HTML文書の特徴ベクトルのそれぞれとの類似度を算出する、請求項
1又は2に記載の不正Webページ検出装置。
【請求項4】
前記類似度算出部は、前記不正HTML文書のサイズと前記検査対象HTML文書のサイズとの差が所定値以上である場合、当該不正HTML文書について前記類似度を算出しない、請求項1~
3の何れか一項に記載の不正Webページ検出装置。
【請求項5】
記憶部及び出力部を有する不正Webページ検出装置の制御方法であって、前記不正Webページ検出装置が、
複数の不正Webページのそれぞれを構成する複数の不正HTML(HyperText Markup Language)文書の、各HTML文書内の複数の文字列の関連状態に基づく特徴ベクトルを前記記憶部に記憶し、
検査対象Webページを構成する検査対象HTML文書を取得し、
前記検査対象HTML文書及び前記不正HTML文書に対して、HTMLタグ内に記載されているURLのパスを削除する処理を実行し、
前記検査対象HTML文書の特徴ベクトルを算出し、
前記検査対象HTML文書の特徴ベクトルと、前記複数の不正HTML文書の特徴ベクトルのそれぞれとの類似度を算出し、
前記算出された各類似度としきい値とに基づいて、前記検査対象Webページが不正Webページであるか否かを判定し、
前記判定の結果を前記出力部に出力する、
ことを含
み、
前記記憶部が記憶する特徴ベクトルは、前記URLのパスを削除する処理により処理された不正HTML文書の特徴ベクトルであり、
前記検査対象HTML文書の特徴ベクトルを算出する処理は、前記URLのパスを削除する処理により処理された検査対象HTML文書に基づいて前記検査対象HTML文書の特徴ベクトルを算出する、
ことを特徴とする不正Webページ検出装置の制御方法。
【請求項6】
記憶部及び出力部を有する不正Webページ検出装置の制御プログラムであって、
複数の不正Webページのそれぞれを構成する複数の不正HTML(HyperText Markup Language)文書の、各HTML文書内の複数の文字列の関連状態に基づく特徴ベクトルを前記記憶部に記憶し、
検査対象Webページを構成する検査対象HTML文書を取得し、
前記検査対象HTML文書及び前記不正HTML文書に対して、HTMLタグ内に記載されているURLのパスを削除する処理を実行し、
前記検査対象HTML文書の特徴ベクトルを算出し、
前記検査対象HTML文書の特徴ベクトルと、前記複数の不正HTML文書の特徴ベクトルのそれぞれとの類似度を算出し、
前記算出された各類似度としきい値とに基づいて、前記検査対象Webページが不正Webページであるか否かを判定し、
前記判定の結果を前記出力部に出力する、
ことを不正Webページ検出装置に実行させ
、
前記記憶部が記憶する特徴ベクトルは、前記URLのパスを削除する処理により処理された不正HTML文書の特徴ベクトルであり、
前記検査対象HTML文書の特徴ベクトルを算出する処理は、前記URLのパスを削除する処理により処理された検査対象HTML文書に基づいて前記検査対象HTML文書の特徴ベクトルを算出する、
ことを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、不正Webページ検出装置、不正Webページ検出装置の制御方法及び制御プログラムに関する。
【背景技術】
【0002】
インターネットを利用したフィッシング詐欺の増加に対応するため、フィッシング詐欺による被害を防止するための技術が普及しつつある。
【0003】
例えば、特許文献1には、フィッシングサイトのURL(Uniform Resource Locator)へのアクセスを禁止する通信制御装置が記載されている。通信制御装置は、ユーザの端末と、ユーザの端末が通信する他の装置との間の通信経路に設けられ、端末が送信した通信データに含まれるアクセス先のコンテンツのURLと、フィッシングサイトリスト、即ちブラックリストに含まれるURLとを比較する。通信制御装置は、端末のアクセス先のコンテンツのURLが、ブラックリストに含まれるURLに合致した場合、そのコンテンツへのアクセスを禁止する。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【0005】
近年、フィッシングサイトを構築するためのツールがフィッシング詐欺を行う犯罪者の間で広く流通し、犯罪者は、ツールを使用することによって、容易に且つ短期間でフィッシングサイトを生成できるようになっている。犯罪者は、ツールを使用して新たなフィッシングサイトを生成し、ユーザを新たなサイトの不正Webページに誘導してフィッシング詐欺を実行し、生成したフィッシングサイトを閉鎖することを、短期間で実行する。犯罪者は、不正Webページがブラックリストに掲載される前にフィッシング詐欺を実行することができ、従来のブラックリスト方式では、不正Webページを検出できない場合がある。
【0006】
不正Webページ検出装置、不正Webページ検出装置の制御方法及び制御プログラムの目的は、Webページが不正Webページであるか否かを高精度に判定することを可能にすることにある。
【0007】
本実施形態に係る不正Webページ検出装置は、複数の不正Webページのそれぞれを構成する複数の不正HTML(HyperText Markup Language)文書の、各HTML文書内の複数の文字列の関連状態に基づく特徴ベクトルを記憶する記憶部と、検査対象Webページを構成する検査対象HTML文書を取得する取得部と、検査対象HTML文書の特徴ベクトルを算出するベクトル算出部と、検査対象HTML文書の特徴ベクトルと、複数の不正HTML文書の特徴ベクトルのそれぞれとの類似度を算出する類似度算出部と、算出された各類似度としきい値とに基づいて、検査対象Webページが不正Webページであるか否かを判定する判定部と、判定部による判定結果を出力する判定結果出力部と、を有する。
【0008】
本実施形態に係る不正Webページ検出装置において、記憶部は、さらに、複数の正規Webページのそれぞれを構成する複数の正規HTML文書の特徴ベクトルを、正規Webページを示す正規URL(Uniform Resource Locator)と関連付けて記憶し、取得部は、さらに、検査対象Webページを示す検査対象URLを取得し、類似度算出部は、検査対象URL中のドメイン名が複数の正規URL中のドメイン名の何れとも一致しない場合、さらに、検査対象HTMLの特徴ベクトルと、複数の正規HTML文書の特徴ベクトルのそれぞれとの類似度を算出することが好ましい。
【0009】
本実施形態に係る不正Webページ検出装置において、類似度算出部は、不正HTML文書のサイズと検査対象HTML文書のサイズとの差が所定値以上である場合、不正HTML文書について類似度を算出しないことが好ましい。
【0010】
本実施形態に係る不正Webページ検出装置において、複数の文字列は、HTMLタグ及び単語を含むことが好ましい。
【0011】
本実施形態に係る不正Webページ検出装置において、複数の文字列は、連続する文字列であることが好ましい。
【0012】
本実施形態に係る記憶部及び出力部を有する不正Webページ検出装置の制御方法は、不正Webページ検出装置が、複数の不正Webページのそれぞれを構成する複数の不正HTML文書の、各HTML文書内の複数の文字列の関連状態に基づく特徴ベクトルを記憶部に記憶し、検査対象Webページを構成する検査対象HTML文書を取得し、検査対象HTML文書の特徴ベクトルを算出し、検査対象HTML文書の特徴ベクトルと、複数の不正HTML文書の特徴ベクトルのそれぞれとの類似度を算出し、算出された各類似度としきい値とに基づいて、検査対象Webページが不正Webページであるか否かを判定し、判定の結果を出力部に出力する、ことを含む。
【0013】
本実施形態に係る記憶部及び出力部を有する不正Webページ検出装置の制御プログラムは、複数の不正Webページのそれぞれを構成する複数の不正HTML文書の、各HTML文書内の複数の文字列の関連状態に基づく特徴ベクトルを記憶部に記憶し、検査対象Webページを構成する検査対象HTML文書を取得し、検査対象HTML文書の特徴ベクトルを算出し、検査対象HTML文書の特徴ベクトルと、複数の不正HTML文書の特徴ベクトルのそれぞれとの類似度を算出し、算出された各類似度としきい値とに基づいて、検査対象Webページが不正Webページであるか否かを判定し、判定の結果を出力部に出力する、ことを不正Webページ検出装置に実行させる。
【0014】
本実施形態によれば、不正Webページ検出装置、不正Webページ検出装置の制御方法及び制御プログラムは、Webページが不正Webページであるか否かを高精度に判定することを可能にする。
【0015】
本発明の目的及び効果は、特に請求項において指摘される構成要素及び組み合わせを用いることによって認識され且つ得られるだろう。前述の一般的な説明及び後述の詳細な説明の両方は、例示的及び説明的なものであり、特許請求の範囲に記載されている本発明を制限するものではない。
【図面の簡単な説明】
【0016】
【
図1】不正Webページ検出装置における処理概要の一例を示す図である。
【
図2】通信システム1の概略構成の一例を示す図である。
【
図3】不正Webページ検出装置4の概略構成の一例を示す図である。
【
図4】(a)は不正Webページテーブルのデータ構造の一例を示す図であり、(b)は正規Webページテーブルのデータ構造の一例を示す図である。
【
図5】不正Webページ検出装置4の動作の一例を示すフローチャートである。
【
図6】初期処理の一例を示すフローチャートである。
【
図7】検査処理の一例を示すフローチャートである。
【
図8】(a)は形態素解析部433への入力データの一例であり、(b)は形態素解析部433の出力データの一例である。
【
図9】特徴ベクトルの処理概要の一例を示す図である。
【
図10】(a)~(d)は端末2が表示する画面の一例を示す図である。
【発明を実施するための形態】
【0017】
以下、図面を参照しつつ、本発明の様々な実施形態について説明する。ただし、本発明の技術的範囲はそれらの実施形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶ点に留意されたい。
【0018】
図1は、不正Webページ検出装置における処理概要の一例を示す図である。
【0019】
不正Webページ検出装置は、既知の複数の不正Webページのそれぞれを構成する複数の不正HTML文書を記憶している。不正Webページは、フィッシング詐欺で使用されるWebページであり、既知の不正WebページのURLは、例えば、フィッシング対策協議会等の団体によって提供される。Webページには、HTML文書と、HTML文書中に記載された画像等が含まれる。
【0020】
最初に、不正Webページ検出装置は、複数の不正HTML文書毎に、各HTML文書内の複数の文字列の関連状態に基づく特徴ベクトル1~nを算出する。文字列とは、HTMLタグ又は単語である。複数の文字列の関連状態とは、各文字列の間の関係性であり、例えば、各HTML文書内における所定の複数の文字列の配置関係である。複数の文字列は、HTMLタグ及び単語を含むことがあり、連続する文字列であってもよい。特徴ベクトルは、複数次元、例えば1×150のベクトルである。各特徴ベクトルは、文書内の文字列の配置が類似する2つのHTML文書の特徴ベクトルが、非類似の2つのHTML文書の特徴ベクトルよりも類似するように算出される。
【0021】
次に、不正Webページ検出装置は、検査対象Webページに含まれる検査対象HTML文書を取得する。検査対象Webページは、フィッシング詐欺で使用されるWebページであるか否かを検査する対象のWebページであり、例えば、不正Webページ検出装置とは異なる端末がアクセスを要求したWebページである。不正Webページ検出装置は、不正HTML文書と同様に、検査対象HTML文書に対して特徴ベクトルAを算出する。
【0022】
次に、不正Webページ検出装置は、算出した特徴ベクトルAと、各特徴ベクトル1~nとの類似度1~nを算出する。
【0023】
次に、不正Webページ検出装置は、算出した類似度1~nの最大値としきい値とを比較することにより、検査対象Webページが不正Webページであるか否かを判定する。不正Webページ検出装置は、類似度1~nの最大値がしきい値以上である場合、検査対象Webページはその最大値となる類似度が算出された特徴ベクトルに対応する不正Webページに類似しており、不正Webページであると判定する。
【0024】
不正Webページ検出装置は、既知の複数の不正HTML文書及び検査対象HTML文書毎に、各HTML文書内の複数の文字列の関連状態に基づく特徴ベクトルを算出する。不正Webページ検出装置は、特徴ベクトルの類似度に基づいて、検査対象Webページが不正Webページであるか否かを判定する。不正Webページは、共通のツールにより生成されていることが多く、共通のツールにより生成された複数の不正Webページは、ツールに起因する共通の特徴を有し、類似する可能性が高い。このため、不正Webページ検出装置は、HTML文書の特徴ベクトルを使用することにより、検査対象WebページのURLが既知の不正WebページのURLと異なっていても、検査対象Webページが不正Webページか否かを高精度に判定することができる。
【0025】
<実施形態>
図2は、通信システム1の概略構成の一例を示す図である。
【0026】
通信システム1は、端末2、Webサーバ3及び不正Webページ検出装置4等を有する。端末2、Webサーバ3及び不正Webページ検出装置4は、インターネット等の通信ネットワーク5を介して接続される。
【0027】
端末2は、ユーザがWebページの閲覧に使用する端末である。端末2は、TCP/IP(Transmission Control Protocol / Internet Protocol)等の通信方式により、通信ネットワーク5を介してWebサーバ3及び不正Webページ検出装置4と通信し、通信の内容に応じた表示を行う。
【0028】
Webサーバ3は、端末2及び不正Webページ検出装置4による要求に応じて、Webページを送信するサーバである。Webサーバ3は、TCP/IP等の通信方式により、通信ネットワーク5を介して端末2及び不正Webページ検出装置4と通信する。
【0029】
端末2は、URLを指定してWebサーバ3のWebページにアクセスする際に、同一のURLを不正Webページ検出装置4に送信する。不正Webページ検出装置4は、送信されたURLを指定してWebサーバ3にHTML文書の取得を要求し、Webサーバ3からHTML文書を受信する。不正Webページ検出装置4は、受信したHTML文書が不正HTML文書であるか否かを判定し、判定した結果を端末2に送信する。端末2は、送信された検査結果に応じて、Webサーバ3から送信されたWebページ又は警告画面を表示する。
【0030】
図3は、不正Webページ検出装置4の概略構成の一例を示す図である。
【0031】
不正Webページ検出装置4は、通信部41と、記憶部42と、処理部43とを有する。
【0032】
通信部41は、有線LAN等の有線の通信インターフェース回路、又は、無線LAN等の無線の通信インターフェース回路を有する。通信部41は、通信ネットワーク5を介して、端末2、Webサーバ3等とTCP/IP等の通信方式により通信を行う。通信部41は、端末2、Webサーバ3等から受信したデータを処理部43に供給する。通信部41は、処理部43から供給されたデータを端末2、Webサーバ3等に送信する。通信部41は、出力部の一例である。
【0033】
記憶部42は、例えば、半導体メモリ、磁気ディスク装置及び光ディスク装置のうちの少なくとも一つを有する。記憶部42は、処理部43による処理に用いられるドライバプログラム、オペレーティングシステムプログラム、アプリケーションプログラム、データ等を記憶する。
【0034】
例えば、記憶部42は、ドライバプログラムとして、通信部41を制御する通信デバイスドライバプログラム等を記憶する。また、記憶部42は、オペレーティングシステムプログラムとして、TCP/IP等の通信方式による接続制御プログラム等を記憶する。また、記憶部42は、アプリケーションプログラムとして、各種データの送受信を行うデータ処理プログラム等を記憶する。コンピュータプログラムは、例えばCD-ROM(Compact Disk Read Only Memory)、DVD-ROM(Digital Versatile Disk Read Only Memory)等のコンピュータ読み取り可能な可搬型記録媒体から、公知のセットアッププログラム等を用いて記憶部42にインストールされてもよい。
【0035】
記憶部42には、データとして、不正Webページテーブル及び正規Webページテーブル等が記憶される。不正Webページテーブル及び正規Webページテーブルの詳細については後述する。
【0036】
処理部43は、一又は複数個のプロセッサ及びその周辺回路を有し、不正Webページ検出装置4の全体的な動作を統括的に制御する。処理部43は、例えば、CPU(Central Processing Unit)である。なお、処理部43は、DSP(digital signal processor)、LSI(large scale integration)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programming Gate Array)等でもよい。
【0037】
処理部43は、不正Webページ検出装置4の各種処理が記憶部42に記憶されているプログラム等に応じて適切な手順で実行されるように、通信部41等の動作を制御する。処理部43は、記憶部42に記憶されているプログラム(ドライバプログラム、オペレーティングシステムプログラム、アプリケーションプログラム等)に基づいて処理を実行する。また、処理部43は、複数のプログラム(アプリケーションプログラム等)を並列に実行できる。
【0038】
処理部43は、取得部431、前処理部432、形態素解析部433、ベクトル算出部434、類似度算出部435、判定部436及び判定結果出力部437等を有する。処理部43が有するこれらの各部は、処理部43が有するプロセッサ上で実行されるプログラムによって実装される機能モジュールである。あるいは、処理部43が有するこれらの各部は、独立した集積回路、マイクロプロセッサ、又はファームウェアとして不正Webページ検出装置4に実装されてもよい。
【0039】
図4(a)は、不正Webページテーブルのデータ構造の一例を示す図である。
【0040】
不正Webページテーブルには、不正Webページを識別するためのID、不正Webページを示すURL、不正Webページに含まれる不正HTML文書、不正HTML文書に基づいて算出された特徴ベクトル等が関連付けられて記憶される。不正HTML文書は、不正Webページテーブルに複数個記憶され、複数の不正HTML文書は、複数の不正Webページのそれぞれを構成する。なお、特徴ベクトルは、不正Webページテーブルとは別に、ID、URL等と関連付けられて記憶部42上に記憶されてもよい。また、URLは、不正Webページテーブルに含まれなくてもよい。特徴ベクトルが不正Webページテーブルに記憶されるか否かに関わらず、記憶部42は、複数の不正Webページのそれぞれを構成する複数の不正HTML文書の、各HTML文書内の複数の文字列の関連状態に基づく特徴ベクトルを記憶する。
【0041】
図4(b)は、正規Webページテーブルのデータ構造の一例を示す図である。
【0042】
正規Webページテーブルには、正規Webページを識別するためのID、正規Webページを示す正規URL、正規Webページに含まれる正規HTML文書、正規HTML文書に基づいて算出された特徴ベクトル等が関連付けられて記憶される。なお、特徴ベクトルは、正規Webページテーブルとは別に、ID、正規URL等と関連付けられて記憶部42上に記憶されてもよい。特徴ベクトルが正規Webページテーブルに記憶されるか否かに関わらず、記憶部42は、複数の正規Webページのそれぞれを構成する複数の正規HTML文書の特徴ベクトルを、正規Webページを示す正規URLと関連付けて記憶する。
【0043】
図5は、不正Webページ検出装置4の動作の一例を示すフローチャートである。
【0044】
以下、
図5に示したフローチャートを参照しつつ、不正Webページ検出装置4の動作の例を説明する。以下に説明する動作は、予め記憶部42に記憶されているプログラムに基づき、主に処理部43により各要素と協働して実行される。
【0045】
最初に、取得部431は、記憶部42から不正Webページテーブル又は正規Webページテーブルを読み出し、複数の不正HTML文書及び複数の正規HTML文書をそれぞれ取得する(ステップS11)。
【0046】
次に、不正Webページ検出装置4は、初期処理を実行する(ステップS12)。不正Webページ検出装置4のベクトル算出部434は、初期処理において、複数の不正HTML文書及び複数の正規HTML文書毎に特徴ベクトルを算出する。初期処理の詳細については後述する。ステップS11及びステップS12の処理は、不正Webページ検出装置4が起動した直後に実行される。
【0047】
次に、不正Webページ検出装置4の取得部431は、端末2からURLを受信するまで待機する(ステップS13)。端末2は、URLを指定してWebページの送信要求をWebサーバ3に送信し、同一のURLを不正Webページ検出装置4に送信する。不正Webページ検出装置4の取得部431は、端末2から送信されたURLを通信部41を介して受信し、検査対象Webページを示す検査対象URLとして取得する。
【0048】
次に、取得部431は、取得したURLを指定して、Webサーバ3にHTML文書の送信要求を通信部41を介して送信する(ステップS14)。
【0049】
次に、Webサーバ3は、HTML文書の送信要求を受信すると、URLで指定されたHTML文書を不正Webページ検出装置4に送信する。取得部431は、HTML文書を通信部41を介してWebサーバ3から受信し、検査対象Webページを構成する検査対象HTML文書として取得する(ステップS15)。
【0050】
次に、不正Webページ検出装置4の判定部436は、検査対象HTML文書に対して検査処理を実行する(ステップS16)。判定部436は、検査処理において、検査対象HTML文書を含む検査対象Webページが不正Webページであるか否かを判定する。検査処理の詳細については後述する。
【0051】
次に、判定結果出力部437は、検査処理における判定結果を通信部41を介して端末2に送信することにより出力する(ステップS17)。次に、判定結果出力部437は、処理をステップS13へ戻し、ステップS13からステップS17の処理を繰り返す。
【0052】
一方、端末2は、判定結果を受信すると、受信した判定結果を特定する。端末2は、判定結果が正規Webページであることを示す場合、Webサーバ3から受信したWebページを表示し、判定結果が不正Webページであることを示す場合、Webサーバ3から受信したWebページを表示せず、警告画面を表示する。
【0053】
なお、端末2は、不正Webページ検出装置4からWebページが不正Webページであることを示す判定結果を受信する前にWebサーバ3からWebページを受信し、表示している場合がある。その場合、端末2は、表示しているWebページに代えて、警告画面を表示する。
【0054】
図6は、初期処理の一例を示すフローチャートである。初期処理は
図5のステップS12で実行される。
【0055】
最初に、前処理部432は、ステップS11で取得した複数の不正HTML文書及び複数の正規HTML文書に対して、それぞれ前処理を実行する(ステップS21)。前処理部432は、前処理として、各HTML文書の内容をHTML文法規則に基づいて解析し、解析結果に基づいて各HTML文書中の一部の文字を削除する。例えば、前処理部432は、各HTML文書中の改行を表す制御文字である改行コード、改行コードの前後の空白文字、コメント文字列又はJavaScriptの実行コード等を削除する。また、前処理部432は、各HTML文書のHTMLタグ内に記載されているURLのパスを削除してもよく、一部のHTMLタグを削除して、他の一部のHTMLタグがHTML文書に残るように処理してもよい。
【0056】
次に、形態素解析部433は、前処理部432が処理した各HTML文書に対して、それぞれ形態素解析処理を実行する(ステップS22)。形態素解析部433は、各HTML文書に対して形態素解析を実行することにより、各HTML文書の内容を、複数の文字列の集合体に変換する。形態素解析部433は、例えばMeCab等の公知の形態素解析エンジンを用いて形態素解析処理を実行する。形態素解析部433は、形態素解析処理において、例えば、<p>等のHTMLタグ、及び、HTMLタグ以外の単語がそれぞれ1つの文字列となるように処理する。
【0057】
次に、ベクトル算出部434は、形態素解析部433が処理した各HTML文書に対して、それぞれ各HTML文書内の複数の文字列の関連状態に基づく特徴ベクトルを算出する(ステップS23)。
【0058】
ベクトル算出部434は、複数の文字列を有するHTML文書が入力された場合に、HTML文書の特徴ベクトルを出力するように事前学習された学習器により、特徴ベクトルを算出する。この学習器は、例えばニューラルネットワーク等により、既存のWebページのHTML文書を用いて事前学習され、予め記憶部42に記憶されている。学習器は、HTML文書内の文字列の配置が類似するHTML文書については類似する特徴ベクトルを出力し、HTML文書内の文字列の配置の状態が類似しないHTML文書については類似しない特徴ベクトルを出力する様に学習されている。学習器は、この学習を、例えばDoc2Vec等の公知の手法を用いて実行する。事前学習に用いられるHTML文書は、例えばWikipediaのHTML文書である。
【0059】
なお、ベクトル算出部434は、学習器を使用せずに特徴ベクトルを算出してもよい。その場合、ベクトル算出部434は、二以上の所定数の文字列が各文書内に出現する出現数を各要素とする特徴ベクトルを算出する。所定数の文字列は、予め複数設定され、記憶部42に記憶されている。この場合、複数の文字列の関連状態とは、各文字列の出現数の大小関係であり、類似するHTML文書については、各文字列の出現数の大小関係は類似するものとなる。したがって、ベクトル算出部434は、HTML文書内の各文字列の出現数が相互に類似するHTML文書については類似する特徴ベクトルを算出し、HTML文書内の各文字列の出現数が類似しないHTML文書については類似しない特徴ベクトルを算出する。
【0060】
次に、ベクトル算出部434は、算出した各特徴ベクトルを、それぞれ対応する不正HTML文書又は正規HTML文書と関連付けて不正Webページテーブル又は正規Webページテーブルに記憶する(ステップS24)。以上により、一連の処理は終了する。
【0061】
図7は、検査処理の一例を示すフローチャートである。初期処理は
図5のステップS16で実行される。
【0062】
最初に、前処理部432は、ステップS15で取得した検査対象HTML文書に対して、前処理を実行する(ステップS31)。この前処理は、対象が検査対象HTML文書である点を除いてステップS21で説明した前処理と同一である。
【0063】
次に、形態素解析部433は、前処理部432が処理した検査対象HTML文書に対して、形態素解析処理を実行する(ステップS32)。この形態素解析処理は、対象が検査対象HTML文書である点を除いてステップS22で説明した形態素解析処理と同一である。
【0064】
次に、ベクトル算出部434は、形態素解析部433が処理した検査対象HTML文書の特徴ベクトルを算出する(ステップS33)。この特徴ベクトルの算出処理は、対象が検査対象HTML文書である点を除いてステップS23で説明した特徴ベクトルの算出処理と同一である。ステップS23及びステップS33のように、ベクトル算出部434は、複数の不正HTML文書、複数の正規HTML文書及び検査対象HTML文書毎に、各HTML文書内の複数の文字列の関連状態に基づく特徴ベクトルを算出する。
【0065】
次に、類似度算出部435は、検査対象HTML文書の特徴ベクトルと、ステップS24で記憶した複数の不正HTML文書の特徴ベクトルのそれぞれとの類似度を算出する(ステップS34)。
【0066】
次に、判定部436は、算出された各類似度としきい値とに基づいて、検査対象Webページが不正Webページであるか否かを判定する(ステップS35)。
【0067】
類似度の最大値がしきい値以上である場合(ステップS35-Y)、判定部436は、検査対象Webページが、その最大値となる類似度が算出された特徴ベクトルに対応する不正Webページであると判定し(ステップS36)、一連の処理を終了する。
【0068】
一方、類似度の最大値がしきい値未満である場合(ステップS35-N)、判定部436は、正規Webテーブルを読み出し、複数の正規URLを取得する(ステップS37)。
【0069】
次に、判定部436は、ステップS13で取得した検査対象URL中のドメイン名が、ステップS37で取得した複数の正規URL中のドメイン名の何れかと一致するか否かを判定する(ステップS38)。
【0070】
検査対象URL中のドメイン名が複数の正規URL中のドメイン名の何れかと一致する場合(ステップS38-Y)、判定部436は、検査対象Webページは正規のWebサイトに属しており、不正Webページでないと判定する(ステップS39)。以上により、一連の処理を終了する。
【0071】
検査対象URL中のドメイン名が複数の正規URL中のドメイン名の何れとも一致しない場合(ステップS38-N)、判定部436は、検査対象Webページは正規のWebサイトに属していないと判定する。次に、類似度算出部435は、検査対象HTMLの特徴ベクトルと、複数の正規HTML文書の特徴ベクトルのそれぞれとの類似度を算出する(ステップS40)。
【0072】
次に、判定部436は、算出された各類似度の最大値と第2しきい値とを比較することにより、検査対象Webページが不正Webページであるか否かを判定する(ステップS41)。第2しきい値は、ステップS35で使用するしきい値と同一の値でも、異なる値でもよい。
【0073】
判定部436は、ステップS38において、検査対象Webページは正規のWebサイトに属していないと判定している。したがって、類似度の最大値が第2しきい値以上である場合、判定部436は、検査対象Webページは登録されている正規Webページに類似する不正Webページであると判定する(ステップS42)。
【0074】
一方、類似度の最大値が第2しきい値未満である場合、判定部436は、検査対象Webページは正規のWebサイトに属していないが、正規Webページのいずれとも内容が類似していないため、未登録の正規Webページであると判定する(ステップS43)。以上により、一連の処理を終了する。
【0075】
図8(a)は、形態素解析部433への入力データの一例であり、
図8(b)は、形態素解析部433の出力データの一例である。
【0076】
図8(a)に示す様に、形態素解析部433への入力データは、不正Webページ、正規Webページ及び検査対象Webページの各HTML文書から、前処理部432が改行コード等の一部の文字を削除したHTML文書である。
【0077】
図8(b)に示す様に、形態素解析部433の出力データは、形態素解析部433が、入力データに対して形態素解析を実行し、実行結果として得られる形態素を単語単位にまとめて二重引用符の間に配置したデータである。なお、形態素解析部433は、入力データからHTMLタグを除去した後に形態素解析を実行し、形態素を単語単位にまとめた後、元の位置に二重引用符が付されたHTMLタグを挿入することによって、出力データを生成してもよい。
【0078】
図9は、特徴ベクトルの処理概要の一例を示す図である。
【0079】
記憶部42には、複数の各不正Webページ1~nの不正HTML文書1~nが記憶されている。まず、ステップS23において、ベクトル算出部434は、記憶部42に記憶された各不正Webページ1~nの不正HTML文書1~nに対して、それぞれ特徴ベクトル1~nを算出する。一方、ステップS33において、ベクトル算出部434は、取得部431が取得した検査対象Webページの検査対象HTML文書に対して、特徴ベクトルAを算出する。そして、ステップS34において、類似度算出部435は、特徴ベクトルAと、特徴ベクトル1~nのそれぞれとのコサイン類似度1~nを算出する。2つの特徴ベクトルは、コサイン類似度が1に近いほど類似し、-1に近いほど類似しない。
図9に示す例では、類似度1は0.9であり、類似度2は0.4であり、類似度nは-0.9である。
【0080】
ステップS35において、判定部436は、類似度1~nの最大値である0.9と、しきい値とを比較することにより、検査対象Webページが不正Webページであるか否かを判定する。例えば、しきい値が0.8である場合、類似度1~nの最大値0.9は、しきい値以上であるため、検査対象Webページは、不正Webページ1に対応する不正Webページであると判定される。
【0081】
図10(a)~
図10(d)は、端末2が表示する画面の一例を示す図である。
【0082】
図10(a)に示す様に、端末2は、ユーザによりWebブラウザの起動が指示されると、Webブラウザを起動して表示する。Webブラウザの表示画面60は、URL入力領域61と、表示領域62とを含む。端末2は、Webブラウザを起動すると、不正Webページ検出装置4と通信するアプリケーションプログラムを起動する。
【0083】
図10(b)に示す様に、ユーザによりWebブラウザの表示画面70のURL入力領域61にURLが入力された場合、端末2は、指示されたURLが示すWebサーバ3へアクセスし、Webサーバ3からWebページを受信する。さらに、端末2は、アプリケーションプログラムに従って、Webブラウザに入力されたURLを不正Webページ検出装置4に送信する。
【0084】
不正Webページ検出装置4は、端末2から送信されたURLをステップS13で取得し、ステップS14~ステップS17の処理を実行して、判定結果を端末2に送信する。
【0085】
図10(c)に示す様に、端末2は、端末2から送信されたURLに対応するWebページが正規Webページであることを示す判定結果を不正Webページ検出装置4から受信した場合、Webサーバ3から受信したWebページ81を表示画面80に表示する。
【0086】
図10(d)に示す様に、端末2は、端末2から送信されたURLに対応するWebページが不正Webページであることを示す判定結果を不正Webページ検出装置4から受信した場合、警告画面90を表示する。警告画面用のデータは、端末2に予め記憶されている。警告画面90には、文字表示91と、終了ボタン92とが表示される。文字表示91は、Webサーバ3から受信したWebページがフィッシングページである可能性があることを警告する文章である。終了ボタン92が押下されると、端末2は、警告画面90を閉じる。
【0087】
このように、不正Webページ検出装置4は、既知の複数の不正HTML文書及び検査対象HTML文書毎に、各HTML文書内の複数の文字列の関連状態に基づく特徴ベクトルを算出する。不正Webページ検出装置4は、算出した特徴ベクトルの類似度に基づいて、検査対象Webページが不正Webページであるか否かを判定する。不正Webページは、共通のツールにより生成されていることが多く、共通のツールにより生成された複数の不正Webページは、ツールに起因する共通の特徴を有し、類似する可能性が高い。このため、不正Webページ検出装置4は、HTML文書の特徴ベクトルを使用することにより、検査対象WebページのURLが既知の不正WebページのURLと異なっていても、検査対象Webページが不正Webページか否かを高精度に判定することができる。
【0088】
また、不正Webページ検出装置4は、検査対象URL中のドメイン名が複数の正規URL中のドメイン名の何れとも一致しない場合、さらに、検査対象HTMLの特徴ベクトルと、複数の正規HTML文書の特徴ベクトルのそれぞれとの類似度を算出する。不正Webページ検出装置4は、検査対象HTML文書が正規HTML文書と類似するか否かも判定するため、正規Webページと類似する様に作成され、まだ不正Webページとして登録されていない不正Webページを検出することができる。
【0089】
また、不正Webページ検出装置4は、HTMLタグ及び単語を含む複数の文字列の関連状態に基づいて特徴ベクトルを算出する。共通のツールにより生成された複数の不正Webページは、HTMLタグと単語との間にツールに起因する特定の関連性を有している可能性が高い。不正Webページ検出装置4は、HTMLタグと単語との関連状態が検査対象Webページと各不正Webページとで類似しているか否かを判定するため、検査対象Webページが不正Webページであるか否かをより高精度に検出することができる。
【0090】
また、不正Webページ検出装置4は、特徴ベクトルを、複数の連続する文字列の関連状態に基づいて算出する。連続する文字列において同様なHTMLタグ及び/又は単語の組が使用される傾向を有するWebページ群は、類似するWebページである可能性が高い。したがって、不正Webページ検出装置4は、不正Webページとして登録されているWebページと類似する不正Webページをより高精度に検出することができる。
【0091】
なお、前処理部432は、ステップS21及びステップS31において、前処理により生成された各HTML文書のサイズをそれぞれ算出してもよい。その場合、類似度算出部435は、ステップS34において、算出した複数の不正HTML文書のそれぞれのサイズと算出した検査対象HTML文書のサイズとの差を算出し、サイズの差が所定値以上である場合、当該不正HTML文書について類似度を算出しない。同様に、類似度算出部435は、ステップS40において、算出した複数の正規HTML文書のそれぞれのサイズと算出した検査対象HTML文書のサイズとの差を算出し、サイズの差が所定値以上である場合、当該正規HTML文書について類似度を算出しない。
【0092】
検査対象HTML文書のサイズが不正HTML文書のサイズ又は正規HTML文書のサイズと明らかに異なる場合、2つのHTML文書は明らかに異なる。したがって、不正Webページ検出装置4は、不正Webページの判定精度を低減することなく、検査処理の高速化を図ることができる。なお、類似度算出部435は、前処理部432が前処理を実行する前の各HTML文書のサイズの差を算出してもよい。または、類似度算出部435は、形態素解析部433が形態素解析処理を実行した後の各HTML文書のサイズの差を算出してもよい。
【0093】
また、形態素解析部433は、前処理部432が前処理を実行したHTML文書に代えて、ステップS11で取得した各正規HTML文書、及び、ステップS15で取得した検査対象HTML文書に対して、形態素解析処理を実行してもよい。
【0094】
また、ベクトル算出部434は、形態素解析部433が処理したHTML文書に代えて、前処理部432が前処理を実行したHTML文書に対して特徴ベクトルを算出してもよい。ベクトル算出部434は、形態素解析部433が処理したHTML文書に代えて、ステップS11で取得した各正規HTML文書、及び、ステップS15で取得した検査対象HTML文書に対して特徴ベクトルを算出してもよい。例えば、HTML文書が単語毎に分かち書きされる英語等の言語で記載されている場合、ベクトル算出部434は、入力されたHTML文書をHTMLタグの切れ目及び単語と単語との間の空白で区切った複数の文字列に基づいて、特徴ベクトルを算出してもよい。
【0095】
また、判定部436は、ステップS35において、しきい値以上の類似度と判定された不正Webページが所定数以上であるか否かを判定してもよい。例えば、判定部436は、しきい値以上の類似度と判定された不正Webページの数が、所定数以上である場合に検査対象Webページが不正Webページであると判定し、所定数以上でない場合に検査対象Webページが不正Webページでないと判定してもよい。
【0096】
また、ステップS37~ステップS43の処理を省略し、判定部436は、ステップS34で算出された各類似度の最大値がしきい値未満である場合、検査対象Webページは正規Webページであると判定してもよい。
【0097】
また、判定部436がステップS37~ステップS38の処理を実行するタイミングを、ステップS31の処理の前に変更し、ステップS35-NのときにステップS40に処理を進めてもよい。例えば、判定部436は、検査処理の最初にステップS37~ステップS38の処理を実行する。ステップS38-Yの場合、判定部436は、ステップS39と同様に、検査対象Webページは正規のWebサイトに属しており、不正Webページでないと判定して、一連の処理を終了する。ステップS38-Yの場合、判定部436は、処理をステップS31に進める。
【0098】
また、記憶部42は、さらに、不正Webページテーブルの各不正HTML文書に、どの正規URLに対応してフィッシング詐欺を実行する不正HTML文書であるかを示すURL情報を関連付けて記憶してもよい。この場合、類似度算出部435は、ステップS34において、さらに、検査対象HTML文書の特徴ベクトルと、複数の正規HTML文書の特徴ベクトルのそれぞれとの類似度を算出する。そして、類似度算出部435は、各不正HTML文書に関する類似度と、各不正HTML文書のURL情報が示す正規URLに関連付けられた正規HTML文書に関する類似度との平均値を算出する。判定部436は、ステップS35において、類似度算出部435が算出した各平均値の最大値がしきい値以上であるか否かを判定することにより、検査対象Webページが不正Webページであるか否かを判定する。
【0099】
また、不正Webページ検出装置4は、運用中に新たな不正Webページ又は正規WebページのURLを取得し、各Webページに対応する特徴ベクトルを算出してもよい。この場合、取得部431は、取得したURLを指定して不正HTML文書又は正規HTML文書を取得し、取得したURL及びHTML文書を不正Webページテーブル又は正規Webページテーブルに登録する。前処理部432、形態素解析部433及びベクトル算出部434は、新たに取得したHTML文書に対してステップS12の初期処理を実行し、特徴ベクトルを算出する。
【0100】
不正Webページ検出装置4は、既存の学習器に新たなHTML文書を学習させることなく、検査対象HTML文書の特徴ベクトルと新たなHTML文書の特徴ベクトルとの類似度を算出することができる。不正Webページ検出装置4は、既存のHTML文書及び新たなHTML文書の全体を用いて学習器を再学習させることなく、新たなHTML文書を用いた判定を実行することができるため、学習に係る処理の負荷を軽減させることができる。
【0101】
当業者は、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。
【符号の説明】
【0102】
4 不正Webページ検出装置
42 記憶部
431 取得部
434 ベクトル算出部
435 類似度算出部
436 判定部
437 判定結果出力部