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

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

▶ エーオー カスペルスキー ラボの特許一覧

特許6472771不正なオンライン取引を検出するためのシステムおよび方法
<>
  • 特許6472771-不正なオンライン取引を検出するためのシステムおよび方法 図000007
  • 特許6472771-不正なオンライン取引を検出するためのシステムおよび方法 図000008
  • 特許6472771-不正なオンライン取引を検出するためのシステムおよび方法 図000009
  • 特許6472771-不正なオンライン取引を検出するためのシステムおよび方法 図000010
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6472771
(24)【登録日】2019年2月1日
(45)【発行日】2019年2月20日
(54)【発明の名称】不正なオンライン取引を検出するためのシステムおよび方法
(51)【国際特許分類】
   G06Q 20/40 20120101AFI20190207BHJP
【FI】
   G06Q20/40 330
【請求項の数】14
【外国語出願】
【全頁数】16
(21)【出願番号】特願2016-96774(P2016-96774)
(22)【出願日】2016年5月13日
(65)【公開番号】特開2016-224929(P2016-224929A)
(43)【公開日】2016年12月28日
【審査請求日】2016年5月23日
(31)【優先権主張番号】14/721,872
(32)【優先日】2015年5月26日
(33)【優先権主張国】US
【前置審査】
(73)【特許権者】
【識別番号】515348585
【氏名又は名称】エーオー カスペルスキー ラボ
【氏名又は名称原語表記】AO Kaspersky Lab
(74)【代理人】
【識別番号】110001139
【氏名又は名称】SK特許業務法人
(74)【代理人】
【識別番号】100130328
【弁理士】
【氏名又は名称】奥野 彰彦
(74)【代理人】
【識別番号】100130672
【弁理士】
【氏名又は名称】伊藤 寛之
(72)【発明者】
【氏名】エフゲニー ビー.コロチンスキ
【審査官】 小山 和俊
(56)【参考文献】
【文献】 米国特許出願公開第2014/0359761(US,A1)
【文献】 米国特許出願公開第2014/0164178(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00−99/00
(57)【特許請求の範囲】
【請求項1】
不正取引を検出する方法であって、
工程(1)〜(4)を備え、
前記工程(1)では、通信インターフェースにより少なくとも1つの電子取引に関連するデータを受信し、
前記データは、
所定の時間間隔の間、前記少なくとも1つの電子取引を実行するコンピュータによって実行されるイベントの数であり、
少なくとも1つのユーザアクションデータとマルウェアアクションデータを含み、
前記工程(2)では、前記少なくとも1つの電子取引が不正取引の可能性がある取引であるか否かを判断するために、電子メモリに保存された所定のアルゴリズムに基づいて、受信した前記データをプロセッサで解析し、
前記工程(3)では、前記不正取引の可能性がある取引が正当な電子取引であるか否かを、前記プロセッサで判断し、
前記工程(4)では、前記プロセッサにより、前記不正取引の可能性がある取引が正当な電子取引であることを判断された場合、前記所定のアルゴリズムにおける操作パラメータを前記プロセッサで調整し、
前記データは、所定の時間間隔の間、要求された前記少なくとも1つの電子取引を遂行するようにコンピュータで実行されるイベントの数であり、且つ前記所定の時間間隔は、前記所定のアルゴリズムの前記操作パラメータの少なくとも1つであり、
前記操作パラメータの調整は、前記少なくとも1つの電子取引が不正取引であると判定される偽陽性を排除又は低減するために前記所定の時間間隔の長さを調整することを含み、
前記判定は、調整された前記所定の時間間隔に前記少なくとも1つの電子取引に対して実行されたイベントの数に基づいて行われる、
方法。
【請求項2】
前記コンピュータで実行される前記イベントの数は、キーボード上のキーの起動回数、コンピュータのマウスのボタンの起動回数、前記マウス又はトラックボールの移動軌跡、ウェブページのダウンロード、ウェブページ上でリンクを選択する頻度、キーストロークのタイミング、及びキーストローク中のエラーの有無及びエラー修正、のうち少なくとも1つを含む、
請求項1に記載の方法。
【請求項3】
前記操作パラメータを調整する工程は、
前記コンピュータで実行されるイベントの数により、前記コンピュータで実行される前記少なくとも1つの電子取引の時間の平均期間を割ることによって、平均フレーム値を計算する工程と、
前記コンピュータで実行されるイベントの数により、前記コンピュータで実行される前記少なくとも1つの電子取引の時間の最小期間を割ることによって、最小フレーム値を計算する工程と、
前記平均フレーム値及び前記最小フレーム値のそれぞれの逆数を計算する工程と、
前記それぞれ計算された逆数の平均値として、前記所定の時間間隔を更新する工程と、を備える、
請求項1に記載の方法。
【請求項4】
前記操作パラメータを調整する工程は、
前記コンピュータで実行される前記少なくとも1つの電子取引の時間を、等しい期間である複数のフレームに分割する工程と、
前記複数のフレームの各々におけるイベントの数を集計する工程と、
前記複数のフレームの各々におけるイベントの数の平均値と分散を計算し、且つ次の式に従って、コスト関数を計算する工程と、

(kは平均値、vは分散、Δは前記複数のフレームの各々における期間、及び、nは前記所定のアルゴリズムの調整の数)
前記計算されたコスト関数を最小化にするように、前記所定の時間間隔を更新する工程と、を備える、
請求項1に記載の方法。
【請求項5】
前記操作パラメータを調整する工程は、
単一のフレームとして前記コンピュータで実行される前記少なくとも1つの電子取引の時間を設定する工程と、
前記単一のフレームでのイベントの数を集計する工程と、
前記イベントの数が、0より大きい場合、前記単一のフレームを2つの等しいフレームに分割する工程と、
2つの等しいフレーム各々を2つの追加の等しいフレームにそれぞれ分割することを、前記追加の等しいフレームのうち1つがイベントの数0を有するまで続ける工程と、
イベントの数0を有する、1つの前記追加の等しいフレームのフレームサイズに基づいて、前記所定の時間間隔を更新する工程と、を備える、
請求項1に記載の方法。
【請求項6】
不正取引を検出するシステムであって、
通信インターフェースと、プロセッサと、を備え、
前記通信インターフェースは、少なくとも1つの電子取引に関連するデータを受信するように構成され、
前記データは、
所定の時間間隔における前記少なくとも1つの電子取引を実行するコンピュータによって実行されるイベントの数であり、
少なくとも1つのユーザアクションデータとマルウェアアクションデータを含み、
前記プロセッサは、工程(2)〜(4)を実行するように構成され、
前記工程(2)では、前記少なくとも1つの電子取引が不正取引の可能性がある取引であるか否かを判断するために、電子メモリに保存された所定のアルゴリズムに基づいて、前記受信したデータを解析し、
前記工程(3)では、前記不正取引の可能性がある取引が正当な電子取引であるか否かを判断し、
前記工程(4)では、前記不正取引の可能性がある取引が正当な電子取引であることを判断された場合、前記所定のアルゴリズムにおける操作パラメータを調整し、
前記データは、所定の時間間隔の間、要求された前記少なくとも1つの電子取引を遂行するようにコンピュータで実行されるイベントの数であり、且つ前記所定の時間間隔は、前記所定のアルゴリズムの前記操作パラメータの少なくとも1つであり、
前記操作パラメータの調整は、前記少なくとも1つの電子取引が不正取引であると判定される偽陽性を排除又は低減するために前記所定の時間間隔の長さを調整することを含み、
前記判定は、調整された前記所定の時間間隔に前記少なくとも1つの前記電子取引に対して実行されたイベントの数に基づいて行われる、
システム。
【請求項7】
前記コンピュータで実行される前記イベントの数は、キーボード上のキーの起動回数、コンピュータのマウスの起動回数、前記マウス又はトラックボールの移動軌跡、ウェブページのダウンロード、ウェブページ上でリンクを選択する頻度、キーストロークのタイミング、及び、キーストローク中のエラーの有無及びエラー修正、のうち少なくとも1つを含む、
請求項6に記載のシステム。
【請求項8】
前記プロセッサは、
前記コンピュータで実行されるイベントの数により、前記コンピュータで実行される前記少なくとも1つの電子取引の時間の平均期間を割ることによって、平均フレーム値を計算することと、
前記コンピュータで実行されるイベントの数により、前記コンピュータで実行される前記少なくとも1つの電子取引の時間の最小期間を割ることによって、最小フレーム値を計算することと、
前記平均フレーム値と前記最小フレーム値のそれぞれの逆数を計算することと、
計算される逆数のそれぞれの平均値として前記所定の時間間隔を更新することとによって、前記操作パラメータを調整するように構成される、
請求項6に記載のシステム。
【請求項9】
前記プロセッサは、
前記コンピュータで実行される前記少なくとも1つの電子取引の時間を、等しい期間である複数のフレームに分割することと、
前記複数のフレームの各々におけるイベントの数を集計することと、
前記複数のフレームの各々におけるイベントの数の平均値と分散を計算し、且つ次の式に従ってコスト関数を計算することと、

(kは平均値、vは分散、Δは複数のフレームの各々における期間、及び、nは所定のアルゴリズムの調整の数)
計算されたコスト関数を最小化するように、前記所定の時間間隔を更新することによって、操作パラメータを調整するように構成される、
請求項8に記載のシステム。
【請求項10】
前記プロセッサは、
単一のフレームとして前記コンピュータで実行される前記少なくとも1つの電子取引の時間を設定することと
前記単一のフレームでのイベントの数を集計することと、
前記イベントの数が0より大きい場合には、前記単一のフレームを2つの等しいフレームに分割することと、
前記2つの等しいフレーム各々を、2つの追加の等しいフレームにそれぞれ分割することを、前記追加の等しいフレームのうち1つがイベントの数0を有するまで続けることと、
イベントの数0を有する、1つの前記追加の等しいフレームのフレームサイズに基づいて、前記所定の時間間隔を更新することと、によって操作パラメータを調整するように構成されている、
請求項6に記載のシステム。
【請求項11】
不正取引を検出するためのコンピュータ実行可能な命令を保存する、非一時的なコンピュータ可読媒体であって、
前記命令は、命令(1)〜(4)を含み、
前記命令(1)では、通信インターフェースによって、少なくとも1つの電子取引に関連するデータを受信し、
前記データは、
所定の時間間隔における前記少なくとも1つの電子取引を実行するコンピュータによって実行されるイベントの数であり、
少なくとも1つのユーザアクションデータとマルウェアアクションデータを含み、
前記命令(2)では、電子メモリに保存される所定のアルゴリズムに基づいて、前記少なくとも1つの電子取引が不正取引の可能性がある取引であるか否かを判断するために、前記受信したデータを解析し、
前記命令(3)では、前記不正取引の可能性がある取引が正当な電子取引であるか否かを判断し、
前記命令(4)では、前記不正取引の可能性がある取引が正当な電子取引であると判断された場合、前記所定のアルゴリズムの操作パラメータを調整し、
電子取引に関連する前記データは、所定の時間間隔の間、要求された前記少なくとも1つの電子取引を遂行するようにコンピュータで実行されるイベントの数であり、且つ前記所定の時間間隔は、前記所定のアルゴリズムの前記操作パラメータの少なくとも1つであり、
前記操作パラメータの調整は、前記少なくとも1つの電子取引が前記不正取引であると判定される偽陽性を排除又は低減するために前記所定の時間間隔の長さを調整することを含み、
前記判定は、調整された前記所定の時間間隔に前記少なくとも1つの電子取引に対して実行されたイベントの数に基づいて行われる、
非一時的なコンピュータ可読媒体。
【請求項12】
不正取引を検出するため、コンピュータ実行可能命令は、
前記コンピュータで実行されるイベントの数により、前記コンピュータで実行される前記少なくとも1つの電子取引の時間の平均期間を割るとによって、平均フレーム値を計算する命令と、
前記コンピュータで実行されるイベントの数により、前記コンピュータで実行される前記少なくとも1つの電子取引の時間の最小期間を割ることによって、最小フレーム値を計算する命令と、
前記平均フレーム値及び前記最小フレーム値のそれぞれの逆数を計算する命令と、
各々の計算された逆数の平均値として、前記所定の時間間隔を更新する命令を、さらに含む、
請求項11に記載の非一時的なコンピュータ可読媒体。
【請求項13】
不正取引を検出するため、コンピュータ実行可能命令は、
前記コンピュータで実行される前記少なくとも1つの電子取引の時間を、等しい期間である複数のフレームに分割する命令と、
前記複数のフレームの各々でのイベントの数を集計する命令と、
前記複数のフレームの各々でのイベントの数の平均値と分散を計算し、且つ次の式に従って、コスト関数を計算する命令と、

(kは平均値、vは分散、Δは複数のフレーム各々における期間、nは、所定のアルゴリズムの調整の数)
前記計算されたコスト関数を最小化するように、前記所定の時間間隔を更新する命令を、さらに含む、
請求項11に記載の非一時的なコンピュータ可読媒体。
【請求項14】
コンピュータ実行可能命令は、不正取引を検出するために、
単一フレームとして、前記コンピュータで実行される前記少なくとも1つの電子取引の時間を設定する命令と、
前記単一フレームでの前記イベントの数を集計する命令と、
前記イベントの数が0より大きい場合、前記単一フレームを2つの等しいフレームに分割することを、追加の等しいフレームのうち1つがイベントの数0を有するまで続ける命令と、
イベントの数0を有する、1つの前記追加の等しいフレームのフレームサイズに基づいて、前記所定の時間間隔を更新する命令とをさらに含む、
請求項11に記載の非一時的なコンピュータ記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、米国特許法35 U.S.C.(a)-(d)に基づいて、2015年2月20日に出願されたロシア特許出願第2015105806について、優先権の利益を主張し、本明細書中に援用される。
【0002】
本開示は、一般的にコンピュータセキュリティの分野に関連しており、より具体的には、不正なオンライン取引を検出する、システムおよび方法である。
【背景技術】
【0003】
今日、様々なオンライン取引を実行するために用いることができるソフトウェアアプリケーションが多数存在する。多くの取引は、標準的なブラウザを用い、オンラインバンキングによって行われている。そして、個別の銀行クライアントも用いられ、特にモバイルプラットフォーム上での使用が浸透している。取引を実行するためにブラウザを使用している場合、ユーザは、通常、銀行のサイトに行き、認証(それは、例えば、SMSまたはトークンを使用する、二段階タイプであることが多い)を行い、その後、その人は、自分の資金について操作を実行することができる。
【0004】
驚くべきことではないが、オンライン決済の成長に伴って、ハッカーは、このサービス領域にますます興味を持つようになっており、不法に資金を移すために、取引データを傍受する方法を積極的に模索している。データの盗難は、一般的に、ユーザのコンピュータにインストールされた悪意のあるプログラムを使用して行われ、こうして、コンピュータに感染する。ほとんどの場合、このようなプログラムは、人気のあるインターネットブラウザを介してコンピュータに感染する。データが入力デバイス(例えば、キーボード又はマウス等)を介して入力される場合、または、データがウェブブラウザに送信される場合、に傍受される。たとえば、ブラウザに感染する悪意のあるプログラムは、ブラウザファイルへのアクセス権、訪れたウェブページの履歴、および、訪れたウェブページ用のユーザパスワードを取得する。キーロガーは、ルートキット技術の全範囲によって、キーボード又はマウスからのデータの入力を傍受し、スクリーンショットを取り、システム内でその存在を隠す。同様の技術はまた、ネットワークパケット(トラフィックスニファ)を傍受するために用いられ、伝送される傍受ネットワークパケットを傍受し、そこから、パスワード及びその他の個人データ等の貴重な情報を抽出する。感染は、コンピュータシステムに入りこむ様々なエクスプロイトを用い、ソフトウェアの脆弱性を利用することにより、最も頻繁に発生じることが理解されるべきである。
【0005】
署名照合、ヒューリスティック分析、プロアクティブ保護の使用、又は、信頼できるアプリケーションにおけるリスト(すなわち、ホワイトリスト)の使用等、既存のウイルス対策技術が存在することにより、ユーザのコンピュータ上の多くの悪意のあるプログラムを検出できるとはいえ、頻繁に現れるウイルスにおける新しい改変または変更の多くを常に識別することができるわけではない。したがって、解決策として、オンライン決済などのオンライン取引が、ユーザにとって安全であることを確実にする必要がある。
【0006】
オンラインサービス及び取引へ攻撃するハッキングの増加により、銀行はオンライン取引の真正性を検証する独自の方法を使用している。そのような検証は、悪意のあるプログラム(例えば、bots)の動作を特定するために、ユーザによって入力されたデータでの解析に基づいている。例えば、いくつかのシステムは、特定のデータ入力パラメータの値が過度に高い場合、それに付随する異常に基づいて不正行為を検出する。他のシステムは、(例えば、行われた取引の数等)特定のパラメータで過度に大きな変化がある場合、それに基づいて不正行為を検出することができる。
【0007】
しかし、従来のシステムは、偽陽性(第一種の誤り)を検出し、対処する方法を提供しておらず、金融機関が提供するサービスの品質(例えば、銀行、電子商取引のウェブサイト)は、未だに、このようなエラーの数に直結している。したがって、不正なオンライン取引を検出するためのシステム及び方法が改良される必要がある。
【発明の概要】
【0008】
不正なオンライン取引の検出を最適化するためのシステムおよび方法が開示される。一態様では、不正取引を検出するための例示的方法は、
通信インターフェースにより電子取引に関連するデータを受信する工程と、
そのデータは、少なくとも1つのユーザアクションデータとマルウェアアクションデータを含み、
電子取引が不正取引の可能性がある取引であるか否かを判断するために、電子メモリに保存された所定のアルゴリズムに基づいて、データをハードウェアプロセッサで解析する工程と、
不正取引の可能性がある取引が正当な電子取引であるか否かを、ハードウェアプロセッサで判断する工程と、
ハードウェアプロセッサにより、不正取引の可能性がある取引が正当な電子取引であると判断された場合、所定のアルゴリズムにおける操作パラメータをハードウェアプロセッサで調整する工程を含む。
【0009】
別の態様では、電子取引に関連するデータは、所定の時間間隔の間、要求された電子取引を遂行するようにコンピュータで実行されるイベントの数である。
【0010】
別の態様では、コンピュータで実行されるイベントは、
キーボード上のキーの起動回数、コンピュータのマウスのボタンの起動回数、マウス又はトラックボードの移動軌跡、ウェブページのダウンロード、ウェブページ上でリンクを選択する頻度、キーストロークのタイミング、および、キーストローク中のエラーの有無及びエラー修正、
のうち少なくとも1つを含む。
【0011】
別の態様では、所定の時間間隔は、所定のアルゴリズムの操作パラメータの少なくとも1つである。
【0012】
別の態様では、方法は、
コンピュータで実行されるイベントの数により、コンピュータで実行される電子取引の時間の平均期間を割ることによって、平均フレーム値を計算することと、
コンピュータで実行されるイベントの数により、コンピュータで実行される電子取引の時間の最小期間を割ることによって、最小フレーム値を計算することと、
平均フレーム値及び最小フレーム値のそれぞれの逆数を計算することと、
それぞれの計算された逆数の平均値として所定の時間間隔を更新することによって、
操作パラメータを調整する工程を含む。
【0013】
別の態様では、本方法は、
コンピュータで実行される電子取引の時間を、等しい期間である複数のフレームに分割することと、
複数のフレームの各々におけるイベントの数を集計することと、
複数のフレームの各々におけるイベントの数の平均値と分散を計算することと、
次の式に従って、コスト関数を計算することと、

kは平均値、vは分散、Δは複数のフレームの各々における期間、及び、nは所定のアルゴリズムの調整の数であり、
計算されたコスト関数を最小化にするように、所定の時間間隔を更新することによって、
操作パラメータを調整する工程を含む。
【0014】
別の態様で、本方法は、
単一のフレームとして、コンピュータで実行される電子取引の時間を設定することと、
単一のフレームでのイベントの数を集計することと、
イベントの数が0より大きい場合、単一のフレームを2つの等しいフレームに分割することと、
2つの等しいフレーム各々を2つの追加の等しいフレームにそれぞれ分割することを、追加の等しいフレームのうち1つがイベント数0を有するまで続けることと、
イベント数0を有する、1つの追加の等しいフレームのフレームサイズに基づいて、所定の時間間隔を更新することによって、操作パラメータを調整する工程を含む。
【0015】
別の態様では、不正取引を検出するためのシステムが開示され、本システムは、電子取引に関連するデータに対して構成される通信インターフェースとハードウェアプロセッサを含み、
ハードウェアプロセッサは、
電子メモリに保存される所定のアルゴリズムに基づいて、電子取引が不正取引の可能性がある取引であるか否かを判断するために、データを解析し、
不正取引の可能性がある取引が、正当な電子取引であるか否か判断し、
ハードウェアプロセッサにより、不正取引の可能性がある取引が正当な電子取引であると判断された場合、所定のアルゴリズムの操作パラメータを調整する、ように構成される。
【0016】
別の態様では、不正取引を検出するなどのためのコンピュータ実行可能命令を保存する非一時的なコンピュータ可読媒体が開示される。
命令は、
通信インターフェースにより、電子取引に関連するデータを受信する命令と、
不正取引の可能性がある取引が、正当な電子取引か否かを判断するために、電子メモリに保存された所定のアルゴリズムに基づいて、データをハードウェアプロセッサで解析する命令と、
不正取引の可能性がある取引が正当な電子取引であるか否かを、ハードウェアプロセッサで判断する命令と、
ハードウェアプロセッサにより、不正取引の可能性がある取引が正当な電子取引であることを判断された場合、所定のアルゴリズムにおける操作パラメータをハードウェアプロセッサで調整する命令
を含む。
【0017】
例示的態様における上記の簡単な概要は、本開示の基本的な理解を提供するのに役立つ。この概要は、企図される全ての態様における広範な概観ではない。つまり、すべての態様における主要または重要な要素を特定することでもなく、本開示の任意の範囲又は全ての態様を区切ることでもないということを意図している。その唯一の目的は、以下にある本開示のより詳細な説明の前置きとして、簡略化された形式で1つまたは複数の態様を提示することである。前述の達成のために、本開示の1つまたは複数の態様は、特許請求の範囲に記載され、特に指摘される特徴を含む。
【図面の簡単な説明】
【0018】
添付の図面は、本明細書に組み込まれ、その一部を構成し、本開示における1つまたはそれ以上の例示的な態様を示し、詳細な説明と共に、それらの原理および実装を説明するのに役立つ。
図1図1は、オンライン取引に対するユーザアクションの一例であるヒストグラムを示す。
図2図2は、不正なオンライン取引の検出において偽陽性を識別するシステムの一例を示す。
図3図3は、不正なオンライン取引の検出において偽陽性を識別する方法の一例を示す。
図4図4は、例示的態様に従って実装され、開示されたシステムおよび方法における、汎用コンピュータシステム(パーソナルコンピュータ又はサーバであってもよい)の一例を示す。
【詳細な説明】
【0019】
開示されたシステムおよび方法は、不正なオンライン取引の検出において、オンライン不正行為及び偽陽性の識別を防止するため、従来の解決における欠点を解消する。例示的態様は、コンピュータ上で不正な取引を検出するためのシステム、方法及びコンピュータプログラム製品における文脈で本明細書に記載されている。当業者は、以下の説明は単なる例示であり、決して限定であることを意図するものではないことを理解するであろう。他の態様は、この開示の利益を有する当業者にとって、容易に示されるものである。参照は、添付の図面に示されるように、例示的態様の実装において詳細な説明がなされる。同じ参照指標は、図面及び以下の説明全体を通じて可能な限り、同一または同様の項目を参照するように用いられる。
【0020】
概して、ユーザが銀行ウェブサイトでの資金を用いてオンライン購入を試み、一連のアクションを実行しようとすると、以下の一連のアクションを実行することになるだろう。しかし、それに限定されるものではない。例えば、そのアクションとは、マウス又はキーボードのキーを押すこと、特定のページを読込み、取引の実行、データ入力/出力の実行、オンライン取引などに関連する他のアクションの実行等である。セッションは、特定のフレームワーク(一般的には、時間間隔)によって制限されている一連のユーザアクションである。時間間隔は、(例えば、10分)に固定され、または、特定のパラメータ(例えば、サイトへのユーザの出入りにより決まるセッション時間)に依存する。
【0021】
図1は、オンライン取引に対するユーザアクションのヒストグラムを示す。示されるように、ヒストグラム100は、時間に応じるユーザアクションの数を示す。例示的な目的のために、図1は、ヒストグラム100が、単一のユーザセッションを表していることを前提としている。具体的には、各列120は、与えられた時間区分(例えば、1秒)におけるアクションの典型的な数を示している。一連の列120は、フレーム110を形成し、そのサイズは可変である。したがって、当業者は、セッションが複数のフレームを含むことができることを理解するであろう。本開示の目的のために、セッションが1つまたは複数のフレーム110を含むことが想定される。解析の観点から、フレーム110は、不正取引を識別するロジックに用いられる。一般的に、本明細書で開示されるシステムおよび方法は、偏差(例えば、異常)を識別するために、選択されたフレーム110内で発生するイベントの解析が行われ、次に、それは、悪意のあるプログラム(例:マルウェア)によって実行される不正取引と解釈される可能性がある。
【0022】
開示されたシステムおよび方法は、ユーザのアクションに絡む偽陽性を排除することができるように、フレーム110サイズの選択における問題を解決する。
【0023】
図2は、不正なオンライン取引を検出する間に、偽陽性を識別するための例示的なシステム230を示している。例示的な態様では、悪意のあるプログラム280は、ユーザのコンピュータ210にインストールされることが可能であり、ユーザが知ることなく、ユーザのコンピュータ210からの1つまたは複数の不正な取引を実行することができる。取引データは、その後、銀行のウェブサービス240又は支払いサービスに伝送され、通常、サーバ側(バックエンド、図2には図示せず)で取引を実行するために処理される。不正アクションの観点から取引を評価するために、取引データは、ユーザアクションデータ、及び/又は、マルウェアアクションデータを含むことができ、不正な取引を検出するために、ルールデータベース260からのルールを使用するデータ解析モジュール250に提供される。
【0024】
検出方法は、上述したものと同様であり、時間の単位で行われるアクションの数等のデータに基づいていることが意図されている。一般的に、不正な取引は、人によって実行される通常の取引と比較して、異常の数によって特徴付けられる。例えば、人は、データ入力画面の要素を切り替える等のために、マウスを使用して、かなり長時間、取引においてデータを入力する。対照的に、データ入力の不正な方法を使用するトロイの木馬プログラムは、ユーザの取引とは一般的に異なっており、例えば、その実行時に、マウス又はキーボードからの実際のデータ入力が存在しないこと、データ入力はかなり速いこと、などがある。データ解析モジュール250は、不正取引の可能性がある取引を検出するために、これらの違いを判断することができる。
【0025】
一方、ユーザのアクションが不正取引の可能性がある取引に類似している場合、例えば、不正な取引を検出するため、調整不良のデータ解析モジュール又は間違ったルールにより、ユーザからの取引を遮断する時、偽陽性であることがかなりの可能性であるらしい。
偽陽性を排除又は低減するために、システム230は、調整モジュール270を含み、それは、データ解析ジュール250又はデータベース260の操作パラメータを変更するように構成される。
【0026】
例示的な態様では、ウイルス対策ソフトウェアなどのセキュリティモジュール220もコンピュータ210にインストールされ、ユーザ取引に関する追加情報を調整モジュール270に伝送する。セキュリティモジュール220は、概して、(当業者には理解されるように)悪意のあるプログラム280を検出するように構成されているが、ウイルス対策データベースがセキュリティモジュール220に更新されない場合、又は、それらの検出用のモジュールのスイッチが入ってない場合、この検出は常に可能であるというわけではない。
【0027】
図3は、不正取引の検出時の偽陽性を識別する例示的な方法を示す。図に示されるように、ステップ310で、取引データは取引中に収集される。収集したデータに基づいて、一つ又は複数の不正取引の可能性がある取引が、ステップ320で判断され、次に、本方法は、ステップ330で、取引データに基づいて、偽陽性の可能性をチェックする。偽陽性が識別されない場合、システムは、ステップ340で、通常モードで操作し続け、ステップ310から330を繰り返す工程を含むことができる。イベントにおいて偽陽性が識別される場合、システムは、ステップ350において操作パラメータを変更するように構成される。図3で示されるステップの詳細は、次に説明される。
【0028】
例示的な態様によれば、ステップ310は、データ解析モジュール250と連動して、ユーザのコンピュータ210から、及び/又は、銀行のウェブサービス240から情報を得ることを含むことができる。データは、1つ又は複数のフレーム110内で収集することができ、以下を含むが、それに限定されない。
(1)キーボードのキー又はマウスのボタンでの起動回数、
(2)マウス又はトラックボールの移動軌跡、
(3)ウェブページのダウンロード
(4)ウェブページ上のリンクをクリックする頻度(速度)、および
(5)ユーザによるデータ入力の特殊性(例えば、キーストローク間のポーズ、入力時のエラーの有無及びエラー修正、マウスの使用における特徴、ウェブページ等のデータ入力フィールドへの記入。)
【0029】
上述したように、本データ(ユーザのアクション又はイベントとみなすことができる)は、不正取引を判断するためのアルゴリズムに入力される。上述のように、類似の手段で動作する不正取引を検出するための多くの既知のアルゴリズムがあり、それは、悪意のあるプログラムからの取引が、実際のコンピュータのユーザによって実行される取引とは異なる場合に、一連の入力されたデータにおける異常を識別することに基づくアルゴリズムである。不正取引を検出するためのそのようなアルゴリズムの例は、米国特許8650080号、及び、米国特許公開2012/0204257に開示されており、両案件は、参照により本明細書に組み込まれる。
【0030】
しかしながら、前述したように、不正取引を検出するためのこれらのアルゴリズムは、偽陽性を識別してしまうこともありえる。つまり、アルゴリズムが、誤って不正として正当な電子取引を識別するかもしれない。これは、生じる可能性があり、例えば、取引の間のデータ入力でのユーザの特定の動作は、悪意のあるプログラムの動作モデルと部分的に似ている場合があり、これにより、取引が不正として識別され、データ解析モジュール250による遮断を引き起こすかもしれない。これらの間違いを修正するために、開示された方法は、ステップ330で偽陽性(すなわち、不正であると識別された正当な電子取引)を識別する。
【0031】
様々な態様において、偽陽性は異なる方法で識別することができる。
(1)失敗した電子取引に関する情報を有するコンピュータ210のユーザからの通知を受信する方法。(それは、正当な取引を識別するのに役立つ)
(2)不正な取引が実際には正当且つ安全であるという通知をセキュリティモジュール220から受信する方法。
および、当業者に知られている他の方法。
【0032】
偽陽性が検出されると、システム230は、ステップ350で実行される不正取引を検出するための上で示したアルゴリズム(複数可)の動作パラメータを変更するように構成される。一態様では、動作パラメータは、イベントの数に応じてフレーム110のサイズを変更することによって変更できる。
【0033】
一つの例示的な態様では、アルゴリズムのトレーニングは、以下を含むことができる。セッション(例えば、期間)でデータを収集すること。フレーム110の平均値を計算すること(例えば、セッションの平均期間をセッション中のイベントの平均数で割る)。フレーム110の最小値を計算すること(例えば、セッションの最小期間をセッション中のイベントの最小数で割る)。フレーム110の平均値と最小値の逆数を計算し、二つの計算された逆数における平均値として、フレームサイズ110を更新すること。
【0034】
別の例示的な態様では、アルゴリズムのトレーニングは以下を含むことができる。セッションを等しい期間のいくつかのフレーム110に分割すること。各フレーム110内のイベントの数を集計すること。各列120内のイベントの数の平均値と分散を計算すること。そして、以下の式に従ってコスト関数を計算すること。
kは平均値、Vは分散、Δはフレームサイズ、nはトレーニングセッションの数である。コスト関数が計算されると、フレームサイズ110は、コスト関数を最小化するために変更される。
【0035】
別の例示的な態様では、アルゴリズムのトレーニングは以下を含むことができる。セッション全体を1つフレーム110として取り扱うこと。フレーム110内のイベントの数を集計すること。イベントの数が0より大きい場合には、2つの等しいフレームに分割し、1つのフレームでイベントの数が0に等しくなるまで、前のステップを繰り返すこと。そして、前の手順であるフレーム分割の反復に基づいてフレームサイズを選択する。
【0036】
例示的な態様によれば、フレームサイズ110が選択/更新された後、検出された不正取引で偽陽性を識別するため、システム230は、新しい偽陽性を検出されるまで操作を続ける。別の態様によれば、システムは、以前の偽陽性における特定の数の蓄積に基づいて、偽陽性を検出することができる。さらに別の態様では、開示されたシステム230は、検出された不正取引の総数に対する偽陽性の割合が一定の閾値(例えば、0.01)を超える場合のみ、図3に示した手順を実行することができる。
【0037】
図4は、開示されたシステム(パーソナルコンピュータ又はサーバであってもよい)および方法は、例示的態様に従って実装することができる。コンピュータシステム20は、中央処理ユニット21、システムメモリ22及びシステムバス23を含み、システムバスは、様々なシステムコンポーネント(中央処理ユニット21に付随するメモリを含む)に接続している。システムバス23は、先行文献で知られている任意のバス構造のように実現され、順にバスメモリ又はバスメモリコントローラ、周辺バス、及びローカルバスを含み、それは、任意の他のバスアーキテクチャと相互作用することができる。システムメモリは、読み出し専用メモリ(ROM)24およびランダムアクセスメモリ(RAM)25を含む。基本入出力システム(BOIS)26は、パーソナルコンピュータ20の要素間で情報の転送を保証する基本的な手順を含み、ROM24を使用してオペレーティングシステムをロードする時にも同様である。
【0038】
パーソナルコンピュータ20は、順に、データの読み書き用ハードディスク27、リムーバブル磁気ディスク29への読み書き用磁気ディスクドライブ28、及び、リムーバブル光ディスク31(CD-ROM、DVD-ROM又は他の光情報媒体等)への読み書き用光ドライブ30を含む。
ハードディスク27、磁気ディスクドライブ28、及び光ドライブ30は、それぞれ、ハードディスクインターフェース32、磁気ディスクインタフェース33及び光ドライブインターフェース34を介してシステムバス23に接続されている。
ドライブ及び対応するコンピュータ情報媒体は、パーソナルコンピュータ20のコンピュータ命令、データ構造、プログラムモジュール、およびその他のデータを記憶するための電力に依存しないモジュールである。
【0039】
本開示は、ハードディスク27、リムーバブル磁気ディスク29およびリムーバブル光ディスク31を使用するシステムの実装を提供するが、コンピュータによって読み取り可能な形式でデータを保存することができる他のタイプのコンピュータ情報媒体56(ソリッドステートドライブ、フラッシュメモリカード、デジタルディスク、ランダムアクセスメモリ(RAM)等)を使用することも可能であることが理解されるべきであり、それらは、コントローラ55を介してシステムバス23に接続される。
【0040】
コンピュータ20は、ファイルシステム36を有し、そこには記録されたオペレーティングシステム35が保持され、および、追加プログラムアプリケーション37、他のプログラムモジュール38およびプログラムデータ39、もまた同様である。
ユーザは、入力デバイス(キーボード40、マウス42)で、パーソナルコンピュータ20に、コマンドと情報を入力することができる。他の入力デバイス(図示せず)として、マイクロホン、ジョイスティック、ゲームコントローラ、スキャナ等を用いることができる。そのような入力デバイスは、通常、シリアルポート46を介してコンピュータシステム20に接続され、それは、順番に、システムバスに接続される。それらは、他の方法(例えば、パラレルポート、ゲームポート、又はユニバーサルシリアルバス(USB))を用いて接続できる。モニター47又は他のタイプの表示デバイスもまた、ビデオアダプタ48などのインタフェースを介してシステムバス23に接続される。モニター47に加えて、パーソナルコンピュータは、ラウドスピーカー、プリンター等の他の周辺出力デバイス(図示せず)を搭載することができる。
【0041】
パーソナルコンピュータ20は、1つ又は複数のリモートコンピュータ49を用いて、ネットワーク環境で作業することができる。図4に示すように、リモートコンピュータ(複数可)49も、前述の要素の大部分又は全てを有するパーソナルコンピュータ又はサーバであり、その要素は、パーソナルコンピュータ20の本質を示している。ルータ、ネットワーク局、ピアデバイスまたは他のネットワークノード等、他のデバイスも、コンピュータネットワークに存在できる。
【0042】
ネットワーク接続は、有線および/または無線ネットワーク等のローカルエリアコンピュータネットワーク(LAN)50、およびワイドエリアコンピュータネットワーク(WAN)を形成することができる。このようなネットワークは、企業コンピュータネットワークと社内ネットワークで使用されており、これらは一般的にインターネットへのアクセス権を有している。LANまたはWANネットワークでは、パーソナルコンピュータ20は、ネットワークで使用しているネットワークアダプタまたはネットワークインタフェース51を介してローカルエリアネットワーク50に接続される。ネットワークが用いられる場合、パーソナルコンピュータ20は、インターネットのようなワイドエリアコンピュータネットワークとの通信を提供するため、モデム54または他のモジュールを使用する。モデム54は、内部または外部デバイスであり、シリアルポート46によってシステムバス23に接続される。ネットワーク接続は、単なる例であり、ネットワークの正確な構成を示す必要はないことに留意すべきである。すなわち、現実には、Bluetooth(登録商標)などの技術的な通信モジュールによる別のコンピュータの接続を確立する他の方法がある。
【0043】
様々な態様において、本明細書で説明するシステム及び方法は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組み合わせで実装することができる。ソフトウェアで実装する場合、その方法は、非一時的なコンピュータ可読媒体上の1つまたは複数の命令またはコードとして保存されることができる。コンピュータ可読媒体は、データ記憶を含む。コンピュータ可読媒体を以下に例示するが、限定するものではない。コンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROM、フラッシュメモリ、又は、他のタイプの電気的、磁気的、または光記憶媒体、又は他の任意の媒体、を備えることができ、命令またはデータ構造の形で所望のプログラムコードを搬送又は保存するために用いられ、汎用コンピュータのプロセッサによってアクセスすることができる。
【0044】
様々な態様では、システムおよび方法は、モジュールの観点から、本開示で説明される。本明細書で使用される用語「モジュール」とは、現実世界のデバイス、コンポーネント、または、ハードウェアを用いて実装されたコンポーネントの配置を言及しており、例えば、または、ハードウェアとソフトウェアの組み合わせとして、特定用途向け集積回路(ASIC)またはフィールド・プログラマブル・ゲート・アレイ(FPGA)などによって実装され、モジュールの機能を実装するマイクロプロセッサシステムと命令セットなどによって、(実行される間に)マイクロプロセッサシステムを専用のデバイスに変換される。モジュールも、2つの組合せとして実装されることができ、ハードウェアだけによって容易とされる特定の機能、および、ハードウェアとソフトウェアの組み合わせによって容易とされる他の機能と、これらの組み合わせとして実現することができる。特定の実施態様では、少なくとも一部、およびいくつかのケースでは、モジュールのすべては、(例えば、図3上部に詳細に説明したもののように)汎用コンピュータのプロセッサ上で実行することができる。したがって、各モジュールは、適切な様々な構成で実現することができ、そして本明細書中に任意の例示的な実施形態に限定されるものではない。
【0045】
明瞭にするために、態様のルーチン機能のすべてが、本明細書に開示されているわけではない。本開示における任意の実際の実装における開発で、多数の実装固有の決定が、開発者の特定の目標を達成するためになされなければならないことが理解されるであろう。さらに、これらの具体的な目標は、異なる実装及び異なる開発者に対して変化することが理解されるであろう。そのような開発努力は複雑で時間がかかるかもしれないが、それでも本開示の利益を有する当業者にとっては、エンジニアリングの日常の仕事であると理解されるであろう。
【0046】
さらに、本明細書で使用される用語又は表現は、説明のためであり、制限するものではなく、つまり、関連技術の熟練の知識と組み合わせて、本明細書の用語または表現は、ここに示される教示及び指針に照らして当業者によって解釈されるべきであることが理解されるべきである。
明示的な記載がない限り、明細書または特許請求の範囲内で、任意の用語に対して、珍しいまたは特別な意味を帰することは意図されていない。
【0047】
本明細書で開示された様々な態様は、例示のために本明細書に言及した既知のモジュールの、現在および将来の既知の均等物を包含する。さらに、態様および用途を示し、説明してきたが、本明細書に開示された発明の概念から逸脱することなく、上述したよりも多くの改変が可能であることが、この開示の利益を有する当業者には明らかであろう。
図1
図2
図3
図4