IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ KDDI株式会社の特許一覧

<>
  • 特許-検知装置、検知方法及び検知プログラム 図1
  • 特許-検知装置、検知方法及び検知プログラム 図2
  • 特許-検知装置、検知方法及び検知プログラム 図3
  • 特許-検知装置、検知方法及び検知プログラム 図4
  • 特許-検知装置、検知方法及び検知プログラム 図5
  • 特許-検知装置、検知方法及び検知プログラム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-08
(45)【発行日】2024-03-18
(54)【発明の名称】検知装置、検知方法及び検知プログラム
(51)【国際特許分類】
   G06F 21/55 20130101AFI20240311BHJP
   G09C 1/00 20060101ALI20240311BHJP
   G06F 21/44 20130101ALI20240311BHJP
【FI】
G06F21/55
G09C1/00 640E
G06F21/44
【請求項の数】 10
(21)【出願番号】P 2021115530
(22)【出願日】2021-07-13
(65)【公開番号】P2023012091
(43)【公開日】2023-01-25
【審査請求日】2023-07-20
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100106002
【弁理士】
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100120891
【弁理士】
【氏名又は名称】林 一好
(72)【発明者】
【氏名】田淵 純一
【審査官】宮司 卓佳
(56)【参考文献】
【文献】特開2016-170464(JP,A)
【文献】特開2006-343825(JP,A)
【文献】特開2001-331374(JP,A)
【文献】米国特許出願公開第2013/0263264(US,A1)
【文献】米国特許第8578499(US,B1)
【文献】中国特許出願公開第111556036(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/55-21/57
G06F 21/44
G09C 1/00
(57)【特許請求の範囲】
【請求項1】
ウェブサイトの記載に従ったブラウザからのアクセスに応じて、当該ウェブサイトのフィンガープリント情報を構成する複数の要素の並び順をランダムに決定し、当該並び順、及び所定の有効期限を特定可能なフォーマット指定データを生成するフォーマット生成部と、
前記ブラウザに前記フォーマット指定データ、及び前記複数の要素を前記並び順に出力させるためのワンタイムプログラムを生成し、当該ブラウザに送信するプログラム生成部と、
前記ワンタイムプログラムにより生成された前記フィンガープリント情報を、前記ブラウザから前記有効期限までに受信した際に、当該フィンガープリント情報が所定の条件に合致している場合にのみ、前記アクセスを正常と判定する判定部と、を備える検知装置。
【請求項2】
前記フォーマット生成部は、前記並び順を算出可能なデータ、及び前記有効期限を暗号化して、前記フォーマット指定データを生成する請求項1に記載の検知装置。
【請求項3】
前記並び順を算出可能なデータ、及び前記有効期限を、識別子に対応付けて記憶する記憶部を備え、
前記フォーマット生成部は、前記識別子を前記フォーマット指定データとして生成する請求項1に記載の検知装置。
【請求項4】
前記プログラム生成部は、前記ワンタイムプログラムを、所定のアルゴリズムにより難読化して送信する請求項1から請求項3のいずれかに記載の検知装置。
【請求項5】
前記プログラム生成部は、前記要素それぞれの並び順に応じた出力箇所を指定したプログラム部品を、ランダムに配置して前記ワンタイムプログラムを生成する請求項1から請求項4のいずれかに記載の検知装置。
【請求項6】
前記プログラム生成部は、前記要素それぞれの出力箇所を含まないプログラム部品を、前記並び順に従って配置して前記ワンタイムプログラムを生成する請求項1から請求項4のいずれかに記載の検知装置。
【請求項7】
前記複数の要素は、アクセス先のURL、当該URLのパス、アクセス時の通信プロトコル、前記ブラウザのユーザエージェント、ブラウザの提供する特定スクリプト向け機能の有無、ウェブサイトを構成するHTMLのDOM情報、ユーザ操作履歴、ユーザ操作時におけるHTMLのDOMイベントの発生状況の少なくともいずれかを含む請求項1から請求項6のいずれかに記載の検知装置。
【請求項8】
前記ウェブサイトは、前記フィンガープリント情報を前記ブラウザ上に表示させるものである請求項1から請求項7のいずれかに記載の検知装置。
【請求項9】
ウェブサイトの記載に従ったブラウザからのアクセスに応じて、当該ウェブサイトのフィンガープリント情報を構成する複数の要素の並び順をランダムに決定し、当該並び順、及び所定の有効期限を特定可能なフォーマット指定データを生成するフォーマット生成ステップと、
前記ブラウザに前記フォーマット指定データ、及び前記複数の要素を前記並び順に出力させるためのワンタイムプログラムを生成し、当該ブラウザに送信するプログラム生成ステップと、
前記ワンタイムプログラムにより生成された前記フィンガープリント情報を、前記ブラウザから前記有効期限までに受信した際に、当該フィンガープリント情報が所定の条件に合致している場合にのみ、前記アクセスを正常と判定する判定ステップと、をコンピュータが実行する検知方法。
【請求項10】
請求項1から請求項8のいずれかに記載の検知装置としてコンピュータを機能させるための検知プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ウェブサイトの不正アクセスを検知するシステムに関する。
【背景技術】
【0002】
従来、フィッシングサイトの作成等を目的としたウェブサイトの複製方法としては、サイトの完成形を視覚的に再現する静的な複製方法と、真正なサイトの配信するデータを一部改竄する等してユーザに再配信する動的な複製方法とが存在する。これらのうち、動的な複製サイトは、現状のセキュリティ対策の中心となっている二段階認証等の技術を突破可能であることが知られている。
【0003】
これに対し、ウェブサイトの画面遷移時等、サーバへのアクセス時に現在アクセス中のウェブサイト情報を含むウェブサイトフィンガープリント情報を送信し、これをサーバがチェックする対策手法がある(例えば、特許文献1参照)。
この手法では、複製サイトで生成されたウェブサイトフィンガープリント情報が真正なサイトと異なることから、複製サイトからのサーバアクセスが失敗するため、複製サイトの生成が困難になる。
【先行技術文献】
【特許文献】
【0004】
【文献】特表2020-503605号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、このようなウェブサイトフィンガープリント情報によるチェックは有効ではあるものの、複製サイトは真正なサイトの配信するデータを一部改竄することが可能なため、ウェブサイトフィンガープリント情報を生成するプログラムを改竄し、真正なサイト上で生成されるウェブサイトフィンガープリント情報を生成するようにすることで複製サイトの作成が可能となっていた。
【0006】
これに対し、難読化技術によりウェブサイトフィンガープリント情報を生成するプログラムの解読を困難にすることで改竄を困難とする試みがなされているが、現状の難読化技術では、人の目で読みづらくはあるものの強度に問題があり、数週間等の比較的短い期間で解読されてしまうという課題があった。
【0007】
本発明は、不正アクセスによるウェブサイトの複製を精度良く検知できる検知システムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明に係る検知装置は、ウェブサイトの記載に従ったブラウザからのアクセスに応じて、当該ウェブサイトのフィンガープリント情報を構成する複数の要素の並び順をランダムに決定し、当該並び順、及び所定の有効期限を特定可能なフォーマット指定データを生成するフォーマット生成部と、前記ブラウザに前記フォーマット指定データ、及び前記複数の要素を前記並び順に出力させるためのワンタイムプログラムを生成し、当該ブラウザに送信するプログラム生成部と、前記ワンタイムプログラムにより生成された前記フィンガープリント情報を、前記ブラウザから前記有効期限までに受信した際に、当該フィンガープリント情報が所定の条件に合致している場合にのみ、前記アクセスを正常と判定する判定部と、を備える。
【0009】
前記フォーマット生成部は、前記並び順を算出可能なデータ、及び前記有効期限を暗号化して、前記フォーマット指定データを生成してもよい。
【0010】
前記検知装置は、前記並び順を算出可能なデータ、及び前記有効期限を、識別子に対応付けて記憶する記憶部を備え、前記フォーマット生成部は、前記識別子を前記フォーマット指定データとして生成してもよい。
【0011】
前記プログラム生成部は、前記ワンタイムプログラムを、所定のアルゴリズムにより難読化して送信してもよい。
【0012】
前記プログラム生成部は、前記要素それぞれの並び順に応じた出力箇所を指定したプログラム部品を、ランダムに配置して前記ワンタイムプログラムを生成してもよい。
【0013】
前記プログラム生成部は、前記要素それぞれの出力箇所を含まないプログラム部品を、前記並び順に従って配置して前記ワンタイムプログラムを生成してもよい。
【0014】
前記複数の要素は、アクセス先のURL、当該URLのパス、アクセス時の通信プロトコル、前記ブラウザのユーザエージェント、ブラウザの提供する特定スクリプト向け機能の有無、ウェブサイトを構成するHTMLのDOM情報、ユーザ操作履歴、ユーザ操作時におけるHTMLのDOMイベントの発生状況の少なくともいずれかを含んでもよい。
【0015】
前記ウェブサイトは、前記フィンガープリント情報を前記ブラウザ上に表示させるものであってもよい。
【0016】
本発明に係る検知方法は、ウェブサイトの記載に従ったブラウザからのアクセスに応じて、当該ウェブサイトのフィンガープリント情報を構成する複数の要素の並び順をランダムに決定し、当該並び順、及び所定の有効期限を特定可能なフォーマット指定データを生成するフォーマット生成ステップと、前記ブラウザに前記フォーマット指定データ、及び前記複数の要素を前記並び順に出力させるためのワンタイムプログラムを生成し、当該ブラウザに送信するプログラム生成ステップと、前記ワンタイムプログラムにより生成された前記フィンガープリント情報を、前記ブラウザから前記有効期限までに受信した際に、当該フィンガープリント情報が所定の条件に合致している場合にのみ、前記アクセスを正常と判定する判定ステップと、をコンピュータが実行する。
【0017】
本発明に係る検知プログラムは、前記検知装置としてコンピュータを機能させるためのものである。
【発明の効果】
【0018】
本発明によれば、不正アクセスによるウェブサイトの複製を精度良く検知できる。
【図面の簡単な説明】
【0019】
図1】実施形態における検知システムを構成するウェブサーバの機能構成を示す図である。
図2】実施形態におけるウェブサイトフィンガープリント情報を示す図である。
図3】実施形態におけるプログラム部品を例示する図である。
図4】実施形態におけるワンタイムプログラムの第1の例を示す図である。
図5】実施形態におけるワンタイムプログラムの第2の例を示す図である。
図6】実施形態における検知方法の流れを示すシーケンス図である。
【発明を実施するための形態】
【0020】
以下、本発明の実施形態の一例について説明する。
本実施形態の検知システムは、従来の難読化を施した、ウェブサイトフィンガープリント情報を生成するプログラムに代えて、都度異なる出力フォーマット及びプログラム構造を持ったワンタイムプログラムを生成し、これに短い有効期限を付与することで難読化の強度を飛躍的に向上させる。
【0021】
図1は、本実施形態における検知システム1を構成する検知装置としてのウェブサーバ10の機能構成を示す図である。
検知システム1は、ウェブサーバ10と、インターネットを介してウェブサーバ10が提供するウェブサイトを閲覧するブラウザを備えた端末20とを備える。端末20は、真正サイトにアクセスしているユーザの端末の他、検知対象として、フィッシングサイトを構築する攻撃者のサーバ、又は動的に複製されたフィッシングサイトにアクセスしているユーザの端末等が想定される。
【0022】
ウェブサーバ10は、制御部、記憶部及び各種の入出力・通信インタフェースを備え、ウェブサイトを端末20に提供する情報処理装置である。制御部は、記憶部に格納された各種のソフトウェアを実行することにより、本実施形態の機能を実現する。
具体的には、制御部は、検知プログラムを実行することにより、フォーマット生成部11、プログラム生成部12、及び判定部13として機能する。これにより、ウェブサーバ10は、ウェブサイトを複製するための不正アクセス(自動操縦)を抑制するため、端末20のブラウザが生成したウェブサイトフィンガープリント情報の正当性をチェックする。
【0023】
フォーマット生成部11は、ウェブサイトの記載(ページデータ、スクリプト等)に従ったブラウザからのアクセスに応じて、このウェブサイトのフィンガープリント情報を構成するための複数の要素の並び順をランダムに決定する。そして、フォーマット生成部11は、決定した並び順、及び所定の有効期限を特定可能なフォーマット指定データを生成する。
【0024】
図2は、本実施形態におけるウェブサイトフィンガープリント情報を示す図である。
従来のウェブサイトフィンガープリント情報(A)は、表示中のウェブサイトに関するデータ、すなわち、アクセス先、接続プロトコル、URL、ウェブサイトのコンテンツの一部等から生成された複数のデータの並びである。
【0025】
これに対して、本実施形態のウェブサイトフィンガープリント情報(B)には、ランダムにフォーマットが決定されるワンタイム情報であり、決定されたフォーマットを示すフォーマット指定データが追加される。
さらに、(A)のウェブサイトフィンガープリントデータにおける複数の要素の並び順が、決定されたフォーマットに従って入れ替えられる。
【0026】
ここで、フォーマット指定データは、例えば、データの入れ替え方法(並び順)を算出可能なデータ、及び有効期限を暗号化したものである。
あるいは、フォーマット生成部11は、識別子をフォーマット指定データとして生成し、この識別子に対応付けて、並び順を算出可能なデータ及び有効期限を記憶部に記憶してもよい。
【0027】
データの入れ替え方法を算出可能なデータは、例えば、[7,4,8,…]といった数字の配列データ、あるいは、このようなデータ列を出力するランダム関数のシード値であってよい。このランダム関数は、シード値を用いて連続した数列が得られる関数であればよく、必ずしも予測困難な数列が得られるものでなくてもよい。
【0028】
ウェブサイトフィンガープリントデータの複数の要素には、例えば、次のものが用いられる。
・アクセス先のURL
・アクセス先のURLのパス
・アクセス時の通信プロトコル
・ブラウザのユーザエージェント
・ブラウザの提供する特定スクリプト向け機能の有無
・ウェブサイトを構成するHTMLのDOM情報
・ウェブサイトフィンガープリント情報の生成直前までのユーザ操作履歴
・ユーザ操作時におけるHTMLのDOMイベントの発生状況
【0029】
なお、HTMLのDOMイベントの発生状況とは、例えば、マウスクリック又は画面タッチ時等に、HTMLのDOMの各要素に発生するイベントの伝播モデルを示し、これにより、想定されるブラウザと同じ機能を持つ環境で実行されていることを確認できる。
【0030】
プログラム生成部12は、端末20のブラウザにフォーマット指定データ、及びウェブサイトフィンガープリントデータの複数の要素を指定の並び順に出力させるためのワンタイムプログラムを生成し、ブラウザに送信する。
このとき、プログラム生成部12は、ワンタイムプログラムを、所定のアルゴリズム(最適化処理又は難読化処理等)により難読化して送信してもよい。
【0031】
具体的には、プログラム生成部12は、例えば、ウェブサイトフィンガープリントデータの要素それぞれの並び順に応じた、出力箇所を指定したプログラム部品を、ランダムに配置してワンタイムプログラムを生成する。
【0032】
すなわち、フォーマット指定データFを出力するプログラム部品Pと、ウェブサイトフィンガープリントデータを構成するk個のデータN~Nのそれぞれについて、該当のデータを収集し指定位置iに出力するプログラム部品P(i)~P(i)が用意され、これらがランダムに配置される。
ここで、フォーマット指定データFは、x番目のデータをy番目に出力するデータ入れ替え方法C(x)=yを示すものとする。
【0033】
図3は、本実施形態におけるプログラム部品を例示する図である。
は、0番目の位置に、フォーマット指定データを出力するプログラム部品である。
また、1番目のデータであるユーザエージェントを7番目に出力し、2番目のデータであるアクセス先URLを4番目に出力し、3番目のデータであるアクセス先パスを8番目に出力する、…という入れ替え方法C(1)=7,C(2)=4,C(3)=8,…にそれぞれ相当するプログラム部品P(7),P(4),P(8),…が用意される。
【0034】
図4は、本実施形態におけるワンタイムプログラムの第1の例を示す図である。
用意された図3のプログラム部品P(C(1))~P(C(k))を、C(x)の順に、又はランダムに入れ替えて配置し、さらに、これらを動作させるために必要な依存関係プログラムを付与することにより、ワンタイムプログラムPXAが生成される。
【0035】
また、プログラム生成部12は、ウェブサイトフィンガープリントデータの要素それぞれの出力箇所を含まないプログラム部品を、指定の並び順に従って配置することによりワンタイムプログラムを生成してもよい。
【0036】
図5は、本実施形態におけるワンタイムプログラムの第2の例を示す図である。
ここでは、出力位置の指定が省略されたプログラム部品P及びP~Pが、指定の並び順に配置されている。
【0037】
例えば、入れ替え方法C(7)=1,C(4)=2,C(8)=3,…が指定された場合に、Pに続いてP~PがC(x)の順に、すなわち、P,P,P,…の順に配置されている。さらに、これらを動作させるために必要な依存関係プログラムを付与することにより、ワンタイムプログラムPXAが生成される。
【0038】
判定部13は、端末20のブラウザが実行したワンタイムプログラムにより生成されたウェブサイトフィンガープリント情報を、ブラウザから有効期限までに受信した際に、このウェブサイトフィンガープリント情報が所定の条件に合致している場合にのみ、正常なアクセスである、すなわち、ユーザの端末20が真正なサイトを正常に閲覧していると判定する。これにより、ユーザが動的に複製されたフィッシングサイトにアクセスしている、又は真正サイトを自動操縦して複製する等の不正アクセスがされている等の異常が検知される。
【0039】
ここで、所定の条件とは、ウェブサーバ10が直前に提供した真正サイトの情報、及びサイト上で自動操縦でなくユーザが正常に操作した場合に得られる情報等の正常値(期待値)と、ウェブサイトフィンガープリント情報とが合致することである。
【0040】
図6は、本実施形態における検知方法の流れを示すシーケンス図である。
この例では、ウェブページAからBへの遷移に伴って、ウェブサーバ10が不正アクセスの有無を検知する。
【0041】
ステップS1において、端末20は、ブラウザによりウェブサーバ10にアクセスし、ウェブページAを要求する。
ステップS2において、ウェブサーバ10は、要求されたウェブページAのデータ(HTML、スクリプト等)を端末20に返送する。
【0042】
ステップS3において、端末20は、ウェブページAの表示画面において、クリック又はタッチ等のユーザ操作により次のウェブページへの遷移要求を受け付ける。
ステップS4において、端末20は、遷移要求に応じて、ウェブページAの記載に従い、ワンタイムプログラムPXAをウェブサーバ10に要求する。
ステップS5において、ウェブサーバ10は、フォーマット指定データFをランダムに決定し、決定したフォーマットに従って、ワンタイムプログラムPXAを生成して端末20へ返送する。
【0043】
ステップS6において、端末20は、ワンタイムプログラムPXAによりウェブサイトフィンガープリント情報Xを生成し、ステップS3の遷移要求に対して、Xと付与してウェブサーバ10へウェブページBを要求する。
【0044】
ステップS7において、ウェブサーバ10は、ウェブサイトフィンガープリント情報Xからフォーマット指定データFを取り出し、Fにより特定されるデータ入れ替え方法C(x)に従って、予め定められたフィンガープリントデータの期待値の順序を入れ替える。そして、ウェブサーバ10は、順序を入れ替えた期待値がXに含まれるウェブサイトフィンガープリントデータと合致するか否かを判定する。
【0045】
ステップS8において、ウェブサーバ10は、ステップS7の判定結果に応じて、端末20に対して提供するサービスを変化させる。すなわち、ウェブサーバ10は、ウェブサイトフィンガープリントデータが期待値と合致している場合は、要求に応じたウェブページBのデータを返送し、合致しない場合は、例えば、端末20にエラー画面等を表示させ、サービスの提供を中断する。
【0046】
なお、ウェブサイトフィンガープリント情報Xを生成するためのワンタイムプログラムPXAを取得するタイミングはこれには限られず、ウェブページAの記載に応じた所定のタイミングで実装されてよい。
【0047】
本実施形態によれば、検知システム1は、ランダムに生成したフォーマット指定データに応じて、都度異なるプログラム構造を持ったワンタイムプログラムを生成し、これにより、毎回フォーマットがランダムに変更されるウェブサイトフィンガープリント情報を取得する。
さらに、ランダムに決定されたウェブサイトフィンガープリントデータの出力フォーマットに対して、短い有効期限(例えば、10秒)を付与することで、限られた時間にワンタイムの出力フォーマットを偽装することを困難にし、この結果、検知システム1は、不正アクセスによるウェブサイトの複製を精度良く検知できる。
【0048】
このとき、検知システム1は、フォーマット指定データを暗号化、又は識別子のみとすることにより、攻撃者による解読を困難にし、ウェブサイトフィンガープリント情報の偽装をより困難にできる。
また、検知システム1は、ワンタイムプログラムを難読化して送信することで、さらに攻撃者による解読を困難にし、ウェブサイトフィンガープリント情報の偽装をより困難にできる。
【0049】
検知システム1は、出力箇所を指定したプログラム部品をウェブサーバ10において用意し、これらをランダムに配置することにより、都度異なるワンタイムプログラムを容易に生成することができる。
また、検知システム1は、出力箇所を含まないプログラム部品を並び順に従って配置してワンタイムプログラムを生成してもよい。これにより、簡潔なプログラム部品を用いて容易にワンタイムプログラムを生成できる。
【0050】
ウェブサイトフィンガープリントデータの要素は、例えば、アクセス先のURL、当該URLのパス、アクセス時の通信プロトコル、前記ブラウザのユーザエージェント、ブラウザの提供する特定スクリプト向け機能の有無、ウェブサイトを構成するHTMLのDOM情報、ユーザ操作履歴、ユーザ操作時におけるHTMLのDOMイベントの発生状況等を含む。
このように、検知システム1は、ブラウザが有する複数の機能に対応したデータを複数出力させることで、ウェブサイトフィンガープリントデータ全体を偽装することを極めて困難にできる。特に、ウェブサイトの構造情報(DOM)を取得することでサイトの複製を困難にし、操作履歴を取得することで、ユーザとロボット(自動操縦)との違いを適切に検知することができる。
【0051】
なお、前述の実施形態により、例えば、フィッシングサイトの構築を抑制できることから、国連が主導する持続可能な開発目標(SDGs)の目標9「レジリエントなインフラを整備し、持続可能な産業化を推進するとともに、イノベーションの拡大を図る」に貢献することが可能となる。
【0052】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、前述した実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されるものではない。
【0053】
前述の実施形態では、ウェブサイトフィンガープリント情報を自動的にウェブサーバ10へ送信することによりウェブサイトにアクセスする手順を示したが、これには限られない。例えば、ウェブサイトの記載に従って、フィンガープリント情報がブラウザ上に表示されてもよい。この場合、例えば、ユーザが表示データを有効期限内に所定のアプリケーションの入力欄に貼り付けることで、正当なアクセスであることの認証が可能となる。
【0054】
検知システム1による検知方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、情報処理装置(コンピュータ)にインストールされる。また、これらのプログラムは、CD-ROMのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。さらに、これらのプログラムは、ダウンロードされることなくネットワークを介したWebサービスとしてユーザのコンピュータに提供されてもよい。
【符号の説明】
【0055】
1 検知システム
10 ウェブサーバ
11 フォーマット生成部
12 プログラム生成部
13 判定部
20 端末
図1
図2
図3
図4
図5
図6