(57)【特許請求の範囲】
【請求項１】
ユーザトランザクションにおける不正行為を検出する方法であって、工程A〜工程Dを含み、
前記工程Aでは、入力装置を介してユーザが行っているリモートサーバとの対話用の１つ又は複数のコンピューティングデバイス上のアプリケーションのグラフィカルインターフェイスの要素群との対話を特定するユーザ行動データを収集し、
前記工程Bでは、前記ユーザ行動データに行動分類アルゴリズムを適用することにより、前記グラフィカルインターフェイスの要素群ごとに異常ユーザ行動係数をプロセッサが算出し、前記行動分類アルゴリズムは、前記アプリケーションの1つ以上の前記グラフィカルインターフェイスの要素群との前記ユーザの対話が、ソフトウェアによって模倣されたものであるかを認識するように構成され、
前記工程Cでは、前記異常ユーザ行動係数の組合せが所定の閾値を超えた場合に前記不正行為を前記プロセッサによって検出し、
前記工程Dでは、前記不正行為の検出に応じて前記ユーザによる前記サーバとの対話を前記プロセッサによってブロックし、
前記不正行為を検出した場合、コンピューティングデバイス上で実行している第2アプリケーションを、前記グラフィカルインターフェイスとの前記ユーザの対話中の前記ユーザ行動データの前記第2アプリケーションによるアクセスに基づいて決定する工程と、前記第2アプリケーションを悪意あるものとして分類する工程とをさらに含む、
方法。
【請求項２】
前記ユーザによる前記１つ又は複数の要素群との対話は、銀行業務アプリケーション、銀行のウェブサイト、又は現金自動預け払い機のうちの1つを介した金融取引を行うユーザを含む、請求項１に記載の方法。
【請求項３】
前記工程Ａは、データのハッシュサムを生成することによって前記ユーザ行動データの非個人化を実行する工程をさらに含む、請求項１に記載の方法。
【請求項４】
前記ユーザの既知の行動を用いて前記行動分類アルゴリズムに学習させる工程をさらに含む、請求項１に記載の方法。
【請求項５】
前記異常ユーザ行動係数は、前記ユーザ行動データに単純な確率的分類法からなる前記行動分類アルゴリズムを適用して計算した数値である、請求項１に記載の方法。
【請求項６】
前記工程Ｃは、工程Ｃ１〜工程Ｃ４のうち１つ又は複数の工程を含み、
前記工程Ｃ１では、前記グラフィカルインターフェイス要素群へのユーザアクセス回数を算出し、
前記工程Ｃ２では、別のグラフィカルインターフェイス要素群へのアクセスを前記ユーザが対話を通じて得ることを可能にする前記グラフィカルインターフェイス要素群の数を算出し、
前記工程Ｃ３では、前記ユーザがトランザクションを完了させるのに必要な基本操作の数を算出し、該基本操作は、マウスカーソルの移動、入力装置のキープレス、画面の表面からリフトオフすることなく行われる前記コンピューティングデバイスの画面上での前記ユーザの指またはスタイラスの移動、前記ユーザの指又はスタイラスの前記コンピューティングデバイスの画面への接触、のうちの１つ又は複数操作を含み、
前記工程Ｃ４では、既定期間内に前記ユーザの代わりに行われる前記不正行為の既知のケース数を算出する、
請求項１に記載の方法。
【請求項７】
前記不正行為の検出に応じて、前記不正行為を行ったアプリケーションを悪意があるアプリケーションとして分類する工程を含む、請求項１に記載の方法。
【請求項８】
ユーザトランザクションにおける不正行為を検出するシステムであって、
プロセッサを備え、
前記プロセッサは、
入力装置を介してユーザが行っているリモートサーバとの対話用の１つ又は複数のコンピューティングデバイス上のアプリケーションのグラフィカルインターフェイスの要素群との対話を特定するユーザ行動データを収集し、
前記ユーザ行動データに行動分類アルゴリズムを適用することにより、前記グラフィカルインターフェイスの要素群ごとに異常ユーザ行動係数を前記プロセッサが算出し、前記行動分類アルゴリズムは、前記アプリケーションの1つ以上の前記グラフィカルインターフェイスの要素群との前記ユーザの対話が、ソフトウェアによって模倣されたものであるかを認識するように構成され、
前記異常ユーザ行動係数の組合せが所定の閾値を超えた場合に不正行為を前記プロセッサによって検出し、
前記不正行為の検出に応じて前記ユーザによる前記アプリケーションとの対話を前記プロセッサによってブロックし、
前記不正行為を検出した場合、コンピューティングデバイス上で実行している第2アプリケーションを、前記グラフィカルインターフェイスとの前記ユーザの対話中の前記ユーザ行動データの前記第2アプリケーションによるアクセスに基づいて決定し、前記第2アプリケーションを悪意あるものとして分類するように構成される、
システム。
【請求項９】
前記ユーザによる前記１つ又は複数の要素群との対話は、銀行業務アプリケーション、銀行のウェブサイト、又は現金自動預け払い機のうちの1つを介した金融取引を行うユーザを含む、請求項８に記載のシステム。
【請求項１０】
前記プロセッサは、前記ユーザ行動データの収集において、データのハッシュサムを生成することによって前記ユーザ行動データの非個人化を実行するようにさらに構成されている、請求項８に記載のシステム。
【請求項１１】
前記プロセッサは、前記ユーザの既知の行動を用いて前記行動分類アルゴリズムに学習させるようにさらに構成されている、請求項８に記載のシステム。
【請求項１２】
前記異常ユーザ行動係数は、前記ユーザ行動データに単純な確率的分類法からなる前記行動分類アルゴリズムを適用して計算した数値である、請求項８に記載のシステム。
【請求項１３】
前記異常ユーザ行動係数の算出は、計算１〜計算４の計算のうち１つ又は複数の計算を含み、
前記計算１は、前記グラフィカルインターフェイス要素群へのユーザアクセス回数を算出し、
前記計算２は、別のグラフィカルインターフェイス要素群へのアクセスを前記ユーザが対話を通じて得ることを可能にする前記グラフィカルインターフェイス要素群の数を算出し、
前記計算３は、前記ユーザがトランザクションを完了させるのに必要な基本操作の数を算出し、該基本操作は、マウスカーソルの移動、入力装置のキープレス、画面の表面からリフトオフすることなく行われる前記コンピューティングデバイスの画面上での前記ユーザの指またはスタイラスの移動、前記ユーザの指又はスタイラスの前記コンピューティングデバイスの画面への接触、のうちの１つ又は複数操作を含み、
前記計算４は、既定期間内に前記ユーザの代わりに行われる前記不正行為の既知のケース数を算出する、
請求項８に記載のシステム。
【請求項１４】
前記プロセッサは、前記不正行為の検出に応じて、前記不正行為を行ったアプリケーションを悪意があるアプリケーションとして分類するように構成されている、請求項８に記載のシステム。
【請求項１５】
ユーザトランザクションにおける不正行為を検出するためのコンピュータ実行可能命令を格納する非一過性の記録媒体であって、前記命令は、命令A〜命令Dを含み、
前記命令Aは、入力装置を介してユーザが行っているリモートサーバとの対話用の１つ又は複数のコンピューティングデバイス上のアプリケーションのグラフィカルインターフェイスの要素群との対話を特定するユーザ行動データを収集させ、
前記命令Bは、前記ユーザ行動データに基づいて、前記グラフィカルインターフェイスの要素群ごとに異常ユーザ行動係数をプロセッサによって算出させ、前記行動分類アルゴリズムは、前記アプリケーションの1つ以上の前記グラフィカルインターフェイスの要素群との前記ユーザの対話が、ソフトウェアによって模倣されたものであるかを認識するように構成され、
前記命令Cは、前記異常ユーザ行動係数の組合せが所定の閾値を超えた場合に前記不正行為を前記プロセッサによって検出させ、
前記命令Dは、前記不正行為の検出に応じて前記ユーザによる前記アプリケーションとの対話を前記プロセッサによってブロックさせ、
前記不正行為を検出した場合、コンピューティングデバイス上で実行している第2アプリケーションを、前記グラフィカルインターフェイスとの前記ユーザの対話中の前記ユーザ行動データの前記第2アプリケーションによるアクセスに基づいて決定させ、前記第2アプリケーションを悪意あるものとして分類させる命令をさらに含む、
記録媒体。
【請求項１６】
前記ユーザによる前記１つ又は複数の要素群との対話は、銀行業務アプリケーション、銀行のウェブサイト、又は現金自動預け払い機のうちの1つを介した金融取引を行うユーザを含む、請求項１５に記載の記録媒体。
【請求項１７】
前記命令Ａは、データのハッシュサムを生成することによって前記ユーザ行動データの非個人化を実行させる命令をさらに含む、請求項１５に記載の記録媒体。
【請求項１８】
前記ユーザの既知の行動を用いて前記行動分類アルゴリズムに学習させる命令をさらに含む、請求項１５に記載の記録媒体。
【請求項１９】
前記異常ユーザ行動係数は、前記ユーザ行動データに単純な確率的分類法からなる前記行動分類アルゴリズムを適用して計算した数値である、請求項１５に記載の記録媒体。
【請求項２０】
前記命令Ｃは、命令Ｃ１〜命令Ｃ４のうち１つ又は複数の命令を含み、
前記命令Ｃ１は、前記グラフィカルインターフェイス要素群へのユーザアクセス回数を算出させ、
前記命令Ｃ２は、別のグラフィカルインターフェイス要素群へのアクセスを前記ユーザが対話を通じて得ることを可能にする前記グラフィカルインターフェイス要素群の数を算出させ、
前記命令Ｃ３は、前記ユーザが前記トランザクションを完了させるのに必要な基本操作の数を算出させ、該基本操作は、マウスカーソルの移動、入力装置のキープレス、画面の表面からリフトオフすることなく行われる前記コンピューティングデバイスの画面上での前記ユーザの指またはスタイラスの移動、前記ユーザの指又はスタイラスの前記コンピューティングデバイスの画面への接触、のうちの１つ又は複数操作を含み、
前記命令Ｃ４は、既定期間内に前記ユーザの代わりに行われる前記不正行為の既知のケース数を算出させる、
請求項１５に記載の記録媒体。
【請求項２１】
前記不正行為の検出に応じて、前記不正行為を行ったアプリケーションを悪意があるアプリケーションとして分類させる命令を含む、請求項１５に記載の記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
【０００２】
本出願は、米国特許法第１１９条（ａ）〜（ｄ）（３５ＵＳＣ  １１９（ａ）−（ｄ））下の優先権の利益を主張する。２０１６年２月１８日に出願されたロシア特許出願２０１６１０５５５８号は、本明細書中に参照として援用されるものとする。
【０００３】
本願は、概してコンピュータセキュリティに関し、特に不正なユーザトランザクションを検出するシステムおよび方法に関する。
【背景技術】
【０００４】
様々なコンピューティングデバイス（例えば、コンピュータ、タブレット、ノートＰＣ、スマートフォンなど）が、日常業務を簡素化するために人々によってますます使用されている。例えば、新聞を読むため、電子メールやインスタントメッセージングサービスによって対話するため、インターネット上で買い物をするためなどに使用されている。コンピューティングデバイスの使用の重要な分野の一つは、資金のリモート管理やオンラインバンキングである。資金のリモート管理はある銀行口座から別の銀行口座へ資金を移すための非常に便利な方法であるが、この資金の管理方法はそれほど安全ではない可能性がある。インターネットにせず属されている世界中のすべてのコンピューティングデバイスが犯罪者によって攻撃される可能性があり、また、資金を管理するために上述のコンピューティングデバイスを使用する人の資金は危険に晒されいる。
【０００５】
犯罪者（例えば、キートラッカーなどの悪意あるソフトウェアを用いて資金管理のための口座記録を盗む犯罪者）からユーザを保護するために、銀行は一般的に多要素認証を採用している。多要素認証は、銀行口座の所有者以外の誰かが資金へのアクセス権を得る可能性を低くすることが可能である。多要素認証を用いる場合には、ユーザが特定のサービスを受けるためにいくつかの方法で自分の身元を確認必要がある（例えば、対応する口座記録のログイン名とパスワードを入力し、さらにＳＭＳメッセージを介して提供されるワンタイムパスワードを入力する方法）。しかしながら、犯罪者が多要素認証のために使用されるすべてのデバイスへのアクセスが可能な状況があり得る。そのため、セキュリティを提供する他の方法が、ユーザおよびその資金の安全性を確保するために必要とされている。
【発明の概要】
【０００６】
本発明は、リモート銀行サーバと対話するユーザの行動の異常を検出するためのより効果的な解決手段を提供する。本発明の技術的成果の一つは、ユーザトランザクションにおける不正行為からリモート銀行サーバを保護することで構成される。該保護は、リモート銀行サーバとユーザのコンピューティングデバイスとの対話中に不正行為が検出された場合に、リモート銀行サーバとユーザデバイスとの対話をブロックすることにより行われる。
【０００７】
一実施形態によれば、ユーザトランザクションにおける不正行為を検出する方法は、工程Ａ〜工程Ｄを含み、工程Ａでは、１つ又は複数のコンピューティングデバイス上のアプリケーションのグラフィカルインターフェイスの要素群との対話を入力装置を介してユーザが行っている間にユーザ行動データを収集し、工程Ｂでは、ユーザ行動データに基づいて、グラフィカルインターフェイスの要素群ごとに異常ユーザ行動係数をプロセッサが計算し、工程Ｃでは、異常ユーザ行動係数の組合せが所定の閾値を超えた場合に不正行為をプロセッサによって検出し、工程Ｄでは、不正行為の検出に応じてユーザによるアプリケーションとの対話をプロセッサによってブロックする。
【０００８】
別の実施形態によれば、ユーザによる１つ又は複数の要素群との対話は、銀行業務アプリケーション、銀行のウェブサイト、又は現金自動預け払い機のうちの１つを介した金融取引を行うユーザを含む。
【０００９】
別の実施形態によれば、上記工程Ａは、データのハッシュサムを生成することによって上記ユーザ行動データの非個人化を実行する工程をさらに含む。
【００１０】
別の実施形態によれば、上記工程Ｂは、既知のユーザの行動を用いて行動分類アルゴリズムを学習する工程をさらに含む。
【００１１】
別の実施形態によれば、異常ユーザ行動係数は、上記ユーザ行動データに単純な確率的分類法を適用して計算した数値である。
【００１２】
別の実施形態によれば、上記工程Ｃは、工程Ｃ１〜工程Ｃ４のうち１つ又は複数の工程を含み、工程Ｃ１では、グラフィカルインターフェイス要素群へのユーザアクセス回数を算出し、工程Ｃ２では、別のグラフィカルインターフェイス要素群へのアクセスをユーザが対話を通じて得ることを可能にするグラフィカルインターフェイス要素群の数を算出し、工程Ｃ３では、ユーザがトランザクションを完了させるのに必要な基本操作の数を算出し、該基本操作は、マウスカーソルの移動、入力装置のキープレス、画面の表面からリフトオフすることなく行われるコンピューティングデバイスの画面上でのユーザの指またはスタイラスの移動、ユーザの指又はスタイラスの前記コンピューティングデバイスの画面への接触、のうちの１つ又は複数操作を含み、工程Ｃ４では、既定期間内にユーザの代わりに行われる不正行為の既知のケース数を算出する、。
【００１３】
別の実施形態によれば、不正行為の検出に応じて、上記方法は、不正行為を行ったアプリケーションを悪意があるアプリケーションとして分類する工程を含む。
【００１４】
一実施形態によれば、ユーザトランザクションにおける不正行為を検出するシステムは、プロセッサを備え、該プロセッサは、１つ又は複数のコンピューティングデバイス上のアプリケーションのグラフィカルインターフェイスの要素群との対話を入力装置を介してユーザが行っている間にユーザ行動データを収集し、収集されたユーザ行動データに基づいて、グラフィカルインターフェイスの要素群ごとに異常ユーザ行動係数をプロセッサが算出し、異常ユーザ行動係数の組合せが所定の閾値を超えた場合に不正行為をプロセッサによって検出し、不正行為の検出に応じてユーザによるアプリケーションとの対話をプロセッサによってブロックするように構成される。
【００１５】
上述した実施形態の簡単な説明は、本発明の基本的な理解を提供するのに役立つ。この概要は、全ての考えられる側面の詳細な展望ではなく、全ての側面の鍵となるものや決定的な要素を特定することを意図していないし、本発明の全ての側面を描写することも意図していない。その唯一の目的は、前置きとして、１つ又は複数の側面を表し、その後、本発明のより詳細な説明に続くものである。これを達成するため、本発明の１つ又は複数の側面が説明されて、特許請求の範囲においても主張される。
【図面の簡単な説明】
【００１６】
添付図面は、詳細な説明と共に、本明細書に組み込まれ、その一部を構成し、本開示における１つ又は複数の実施態様を示し、それらの原理および実装の説明に寄与する。
【００１７】
【図１】不正なユーザトランザクションを検出するシステムの例のダイアグラムを示す。
【００１８】
【図２】アプリケーションのグラフィカルインタフェイス要素とユーザとの対話の例を示す。
【００１９】
【図３】不正なユーザトランザクションを検出する方法の例のフローダイアグラムを示す。
【００２０】
【図４】本開示のシステムおよび方法の一実施形態を実施することが可能な手段による汎用コンピュータシステムを示す。
【発明を実施するための形態】
【００２１】
例示する実施形態は以下、不正なユーザトランザクションを検出するシステム、方法、コンピュータプログラム製品として説明される。当業者であれば、以下の記載はあくまでも例示であり、あらゆる制限をも意図するものではないことは当然に意味するところである。本発明が利益となる分野の当業者であれば、別例をも容易に示唆されることであろう。添付の図面ではその詳細を示すための参照符号が付されている。図面と以下の記載において、同一の又はそれに相当するものについては、同一の参照符号を用いるものとする。
【００２２】
本明細書の開示は、変形例の説明を容易とするために用いられる多くの定義および概念提供する。以下の定義は、例示的な態様の目的のために提供されることが理解されるべきである。
【００２３】
悪意のあるアプリケーションは、コンピュータまたはコンピュータのユーザに害を与えることが可能な、例えば、インターネットワーム、キートラッカー、またはコンピュータウイルスなどのアプリケーション（ソフトウェア）である。与えられた害は、コンピュータに保存されたデータを含むコンピュータのリソースへの盗み目的の不正アクセスや、データ保存のためなどのリソースの不正使用、計算実行などであるかもしれない。
【００２４】
ユーザの行動に関するデータは、少なくともコンピューティングデバイスの入力装置によって得られる情報である。かかる情報は、コンピューティングデバイスの入力装置の使用に関するデータ、例えば、キーストローク、タッチ画面を押した座標、タッチ画面上の指又はスタイラスの軌道などのデータを含み得る。一般的な場合において、かかる情報は、コンピューティングデバイスがユーザによってどのよう、そしてどのような環境下で使用されたかを記述している。
【００２５】
異常ユーザ行動係数は、数値が大きい場合には、当該ユーザの行動（収集され、当該係数の算出に用いられるデータ）としての特徴がより小さい（乏しい）ことを示す。一例では、ナイーブベイズ分類法を異常係数の計算のために使用することが可能であり、グラフィカルインターフェイス要素群との対話中のユーザ行動データに適用される。
【００２６】
基本操作は、コンピューティングデバイスに関して動作するデバイスによるユーザの操作である。基本操作は、限定されないが、例えば、マウスカーソルの移動、入力装置のキープレス、画面の表面からリフトオフすることなく行われるコンピューティングデバイス画面上でのユーザの指またはスタイラスの移動、ユーザの指又はスタイラスのコンピューティングデバイス画面への接触などである。
【００２７】
不正行為は、ユーザデバイスの使用、又は上記操作を実行するためのユーザが所有する口座記録の使用により、ユーザに知られることなく行われるリモート銀行サーバとの対話である。上記操作は、アプリケーションの助けにより行われる。既知の不正行為に関する情報、例えば、不正行為の日付、確かにそれが不正行為であったか（誤報ではない）の表示などは、モート銀行サーバ上のデータベースに格納されていることがある。かかる情報は、該当する情報を所有している銀行員によってデータベースに追加され得る。
【００２８】
リモート銀行サーバとの対話の１つの目的は、リモートサーバが関与する取引を行うことであろう。また、リモート銀行サーバとの対話の別の目的は、資金に関する他の何らかの操作（特定の銀行口座に存在する資金に関する情報を取得するなど）であろう。かかる対話は、ユーザの名前で、ユーザまたは第三者のいずれかによって行うことが可能であり、例えば、ユーザデバイス又はユーザが所有する口座記録を介し上記対話がユーザに知られることなく行われ得る。なお、誰がリモート銀行サーバと対話を行ったとしても、該対話は特定のコンピューティングデバイスを用いて行われることが理解されるべきである。人物（ユーザ）は、ユーザのコンピューティングデバイス上にインストールされているアプリケーション（その種類と特徴については後述する）によってリモート銀行サーバと対話する。
【００２９】
図１は、ユーザのコンピューティングデバイスを介して行われるリモート銀行サーバとの不正なユーザトランザクションを検出するシステムの例のダイアグラムを示す。コンピューティングデバイス１００は、リモート銀行サーバ１５０との対話のためにユーザによって使用される。コンピューティングデバイス１００は、コンピュータ、ノートパソコン、スマートフォン、タブレット又はプロセッサとランダムアクセスメモリを備えた他のデバイス（スマートウォッチの腕時計など）であってよい。コンピューティングデバイスの一例のダイアグラムを図４に示す。リモート銀行サーバ１５０は、ユーザデバイス１００との対話を行うハードウェア群およびソフトウェアコンポーネントをユーザの資金を管理するために備える。一実施形態においては、銀行サーバ１５０は、コンピューティングデバイス１００と同一のコンピューティングデバイスである。別の実施形態においては、銀行サーバ１５０は、コンピューティングデバイス群であり、リモート銀行サーバ１５０を構成するリソースがそのコンピューティングデバイス上に配置される。一実施形態においては、リモート銀行サーバ１５０は銀行が所有する（金融の分野で活動を行う法人）。コンピューティングデバイス１００を使用している間、ユーザはリモート銀行サーバ１５０と対話し、資金の管理や送金、口座残高の確認などを行う。デバイス１００は、犯罪者によっても使用される可能性があることが理解されるべきである。このような場合には、銀行サーバ１５０との対話は、ユーザによる場合と同じように実行される。正式には、このような場合には、リモート銀行サーバとの対話は、反していること（不正行為が検出されるなど）が証明されない限りユーザによって実行される。
【００３０】
リモート銀行サーバ１５０との対話のために、コンピューティングデバイス１００のユーザはアプリケーション１１０を使用する。そのアプリケーション１１０は、リモート銀行サーバ１５０のウェブクライアントへユーザがアクセスを行うインターネットブラウザであるかもしれず、又はコンピューティングデバイス１００のハードウェアプラットフォーム（ネイティブアプリケーション）のために開発されたアプリケーション（アプリケーション一実施形態によれば、例えば、銀行からの発注により作成された、Ａｎｄｒｏｉｄ、ｉＯＳ、Ｗｉｎｄｏｗｓ、Ｕｎｉｘなどの異なるファミリーのオペレーティングシステム（ＯＳ）のためのアプリケーション）である。
【００３１】
アプリケーション１１０は、リモート銀行サーバ１５０との対話のためのアプリケーションのグラフィカルインターフェイスの一連の要素群をユーザに表示する。一実施形態においては、そのようなアプリケーションのグラフィカルインターフェイス１１５の要素は、ボタン、入力フィールド、情報（テキストとグラフィックスを含む。）を表示するためのフィールド、チェックボックスインタフェイス要素、スクロールバー、およびユーザのリモート銀行サーバ１５０との（デバイス１００を介した）対話によって用いられるその他のグラフィカルインターフェイスの要素であってよい。一実施形態においては、アプリケーション１１０内で表示されるコンテンツへのアクセスのため、ユーザはデバイス１００のユーザの身元を確かめるためにリモート銀行サーバ１５０によって要求される認証をパスする必要がある。一実施形態においては、上記デバイス１００のユーザの認証は、アカウント名およびパスワードを用いた銀行サーバ１５０による確認を以って行われ得る。別の実施形態においては、デバイスの所有者のみがデバイス１００を使用可能であることを想定し、上記認証はデバイス認証に基づいて行われ得る。
【００３２】
一実施形態においては、アプリケーション１１０は、グラフィカルインターフェイスの要素１１５との対話中のユーザの行動に関するデータを収集するように構成された行動測定モジュール１２０を含む。モジュール１２０は、グラフィカルインターフェイスの要素をグループ化し、該グループ（群）を構成するグラフィカルインターフェイスの要素とユーザとの対話に基づくデータを収集するようにさらに構成されている。グラフィカルインターフェイスの要素との対話は、グラフィカルインターフェイスの要素を介した入力（ボタンを押すことやテキストフィールドにデータを入力）データ、上記要素が表示されている画面の領域上でのカーソルの移動（指またはスタイラスの動き）を少なくとも含む。このようなグループ化の結果の例は、テキスト入力フィールドのみからなる群、テキスト入力フィールドおよびボタンからなる群、またはアプリケーション１１０によってユーザに表示されているグラフィカル要素の全てを含む群（例えば、アプリケーション１１０のウィンドウのインターフェイス１１５の一連のグラフィカル要素群、またはアプリケーション１１０がウェブブラウザである場合にはユーザに表示されるウェブページのグラフィカルインターフェイス１１５の一連の要素群）であってよい。一実施形態においては、モジュール１２０は、アプリケーション１１０によってユーザに対して表示されるウェブページのコンポーネントとして実現される。例えば、（アプリケーション１１０がウェブブラウザである場合）ＪａｖａＳｃｒｉｐｔ言語によるスクリプトとして実現される。さらに別の実施形態においては、モジュール１２０は、アプリケーションライブラリとして実現され、アプリケーション１１０とともに銀行によって提供され得る。一実施形態においては、ユーザの行動に関するデータ収集は、対応するシステムのＡＰＩ関数の呼び出しによって（例えば、ＷｉｎｄｏｗｓＯＳにおいては"ＧｅｔＣｕｒｓｏｒＰｏｓｉｔｉｏｎ"）または対応するイベントハンドラ（例えば、ＯＳＡｎｄｒｏｉｄにおいては"ｏｎＴｏｕｃｈ"）から行われ得る。
【００３３】
ユーザの行動に関するデータは、入力装置によってデバイス１００に（そして、それよってアプリケーション１１０に）提供される情報を構成する。このような情報の量は、デバイス１００のハードウェアおよびソフトウェアに応じて異なってよい。例えば、デバイスの種類（スマートフォンやノートブックなど）、デバイス１００のＯＳファミリー、アプリケーション１１０のタイプ（ウェブブラウザか否か）に応じて異なる。
【００３４】
一実施形態においては、ユーザの行動に関するデータは、「マウス」型マニピュレータによって提供されるカーソルの座標（例えば、デバイス１００の画面上の座標）、およびボタンを押した／離した座標などの情報を含む。
【００３５】
別の実施形態においては、ユーザの行動に関するデータは、デバイス１００のキーボード（デバイス１００のタッチ画面上に表示されるキーボードを含む。）によって提供される押されたキーに対応するキーボード文字、および押された２または３つのキーの順序などの情報を含む。
【００３６】
さらに別の実施形態においては、ユーザの行動に関するデータは、デバイス１００のタッチ画面によって提供される画面を押した／離した座標、および画面を押す圧力などの情報を含む。
【００３７】
さらに別の実施形態においては、ユーザの行動に関するデータは、デバイス１００のマイクによって提供されるデジタル形式での録音などの情報を含む。
【００３８】
さらに別の実施形態においては、ユーザの行動に関するデータは、デバイス１００の照度センサによって提供されるセンサーの近くの光源の存在と強さなどの情報を含む。
【００３９】
さらに別の実施形態においては、ユーザの行動に関するデータは、デバイス１００の写真／ビデオカメラによって提供されるカメラで撮影した写真、およびカメラで記録されたビデオクリップなどの情報を含む。
【００４０】
さらに別の実施形態においては、ユーザの行動に関するデータは、デバイス１００の加速度計によって提供される空間内のデバイスの位置の変化に関する情報など情報を含む。
【００４１】
一実施形態においては、上記の情報に加えて、行動測定モジュール１２０は、上記の各イベントの時間に関する情報（上記のカーソルの移動、画面を押すなどの各イベントに対するタイムスタンプ）をさらに収集する。一実施形態においては、アプリケーション１１０がウェブブラウザである場合には、モジュール１２０によって収集される行動に関するデータ収集能力は、（スクリプトがＪａｖａＳｃｒｉｐｔ言語で記述されている場合）ＪａｖａＳｃｒｉｐｔによって提供される能力によって制限され得る。一実施形態においては、そのような制限が課された場合には、モジュール１２０は、「マウス」型マニピュレータ、デバイス１００のキーボード、およびデバイス１００のタッチ画面によって提供される情報を含む行動に関するデータを収集する。別の実施形態においては、アプリケーション１１０がウェブクライアントではない場合、行動測定モジュール１２０は行動に関するデータを収集するが、このデータへのアクセスはコンピューティングデバイス１００のＯＳリソースによって提供される。
【００４２】
一般的な場合において、収集された行動データ量は、デバイス１００のソフトウェアおよびハードウェアに依存する。
【００４３】
一実施形態においては、ユーザのコンピューティングデバイス１００は、セキュリティモジュール１３０を含んでいてもよい。セキュリティモジュール１３０は、ユーザがリモート銀行サーバ１５０とのトランザクションを行うためにグラフィカルインターフェイス１１５の要素群と対話する際の、ユーザ行動に関するデータへのコンピューティングデバイス１００のアプリケーションが行うアクセスについての情報を収集するように構成されている。このために、セキュリティモジュール１３０は、ユーザ行動に関するデータへのアクセスを担うシステム関数（例えば、「ＳｅｔＣｕｒｓｏｒＰｏｓ」関数）の呼び出しを記録していてもよい（これらの関数を呼び出したアプリケーションプロセスに関する情報を保存する。）。一実施形態においては、セキュリティモジュール１３０は、ユーザ行動に関するデータへのアクセスのための関数の呼出しをモジュール１３０が遮ることを可能にするＯＳコアレベルドライバを含む。
【００４４】
一実施形態においては、（「マウス」型マニピュレータによる）カーソル位置の変化によって、「マウス」デバイスの割り込みハンドラは、カーソル座標変更機能（例えば、「ＳｅｔＣｕｒｓｏｒＰｏｓ」）が呼び出され、カーソルは、結果的にコンピューティングデバイス１００の画面上での位置が変更される。セキュリティモジュール１３０は、割り込みハンドラからの要求を処理するドライバスタック内に埋め込まれたドライバを含み、そしてプロセスによるカーソルの座標変更に関する情報を受け取る（例えば、本当の「マウス」デバイスのドライバ、または悪意のあるアプリケーションなどの特定のアプリケーションのいずれであるか）。
【００４５】
一実施形態においては、セキュリティモジュール１３０は、ウイルス対策ソフトであってよい。
【００４６】
さらに別の実施形態においては、セキュリティモジュール１３０によって収集される情報は、モジュール１３０の一部であるデータベースに格納されてよい。
【００４７】
ユーザ行動に関するデータの収集後、行動測定モジュール１２０は、当該データを、デバイス１１０のユーザインターフェイス１１５のグラフィカル要素群との対話中に収集されたデータと共に、行動分類モジュール１６０へと中継し得る。さらに別の実施形態においては、行動測定モジュール１２０は、特定のグラフィカルインターフェイスの要素群（例えば、少なくとも５群のグラフィカルインターフェイスの要素）との対話の際のユーザ行動に関するデータ収集後にのみ、上記情報をモジュール１６０へ送信する。
【００４８】
モジュール１２０によって収集されたユーザ行動に関するデータを送信する前に、当該データはモジュール１２０による処理を受けることがある。例えば、カーソルの座標群は、カーソル移動の軌道に変換され、タッチ画面を押した点と、離した点の座標のグループは、画面上の指の動きの軌道に変換される（スワイプ）。一実施形態においては、ユーザ行動に関するデータは、モジュール１２０によって特定の時間（５分や２４時間など）収集され、行動分類モジュール１６０へ送信される。さらに別の実施形態においては、ユーザ行動に関するデータは、独立したグラフィカルインターフェイス１１５の要素群との対話中に収集されてよく、行動データはモジュール１２０によってモジュール１６０へ送られる。例えば、ユーザがあるグラフィカルインターフェイス１１５の要素群から別の要素群へカーソルを移動した場合、あるいは全体としてグラフィカルインターフェイス要素群を構成するあるウェブページから別のウェブページへ移動した場合に、行動データはモジュール１２０によってモジュール１６０へ送られる。
【００４９】
さらに別の実施形態においては、モジュール１２０は収集されたデータを次のように処理する。（全体をカーソルが移動する点の集合によって決定される）マウスカーソルの移動については、（例えば、終点と始点のカーソル位置の間）変位ベクトルが算出される。移動の始点に対して次への移動の一点からのカーソルの変位が計算され、移動速度とカーソルの各点での加速度、また、角速度および角加速度が算出される。
【００５０】
一実施形態においては、行動測定モジュール１２０は、収集したデータの「非個人化」を行うことが可能である（例えば、個人データ収集によるデバイス１００のユーザのプライバシー権侵害を回避するために、また大量のデータの送信を防止するために行われる。）。ユーザ行動に関する収集データは、例えば、ハッシュ関数（ＭＤ５、ＳＨＡ−０、ＳＨＡ−１など）を用いて処理が施される。そのため、モジュール１６０は、ユーザ行動に関する「生」データを受信せず、デバイス１００のユーザの行動に関するデータを高確率（衝突の発生確率によってのみ制限される）で一意に識別するハッシュサムを受信する。当該ハッシュサムに基づいて計算を行っても、元のデータを再構築することは出来ないようになっている。一実施形態においては、デバイス１００のユーザの行動に関する収集された全データは、上述のような処理が施される。さらに別の実施形態においては、デジタル形式で記録された写真やビデオクリップなどのデータのみが上述の処理を施される。
【００５１】
一実施形態においては、行動分類モジュール１６０は、行動測定モジュール１２０によって収集されたユーザ行動に関するグループデータとの対話中にグラフィカルインターフェイスの各要素群についての異常ユーザ行動係数を算出するように構成されている。異常ユーザ行動係数は、数値であり、例えば０から１００の一つである（さらに別の実施形態においては、任意の他の実数である。）。異常ユーザ行動係数である数値は、（収集された行動データによる）ユーザ行動がデバイス（またはリモート銀行サーバとの対話のための口座記録）の所有者らしからぬかという程度を表す。この数値が大きいほど、ユーザとリモート銀行サーバ１５０の対話中に収集されたデータに基づく行動がデバイス１００のユーザの特徴を有していない。一実施形態においては、異常ユーザ行動係数の値が０であるということは、ユーザとグラフィカル要素の特定の群の対話中に収集されたデータに基づくユーザ行動がデバイス１００のユーザに完全に準拠しているということを意味し得る。
【００５２】
異常ユーザ行動係数を算出するために、上記分類モジュール１６０は、ナイーブベイズ分類法などの分類アルゴリズムを使用する。そのようなアルゴリズムのための入力データは、ユーザとグラフィカルインターフェイス１１５の要素群の対話中のユーザ行動に関するデータである。このようなアルゴリズムの作業の結果は、異常ユーザ行動係数として扱われる数値である。
【００５３】
行動分類モジュール１６０が、異常ユーザ行動係数を算出するために初めて使用する分類アルゴリズムは学習段階を経る。学習時に、アルゴリズムには、ユーザとグラフィカルインターフェイス１１５の様々な要素群との対話中のコンピューティングデバイス１００のユーザの行動についての完全既知であるデータ（データの例については後述）、および（他の誰かがデバイス１００を使用している場合の）対話が不正行為であるか否かに関する完全既知である情報が提示される。一実施形態においては、学習に使用される情報は、データベース１６５に格納されていてよい。このようなアルゴリズムの使用は、同じデバイス１００を使用しているあるユーザと別のユーザの行動の区別を可能にするということに加え、当該アルゴリズムはソフトウェアによって模倣されるユーザ行動の状況を認識することも可能とするだろう。模倣時のカーソルの移動の軌道はより直線であり、テキストの入力のためのグラフィカルインターフェイスの要素を使用したデータ入力では入力された最後の文字の削除には一般的にキーのプレスを伴わない。また、このようなユーザーによってデバイス１００が使用されている場合には、通常、加速度センサはデバイスが動かないことを示す。また、通常、照度センサは、完全な暗闇である場合には、ユーザがデバイス１００を使用していないことを示す。デバイス１００が実際のユーザーによって使用されているときには、マイクは、ソフトウェアによるユーザ行動の模倣が行われている状況の特徴ではない特定の音（例えば、ユーザの動きに起因する音）を拾う。
【００５４】
一実施形態においては、分類アルゴリズムの教育のために、リモート銀行サーバ１５０との対話中のコンピューティングデバイス１００のユーザ行動に関する完全既知のデータ（特に、リモート銀行サーバ１５０との対話のためのグラフィカルインターフェイス１１５の要素群についてのデータ）は、行動測定モジュール１２０によって連続的に収集され、データベース１６５に情報を保存する行動分類モジュール１６０に送信される。収集されたデータは非不正行為に対応すると先験的にみなされる（ユーザ行動に関するデータの収集中のリモートサーバ１５０との対話は不正行為でないとみなされる。）。そのようにみなされるのは、本発明によって実現される方法の少なくとも１つにおいて逆のことが検出（証明）されるような時まで、あるいは銀行員自身がユーザデバイス１００との行為不正の期間を示しグラフィカルインターフェイス１１５の要素群と対話する場合のユーザ行動に関して収集されたデータに対応する不正行為のインスタンスを示すまでである。一実施形態においては、特定期間（例えば、１ヶ月または１年）に収集された、分類アルゴリズムの教育のためのユーザ行動に関するデータを使用する。一実施形態においては、分類アルゴリズムの教育のために、ある期間（例えば、上述したような１ヶ月）が選択されるが、その期間は分類アルゴリズム教育前の一定期間（例えば、１ヶ月）より前に終了する。分類アルゴリズムの教育におけるこの種の「遅延」は、銀行員が上記一定期間（ユーザ行動に関するデータの収集の終了と、分類アルゴリズムの教育の開始の間）中に不正行為を発見することができ、データベース１６５に格納されたデータに対応する変更を行える状況で役立つ。
【００５５】
行動分類モジュール１６０の動作の例は、図２を参照しながら次のように提供される。図２は、コンピューティングデバイス１００（ここでは、スマートフォンが例示されている）、およびデバイス１００のタッチ画面上のボタンを押した／離した座標を少なくとも含むユーザ行動に関するデータを示している。ユーザと、リモート銀行サーバ１５０と対話を行っているアプリケーション１１０のグラフィカルインターフェイス１１５の要素群（ここでは、すべてのグラフィカルインターフェイスの要素がユーザに表示されている。）の対話中、モジュール１２０を用いて次のような情報が収集されている。ポイント２００で（点の座標）ａｎｄリリースポイント２１０に指までの移動軌道上に存在する他のすべての点で画面を押している。当該情報は、モジュール１２０によって行動分類モジュール１６０へと（当該情報が対応するインターフェイス１１５の表示されたグラフィカル要素群を示すかということともに）送信される。モジュール１６０は、得られたデータに基づいて、ポイント２００からポイント２１０タッチ画面上での指の変位によって特徴づけられる動きがデバイス１００のユーザのらしからぬかということの程度を決定する。グラフィカルインターフェイス１１５の異なる群との対話時のユーザ行動のデータは、モジュール１６０の分類アルゴリズムの教育のために収集される。アルゴリズムの教育段階では、行動分類モジュール１６０はユーザ行動に関するデータを利用し、当該データはポイント２００からポイント２２０の軌道に沿ってコンピューティングデバイス１００のタッチ画面を横切るユーザの指の動きに関する情報を含む。ここで、行動分類モジュール１６０は、上記グラフィカルインターフェイス要素群に対する異常ユーザ行動係数を算出すると、係数の値は大きく、例えば９０あるいは一例においては１００（２００から２１０へおよび２００から２２０への移動の軌道が交差点を有しない場合に適用）であろう。行動測定モジュール１２０がユーザ行動に関するポイント２００から２３０への軌道に沿った画面上での指の動きに対応する画面を押している点の座標情報を含むデータ（この軌道ポイント２００と２２０の間の移動の軌道と部分的に一致する。）を提示した場合、行動分類モジュール１６０が異常ユーザ行動係数を算出すると、値は上記例よりも小さく、例えば２２などである。
【００５６】
一実施形態においては、データベース１６５は、すべてのユーザデバイス１００から収集したユーザ行動に関するデータを格納している。当該データはモジュール１６０による分類アルゴリズムの教育において用いられる。さらに別の実施形態においては、データベース１６５は、各デバイス１００に対応するユーザ行動に関する各データを含む。特定のデバイス１００におけるユーザ行動に関するデータに対して使用される分類アルゴリズムの教育のために、上記の各デバイス１００に対応するユーザ行動に関するデータのセットを利用することが可能であり、ユーザ行動に関するデータセットは、行動データの他の任意のセットまたはセットの組合せであってもよい。ユーザ行動に関する収集データをユーザのデバイス１００に対応するグループに仕分けすることは、使用しているデバイス１００が大きく異なる場合（例えば、タブレットおよびデスクトップコンピュータを使用する場合）に、分類アルゴリズムの教育に有用である。
【００５７】
さらに別の実施形態においては、行動分類モジュール１６０は、サポートベクトルアルゴリズム（サポートベクターマシン−ＳＶＭ）を使用し異常係数を算出してもよい。ＳＶＭアルゴリズムの学習段階は、上述と同様である。
【００５８】
さらに別の実施形態においては、行動分類モジュール１６０は、異常係数を、教育者により学習を行う他の分類アルゴリズムを用いて算出してもよい。そのようなアルゴリズムの学習段階は、上述と同様である。
【００５９】
行動分類モジュール１６０は、各グラフィカルインターフェイス１１５の要素群に関する異常ユーザ行動係数を算出する。当該異常ユーザ行動係数を算出するために、行動測定モジュールは、ユーザが上記グラフィカルインターフェイス１１５の要素群との対話している間にユーザ行動に関するデータを収集し、中継する。少なくとも一つの算出された異常ユーザ行動係数は、モジュール１６０によって意思決定モジュール１７０へ送られる。
【００６０】
一実施形態においては、意思決定モジュール１７０は、前工程で算出されたような異常ユーザ行動係数の組合せが既定の閾値を超えた場合に、ユーザとリモート銀行サーバ１５０との対話（コンピューティングデバイス１００を介する）中の不正行為を検出するように構成されている。異常ユーザ行動係数の組合せを算出する際には、データベース１６５に格納されている以下の情報が使用される。
●上記グラフィカルインターフェイス要素群にユーザがアクセスした（ユーザが対話した）回数の情報である。データベース１６５中の当該情報は、モジュール１２０からモジュール１６０にデータが到達したときにモジュール１６０によって変更することが可能である。グラフィカル要素の特定の群と対話中のユーザの行動に関するデータがより多く到達するほど、各グラフィカルインターフェイス要素群にユーザがアクセスしたことを示すより大きい回数がモジュール１６０によってデータベース１６５に保存されるだろう。上記パラメータである回数は、上記要素群へのユーザのアクセス回数であり、２４時間あたりの上記要素群へのユーザの平均アクセス回数であってもよい。
●別のグラフィカルインターフェイス要素群へのアクセスを前記ユーザに与える上記グラフィカルインターフェイス要素群の数の情報である。このアクセスは、前記要素群との対話によって与えられる。例えば、デバイス１００のユーザに対して特定の（前述の「独立した」）グラフィカルインターフェイス要素群が表示されるボタンを押す際の、さまざまなグラフィカルインターフェイスの要素群を構成するボタンの数である。当該情報は、リモート銀行サーバ１５０との対話のためにインターフェイス開発者によってデータベース１６５へ加えられ得る。
●上記グラフィカルインターフェイス要素群との対話をユーザが行っている場合に、リモート銀行サーバを使用してトランザクションを実行するためにユーザが必要とする基本操作の数の情報である。例えば、特定のグラフィカルインターフェイス１１５の群（例えば、当該要素群は、ユーザに表示されており、入力フィールド、ボタン、テキスト情報を含むフィールドなど）との対話をしている状況で、トランザクション（投資を含む）を実行するためにユーザが必要とするグラフィカルインターフェイス１１５の異なるボタン上における「クリック」の数（「マウス」マニピュレータのボタンの押下）である。例えば、ユーザーが連続して特定数のウェブページの訪問を実行するために必要な基本操作の数（この場合アプリケーション１１０はウェブブラウザである。）である。最後のウェブページにおいて、ユーザが特定の資金供給（例えば、この資金によって罰金を支払う）を含む行為を実行するコマンドを銀行へ送信することをグラフィカルインターフェイスの要素との対話によって可能とし、グラフィカルインターフェイスの要素（ボタンなど）が表示される。
●既定期間内にユーザの代わりに行われる不正行為の完全既知のケースの数の情報である。一実施形態においては、モジュール１７０は、ユーザデバイス１００を用いた検出された不正行為を保存する。さらに別の実施形態においては、当該情報は、対応する情報へアクセスする銀行員によってデータベース１６５内に保存される。
【００６１】
上記の情報は、銀行員によってデータベース１６５内に保存され得る。
【００６２】
意思決定モジュール１７０が行動分類モジュール１６０から異常ユーザ行動係数のみを受信した場合には、意思決定モジュール１７０による不正行為の検出を行うにあたり１つの当該係数のみが使用され、異常ユーザ行動係数の組合せを算出する際に使用される上述の情報が考慮される。モジュール１７０は、数学関数を用いてある一定の値（異常ユーザ行動係数の組合せ）を算出する。このとき計算に用いられる入力パラメータの一つは異常ユーザ行動係数のセットである。当該係数のセットは１つ又は複数の要素により構成されていてよい。一実施形態においては、モジュール１７０による異常ユーザ行動係数の組合せの算出に下記式が用いられる。
【数１】
0006420284.tif 000002
上記式中のＫは、異常ユーザ行動係数の組合せである。ｎは、上記組合せの算出において用いられる異常ユーザ行動係数の数である（それ故、グラフィカルインターフェイス１１５の要素群は、上記係数の計算において参照される）。ｋｉは、ｉ番目の異常ユーザ行動係数であり、ｉ番目のグラフィカルインターフェイス１１５の要素群のための計算に用いられる。ｐｉは、ｉ番目の独立したグラフィカルインターフェイス要素群にアクセスした回数である。ｒｉは、ユーザがｉ番目のグラフィカルインターフェイス要素群との対話によってアクセスを得られたグラフィカルインターフェイスの要素群の数である。ｄｉは、ｉ番目のグラフィカルインターフェイス要素群との対話をユーザが行った場合に、リモート銀行サーバを利用したトランザクションを実行するためにユーザが必要とする基本操作の数である。ｆは、ユーザの代わりに特定期間中に行われた不正行為の完全既知のケースの数である。
【００６３】
一実施形態においては、異常ユーザ行動係数の組合せの算出のために他の式が用いられてもよく、異常ユーザ行動係数の組合せはｆ、ｋｉ、ｐｉ、ｒｉの値（またはこれらの値のうちの少なくともいくつか）に正比例し、（これらの値が式中に存在することを条件とし）ｄｉの値に反比例する。上記値の名称の定義は、上記と同じである。
【００６４】
異常ユーザ行動係数の組合せが既定値（閾値）（例えば、「７０」）を超えた場合、意思決定モジュール１７０は、デバイス１００を介したユーザとリモート銀行サーバ１５０の対話において不正を行為を検出する。異常ユーザ行動係数の組合せが既定値を超えなかった場合、モジュール１２０によって収集されている新しいデータに関して分析を続ける。
【００６５】
一実施形態においては、意思決定モジュール１７０による不正行為の検出は、既定の閾値と異常係数の組合せを比較することによっては行われず、上記式で使用される情報（すべての算出された異常係数の値を含む）に基づいて決定するヒューリスティックルールを使用して行われる。一実施形態においては、当該ルールは、次のようなルールであってよい。異常ユーザ行動係数中に既定の閾値を（例えば、「９０」）を超える係数がある場合に、不正行為が検出される。あるいは、異常ユーザ行動係数中にｋｉ＊ｐｉ＊ｒｉ＞９０の関係を満たす係数がある場合に、不正行為が検出される。
【００６６】
さらに別の実施形態においては、意思決定モジュール１７０は、ｆ、ｋｉ、ｐｉ、ｒｉ（上記定義と同じ）の値が大きくなり、ｄｉ（上記定義と同じ）の値がより小ちいさくなるほど、モジュール１７０が不正行為を検出しやすくなる別のヒューリスティックルールによって不正行為を検出してもよい。
【００６７】
上述の数値は、単なる例示であり異なる値が本発明の他の構成および態様では使用可能であることが理解されるべきである。
【００６８】
一実施形態においては、意思決定モジュール１７０は、ユーザデバイス１００のリモート銀行サーバ１５０との対話において（または、より簡単に言えば、ユーザのリモート銀行サーバとの対話において）不正行為が検出された場合に、ユーザとリモート銀行サーバ１５０のコンピューティングデバイス１００を介した対話をブロックしてもよい。
【００６９】
さらに別の実施形態においては、不正行為が検出された際には、意思決定モジュール１７０は例えば、電子メールまたはＳＭＳメッセージなどによって銀行員に知らせ（対応する従業員の連絡先データは、データベース１６５に格納可）、ユーザとリモート銀行サーバ１５０のコンピューティングデバイス１００を介した対話を特定時間（例えば、６時間）停止させてもよい。当該時間は銀行員がユーザに代わって不正行為が行われたユーザに連絡を取るために活用できる。
【００７０】
さらに別の実施形態においては、ユーザデバイス１００とリモート銀行サーバ１５０の対話において不正行為が検出された場合、意思決定モジュール１７０は、セキュリティモジュール１３０に対応するアラートを送る。一実施形態においては、モジュール１６０は、モジュール１７０へ、各グラフィカルインターフェイス要素群に対する異常ユーザ行動係数だけではなく、モジュール１２０から受け取り当該係数を算出するために使用されるユーザ行動に関する実データも送信する。続いて、意思決定モジュール１７０は、不正行為が検出された場合に、セキュリティモジュール１３０へ、異常ユーザ行動係数を算出するために使用されるユーザ行動に関するデータを含んだ情報を送る。
【００７１】
一実施形態においては、セキュリティモジュール１３０は、ユーザ行動に関する受信データを用いて、アプリケーション１１０のグラフィカルインターフェイス１１５の要素群とユーザとの対話中のユーザ行動に関するデータへアクセスを実行するアプリケーションを決定する（ユーザとアプリケーション１１０の対話中に、対応する情報はセキュリティモジュール１３０によって保存される。）。セキュリティモジュール１３０は、不正行為がユーザデバイス１００とリモート銀行サーバ１５０の対話中に検出された場合（対応するアラートはモジュール１７０から受信される）、コンピューティングデバイス１００上のアプリケーションが悪意があると認識する。ここで、上記アプリケーションはユーザ行動に関するデータにアクセスしており、当該データはリモート銀行サーバ１５０との対話のための、ユーザと少なくとも１つのグラフィカルインターフェイス１１５の要素群との対話中のデータのことである。また、グループデータはユーザ行動に関してモジュール１２０によって収集される。
【００７２】
さらに別の実施形態においては、モジュール１７０は、モジュール１３０へ行動分類モジュール１６０によって算出される異常ユーザ行動係数中の規定の最大数（例えば、最大の２つ）に対応したユーザ行動に関するデータ（ユーザデバイス１００とリモート銀行サーバ１５０との対話中のユーザ行動に関するデータにアクセスしているアプリケーションを検索するために後の工程で用いられる。）のみを送る。
【００７３】
さらに別の実施形態においては、モジュール１７０は、デバイス１００のユーザに警告を行うことができる。例えば、電子メールまたはＳＭＳ通信によって送信されるメッセージを介して警告を行う（そのような通知のためのユーザーの連絡先データは、データベース１６５内に保持することができる。）。その内容は、ユーザに成り代わって行われた不正行為が検出されたことや、ユーザのコンピューティングデバイス１００の使用またはリモート銀行サーバ１５０との対話のための口座記録の使用などについてである。
【００７４】
図３は、不正なユーザトランザクションを検出する方法の一例のフローダイアグラムを示す。ステップ３０１では、行動測定モジュール１２０がユーザ行動に関するデータを収集する。当該ユーザ行動に関するデータは、ユーザとアプリケーション１１０の少なくとも１つのグラフィカルインターフェイス１１５の要素群との対話中のデータであり、リモート銀行サーバ１５０との対話のために用いられる。収集されたデータはモジュール１２０によってモジュール１６０へ送られる。リモート銀行サーバ１５０との対話のゴールは、リモートサーバ１５０の関与したトランザクションを実行することである（例えば、コンピューティングデバイス１００のユーザの資金供給を含む）。各グラフィカルインターフェイス１１５の要素群について、独立したデータセットがユーザ行動に関して収集される。ユーザ行動に関するデータは、コンピューティングデバイス１００の少なくとも１つの入力装置を用いて得られる情報である。
【００７５】
一実施形態においては、さらに、セキュリティモジュール１３０がコンピューティングデバイス１００のアプリケーションがアクセスしているユーザ行動に関するデータに関する情報を収集する。ここで、当該ユーザ行動に関するデータはユーザとリモート銀行サーバ１５０との対話のためのアプリケーション１１０の各グラフィカルインターフェイス１１５の要素群との対話中のデータである。また、ユーザ行動に関するグループデータはステップ３０１で収集される。
【００７６】
ステップ３０２において、行動分類モジュール１６０は、異常ユーザ行動係数を算出する。異常ユーザ行動係数の算出は、グラフィカルインターフェイス要素群との対話中のユーザ行動についてステップ３０１でデータ収集が行われれた各グラフィカルインターフェイス要素群について行われる。異常ユーザ行動係数は数値であり、当該数値が大きい場合にはステップ３０１で収集した対象ユーザの行動の特徴をあまり備えていないことを意味する。異常係数を算出する際に、ナイーブベイズ分類法をグラフィカルインターフェイス要素群との対話中のユーザ行動に関するデータに適用してもよい。算出された異常ユーザ行動係数は、モジュール１６０によってモジュール１７０へ送られる。
【００７７】
ステップ３０３においては、ステップ３０２において算出された異常ユーザ行動係数の組合せが既定の閾値を超えた場合に、不正行為がユーザデバイス１００とリモート銀行サーバ１５０の対話中に意思決定モジュール１７０を用いて検出される。異常ユーザ行動係数の組合せの計算中、データベース１６５内に格納されている以下の情報が使用される。各グラフィカルインターフェイス要素群へユーザがアクセスした回数、
別のグラフィカルインターフェイス要素群へのアクセスをユーザが得られるグラフィカルインターフェイス要素群との対話によって算出したグラフィカルインターフェイス要素群の数、グラフィカルインターフェイス要素群との対話をユーザが行っている場合にリモート銀行サーバを使用してトランザクションを実行するためにユーザが必要とする基本操作の数、既定期間内にユーザに成り代わり行われる不正行為の完全既知のケースの数に関する情報である。
【００７８】
基本操作は、限定されないが、例えば、マウスカーソルの移動、入力装置のキープレス、画面表面からリフトオフすることなく行われるコンピューティングデバイス１００の画面上でのユーザの指またはスタイラスの移動、ユーザの指又はスタイラスのコンピューティングデバイス画面への接触などを含んでよい。不正行為は、限定されないが、例えば、ユーザの関知しないリモート銀行サーバ１５０との対話のためのユーザが所有するユーザデバイス１００または口座記録の使用などを含んでよい。不正行為の完全既知のケースに関する情報は、リモート銀行サーバ１５０上のデータベース１６５内に格納される。
【００７９】
ステップ３０４においては、意思決定モジュール１７０は、ステップ３０３においてユーザデバイス１００とリモート銀行サーバ１５０との対話中に不正行為が検出された場合に、ユーザとリモート銀行サーバ１５０の対話（ユーザがコンピューティングデバイス１００を介して行っている）をブロックする。
【００８０】
さらに別の実施形態においては、さらにユーザデバイス１００とリモート銀行サーバ１５０との対話中にステップ３０３において不正行為が発見された場合、コンピューティングデバイス１００上のアプリケーションが、セキュリティモジュール１３０によって悪意があるとみなされる。上記アプリケーションがユーザ行動に関するデータにアクセスする。ここで、当該データはリモート銀行サーバ１５０との対話のための、ユーザと少なくとも１つのグラフィカルインターフェイス１１５の要素群との対話中のデータである。また、グループデータはユーザ行動に関して収集される。
【００８１】
図４は、実施形態に係る本発明のシステムと方法が実装できる汎用コンピュータ・システム（パーソナル・コンピュータやサーバ等）の例を示している。図示の通り、コンピュータ・システム２０は、ＣＰＵ２１と、システムメモリ２２と、ＣＰＵ２１と関連付けられたメモリを含む様々なシステムコンポーネントを接続するシステムバス２３とを含み得る。システムバス２３は、バスメモリ又は、バスメモリコントローラ、周辺バス、およびローカルバスを次々含む従来より公知のあらゆるバス構造としても実現され得、これらはどのような他のバスアーキテクチャとも通信可能である。システムメモリは、リードオンリーメモリ（ＲＯＭ）２４およびランダムアクセスメモリ（ＲＡＭ）２５を含む。基本的な入出力システム（ＢＩＯＳ）２６は、ＲＯＭ２４の使用によってオペレーティングシステムをロードする際等、パーソナル・コンピュータ２０の要素間の情報の伝達を担う基本的な手順を含む。
【００８２】
パーソナル・コンピュータ２０は、データの読み書きのためのハードディスク２７、取り外し可能な磁気ディスク２９の読み書きのための磁気ディスクドライブ２８、およびＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、その他の光学メディア等の光学ディスク３１の読み書きのための光学式ドライブ３０を含む。ハードディスク２７、磁気ディスクドライブ２８、および光学式のドライブ３０は、ハードディスクインターフェイス３２、磁気ディスクインターフェイス３３、および光学式のドライブインターフェイス３４それぞれを横切るシステムバス２３と接続される。ドライブおよび対応するコンピュータ情報メディアは、コンピュータ命令、データ構造体、プログラムモジュール、およびパーソナル・コンピュータ２０の他のデータのストレージのための電源依存のモジュールである。
【００８３】
本発明は、ハードディスク２７、取り外し可能な磁気ディスク２９および取り外し可能な光ディスク３１を用いるシステムの実装を提供するものだが、コンピュータに読み込み可能な形式でデータを保存できるフラッシュメモリカード、デジタルのディスク、ランダムアクセスのメモリ（ＲＡＭ）等の他のタイプのコンピュータ情報メディア５６を使用してもよいことに留意されたし。また、これはコントローラ５５を介してシステムバス２３に接続される。
【００８４】
コンピュータ２０は、ファイルシステム３６を有し、記録されたオペレーティング・システム３５の保持する。また追加のプログラムアプリケーション３７、他のプログラムモジュール３８、およびプログラムデータ３９を有する。ユーザは、入力デバイス（キーボード４０、マウス４２）を用いてコマンドと情報をパーソナル・コンピュータ２０に入力することができる。他の入力デバイス（不図示）：マイクロフォン、ジョイスティック、ゲームコントローラ、スキャナ等を用いることもできる。そのような入力デバイスは、通常、システムバスに次々接続しているシリアルポート４６を通じてコンピュータ・システム２０に差し込まれるが、それらは、他の方法例えばパラレル・ポート、ゲームポート、又は一般的なシリアルバス（ＵＳＢ）に接続される。ディスプレイ機器のモニタ４７又は他のタイプは、また、ビデオアダプタ４８等のインターフェイスと交差するシステムバス２３に接続している。モニタ４７に加えて、パーソナル・コンピュータは、スピーカー、プリンタ等の他の周辺の出力デバイス（不図示）を接続できる。
【００８５】
パーソナル・コンピュータ２０は、１つ又は複数のリモートコンピュータ４９とのネットワーク接続を用いて、ネットワーク環境で操作することができる。リモートコンピュータ（又はコンピュータ）４９は、図４に示すように、パーソナル・コンピュータ２０の性質として説明した上述の要素全ての大多数を有するパーソナル・コンピュータ又はサーバでもある。ルータ、ネットワークステーション、ピア接続の機器、又は他のネットワークノード等の他の機器もまた、かかるコンピュータ・ネットワークで存在し得るものである。
【００８６】
ネットワーク接続は、ローカルエリアコンピュータ・ネットワーク（ＬＡＮ）５０およびワイドエリアコンピュータ・ネットワーク（ＷＡＮ）を形成することができる。そのようなネットワークは、企業のコンピュータ・ネットワークおよび社内ネットワークで利用され、それらはたいていにインターネットにアクセスすることができる。ＬＡＮ又はＷＡＮネットワークにおいて、パソコン２０は、ネットワークアダプタ又はネットワークインターフェイス５１に交差するローカルエリアネットワーク５０に接続されている。ネットワークが用いられる時には、パソコン２０は、通信にインターネット等のワイドエリアコンピュータ・ネットワークを実現するために、モデム５４又は他のモジュールを使用することができる。内部又は外部の機器であるモデム５４は、シリアルポート４６によりシステムバス２３と接続される。かかるネットワーク接続は、単なる一例であり、ネットワークの正確な構成を示すものではない。すなわち、技術の通信モジュールによって、あるコンピュータから他のコンピュータへの接続を確立する他の方法（Ｂｌｕｅｔｏｏｔｈ接続等）もあることに留意されたい。
【００８７】
様々な実施形態において、ハードウェア、ソフトウェア、ファームウェア、又はこれらのあらゆる組み合わせにおいて、ここで説明されたシステムおよび方法を実施し得る。ソフトウェアにおいて実装される場合は、方法は不揮発性コンピュータ可読メディアの１つ又は複数の指示又はコードとして保存され得る。コンピュータ可読メディアは、データストレージを含む。あくまでも例であり限定するものではないが、そのようなコンピュータ可読メディアは、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、フラッシュメモリ、若しくは他のタイプの電気、磁気、光学式の記憶媒体、又はその他のメディアであってもよい。すなわち、これらによって指示又はデータ構造体という形で、要求されたプログラムコードを運ぶか又は保存することができ、汎用コンピュータのプロセッサによってアクセスすることができる。
【００８８】
様々な実施形態で、本発明のシステムおよび方法が、モジュールとして実装され得る。ここで用語「モジュール」は、実世界の機器、コンポーネント、又はハードウェアを用いて実装されたコンポーネント配置であり、例えばＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等の、又は例えばモジュールの機能を実行するマイクロプロセッサシステムや指示セットによる等、ハードウェアとソフトウェアの組み合わせとして実装され得る。これらは、実行中にマイクロプロセッサシステムを特定の機器に変換する。モジュールは、ハードウェア単体により促進される何らかの機能とハードウェアおよびソフトウェアの組み合わせによって促進される他の機能という２つの組み合わせとして実施されてもよい。モジュールの少なくとも一部又は全部は、汎用コンピュータのプロセッサにおいて実行できる（図４において詳述したもの等）。したがって、各モジュールは様々な適当な構成で実現することができて、ここに例示した特定の実装に限られるものではない。
【００８９】
なお、実施形態の通常の機能のうちの全てをここで開示しているわけではない。本発明の何れの実施形態を開発する場合においてでも、開発者の具体的な目標を達成するためには多くの実施に係る特別な決定が必要であり、これらの具体的な目標は実施形態および開発者ごとに異なることに留意されたし。そのような開発努力は、複雑で時間を要するものであるが、本発明の利益を享受し得る当業者にとってはエンジニアリングの日常であると理解されたい。
【００９０】
更に、本明細書で使用される用語又は表現は、あくまでも説明のためであり、限定するものではない。つまり、関連技術の熟練の知識と組み合わせて、本明細書の用語又は表現は、ここに示される教示および指針に照らして当業者によって解釈されるべきであると留意されたし。明示的な記載がない限り、明細書又は特許請求の範囲内における任意の用語に対して、珍しい又は特別な意味を帰することは意図されていない。
【００９１】
本明細書で開示された様々な態様は、例示のために本明細書に言及した既知のモジュールの、現在および将来の既知の均等物を包含する。更に、態様および用途を示し、説明してきたが、本明細書に開示された発明の概念から逸脱することなく、上述したよりも多くの改変が可能であることが、この開示の利益を有する当業者には明らかであろう。
【図１】
0006420284.tif 000003
【図２】
0006420284.tif 000004
【図３】
0006420284.tif 000005
【図４】
0006420284.tif 000006