特許第6860156号(P6860156)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ かっこ株式会社の特許一覧

特許6860156不正検知システム、不正検知方法、及びプログラム
<>
  • 特許6860156-不正検知システム、不正検知方法、及びプログラム 図000002
  • 特許6860156-不正検知システム、不正検知方法、及びプログラム 図000003
  • 特許6860156-不正検知システム、不正検知方法、及びプログラム 図000004
  • 特許6860156-不正検知システム、不正検知方法、及びプログラム 図000005
  • 特許6860156-不正検知システム、不正検知方法、及びプログラム 図000006
  • 特許6860156-不正検知システム、不正検知方法、及びプログラム 図000007
  • 特許6860156-不正検知システム、不正検知方法、及びプログラム 図000008
  • 特許6860156-不正検知システム、不正検知方法、及びプログラム 図000009
  • 特許6860156-不正検知システム、不正検知方法、及びプログラム 図000010
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】6860156
(24)【登録日】2021年3月30日
(45)【発行日】2021年4月14日
(54)【発明の名称】不正検知システム、不正検知方法、及びプログラム
(51)【国際特許分類】
   G06F 21/44 20130101AFI20210405BHJP
   G06F 21/31 20130101ALI20210405BHJP
【FI】
   G06F21/44
   G06F21/31 360
【請求項の数】10
【全頁数】15
(21)【出願番号】特願2020-129311(P2020-129311)
(22)【出願日】2020年7月30日
【審査請求日】2020年7月30日
【早期審査対象出願】
(73)【特許権者】
【識別番号】513240283
【氏名又は名称】かっこ株式会社
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】岩井 裕之
【審査官】 吉田 歩
(56)【参考文献】
【文献】 特開2019−074893(JP,A)
【文献】 国際公開第2019/123665(WO,A1)
【文献】 特開2019−74893(JP,A)
【文献】 田邉 一寿 ほか7名,“Browser Fingerprintingにおける特徴の組み合わせに関する考察”,コンピュータセキュリティシンポジウム2017論文集,一般社団法人情報処理学会,2017年10月16日,Vol.2017,No.2,pp.1090−pp.1097,特に第1090頁右欄第3−4行、第1091頁左欄第14−15行、右欄26−29行、第1092頁左欄第3−7行、第1096頁左欄第10−16行、表1−A参照
【文献】 新里 祐教,ネットであなたをトラッキングする最新技術 ブラウザフィンガープリントがスゴイ,日経ソフトウエア,日経BP社,2019年 1月24日,Vol.22,No.2,pp.062−074,ISSN1347−4685,特に第069ページ,「パート3 ブラウザフィンガープリントの登場」の項を参照
【文献】 杉田 賢治 ほか3名,Webページ閲覧行動分析のためのブラウザ操作ログ収集ツール,2011年度人工知能学会全国大会(第25回)論文集,社団法人人工知能学会,2011年 6月29日,pp.1−4,ISSN1347−9881
【文献】 吉村 大佑 ほか2名,Webシステム操作ログ保存・閲覧のための汎用的システムの開発,マルチメディア,分散,協調とモバイル(DICOMO2011)シンポジウム論文集,一般社団法人情報処理学会,2011年 6月29日,Vol.2011,No.1,pp.9−14,ISSN1882−0840
【文献】 田中 明通 ほか1名,ライフログ活用サービスの基盤技術,NTT技術ジャーナル,社団法人電気通信協会,2010年 7月 1日,Vol.22,No.7(通巻256号),ISBN 0915−2318
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/44
G06F 21/31
(57)【特許請求の範囲】
【請求項1】
所定のウェブサイトにアクセスが許可されていない第三者による前記所定のウェブサイトへの不正なアクセスを検知する不正検知システムであって、
ネットワークを介して、ユーザのデバイスに関するデバイス情報を取得する取得部と、
前記デバイスを用いて前記ユーザが使用する、前記デバイス情報に含まれる、ブラウザに関するブラウザ情報に基づいて、ブラウザの種別に係る第1パラメータを特定し、前記デバイス情報に含まれる、前記ユーザによるデバイスへの操作を示す第2パラメータを特定するパラメータ特定部と、
前記第1パラメータと、前記第2パラメータと、に基づいて、前記デバイスを識別する識別部と、
を備える不正検知システム。
【請求項2】
前記デバイス情報は、少なくともパーソナルコンピュータかモバイル端末かの前記デバイスの種別に関するデバイス種別情報を含み、
前記パラメータ特定部は、前記ブラウザ情報と、前記デバイス種別情報と、に基づいて、前記第1パラメータを特定する、
請求項1に記載の不正検知システム。
【請求項3】
少なくとも一つの前記第1パラメータを所定の関数に入力して識別符号を生成する識別符号生成部、
をさらに備え、
前記識別部は、前記識別符号に基づいて、前記デバイスを識別する、
請求項1又は2に記載の不正検知システム。
【請求項4】
前記第2パラメータは、前記ユーザによる、Webサイト内におけるマウス操作の順序を示す情報、Webサイト内におけるキーボード入力の順序を示す情報、キーボード入力が発生したテキストフィールドに関する情報、Webサイト内でクリックが開始された日時を示す情報、又はWebサイト内でクリックが終了した日時を示す情報の少なくともいずれかを含む、
請求項1から3のいずれか一項に記載の不正検知システム。
【請求項5】
少なくとも一つの前記第1パラメータと、少なくとも一つの前記第2パラメータと、を所定の関数に入力して識別符号を生成する識別符号生成部、
をさらに備え、
前記識別部は、前記識別符号に基づいて、前記デバイスを識別する、
請求項4に記載の不正検知システム。
【請求項6】
少なくとも一つの前記第1パラメータを所定の関数に入力して識別符号を生成する識別符号生成部、
をさらに備え、
前記識別部は、前記識別符号と、少なくとも一つの前記第2パラメータと、に基づいて、前記デバイスを識別する、
請求項4に記載の不正検知システム。
【請求項7】
前記第1パラメータは、前記ユーザのデバイスで使用されるフォントに関する情報、前記ユーザのデバイスにおける描画に関する情報の少なくともいずれかを含む、
請求項1乃至6のいずれか一項に記載の不正検知システム。
【請求項8】
前記第1パラメータは、前記ユーザのデバイスのユーザーエージェントに関する情報のうち、前記ユーザのデバイスの機種の型名およびバージョン情報が抽出されたものである、
請求項1乃至7のいずれか一項に記載の不正検知システム。
【請求項9】
コンピュータが、
ネットワークを介して、ユーザのデバイスに関するデバイス情報を取得することと、
前記デバイスを用いて前記ユーザが使用する、前記デバイス情報に含まれる、ブラウザに関するブラウザ情報に基づいて、ブラウザの種別に係る第1パラメータを特定し、前記デバイス情報に含まれる、前記ユーザによるデバイスへの操作を示す第2パラメータを特定することと、
前記第1パラメータと、前記第2パラメータと、に基づいて、前記デバイスを識別することと、
を実行する不正検知方法。
【請求項10】
コンピュータに、
ネットワークを介して、ユーザのデバイスに関するデバイス情報を取得することと、
前記デバイスを用いて前記ユーザが使用する、前記デバイス情報に含まれる、ブラウザに関するブラウザ情報に基づいて、ブラウザの種別に係る第1パラメータを特定し、前記デバイス情報に含まれる、前記ユーザによるデバイスへの操作を示す第2パラメータを特定することと、
前記第1パラメータと、前記第2パラメータと、に基づいて、前記デバイスを識別することと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、不正検知システム、不正検知方法、及びプログラムに関する。
【背景技術】
【0002】
従来、ユーザは、インターネット上で種々のサービスを提供するWebサイトに、IDとパスワードとを用いてアクセスする。しかしながら、第三者が不正な手段を用いて、他人のIDとパスワードを利用し、不正アクセスするという問題が生じている。そのような問題に対して、特許文献1には、ユーザの動作の情報に基づいて不正アクセスを検出することが記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2018−63728号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に記載のシステムは、Webサイトにアクセスしたユーザの動作を記録して、ホワイトリストデータベースを構築している。ここで、「ユーザの動作」には、ページ遷移、ユーザが用いているブラウザ、IPアドレス、端末の種類、OSなどが含まれる。すなわち、当該システムは、ユーザの動作を記録することにより、「ユーザらしさ」をデータベース化している。特許文献1に記載のシステムは、当該データベースを参照することにより、Webサイトにアクセスするユーザにつき、アクセスが許可されていないと判断された場合、当該ユーザによるWebサイトへのアクセスを拒否することができる。
【0005】
特許文献1に記載のシステムでは、ユーザの動作に関する情報やユーザが使用しているブラウザの種別の情報など、任意の端末装置から取得可能な特定のパラメータに基づいて、当該Webサイトにアクセスが許可されているユーザであるか否かを検知している。本来、端末装置やアプリケーションソフトウェア(以下「アプリ」ともいう。)によって、取得可能なパラメータの種類は異なることに加え、パラメータごとに、ユーザの正当性を識別する確度も異なるものであるが、特許文献1記載のシステムでは、端末装置や利用するアプリの違いによらず取得できる画一的なパラメータに基づいて不正アクセスの判断をするものであった。
【0006】
そこで、本発明は、上記の課題に鑑みて、端末装置や利用するアプリに応じて、不正アクセスの検知に用いるパラメータを柔軟に設定することで、より正確に不正アクセスであるか否かを検知することを目的とする。
【課題を解決するための手段】
【0007】
本発明の一態様に係る不正検知システムは、所定のウェブサイトにアクセスが許可されていない第三者による前記所定のウェブサイトへの不正なアクセスを検知する不正検知システムであって、ネットワークを介して、ユーザのデバイスに関するデバイス情報を取得する取得部と、前記デバイスを用いて前記ユーザが使用する、前記デバイス情報に含まれる、ブラウザに関するブラウザ情報に基づいて、ブラウザの種別に係る第1パラメータを特定するパラメータ特定部と、前記第1パラメータに基づいて、前記デバイスを識別する識別部と、を備える。
【0008】
本発明の一態様に係る不正検知方法は、コンピュータが、ネットワークを介して、ユーザのデバイスに関するデバイス情報を取得することと、前記デバイスを用いて前記ユーザが使用する、前記デバイス情報に含まれる、ブラウザに関するブラウザ情報に基づいて、ブラウザの種別に係る第1パラメータを特定することと、前記第1パラメータに基づいて、前記デバイスを識別することと、を実行する。
【0009】
本発明の一態様に係るプログラムは、コンピュータに、ネットワークを介して、ユーザのデバイスに関するデバイス情報を取得することと、前記デバイスを用いて前記ユーザが使用する、前記デバイス情報に含まれる、ブラウザに関するブラウザ情報に基づいて、ブラウザの種別に係る第1パラメータを特定することと、前記第1パラメータに基づいて、前記デバイスを識別することと、を実行させる。
【発明の効果】
【0010】
本発明によれば、端末装置や利用するアプリに応じて、不正アクセスの検知に用いるパラメータを柔軟に設定することで、より正確に不正アクセスであるか否かを検知することが可能となる。
【図面の簡単な説明】
【0011】
図1】不正検知システムの構成を示す図である。
図2】識別サーバ装置の構成を示す図である。
図3】組合せ情報テーブルの構成例を示している。
図4】端末装置識別テーブルの構成例を示している。
図5】事業者サーバ装置の構成を示す図である。
図6】不正検知システムの処理手順を示した図である。
図7】装置系パラメータの一例を示す図である。
図8】操作系パラメータの一例を示す図である。
図9】コンピュータのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0012】
以下に、本発明の一実施形態における不正検知システム10について、図面を参照して詳細に説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図はない。すなわち、本発明は、その趣旨を逸脱しない範囲で種々変形し、または各実施例を組み合わせる等して実施することができる。また、以下の図面の記載において、同一または類似の部分には同一または類似の符号を付して表している。
===不正検知システム10の構成===
【0013】
図1を参照しつつ、不正検知システム10の構成について説明する。図1は、不正検知システム10の構成を示す図である。
【0014】
図1に示すように、不正検知システム10は、例えば、識別サーバ装置100、事業者サーバ装置200を含む。識別サーバ装置100は、ネットワーク400を介して事業者サーバ装置200にアクセスするユーザの端末装置300を識別する装置である。事業者サーバ装置200は、所定のWebサイトを提供する事業者のサーバ装置である。事業者サーバ装置は、例えばアクセスする端末装置300の各種情報を、端末装置300から識別サーバ装置100に送信させる機能を備えていてもよい。なお、不正検知システム10は、例えば識別サーバ装置100のみで構成されていてもよい。
【0015】
識別サーバ装置100は、事業者サーバ装置200のWebサイトにログインする端末装置300に関するデバイス情報を、事業者サーバ装置200又はユーザの端末装置300から取得する。識別サーバ装置100は、取得したデバイス情報に基づいて、端末装置300が当該Webサイトにアクセスが許可されている端末装置か否かにつき識別する。
【0016】
ここで、「デバイス情報」は、例えば、端末装置300のデバイスの種別に関するデバイス種別情報、端末装置300のブラウザに関するブラウザ情報、ブラウザの種別に係る装置系パラメータ(第1パラメータ)、Webサイト内でユーザにおける端末装置300の操作に関する操作系パラメータ(第2パラメータ)を含む。
【0017】
また、「端末装置300を識別する」とは、端末装置300を一意に特定することや、一意に近い状態で特定することを含む。「一意に近い状態で特定する」ことには、例えばアクセスが許可されている端末装置300である確率を算出し、当該確率が所定値以上であることを判定するものを含んでいてもよい。
【0018】
すなわち、識別サーバ装置100は、端末装置ごとに異なる装置系パラメータや操作系パラメータを適切に組み合わせて、事業者サーバ装置200にアクセスした端末装置300がWebサイトにログイン可能な正規の端末装置か否かを判定できる。
【0019】
換言すると、識別サーバ装置100は、端末装置に関する特徴や、ユーザの端末装置に対する挙動を分析して、他人へのなりすましやロボットによる不正ログインをリアルタイムで検知できる。
<<識別サーバ装置100>>
【0020】
図2は、識別サーバ装置100の構成を示す図である。図2を参照して、識別サーバ装置100の構成について説明する。
【0021】
図2に示すように、識別サーバ装置100は、例えば、記憶部101、取得部102、送信部103、種別特定部104、ブラウザ特定部105、パラメータ特定部106、識別符号生成部107、識別部108、審査判定部109を含む。
【0022】
記憶部101は、例えば、組合せ情報テーブル101a、端末装置識別テーブル101bを含む。
【0023】
図3は、組合せ情報テーブル101aの構成例を示している。図3に示すように、組合せ情報テーブル101aは、ブラウザの種別のそれぞれに対して、ブラウザ情報から取得可能な装置系パラメータを対応付けたものである。組合せ情報テーブル101aは、例えば、変数、第1ブラウザ〜第nブラウザなどの項目を含む。変数は、例えば装置系パラメータの特徴を示す。第1ブラウザ〜第nブラウザは、例えばユーザがWebサイトにアクセスする際に端末装置300で使用されるブラウザの種別を示す。ここで、ブラウザの種別とは、例えば、Webサイトを閲覧するための閲覧ソフトの違いである。具体的には、例えば「Internet Explorer」や「Chrome」などのブラウザの種別をいう。なお、複数の異なるバージョンのブラウザそれぞれは、ブラウザの種別が異なるものとしてもよい。また、例えば、ブラウザの言語設定を示す情報など、閲覧ソフトにおける各種設定に関する情報は、ブラウザの種別に含まれない。第1ブラウザ〜第nブラウザにおける項目に示される「○」は、例えば識別サーバ装置100が各ブラウザおける端末装置300を識別するための識別符号を生成する際に使用する変数の組合せを示すものである。具体的には、例えば「第2ブラウザ」に対応する識別符号は、「language」、「Timezone Offset」、「fonts」に対応する装置系パラメータの組合せによって、生成される。これにより、ブラウザごとに取得可能な装置系パラメータのうち、端末装置300を識別するための、装置系パラメータの最適な組み合わせを設定できる。なお、図3に示される変数は一例を示すものであり、これらに限定されない。例えば、装置系パラメータには、ブラウザ上でグラフィックスを表示させるためのソフトウェアに関するパラメータなどが含まれていてもよい。また、組合せ情報テーブル101aは、例えば不正検知システム10の管理者の操作によって変数の組合せやブラウザの追加削除など内容が変更される。
【0024】
ここで、図3に示す変数について説明する。変数「language」は、例えばユーザによりブラウザに設定されている言語(日本語や英語など)を示すものである。変数「Timezone Offset」は、例えばローカルタイムゾーンとUTC(Coordinated Universal Time)との差を示すものである。変数「fonts」は、例えば特定のフォントが存在しているか否かを調査した結果を示すものである。変数「Canvas Fingerprint」は、例えば2D画像の描画結果を示すものである。なお、変数「Canvas Fingerprint」は、「1バイトや2バイト文字の混在」、「アルファベットと数字(0〜9)とを全て含む」、「複雑な形状の漢字を含む」の少なくともいずれかの要件を充たす文字列とすることが望ましい。また、2D画像だけに限らず所定の画像の描画結果を示す変数を用いてもよい。変数「Device Pixel Ratio」は、例えばディスプレイにおけるCSS解像度と物理解像度との比を示すものである。
【0025】
図4は、端末装置識別テーブル101bの構成例を示している。図4に示すように、端末装置識別テーブル101bは、端末装置IDを主キーとして、識別符号などを含む。端末装置IDは、例えば、ユーザの端末装置300ごとに一意に割り振られるコードである。識別符号は、端末装置300を一意に特定するための符号である。識別サーバ装置100は、端末装置識別テーブル101bを参照することにより、識別符号に基づいて端末装置300が正当か否かを判定できる。
【0026】
取得部102は、ネットワーク400を介して他の装置からデバイス情報を取得する。
【0027】
送信部103は、各種情報を他の装置に送信する。
【0028】
種別特定部104は、例えばパーソナルコンピュータやモバイル端末などの端末装置300のデバイスの種別を特定する。具体的には、種別特定部104は、例えば、デバイス情報における「device.platform」を参照して、「Win32」、「Win64」、「MacIntel」などのパーソナルコンピュータに搭載されるOS(Operating System)を示す文字列が含まれる場合は、パーソナルコンピュータと特定する。また、種別特定部104は、例えば、デバイス情報における「device.platform」を参照して、「iPhone(登録商標)」、「Android」、「Windows Phone」などのモバイル端末に搭載されるOS(Operating System)を示す文字列が含まれる場合は、モバイル端末と特定する。これにより、デバイスの種類によって取得できる装置系パラメータが異なることを利用して、識別符号の一意性を高めることができる。
【0029】
ブラウザ特定部105は、ブラウザ情報に基づいて端末装置300で使用されるブラウザの種別を特定する。具体的には、ブラウザ特定部105は、例えばデバイス情報における「device.useragent」を参照して、各ブラウザのいずれかに対応する文字列を特定することで、ブラウザを特定する。これにより、ブラウザの種別によって取得できる装置パラメータが異なることを利用して、識別符号の一意性を高めることができる。
【0030】
パラメータ特定部106は、例えば、デバイス情報のうち、特定されたブラウザに対応する装置系パラメータを特定する。具体的には、特定されたブラウザが「第3ブラウザ」である場合、パラメータ特定部106は、組合せ情報テーブル101aを参照して、「第3ブラウザ」に対応する変数「language」、「Timezone Offset」を特定する。そして、パラメータ特定部106は、デバイス情報における、当該変数に対応する装置系パラメータを特定する。これにより、識別サーバ装置100は、ブラウザに応じた、一意性の高い識別符号を生成するために適切な装置系パラメータを抽出できる。
【0031】
また、パラメータ特定部106は、例えば特定されたデバイスの種別と特定されたブラウザの種別とに基づき装置系パラメータを特定してもよい。これにより、識別サーバ装置100は、デバイスの種別とブラウザの種別に応じた、より一意性の高い識別符号を生成するために適切な装置系パラメータを抽出できる。
【0032】
また、パラメータ特定部106は、例えばデバイス情報のうち操作系パラメータを特定してもよい。具体的には、パラメータ特定部106は、種別特定部104で特定された種別に基づいて、所定の操作系パラメータを特定する。これにより、識別サーバ装置100は、種別に応じた、一意性の高い識別符号を生成するために適切な操作系パラメータを抽出できる。
【0033】
ここで、特定される「操作系パラメータ」の一例について説明する。変数「Mouse index」は、Webサイト内におけるマウス操作の順序を示すものである。変数「Key index」は、Webサイト内におけるキーボード入力の順序を示すものである。変数「Dom Id」は、キーボード入力が発生したテキストフィールドの「id」、「name」、「class」を結合した文字列である。変数「Mouse Down Time」は、Webサイト内でクリックが開始された日時を示すものである。変数「Mouse Up Time」は、Webサイト内でクリックが終了した日時を示すものである。
【0034】
識別符号生成部107は、例えば、特定された装置系パラメータを所定の関数に入力して識別符号を算出する。具体的には、識別符号生成部107は、特定されたブラウザに対応する複数の変数のそれぞれが示す装置系パラメータを文字列結合して、ハッシュ化する。識別符号生成部107は、ハッシュ化した値を識別符号とする。これにより、セキュリティを確保しつつ、一意性の高い識別符号を生成できる。なお、識別符号生成部107は、一つ以上の装置系パラメータに基づいて識別符号を算出すればよい。また、識別符号生成部107は、装置系パラメータと操作系パラメータとを組み合わせて文字列結合したものを、ハッシュ化して識別符号を生成してもよい。
【0035】
また、識別符号生成部107は、例えば、端末装置300がモバイル端末と特定された場合、デバイス情報に含まれるUA(User Agent)プログラムにおける所定の領域を抽出したものを装置系パラメータとして、識別符号を生成してもよい。UAプログラムには、端末装置300の機種の型名やバージョン情報が高頻度で含まれている。しかし、これらの情報は経時に伴って変化する。そこで、識別符号生成部107は、UAプログラムの中で、経時に伴って変化しにくい、「先頭から最後に出現する閉じ括弧まで」を抽出して、識別符号を生成する。具体的には、識別符号生成部107は、UAプログラムが「AA BB (CC,DD) EE FF (GG HH) II JJ KKK」である場合、「AA BB (CC,DD) EE FF (GG HH)」を抽出して、識別符号を生成する。これにより、識別サーバ装置100は、一意性の高い識別符号を生成できる。
【0036】
識別部108は、識別符号に基づいて端末装置300が所定のウェブサイトにアクセスを許可されている端末装置か否かを識別する。識別部108は、例えば、端末装置識別テーブル101bを参照して、生成された識別符号に対応する端末装置IDがあるか否かを判定する。具体的には、識別部108は、識別符号生成部107において端末装置300の識別符号が「ABCD」と生成された場合、端末装置識別テーブル101bを参照して、端末装置ID「0000001」を特定する。この場合、識別部108は、端末装置300を事業者サーバ装置200にアクセスが許可される端末装置と識別する。
【0037】
また、識別部108は、例えば、識別符号に替えて、装置系パラメータまたは操作系パラメータのうち少なくともいずれか一つを識別符号として、端末装置を識別してもよい。これにより、識別部108は、簡易に端末装置を識別できる。
【0038】
また、識別部108は、例えば、装置系パラメータにより生成された識別符号と、操作系パラメータとに基づいて、端末装置を識別してもよい。具体的には、識別部108は、端末装置識別テーブル101bを参照して、当該識別符号に対応する端末装置IDがあることを確認する。そして、識別部108は、当該端末装置300から取得された操作系パラメータに基づいて、操作がキーボードまたは同等の入力デバイスのキー操作(変数「key_stroke」)のみであり、キー入力が発生したテキストフィールドのID、name、classを結合した文字列(変数「domid」)が複数存在し、TabキーやEnterキー(変数「tab/enterkey」)が使用されず、過去の記憶した入力情報に基づいて候補を出力するオートコンプリートと判定されていないことを確認する。また、識別部108は、種別特定部104において特定された当該端末装置300のデバイスの種類に応じて、ログインフェーズが完了するまでの時間を示すログインタイムを判定に加えることができる。これにより、識別部108は、一意性の高い識別符号に、一定の傾向を有するユーザの挙動を組み合わせることにより、端末装置を識別する精度を高めることができる。また、識別部108は、操作系パラメータを組み合わせることにより、ロボットによるアクセスか否かを適切に識別できる。
【0039】
審査判定部109は、例えば、識別部108において、事業者サーバ装置200のWebサイトにアクセスが許可させる端末装置300であるか否かが判定された結果に基づいて、端末装置300に所定の処理を実行する。具体的には、審査判定部109は、例えば、識別部108においてアクセスが許可される端末装置300でないと判定した場合、事業者サーバ装置200への端末装置300のアクセスを拒絶する。それと共に、審査判定部109は、不正アクセスの疑いのある端末装置300を集約したデータベースに当該端末装置300を登録してもよい。これにより、適切に不正アクセスを排除できる。
【0040】
また、審査判定部109は、この場合、端末装置300に対して追加認証に関する処理を要求してもよい。これにより、本来アクセスが許可されるべき端末装置300が排除された場合、端末装置300に対して適切な認証手順を要求することで、不必要なアクセス拒絶を抑制できる。
【0041】
また、審査判定部109は、この場合、アクセスが許可されている端末装置300である確率を算出し、当該確率が所定の閾値以上の場合に、当該端末装置300のアクセスを排除してもよい。これにより、本来アクセスが許可されるべき端末装置300が排除されるリスクを抑制できる。
<<事業者サーバ装置200>>
【0042】
図5は、事業者サーバ装置200の構成を示す図である。図5を参照して、事業者サーバ装置200の構成について説明する。図5に示すように、事業者サーバ装置200は、例えば、記憶部201、取得部202、送信部203、情報要求部204を含む。記憶部201は、各種情報を記憶する。取得部202は、各種情報を他の装置から取得する。送信部203は、各種情報を他の装置に送信する。情報要求部204は、例えば、ユーザの端末装置300から各種情報を取得できるように、又は、端末装置300から識別サーバ装置100に各種情報が送信されるように端末装置300に要求するように、機能する。
===不正検知システム10の処理手順===
【0043】
図6を参照しつつ、不正検知システム10の処理手順の一例について説明する。図6は、不正検知システム10の処理手順を示した図である。なお、図6では、紙面の上から下に向かって時間が経過するものとする。
【0044】
説明の便宜のため、図6では、デバイス情報には図7に示す「装置系パラメータ」と図8に示す「操作系パラメータ」とを含むこととする。また、端末装置300が図3に示す「第1ブラウザ」を使用しているものとする。
【0045】
S101において、端末装置300は、事業者サーバ装置200のWebサイトのログイン画面にアクセスする。端末装置300は、Webサイトにアクセスした際に、事業者サーバ装置200に対して情報収集のための情報収集プログラムを要求する。ここで、情報収集プログラムとは、例えばJavaScriptで記述されたプログラムなどであり、端末装置300上で実行されることによって、端末装置300から各種情報を収集してサーバ装置200に送信するプログラムである。なお、端末装置300による情報取集プログラムを要求するタイミングは限定されない。
【0046】
S102において、事業者サーバ装置200は、情報要求部204において、情報収集のための情報収集プログラムを端末装置300に送信する。
【0047】
S103において、端末装置300は、自己のデバイス情報を収集する。端末装置300は、収集したデバイス情報を識別サーバ装置100に送信する。なお、端末装置300は、デバイス情報を事業者サーバ装置200に送信してもよい。この場合、事業者サーバ装置200は、デバイス情報を識別サーバ装置100に送信する。
【0048】
S104において、識別サーバ装置100は、種別特定部104において、デバイス情報に基づき端末装置300の種別を特定する。具体的には、識別サーバ装置100は、端末装置300がパーソナルコンピュータかモバイル端末かを特定する。これにより、識別サーバ装置100は、種別によって取得できるデバイス情報が異なることに対応して、識別符号の一意性を高めることができる。
【0049】
S105において、識別サーバ装置100は、ブラウザ特定部105において、デバイス情報に基づき端末装置300で使用されている「第1ブラウザ」を特定する。具体的には、識別サーバ装置100は、例えば「Chrome」、「Safari」、「IE11」等のブラウザを特定する。これにより、識別サーバ装置100は、各ブラウザによって取得できる装置パラメータが異なることに対応して、識別符号の一意性を高めることができる。
【0050】
S106において、識別サーバ装置100は、パラメータ特定部106において、組合せ情報テーブル101aを参照して、「第1ブラウザ」に対応する変数を特定する。そして、パラメータ特定部106は、特定された変数に対応する装置系パラメータ(例えば「AAAA」〜「EEEE」)を特定する。さらに、識別サーバ装置100は、デバイス種別情報に基づいて操作系パラメータ(例えば「HHHH」〜「LLLL」)を特定してもよい。これにより、識別サーバ装置100は、一意性の高い識別符号を生成するためのパラメータを特定できる。
【0051】
S107において、識別サーバ装置100は、識別符号生成部107において、装置系パラメータまたは操作系パラメータの少なくともいずれかをハッシュ化して、識別符号を生成する。これにより、識別サーバ装置100は、一意性の高い識別符号を生成できる。
【0052】
S108において、識別サーバ装置100は、識別部108において、端末装置識別テーブル101bを参照して、識別符号に基づいて端末装置300を識別する。なお、識別サーバ装置100は、装置系パラメータに基づき生成された識別符号と、操作系パラメータと、に基づいて、端末装置を識別してもよい。
【0053】
S109において、識別サーバ装置100は、審査判定部109において、識別部108における識別結果に基づいて、端末装置300がアクセスを許可された端末装置であるか否かを判定する。
【0054】
S110において、識別サーバ装置100は、審査判定部109においてアクセスが許可されていない端末装置300であると判定された場合、端末装置300によるログインを拒絶する、又は、端末装置300に対して追加認証を要求するなどの処理を実行する。一方、識別サーバ装置100は、審査判定部109においてアクセスが許可されている端末装置300であると判定された場合、端末装置300によるログインを受け付ける。これにより、不正アクセスを排除できる。
==ハードウェア構成==
【0055】
図9を参照して、識別サーバ装置100、事業者サーバ装置200をコンピュータ1000で実現する場合のハードウェア構成の一例を説明する。なお、それぞれの装置の機能は、複数台の装置に分けて実現することもできる。
【0056】
図9は、コンピュータのハードウェア構成の一例を示す図である。図9に示すように、コンピュータ1000は、プロセッサ1001と、メモリ1002と、記憶装置1003と、入力I/F部1004と、データI/F部1005と、通信I/F部1006、及び表示装置1007を含む。
【0057】
プロセッサ1001は、メモリ1002に記憶されているプログラムを実行することによりコンピュータ1000における各種の処理を制御する制御部である。
【0058】
メモリ1002は、例えばRAM(Random Access Memory)等の記憶媒体である。メモリ1002は、プロセッサ1001によって実行されるプログラムのプログラムコードや、プログラムの実行時に必要となるデータを一時的に記憶する。
【0059】
記憶装置1003は、例えばハードディスクドライブ(HDD)やフラッシュメモリ等の不揮発性の記憶媒体である。記憶装置1003は、オペレーティングシステムや、上記各構成を実現するための各種プログラムを記憶する。
【0060】
入力I/F部1004は、ユーザからの入力を受け付けるためのデバイスである。入力I/F部1004の具体例としては、キーボードやマウス、タッチパネル、各種センサ、ウェアラブル・デバイス等が挙げられる。入力I/F部1004は、例えばUSB(Universal Serial Bus)等のインタフェースを介してコンピュータ1000に接続されても良い。
【0061】
データI/F部1005は、コンピュータ1000の外部からデータを入力するためのデバイスである。データI/F部1005の具体例としては、各種記憶媒体に記憶されているデータを読み取るためのドライブ装置等がある。データI/F部1005は、コンピュータ1000の外部に設けられることも考えられる。その場合、データI/F部1005は、例えばUSB等のインタフェースを介してコンピュータ1000へと接続される。
【0062】
通信I/F部1006は、コンピュータ1000の外部の装置と有線又は無線により、インターネットNを介したデータ通信を行うためのデバイスである。通信I/F部1006は、コンピュータ1000の外部に設けられることも考えられる。その場合、通信I/F部1006は、例えばUSB等のインタフェースを介してコンピュータ1000に接続される。
【0063】
表示装置1007は、各種情報を表示するためのデバイスである。表示装置1007の具体例としては、例えば液晶ディスプレイや有機EL(Electro−Luminescence)ディスプレイ、ウェアラブル・デバイスのディスプレイ等が挙げられる。表示装置1007は、コンピュータ1000の外部に設けられても良い。その場合、表示装置1007は、例えばディスプレイケーブル等を介してコンピュータ1000に接続される。また、入力I/F部1004としてタッチパネルが採用される場合には、表示装置1007は、入力I/F部1004と一体化して構成することが可能である。
===まとめ===
【0064】
本実施形態に係る不正検知システム10は、所定のWebサイトにアクセスが許可されていないユーザ(第三者)による所定のWebサイトへの不正なアクセスを検知する不正検知システム10であって、ネットワークを介して、ユーザの端末装置300(デバイス)に関するデバイス情報を取得する取得部102と、端末装置300を用いてユーザが使用する、デバイス情報に含まれる、ブラウザに関するブラウザ情報に基づいて、ブラウザの種別に係る装置系パラメータ(第1パラメータ)を特定するパラメータ特定部106と、装置系パラメータ(第1パラメータ)に基づいて、端末装置300を識別する識別部108と、を備える。これにより、ブラウザ情報に含まれる一意性が高い装置系パラメータに基づいて、ユーザの端末装置300を識別することができる。
【0065】
また、本実施形態に係る不正検知システム10は、デバイス情報は、少なくともパーソナルコンピュータかモバイル端末かの端末装置300のデバイスの種別に関するデバイス種別情報を含み、パラメータ特定部106は、ブラウザ情報と、デバイス種別情報と、に基づいて、装置系パラメータ(第1パラメータ)を特定する。これにより、ブラウザと種別によって取得できる装置パラメータが異なることを利用して、識別符号の一意性を高めることができる。
【0066】
また、本実施形態に係る不正検知システム10は、少なくとも一つの装置系パラメータ(第1パラメータ)を所定の関数に入力して識別符号を生成する識別符号生成部107、をさらに備え、識別部108は、識別符号に基づいて、端末装置を識別する。これにより、セキュリティを確保しつつ、一意性の高い識別符号を生成できる。
【0067】
また、本実施形態に係る不正検知システム10は、デバイス情報は、ユーザの端末装置300への操作に関する操作系パラメータ(第2パラメータ)を含み、識別部108は、装置系パラメータ(第1パラメータ)と、操作系パラメータ(第2パラメータ)と、に基づいて、端末装置を識別する。これにより、識別符号の一意性を高めるとともに、ロボットによるアクセスか否かを適切に識別できる。
【0068】
また、本実施形態に係る不正検知システム10は、少なくとも一つの装置系パラメータ(第1パラメータ)と、少なくとも一つの操作系パラメータ(第2パラメータ)と、を所定の関数に入力して識別符号を生成する識別符号生成部107、をさらに備え、識別部108は、識別符号に基づいて、端末装置を識別する。これにより、識別符号の一意性を高めるとともに、ロボットによるアクセスか否かを適切に識別できる。
【0069】
また、本実施形態に係る不正検知システム10は、少なくとも一つの装置系パラメータ(第1パラメータ)を所定の関数に入力して識別符号を生成する識別符号生成部107、をさらに備え、識別部108は、識別符号と、少なくとも一つの操作系パラメータ(第2パラメータ)と、に基づいて、端末装置を識別する。これにより、識別符号の一意性を高めるとともに、ロボットによるアクセスか否かを適切に識別できる。
【0070】
また、本実施形態に係る不正検知システム10において、装置系パラメータ(第1パラメータ)は、ユーザの端末装置300で使用されるフォントに関する情報、ユーザの端末装置300における描画に関する情報の少なくともいずれかを含む。これにより、一意性の高い識別符号を生成できる。
【0071】
また、本実施形態に係る不正検知システム10は、装置系パラメータ(第1パラメータ)は、ユーザの端末装置300のユーザーエージェントに関する情報のうち、所定の領域の文字列が抽出されたものである。これにより、一意性の高い識別符号を生成できる。
【符号の説明】
【0072】
10…不正検知システム、100…識別サーバ装置、200…事業者サーバ装置、300…端末装置、101…記憶部、102…取得部、103…送信部、104…種別特定部、105…ブラウザ特定部、106…パラメータ特定部、107…識別符号生成部、108…識別部、109…審査判定部。
【要約】      (修正有)
【課題】端末装置や利用するアプリに応じて、不正アクセスの検知に用いるパラメータを柔軟に設定することで、より正確に不正アクセスであるか否かを検知する不正検知システム、不正検知方法及びプログラムを提供する。
【解決手段】所定のウェブサイトにアクセスが許可されていない第三者による所定のウェブサイトへの不正なアクセスを検知する不正検知システムにおいて、識別サーバ装置100は、ネットワークを介して、ユーザのデバイスに関するデバイス情報を取得する取得部102と、デバイスを用いてユーザが使用する、デバイス情報に含まれる、ブラウザに関するブラウザ情報に基づいて、ブラウザの種別に係る第1パラメータを特定するパラメータ特定部106と、第1パラメータに基づいて、デバイスを識別する識別部108と、を備える。
【選択図】図2
図1
図2
図3
図4
図5
図6
図7
図8
図9