JP6997913B1 - 不正検知システム、不正検知方法、及びプログラム - Google Patents

不正検知システム、不正検知方法、及びプログラム Download PDF

Info

Publication number
JP6997913B1
JP6997913B1 JP2021548152A JP2021548152A JP6997913B1 JP 6997913 B1 JP6997913 B1 JP 6997913B1 JP 2021548152 A JP2021548152 A JP 2021548152A JP 2021548152 A JP2021548152 A JP 2021548152A JP 6997913 B1 JP6997913 B1 JP 6997913B1
Authority
JP
Japan
Prior art keywords
feature amount
score
users
fraud
acquisition
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
Application number
JP2021548152A
Other languages
English (en)
Other versions
JPWO2022070277A1 (ja
Inventor
恭輔 友田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rakuten Group Inc
Original Assignee
Rakuten Group Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Rakuten Group Inc filed Critical Rakuten Group Inc
Application granted granted Critical
Publication of JP6997913B1 publication Critical patent/JP6997913B1/ja
Publication of JPWO2022070277A1 publication Critical patent/JPWO2022070277A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4016Transaction verification involving fraud or risk level assessment in transaction processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • G06Q20/102Bill distribution or payments

Abstract

不正検知システム(S)のスコア取得手段(103)は、複数のユーザの各々による行動に基づいて、当該ユーザの不正度に関するスコアを取得する。決定手段(104)は、複数のユーザの各々の前記スコアに基づいて、不正度が低いほど特徴量の取得時間が短くなるように、当該ユーザの特徴量の取得方法を決定する。特徴量取得手段(105)は、複数のユーザの各々の取得方法に基づいて、当該ユーザの特徴量を取得する。検知手段(106)は、複数のユーザの各々の特徴量に基づいて、当該ユーザの不正を検知する。

Description

本開示は、不正検知システム、不正検知方法、及びプログラムに関する。
従来、ユーザによる行動に基づいて、ユーザの不正を検知する技術が知られている。例えば、特許文献1には、ユーザの特徴量を入力とし、ユーザの正常性の判定結果を出力とする訓練データを学習モデルに学習させ、不正なユーザを検知するための学習モデルを作成するシステムが記載されている。
国際公開第2019/049210号公報
しかしながら、特許文献1の技術では、特徴量の取得に関する設定が全ユーザで共通しているので、学習モデルを利用して精度良く不正を検知しようとすると、全ユーザについて多くの特徴量を取得する必要がある。このため、システム全体として考えると、不正検知に非常に時間がかかってしまう。
本開示の目的の1つは、不正検知に要する時間を短くすることである。
本開示の一態様に係る不正検知システムは、複数のユーザの各々による行動に基づいて、当該ユーザの不正度に関するスコアを取得するスコア取得手段と、前記複数のユーザの各々の前記スコアに基づいて、前記不正度が低いほど特徴量の取得時間が短くなるように、当該ユーザの前記特徴量の取得方法を決定する決定手段と、前記複数のユーザの各々の前記取得方法に基づいて、当該ユーザの前記特徴量を取得する特徴量取得手段と、前記複数のユーザの各々の前記特徴量に基づいて、当該ユーザの不正を検知する検知手段と、を含む。
本開示の一態様に係る不正検知方法は、複数のユーザの各々による行動に基づいて、当該ユーザの不正度に関するスコアを取得するスコア取得ステップと、前記複数のユーザの各々の前記スコアに基づいて、前記不正度が低いほど特徴量の取得時間が短くなるように、当該ユーザの前記特徴量の取得方法を決定する決定ステップと、前記複数のユーザの各々の前記取得方法に基づいて、当該ユーザの前記特徴量を取得する特徴量取得ステップと、前記複数のユーザの各々の前記特徴量に基づいて、当該ユーザの不正を検知する検知ステップと、を含む。
本開示の一態様に係るプログラムは、複数のユーザの各々による行動に基づいて、当該ユーザの不正度に関するスコアを取得するスコア取得手段、前記複数のユーザの各々の前記スコアに基づいて、前記不正度が低いほど特徴量の取得時間が短くなるように、当該ユーザの前記特徴量の取得方法を決定する決定手段、前記複数のユーザの各々の前記取得方法に基づいて、当該ユーザの前記特徴量を取得する特徴量取得手段、前記複数のユーザの各々の前記特徴量に基づいて、当該ユーザの不正を検知する検知手段、としてコンピュータを機能させる。
本開示の一態様によれば、前記不正検知システムは、前記複数のユーザの各々からのリクエストを受け付ける受付手段と、前記複数のユーザの各々の前記スコアと、前記複数のユーザの各々からの前記リクエストの数と、に基づいて、前記不正度が低いほど前記取得時間が短くなり、かつ、全体としての前記取得時間が所定範囲に収まるように、前記取得方法に関する設定を行う設定手段と、を更に含み、前記決定手段は、前記複数のユーザの各々の前記スコアと、前記設定と、に基づいて、当該ユーザの前記取得方法を決定する。
本開示の一態様によれば、前記設定手段は、前記スコアごとに前記取得時間に関する長さを決定し、当該決定された長さに基づいて、前記設定を行う。
本開示の一態様によれば、前記設定手段は、前記スコアと前記リクエストの数との関係に関する分布を作成し、当該作成された分布に基づいて、前記設定を行う。
本開示の一態様によれば、前記スコア取得手段は、前記複数のユーザの各々による複数の前記行動の各々に基づいて、当該ユーザによる当該行動の不正度に関する個別スコアを取得し、前記複数のユーザの各々の前記個別スコアに基づいて、当該ユーザの総合的な不正度に関する総合スコアを取得し、前記決定手段は、前記総合スコアの前記不正度が低いほど前記取得時間が短くなるように、前記複数のユーザの各々の前記取得方法を決定する。
本開示の一態様によれば、前記スコア取得手段は、前記複数のユーザの各々の前記個別スコアを変数とする決定木に更に基づいて、当該ユーザの前記総合スコアを取得する。
本開示の一態様によれば、前記特徴量取得手段は、複数種類の前記特徴量を取得可能であり、前記取得方法は、取得される前記特徴量の種類であり、前記決定手段は、前記不正度が低いほど前記取得時間が短くなるように、前記複数のユーザの各々に対して前記特徴量の種類を決定し、前記特徴量取得手段は、前記複数のユーザの各々に対して決定された種類の前記特徴量を取得する。
本開示の一態様によれば、前記複数種類の特徴量の各々は、互いに並列して取得可能であり、前記特徴量取得手段は、前記複数のユーザの各々に対して決定された種類の前記特徴量と、当該種類よりも前記取得時間が短い種類の前記特徴量と、を取得する。
本開示の一態様によれば、前記決定手段は、不正検知において重要な前記特徴量が取得されるように、かつ、前記不正度が低いほど前記取得時間が短くなるように、前記複数のユーザの各々の前記取得方法を決定する。
本開示の一態様によれば、前記特徴量取得手段は、複数種類の前記特徴量を取得可能であり、前記取得方法は、前記特徴量の取得に許容される制限時間であり、前記決定手段は、前記不正度が低いほど前記制限時間が短くなるように、前記複数のユーザの各々の前記制限時間を決定し、前記特徴量取得手段は、前記複数のユーザの各々の前記制限時間に基づいて、当該ユーザの前記特徴量を取得する。
本開示の一態様によれば、前記スコア取得手段は、前記複数のユーザの各々による第1の行動に基づいて、当該ユーザの前記スコアを取得し、前記検知手段は、前記複数のユーザの各々により、前記第1の行動よりも後の第2の行動が行われる場合に、当該ユーザの前記特徴量に基づいて、当該ユーザの不正を検知する。
本開示の一態様によれば、前記第1の行動は、決済の要求に至るまでの行動であり、前記第2の行動は、前記決済の要求であり、前記不正検知システムは、前記複数のユーザのうち、不正が検知されたユーザの前記決済の実行を制限する制限手段、を更に含む。
本開示によれば、不正検知に要する時間を短くすることができる。
不正検知システムの全体構成の一例を示す図である。 不正検知ポイントに至るまでの行動の一例を示す図である。 不正検知システムにおいて実現される機能の一例を示す機能ブロック図である。 ユーザデータベースのデータ格納例を示す図である。 特徴量データベースのデータ格納例を示す図である。 設定データのデータ格納例を示す図である。 総合スコアとリクエストの数と関係に関する分布の一例を示す図である。 設定処理の一例を示すフロー図である。 不正検知処理の一例を示すフロー図である。 不正検知処理の一例を示すフロー図である。 変形例(1)の決定木の一例を示す図である。 変形例(3)における特徴量データベースのデータ格納例を示す図である。
[1.不正検知システムの全体構成]
本開示の一態様に係る不正検知システムの実施形態の例を説明する。図1は、不正検知システムの全体構成の一例を示す図である。図1に示すように、不正検知システムSは、不正検知サーバ10、特徴量サーバ20-1~20-n(nは2以上の整数)、及びユーザ端末30を含み、これらは、インターネットなどのネットワークNに接続可能である。なお、図1では、不正検知サーバ10とユーザ端末30の各々を1台ずつ示しているが、これらは複数台あってもよい。
以降の説明では、特徴量サーバ20-1~20-nを区別しない場合には、単に特徴量サーバ20と記載する。同様に、制御部21-1~21-n、記憶部22-1~22-n、及び通信部23-1~23-nの各々を区別しない場合には、単に制御部21、記憶部22、及び通信部23と記載する。nは、特徴量サーバ20の総数である。特徴量サーバ20は、1台だけでもよく、nは1でもよい。また、不正検知システムSには、特徴量サーバ20が含まれていなくてもよい。この場合、不正検知サーバ10が特徴量サーバ20と同等の機能を含んでもよい。
不正検知サーバ10は、サーバコンピュータである。不正検知サーバ10は、制御部11、記憶部12、及び通信部13を含む。制御部11は、少なくとも1つのプロセッサを含む。制御部11は、記憶部12に記憶されたプログラム及びデータに従って処理を実行する。記憶部12は、主記憶部及び補助記憶部を含む。例えば、主記憶部は、RAMなどの揮発性メモリである。また例えば、補助記憶部は、ROM、EEPROM、フラッシュメモリ、又はハードディスクなどの不揮発性メモリである。通信部13は、有線通信用又は無線通信用の通信インタフェースである。
特徴量サーバ20は、サーバコンピュータである。特徴量サーバ20は、制御部21、記憶部22、及び通信部23を含む。制御部21、記憶部22、及び通信部23の物理的構成は、それぞれ制御部11、記憶部12、及び通信部13と同様であってよい。
ユーザ端末30は、ユーザが操作するコンピュータである。例えば、ユーザ端末30は、携帯電話機(スマートフォンを含む)、携帯情報端末(タブレット型コンピュータを含む)、又はパーソナルコンピュータ等である。本実施形態では、ユーザ端末30は、制御部31、記憶部32、通信部33、操作部34、及び表示部35を含む。
制御部31、記憶部32、及び通信部33の物理的構成は、それぞれ制御部11、記憶部12、及び通信部13と同様であってよい。操作部34は、入力デバイスである。例えば、操作部34は、タッチパネル、マウス、キーボード、又はボタンである。例えば、表示部35は、液晶ディスプレイ又は有機ELディスプレイである。
なお、記憶部12,22,32に記憶されるものとして説明するプログラム及びデータは、ネットワークNを介して供給されるようにしてもよい。また、不正検知サーバ10、特徴量サーバ20、及びユーザ端末30の各々のハードウェア構成は、上記の例に限られず、種々のハードウェアを適用可能である。例えば、コンピュータ読み取り可能な情報記憶媒体を読み取る読取部(例えば、光ディスクドライブやメモリカードスロット)及び外部機器とデータの入出力をするための入出力部(例えば、USBポート)の少なくとも一方が含まれていてもよい。例えば、情報記憶媒体に記憶されたプログラム及びデータが読取部又は入出力部を介して供給されるようにしてもよい。
[2.不正検知システムの概要]
不正検知システムSは、所定のサービスにおけるユーザの特徴量に基づいて、ユーザの不正を検知する。本実施形態では、サービスの一例として、電子商取引サービスを例に挙げるが、不正検知サーバ10は、任意のサービスに適用可能である。例えば、金融サービス、旅行予約サービス、ゴルフ場予約サービス、通信サービス、電子決済サービス、動画配信サービス、又は保険申込サービスにも不正検知システムSを適用可能である。
特徴量とは、ユーザの特徴に関する情報である。特徴量自体は、公知の種々の種類の特徴量を適用可能である。例えば、決済額、決済頻度、ページ遷移、アクセス頻度、アクセス場所、アクセス時間、サービス利用時に使用されたユーザ端末30の識別情報、サービスの利用内容、サービスの利用画面における挙動(カーソルの軌跡など)、又はこれらの組み合わせが特徴量に相当してもよい。また例えば、不正なユーザが登録されたブラックリストを利用して特徴量が取得されてもよい。
特徴量は、静的な情報から取得されてもよいし、静的な情報に対して何らかの計算が実行されることで取得されてもよい。静的な情報は、計算が発生しない情報である。例えば、静的な情報は、ユーザの個人情報、会員ランクなどのステータス、クレジットカード番号などの決済情報、閲覧履歴、又は購入履歴である。特徴量は、任意の形式で表現可能であり、例えば、単一の数値、複数の数値の組み合わせ、ベクトル、配列、又は文字によって表現されてよい。
不正とは、サービスの利用規約に違反すること又は違反する恐れがあることである。例えば、不正ログイン(なりすまし又は乗っ取り)、コンピュータに対する攻撃、料金の未払い、詐欺行為、又は虚偽行為は、不正に相当する。検知とは、不正であるか否かを判定することである。不正検知システムSの管理者が不正の最終判断を行う場合には、不正の検知は、不正の推定又は推測ということもできる。
ユーザは、ユーザ端末30を操作して、サービスにおける種々の行動をする。例えば、ユーザは、サービスの利用登録、サービスへのログイン、トップページの表示、検索の実行、店舗ページの表示、商品ページの表示、買い物かごへの商品の追加、配送先などの入力、注文の確定(決済の実行)、会員情報の変更、閲覧履歴の確認、又は購入履歴の確認を行う。これらの行動は、ユーザ端末30にインストールされたアプリケーションを利用して行われてもよいし、ブラウザを利用して行われてもよい。
サービスにおける全ての行動が不正検知の対象になってもよいが、本実施形態では、一部の行動のみを不正検知の対象とする。この行動は、ユーザが取り得る行動の中で相対的に重要な行動である。本実施形態では、注文の確定(決済の実行)が不正検知の対象になる場合を説明するが、他の任意の行動が不正検知の対象になってよい。例えば、配送先の変更、会員情報の変更、又は購入履歴の確認が不正検知の対象であってもよい。以降、不正検知の対象となる行動が行われるタイミングを不正検知ポイントと記載する。ユーザは、不正検知ポイントに至るまでに少なくとも1つの行動を行う。
図2は、不正検知ポイントに至るまでの行動の一例を示す図である。図2に示す一連の行動は、不正検知サーバ10とユーザ端末30とのセッションが維持されたまま行われてもよいし、セッションの確立と切断が繰り返されて行われてもよい。例えば、サービスの利用登録が行われてセッションが切断された後に、再びセッションが確立されてサービスへのログイン以降の行動が行われてもよい。即ち、あるセッション内の行動だけが考慮されて不正が検知されてもよいし、複数のセッションにまたがって総合的に行動が考慮されて不正が検知されてもよい。
例えば、ユーザは、不正検知ポイントに至るまでに、サービスの利用登録、サービスへのログイン、及びページ遷移を行う。ユーザは、ページ遷移を繰り返し、少なくとも1つの商品を買い物かごに入れる。ユーザは、配送先及び支払方法などの必要事項を入力し、注文を確定する。本実施形態では、不正検知ポイントに至るまでの個々の行動ごとに、ユーザの不正に関する個別スコアが取得される。
個別スコアは、個々の行動の不正度に関するスコアである。不正度とは、不正の程度、蓋然性、又は確率である。不正度は、異常性、危険性、又は不正の疑わしさということもできる。個別スコアは、不正度を表現可能な指標であればよい。本実施形態では、個別スコアが単一の数値(例えば、ポイント)によって表現される場合を説明するが、個別スコアは、任意の形式で表現可能である。例えば、個別スコアは、パーセンテージ、割合、複数の数値の組み合わせ、ベクトル、配列、又は文字で表現されてもよい。個別スコアの取得方法の詳細は後述する。
図2の例であれば、ユーザは、不正検知ポイントに至るまでに行われた、利用登録、ログイン、及び複数回のページ遷移の各々に対し、個別スコアが計算される。本実施形態では、これらの個別スコアは、1つの総合スコアにまとめられる。また、本実施形態では、個別スコアが取得されるたびに総合スコアが取得される場合を説明するが、総合スコアは、不正検知ポイントに至った場合に初めて取得されてもよい。
総合スコアは、複数の行動の総合的な不正度に関するスコアである。別の言い方をすれば、総合スコアは、複数の個別スコアの各々が示す不正度が総合的に考慮された1つの不正度に関するスコアである。総合スコアは、不正検知ポイントに至るまでの過去の所定期間において行われた、複数の行動の総合的な不正度に関するスコアであってもよい。総合スコアは、不正度を表現可能な指標であればよい。本実施形態では、総合スコアが単一の数値(例えば、ポイント)によって表現される場合を説明するが、総合スコアは、任意の形式で表現可能である。例えば、総合スコアは、パーセンテージ、割合、複数の数値の組み合わせ、ベクトル、配列、又は文字で表現されてもよい。総合スコアの形式と、個別スコアの形式と、は互いに異なってもよい。例えば、総合スコアがパーセンテージによって表現され、個別スコアがポイントによって表現されてもよい。総合スコアの取得方法の詳細は後述する。
なお、本実施形態では、個別スコア及び総合スコアの各々の数値が高いことが、不正度が高いことを意味する場合を説明するが、個別スコア及び総合スコアの各々は、不正度を表現可能なスコアであればよい。例えば、個別スコア及び総合スコアの各々の数値が低いことが、不正度が高いことを意味してもよい。この場合、個別スコア及び総合スコアの各々は、行動の正常性を意味することになる。正常性を意味する個別スコア及び総合スコアによって、不正度が逆説的に表現されてもよい。
従来技術で説明したように、不正検知システムSが全ユーザに共通の設定で特徴量を取得する場合、全ユーザについて多くの特徴量を計算する必要がある。大多数の正常なユーザについても、多くの特徴量を計算すると、不正検知システムS全体として、不正検知に非常に時間がかかってしまう。このため、注文の確定に非常に時間がかかったり、不正検知システムSの処理負荷が増大したりする可能性がある。
この点、本実施形態の不正検知システムSは、不正検知ポイントにおけるユーザの総合スコアによって、そのユーザが不正であるか否かをある程度推測することができる。即ち、不正検知システムSは、不正検知ポイントに至ったユーザに対し、入念なチェックを行うべきか、簡易的なチェックで済ませてよいか、を総合スコアによって判定できる。
そこで、不正検知システムSは、総合スコアが低いユーザについては、取得時間が相対的に短い特徴量を取得して、簡易的なチェックで済ませる。不正検知システムSは、総合スコアが高いユーザについては、取得時間が相対的に長い特徴量を取得して、入念なチェックを行う。このように、本実施形態では、総合スコアに応じて不正検知にメリハリをつけることによって、不正検知システムS全体として、不正検知に要する時間を短くする。以降、この技術の詳細を説明する。
[3.不正検知システムにおいて実現される機能]
図3は、不正検知システムSにおいて実現される機能の一例を示す機能ブロック図である。本実施形態では、不正検知サーバ10、特徴量サーバ20、及びユーザ端末30の各々で実現される機能を説明する。
[3-1.不正検知サーバにおいて実現される機能]
図3に示すように、不正検知サーバ10は、データ記憶部100、受付部101、設定部102、スコア取得部103、決定部104、特徴量取得部105、検知部106、及び制限部107を含む。
[データ記憶部]
データ記憶部100は、記憶部12を主として実現される。データ記憶部100は、不正検知に必要なデータを記憶する。ここでは、データ記憶部100が記憶するデータの一例として、ユーザデータベースDB1、特徴量データベースDB2、及び設定データDについて説明する。
図4は、ユーザデータベースDB1のデータ格納例を示す図である。図4に示すように、ユーザデータベースDB1は、複数のユーザの各々に関する各種情報が格納されたデータベースである。例えば、ユーザデータベースDB1には、ユーザID、パスワード、個人情報、会員ランク、決済情報、現在の総合スコア、行動履歴情報、及び購入履歴情報が含まれる。
ユーザIDは、サービスにおいてユーザを一意に識別する情報である。ユーザIDは、ユーザアカウントと呼ばれることもある。ユーザIDは、メールアドレスなどの情報が利用されてもよい。ユーザIDとパスワードは、ログインに必要な認証情報の一例である。個人情報は、ユーザを識別可能な情報である。例えば、個人情報は、ユーザの名前、自宅の住所、配送先の住所、電話番号、生年月日、性別、メールアドレス、又は職業である。
決済情報は、決済に必要な情報である。例えば、決済情報は、クレジットカード番号、デビットカード番号、又は銀行口座番号である。また例えば、決済情報は、電子決済アプリ、電子マネー、ポイント、又はウォレットに関するアカウントである。例えば、ユーザが利用登録を済ませると、不正検知サーバ10は、ユーザデータベースDB1に新たなレコードを作成し、ユーザID、パスワード、個人情報、及び決済情報を登録する。これらの情報は、ログインを済ませたユーザにより変更可能である。
会員ランクは、ユーザの利用状況に応じて更新される。例えば、ユーザの利用額又は利用頻度が高くなるほど、会員ランクが高くなる。現在の総合スコアは、後述するスコア取得部103により取得された総合スコアである。ユーザが注文を確定させると、その時点での総合スコアが購入履歴情報に格納される。本実施形態では、ユーザが何らかの行動をして個別スコアが取得されるたびに(ユーザのレコードに行動履歴情報が追加されるたびに)、現在の総合スコアが更新される。
行動履歴情報は、ユーザによる行動の履歴に関する情報である。例えば、行動履歴情報には、行動ID、行動内容、及び個別スコアが含まれる。行動IDは、個々の行動を一意に識別する情報である。本実施形態では、利用登録、ログイン、及びページ遷移の各々が行われるたびに、行動IDが発行される。行動内容は、行動の具体的な内容を示す情報である。例えば、行動内容は、行動の種類、IPアドレス、アクセス場所、アクセス日時、アクセスしたページのURL、及びユーザの操作内容が含まれる。
行動の種類は、サービスにおいて取り得る複数種類の行動のうち、どの行動であるかを示す情報である。本実施形態では、不正検知ポイントに至るまでに、利用登録、ログイン、及びページ遷移の3種類の行動が行われるので、これら3種類の何れかを示す情報が、行動の種類として格納される。行動の種類は、アクセス先のページのURL、又は、ユーザの操作内容から特定されるようにすればよい。
行動内容に含まれるIPアドレスは、各行動に使用されたユーザ端末30のIPアドレスである。アクセス場所は、各行動時のユーザ又はユーザ端末30の場所である。アクセス場所は、IPアドレスから推測されてもよいし、GPS情報、アクセスポイント情報、又は携帯基地局情報を利用して取得されてもよい。
不正検知サーバ10は、ユーザが何らかの行動をするたびに(ユーザ端末30から何らかの要求を受信するたびに)、所定の発行ルールに基づいて、行動IDを発行する。不正検知サーバ10は、ユーザ端末30から受信した情報に基づいて行動の種類などを取得し、発行された行動IDとともに行動履歴情報としてユーザデータベースDB1に格納する。
購入履歴情報は、ユーザにより購入された商品の履歴に関する情報である。例えば、購入履歴情報には、注文ID、注文詳細、注文時の総合スコア、及び不正検知結果といった情報が含まれる。注文IDは、注文を一意に識別する情報である。注文詳細は、注文の具体的な内容に関する情報である。例えば、注文詳細は、決済額、決済場所、注文された商品を一意に識別する商品ID、及び購入日時である。総合スコアは、ユーザが注文を確定させた場合の総合スコアである。不正検知結果は、後述する検知部106による不正の判定結果、又は、管理者による不正の確認結果である。
図5は、特徴量データベースDB2のデータ格納例を示す図である。図5に示すように、特徴量データベースDB2は、不正検知システムSにおいて取得可能な特徴量に関する情報が格納されたデータベースである。例えば、特徴量データベースDB2には、特徴量の種類、特徴量サーバ20の識別情報、及び特徴量の取得に要する時間(取得時間)が格納される。
特徴量の種類は、特徴量の名前である。先述したように、特徴量自体は、公知の種々のものを利用可能である。例えば、ユーザの個人情報の全部又は一部、会員ランク、及び決済情報のうちの少なくとも1つを数値化した情報が特徴量として用いられてもよい。また例えば、行動履歴情報に含まれる行動内容の全部又は一部を数値化した情報が特徴量として用いられてもよい。また例えば、購入履歴情報に含まれる注文詳細の全部又は一部を数値化した情報が特徴量として用いられてもよい。
特徴量サーバ20の識別情報は、特徴量を作成する特徴量サーバ20を識別する情報である。例えば、この情報は、特徴量サーバ20のIPアドレス又はサーバ名である。本実施形態では、複数種類の特徴量を同時並行で作成可能であり、1台の特徴量サーバ20は、1種類の特徴量を作成する。このため、特徴量の種類と特徴量サーバ20は、1対1で対応する。なお、1台の特徴量サーバ20が複数種類の特徴量を作成してもよい。この場合、複数種類の特徴量が完全に同時並行で作成されるとは限らない。即ち、複数種類の特徴量を作成する必要がある場合に、これら複数種類の特徴量が同時並行で作成されなければならないわけではない。
取得時間は、特徴量の取得に必要な時間である。別の言い方をすれば、取得時間は、特徴量の取得処理を開始してから、特徴量の取得処理を完了するまでの時間である。本実施形態では、不正検知サーバ10が特徴量サーバ20に特徴量を作成する旨のリクエストを送信してから、不正検知サーバ10が特徴量サーバ20から特徴量を受信するまでの時間が取得時間に相当する。即ち、取得時間は、特徴量サーバ20が特徴量の作成に要する作成時間と、リクエスト及び特徴量の送信に要する送信時間と、を含む。不正検知サーバ10が自ら特徴量を作成するのであれば、特徴量の作成時間と取得時間は一致することがある。
取得時間は、予測値であってもよいし、実測値であってもよい。予測値は、管理者により指定されてもよいし、シミュレーションによって取得されてもよい。実測値は、過去の一定期間において計測された統計値であってもよいし、ある1回の特徴量の取得時に計測された値であってもよい。
例えば、ある1つの特徴量に含まれる項目数が多いほど、その特徴量の取得時間は長くなる。項目数とは、特徴量を構成する要素の数である。例えば、特徴量がベクトル形式で表現される場合、ベクトルの次元数は項目数に相当する。また例えば、特徴量が配列形式で表現される場合、配列に含まれる要素数は項目数に相当する。項目数が多いほど、より多くの情報を参照又は計算する必要があるので、取得時間が長くなる。
また例えば、何らかの計算によって作成される特徴量であれば、取得時間は、特徴量の計算に要する計算時間を含む。この場合、特徴量の取得に必要な計算の回数が多いほど、取得時間は長くなる。また例えば、何らかのリストとの照合によって作成される特徴量であれば、リストに含まれるデータ数が多いほど、取得時間は長くなる。また例えば、何らかの集計が必要な特徴量であれば、集計対象のデータ数が多いほど、取得時間は長くなる。また例えば、何らかのデータの参照によって作成される特徴量であれば、参照すべきデータ数が多いほど、取得時間は長くなる。
なお、特徴量サーバ20に応じて取得時間が変わってもよい。例えば、特徴量サーバ20の性能が低いほど、取得時間は長くなる。また例えば、1台の特徴量サーバ20で作成すべき特徴量の種類数が多いほど、取得時間は長くなる。また例えば、特徴量サーバ20に対するリクエストの数が多いほど、取得時間は長くなる。また例えば、特徴量サーバ20の通信環境が悪いほど、取得時間は長くなる。
図6は、設定データDのデータ格納例を示す図である。図6に示すように、設定データDは、設定部102により行われた設定に関するデータである。本実施形態では、取得対象となる特徴量の種類が設定の1つに含まれる場合を説明するが、後述する変形例のように、制限時間などの他の設定であってもよい。例えば、設定データDには、総合スコア、特徴量セット、合計取得時間、及び割合が格納される。
本実施形態では、設定データDに総合スコアの範囲が示されている。図6のデータ格納例では、総合スコアの範囲が、高スコア範囲、中スコア範囲、及び低スコア範囲の3段階に分かれている。高スコア範囲は、総合スコアが閾値T1(図6では150)以上の範囲である。中スコア範囲は、総合スコアが、閾値T1未満であり、かつ、閾値T2(図6では100)以上の範囲である。低スコア範囲は、総合スコアが閾値T2未満の範囲である。
例えば、総合スコアが高スコア範囲に属するユーザは、入念にチェックすべきユーザである。このユーザの特徴量セットは、時間をかけて取得される。また例えば、総合スコアが中スコア範囲に属するユーザは、ある程度入念にチェックすべきユーザである。このユーザの特徴量セットは、ある程度時間をかけて取得される。また例えば、総合スコアが低スコア範囲に属するユーザは、簡易的なチェックで済ませるユーザである。このユーザの特徴量セットは、時間をかけずに取得される。
なお、総合スコアの範囲は、本実施形態のような3段階に限られない。例えば、2段階の範囲に分けられてもよいし、4段階以上の範囲に分けられてもよい。また、設定データDでは、総合スコアの範囲ではなく、総合スコアが取り得る個々の値ごとに、特徴量セット及び合計取得時間が定義されていてもよい。例えば、総合スコアが0~199の何れかの値で表現されたとすると、特徴量セット及び合計取得時間の組み合わせが200個定義されていてもよい。なお、この場合、割合は定義されないものとする。
特徴量セットは、取得対象の特徴量の組み合わせである。本実施形態では、管理者が特徴量の組み合わせを選択する場合を説明するが、不正検知サーバ10が特徴量の組み合わせを選択してもよい。即ち、特徴量の組み合わせは、管理者によって手動で選択されてもよいし、不正検知サーバ10によって自動的に選択されてもよい。
合計取得時間は、特徴量セットに含まれる全ての特徴量の取得に要する時間である。図6に示すように、総合スコアが高いほど、合計取得時間が長くなり、総合スコアが低いほど、合計取得時間が短くなる。合計取得時間は、特徴量データベースDB2に格納された取得時間によって決定される。特徴量セットに1種類の特徴量だけが含まれる場合には、その種類の取得時間がそのまま合計取得時間となる。
本実施形態では、不正検知システムSは、複数種類の特徴量の各々を並行して作成可能である。即ち、ある特徴量サーバ20がある特徴量を作成している間に、他の特徴量サーバ20が他の特徴量を作成可能である。また、ある特徴量サーバ20が、あるプログラムを実行してある特徴量を作成している間に、その特徴量サーバ20が、他のプログラムを同時並行で実行して他の特徴量を作成可能である。本実施形態のように、特徴量データベースDB2に定義された特徴量の種類数だけ特徴量サーバ20を用意する場合には、全種類の特徴量を完全に同時並行で作成できる。
特徴量が同時並行で作成される場合、合計取得時間は、特徴量セットに含まれる特徴量の取得時間のうち、最も長い取得時間になる。例えば、図5に示す4つの特徴量が特徴量セットに含まれる場合には、その特徴量セットの合計取得時間は、最長の取得時間である「200ms」になる。
なお、特徴量が同時並行で作成されるのではなく、1つずつ順番に作成されるのであれば、合計取得時間は、個々の特徴量の取得時間の合計値になる。個々の特徴量サーバ20が1つずつ順番に特徴量を作成し、かつ、複数の特徴量サーバ20が同時並行で特徴量を作成する場合には、合計取得時間は、最も特徴量の作成に時間を要する特徴量サーバ20の時間になる。
設定データDに含まれる割合は、不正検知システムS全体に対する、個々のスコア範囲の割合である。本実施形態では、不正検知システムS全体におけるリクエスト数に対する、個々のスコア範囲のリクエスト数の割合である場合を説明するが、不正検知システムS全体におけるユーザ数に対する、個々のスコア範囲のユーザ数の割合であってもよい。他にも例えば、不正検知システムS全体に対する割合ではなく、一部のリクエスト数又はユーザ数に対する割合であってもよい。
図6のデータ格納例であれば、総合スコアが高スコア範囲に属するユーザからのリクエストの総数が全体のリクエストの総数の5%になるように、高スコア範囲(即ち、閾値T1)が定められている。総合スコアが中スコア範囲に属するユーザからのリクエストの総数が全体のリクエストの総数の15%になるように、中スコア範囲(即ち、閾値T1,T2)が定められている。総合スコアが低スコア範囲に属するユーザからのリクエストの総数が全体のリクエストの総数の80%になるように、低スコア範囲(即ち、閾値T2)が定められている。本実施形態では、総合スコアが高いほど割合が低くなり、総合スコアが低いほど割合が高くなるように設定されている。後述する設定部は、設定データDに含まれる割合になるように、各スコア範囲の閾値T1,T2を決定する。
なお、データ記憶部100に記憶されるデータは、上記の例に限られない。例えば、データ記憶部100は、個別スコア取得用の学習モデル、総合スコア取得用の学習モデル、及び不正検知用の学習モデルの各々のプログラム及びパラメータを記憶してもよい。これらの学習モデルは、教師なしの学習モデルであってもよいし、教師ありの学習モデルであってもよい。教師ありの学習モデルの場合、訓練データによって学習済みであるものとする。また例えば、学習モデルを利用しない場合には、データ記憶部100は、個別スコア取得用のプログラム、総合スコア取得用のプログラム、及び不正検知用のプログラムを記憶する。
[受付部]
受付部101は、制御部11を主として実現される。受付部101は、複数のユーザの各々からのリクエストを受け付ける。リクエストは、所定形式のデータを送信することによって行われる。受付部101は、ユーザ端末30から所定形式のデータを受信することによって、リクエストを受け付ける。ユーザは、リクエストを送信することによって、少なくとも1つの行動を行う。即ち、ユーザ端末30から不正検知サーバ10に対し、何らかのデータが送信されることが、行動に相当する。
本実施形態では、受付部101は、不正検知の対象となる行動に相当するリクエストを受け付ける。例えば、受付部101は、ユーザ端末30から注文を確定するためのリクエストを受け付ける。なお、受付部101は、不正検知の対象となる行動以外の行動に相当するリクエストを受け付けてもよい。例えば、受付部101は、利用登録、ログイン、及びページ遷移の各々のリクエストを受け付けてもよい。
[設定部]
設定部102は、制御部11を主として実現される。設定部102は、特徴量の取得方法に関する設定を行う。取得方法は、後述する特徴量取得部105による特徴量の取得のしかたである。本実施形態では、取得対象となる特徴量の種類が取得方法に相当する。このため、設定部102は、取得対象の特徴量の種類を設定する。
本実施形態では、設定部102は、設定データDを作成してデータ記憶部100に記録する。例えば、設定部102は、総合スコアが低いほど合計取得時間が短くなるように、設定データDの設定を行う。即ち、設定部102は、総合スコアが高いほど合計取得時間が長くなるように、設定データDの設定を行う。先述したように、本実施形態では、設定データDのうち、特徴量セットと割合は管理者によって指定され、合計取得時間は、管理者によって指定された特徴量セットから定まるので、設定部102は、各スコア範囲の閾値T1,T2を設定する。
例えば、設定部102は、複数のユーザの各々の総合スコアと、複数のユーザの各々からのリクエストの数と、に基づいて、不正度が低いほど取得時間が短くなり、かつ、全体としての取得時間が所定範囲に収まるように、取得方法に関する設定を行う。例えば、設定部102は、総合スコアとリクエストの数との関係に関する分布を作成し、当該作成された分布に基づいて、設定を行う。
図7は、総合スコアとリクエストの数と関係に関する分布の一例を示す図である。図7では、横軸は総合スコアであり、縦軸はリクエストの数である。図7の分布は、総合スコアが取り得る値ごとに、総合スコアがその値であるユーザからのリクエストの合計数を示す。例えば、設定部102は、ユーザデータベースDB1の購入履歴情報を参照し、総合スコアが取り得る値ごとに、総合スコアがその値であるユーザからのリクエストの数(例えば、購入履歴情報の数)をカウントし、分布を作成する。
なお、図7の分布は、過去の全期間が対象になってもよいし、一部の期間が対象になってもよい。一部の期間を対象にする場合には、任意の期間であってよく、例えば、直近の数時間~数か月程度の期間であってもよいし、直近の期間でなくてもよい。先述したように、不正が疑われるユーザは、実際には僅かなので、大多数のユーザは、総合スコアが低くなる。このため、総合スコアが高くなるほど、リクエストの数が減少するような分布になることが多い。
本実施形態では、設定部102は、設定データDに示された割合で分布が分けられるように、各スコア範囲の閾値T1,T2を設定する。図6のデータ格納例であれば、設定部102は、図7の分布の高スコア範囲H、中スコア範囲M、及び低スコア範囲Lが、それぞれ5%、15%、及び80%で分けられるように、閾値T1,T2を設定する。
即ち、設定部102は、高スコア範囲Hのリクエストの総数、中スコア範囲Mのリクエストの総数、及び低スコア範囲Lのリクエストの総数の各々を、図7の分布全体のリクエストの総数で割った場合に、それぞれ5%、15%、及び80%となるように、閾値T1,T2を設定する。なお、リクエスト数によっては、これらの割合できっちりと分けられるとは限らないので、概ねこれらの割合となるようにすればよい。
上記のように閾値T1,T2が設定されると、図7に示すように、不正検知システムS全体としての取得時間の期待値(平均値)は、「50ms*80%+100ms*15%+500ms*5%」の「80ms」となる。全ユーザで共通の設定とした場合には、この期待値が最長の「500ms」になる可能性があるが、本実施形態のように、総合スコアによって不正検知にメリハリをつけることによって、取得時間の期待値を低減できる。
なお、総合スコアは、あくまで不正の疑いにすぎないので、総合スコアが高いユーザが実際には不正をしないことも多い。本実施形態では、サービス利用時にリアルタイムで不正検知が行われる場合を説明するので、高スコア範囲Hのユーザに対し、特徴量の取得時間をかけすぎると、サービスレベルアグリーメントを満たさなくなる可能性がある。このため、本実施形態では、全体としての期待値である「80ms」がサービスレベルアグリーメントを満たせばよいというわけではなく、最長の「500ms」についてもサービスレベルアグリーメントを満たすように設定されるものとする。リアルタイムの不正検知が行われない場合には、特にサービスレベルアグリーメントが考慮されなくてもよい。
また、管理者が総合スコアごとの特徴量セットを選択するのではなく、設定部102が特徴量セットを選択してもよい。例えば、設定部102は、低スコア範囲Lに、合計取得時間が最も短い特徴量セットが関連付けられるように、設定を行う。また例えば、設定部102は、中スコア範囲Mに、合計取得時間が中程度の特徴量セットが関連付けられるように、設定を行う。また例えば、設定部102は、高スコア範囲Hに、合計取得時間が最も長い特徴量セットが関連付けられるように、設定を行う。設定部102は、各合計取得時間内に収まるように任意の特徴量を選択可能である。例えば、設定部102は、合計取得時間内に収まるように、ランダムに特徴量を選択してもよいし、後述する変形例の重要性指標が高い順に可能な限りの特徴量を選択してもよい。
また、管理者が特徴量セットを選択することによって合計取得時間が定まるのでなく、設定部102が合計取得時間を決定してもよい。例えば、設定部102は、総合スコアごとに合計取得時間を決定し、当該決定された合計取得時間に基づいて、設定を行う。合計取得時間は、取得時間に関する長さの一例である。このため、本実施形態で合計取得時間について説明している箇所は、取得時間に関する長さと読み替えることができる。例えば、設定部102は、総合スコアが低いほど合計取得時間が短くなるように、合計取得時間を設定する。即ち、設定部102は、総合スコアが高いほど合計取得時間が長くなるように、合計取得時間を設定する。
なお、設定部102は、図7のような分布を利用せずに、設定を行ってもよい。例えば、設定部102は、全体としての取得時間の期待値を考慮せずに、スコア範囲の閾値T1,T2、特徴量セット、合計取得時間、及び割合の少なくとも1つを設定してもよい。また例えば、これらの全てが管理者によって指定されてもよい。この場合、設定部102は、管理者が操作するコンピュータから管理者の指定内容を取得して設定データDを作成すればよい。この場合、管理者の指定内容に基づく設定データDを作成してデータ記憶部100に記録することが、設定を行うことに相当する。
[スコア取得部]
スコア取得部103は、制御部11を主として実現される。スコア取得部103は、複数のユーザの各々による行動に基づいて、当該ユーザの不正度に関するスコアを取得する。本実施形態では、このスコアの一例として、個別スコアと総合スコアを説明するが、スコアは、本実施形態の例に限られない。例えば、スコア取得部103は、個別スコアを取得することなく、複数の行動に対して1つのスコアを取得してもよい。また例えば、スコア取得部103は、総合スコアのように1つにまとめることなく、個別スコアだけを取得してもよい。また例えば、スコア取得部103は、全ての行動について個別スコアを取得しなくてもよく、一部の行動についてのみ、個別スコアを取得してもよい。
例えば、スコア取得部103は、複数のユーザの各々による複数の行動の各々に基づいて、当該ユーザによる当該行動の不正度に関する個別スコアを取得する。個別スコアの取得方法自体は、公知の手法を利用可能である。例えば、スコア取得部103は、個々の行動の特徴量を取得し、個別スコア取得用の学習モデルに当該特徴量を入力することによって、個別スコアを取得してもよい。この特徴量は、特徴量サーバ20により作成されてもよいし、不正検知サーバ10により作成されてもよい。この特徴量は、特徴量データベースDB2に定義された特徴量と同じであってもよいし、この特徴量とは異なる種類の特徴量であってもよい。特徴量自体は、公知の種々のものを利用可能である。
教師ありの学習モデルを利用する場合、個々の行動の特徴量を入力とし、個別スコア(又は不正であるか否かを示す値)を出力とする訓練データが学習されているものとする。また例えば、スコア取得部103は、教師なしの学習モデルを利用して、個別スコアを取得してもよい。また例えば、スコア取得部103は、個々の行動が所定のルールに合致するか否かを判定し、個別スコアを取得してもよい。この場合、ルールには、行動の内容と個別スコアとの関係が定義されているものとする。
スコア取得部103は、複数のユーザの各々の個別スコアに基づいて、当該ユーザの総合的な不正度に関する総合スコアを取得する。総合スコアの取得方法自体は、公知の手法を利用可能である。ユーザの行動を評価する複数の指標を1つの指標に統合する手法を利用すればよい。なお、あるユーザの総合スコアは、そのユーザの過去の全行動の個別スコアから取得されてもよいし、そのユーザの過去の一部の行動の個別スコアから取得されてもよい。例えば、前回の注文確定からの行動の個別スコアだけが総合スコアに反映されてもよい。
例えば、スコア取得部103は、複数の個別スコアを入力とし、総合スコアを出力する学習モデルを利用して総合スコアを取得してもよい。教師なしの学習モデルの場合、スコア取得部103は、公知のSmartSifter(外れ値検索エンジン)を利用して、統計的外れ値検知を行うことで算出したスコアを、総合スコアとして取得してもよい。また例えば、スコア取得部103は、公知の変分オートエンコーダを利用した場合における復元エラーの損失関数を、総合スコアとして取得してもよい。
また例えば、教師ありの学習モデルの場合、スコア取得部103は、あるユーザの複数の個別スコアを入力とし、そのユーザが不正であるか否かを示す情報を出力とする訓練データを学習させた学習モデルを利用して、総合スコアを取得してもよい。他にも例えば、スコア取得部103は、後述する変形例のような決定木を利用して、総合スコアを取得してもよい。
また例えば、スコア取得部103は、学習モデルを利用するのではなく、複数の個別スコアを所定の計算式に代入し、総合スコアを取得してもよい。この計算式は、所定の重み付け係数を含んでもよい。重み付け係数は、任意の設定をすることができる。所定種類の行動の個別スコアの重み付けを高くしてもよい。例えば、利用登録及びログインの重み付けを、ページ遷移の重み付けよりも高くしてもよい。
また例えば、個別スコアが取得されてからの経過時間が重み付けとして考慮されてもよい。例えば、個別スコアが取得されてからの経過時間(即ち、行動からの経過時間)が長いほど、重み付けを小さくしてもよい。他にも例えば、スコア取得部103は、重み付けされた個別スコアの加算値ではなく、重み付けされた個別スコアの平均値又は中央値を、総合スコアとして取得してもよい。
本実施形態では、スコア取得部103は、複数のユーザの各々による利用登録、ログイン、及びページ遷移の各々における行動に基づいて、当該ユーザの個別スコアを取得する。利用登録、ログイン、及びページ遷移の各々における行動は、第1の行動の一例である。このため、本実施形態でこれらの行動について説明している箇所は、第1の行動と読み替えることができる。
第1の行動は、後述する第2の行動に至るまでに行われる行動である。本実施形態では、注文の確定が第2の行動の一例である。このため、本実施形態で、注文の確定について説明している箇所は、第2の行動と読み替えることができる。第2の行動は、不正検知ポイントにおける行動であり、任意の行動であってよい。例えば、注文の確定時に決済が実行されるのでなく、注文が確定する前後のタイミングで決済が実行されるのであれば、第2の行動は、そのタイミングで実行される決済の要求であってもよい。
本実施形態では、スコア取得部103は、あるユーザが第1の行動を行うたびに、そのユーザの個別スコア及び総合スコアの各々を更新する。なお、スコア取得部103は、あるユーザが後述する第2の行動を行う場合に、そのユーザの個別スコア及び総合スコアの各々を取得してもよい。また、スコア取得部103は、あるユーザの個別スコアだけを予め取得しておき、第2の行動が行われる場合に、総合スコアを取得してもよい。個別スコア及び総合スコアが取得されるタイミングは、これらのタイミングに限られず、任意のタイミングであってよい。スコア取得部103は、上記のようにして取得した個別スコア及び総合スコアをユーザデータベースDB1に格納する。
[決定部]
決定部104は、制御部11を主として実現される。決定部104は、複数のユーザの各々の総合スコアに基づいて、当該総合スコアが示す不正度が低いほど特徴量の取得時間が短くなるように、当該ユーザの特徴量の取得方法を決定する。本実施形態では、総合スコアに基づいて取得方法が決定される場合を説明するが、総合スコアを利用しない場合には、スコア取得部103が取得した任意のスコアに基づいて取得方法が決定されるようにすればよい。
なお、総合スコア以外のスコアを利用する場合にも、そのスコアと取得方法との関係を示す設定データDが設定として定義されているものとする。決定部104は、複数のユーザの各々のスコアと、設定と、に基づいて、当該ユーザの取得方法を決定すればよい。決定部104は、設定データDを参照し、あるユーザのスコアに関連付けられた取得方法を特定する。決定部104は、当該特定された取得方法を、そのユーザの取得方法として決定する。
本実施形態では、決定部104は、不正度が低いほど取得時間が短くなるように、複数のユーザの各々の取得方法を決定する。即ち、決定部104は、不正度が高いほど取得時間が長くなるように、複数のユーザの各々の取得方法を決定する。本実施形態では、総合スコアの数値が低いことは不正度が低いことを意味するので、決定部104は、あるユーザの総合スコアの数値が低いほど取得時間が短くなるように、そのユーザの取得方法を決定する。即ち、決定部104は、あるユーザの総合スコアの数値が高いほど取得時間が長くなるように、そのユーザの取得方法を決定する。
なお、総合スコアの数値が高いことが、不正度が低いことを意味する場合(総合スコアがユーザの正常性を示す場合)、決定部104は、あるユーザの総合スコアの数値が高いほど取得時間が短くなるように、そのユーザの取得方法を決定する。即ち、決定部104は、あるユーザの総合スコアの数値が低いほど取得時間が長くなるように、そのユーザの取得方法を決定する。
本実施形態では、取得される特徴量の種類が取得方法に相当するので、決定部104は、不正度が低いほど取得時間が短くなるように、複数のユーザの各々に対して特徴量の種類を決定する。図6の設定データDのように、総合スコアの数値が高いほど合計取得時間が長くなるように、特徴量セットが定義されている。決定部104は、設定データDを参照し、あるユーザの総合スコアが属するスコア範囲を特定する。決定部104は、そのスコア範囲に関連付けられた特徴量セットを特定することによって、そのユーザの取得方法を決定する。
[特徴量取得部]
特徴量取得部105は、制御部11を主として実現される。特徴量取得部105は、複数のユーザの各々の取得方法に基づいて、当該ユーザの特徴量を取得する。本実施形態では、特徴量取得部105は、複数種類の特徴量を取得可能であり、特徴量取得部105は、複数のユーザの各々に対して決定された種類の特徴量を取得する。
例えば、特徴量取得部105は、特徴量データベースDB2を参照し、取得対象の特徴量を作成する特徴量サーバ20を特定する。特徴量取得部105は、当該特定された特徴量サーバ20に対し、特徴量を作成する旨のリクエストを送信する。後述する特徴量サーバ20の特徴量作成部201は、リクエストに応じて特徴量を作成して不正検知サーバ10に送信する。特徴量取得部105は、特徴量サーバ20から特徴量を受信する。
なお、不正検知システムSに特徴量サーバ20を含めない場合には、特徴量取得部105は、後述する特徴量作成部201と同様の処理を実行して特徴量を自ら作成することによって、特徴量を取得してもよい。他にも例えば、特徴量の作成は、不正検知サーバ10の特徴量取得部105と、特徴量サーバ20の特徴量作成部201と、で分担されてもよい。
[検知部]
検知部106は、制御部11を主として実現される。検知部106は、複数のユーザの各々の特徴量に基づいて、当該ユーザの不正を検知する。特徴量に基づいて不正を検知する方法自体は、公知の種々の手法を利用可能である。例えば、不正検知用の学習モデルを利用するのであれば、検知部106は、あるユーザの特徴量を学習モデルに入力し、学習モデルから出力された不正検知の結果を取得することによって、そのユーザの不正を検知する。
本実施形態では、検知部106は、複数のユーザの各々により、第1の行動(例えば、利用登録、ログイン、又はページ遷移)よりも後の第2の行動(例えば、注文の確定又は決済の要求)が行われる場合に、当該ユーザの特徴量に基づいて、当該ユーザの不正を検知する。例えば、検知部106は、あるユーザによるリクエストが受け付けられたことに応じて、そのユーザの不正を検知する。不正検知の処理は、決済の実行の前に実行されてもよいし、決済の実行の後に実行されてもよい。
なお、本実施形態では、設定データDに定められた特徴量セットが不正検知で用いられるので、特徴量取得部105により取得される特徴量セットごとに、学習モデルを用意しておいてもよいし、複数の特徴量セットに共通の学習モデルを利用してもよい。共通の学習モデルを利用する場合、入力されるデータとして不足する特徴量については、欠損値として処理されるようにすればよい。他にも例えば、学習モデルを利用せずに、特徴量に関するルールを用意しておき、検知部106は、特徴量取得部105により取得された特徴量セットと、当該ルールと、に基づいて、ユーザの不正を検知してもよい。検知部106による検知結果は、ユーザデータベースDB1に格納される。
[制限部]
制限部107は、制御部11を主として実現される。制限部107は、複数のユーザのうち、不正が検知されたユーザの決済の実行を制限する。制限とは、決済の実行をしないことである。制限は、決済の実行の禁止を意味してもよいし、決済の実行の保留を意味してもよい。決済の実行が保留された場合には、管理者の確認により、保留された決済が許可されてもよい。この場合、制限部107は、検知部106により不正が検知されたユーザ又は注文のリストを管理者に提示する。
[3-2.特徴量サーバにおいて実現される機能]
図3に示すように、特徴量サーバ20は、データ記憶部200及び特徴量作成部201を含む。
[データ記憶部]
データ記憶部200は、記憶部22を主として実現される。データ記憶部200は、特徴量の作成に必要なデータを記憶する。例えば、データ記憶部200は、特徴量を作成するためのプログラムを記憶する。このプログラムには、特徴量の作成に必要なデータの種類と、特徴量の作成手順と、が定義されている。計算が必要な特徴量については、計算式がプログラムに定義されている。
[特徴量作成部]
特徴量作成部201は、制御部21を主として実現される。特徴量作成部201は、不正検知サーバ10からのリクエストに基づいて特徴量を作成し、不正検知サーバ10に特徴量を送信する。先述したように、特徴量の作成方法自体は、公知の種々の手法を利用可能である。特徴量作成部201は、データ記憶部200に記憶されたプログラムを実行し、不正検知サーバ10からのリクエストが示す種類の特徴量を作成する。特徴量作成部201は、不正検知サーバ10に対し、作成した特徴量を送信する。
[3-3.ユーザ端末において実現される機能]
図3に示すように、ユーザ端末30は、データ記憶部300及び要求部301を含む。
[データ記憶部]
データ記憶部300は、記憶部32を主として実現される。データ記憶部300は、ユーザがサービスを利用するために必要なデータを記憶する。例えば、データ記憶部300は、サービスを利用するためのアプリケーションを記憶する。
[要求部]
要求部301は、制御部31を主として実現される。要求部301は、ユーザの操作に基づいて、不正検知サーバ10に対し、注文を確定するためのリクエストを送信する。
[4.不正検知システムにおいて実行される処理]
次に、不正検知システムSにおいて実行される処理について説明する。本実施形態では、特徴量の取得方法を設定するための設定処理と、ユーザの不正を検知するための不正検知処理と、について説明する。
[4-1.設定処理]
図8は、設定処理の一例を示すフロー図である。図8に示す設定処理は、制御部11が記憶部12に記憶されたプログラムに従って動作することによって実行される。設定処理は、図3に示す機能ブロックにより実行される処理の一例である。設定処理は、任意のタイミングで実行可能であり、最新のリクエストの分布をもとに設定データDの内容を見直すタイミングであってもよい。
図8に示すように、不正検知サーバ10は、管理者により指定された、総合スコアごとの特徴量セットを特定する(S100)。S100においては、管理者は、不正検知サーバ10と通信可能に接続されたコンピュータを操作して、特徴量セットを指定する。例えば、このコンピュータの画面に、特徴量データベースDB2に格納された特徴量のリストが表示される。管理者は、リストの中から任意の組み合わせを指定する。本実施形態では、管理者は、特徴量の取得時間を考慮して、高スコア範囲H、中スコア範囲M、及び低スコア範囲Lの各々の特徴量セットを指定する。特徴量セットが特定されると、その特徴量セットの合計取得時間も特定される。
不正検知サーバ10は、管理者により指定された、総合スコアごとの割合を特定する(S101)。S101においては、管理者は、上記コンピュータを操作して、各スコア範囲の割合を指定する。管理者は、上記画面から、高スコア範囲H、中スコア範囲M、及び低スコア範囲Lの各々の割合を指定する。図6及び図7の例であれば、管理者は、5%、15%、及び80%といった割合を指定する。
不正検知サーバ10は、ユーザデータベースDB1に基づいて、総合スコアの値と、リクエストの数と、の関係に関する分布を作成する(S102)。S102においては、不正検知サーバ10は、ユーザデータベースDB1に含まれる購入履歴情報に基づいて、総合スコアの値ごとにリクエストの数を集計し、図7のような分布を作成する。
不正検知サーバ10は、S102で作成した分布と、特徴量データベースDB2と、に基づいて、不正検知システムS全体として、特徴量の取得時間が所定範囲になるように、スコア範囲の閾値T1,T2を決定する(S103)。S103においては、不正検知サーバ10は、管理者により指定された割合でスコア範囲が分かれるように、閾値T1,T2を決定する。
不正検知サーバ10は、S103で決定した閾値T1,T2に応じたスコア範囲と、S101で特定された特徴量セットと、を含む設定データDを記憶部12に記録することによって設定を行い(S104)、本処理は終了する。
[4-2.不正検知処理]
図9及び図10は、不正検知処理の一例を示すフロー図である。図9及び図10に示す不正検知処理は、制御部11,21,31が、それぞれ記憶部12,22,32に記憶されたプログラムに従って動作することによって実行される。不正検知処理は、図3に示す機能ブロックにより実行される処理の一例である。不正検知処理は、ユーザがサービスを利用する場合に実行される。
図9に示すように、不正検知サーバ10とユーザ端末30との間で、サービスの利用登録が実行され(S200)、不正検知サーバ10は、個別スコアと総合スコアを取得する(S201)。S200においては、ユーザデータベースDB1に新たなレコードが作成され、新たに発行されたユーザIDに関連付けて、ユーザが利用登録時に入力した情報が格納される。S201においては、不正検知サーバ10は、ユーザが利用登録時に入力した情報などに基づいて、個別スコアを取得して、個別スコアを行動履歴情報に含めてユーザデータベースDB1に格納する。不正検知サーバ10は、個別スコアに基づいて、総合スコアを取得してユーザデータベースDB1に格納する。
不正検知サーバ10とユーザ端末30との間で、サービスへのログインが実行され(S202)、不正検知サーバ10は、個別スコアと総合スコアを取得する(S203)。S202においては、不正検知サーバ10は、ユーザ端末30から受信したユーザID及びパスワードに基づいて認証を実行し、認証が成功した場合にログインを許可する。S203においては、不正検知サーバ10は、ログイン時のアクセス場所などの情報に基づいて、個別スコアを取得して、個別スコアを行動履歴情報に含めてユーザデータベースDB1に格納する。総合スコアを取得する処理は、S201と同様である。
不正検知サーバ10とユーザ端末30との間で、ページ遷移の処理が実行され(S204)、不正検知サーバ10は、個別スコアと総合スコアを取得する(S205)。S204においては、不正検知サーバ10は、ユーザ端末30から要求されたページをユーザ端末30に表示させる。S205においては、不正検知サーバ10は、ページ遷移時のアクセス場所などの情報に基づいて、個別スコアを取得して、個別スコアを行動履歴情報に含めてユーザデータベースDB1に格納する。総合スコアを取得する処理は、S201と同様である。
ユーザ端末30は、操作部34の検出信号に基づいて、注文確定をするための所定の操作が行われたか否かを判定する(S206)。この操作は、注文を確認するための画面において行われる。所定の操作が行われたと判定されない場合(S206;N)、S204の処理に戻り、ページ遷移の処理が実行される。一方、所定の操作が行われたと判定された場合(S206;Y)、ユーザ端末30は、不正検知サーバ10に対し、注文確定のリクエストを送信する(S207)。
不正検知サーバ10は、注文確定のリクエストを受信すると(S208)、記憶部12に記憶された設定データDと、ユーザデータベースDB1に格納された現在の総合スコアと、に基づいて、特徴量の取得方法を決定する(S209)。S209においては、不正検知サーバ10は、S205で取得した総合スコアが属するスコア範囲の特徴量セットを特定する。
不正検知サーバ10は、特徴量データベースDB2に基づいて、S209で特定された特徴量セットに含まれる特徴量を作成する特徴量サーバ20に対し、特徴量を取得するためのリクエストを送信する(S210)。S210においては、不正検知サーバ10は、特徴量データベースDB2を参照し、リクエストを送信すべき特徴量サーバ20を特定する。リクエストには、作成対象の特徴量の種類が含まれているものとする。特徴量の作成に何らかの情報が必要な場合には、その情報もリクエストに含まれるものとする。不正検知サーバ10は、特徴量セットを取得するために複数の特徴量サーバ20が必要であれば、複数の特徴量サーバ20の各々にリクエストを送信する。
特徴量サーバ20は、特徴量取得のリクエストを受信すると(S211)、図10に移り、リクエストに応じた特徴量を作成して不正検知サーバ10に送信する(S212)。S212においては、特徴量セットを作成するために複数の特徴量サーバ20が必要であれば、複数の特徴量サーバ20の各々が特徴量を並列して作成する。
不正検知サーバ10は、特徴量を受信すると(S213)、受信した特徴量に基づいて、ユーザの不正を検知したか否かを判定する(S214)。S214においては、不正検知サーバ10は、不正検知用の学習モデルに対し、S213で受信した特徴量を入力する。不正検知サーバ10は、学習モデルから出力された結果を取得する。
ユーザの不正を検知したと判定された場合(S214;Y)、不正検知サーバ10は、注文確定のリクエストに対応する決済処理の実行を制限し(S215)、本処理は終了する。一方、ユーザの不正を検知したと判定されない場合(S214;N)、不正検知サーバ10は、注文確定のリクエストに対応する決済処理を実行し(S216)、本処理は終了する。
本実施形態の不正検知システムSによれば、複数のユーザの各々の総合スコアに基づいて、不正度が低いほど特徴量の取得時間が短くなるように、当該ユーザの特徴量の取得方法を決定することによって、不正検知システムS全体として、不正検知に要する時間を短くすることができる。例えば、総合スコアが比較的低いユーザについては、特徴量の取得時間が短くなるので、ユーザの注文確定を迅速に実行できる。その結果、サービスレベルアグリーメントを満たしやすくなり、ユーザの利便性も向上する。更に、このユーザについては、不必要な特徴量が取得されないので、不正検知サーバ10及び特徴量サーバ20の各々の処理負荷を軽減できる。更に、ネットワークN上に不必要な特徴量が送信されないので、通信負荷を軽減できる。一方、総合スコアが比較的高いユーザについては、特徴量の取得時間が長くなるので、より精度の高い不正検知をすることができる。その結果、不正検知システムSのセキュリティを高めることができる。
また、不正検知システムSは、複数のユーザの各々の総合スコアと、複数のユーザの各々からのリクエストの数と、に基づいて、不正度が低いほど取得時間が短くなり、かつ、全体としての取得時間が所定範囲に収まるように、取得方法に関する設定を行うことによって、実際のリクエストの数を考慮し、不正検知システムSの実際の状況に合うように不正検知に要する時間を短くすることができる。その結果、より効果的に、不正検知サーバ10及び特徴量サーバ20の各々の処理負荷の軽減、通信負荷の軽減、及びセキュリティの向上を実現できる。
また、不正検知システムSは、総合スコアごとに合計取得時間を決定し、当該決定された合計取得時間に基づいて、設定データDの設定を行うことによって、特徴量の取得時間をより正確に考慮することができ、より確実に、不正検知に要する時間を短くすることができる。その結果、より効果的に、不正検知サーバ10及び特徴量サーバ20の各々の処理負荷の軽減、通信負荷の軽減、及びセキュリティの向上を実現できる。
また、不正検知システムSは、総合スコアとリクエストの数との関係に関する分布を作成し、当該作成された分布に基づいて、設定を行うことによって、不正検知システムSの実際のリクエストの数を考慮して、不正検知システムSの実際の状況に合うように不正検知に要する時間を短くすることができる。その結果、より効果的に、不正検知サーバ10及び特徴量サーバ20の各々の処理負荷の軽減、通信負荷の軽減、及びセキュリティの向上を実現できる。
また、不正検知システムSは、複数のユーザの各々による複数の行動の各々に基づいて、当該ユーザによる当該行動の不正度に関する個別スコアを取得し、複数のユーザの各々の個別スコアに基づいて、当該ユーザの総合的な不正度に関する総合スコアを取得することによって、より簡易な指標である総合スコアを利用して、特徴量の取得方法を迅速に決定できる。
また、不正検知システムSは、不正度が低いほど取得時間が短くなるように、複数のユーザの各々に対して特徴量の種類を決定することによって、必要な種類の特徴量だけを取得できる。その結果、より効果的に、不正検知に要する時間の短縮、不正検知サーバ10及び特徴量サーバ20の各々の処理負荷の軽減、通信負荷の軽減、及びセキュリティの向上を実現できる。
また、不正検知システムSは、複数のユーザの各々により、利用登録などの行動よりも後に、不正検知ポイントにおける注文の確定が行われる場合に、当該ユーザの特徴量に基づいて、当該ユーザの不正を検知することによって、不正検知ポイントにおける不正検知に要する時間を短くすることができる。その結果、注文の確定に時間がかかり、ユーザの利便性が低下することを防止できる。
また、不正検知システムSでは、複数のユーザのうち、不正が検知されたユーザの決済の実行を制限することによって、不正な決済の実行を防止して、不正検知システムSのセキュリティを向上させることができる。
[5.変形例]
なお、本開示は、以上に説明した実施形態に限定されるものではない。本開示の趣旨を逸脱しない範囲で、適宜変更可能である。
(1)例えば、スコア取得部103は、複数のユーザの各々の個別スコアを変数とする決定木に基づいて、当該ユーザの総合スコアを取得してもよい。決定木は、複数の個別スコアから総合スコアを求めるための条件分岐を含む。例えば、決定木は、その内部の節点が変数に対応し、子の節点への枝は、その変数の取り得る値を示す。決定木自体は、公知の種々の決定木を利用可能であり、例えば、ID3(Iterative Dichotomiser 3)又はCART(Classification and Regression Trees)といった決定木学習アルゴリズムが利用されてもよい。
図11は、変形例(1)の決定木の一例を示す図である。図11では、決定木の節点を菱形で示す。スコア取得部103は、最上位の節点から順番に、個別スコアを変数としてどの枝に進むかを判定する。図11の例であれば、スコア取得部103は、ログイン時に取得された個別スコアが5ポイント以上であれば、利用登録時の個別スコアの節点に進み、ログイン時に取得された個別スコアが5ポイント未満であれば、1回前のページ遷移時の個別スコアの節点に進む。
決定木の最下層には、総合スコアの値が定義されている。スコア取得部103は、決定木の最下層に至るまで、個々の節点の条件を判定する。スコア取得部103は、あるユーザの複数の個別スコアに基づいて、決定木の各節点を進む。スコア取得部103は、決定木の最下層に至った場合に、当該最下層が示す総合スコアを取得する。総合スコアが取得された後の処理は、実施形態で説明した通りである。決定木は、図11の例に限られず、変数として個別スコアが定められていればよい。
変形例(1)によれば、複数のユーザの各々の個別スコアを変数とする決定木に基づいて、当該ユーザの総合スコアを取得することによって、総合スコアを取得する処理を簡略化し、より高速に総合スコアを取得できる。その結果、不正検知サーバ10の処理負荷を軽減できる。
(2)また例えば、特徴量が同時並行で作成される場合、特徴量取得部105は、複数のユーザの各々に対して決定された種類の特徴量と、当該種類よりも取得時間が短い種類の特徴量と、を取得してもよい。図6のデータ格納例であれば、特徴量取得部105は、高スコア範囲Hの特徴量セットとして、取得時間が「500ms」以下の全種類の特徴量を取得対象としてもよい。同様に、特徴量取得部105は、中スコア範囲M又は低スコア範囲Lの特徴量セットとして、取得時間が「100ms」又は「50ms」以下の全種類の特徴量を取得対象としてもよい。なお、全種類の特徴量ではなく、取得時間が短い一部の種類の特徴量が取得されてもよい。
変形例(2)によれば、複数のユーザの各々に対して決定された種類の特徴量と、当該種類よりも取得時間が短い種類の特徴量と、を取得することによって、限られた取得時間の中でより多くの特徴量を取得し、不正検知の精度を高めることができる。
(3)また例えば、決定部104は、不正検知において重要な前記特徴量が取得されるように、かつ、不正度が低いほど取得時間が短くなるように、複数のユーザの各々の取得方法を決定してもよい。特徴量の重要性は、不正検知の判定における特徴量の影響である。特徴量が重要であるほど、その値が変化したときに不正検知の判定結果が変化しやすい。本変形例では、特徴量の重要性を示す指標である重要性指標が特徴量データベースDB2に定義されているものとする。
図12は、変形例(3)における特徴量データベースDB2のデータ格納例を示す図である。図12に示すように、特徴量データベースDB2には、複数種類の特徴量の各々の重要性指標が示されている。重要性指標を取得する方法自体は、公知の種々の手法を利用可能である。例えば、Permutation Importanceを利用して計測された重要性指標が用いられてもよい。また例えば、管理者によって重要性指標が指定されてもよい。
例えば、特徴量をf_iとし、特徴量f_iの重要性指標をI_iとし、特徴量f_iの取得に要する取得時間をt_i(t_1<t_2<・・・<t_N)とする。iは、取得対象の特徴量を識別する数値であり、Nは最大の取得時間を識別する数値である。本変形例では、1番目の特徴量f_1からi番目の特徴量f_iまでが含まれる特徴量セットS_iの特徴量の取得効率R(S_i)が、「(I_1+・・・+I_i)/t_i」の計算式で計算される。
サービスレベルアグリーメントを満たしたうえで、取得効率R(S_i)の平均値が最適になるような特徴量セットS_iが、総合スコアごとに定められていてもよい。決定部104は、このように定められた特徴量セットS_iを、取得対象として決定する。計算効率R(S_i)を考慮することによって、特徴量の計算効率を最大化できる。
なお、特徴量の重要性を考慮した設定方法は、上記の例に限られない。例えば、最大取得時間内に収まる範囲内で、図12に示す重要性指標が高い順にできる限りの特徴量が選択され、特徴量セットとして設定データDに示されてもよい。
変形例(3)によれば、不正検知において重要な前記特徴量が取得されるように、かつ、不正度が低いほど取得時間が短くなるように、複数のユーザの各々の取得方法を決定することによって、不正検知に要する時間を短くしつつ、不正検知の精度を担保できる。
(4)また例えば、決定部104が決定する取得方法は、実施形態の例に限られない。決定部104は、取得対象の特徴量の種類を決定するのではなく、特徴量の取得に許容される制限時間を取得方法として決定してもよい。実施形態のように、複数種類の特徴量が並列で作成されてもよいが、本変形例では、複数種類の特徴量が所定の順序で作成されるものとする。
制限時間は、特徴量の取得を締め切る時間ということもできる。決定部104は、不正度が低いほど制限時間が短くなるように、複数のユーザの各々の制限時間を決定する。特徴量取得部105は、複数のユーザの各々の制限時間に基づいて、当該ユーザの特徴量を取得する。特徴量取得部105は、制限時間の中で作成が完了した特徴量だけを取得する。それ以降に作成が完了した特徴量は取得されない。
なお、本変形例においても実施形態と同様、一部の種類の特徴量が取得対象となり、検知部106は、一部の種類の中で、制限時間内に取得された特徴量だけで不正検知を実行してもよい。また、全種類の特徴量が取得対象となり、検知部106は、全種類の中で、制限時間内に取得された特徴量だけで不正検知を実行してもよい。
変形例(4)によれば、不正度が低いほど制限時間が短くなるように、複数のユーザの各々の制限時間を決定することによって、不正検知に要する時間を短くすることができる。その結果、不正検知サーバ10及び特徴量サーバ20の処理負荷等を軽減できる点については、実施形態で説明した通りである。また、制限時間を設けることで、サービスレベルアグリーメントをより確実に見たすことができる。
(5)また例えば、上記変形例を組み合わせてもよい。
また例えば、管理者が特徴量セットを指定する場合には、重要な特徴量が含まれるように指定すると考えられるが、不正検知サーバ10が自動的に特徴量を選択する場合には、特徴量が非常に少なくなったり、重要な特徴量が選択されなかったりする可能性がある。この場合、不正検知の精度が担保できない可能性がある。特に、不正検知用の学習モデルとして、複数の特徴量セットに共通の学習モデルを利用し、不足する特徴量を欠損させる場合、入力される特徴量が少ないと欠損値が多くなり、不正検知の精度が担保できないことがある。
そこで、不正検知サーバ10は、複数の特徴量セットの各々を学習モデルに入力した場合に得られる不正検知の精度を予め評価してもよい。不正検知サーバ10は、所定の精度を担保するのに少なくとも必要な特徴量の種類及び数の少なくとも一方を特定し、当該特定された種類及び数の少なくとも一方の特徴量が少なくとも含まれるような特徴量セットを選択してもよい。更に、重要な特徴量は、状況に応じて変化する可能性があるので、不正検知の精度を担保するのに必要な特徴量を評価する処理を、所定期間(例えば、1ヶ月)ごとに繰り返し実行してもよい。また例えば、リクエストの数の集計などが行われずに、管理者が設定データDの内容を全て指定してもよい。
また例えば、主な機能が不正検知サーバ10で実現される場合を説明したが、各機能は、複数のコンピュータで分担されてもよい。例えば、不正検知サーバ10、特徴量サーバ20、及びユーザ端末30の各々で機能が分担されてもよい。また例えば、不正検知システムSが複数のサーバコンピュータを含む場合には、これら複数のサーバコンピュータで機能が分担されてもよい。また例えば、データ記憶部100で記憶されるものとして説明したデータは、不正検知サーバ10以外のコンピュータによって記憶されてもよい。

Claims (16)

  1. 複数のユーザの各々による行動に基づいて、当該ユーザの不正度に関するスコアを取得するスコア取得手段と、
    前記複数のユーザの各々の前記スコアに基づいて、前記不正度が低いほど特徴量の取得時間が短くなるように、当該ユーザの前記特徴量の取得方法を決定する決定手段と、
    前記複数のユーザの各々の前記取得方法に基づいて、当該ユーザの前記特徴量を取得する特徴量取得手段と、
    前記複数のユーザの各々の前記特徴量に基づいて、当該ユーザの不正を検知する検知手段と、
    を含む不正検知システム。
  2. 前記決定手段は、前記複数のユーザの各々の前記スコアに基づいて、前記不正度が低いほど、当該ユーザの行動に関する特徴量を含む複数の特徴量の取得時間が短くなるように、当該ユーザの前記複数の特徴量の取得方法を決定し、
    前記特徴量取得手段は、前記複数のユーザの各々の前記取得方法に基づいて、当該ユーザの前記複数の特徴量を取得し、
    前記検知手段は、前記複数のユーザの各々の前記複数の特徴量に基づいて、当該ユーザの不正を検知する、
    請求項1に記載の不正検知システム。
  3. 前記複数のユーザの各々は、所定のサービスにログイン済みである、
    請求項1又は2に記載の不正検知システム。
  4. 前記不正検知システムは、
    前記複数のユーザの各々からのリクエストを受け付ける受付手段と、
    前記複数のユーザの各々の前記スコアと、前記複数のユーザの各々からの前記リクエストの数と、に基づいて、前記不正度が低いほど前記取得時間が短くなり、かつ、全体としての前記取得時間が所定範囲に収まるように、前記取得方法に関する設定を行う設定手段と、
    を更に含み、
    前記決定手段は、前記複数のユーザの各々の前記スコアと、前記設定と、に基づいて、当該ユーザの前記取得方法を決定する、
    請求項1~3の何れかに記載の不正検知システム。
  5. 前記設定手段は、前記スコアごとに前記取得時間に関する長さを決定し、当該決定された長さに基づいて、前記設定を行う、
    請求項4に記載の不正検知システム。
  6. 前記設定手段は、前記スコアと前記リクエストの数との関係に関する分布を作成し、当該作成された分布に基づいて、前記設定を行う、
    請求項4又は5に記載の不正検知システム。
  7. 前記スコア取得手段は、
    前記複数のユーザの各々による複数の前記行動の各々に基づいて、当該ユーザによる当該行動の不正度に関する個別スコアを取得し、
    前記複数のユーザの各々の前記個別スコアに基づいて、当該ユーザの総合的な不正度に関する総合スコアを取得し、
    前記決定手段は、前記総合スコアの前記不正度が低いほど前記取得時間が短くなるように、前記複数のユーザの各々の前記取得方法を決定する、
    請求項1~6の何れかに記載の不正検知システム。
  8. 前記スコア取得手段は、前記複数のユーザの各々の前記個別スコアを変数とする決定木に更に基づいて、当該ユーザの前記総合スコアを取得する、
    請求項7に記載の不正検知システム。
  9. 前記特徴量取得手段は、複数種類の前記特徴量を取得可能であり、
    前記取得方法は、取得される前記特徴量の種類であり、
    前記決定手段は、前記不正度が低いほど前記取得時間が短くなるように、前記複数のユーザの各々に対して前記特徴量の種類を決定し、
    前記特徴量取得手段は、前記複数のユーザの各々に対して決定された種類の前記特徴量を取得する、
    請求項1~8の何れかに記載の不正検知システム。
  10. 前記複数種類の特徴量の各々は、互いに並列して取得可能であり、
    前記特徴量取得手段は、前記複数のユーザの各々に対して決定された種類の前記特徴量と、当該種類よりも前記取得時間が短い種類の前記特徴量と、を取得する、
    請求項9に記載の不正検知システム。
  11. 前記決定手段は、不正検知において重要な前記特徴量が取得されるように、かつ、前記不正度が低いほど前記取得時間が短くなるように、前記複数のユーザの各々の前記取得方法を決定する、
    請求項1~10の何れかに記載の不正検知システム。
  12. 前記特徴量取得手段は、複数種類の前記特徴量を取得可能であり、
    前記取得方法は、前記特徴量の取得に許容される制限時間であり、
    前記決定手段は、前記不正度が低いほど前記制限時間が短くなるように、前記複数のユーザの各々の前記制限時間を決定し、
    前記特徴量取得手段は、前記複数のユーザの各々の前記制限時間に基づいて、当該ユーザの前記特徴量を取得する、
    請求項1~11の何れかに記載の不正検知システム。
  13. 前記スコア取得手段は、前記複数のユーザの各々による第1の行動に基づいて、当該ユーザの前記スコアを取得し、
    前記検知手段は、前記複数のユーザの各々により、前記第1の行動よりも後の第2の行動が行われる場合に、当該ユーザの前記特徴量に基づいて、当該ユーザの不正を検知する、
    請求項1~12の何れかに記載の不正検知システム。
  14. 前記第1の行動は、決済の要求に至るまでの行動であり、
    前記第2の行動は、前記決済の要求であり、
    前記不正検知システムは、前記複数のユーザのうち、不正が検知されたユーザの前記決済の実行を制限する制限手段、
    を更に含む請求項13に記載の不正検知システム。
  15. コンピュータが、
    複数のユーザの各々による行動に基づいて、当該ユーザの不正度に関するスコアを取得するスコア取得ステップと、
    前記複数のユーザの各々の前記スコアに基づいて、前記不正度が低いほど特徴量の取得時間が短くなるように、当該ユーザの前記特徴量の取得方法を決定する決定ステップと、
    前記複数のユーザの各々の前記取得方法に基づいて、当該ユーザの前記特徴量を取得する特徴量取得ステップと、
    前記複数のユーザの各々の前記特徴量に基づいて、当該ユーザの不正を検知する検知ステップと、
    実行する不正検知方法。
  16. 複数のユーザの各々による行動に基づいて、当該ユーザの不正度に関するスコアを取得するスコア取得手段、
    前記複数のユーザの各々の前記スコアに基づいて、前記不正度が低いほど特徴量の取得時間が短くなるように、当該ユーザの前記特徴量の取得方法を決定する決定手段、
    前記複数のユーザの各々の前記取得方法に基づいて、当該ユーザの前記特徴量を取得する特徴量取得手段、
    前記複数のユーザの各々の前記特徴量に基づいて、当該ユーザの不正を検知する検知手段、
    としてコンピュータを機能させるためのプログラム。
JP2021548152A 2020-09-29 2020-09-29 不正検知システム、不正検知方法、及びプログラム Active JP6997913B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/037003 WO2022070277A1 (ja) 2020-09-29 2020-09-29 不正検知システム、不正検知方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP6997913B1 true JP6997913B1 (ja) 2022-01-18
JPWO2022070277A1 JPWO2022070277A1 (ja) 2022-04-07

Family

ID=80469057

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021548152A Active JP6997913B1 (ja) 2020-09-29 2020-09-29 不正検知システム、不正検知方法、及びプログラム

Country Status (5)

Country Link
US (1) US20220309510A1 (ja)
EP (1) EP4006759A4 (ja)
JP (1) JP6997913B1 (ja)
TW (1) TWI798719B (ja)
WO (1) WO2022070277A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003248661A (ja) * 2002-02-25 2003-09-05 Sony Corp 認証処理装置および認証処理方法、情報処理装置および情報処理方法、認証処理システム、記録媒体、並びにプログラム
JP2006260201A (ja) * 2005-03-17 2006-09-28 Hitachi Ltd 分散認証システム及び通信制御装置
WO2010044288A1 (ja) * 2008-10-17 2010-04-22 株式会社インテリジェントウェイブ クレジットカードの決済承認システム
JP2019185595A (ja) * 2018-04-16 2019-10-24 ヤフー株式会社 情報処理装置、情報処理方法、情報処理プログラム、判定装置、判定方法及び判定プログラム

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050076230A1 (en) * 2003-10-02 2005-04-07 George Redenbaugh Fraud tracking cookie
US20070133768A1 (en) * 2005-12-12 2007-06-14 Sapphire Mobile Systems, Inc. Fraud detection for use in payment processing
CN101379501A (zh) * 2005-12-20 2009-03-04 罗纳德·罗森伯格 用于交易网络的方法、交易卡或识别系统
US10242540B2 (en) * 2009-09-02 2019-03-26 Fair Isaac Corporation Visualization for payment card transaction fraud analysis
US9070146B2 (en) * 2010-02-04 2015-06-30 Playspan Inc. Method and system for authenticating online transactions
US8660954B2 (en) * 2010-05-03 2014-02-25 Fundacao CPQD—Centro de Pesquisa E Desenvolvimento em Telecommuncacoes Fraud and events integrated management method and system
US20120158540A1 (en) * 2010-12-16 2012-06-21 Verizon Patent And Licensing, Inc. Flagging suspect transactions based on selective application and analysis of rules
US20130024375A1 (en) * 2011-07-21 2013-01-24 Bank Of America Corporation Multi-stage filtering for fraud detection
US9135467B2 (en) * 2012-05-24 2015-09-15 Offerpop Corporation Fraud prevention in online systems
MY196507A (en) * 2013-03-15 2023-04-18 Socure Inc Risk Assessment Using Social Networking Data
US9308306B2 (en) * 2014-02-24 2016-04-12 Fresenius Medical Care Holdings, Inc. Self calibrating blood chamber
WO2016004227A1 (en) * 2014-07-02 2016-01-07 Blackhawk Network, Inc. Systems and methods for dynamically detecting and preventing consumer fraud
US10204374B1 (en) * 2015-06-15 2019-02-12 Amazon Technologies, Inc. Parallel fraud check
US20170235792A1 (en) * 2016-02-17 2017-08-17 Www.Trustscience.Com Inc. Searching for entities based on trust score and geography
JP6204637B1 (ja) * 2016-11-09 2017-09-27 楽天株式会社 情報処理装置、情報処理方法、プログラム、記憶媒体
US20180365696A1 (en) * 2017-06-19 2018-12-20 Nec Laboratories America, Inc. Financial fraud detection using user group behavior analysis
JP6510153B1 (ja) 2017-09-05 2019-05-08 楽天株式会社 推定システム、推定方法及びプログラム
US20190188799A1 (en) * 2017-12-14 2019-06-20 Cognizant Technology Solutions India Pvt. Ltd System and method for managing risks and reducing costs for insurance companies
US20200118136A1 (en) * 2018-10-16 2020-04-16 Mastercard International Incorporated Systems and methods for monitoring machine learning systems
US11663602B2 (en) * 2019-05-15 2023-05-30 Jpmorgan Chase Bank, N.A. Method and apparatus for real-time fraud machine learning model execution module
US20210012346A1 (en) * 2019-07-10 2021-01-14 Capital One Services, Llc Relation-based systems and methods for fraud detection and evaluation
US11580339B2 (en) * 2019-11-13 2023-02-14 Oracle International Corporation Artificial intelligence based fraud detection system
TWM596920U (zh) * 2019-12-06 2020-06-11 臺灣銀行股份有限公司 防制交易詐騙的即時放行及警示系統

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003248661A (ja) * 2002-02-25 2003-09-05 Sony Corp 認証処理装置および認証処理方法、情報処理装置および情報処理方法、認証処理システム、記録媒体、並びにプログラム
JP2006260201A (ja) * 2005-03-17 2006-09-28 Hitachi Ltd 分散認証システム及び通信制御装置
WO2010044288A1 (ja) * 2008-10-17 2010-04-22 株式会社インテリジェントウェイブ クレジットカードの決済承認システム
JP2019185595A (ja) * 2018-04-16 2019-10-24 ヤフー株式会社 情報処理装置、情報処理方法、情報処理プログラム、判定装置、判定方法及び判定プログラム

Also Published As

Publication number Publication date
JPWO2022070277A1 (ja) 2022-04-07
US20220309510A1 (en) 2022-09-29
TW202213181A (zh) 2022-04-01
EP4006759A1 (en) 2022-06-01
WO2022070277A1 (ja) 2022-04-07
TWI798719B (zh) 2023-04-11
EP4006759A4 (en) 2022-06-01

Similar Documents

Publication Publication Date Title
AU2021200523B2 (en) Systems and methods for dynamically detecting and preventing consumer fraud
US9348896B2 (en) Dynamic network analytics system
JP5793629B2 (ja) 不正リスクアドバイザー
JP7254701B2 (ja) ブロックチェーン上に格納されたユーザ関連データを生成し及び抽出するコンピュータにより実装されるシステム及び方法
US20130339186A1 (en) Identifying Fraudulent Users Based on Relational Information
US20220414671A1 (en) Systems and methods of providing security in an electronic network
JP6204637B1 (ja) 情報処理装置、情報処理方法、プログラム、記憶媒体
JP2009535692A (ja) 不正分析用スマートクッキー
JP2010515175A (ja) ユーザのインタラクションに関する分析による不正行為探知
Feng et al. Vulnerabilities and countermeasures in context-aware social rating services
US11823197B2 (en) Authenticating based on user behavioral transaction patterns
US20230259565A1 (en) System and method for facilitating presentation modification of a user interface
JP7015927B2 (ja) 学習モデル適用システム、学習モデル適用方法、及びプログラム
JP6997913B1 (ja) 不正検知システム、不正検知方法、及びプログラム
KR101505947B1 (ko) 금융상품의 벤치마크정보 생성서버 및 생성방법
JP7238214B1 (ja) 不正検知システム、不正検知方法、及びプログラム
JP2020098491A (ja) 注文決済装置、コンピュータプログラム及び注文決済方法
JP7165840B1 (ja) 不正検知システム、不正検知方法、及びプログラム
JP7165841B1 (ja) 不正検知システム、不正検知方法、及びプログラム
US20230237571A1 (en) Risk Analysis System for Cold Restore Requests for Digital Wallets
US20230237467A1 (en) Risk Analysis System for Cold Restore Requests for Digital Wallets
CN109409897A (zh) 一种风险管控方法及装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210817

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210817

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210817

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211026

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211126

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: 20211214

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211217

R150 Certificate of patent or registration of utility model

Ref document number: 6997913

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150