(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-01-27
(45)【発行日】2025-02-04
(54)【発明の名称】学習済みモデル、サイト判定プログラム及びサイト判定システム
(51)【国際特許分類】
G06T 7/00 20170101AFI20250128BHJP
【FI】
G06T7/00 350C
(21)【出願番号】P 2020072911
(22)【出願日】2020-04-15
【審査請求日】2022-06-23
【審判番号】
【審判請求日】2024-03-19
(73)【特許権者】
【識別番号】505025715
【氏名又は名称】ネットスター株式会社
(73)【特許権者】
【識別番号】521106544
【氏名又は名称】株式会社モノリシックデザイン
(74)【代理人】
【識別番号】100120592
【氏名又は名称】山崎 崇裕
(72)【発明者】
【氏名】荒川 靖章
(72)【発明者】
【氏名】御手洗 秀一
【合議体】
【審判長】廣川 浩
【審判官】河合 弘明
【審判官】中木 努
(56)【参考文献】
【文献】特開2019-046253(JP,A)
【文献】高木秀輔 外1名,ロゴマークを利用したフィッシングサイト検知手法の提案,第82回(2020年)全国大会講演論文集(3),一般社団法人情報処理学会,2020年2月20日
【文献】高橋啓伸 外3名,画像局所特徴量を利用したフィッシングサイト検知手法の実装と評価,情報処理学会シンポジウムシリーズ コンピュータセキュリティシンポジウム2016 論文集[CD-ROM],一般社団法人情報処理学会,2016年10月4日
(57)【特許請求の範囲】
【請求項1】
入力画像に含まれる企業やサービスの商標として用いられている所定の表示を検出するよう、コンピュータを機能させるための学習済みモデルであって、
公式ウェブサイト及び公式ウェブサイトを騙るフィッシングサイトの画面ショット画像を用いて
これらのウェブサイト内に含まれる要素毎にクラス分類を行って予め学習がなされており、入力画像を畳み込んで所定サイズの第1の特徴マップを生成した後に、前記第1の特徴マップを畳み込んで第2の特徴マップを生成して、直前に生成された特徴マップを畳み込んでさらなる特徴マップを生成する動作を繰り返すことで複数の特徴マップを生成し、前記複数の特徴マップに基づいて、前記入力画像内に含まれる前記所定の表示を検出するよう、コンピュータを機能させるための学習済みモデル。
【請求項2】
請求項
1に記載の学習済みモデルにおいて、
前記所定サイズは、
前記入力画像の1/2スケール以上であることを特徴とする学習済みモデル。
【請求項3】
請求項
1に記載の学習済みモデルにおいて、
前記第1の特徴マップに基づいて前記入力画像内に含まれる前記所定の表示を検出するに当たり、基準長を24ピクセルとした複数種類の矩形を用いることを特徴とする学習済みモデル。
【請求項4】
請求項1から
3のいずれかに記載の学習済みモデルにおいて、
前記入力画像は、
縮小されていないことを特徴とする学習済みモデル。
【請求項5】
コンピュータを、
公式ウェブサイトに関する情報を予め記憶する記憶手段と、
URLの入力を受け付ける受付手段と、
前記URLのウェブサイトの画面ショット画像を取得する取得手段と、
前記画面ショット画像に含まれる前記所定の表示を検出する請求項1に記載の学習済みモデルと、
前記所定の表示の検出結果と前記情報とに基づいて前記URLのサイトが公式ウェブサイトであるか否かを判定する判定手段
として機能させるサイト判定プログラム。
【請求項6】
請求項
5に記載のサイト判定プログラムにおいて、
前記取得手段により取得された前記画面ショット画像を縮小することなく前記学習済みモデルに入力する入力手段としてコンピュータをさらに機能させることを特徴とするサイト判定プログラム。
【請求項7】
請求項
5に記載のサイト判定プログラムにおいて、
前記取得手段により取得された前記画面ショット画像が所定の画像サイズより大きい場合に前記画面ショット画像を縮小した上で前記学習済みモデルに入力する入力手段としてコンピュータをさらに機能させることを特徴とするサイト判定プログラム。
【請求項8】
公式ウェブサイトに関する情報を予め記憶する記憶手段と、
URLの入力を受け付ける受付手段と、
前記URLのウェブサイトの画面ショット画像を取得する取得手段と、
前記画面ショット画像に含まれる前記所定の表示を検出する請求項1に記載の学習済みモデルと、
前記所定の表示の検出結果と前記情報とに基づいて前記URLのサイトが公式ウェブサイトであるか否かを判定する判定手段と
を備えたサイト判定システム。
【請求項9】
請求項
8に記載のサイト判定システムにおいて、
前記取得手段により取得された前記画面ショット画像を縮小することなく前記学習済みモデルに入力する入力手段をさらに備えたサイト判定システム。
【請求項10】
請求項
8に記載のサイト判定システムにおいて、
前記取得手段により取得された前記画面ショット画像が所定の画像サイズより大きい場合に前記画面ショット画像を縮小した上で前記学習済みモデルに入力する入力手段をさらに備えたサイト判定システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、フィッシングサイトであるか否かを判定する技術に関する。
【背景技術】
【0002】
従来、インターネット上には、実在する組織を騙ってアカウントIDやパスワード、ATMの暗証番号、クレジットカード番号等の個人情報を詐取するフィッシングサイトが後を絶たず、その対策として様々な工夫がなされている。例えば、フィッシング詐欺に用いられたURLをフィッシングサイトリストに予め格納し、ユーザがアクセスしようとするURLとフィッシングサイトリストに含まれるURLとの比較を行って、いずれかのURLと合致した場合に、そのURLへのアクセスを禁止する通信制御装置が知られている(例えば、特許文献1を参照。)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記の先行技術によれば、既知のフィッシングサイトへのアクセスは禁止することができると考えられる。しかしながら、フィッシングサイトは、追跡を逃れるために同じURLで存続することは稀であり、新たなURLがフィッシング詐欺に用いられることが多いため、全てのフィッシングサイトのURLをリストに予め格納することは不可能である。したがって、リストに格納されていないURLの場合には、フィッシングサイトであってもアクセスを禁止することができない。また、近年は、スマートフォンが幅広い世代に急速に普及しており、フィッシング詐欺被害のさらなる拡大が懸念されることから、より確実な対策が求められている。
【0005】
そこで、本発明は、フィッシング詐欺被害の未然防止に寄与する技術の提供を目的とする。
【課題を解決するための手段】
【0006】
上記の課題を解決するため、本発明は以下の学習済みモデル、サイト判定プログラム及びサイト判定システムを提供する。なお、以下の括弧書中の文言はあくまで例示であり、本発明はこれに限定されるものではない。
【0007】
すなわち、本発明の学習済みモデルは、入力画像に含まれる所定の表示を検出するよう、コンピュータを機能させるための学習済みモデルであって、ウェブサイトの画面ショット画像を用いて予め学習がなされており、入力画像を畳み込んで所定サイズの第1の特徴マップを生成した後に、第1の特徴マップを畳み込んで第2の特徴マップを生成して、直前に生成された特徴マップを畳み込んでさらなる特徴マップを生成する動作を繰り返すことで複数の特徴マップを生成し、複数の特徴マップに基づいて、入力画像内に含まれる所定の表示を検出するよう、コンピュータを機能させるための学習済みモデルである。
【0008】
ウェブサイトには、通常、そのウェブサイトを運営する企業やサービスを表すロゴやアイコン等の所定の表示(商標等)が配置されている。学習済みモデルは、ウェブサイトの画面ショット画像を用いて予め学習がなされているため、入力画像に含まれるウェブサイトに配置されている所定の表示を精度よく検出することができる。そして、検出された表示が、その表示を使用する企業やサービスとは無関係のURLのウェブサイトに配置されているとすれば、そのウェブサイトはフィッシングサイトの疑いが高いと考えられる。したがって、学習済みモデルによれば、アクセスしようとするウェブサイトがフィッシングサイトでないか否かの判定の一翼を担うことができ、フィッシング詐欺被害の未然防止に寄与することが可能となる。
【0009】
好ましくは、上記の学習済みモデルにおいて、ウェブサイトは、公式ウェブサイト及び公式ウェブサイトを騙るフィッシングサイトである。
【0010】
ウェブサイトには、公式に運営されている公式ウェブサイトと、公式ウェブサイトを騙るフィッシングサイトが存在する。フィッシングサイトは、アクセスした人に公式ウェブサイトであると思い込ませるために、敢えて公式ウェブサイトとそっくりに似せて作成されており、公式ウェブサイトに配置されているのと同一の表示(ロゴやアイコン等)が配置されているのが一般的である。但し、フィッシングサイトによっては、公式ウェブサイトと比較してそうした表示の画像が粗かったり、態様(大きさ、色、形状等)が多少変えられていたりするケースも見受けられる。
【0011】
ここで、上記の態様の学習済みモデルは、公式ウェブサイト及びフィッシングサイトの画面ショット画像を用いて予め学習がなされているため、入力画像に含まれる公式ウェブサイト又はフィッシングサイトに配置されている所定の表示を精度よく検出することができる。したがって、上記の態様の学習済みモデルによれば、アクセスしようとするウェブサイトが公式ウェブサイトであるか否か(フィッシングサイトでないか否か)の判定の一翼を担うことができ、フィッシング詐欺被害の未然防止に寄与することが可能となる。
【0012】
さらに好ましくは、上記の学習済みモデルにおいて、所定サイズは入力画像の1/2スケール以上のサイズである。或いは、上記の学習済みモデルにおいて、第1の特徴マップに基づいて入力画像内に含まれる所定の表示を検出するに当たり、基準長を24ピクセルとした複数種類の矩形を用いる。
【0013】
この態様の学習済みモデルにおいては、入力画像を畳み込んで生成される第1の特徴マップ、すなわち最も大きい特徴マップが入力画像の1/2スケール以上のサイズで生成される。或いは、第1の特徴マップに対し、基準長を24ピクセルとした矩形を用いて小さな領域からオブジェクトの検出が可能である。したがって、この態様の学習済みモデルによれば、入力画像内に含まれる小さいアイコンを精度よく検出することができる。
【0014】
本発明のサイト判定プログラムは、公式ウェブサイトに関する情報を予め記憶する記憶手段と、URLの入力を受け付ける受付手段と、URLのウェブサイトの画面ショット画像を取得する取得手段と、画面ショット画像に含まれる所定の表示を検出する上記の学習済みモデルと、所定の表示の検出結果と上記の情報とに基づいてURLのサイトが公式ウェブサイトであるか否かを判定する判定手段として、コンピュータを機能させるためのものである。
【0015】
また、本発明のサイト判定システムは、公式ウェブサイトに関する情報を予め記憶する記憶手段と、URLの入力を受け付ける受付手段と、URLのウェブサイトの画面ショット画像を取得する取得手段と、画面ショット画像に含まれる所定の表示を検出する上記の学習済みモデルと、所定の表示の検出結果と上記の情報とに基づいてURLのサイトが公式ウェブサイトであるか否かを判定する判定手段とを備えている。
【0016】
サイト判定プログラム及びサイト判定システムにおいては、公式ウェブサイトに関する情報(公式ウェブサイトが公開されるドメイン名やIPアドレスのホワイトリスト)が記憶手段に予め記憶されており、この情報と学習済みモデルによる所定の表示の検出結果とに基づいて、公式ウェブサイトであるか否かの判定がなされる。したがって、上記のサイト判定プログラム又はサイト判定システムによれば、ユーザがアクセスしようとするウェブサイトが公式ウェブサイトであるか否か(フィッシングサイトでないか否か)を、ユーザが実際にウェブサイトにアクセスする前に判定することができるため、その結果に応じた報知を行うことで、フィッシング詐欺の被害を未然に防止することが可能となる。
【0017】
好ましくは、上記のサイト判定プログラム及びサイト判定システムにおいて、取得手段により取得された画面ショット画像を縮小することなく学習済みモデルに入力する入力手段をさらに備えている。
【0018】
この態様のサイト判定プログラム及びサイト判定システムにおいては、取得されたウェブサイトの画面ショット画像が縮小されることなく学習済みモデルに入力される。したがって、この態様のサイト判定プログラム及びサイト判定システムによれば、画面ショット画像のサイズが大きい場合でも、縮小により劣化させることなく画面ショット画像全体の情報を維持したまま特徴マップに畳み込むことができるため、画面ショット画像に含まれる所定の表示を高精度に検出することが可能となる。
【発明の効果】
【0019】
本発明によれば、フィッシング詐欺被害の未然防止に寄与することができる。
【図面の簡単な説明】
【0020】
【
図1】オブジェクト検出モデルの機能ブロック図である。
【
図2】公式サイト及びそのサイトを騙る偽サイトの一例を示す図である。
【
図3】オブジェクト検出処理の手順例を示すフローチャートである。
【
図4】オブジェクト検出処理の流れを図式化して示した概念図である。
【
図5】オブジェクト検出モデルによる検出結果の一例を示す図である。
【
図6】フィッシングサイト判定プログラムの機能ブロック図である。
【
図7】フィッシングサイト判定処理の手順例を示すフローチャートである。
【
図8】複合判定処理の手順例を示すフローチャートである。
【
図9】フィッシングサイト判定アプリの使用態様を示す図(1/3)である。
【
図10】フィッシングサイト判定アプリの使用態様を示す図(2/3)である。
【
図11】フィッシングサイト判定アプリの使用態様を示す図(3/3)である。
【発明を実施するための形態】
【0021】
以下、本発明の実施形態について、図面を参照しながら説明する。なお、以下の実施形態は好ましい例示であり、本発明はこの例示に限定されるものではない。
【0022】
〔オブジェクト検出モデル〕
図1は、オブジェクト検出モデル10の機能ブロック図である。
【0023】
オブジェクト検出モデル10は、画像の入力に応じて、その画像内に含まれる特定の企業やサービスの商標として用いられているロゴやアイコン等のオブジェクト(所定の表示)を検出するように予め学習がなされた学習済みモデルであり、その実体は、OSS(open source software)のソースコードをベースに実施形態に最適化する形で開発された、物体検出のアルゴリズムを実行するプログラムである。本実施形態においては、物体検出のアルゴリズムとしてSSD(single shot multibox detector)を採用している。
【0024】
オブジェクト検出モデル10は、例えば、学習結果記憶部11、画像入力部12、特徴マップ生成部13、検出部14、検出結果生成部15等で構成されている。
【0025】
学習結果記憶部11は、予めなされた学習の結果(学習により得られた学習済みパラメータ)を記憶している。本実施形態においては、フィッシング詐欺で悪用されやすい企業やサービス(ショッピング、SNS、ファイル共有、動画配信、銀行、クレジットカード、電子決済等)が運営する公式のウェブサイト(以下、「公式サイト」と称する。)、及び、これらの公式サイトを騙るフィッシングサイト(以下、「偽サイト」と称する場合がある。)の各スクリーンショットを収集し、これらを学習データとして予め学習を行っている。
【0026】
図2は、公式サイト及びそのサイトを騙る偽サイトの一例を示す図である。
なお、説明の便宜のため、以下の説明においては、架空の企業「ZZZMAIL」がメールサービス「ZZZMAIL」を提供しているものと想定する。なお、この
図2に示されるサイト及びサイト内に配置されているロゴやアイコン等は、いずれも説明のために作成した架空のものであり実在しない。
【0027】
図2中(A):公式サイトの一例を示している。公式サイトは、公式サイトを提供する企業が保有するドメイン又はIPアドレスのサーバで公開され、また、暗号化通信に対応しているのが一般的である。そのような公式サイトにブラウザでアクセスすると、アドレス欄には「https:」で始まるURLが表示され、このサイトとの通信が安全であることを示す鍵マークが併せて表示される。図示されたページには、企業(サービス)名を示す「ZZZMAIL」というロゴや、Zの文字が3個重ねられた態様のアイコンとともに、メールサービスへのサインインに必要となる情報の入力欄が表示されている。
【0028】
図2中(B):上記の公式サイトを騙る偽サイトの一例を示している。偽サイトは、アクセスした人にこのサイトが公式サイトであると思わせるために、公式サイトとそっくりに似せて作成されているが、そのURLは公式サイトのものとは当然ながら異なっている。例えば、偽サイトは暗号化通信に対応しておらず、また、URLの一部に公式サイトのドメイン名が含まれていることが多い。
【0029】
図2中(B)に図示した偽サイトにおいては、ページ構成が公式サイトとほぼ同一であるが、偽サイトによっては、例えば、企業(サービス)名を示すロゴやアイコンの位置や態様(大きさ、色、形状等)が多少変えられていたり、これらの画質が粗かったり、或いはページ構成の変更(例えば、公式サイトには存在しない入力欄の設置)等がなされていたりする場合もある。そこで、本実施形態においては、偽サイトで悪用されやすい企業(サービス)のロゴやアイコンの高精度な検出を可能とするために、公式サイト及び偽サイトの両方を学習データとし、これらのサイト内に含まれるロゴやアイコンを検出対象のオブジェクトとしてそれぞれクラスに分類し、予め学習を行っている。
【0030】
〔オブジェクト検出処理〕
図3は、オブジェクト検出モデル10により実行されるオブジェクト検出処理の手順例を示すフローチャートである。以下、手順例に沿って、オブジェクト検出処理の詳細を説明しながら、上記の各機能部11~15の役割について併せて説明する。
【0031】
ステップS10:先ず、画像入力部12が、オブジェクト検出モデル10の外部からの画像の入力を受け付ける。本実施形態においては、検出処理の効率化を図るため、外部からの画像は固定のサイズ(512×512ピクセル)でオブジェクト検出モデル10に入力される。そして、画像入力部12は、入力された画像(以下、「入力画像」と称する。)を特徴マップ生成部13に渡す。
【0032】
ステップS12:次に、特徴マップ生成部13が、入力画像を畳み込みニューラルネットワークを用いて段階的に畳み込み、複数のサイズによる特徴マップを生成する。このとき、特徴マップ生成部13は、例えば、VGG-16のネットワークを用いて入力画像を畳み込むことにより、先ず、最も大きい特徴マップを生成する。特徴マップ生成部13は、その後もさらなる畳み込みを繰り返し、39層のレイヤーを経てサイズの異なる特徴マップを生成する。
【0033】
なお、本実施形態においては、画像内に含まれる小さいアイコンを精度よく検出可能とするため、最も大きい特徴マップのサイズを、OSSとして公開されているSSDにおける場合よりも大きくしている。具体的には、SSD512における512×512ピクセルの入力画像に対する最も大きい特徴マップのサイズが64×64ピクセルであるのに対し、本実施形態においては、512×512ピクセルの入力画像に対する最も大きい特徴マップのサイズを例えば512×512ピクセルとしている。
【0034】
ステップS14:続いて、検出部14が、特徴マップ生成部13により生成された複数の特徴マップを用いて、入力画像内に含まれる特定の企業やサービスの商標に該当するオブジェクトを検出し、検出されたオブジェクトがいずれのクラスに属するかを予測して、予測されたクラス及び予測の信頼度(以下、単に「信頼度」と称する。)を、オブジェクト毎に出力する。このとき、検出部14は、各特徴マップに対し、基準長に基づいて異なるアスペクト比で定義される複数種類の矩形(いわゆる「default box」)を用いてオブジェクトの検出を行う。
【0035】
なお、本実施形態においては、6種類の矩形を定義している。例えば、512×512ピクセルの特徴マップの場合には、特徴マップを構成する各特徴点(1×1ピクセル)に対し6種類の矩形を用いて検出を行うため、1クラス当たりの予測に要する計算量は512×512×6となり、その結果、512×512×6個の検出領域候補を取得可能となる。
【0036】
また、6種類の各矩形の形状は、基準長を「s」として「(幅,高さ)」で表すと、それぞれ(s,s),(s,2s),(2s,s),(s,s/2),(s/2,s),(√(s*s´),√(s*s´))と定義される。なお、「s´」は、次階層の特徴マップ(サイズが1段階小さい1つ上位側の特徴マップ)における基準長のことである。
【0037】
ところで、基準長sの値は畳み込みの度合いに応じて変化し、特徴マップの階層が上がる(特徴マップのサイズが小さくなる)ほど、基準長sは大きくなり、したがって矩形に囲まれる領域(視野)は大きくなる。本実施形態における最下位層の(サイズが最も大きい)特徴マップ、すなわち矩形に囲まれる領域(視野)が最も小さくなる特徴マップに対する基準長sは、512×512ピクセルの入力画像に換算すると24ピクセルとなる。
【0038】
ステップS16:最後に、検出結果出力部15が、検出部14による検出結果に基づいて最終調整を行い、各オブジェクトのクラス及び信頼度を出力する。ここでいう最終調整とは、同一のオブジェクトが異なる矩形で複数回検出された場合に、これらの矩形を調整して1つにする周知の処理(Non-Maximum Suppression)のことである。検出結果出力部15は、最終調整後の矩形で検出された各オブジェクトについて、そのクラス及び信頼度を出力する。
【0039】
以上の手順を終えると、オブジェクト検出処理が終了する。
【0040】
図4は、オブジェクト検出処理の流れを図式化して示した概念図である。
【0041】
オブジェクト検出モデル10に固定サイズ(512×512ピクセル)の画像が入力されると、入力画像が段階的に畳み込まれて複数の特徴マップが生成される(
図3中のステップS12に対応)。
【0042】
具体的には、先ず、入力画像が畳み込まれることで、第1の特徴マップ(例えば、512×512ピクセル)が生成される。次に、第1の特徴マップが畳み込まれることで、より小さいサイズの第2の特徴マップ(例えば、256×256ピクセル)が生成される。そして、第2の特徴マップが畳み込まれることで、さらに小さいサイズの第3の特徴マップ(例えば、128×128ピクセル)が生成される。その後も同様にして、直前に生成された特徴マップが畳み込まれることで、さらに小さいサイズの特徴マップが次々と生成されていく。
【0043】
各特徴マップは、サイズが大きいほど、特徴マップを構成する各特徴点が表す入力画像内の領域は小さくなり、サイズが小さいほど、各特徴点が表す入力画像内の領域は大きくなる。したがって、サイズの大きい特徴マップは、細かい粒度による検出に用いられ、サイズの小さい特徴マップは、粗い粒度による検出に用いられる。
【0044】
サイズの異なる複数の特徴マップが生成されると、これらの特徴マップに対し、上述した基準長sに基づいて定義される6種類の矩形を用いて入力画像内に含まれる特定のオブジェクトが検出される(
図4中のオブジェクト検出:
図3中のステップS14に対応)。具体的には、サイズの大きい特徴マップを用いて小さなオブジェクトの検出がなされ、サイズの小さい特徴マップを用いて大きなオブジェクトの検出がなされる。
【0045】
入力画像内の特定のオブジェクトが検出されると、その検出結果に基づいて最終調整を行った上で、各オブジェクトのクラス及び信頼度が出力される(
図4中の検出結果出力:
図3中のステップS16に対応)。
【0046】
本実施形態においては、入力画像に対し非常に大きなサイズ(例えば、512×512ピクセル:入力画像の1/1スケール)の特徴マップが生成され、この特徴マップに対し基準長sを24ピクセルとする6種類の矩形を用いてオブジェクトの検出がなされるため、画像内に含まれる小さいアイコンを精度よく検出することができる。
【0047】
〔検出結果の例〕
図5は、オブジェクト検出モデル10による検出結果の一例を示す図である。ここでは、
図2中(B)に示した偽サイトのスクリーンショットを取得してオブジェクト検出モデル10に入力した場合にどのような検出結果が出力されるか、を例に挙げて説明する。
【0048】
なお、図中の太い破線による矩形は、この矩形内で特定のオブジェクトが検出されたことを示している(以下、この矩形を「検出領域」と称する。)。また、検出領域を囲む実線は、検出結果を示す枠であり、枠内の上部には、検出されたオブジェクトが該当すると予測されたクラス及び信頼度が「クラス名:信頼度」の形式で示されている。
【0049】
図5に示されるように、この偽サイトのスクリーンショットからは、特定のオブジェクトが4個検出されている。具体的には、Zの文字が3個重ねられた態様のアイコンに対し、「icon_zzzmail:0.92」との検出結果が出力されており、ロゴの右側に配置された「ZZZMAIL」という大きなロゴに対しては、「logo_zzzmail:1.00」との検出結果が出力されている。また、その少し下に配置されているメールアドレスの入力枠内に凡例として示されているメールアドレス中の「zzzmail」という文字列に対しては、「logo_zzzmail:0.23」との検出結果が出力されている。さらに、スクリーンショットの右下部に配置された著作権表示内の「ZZZMAIL」という文字列に対しては、「logo_zzzmail:0.87」との検出結果が出力されている。
【0050】
このように、この偽サイトからは、「icon_zzzmail」というクラスに該当すると予測されたオブジェクトが1個検出され、「logo_zzzmail」というクラスに該当すると予測されたオブジェクトが3個検出されているが、各ロゴやアイコンの態様により信頼度が異なっていることが分かる。例えば、4個のオブジェクトのうち信頼度が最も低く算定された、メールアドレス中の「zzzmail」という文字列は、予めクラスに分類されたロゴ「ZZZMAIL」と比較して、前半の「zzz」の部分は文字の形態が似ているものの、後半の「mail」の部分は文字の形態が大きく異なっているため、学習結果に基づいて信頼度が低く算定されたものと推測される。これに対し、その他の3個のオブジェクトは、予めクラスに分類されたロゴやアイコンと外観がほぼ同一であるため、学習結果に基づいて信頼度が高く算定されたものと推測される。
【0051】
本実施形態においては、上述したように、公式サイト及び偽サイトの各スクリーンショットを学習データとしたが、学習データ全体のうち、8割を学習用として用い、2割を検証用として用いた。学習データを増加する各段階で、適合率(予測の正解率)及び再現率(予測時に正解の何割を正解(=再現)できたか)を算出し、これらからF値(適合率と再現率の調和平均)を検出精度として測定した結果から、学習データを追加するにつれて検出精度が向上することが分かっている。
【0052】
〔フィッシングサイト判定プログラム〕
図6は、フィッシングサイト判定プログラム100の機能ブロック図である。
【0053】
フィッシングサイト判定プログラム100は、ユーザがアクセスしようとするウェブサイトがフィッシングサイトであるか否か(公式サイトでないか否か)を判定するプログラムであり、ユーザがウェブサイトにアクセスする際に使用する一般的なブラウジング機能を有したコンピュータ(例えば、スマートフォンやタブレットPC等のモバイルデバイス)上で動作可能に構成されている。また、そのようなコンピュータのユーザからは、フィッシングサイト判定プログラム100は、1つのアプリケーション(以下、「フィッシングサイト判定アプリ」と称する。)として認識される。
【0054】
フィッシングサイト判定プログラム100は、例えば、オブジェクト検出部10、サイト情報記憶部20、URL入力部30、サイト画面取得部40、複合判定部50、判定結果出力部60等で構成されている。このうち、オブジェクト検出部10は、上述したオブジェクト検出モデル10がフィッシングサイト判定プログラム100の一部として組み込まれたものである。また、サイト情報記憶部20は、公式サイトを提供する企業が保有するドメイン名やIPアドレス等に関して目視確認を行って予め登録されたホワイトリストを記憶している。
【0055】
〔フィッシングサイト判定処理〕
図7は、フィッシングサイト判定プログラム100により実行されるフィッシングサイト判定処理の手順例を示すフローチャートである。以下、手順例に沿って、フィッシングサイト判定処理の詳細を説明しながら、上記の各機能部10~60の役割について併せて説明する。
【0056】
ステップS30:先ず、URL入力部30が、フィッシングサイト判定プログラム100の外部からのURLの入力を受け付け、入力されたURL(以下、「入力URL」と称する。)をサイト画面取得部40に渡す。なお、URL入力部30は、iOS(登録商標)のユニバーサルリンクやAndroid(登録商標)のアプリリンクに対応しており、リンク先として設定されているURLを受け取ることが可能である。
【0057】
ステップS32,S34:次に、サイト画面取得部40が、入力URLにアクセスしてそのスクリーンショットを取得し(ステップS32)、必要に応じて所定のサイズ(512×512ピクセル)にリサイズした上で(ステップS34)、オブジェクト検出部10に入力する。
【0058】
具体的には、サイト画面取得部40は、取得したスクリーンショットが所定のサイズより小さい場合には、所定のサイズに足りない余白部分を0(黒色)で埋めることで、スクリーンショットを所定のサイズにリサイズする。これに対し、取得したスクリーンショットが所定のサイズより大きい場合には、サイト画面取得部40は、スクリーンショットを分割して個々の分割片を所定のサイズ以下に収め、所定のサイズに足りない余白部分を0(黒色)で埋めることで、個々の分割片を所定のサイズにリサイズする。なお、分割片が所定のサイズ以下に収まれば、その分割方法は問わない。例えば、スクリーンショットのサイズが800×600ピクセルである場合には、4等分して200×150ピクセルの分割片を生成してもよいし、これより大きい分割片を生成して一部領域を相互にオーバーラップさせてもよい。
【0059】
このようにすることで、スクリーンショットが所定のサイズより大きい場合であっても、縮小により劣化させることなくスクリーンショットに収められた情報をそのままの状態でオブジェクト検出部10に入力することができる。なお、取得したスクリーンショットが所定のサイズより大きい場合に、本実施形態においては上述したような分割を行っているが、分割せずに所定のサイズに縮小した上でオブジェクト検出部10に入力することも可能である。
【0060】
ステップS36:スクリーンショットの入力を受けて、オブジェクト検出部10が、スクリーンショット内に含まれる、学習済みのクラスに該当すると予測されるロゴ及びアイコンを検出する。
【0061】
ステップS38:続いて、複合判定部50が、複合判定処理を実行する。この処理では、複合判定部50は、前ステップS36でのロゴ及びアイコンの検出結果とサイト情報記憶部20に記憶されている公式サイトに関する情報とに基づいて、入力URLのサイトがフィッシングサイトであるか否かを複合的に判定する。なお、複合判定処理の具体的な内容については、別のフローチャートを参照しながら詳しく後述する。
【0062】
ステップS40:そして、判定結果出力部60が、前ステップS38での判定結果に応じた処理を実行する。具体的には、判定結果出力部60は、入力URLのサイトがフィッシングサイトである(公式サイトでない)と判定された場合には(ステップS40:Yes)、ステップS42を実行する。一方、フィッシングサイトでない(公式サイトである)と判定された場合には(ステップS40:No)、判定結果出力部60は、ステップS44を実行する。
【0063】
ステップS42:判定結果出力部60は、入力URLのサイトがフィッシングサイトである疑いが高い旨を画面に出力する。
【0064】
ステップS44:判定結果出力部60は、入力URLのサイトが公式サイトである旨を画面に出力する。
【0065】
以上の手順を終えると、フィッシングサイト判定処理が終了する。
【0066】
なお、上記の手順例においては、サイト画面取得部40は、オブジェクト検出部10における検出処理の効率化を図るために、取得したスクリーンショットを所定のサイズにリサイズした上でオブジェクト検出部10に入力しているが、これに限定されず、取得したスクリーンショットをそのままオブジェクト検出部10に入力することも可能である。
【0067】
〔複合判定処理〕
図8は、上述したフィッシングサイト判定処理の過程(
図7中のステップS38)で実行される複合判定処理の手順例を示すフローチャートである。以下、手順例に沿って説明する。
【0068】
ステップS60:複合判定部50は、学習済みのオブジェクトとの信頼度が閾値(例えば、0.8)を超えるロゴ又はアイコンが検出されたか否かを確認する。確認の結果、信頼度が閾値を超えるロゴ又はアイコンが検出された場合には(ステップS60:Yes)、複合判定部50は、ステップS62を実行する。一方、検出されなかった場合には(ステップS60:No)、複合判定部50は、ステップS64を実行する。
【0069】
ステップS62:複合判定部50は、入力URLで指定されているサーバのドメイン又はIPアドレスがホワイトリストに存在するか否か、すなわち、入力URLで指定されているサーバのドメイン又はIPアドレスに関する情報がサイト情報記憶部20に記憶されているか否かを確認する。確認の結果、情報がサイト情報記憶部20に記憶されている場合には(ステップS62:Yes)、複合判定部50は、ステップS64を実行する。一方、記憶されていない場合には(ステップS62:No)、複合判定部50は、ステップS66を実行する。
【0070】
ステップS64:複合判定部50は、入力URLのサイトがフィッシングサイトでない(公式サイトである)と判定する。
【0071】
ステップS66:複合判定部50は、入力URLのサイトがフィッシングサイトである(公式サイトでない)と判定する。
【0072】
ステップS68:複合判定部50は、上記のステップS64又はステップS66で下された判定結果を呼び出し元に出力する。
【0073】
以上の手順を終えると、複合判定処理が終了する。
【0074】
このように、本実施形態においては、ホワイトリストに存在しないドメイン又はIPアドレスのサイトから、信頼度が閾値を超えるロゴ又はアイコン、すなわち著名企業(サービス)の表示が1つでも検出された場合には、フィッシングサイトであるとの判定がなされ、フィッシングサイトの疑いが高い旨を示す画面表示がなされる。したがって、ユーザがアクセスしようとするURLのサイトの危険性をユーザが実際にアクセスする前に判定して報知することができるため、フィッシング詐欺の被害を未然に防止することが可能となる。
【0075】
なお、例えば、ショッピングサイトが電子決済サービスと連携している場合におけるショッピングサイトの表示と電子決済サービスの表示のように、1つのサイトから異なる企業(サービス)の表示が検出された場合には、そのサイトのドメイン又はIPアドレスがホワイトリストに存在していれば、フィッシングサイトでないとの判定がなされ、公式サイトである旨を示す画面表示がなされることとなる。
【0076】
〔フィッシングサイト判定アプリの使用態様〕
図9~
図11は、スマートフォンSPにおけるフィッシングサイト判定アプリの使用態様を示す図である。
【0077】
図9:フィッシングサイトに誘導しようとするメールの一例を示している。このメールは、件名が「[ZZZ]ログインしましたか?」であり、差出人が「ZZZ銀行オンラインサポート」となっている。また、メール本文には、あたかもZZZ銀行の本人のアカウントに第三者からのログインがなされたような説明がなされた後に、アカウント情報を確認させるためのURLへのリンクが設けられている。
【0078】
図10:メールの本文中に設けられたリンクを長押しすると、利用可能なメニューのリストがポップアップで表示される。この中から「フィッシングサイト判定アプリで開く」を選択すると、リンク先のURLがフィッシングサイト判定アプリ(フィッシングサイト判定プログラム100)に渡される。そして、フィッシングサイト判定アプリが起動し、URLのサイトがフィッシングサイトであるか否かの判定がなされる。
【0079】
図11中(A):公式サイトでないと判定された場合には、フィッシングサイト判定アプリの画面に「このサイトはフィッシングサイトの疑いが高いためアクセスできません。」との表示がなされる。
【0080】
図11中(B):これに対し、公式サイトであると判定された場合には、フィッシングサイト判定アプリの画面に「このサイトは公式サイトであるためアクセスして問題ありません。」との表示がなされるとともに、[アクセス]とのボタンが併せて表示される。このボタンをタップすることで、ユーザは安心してURLのサイトに直接アクセスことができる。
【0081】
なお、図示の例においては、アプリケーション名として「フィッシングサイト判定アプリ」と表示されているが、実際にはフィッシングサイト判定アプリの固有名称が表示されることとなる。また、フィッシングサイト判定アプリにより判定がなされた後に表示される画面の構成は、あくまで一例として挙げたものであり、上記の例に限定されない。
【0082】
ところで、フィッシングサイトに誘導しようとするメールの文面としては、上記の例の他にも例えば、アカウントが凍結された、アカウントが近日中に閉鎖される、会員向け限定キャンペーン実施中、不正利用された可能性があるためパスワードをリセットした等の様々なものがあり、いずれも早急なログインが必要であるかのように巧みに装った文言が並べられている。このような文面のメールを受信した場合に、情報リテラシの高いユーザであれば、直ぐにおかしいと気付いてメールを無視することができる。しかしながら、メールやインターネットの使用に慣れていないユーザは、メールの文面に動揺して冷静さを失い、うっかりURLにアクセスし、さらにはフィッシングの手口にまんまと乗せられて個人情報を入力してしまう危険性がある。
【0083】
これに対し、フィッシングサイト判定アプリをインストールしておけば、ユーザは、このようなメールを受信した場合でも、ワンクッションを置いてフィッシングサイトであるか否をアプリに判定させることができる。そして、フィッシングサイトの疑いが高ければ、ユーザはそのサイトへのアクセスを止めることができ、結果としてフィッシング詐欺の被害を受けずに済む。一方、フィッシングサイトでなければ、ユーザは安心してそのサイトにアクセスすることができる。したがって、上述した実施形態の顕著な優位性は明らかである。
【0084】
本発明は、上述した実施形態に制約されることなく、種々に変更して実施することが可能である。また、実施形態に関連して提示した具体例はあくまで一例であり、上述した内容に限定されるものではない。
【0085】
上述した実施形態においては、オブジェクト検出モデル10において512×512ピクセルの入力画像を畳み込んで生成する最大の特徴マップのサイズを512×512ピクセル(入力画像の1/1スケール)としているが、オブジェクトの検出精度に影響がなければ、最大の特徴マップのサイズはこれより小さくてもよい。例えば、縦横とも1/2スケールとした256×256ピクセルの特徴マップを生成してもよい。
【0086】
上述した実施形態においては、判定の中枢機能に該当するオブジェクト検出モデル10、サイト情報記憶部20及び複合判定部50がフィッシングサイト判定プログラム100の内部に設けられており、外部との通信を行うことなくプログラム内で全ての処理を完結させているが、これに代えて、これらの機能部10,20及び50を備えた判定サーバをクラウド上に設け、判定に関わる処理(具体的には、
図7中のステップS36及びS38)をサーバ側で実行させる構成とすることも可能である。
【0087】
上述した実施形態においては、物体検出のアルゴリズムとしてSSDを採用しているが、アルゴリズムは必ずしもSSDに限定されず、ウェブサイト上で用いられているロゴやアイコン等の商標を精度よく検出可能なアルゴリズムであればよい。
【0088】
その他、オブジェクト検出モデル10及びフィッシングサイト判定プログラム100に関する説明の過程で挙げた構成や数値等は、あくまで例示であり、本発明の実施に際して適宜に変形が可能であることは言うまでもない。
【符号の説明】
【0089】
10 オブジェクト検出モデル(オブジェクト検出部)
20 サイト情報記憶部
30 URL入力部
40 サイト画面取得部
50 複合判定部
60 判定結果出力部
100 フィッシングサイト判定プログラム(フィッシングサイト判定アプリ)