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

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

Info

Publication number
JPWO2021130991A1
JPWO2021130991A1 JP2020539110A JP2020539110A JPWO2021130991A1 JP WO2021130991 A1 JPWO2021130991 A1 JP WO2021130991A1 JP 2020539110 A JP2020539110 A JP 2020539110A JP 2020539110 A JP2020539110 A JP 2020539110A JP WO2021130991 A1 JPWO2021130991 A1 JP WO2021130991A1
Authority
JP
Japan
Prior art keywords
fraud
degree
user
accuracy
fraudulent
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.)
Granted
Application number
JP2020539110A
Other languages
English (en)
Other versions
JP6933780B1 (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 JP6933780B1 publication Critical patent/JP6933780B1/ja
Publication of JPWO2021130991A1 publication Critical patent/JPWO2021130991A1/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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/316User authentication by observing the pattern of computer usage, e.g. typical user behaviour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • G06F16/355Class or cluster creation or modification
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Social Psychology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)
  • Communication Control (AREA)

Abstract

不正検知システム(S)の不正度計算手段(101)は、サービスを利用するユーザの行動に基づいて、ユーザの不正度を計算する。確定結果取得手段(102)は、行動が実際に不正であるか否かの確定結果を取得する。精度計算手段(103)は、不正度と確定結果とに基づいて、ユーザごとの不正検知の精度を計算する。

Description

本発明は、不正検知システム、不正検知方法、及びプログラムに関する。
従来、サービスを利用するユーザの行動を解析し、ユーザの不正を検知する技術が知られている。例えば、特許文献1には、ユーザの就寝時刻や起床時刻といった行動履歴の情報を継続的に取得し、当該取得した行動履歴の情報と、ユーザのライフスタイル、性格、及び嗜好といったパラメータと、に基づいて、ユーザの不正度(信用スコア)を計算するシステムが記載されている。
特許第6514813号公報
しかしながら、不正度の計算の精度には限界があり、例えば、ユーザの不正度が高かったとしても、そのユーザが実際には不正をしていないことがある。逆に、ユーザの不正度が低かったとしても、そのユーザが実際には不正をしていることもある。特許文献1の技術では、システムが計算した不正度と、実際に不正であるか否かの確定結果と、の違いについて何ら記載されておらず、ユーザごとの不正検知の精度を計算することができない。
本発明は上記課題に鑑みてなされたものであって、その目的は、ユーザごとの不正検知の精度を計算可能な不正検知システム、不正検知方法、及びプログラムを提供することである。
上記課題を解決するために、本発明の一態様に係る不正検知システムは、サービスを利用するユーザの行動に基づいて、前記ユーザの不正度を計算する不正度計算手段と、前記行動が実際に不正であるか否かの確定結果を取得する確定結果取得手段と、前記不正度と前記確定結果とに基づいて、前記ユーザごとの不正検知の精度を計算する精度計算手段と、を含む。
本発明の一態様に係る不正検知方法は、サービスを利用するユーザの行動に基づいて、前記ユーザの不正度を計算する不正度計算ステップと、前記行動が実際に不正であるか否かの確定結果を取得する確定結果取得ステップと、前記不正度と前記確定結果とに基づいて、前記ユーザごとの不正検知の精度を計算する精度計算ステップと、を含む。
本発明の一態様に係るプログラムは、サービスを利用するユーザの行動に基づいて、前記ユーザの不正度を計算する不正度計算手段、前記行動が実際に不正であるか否かの確定結果を取得する確定結果取得手段、前記不正度と前記確定結果とに基づいて、前記ユーザごとの不正検知の精度を計算する精度計算手段、としてコンピュータを機能させる。
本発明の一態様によれば、前記不正度計算手段は、複数の前記行動の各々に基づいて、各行動の前記不正度を計算し、前記確定結果取得手段は、各行動が実際に不正であるか否かの確定結果を取得し、前記精度計算手段は、各行動の前記不正度と前記確定結果とに基づいて、前記精度を計算する。
本発明の一態様によれば、前記不正度計算手段は、前記確定結果取得手段により取得された前記確定結果が示す、実際に不正であるか否かが確定した行動が予め学習された学習モデルに基づいて、不正であるか否かが確定していない行動の前記不正度を計算する。
本発明の一態様によれば、前記精度計算手段は、前記不正度と前記確定結果とに基づいて、所定の損失関数の値を計算し、前記精度として取得する。
本発明の一態様によれば、前記損失関数は、偽陰性が前記精度に与える影響が大きくなるように、係数が定められている。
本発明の一態様によれば、前記不正度計算手段は、実際に不正であるか否かが確定した他のユーザの行動が前記ユーザにより行われたと仮定して、前記不正度を計算し、前記確定結果取得手段は、前記他のユーザの行動の確定結果を取得し、前記ユーザにより行われたと仮定した行動の前記不正度と、前記他のユーザの行動の確定結果と、に基づいて、前記精度を計算する。
本発明の一態様によれば、前記不正度計算手段は、過去に行われた行動に基づく前記不正度と、当該行動が実際に不正であったか否かの確定結果と、に基づいて、前記不正度の計算における重み付け係数を決定し、当該決定された重み付け係数に基づいて、前記不正度を計算する。
本発明の一態様によれば、前記不正度計算手段は、前記ユーザの認証方法と、前記ユーザの名義人と、の少なくとも一方に更に基づいて、前記不正度を計算する。
本発明の一態様によれば、前記不正検知システムは、前記精度に応じた処理を実行する実行手段、を更に含む。
本発明の一態様によれば、前記処理は、前記不正度計算手段により計算される前記不正度の値を変更する処理である。
本発明の一態様によれば、前記処理は、前記サービスに関するクーポンを前記ユーザに付与する処理である。
本発明によれば、ユーザごとの不正検知の精度を計算することができる。
不正検知システムの全体構成を示す図である。 不正度の計算方法の概要を示す図である。 不正検知システムで実現される機能の一例を示す機能ブロック図である。 ユーザデータベースのデータ格納例を示す図である。 行動履歴データベースのデータ格納例を示す図である。 精度データベースのデータ格納例を示す図である。 サービス利用処理の一例を示すフロー図である。 精度計算処理の一例を示すフロー図である。 変形例(2)における不正度の計算方法を示す図である。 変形例(3)の概要を示す図である。
[1.不正検知システムの全体構成]
以下、本発明の一態様に係る不正検知システムの実施形態の例を説明する。図1は、不正検知システムの全体構成を示す図である。図1に示すように、不正検知システムSは、サーバ10とユーザ端末20を含み、これらは、インターネットなどのネットワークNに接続可能である。なお、図1では、サーバ10とユーザ端末20の各々を1台ずつ示しているが、これらは複数台あってもよい。
サーバ10は、サーバコンピュータである。サーバ10は、制御部11、記憶部12、及び通信部13を含む。制御部11は、少なくとも1つのプロセッサを含む。制御部11は、記憶部12に記憶されたプログラムやデータに従って処理を実行する。記憶部12は、主記憶部及び補助記憶部を含む。例えば、主記憶部はRAMなどの揮発性メモリであり、補助記憶部は、ROM、EEPROM、フラッシュメモリ、又はハードディスクなどの不揮発性メモリである。通信部13は、有線通信又は無線通信用の通信インタフェースであり、ネットワークNを介してデータ通信を行う。
ユーザ端末20は、ユーザが操作するコンピュータである。例えば、ユーザ端末20は、携帯電話機(スマートフォンを含む)、携帯情報端末(タブレット型コンピュータを含む)、又はパーソナルコンピュータ等である。本実施形態では、ユーザ端末20は、制御部21、記憶部22、通信部23、操作部24、及び表示部25を含む。制御部21、記憶部22、及び通信部23の物理的構成は、それぞれ制御部11、記憶部12、及び通信部13と同様であってよい。
操作部24は、入力デバイスであり、例えば、タッチパネルやマウス等のポインティングデバイス、キーボード、又はボタン等である。操作部24は、ユーザによる操作内容を制御部21に伝達する。表示部25は、例えば、液晶表示部又は有機EL表示部等である。表示部25は、制御部21の指示に従って画像を表示する。
なお、記憶部12,22に記憶されるものとして説明するプログラム及びデータは、ネットワークNを介して供給されるようにしてもよい。また、上記説明した各コンピュータのハードウェア構成は、上記の例に限られず、種々のハードウェアを適用可能である。例えば、コンピュータ読み取り可能な情報記憶媒体を読み取る読取部(例えば、光ディスクドライブやメモリカードスロット)や外部機器とデータの入出力をするための入出力部(例えば、USBポート)が含まれていてもよい。例えば、情報記憶媒体に記憶されたプログラムやデータが読取部や入出力部を介して供給されるようにしてもよい。
[2.不正検知システムの概要]
本実施形態では、サーバ10が、ニュースや動画などのサービスに関するウェブサイトをユーザに提供し、ウェブサイトにアクセスすることによって当該サービスを利用したユーザの行動を分析する場面を例に挙げて、不正検知システムSの処理を説明する。例えば、サーバ10は、ユーザがウェブサイトにアクセスしたときの行動の履歴を記憶する。サーバ10は、ユーザごとに、行動の不正度を計算する。
不正度は、不正の度合いを示す情報である。別の言い方をすれば、不正度は、不正の疑いの高さを示す情報である。本実施形態では、確率(パーセンテージ)によって不正度が表現される場合を説明するが、不正度は、他の指標によって表現されてもよい。例えば、不正度は、確率以外の数値であるスコアによって表現されてもよいし、Sランク・Aランク・Bランクといった文字によって表現されてもよい。不正度が数値によって表現される場合には、数値が高いほど不正の度合いが高いことを意味する。不正度が文字によって表現される場合には、個々の文字に不正の順位が定められているものとする。
図2は、不正度の計算方法の概要を示す図である。図2の例では、現時点が2019年11月30日であり、2019年におけるユーザA及びユーザBの各々がサービスを利用した日付が示されている。本実施形態では、サービスが利用された後に、所定の確定タイミングが訪れると、サービス利用時の行動が実際に不正であるか否か(不正であるか正常であるか)が確定する。
本実施形態では、確定タイミングを利用日から3ヶ月後とするが、確定タイミングは、任意のタイミングであってよい。例えば、確定タイミングは、予め定められた日付(例えば、毎月15日)であってもよいし、サービスの管理者が不正の有無を判断する業務をする時であってもよい。他にも例えば、確定タイミングは、第三者による不正ログイン(なりすまし)の疑いの報告をユーザから受けた時であってもよい。
図2の例では、2019年8月末までの行動は、確定タイミングが訪れているので、不正であるか否かが確定している。以降、不正であるか否かが確定した行動を確定済み行動と記載し、不正であるか否かが確定していない行動を未確定行動と記載する。
サーバ10は、サービスが利用されるたびに、学習モデルを利用して不正度を計算する。例えば、サーバ10は、ユーザによるアクセスを受け付けると、セッション中の行動に基づいて、リアルタイムで不正度を計算する。学習モデルは、機械学習で用いられるモデルであり、確定済み行動の内容(例えば、利用日時、利用場所、利用頻度)と、不正であるか否かの確定結果と、の関係を学習している。機械学習自体は、公知の種々の手法を利用可能であり、例えば、ニューラルネットワーク、強化学習、又は深層学習といった手法を利用可能である。機械学習は、教師有り機械学習に限られず、半教師有り機械学習が用いられてもよいし、教師無し機械学習が用いられてもよい。
サーバ10は、サービス利用時の行動を学習モデルに入力し、学習モデルから出力された不正度を取得する。学習モデルは、自身に入力された行動の内容に応じた不正度を出力するようになっている。不正度は、学習モデルが計算した不正の蓋然性ということもできる。
図2の例であれば、2019年1月2日に行われたユーザAの行動については、0.30%の不正度が計算されている。この行動は、確定済み行動であり、正常であることが確定している。他の日の行動についても同様に、サーバ10は、学習モデルを利用して、行動ごとに不正度を計算する。行動の確定タイミングが訪れると、不正であるか否かの確定結果がサーバ10に記録される。
図2に示すように、ユーザAの確定済み行動は、不正度が低ければ不正ではないことが確定しており、不正度が高ければ不正であることが確定している。このため、ユーザAは、学習モデルによる不正検知の精度が高く、不正を検知しやすいユーザ(学習モデルによって捕捉しやすいユーザ)ということができる。例えば、ユーザAが不正をしたとしても、不正度が高く計算され、リアルタイムで不正を検知できる可能性が高い。
一方、ユーザBの確定済み行動には、不正度が高くても不正ではないことが確定しており、不正度が低くても不正であることが確定している行動が含まれる。このため、ユーザBは、学習モデルによって不正を検知しにくいユーザ(学習モデルによって捕捉しにくいユーザ)ということができる。例えば、ユーザBが不正をしたとしても、不正度が低く計算され、リアルタイムで不正を検知できない可能性がある。また例えば、ユーザBが不正をしなかったとしても、不正度が高く計算され、誤って不正とされてしまう可能性がある。
そこで、本実施形態の不正検知システムSは、学習モデルにより出力された不正度と、実際に不正であるか否かの確定結果と、に基づいて、ユーザごとの不正検知の精度を計算し、不正を検知しやすいユーザであるか否かを特定できるようにしている。以降、この技術の詳細を説明する。
[3.不正検知システムにおいて実現される機能]
図3は、不正検知システムSで実現される機能の一例を示す機能ブロック図である。図3に示すように、サーバ10では、データ記憶部100、不正度計算部101、確定結果取得部102、精度計算部103、及び実行部104が実現される。
[3−1.データ記憶部]
データ記憶部100は、記憶部12を主として実現される。データ記憶部100は、ユーザの不正検知の精度を計算するために必要なデータを記憶する。ここでは、データ記憶部100が記憶するデータの一例として、ユーザデータベースDB1、行動履歴データベースDB2、及び精度データベースDB3について説明する。
図4は、ユーザデータベースDB1のデータ格納例を示す図である。図4に示すように、ユーザデータベースDB1は、ユーザに関する各種情報が格納されたデータベースである。例えば、ユーザデータベースDB1には、ユーザID、ユーザ名、認証情報、利用中心地、平均アクセス時間、及び平均アクセス頻度が格納される。ユーザIDは、ユーザを一意に識別する情報である。ユーザ名は、ユーザの氏名である。
認証情報は、認証時の正解(インデックス)となる情報である。認証自体は、種々のタイプの認証を利用可能であり、例えば、パスワード認証、証明書認証、又は生体認証を利用可能である。認証は、1段階であってもよいし、2段階以上であってもよい。ユーザがどの認証を利用するかを指定できるようにしてもよい。
利用中心地は、サービスの利用場所の平均値である。平均アクセス時間は、サービスの利用時間の平均値である。平均アクセス頻度は、サービスの利用頻度の平均値である。これらの平均値は、過去の全期間の平均値であってもよいし、直近の一部の期間の平均値であってもよい。更に、これらの平均値は、単純平均であってもよいし、加重平均であってもよい。加重平均の場合には、現時点に近いほど重み付け係数を高くしてもよい。
ユーザがサービスの利用登録をすませると、サーバ10は、所定の発行ルールに基づいて、当該ユーザのユーザIDを発行する。サーバ10は、ユーザデータベースDB1に新たなレコードを作成し、当該発行されたユーザIDとともに、利用登録時に指定されたユーザ名と、認証情報と、を格納する。認証情報については、事後的に変更可能である。サーバ10は、ユーザがサービスを利用した場合に、利用中心地、平均アクセス時間、及び平均アクセス頻度を更新する。
図5は、行動履歴データベースDB2のデータ格納例を示す図である。図5に示すように、行動履歴データベースDB2は、ユーザの行動履歴(サービスの利用状況)が格納されたデータベースである。例えば、行動履歴データベースDB2には、行動履歴ID、ユーザID、IPアドレス、URL、アクセス場所、アクセス日時、不正度、及び確定結果が格納される。
なお、本実施形態では、確定済み行動と未確定行動の両方が行動履歴データベースDB2に格納される場合を説明するが、確定済み行動又は未確定行動の何れか一方のみが行動履歴データベースDB2に格納されてもよい。また、行動履歴データベースDB2には、他の情報が格納されてもよい。
行動履歴IDは、行動を一意に識別する情報である。IPアドレスは、サービス利用時に使用されたユーザ端末20のIPアドレスである。URLは、ユーザがアクセスしたページのURLである。例えば、サーバ10とユーザ端末20のセッションが確立している間のURLの履歴が格納される。アクセス場所は、サービス利用時におけるユーザ(ユーザ端末20)の場所である。アクセス場所は、任意の方法によって取得可能であり、例えば、IPアドレス、GPS情報、アクセスポイント情報、又は携帯基地局情報を利用して取得されるようにすればよい。アクセス日時は、サービスの利用日時である。
サーバ10は、ユーザ端末20とのセッションが確立されるたびに、所定の発行ルールに基づいて、当該行動の行動履歴IDを発行する。サーバ10は、行動履歴データベースDB2に新たなレコードを作成し、行動履歴ID、ユーザID、IPアドレス、URL、アクセス場所、及びアクセス日時を格納する。ユーザID、IPアドレス、及びURLは、サーバ10がユーザ端末20から受信したアクセス要求に含まれているものとする。アクセス日時は、アクセス要求を受け付けたときの現在日時である。
不正度は、個々の行動の不正度である。不正度は、後述する不正度計算部101によって格納される。確定結果は、個々の行動が不正であるか否かを示す結果である。確定結果は、後述する確定結果取得部102によって格納される。図5に示すように、確定済み行動についてのみ、確定結果が格納され、未確定行動については、確定結果は格納されない。
図6は、精度データベースDB3のデータ格納例を示す図である。図6に示すように、精度データベースDB3は、ユーザの不正検知の精度が格納されたデータベースである。例えば、精度データベースDB3には、ユーザID、不正検知の精度、及び補正情報が格納される。
不正検知の精度は、不正度によって不正を検知できる蓋然性である。別の言い方をすれば、不正検知の精度は、不正度と確定結果の一致度又は乖離度である。本実施形態では、学習モデルによって不正度が計算されるので、不正検知の精度は、学習モデルの信用度又は不正度の信用度ということができる。不正度の高さと確定結果が一致しているほど、不正検知の精度は高くなる。不正度の高さと確定結果が違っているほど、不正検知の精度は低くなる。不正検知の精度は、精度計算部103によって格納される。
補正量は、不正度の補正の程度である。例えば、不正検知の精度が高いほど補正量は少なくなり、不正検知の精度が低いほど補正量は多くなる。また例えば、不正検知の精度が閾値以上の場合には補正量は設定されず、不正検知の精度が閾値未満の場合に補正量が設定されてもよい。補正量は、後述する実行部104により格納される。
なお、データ記憶部100に記憶されるデータは、上記の例に限られない。例えば、データ記憶部100は、学習モデルのプログラム(アルゴリズム)やパラメータを記憶する。学習モデルには教師データが学習済みであり、学習モデルのパラメータは、調整済みであるものとする。例えば、教師データには、確定済み行動の内容を入力とし、不正の有無の確定結果を出力としたペアが多数格納されている。このペアの入力は、学習モデルに入力される行動の内容と同じデータ形式である。
教師データの入力となる行動の内容は、行動の特徴を示す情報であり、例えば、IPアドレス、URL、アクセス場所、アクセス日時、及びアクセス頻度のうちの少なくとも1つである。行動の内容は、行動履歴データベースDB2に格納されているものとする。本実施形態では、行動の内容の一例として、アクセス場所とアクセス日時を説明する。教師データには、行動の内容として、アクセス場所等の情報がそのまま格納されていてもよいし、ベクトル又は配列等で表現した特徴量が格納されていてもよい。
教師データの出力となる確定結果は、不正であるか否かを示す情報であり、例えば、不正であることを示す100%、又は、正常であることを示す0%の何れかの値となる。なお、確定結果は、これらの2値で表現されなければならないわけではなく、管理者が見ても不正であるか否かを断定できなかった行動については、30%等の中間値が存在してもよい。また、確定結果は、数値で表現されなくてもよく、不正であるか否かを示す文字で表現されてもよい。
教師データは、データ記憶部100に記憶されていてもよいし、サーバ10以外のコンピュータ又は情報記憶媒体に記憶されていてもよい。例えば、教師データは、管理者によって作成される。サーバ10は、教師データに基づいて、学習モデルの学習処理を実行する。学習処理自体は、機械学習で用いられる種々の手法を適用可能であり、例えば、ニューラルネットワークにおける学習処理を利用可能である。サーバ10は、教師データが示す入力と出力の関係が得られるように、学習モデルのパラメータを調整する。
[3−2.不正度計算部]
不正度計算部101は、制御部11を主として実現される。不正度計算部101は、サービスを利用するユーザの行動に基づいて、ユーザの不正度を計算する。不正度計算部101は、ユーザごとに、当該ユーザの行動に基づいて当該ユーザの不正度を計算する。不正度計算部101は、全てのユーザの不正度を計算してもよいし、一部のユーザの不正度を計算してもよい。
行動は、サービスをどのように利用したかを示す情報である。行動は、サービスの利用内容、又は、サービス利用時の挙動ということもできる。本実施形態では、行動履歴データベースDB2に格納されたIPアドレス、URL、アクセス場所、及びアクセス日時がユーザの行動に相当する場合を説明するが、これらの一部だけが行動に相当してもよいし、サービス利用時にサーバ10に入力される他の情報が行動に相当してもよい。
本実施形態では、不正度計算部101は、確定結果取得部102により取得された確定結果が示す、実際に不正であるか否かが確定した行動が予め学習された学習モデルに基づいて、不正であるか否かが確定していない行動の不正度を計算する。不正度計算部101は、ユーザの行動を示す情報(例えば、アクセス場所とアクセス日時)を学習モデルに入力する。学習モデルは、入力された情報の特徴量を計算し、特徴量に応じた不正度を出力する。不正度計算部101は、学習モデルから出力された不正度を取得する。なお、特徴量は、学習モデル以外のアルゴリズムによって計算されてもよい。この場合、当該アルゴリズムによって計算された特徴量が学習モデルに入力される。
例えば、不正度計算部101は、複数の行動の各々に基づいて、各行動の不正度を計算する。不正度計算部101は、行動が実行されるたびに、当該行動の内容に基づいて不正度を計算する。
例えば、不正度計算部101は、IPアドレスにばらつきがあるほど不正度が高くなるように、不正度を計算する。また例えば、不正度計算部101は、ユーザがアクセスしたURLにばらつきがあるほど不正度が高くなるように、不正度を計算する。また例えば、不正度計算部101は、アクセス場所が利用中心地から離れているほど、又は、アクセス場所にばらつきがあるほど、不正度が高くなるように、不正度を計算する。また例えば、不正度計算部101は、アクセス日時が平均アクセス日時から離れているほど、又は、アクセス日時にばらつきがあるほど不正度が高くなるように、不正度を計算する。また例えば、不正度計算部101は、アクセス頻度が平均アクセス頻度から離れているほど、又は、アクセス頻度にばらつきがあるほど不正度が高くなるように、不正度を計算する。
なお、不正度は、予め定められた方法に基づいて計算されるようにすればよく、学習モデルを利用した例に限られない。例えば、不正度計算部101は、ユーザの行動を数値化し、所定の計算式に代入することによって、不正度を計算してもよい。また例えば、不正度計算部101は、ユーザの行動と不正度の関係を定義したプログラムコードに基づいて、不正度を計算してもよい。
[3−3.確定結果取得部]
確定結果取得部102は、制御部11を主として実現される。確定結果取得部102は、ユーザの行動が実際に不正であるか否かの確定結果を取得する。確定結果取得部102は、ユーザごとに、当該ユーザの行動の確定結果を取得する。確定結果取得部102は、全てのユーザの確定結果を取得してもよいし、一部のユーザの確定結果を取得してもよい。
確定結果は、不正であることを示す第1の値、又は、不正ではないことを示す第2の値となる。例えば、確定結果は、サービスの管理者によって指定される。サービスの管理者は、全ての行動に対して確定結果を指定する必要はなく、一部の行動についてのみ確定結果を指定してもよい。
例えば、確定結果取得部102は、各行動の不正度に基づいて仮の確定結果を取得し、管理者に提示する。仮の確定結果は、不正度が閾値以上であれば不正となり、不正度が閾値未満であれば正常となる。管理者は、仮の確定結果をチェックし、誤りがあれば修正する。管理者は、ユーザがサービスを利用してから所定の期間(例えば、サービスの利用日から3ヶ月)が経過した後、仮の確定結果をチェックし、修正してもよい。また、管理者は、ユーザから不正ログインの疑いの報告があった場合、不正度が閾値未満であった仮の確定結果を修正してもよい。確定結果取得部102は、管理者により修正された確定結果を取得する。
本実施形態では、複数の行動が行われるので、確定結果取得部は、各行動が実際に不正であるか否かの確定結果を取得する。確定結果取得部は、行動ごとに、当該行動の確定結果を取得する。確定結果取得部102は、全ての行動の確定結果を取得してもよいし、一部の行動の確定結果を取得してもよい。
[3−4.精度計算部]
精度計算部103は、制御部11を主として実現される。精度計算部103は、不正度と確定結果とに基づいて、ユーザごとの不正検知の精度を計算する。精度計算部103は、ユーザごとに、当該ユーザの不正度と確定結果に基づいて当該ユーザの不正検知の精度を計算する。精度計算部103は、全てのユーザの不正検知の精度を計算してもよいし、一部のユーザの不正検知の精度を計算してもよい。
本実施形態では、行動ごとに不正度が計算されるので、精度計算部103は、各行動の不正度と確定結果とに基づいて、不正検知の精度を計算する。例えば、精度計算部103は、各行動の不正度と確定結果を所定の計算式に代入し、不正検知の精度を計算する。この計算式は、各行動の不正度と確定結果を代入すると、不正検知の精度が算出される式であればよい。
精度計算部103は、不正度の高さと確定結果が一致しているほど精度が高くなるように、不正検知の精度を計算する。本実施形態において、不正度の高さと確定結果が一致するとは、不正度が閾値以上の行動の確定結果が不正であることを意味する。別の言い方をすれば、不正度の高さと確定結果が一致するとは、不正度が閾値未満の行動の確定結果が不正ではないことを意味する。
例えば、精度計算部103は、不正度と確定結果とに基づいて、所定の損失関数の値を計算し、精度として取得する。損失関数は、不正度と確定結果の誤差を計算するための関数である。損失関数自体は、種々の関数を利用可能であり、例えば、ニューラルネットワーク等の学習モデルの精度(いわゆるLoss又はLogLoss)を評価する関数を利用可能である。損失関数は、不正度と確定結果の誤差が大きいほど、計算結果として得られる精度が低くなり、誤差が小さいほど、計算結果として得られる精度が高くなる。
なお、不正検知の精度は、予め定められた方法に基づいて計算されるようにすればよく、損失関数等の計算式を利用した例に限られない。例えば、精度計算部103は、不正度及び確定結果と、不正検知の精度と、の関係を学習させた学習モデルを利用して、不正検知の精度を計算してもよい。また例えば、精度計算部103は、不正度及び確定結果と、不正検知の精度と、の関係を定義したプログラムコードに基づいて、不正検知の精度を計算してもよい。
[3−5.実行部]
実行部104は、制御部11を主として実現される。実行部104は、不正検知の精度に応じた処理を実行する。実行部104は、ユーザごとに、当該ユーザの不正検知の精度に応じた処理を実行する。実行部104は、全てのユーザについて処理を実行してもよいし、一部のユーザについてのみ処理を実行してもよい。
不正検知の精度に応じた処理とは、実行するか否かが不正検知の精度によって決まる処理、又は、不正検知の精度によって内容が変わる処理である。本実施形態では、この処理の一例として、不正度計算部101により計算される不正度の値を変更する処理である処理を説明するが、この処理は、任意の処理であってよい。例えば、この処理は、後述する変形例のようにクーポンを付与する処理であってもよい。また例えば、この処理は、サービスの利用を制限する処理、追加の認証を要求する処理、又は、クーポン以外の優待を付与する処理であってもよい。
例えば、実行部104は、ユーザの不正検知の精度に基づいて、不正度の補正量を決定する。実行部104は、不正検知の精度が低いほど補正量が多くなるように、補正量を決定する。実行部104は、不正検知の精度が高いほど補正量が少なくなるように、補正量を決定する。また例えば、実行部104は、不正検知の精度が閾値未満のユーザには、補正量を設定し、不正検知の精度が閾値以上のユーザには、補正量を設定しないようにしてもよい。実行部104は、上記のように決定した補正量に基づいて、不正度計算部101により計算される不正度の値を変更する。
[4.本実施形態において実行される処理]
次に、不正検知システムSにおいて実行される処理について説明する。ここでは、ユーザがサービスを利用するためのサービス利用処理と、ユーザの不正検知の精度を計算するための精度計算処理と、について説明する。
[4−1.サービス利用処理]
図7は、サービス利用処理の一例を示すフロー図である。図7に示すサービス利用処理は、制御部11,21が、それぞれ記憶部12,22に記憶されたプログラムに従って動作することによって実行される。下記に説明する処理は、図3に示す機能ブロックにより実行される処理の一例である。なお、サービス利用処理が実行されるにあたり、ユーザは、利用登録を済ませているものとする。
図7に示すように、ユーザ端末20は、サーバ10に対し、サービスにログインするためのログイン要求を送信する(S100)。ログイン要求は、所定形式のデータが送信されることによって行われるようにすればよく、例えば、ユーザIDと認証情報が含まれる。認証情報は、ユーザ端末20の記憶部22に記憶されていてもよいし、操作部24から入力されてもよい。他にも例えば、生体認証を利用する場合、ユーザ端末20のカメラ等から認証情報が入力されてもよい。
サーバ10は、ログイン要求を受信すると、ユーザ端末20との間でセッションを確立させる(S101)。S101においては、サーバ10は、ログイン要求に含まれるユーザIDと認証情報に基づいて、ユーザ認証を実行する。ユーザ認証が成功した場合、サーバ10は、セッションを確立する。ユーザ認証が成功しなかった場合、セッションは確立されず、本処理は終了する。
サーバ10は、ユーザのアクセス要求に応じて、ニュースや記事等のコンテンツを提供する(S102)。アクセス要求には、ユーザ端末20のIPアドレスと、アクセス先のコンテンツへのURLと、が含まれるものとする。サーバ10は、URLに対応するコンテンツをユーザに提供する。サーバ10は、行動履歴IDを発行し、ユーザID、IPアドレス、URL、アクセス場所、及びアクセス日時を行動履歴データベースDB2に格納する。以降、セッションが切断されるまで、S102の処理が繰り返される。コンテンツが提供されるたびに、上記発行された行動履歴IDのURL、アクセス場所及びアクセス日時が追加される。
サーバ10は、ユーザ端末20とのセッションが切断されると、その間におけるユーザの行動と、記憶部12に記憶された学習モデルと、に基づいて、この行動に応じた不正度を計算する(S103)。S103においては、サーバ10は、セッション中のIPアドレス、URL、アクセス場所及びアクセス日時を学習モデルに入力し、学習モデルが出力した不正度を取得する。
サーバ10は、精度データベースDB3に基づいて、S103で計算した不正度を補正し(S104)、本処理は終了する。S104においては、サーバ10は、精度データベースDB3を参照し、ユーザに応じた補正量を取得する。サーバ10は、この補正量に基づいて、S103で計算した不正度を補正し、行動履歴データベースDB2に格納する。補正の必要がないユーザについては、S104の処理は実行されず、サーバ10は、S103で計算した不正度を、行動履歴データベースDB2に格納する。なお、サーバ10は、S104の処理をセッション切断前に実行し、補正された不正度が非常に高かった場合には、コンテンツの提供を停止してもよい。
[4−2.精度計算処理]
図8は、精度計算処理の一例を示すフロー図である。図8に示す精度計算処理は、制御部11が記憶部12に記憶されたプログラムに従って動作することによって実行される。下記に説明する処理は、図3に示す機能ブロックにより実行される処理の一例である。精度計算処理は、任意のタイミングで実行されるようにすればよく、例えば、管理者が所定の操作をした場合に実行されてもよいし、所定の日時(例えば、サービスの利用日から3ヶ月後)が訪れた場合に実行されてもよい。
図8に示すように、まず、サーバ10は、行動履歴データベースDB2に基づいて、各ユーザの確定済み行動の不正度と確定結果を取得する(S200)。S200においては、サーバ10は、行動履歴データベースDB2を参照し、ユーザごとに、確定済み行動(3ヶ月以上前の行動)の不正度と確定結果のペアを取得する。
サーバ10は、各ユーザの確定済み行動の不正度と確定結果に基づいて、各ユーザの不正検知の精度を計算する(S201)。S201においては、サーバ10は、ユーザごとに、不正度と確定結果を損失関数に代入し、不正検知の精度を計算する。サーバ10は、各ユーザの不正検知の精度を、精度データベースDB3に格納する。
サーバ10は、各ユーザの不正検知の精度に基づいて、不正度の補正量を決定し(S202)、本処理は終了する。S202においては、サーバ10は、ユーザごとに、当該ユーザの不正検知の精度に応じた補正量を決定する。サーバ10は、各ユーザに対して決定された補正量を、精度データベースDB3に格納する。精度データベースDB3に格納された補正量は、ユーザが次回ログインした際に有効となり、次回以降のサービス利用処理で参照される。
本実施形態の不正検知システムSによれば、ユーザの行動に応じた不正度と、当該行動が実際に不正であるか否かの確定結果と、に基づいて、ユーザごとの不正検知の精度を計算することができる。ユーザごとの不正検知の精度を計算することによって、ユーザごとに、不正度の計算方法を評価することができる。これにより、現状の計算方法で捕捉可能なユーザであるか否かを特定し、不正検知システムSにおけるセキュリティを向上させることができる。また、現状の計算方法で捕捉しやすいユーザについては、不正検知システムSで止めることができ、このようなユーザについてまで管理者が注意を払う必要がなくなるので、管理者の負担を軽減することもできる。更に、ユーザごとの不正検知の精度を計算することによって、捕捉しにくいユーザが増加したか否かを特定することもできる。これにより、捕捉しにくいユーザが増加したときに、例えば、最新のトレンドに合うように用意した教師データを使って学習モデルを更新するといったこともできる。これにより、学習モデルの精度が向上し、不正検知システムSにおけるセキュリティを向上させることもできる。
また、不正検知システムSは、複数の行動の各々の不正度と確定結果とに基づいて、ユーザごとの不正検知の精度を計算することによって、複数の行動が総合的に考慮された不正検知の精度を計算し、計算精度を高めることができる。これにより、不正検知システムSにおけるセキュリティを効果的に高めることができる。
また、不正検知システムSは、実際に不正であるか否かが確定した行動が学習された学習モデルに基づいて、不正であるか否かが確定していない行動の不正度を計算することによって、不正度の計算精度を高めることができる。例えば、新しい教師データを学習モデルに学習させることによって、最新の不正のトレンドに対応した高精度の不正度を計算することができる。不正度の計算精度を高めることによって、不正検知システムSにおけるセキュリティを効果的に高めることができる。
また、不正検知システムSは、不正度と確定結果とに基づいて、所定の損失関数の値を計算し、不正検知の精度として取得することによって、不正度の計算精度を効果的に高めることができる。これにより、不正検知システムSにおけるセキュリティを効果的に高めることができる。例えば、不正をしていないユーザが大半であることが予想される場合、不正検知システムSは、行動履歴データベースDB2に基づいて、クラスタリング等を利用して利用傾向が類似したユーザを一定数抽出し、これらの中で学習モデルの不正検知の精度を計算してもよい。このようにする場合、不正が起こっていないユーザ、又は、利用履歴が浅いユーザについても、不正検知の精度をある程度判定することができる。
また、不正検知システムSは、不正検知の精度に応じた処理を実行することによって、例えば、不正検知の精度に応じたサービスを提供したり、不正検知の精度に応じた利用制限をしたりすることができる。
また、不正検知システムSは、不正検知の精度に応じた処理として、不正度の値を変更させる処理を実行することによって、不正度の計算精度を効果的に高めることができる。これにより、不正検知システムSで捕捉しにくいユーザをある程度は補足しやすくすることができ、不正検知システムSにおけるセキュリティを効果的に高めることができる。
[5.変形例]
なお、本発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
(1)例えば、不正な行動であるにも関わらず、不正度が低く計算される事象(いわゆる偽陰性)や、正常な行動であるにも関わらず、不正度が高く計算される事象(いわゆる偽陽性)が多く発生した場合、その学習モデルは信用できないことを意味する。特に、偽陰性の損失を特に重大と評価するために、損失関数は、偽陰性が精度に与える影響が大きくなるように、係数が定められていてもよい。
本変形例の損失関数は、いわゆる重み付けされたLogLossである。この損失関数は、学習モデルが正誤を誤って判定した場合(偽陰性又は偽陽性が発生した場合)には、指数的に値が大きくなる性質を有する。損失関数は、管理者によって定められた係数によって偽陰性と偽陽性の重要度を調整できるようになっている。例えば、係数が所定値である場合には通常のLogLossとなるが、係数を小さくすることで偽陰性をより重視するように調整できる。
変形例(1)によれば、不正検知の精度の計算で用いられる損失関数の係数を、偽陰性が精度に与える影響が大きくなるように定めることによって、不正な行動であるにも関わらず不正度が低く計算されるといった最も信用できないケースが発生することを防止し、不正検知システムSにおけるセキュリティを効果的に高めることができる。
(2)また例えば、確定結果取得部102は、他のユーザの行動の確定結果を取得し、不正度計算部101は、実際に不正であるか否かが確定した他のユーザの行動がユーザにより行われたと仮定して、不正度を計算してもよい。他のユーザとは、不正度の計算対象となるユーザ以外のユーザであり、例えば、不正度の計算対象となるユーザに似た行動特性を有するユーザであってもよい。
図9は、変形例(2)における不正度の計算方法を示す図である。図9の例では、2019年2月21日と2019年2月26日に行われた他のユーザの行動が不正な行動として確定されている。不正度計算部101は、これらの行動が、不正度の計算対象となるユーザに発生したと仮定して、不正度を計算する。不正度の計算方法自体は、実施形態で説明した通りであり、本来は発生していない行動を、疑似的に発生させて不正度を計算する点でのみ実施形態とは異なる。
精度計算部103は、ユーザにより行われたと仮定した行動の不正度と、他のユーザの行動の確定結果と、に基づいて、不正検知の精度を計算する。例えば、精度計算部103は、ユーザにより行われたと仮定した行動の不正度と、他のユーザの行動の確定結果と、が一致しているほど精度が高くなるように、不正検知の精度を計算する。
図9の例であれば、精度計算部103は、疑似的に発生させた他のユーザの行動の不正度が閾値以上の場合には、不正な行動が不正であると判定できているので、不正検知の精度が高くなるように、不正検知の精度を計算する。一方、精度計算部103は、疑似的に発生させた他のユーザの行動の不正度が閾値未満の場合には、不正な行動を不正と判定できていないので、不正検知の精度が低くなるように、不正検知の精度を計算する。
変形例(2)によれば、確定結果が得られた他のユーザの行動がユーザにより行われたと仮定して、不正度を計算することによって、不正度の計算精度を高めることができる。その結果、不正検知の精度を高めることもできる。例えば、疑似的な状況を作り出すことによって、利用履歴が浅いユーザや不正の被害を受けていないユーザに対しても、不正検知の精度を評価することができる。
(3)また例えば、不正度計算部101は、過去に行われた行動に基づく不正度と、当該行動が実際に不正であったか否かの確定結果と、に基づいて、不正度の計算における重み付け係数を決定し、当該決定された重み付け係数に基づいて、不正度を計算してもよい。重み付け係数は、不正度の計算に用いられる係数である。重み付け係数は、仮の不正度を補正するために用いられる。仮の不正度は、実施形態で説明した方法で計算された不正度である。例えば、不正度計算部101は、過去に計算した不正度と、その後の確定結果と、の分布から適切な重み付け係数を決定し、当該重み付け係数に基づいて不正度を計算する。
図10は、変形例(3)の概要を示す図である。図10についても、図2と同様に、現時点を2019年11月30日とする。図10では、2019年におけるユーザAの確定済み行動の不正度と、不正であるか否かの確定結果と、を示す。
図10に示すように、サーバ10は、ユーザAの行動に基づいて、複数のデータセットを抽出する。個々のデータセットに含まれる行動は、互いに異なる。例えば、サーバ10は、ランダムに期間を区切ってデータセットを抽出する。他にも例えば、サーバ10は、不正が確定した行動を探索し、不正が確定した行動を見つけた場合に、その時点までに含まれる行動をデータセットとして抽出してもよい。
例えば、不正度の計算式の重み関数が時間の経過のみに依存する関数であったと仮定すると、学習モデルが出力する不正度と、実際に不正であるか否かの確定結果と、の乖離度(いわゆるLoss)を重み関数に応じて設定することができる。サーバ10は、この乖離度をデータ全体に対して最小化するような重み関数を推定する。例えば、この推定は、損失関数と重み関数の定義によって解析的に解かれてもよいし、最適化ソルバー等によって近似的に解かれてもよい。重み関数としては、指数関数、ロジスティック曲線、又は線形関数などを定義することができる。
例えば、不正度計算部101は、学習モデルが出力する不正度と、実際に不正であるか否かの確定結果と、の乖離度が小さくなるように、学習モデルが出力した仮の不正度を補正する。この補正量は、重み関数における重み付け係数によって決まる。この乖離度は、ユーザによって異なることがあるので、不正度計算部101は、乖離度が高いほど仮の不正度の補正量が多くなるように、仮の不正度を補正する。例えば、過去の確定済み行動から計算されたユーザごとに乖離度が高い場合には、不正度計算部101は、学習モデルが計算した仮の不正度が低くなるように補正する。
変形例(3)によれば、過去に行われた行動に基づく不正度と、当該行動が実際に不正であったか否かの確定結果と、に更に基づいて、不正度を計算することによって、不正度の計算精度を高めることができる。不正度の計算精度を高めることによって、不正検知の精度も高めることができる。
(4)また例えば、不正度計算部101は、ユーザの認証方法と、ユーザの名義人と、の少なくとも一方に更に基づいて、不正度を計算してもよい。例えば、不正度計算部101は、ユーザが指定した認証方法の強度が高いほど、不正度が低くなるように、不正度を計算する。認証方法の強度は、パスワードの強度、二段階認証の登録の有無、又は生体認証の種類によって判定されるようにすればよい。
また例えば、不正度計算部101は、ユーザが登録したクレジッドカードの名義人と、ユーザがユーザデータベースDB1に登録した氏名と、の差異が大きいほど、不正度が高くなるように、不正度を計算する。なお、上述したような名義人又は氏名と、不正度との関係を学習させた学習モデルを作成し、この学習モデルに基づいて不正度を計算し、不正検知の精度を計算することもできる。また、特に学習モデルを利用せずに、クレジットカードの名義人の文字列と、ユーザの氏名の文字列と、の間で相違する文字数に基づいて、不正度が計算されてもよい。
変形例(4)によれば、ユーザの認証方法と、ユーザの名義人と、の少なくとも一方に更に基づいて、不正度を計算することによって、不正度の計算精度を高めることができる。不正度の計算精度を高めることによって、不正検知の精度の計算精度も高めることができる。
(5)また例えば、実行部104が実行する処理は、実施形態で説明した例に限られない。例えば、不正検知の精度に応じた処理は、サービスに関するクーポンをユーザに付与する処理であってもよい。クーポンは、サービスに係るものであればよく、例えば、サービス利用時に割引を受けることができる権利、サービス利用時にポイントが付与される権利、又は、サービス利用時にコンテンツや物を受け取ることができる権利などである。
例えば、実行部104は、不正検知の精度が閾値未満のユーザにはクーポンを付与せず、不正検知の精度が閾値以上のユーザに対し、クーポンを付与する。閾値は、固定値であってもよいし、可変値であってもよい。閾値は、ユーザごとに定められてもよい。また例えば、複数種類のクーポンが用意されている場合、実行部104は、ユーザの不正検知の精度に応じたクーポンを付与する。実行部104は、ユーザの不正検知の精度が高いほど価値が高いクーポンを付与する。この場合、クーポンは、不正検知の精度によってランク分けされているものとする。
変形例(5)によれば、不正検知の精度に応じた処理として、クーポンを付与することによって、不正検知の精度に応じた優待を付与することができる。例えば、不正度が高く計算されがちなユーザにクーポンを付与したとしても、不正検知システムSでこのユーザの不正を捕捉できる確率が高いため、クーポンを付与することによって、サービスの利用機会の低下を抑えることができる。
(6)また例えば、上記変形例を組み合わせてもよい。
また例えば、実施形態では、ユーザがサービスを利用してから所定の期間が経過すると、不正であるか否かが確定する場合を説明したが、ユーザがサービスを利用してすぐに、管理者の確認が行われて不正であるか否かが確定してもよい。また例えば、不正検知システムSが不正検知の精度に応じた処理を実行する場合を説明したが、この処理は、特に実行されずに管理者によって不正検知の精度の解析が行われてもよいし、外部のシステムによって実行されるようにしてもよい。即ち、不正検知システムSは、実行部104を含まなくてもよい。
また例えば、サービスの一例としてコンテンツを提供するサービスを説明したが、不正検知システムSは、決済サービス、電子商取引サービス、旅行予約サービス、金融サービス、保険サービス、又は通信サービスといった任意のサービスにおける不正検知の場面に適用可能である。例えば、不正検知システムSを決済サービスに利用する場合には、ユーザの行動は、個々の決済となる。個々の決済は、トランザクションと呼ばれることもある。学習モデルは、決済における利用額や利用日時等に基づいて、不正度を計算する。不正検知の精度は、決済時の不正を捕捉する蓋然性となる。
なお、決済は、種々のタイプの決済を利用可能である。例えば、クレジットカード決済、電子マネー決済、仮想通貨決済、ウォレット決済、ポイント決済、デビットカード決済、又は口座振替決済であってもよい。更に、これらの決済を実現する方法についても、種々の手法を利用可能である。例えば、ユーザ端末20に含まれるICチップを利用して決済が実現されてもよいし、ユーザ端末20又は店舗の端末等に表示された一次元又は二次元コードを利用して決済が実現されてもよい。ユーザは、ユーザ端末20を操作せずに、サービスを利用してもよい。例えば、ユーザは、実店舗の端末に、クレジットカードやICカード等の媒体を読み込ませることによって、サービスを利用してもよい。また例えば、ユーザは、これらの媒体を利用せずに、生体認証を利用することによって、サービスを利用してもよい。更に、サービスの管理者は、クレジットカード会社ではなくてもよいし、クレジットカード会社であってもよい。
また例えば、主な機能がサーバ10で実現される場合を説明したが、各機能は、複数のコンピュータで分担されてもよい。例えば、サーバ10とユーザ端末20で機能が分担されてもよい。また例えば、不正検知システムSが複数のサーバコンピュータを含む場合には、これら複数のサーバコンピュータで機能が分担されてもよい。また例えば、データ記憶部100で記憶されるものとして説明したデータは、サーバ10以外のコンピュータによって記憶されてもよい。

Claims (13)

  1. サービスを利用するユーザの行動に基づいて、前記ユーザの不正度を計算する不正度計算手段と、
    前記行動が実際に不正であるか否かの確定結果を取得する確定結果取得手段と、
    前記不正度と前記確定結果とに基づいて、前記ユーザごとの不正検知の精度を計算する精度計算手段と、
    を含む不正検知システム。
  2. 前記不正度計算手段は、複数の前記行動の各々に基づいて、各行動の前記不正度を計算し、
    前記確定結果取得手段は、各行動が実際に不正であるか否かの確定結果を取得し、
    前記精度計算手段は、各行動の前記不正度と前記確定結果とに基づいて、前記精度を計算する、
    請求項1に記載の不正検知システム。
  3. 前記不正度計算手段は、前記確定結果取得手段により取得された前記確定結果が示す、実際に不正であるか否かが確定した行動が予め学習された学習モデルに基づいて、不正であるか否かが確定していない行動の前記不正度を計算する、
    請求項1又は2に記載の不正検知システム。
  4. 前記精度計算手段は、前記不正度と前記確定結果とに基づいて、所定の損失関数の値を計算し、前記精度として取得する、
    請求項1〜3の何れかに記載の不正検知システム。
  5. 前記損失関数は、偽陰性が前記精度に与える影響が大きくなるように、係数が定められている、
    請求項4に記載の不正検知システム。
  6. 前記不正度計算手段は、実際に不正であるか否かが確定した他のユーザの行動が前記ユーザにより行われたと仮定して、前記不正度を計算し、
    前記確定結果取得手段は、前記他のユーザの行動の確定結果を取得し、
    前記ユーザにより行われたと仮定した行動の前記不正度と、前記他のユーザの行動の確定結果と、に基づいて、前記精度を計算する、
    請求項1〜5の何れかに記載の不正検知システム。
  7. 前記不正度計算手段は、過去に行われた行動に基づく前記不正度と、当該行動が実際に不正であったか否かの確定結果と、に基づいて、前記不正度の計算における重み付け係数を決定し、当該決定された重み付け係数に基づいて、前記不正度を計算する、
    請求項1〜6の何れかに記載の不正検知システム。
  8. 前記不正度計算手段は、前記ユーザの認証方法と、前記ユーザの名義人と、の少なくとも一方に更に基づいて、前記不正度を計算する、
    請求項1〜7の何れかに記載の不正検知システム。
  9. 前記不正検知システムは、前記精度に応じた処理を実行する実行手段、
    を更に含む請求項1〜8の何れかに記載の不正検知システム。
  10. 前記処理は、前記不正度計算手段により計算される前記不正度の値を変更する処理である、
    請求項9に記載の不正検知システム。
  11. 前記処理は、前記サービスに関するクーポンを前記ユーザに付与する処理である、
    請求項9に記載の不正検知システム。
  12. サービスを利用するユーザの行動に基づいて、前記ユーザの不正度を計算する不正度計算ステップと、
    前記行動が実際に不正であるか否かの確定結果を取得する確定結果取得ステップと、
    前記不正度と前記確定結果とに基づいて、前記ユーザごとの不正検知の精度を計算する精度計算ステップと、
    を含む不正検知方法。
  13. サービスを利用するユーザの行動に基づいて、前記ユーザの不正度を計算する不正度計算手段、
    前記行動が実際に不正であるか否かの確定結果を取得する確定結果取得手段、
    前記不正度と前記確定結果とに基づいて、前記ユーザごとの不正検知の精度を計算する精度計算手段、
    としてコンピュータを機能させるためのプログラム。
JP2020539110A 2019-12-26 2019-12-26 不正検知システム、不正検知方法、及びプログラム Active JP6933780B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/051258 WO2021130991A1 (ja) 2019-12-26 2019-12-26 不正検知システム、不正検知方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP6933780B1 JP6933780B1 (ja) 2021-09-08
JPWO2021130991A1 true JPWO2021130991A1 (ja) 2021-12-23

Family

ID=76573795

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020539110A Active JP6933780B1 (ja) 2019-12-26 2019-12-26 不正検知システム、不正検知方法、及びプログラム

Country Status (5)

Country Link
US (1) US11947643B2 (ja)
EP (1) EP3882795A4 (ja)
JP (1) JP6933780B1 (ja)
TW (1) TWI811574B (ja)
WO (1) WO2021130991A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210397903A1 (en) * 2020-06-18 2021-12-23 Zoho Corporation Private Limited Machine learning powered user and entity behavior analysis
JP7176158B1 (ja) * 2021-06-30 2022-11-21 楽天グループ株式会社 学習モデル評価システム、学習モデル評価方法、及びプログラム

Family Cites Families (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS54144853A (en) 1978-05-04 1979-11-12 Nippon Telegr & Teleph Corp <Ntt> Variable delay circuit
US5819226A (en) * 1992-09-08 1998-10-06 Hnc Software Inc. Fraud detection using predictive modeling
JP3531663B2 (ja) * 1997-09-30 2004-05-31 グローリー工業株式会社 個人認証装置
US7865427B2 (en) * 2001-05-30 2011-01-04 Cybersource Corporation Method and apparatus for evaluating fraud risk in an electronic commerce transaction
JPWO2003032219A1 (ja) * 2001-10-05 2005-01-27 サイバーエリアリサーチ株式会社 Ai認証を用いた決済認証サーバーシステム
US20050216397A1 (en) * 2004-03-26 2005-09-29 Clearcommerce, Inc. Method, system, and computer program product for processing a financial transaction request
US7788195B1 (en) * 2006-03-24 2010-08-31 Sas Institute Inc. Computer-implemented predictive model generation systems and methods
ATE550732T1 (de) * 2006-05-30 2012-04-15 Yissum Res Dev Co Musterabgleich
US20090018940A1 (en) * 2007-03-30 2009-01-15 Liang Wang Enhanced Fraud Detection With Terminal Transaction-Sequence Processing
US8245282B1 (en) * 2008-08-19 2012-08-14 Eharmony, Inc. Creating tests to identify fraudulent users
US8396451B1 (en) * 2010-02-17 2013-03-12 Sprint Communications Company L.P. Telecom fraud detection using social pattern
US8543522B2 (en) * 2010-04-21 2013-09-24 Retail Decisions, Inc. Automatic rule discovery from large-scale datasets to detect payment card fraud using classifiers
US8666861B2 (en) * 2010-10-21 2014-03-04 Visa International Service Association Software and methods for risk and fraud mitigation
US10685355B2 (en) * 2016-12-04 2020-06-16 Biocatch Ltd. Method, device, and system of detecting mule accounts and accounts used for money laundering
JP5073846B1 (ja) * 2011-05-30 2012-11-14 楽天株式会社 質問回答処理装置、質問回答処理方法、質問回答処理プログラム及び記録媒体
US9047608B1 (en) * 2011-08-31 2015-06-02 Symantec Corporation Method and system to improve risk assessments in fraud detection systems using machine identifiers
JP5295418B1 (ja) * 2012-10-11 2013-09-18 Scsk株式会社 不正検知システム及び不正検知プログラム
US10754936B1 (en) * 2013-03-13 2020-08-25 United Services Automobile Associate (USAA) Behavioral profiling method and system to authenticate a user
US10282709B2 (en) * 2013-04-05 2019-05-07 Visa International Service Association Processor issuer detection and user level stand-in authorization
US9898741B2 (en) * 2013-07-17 2018-02-20 Visa International Service Association Real time analytics system
US9875355B1 (en) 2013-09-17 2018-01-23 Amazon Technologies, Inc. DNS query analysis for detection of malicious software
US9846896B2 (en) * 2014-06-22 2017-12-19 Netspective Communications Llc Aggregation of rating indicators
US20160048831A1 (en) * 2014-08-14 2016-02-18 Uber Technologies, Inc. Verifying user accounts based on information received in a predetermined manner
US20200067861A1 (en) * 2014-12-09 2020-02-27 ZapFraud, Inc. Scam evaluation system
IN2015CH00232A (ja) * 2015-01-15 2015-09-18 Wipro Ltd
US9959399B2 (en) * 2015-01-16 2018-05-01 Citrix Systems, Inc. Automatic intelligent local device fraud detection
US20160335551A1 (en) * 2015-05-12 2016-11-17 Sap Se Optimization of fraud detection strategies
WO2017065070A1 (ja) * 2015-10-13 2017-04-20 日本電気株式会社 不審行動検知システム、情報処理装置、方法およびプログラム
US10902428B1 (en) * 2015-12-16 2021-01-26 EMC IP Holding Company LLC Maintaining a risk model using feedback directed to other risk models
JP6411321B2 (ja) * 2015-12-18 2018-10-24 日本電信電話株式会社 認証手段選択装置、認証手段選択方法、およびプログラム
US20170262852A1 (en) * 2016-03-10 2017-09-14 Amadeus S.A.S. Database monitoring system
US10825028B1 (en) * 2016-03-25 2020-11-03 State Farm Mutual Automobile Insurance Company Identifying fraudulent online applications
CN106022834B (zh) * 2016-05-24 2020-04-07 腾讯科技(深圳)有限公司 广告反作弊方法及装置
US20180033009A1 (en) * 2016-07-27 2018-02-01 Intuit Inc. Method and system for facilitating the identification and prevention of potentially fraudulent activity in a financial system
US10997596B1 (en) * 2016-08-23 2021-05-04 Mastercard International Incorporated Systems and methods for use in analyzing declined payment account transactions
JP2018041421A (ja) * 2016-09-09 2018-03-15 株式会社インテリジェントウェイブ クレジットカードの不正使用判定支援装置、不正使用判定装置及び不正使用判定の支援方法
US20190259037A1 (en) * 2016-11-09 2019-08-22 Rakuten, Inc Information processing device, information processing method, program, and storage medium
US11238528B2 (en) * 2016-12-22 2022-02-01 American Express Travel Related Services Company, Inc. Systems and methods for custom ranking objectives for machine learning models applicable to fraud and credit risk assessments
US10607008B2 (en) * 2017-02-09 2020-03-31 International Business Machines Corporation Counter-fraud operation management
US11210670B2 (en) * 2017-02-28 2021-12-28 Early Warning Services, Llc Authentication and security for mobile-device transactions
US10733599B2 (en) * 2017-05-31 2020-08-04 Paypal, Inc. Accessing digital wallet information using a point-of-sale device
US11100144B2 (en) * 2017-06-15 2021-08-24 Oracle International Corporation Data loss prevention system for cloud security based on document discourse analysis
US20190095608A1 (en) * 2017-09-26 2019-03-28 Mastercard International Incorporated Systems and Methods for Facilitating User Authentications in Network Transactions
US10650128B2 (en) * 2017-10-18 2020-05-12 Mastercard International Incorporated Methods and systems for automatically configuring user authentication rules
CN109978538B (zh) * 2017-12-28 2023-10-10 创新先进技术有限公司 确定欺诈用户、训练模型、识别欺诈风险的方法及装置
JP6923806B2 (ja) * 2018-01-09 2021-08-25 富士通株式会社 不正検知装置、不正検知方法、および不正検知プログラム
CN110084603B (zh) * 2018-01-26 2020-06-16 阿里巴巴集团控股有限公司 训练欺诈交易检测模型的方法、检测方法以及对应装置
US10417528B2 (en) * 2018-02-18 2019-09-17 Sas Institute Inc. Analytic system for machine learning prediction model selection
US10388286B1 (en) * 2018-03-20 2019-08-20 Capital One Services, Llc Systems and methods of sound-based fraud protection
NL2020729B1 (en) * 2018-04-06 2019-10-14 Abn Amro Bank N V Systems and methods for detecting fraudulent transactions
US10949434B1 (en) * 2018-06-05 2021-03-16 Facebook, Inc. User identification system
US20190377819A1 (en) * 2018-06-12 2019-12-12 Bank Of America Corporation Machine learning system to detect, label, and spread heat in a graph structure
JP6514813B1 (ja) 2018-07-10 2019-05-15 株式会社J.Score 信用スコア管理システム、信用スコア管理サーバ、ユーザ端末、およびプログラム
US20200034852A1 (en) * 2018-07-25 2020-01-30 Ebay Korea Co., Ltd. Fraud detection system
US11323464B2 (en) * 2018-08-08 2022-05-03 Rightquestion, Llc Artifact modification and associated abuse detection
US11017088B2 (en) * 2018-09-17 2021-05-25 Microsofttechnology Licensing, Llc Crowdsourced, self-learning security system through smart feedback loops
US11436603B2 (en) * 2018-10-18 2022-09-06 U.S. Bancorp, National Association Decision making for on-line transactions
US20200175421A1 (en) * 2018-11-29 2020-06-04 Sap Se Machine learning methods for detection of fraud-related events
US11074751B2 (en) * 2018-12-04 2021-07-27 University Of Southern California 3D hair synthesis using volumetric variational autoencoders
US11270311B1 (en) * 2018-12-27 2022-03-08 Worldpay, Llc Systems and methods for a context-driven electronic transactions fraud detection
CN111435507A (zh) * 2019-01-11 2020-07-21 腾讯科技(北京)有限公司 广告反作弊方法、装置、电子设备及可读存储介质
CN109871488A (zh) 2019-02-22 2019-06-11 新疆大学 一种融合可用度和用户偏好的Web服务构建方法及Web服务
JP7173332B2 (ja) * 2019-06-11 2022-11-16 日本電気株式会社 不正検知装置、不正検知方法および不正検知プログラム
US11218494B2 (en) * 2019-07-26 2022-01-04 Raise Marketplace, Llc Predictive fraud analysis system for data transactions
CN110428005B (zh) * 2019-07-31 2022-11-08 三峡大学 一种基于伞式算法的电力系统动态安全误分类约束方法
US11468272B2 (en) * 2019-08-15 2022-10-11 Visa International Service Association Method, system, and computer program product for detecting fraudulent interactions
US20210117977A1 (en) * 2019-10-17 2021-04-22 At&T Intellectual Property I, L.P. Parallel machine learning models
CN112749593A (zh) * 2019-10-31 2021-05-04 通用电气精准医疗有限责任公司 医学成像系统、识别检测对象的体位的方法、存储介质
US11290464B2 (en) * 2019-12-18 2022-03-29 Voya Services Company Systems and methods for adaptive step-up authentication
US20210192522A1 (en) * 2019-12-19 2021-06-24 Visa International Service Association Intelligent fraud rules
JP6967575B2 (ja) * 2019-12-26 2021-11-17 楽天グループ株式会社 信用度計算システム、信用度計算方法、及びプログラム

Also Published As

Publication number Publication date
JP6933780B1 (ja) 2021-09-08
EP3882795A4 (en) 2021-12-15
US11947643B2 (en) 2024-04-02
US20220327186A1 (en) 2022-10-13
WO2021130991A1 (ja) 2021-07-01
EP3882795A1 (en) 2021-09-22
TWI811574B (zh) 2023-08-11
TW202125379A (zh) 2021-07-01

Similar Documents

Publication Publication Date Title
US11907266B2 (en) Method and system for self-aggregation of personal data and control thereof
US20220414671A1 (en) Systems and methods of providing security in an electronic network
US20190205993A1 (en) Transaction data categorizer system and method
TWI768512B (zh) 信用度計算系統、信用度計算方法及程式產品
US20220051270A1 (en) Event analysis based on transaction data associated with a user
CN111433808A (zh) 全球点对点退休储蓄系统的系统和方法
WO2019074446A1 (en) LOAN REQUEST PROCESSING SYSTEM AND METHOD
JP6933780B1 (ja) 不正検知システム、不正検知方法、及びプログラム
TWI810048B (zh) 欺詐檢測系統、欺詐檢測方法及程式產品
JP7176158B1 (ja) 学習モデル評価システム、学習モデル評価方法、及びプログラム
US20240211574A1 (en) Learning model creating system, learning model creating method, and program
US20220309359A1 (en) Adverse features neutralization in machine learning
US20220027916A1 (en) Self Learning Machine Learning Pipeline for Enabling Binary Decision Making
US11710137B2 (en) Method and system for identifying electronic devices of genuine customers of organizations
JP7165841B1 (ja) 不正検知システム、不正検知方法、及びプログラム
JP7238214B1 (ja) 不正検知システム、不正検知方法、及びプログラム
JP7302107B1 (ja) 学習システム、学習方法、及びプログラム
TWI857313B (zh) 欺詐檢測系統、欺詐檢測方法及程式產品
US20230403268A1 (en) Reducing false positives in entity matching based on image-linking graphs
KR20240020030A (ko) 암호화폐 투자 알고리즘 매칭 시스템 및 방법
CN116830140A (zh) 用于生成模拟实时交易的合成图的系统、方法和计算机程序产品

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200715

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200715

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20201030

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210323

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210511

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210819

R150 Certificate of patent or registration of utility model

Ref document number: 6933780

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150