(57)【要約】      （修正有）【課題】システムアプリケーション処理に関連する詐欺を検出するシステムおよび方法を提供する。【解決手段】複数のアプリケーションサービス１１０ａ〜１１０ｎの少なくともサブセットのそれぞれについて、アプリケーションサービス１１０ａ〜１１０ｎの実行に関連する実行経路内のそれぞれの点を示す監査ログメッセージを受信するステップと、アプリケーションサービス１１０ａ〜１１０ｎのアプリケーションサービスエンドポイント１１０ｄを実行する前に、実行経路が少なくとも１つの事前定義の期待される実行経路を満足するかどうかを判定するために受信した監査ログメッセージを分析するステップとを含む。【選択図】図１
2012150805.tif 000002
【特許請求の範囲】
【請求項１】
それぞれが１つまたは複数のシステムアプリケーション（１０５ａ〜１０５ｎ）のうちのそれぞれの１つに関連する複数のアプリケーションサービスの実行を引き起こすソフトウェアベースの動作を実行するステップであって、前記複数のアプリケーションサービス（１１０ａ〜１１０ｎ）の前記実行は、前記ソフトウェアベースの動作の実行経路を定義する、ステップと、
前記ソフトウェアベースの動作の前記実行経路を少なくとも部分的に表すために前記それぞれのアプリケーションサービスの前記実行に関連する前記複数のアプリケーションサービス（１１０ａ〜１１０ｎ）の少なくともサブセットのそれぞれについて監査ログ（１３０）を生成するステップと、
前記複数のアプリケーションサービス（１１０ａ〜１１０ｎ）のうちの少なくとも１つの実行の前に、前記ソフトウェアベースの動作の前記実行経路が少なくとも１つの事前定義の期待される実行経路を満足するかどうかを判定するために、前記ソフトウェアベースの動作の実行中に以前に生成された監査ログ（１３０）のそれぞれを分析するステップと
を含む、システムアプリケーション処理に関連する詐欺を検出する方法。
【請求項２】
前記１つまたは複数のシステムアプリケーション（１０５ａ〜１０５ｎ）は、複数のシステムアプリケーション（１０５ａ〜１０５ｎ）を含み、前記複数のアプリケーションサービス（１１０ａ〜１１０ｎ）の少なくとも第１サブセットは、第１システムアプリケーションに関連し、前記複数のアプリケーションサービス（１１０ａ〜１１０ｎ）の少なくとも第２サブセットは、第２システムアプリケーションに関連する、請求項１記載の方法。
【請求項３】
監査ログ（１３０）は、前記複数のアプリケーションサービス（１１０ａ〜１１０ｎ）のそれぞれについて生成される、請求項１記載の方法。
【請求項４】
監査ログ（１３０）は、前記複数のアプリケーションサービス（１１０ａ〜１１０ｎ）のサブセットについて生成される、請求項１記載の方法。
【請求項５】
各監査ログ（１３０）を分析のためにネットワーク（１１５）を介してメッセージ保証サーバ（１２０）に送信するステップをさらに含む、請求項１記載の方法。
【請求項６】
以前に生成された前記監査ログ（１３０）のそれぞれを分析するステップは、前記１つまたは複数のシステムアプリケーション（１０５ａ〜１０５ｎ）のうちの１つのアプリケーションサービスエンドポイントの実行の前に実行される、請求項１記載の方法。
【請求項７】
以前に生成された前記監査ログ（１３０）のそれぞれを分析するステップは、前記複数のアプリケーションサービス（１１０ａ〜１１０ｎ）の少なくとも１つの追加のアプリケーションサービスについてさらに実行される、請求項６記載の方法。
【請求項８】
前記複数のアプリケーションサービス（１１０ａ〜１１０ｎ）のうちの１つの実行の前に、以前に生成された前記監査ログ（１３０）のそれぞれを分析するステップは、前記ソフトウェアベースの動作の前記実行経路が少なくとも１つの事前定義の期待される実行経路を満足しないことを判定するステップをさらに含む、請求項１記載の方法。
【請求項９】
前記ソフトウェアベースの動作の前記実行経路が前記少なくとも１つの事前定義の期待される実行経路を満足しないことの判定に応答して、前記複数のアプリケーションサービス（１１０ａ〜１１０ｎ）のうちの前記１つの実行を停止するステップをさらに含む、請求項８記載の方法。
【請求項１０】
前記ソフトウェアベースの動作の前記実行経路が前記少なくとも１つの事前定義の期待される実行経路を満足しないことの判定に応答して、潜在的詐欺アラートメッセージ（１３５）を生成するステップをさらに含む、請求項８記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、全般的には詐欺検出に関し、より具体的には、システムアプリケーション処理に関連する詐欺を検出するシステムおよび方法に関する。
【背景技術】
【０００２】
コンピュータアプリケーションセキュリティは、重大な関心事であり続ける。分散コンピューティングを用いると、メッセージが、生成され、システムコンポーネントおよびシステムアプリケーションソフトウェアモジュールの間で交換される。これらのメッセージは、機密情報またはシステムの動作にクリティカルな重要なデータを含む場合がある。個々のソフトウェアアプリケーションの間および／または完全に異なるシステムの間でメッセージが交換される分散コンピューティング環境では、従来のメッセージ保証（ｍｅｓｓａｇｅ  ａｓｓｕｒａｎｃｅ）技法は、アクセス制御およびユーザ特権、個々のメッセージのディジタル署名、タイムスタンピング、ならびにインターネットプロトコル（「ＩＰ」）セキュリティおよびディジタルファイヤウォールユーティリティなどのネットワークベースのセキュリティを含む、サービスの組合せを利用する。たとえば、既存のメッセージ保証技法は、メッセージの受信時にメッセージのディジタル署名を分析し、かつ／またはＩＰセキュリティおよびセキュアファイヤウォールを利用してネットワークを介するメッセージ送信を制限する。
【０００３】
しかし、これらの技法は、パワーユーザまたは管理者などの有効なシステムユーザが、システムになりすまし、適当なディジタル署名およびネットワーク証明書を有する変更されたメッセージまたは詐欺的メッセージを送信することを防がない。さらに、これらの現在のメッセージ保証技法は、一般に、性質において反応性であり、セキュリティインシデントが発生した後に報告しまたは調査する。これらの解決策は、一般に、詐欺的メッセージ通信が発生する前にその通信を防ぐことはしない。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許出願第２０１０／０１３１３２９号明細書
【発明の概要】
【０００５】
したがって、システムアプリケーション処理に関連する詐欺を検出するシステムおよび方法の必要がある。
【０００６】
本発明の実施形態は、上で説明した必要の一部またはすべてに対処することができる。実施形態は、システムアプリケーション処理に関連する詐欺を検出するシステム、方法、および装置を含むことができる。本発明の一実施形態によれば、システムアプリケーション処理に関連する詐欺を検出する方法が提供される。この方法は、それぞれが１つまたは複数のシステムアプリケーションのうちのそれぞれの１つに関連する複数のアプリケーションサービスの実行を引き起こすソフトウェアベースの動作を実行するステップであって、アプリケーションサービスの実行は、ソフトウェアベースの動作の実行経路を定義する、ステップを含むことができる。この方法は、ソフトウェアベースの動作の実行経路を少なくとも部分的に表すためにそれぞれのアプリケーションサービスの実行に関連するアプリケーションサービスの少なくともサブセットのそれぞれについて監査ログを生成するステップと、アプリケーションサービスのうちの少なくとも１つの実行の前に、ソフトウェアベースの動作の実行経路が少なくとも１つの事前定義の期待される実行経路を満足するかどうかを判定するために、ソフトウェアベースの動作の実行中に以前に生成された監査ログのそれぞれを分析するステップとをさらに含む。
【０００７】
もう１つの実施形態によれば、システムアプリケーション処理に関連する詐欺を検出するシステムが提供される。このシステムは、少なくとも１つのプロセッサを含み、少なくとも１つのソフトウェアベースの動作を実行するために複数のアプリケーションサービスを含む少なくとも１つのシステムアプリケーションとネットワークを介して通信する、メッセージ保証サーバを含むことができる。メッセージ保証サーバは、アプリケーションサービスの少なくともサブセットのそれぞれについてアプリケーションサービスの実行に関連する実行経路内のそれぞれの点を示す監査ログメッセージを受信し、ソフトウェアベースの動作の実行経路が少なくとも１つの事前定義の期待される実行経路を満足するかどうかを判定するためにアプリケーションサービスのうちの少なくとも１つを実行する前に受信した監査ログのそれぞれを分析するように動作可能とすることができる。
【０００８】
もう１つの実施形態によれば、システムアプリケーション処理に関連する詐欺を検出する方法が提供される。この方法は、複数のアプリケーションサービスの少なくともサブセットのそれぞれについて、アプリケーションサービスの実行に関連する実行経路内のそれぞれの点を示す監査ログメッセージを受信するステップと、アプリケーションサービスのアプリケーションサービスエンドポイントを実行する前に、実行経路が少なくとも１つの事前定義の期待される実行経路を満足するかどうかを判定するために、受信した監査ログを分析するステップとを含むことができる。
【０００９】
追加のシステム、方法、装置、特徴、および態様は、本発明のさまざまな実施形態の技法を介して実現される。本発明の他の実施形態および態様は、本明細書で詳細に説明され、請求される発明の一部と考えられる。他の実施形態、特徴、および態様は、この説明および図面を参照して理解することができる。
【００１０】
本発明を一般論として説明したので、これから添付図面を参照するが、添付図面は、必ずしも原寸通りに描かれてはいない。
【図面の簡単な説明】
【００１１】
【図１】一実施形態による、詐欺を検出する例のシステムを示すブロック図である。
【図２】一実施形態による、詐欺検出システムを構成する例の方法を示す流れ図である。
【図３】一実施形態による、詐欺を検出する例の方法を示す流れ図である。
【発明を実施するための形態】
【００１２】
本発明の例示的な実施形態を、これから添付図面を参照してより十分に説明するが、添付図面には、本発明の、すべてではなくいくつかの実施形態が示されている。実際に、本発明は、多数の異なる形で実施でき、本明細書に示された実施形態に限定されると解釈されてはならず、これらの実施形態は、本開示が適用可能な法的要件を満足するようにするために提供されるものである。同様の符号は、終始同様の要素を指す。
【００１３】
複数のコンピューティングコンポーネントを有する分散システムでは、メッセージが、あるシステムまたはシステムアプリケーションから別のシステムまたはシステムアプリケーションへ、直接にまたはさまざまな中間システムもしくは中間システムアプリケーションを介してのいずれかで交換される。交換されるメッセージを利用して、受信側システムアプリケーションによる使用のためにデータを送信し、または受信側システムアプリケーションでのもしくはそれに関連するアクションを実行するコマンドを発行することができる。
【００１４】
１つの例の分散システムを、１つまたは複数のネットワークを介して通信し、取引する、複数のシステムアプリケーションと他のアプリケーションおよびサブシステムとを含むスマートグリッドシステムとすることができる。システムアプリケーション（またはサブシステムに関連するアプリケーションなど）のそれぞれは、それぞれの動作を実行するために実行される（または他の形で呼び出される）時に、それらの間および他のシステムアプリケーションのシステムアプリケーションとメッセージを交換させる１つまたは複数のアプリケーションサービス（たとえば、ソフトウェアモジュール、機能モジュールなど）を有することができる。したがって、システムは、さまざまなシステムアプリケーションおよび／またはサブシステムのコレクションを指すことができ、これらのシステムアプリケーションおよび／またはサブシステムのそれぞれは、公開される１つまたは複数のアプリケーションサービスを有する場合があり、それらの間のインテグレーションおよび／またはインターオペラビリティのために実行され得る。また、いくつかの例では、システムが、同システムに直接関連しないまたはその一部ではないことがあるシステムアプリケーションおよび／または異なるシステムもしくはサブシステムに関連するアプリケーションサービスを呼び出しまたは他の形で利用する場合があることを了解されたい。スマートグリッドシステム内の例のシステムアプリケーションは、エネルギ管理システム（「ＥＭＳ」）、ｓｕｐｅｒｖｉｓｏｒｙ  ｃｏｎｔｒｏｌ  ａｎｄ  ｄａｔａ  ａｃｑｕｉｓｉｔｉｏｎ（「ＳＣＡＤＡ」）システム、ｄｉｓｔｒｉｂｕｔｉｏｎ  ｍａｎａｇｅｍｅｎｔ  ｓｙｓｔｅｍ（「ＤＭＳ」）、ｏｕｔａｇｅ  ｍａｎａｇｅｍｅｎｔ  ｓｙｓｔｅｍ（「ＯＭＳ」）、ネットワーク管理システム、ｇｅｏｓｐａｔｉａｌ  ｉｎｆｏｒｍａｔｉｏｎ  ｓｙｓｔｅｍ（「ＧＩＳ」）、メーターインターフェースシステム、ａｄｖａｎｃｅｄ  ｍｅｔｅｒｉｎｇ  ｉｎｆｒａｓｔｒｕｃｔｕｒｅ（「ＡＭＩ」）システム、顧客情報システム、会計および課金システム、報告および監視システム、ｄｉｓｔｒｉｂｕｔｅｄ  ｒｅｓｏｕｒｃｅ  ｍａｎａｇｅｍｅｎｔ  ｓｙｓｔｅｍ（「ＤＲＭＳ」）、インテグレーションおよびミドルウェアシステム、ならびに類似物を含むことができるが、これらに限定されない。スマートグリッドシステムが、本明細書で例によって説明されるが、本明細書で説明される実施形態を、プラント制御システム、情報管理システム、情報セキュリティシステム、金融システム、ネットワークおよび通信制御システム、防衛およびセキュリティシステム、ならびに類似物などの任意の個数の分散コンピューティングシステムと共に動作可能になるように適合させることができることを了解されたい。本明細書で説明される例示的な例は、限定的ではない。
【００１５】
従来の分散システムでは、メッセージ完全性を、ディジタル署名および／またはネットワークセキュリティ機構を利用して検証することができる。しかし、これらの技法は、メッセージが実行の必要な経路をたどったことの保証、またはそれぞれのシステムアーキテクチャおよびプログラマによって定義される、受信側のアプリケーションまたはサービスに到着する前に、期待されるシステムアプリケーションまたはアプリケーションサービスが期待される通りに実行されたことの保証を提供しない。動作が、イベントの期待されるシーケンスに従わない時には、途中の誰かによって（盗聴し、反復するか変更されたメッセージを送信することによるなど）または、情報へのアクセスの知識を有し、したがってユーザがメッセージをポストし、期待され、システム動作および／またはセキュリティに影響する可能性があるイベントのさまざまなシーケンスをバイパスすることを可能にするパワーユーザ（たとえば、十分な特権およびセキュリティ証明書を有するユーザ）によって、１つまたは複数のメッセージがインターセプトされ、変更された可能性がある。
【００１６】
本明細書で説明されるある種の実施形態は、認可されたソフトウェアによって開始されない、または事前に定義された経路の必要なシーケンスに従うことによって開始されない、メッセージの認可されないポスティングを防ぐことができる。認可されたシステムアプリケーションおよび関連するサービスの実行とメッセージ生成と通信とを、１つまたは複数の所定の期待される実行経路およびイベントのシーケンスに対して実行シーケンスおよびメッセージ経路（本明細書では、全体的に「実行経路」と称する）を検証することによって、妥当性検査することができる。それを行うために、関連するアプリケーションサービスのうちの１つまたは複数など、システムアプリケーション動作中のさまざまなステージで、実行されつつある特定のアプリケーションサービスに関連する情報を取り込む監査ログが、生成される。複数の監査ログが、一緒に、動作が進行する時の実行経路を表す。エンドポイントサービスまたは他のクリティカルなもしくは非常に機密のアプリケーションサービスなど、アプリケーションサービスのうちの１つまたは複数の実行の前に、以前に生成され、格納された監査ログが、関連するシステム動作の期待される実行経路に対して検証される。たとえば、一実施形態によれば、アプリケーションサービスエンドポイントの実行の前に、アプリケーションサービスが、以前の実行経路を分析するために監査ログデータにアクセスするアプリケーションプログラミングを含むことができる。もう１つの実施形態では、アプリケーションサービスは、中央サーバによって実行される実行経路の妥当性検査の要求を発行し、所定の期待される動作経路のうちの少なくとも１つが満足されることの肯定の応答が受信されるまで、動作を停止することができる。複数の実行経路を許容可能とすることが可能である。期待される実行経路のそれぞれは、実行されつつあるソフトウェアベースの動作に関連して事前に決定され、メモリに格納される。監査ログに従って、期待される実行経路内の点のそれぞれが実行されなかったと判定される場合には、システム動作が認可されたシーケンスに従わなかったと仮定することができ、したがって、可能な詐欺活的動が示される。
【００１７】
監査ログファイルは、動作の間の持続時間を示すタイムスタンプをも含むことができる。所定の期待される実行経路は、同様に、動作の間の期待される持続時間またはしきい持続時間を示す時間間隔しきい値を定義することができ、この期待される持続時間またはしきい持続時間は、それに違反する時に、潜在的な詐欺的動作を示す。したがって、監査ログファイルの分析の一部として、タイムスタンプまたは時間間隔情報を、時間間隔しきい値と比較して、メッセージの配送または関連する動作の実行に過剰な時間が費やされたかどうかを判定することができ、この過剰な時間は、潜在的な詐欺的動作を示す。
【００１８】
したがって、本明細書で説明される実施形態は、潜在的な詐欺を識別するために、１つまたは複数のシステムアプリケーションの正確な動作と、メッセージの実行経路とを検証し、どの動作が実行されたのか、メッセージがどの経路をたどったのか、誰がメッセージを送信しまたは動作を実行したのか、個々の動作にどれほど長くかかったのかなどを妥当性検査することを可能にする。したがって、高められたレベルのメッセージ保証を達成でき、これは、メッセージ反復攻撃、メッセージインターセプト、システムなりすまし、および他のメッセージ改竄活動を防ぐことを可能にする。
【００１９】
例の実施形態を、これから図１〜３を参照して説明する。
【００２０】
図１は、一実施形態による例の分散コンピューティングシステム１００のブロック図である。分散コンピューティングシステム１００は、複数のシステムアプリケーション１０５ａ〜１０５ｎを含むことができ、これによって、各システムアプリケーション１０５ａ〜１０５ｎは、複数のアプリケーションサービス１１０ａ〜１１０ｎ（全体的にソフトウェアモジュールまたはモジュールのコレクションと称する）を含む。複数のアプリケーションサービス１１０ａ〜１１０ｎのそれぞれは、それぞれのシステムアプリケーション１０５ａ〜１０５ｎのソフトウェアベースの動作を実行するために実行可能である。複数のシステムアプリケーション１０５ａ〜１０５ｎおよびそれぞれのアプリケーションサービス１１０ａ〜１１０ｎのそれぞれを、さまざまなアプリケーションサービス１１０ａ〜１１０ｎを実行するシーケンスおよび／または実行中にさまざまなアプリケーションサービス１１０ａ〜１１０ｎの間で交換されるデータ、コマンド、もしくは他の命令に依存するものとすることができる任意の個数の異なるソフトウェアベースの動作を実行するために実行可能とすることができることを了解されたい。各システムアプリケーション１０５ａ〜１０５ｎを、分散コンピューティングシステム１００全体の異なるシステム、プログラム、または製品に関連付けることができ、あるいは、いくつかの例では、複数のシステムアプリケーション１０５ａ〜１０５ｎを、分散コンピューティングシステムの同一のシステム、プログラム、または製品に関連付けることができる。各システムアプリケーション１０５ａ〜１０５ｎは、異なる物理コンピュータシステムに常駐し、そこで実行されることが可能であり、あるいは、いくつかの実施形態では、複数のシステムアプリケーション１０５ａ〜１０５ｎが、同一のコンピュータシステムに常駐することができる。上で説明したように、分散コンピューティングシステム１００を、一例で、スマートグリッドコンピューティングシステムに関連付けることができ、これによって、システムアプリケーションのそれぞれが、スマートグリッドコンピューティングシステム内で異なる機能を実行するように構成される。しかし、分散コンピューティングシステム１００は、スマートグリッドコンピューティングシステムに限定されるのではなく、一般に、１つまたは複数の特定のソフトウェアベースの動作を実行するために実行中にアプリケーションサービスの間でメッセージ、データ、またはコマンドを送信する１つまたは複数のアプリケーションサービスを実行するように構成された任意のコンピューティングシステムを指すことができる。
【００２１】
システムアプリケーション１０５ａ〜１０５ｎのそれぞれ、したがってアプリケーションサービス１１０ａ〜１１０ｎのそれぞれは、ネットワーク１１５を介してメッセージ保証サーバ１２０と通信する。システムアプリケーション１０５ａ〜１０５ｎのうちの１つまたは複数が、直接にまたはネットワーク１１５を介してのいずれかで、お互いと通信することができる。メッセージ保証サーバ１２０を、本明細書で説明する詐欺検出動作を容易にするために、プログラミング命令（たとえば、ソフトウェアまたは他のコンピュータ実行可能命令）を格納し、実行するように動作可能な、１つまたは複数のプロセッサとメモリとを含む任意のコンピュータシステムとして実施することができる。コンピュータ実行可能命令を実行することによって、メッセージ保証サーバ１２０は、分散コンピューティングシステム１００内で発生する詐欺的動作の検出を容易にする特殊目的コンピュータまたは特定の機械を含むか形成することができる。
【００２２】
メッセージ保証サーバ１２０のメモリに格納され、１つまたは複数のプロセッサによって実行可能な例のプログラミング命令は、構成モジュール１２５、監査ログモジュール１３０、および詐欺検出モジュール１３５を含むことができ、これらのモジュールのそれぞれは、本明細書でさらに説明するように、詐欺検出動作を部分的に容易にするように動作可能である。メモリは、メッセージ保証サーバ１２０のプログラミング命令を実行するためにプロセッサによって利用されるオペレーティングシステムをも含むことができる。メッセージ保証サーバ１２０は、監査ログデータベース１４０などの１つまたは複数のデータストレージデバイスをさらに含むことができ、この監査ログデータベース１４０は、個々のアプリケーションサービス１１０ａ〜１１０ｎの実行中に受信される監査ログファイルを格納し、オプションで、監査ログファイル、１つまたは複数のアプリケーションサービス１１０ａ〜１１０ｎの実行に関連する事前定義の期待される実行経路および時間間隔しきい値、ユーザ特権情報、詐欺アラートメッセージテンプレート、および類似物などであるがこれらに限定されない、詐欺検出モジュール１３５によって利用され、構成モジュール１２５によって生成されるデータを格納するように動作可能とすることができる。
【００２３】
より具体的には、構成モジュール１２５は、システムアプリケーション１０５ａ〜１０５ｎおよび関連するアプリケーションサービス１１０ａ〜１１０ｎ情報を収集しまたは他の形で定義すること、１つまたは複数の期待される実行経路を定義すること、１つまたは複数の期待される実行経路をアプリケーションサービス１１０ａ〜１１０ｎに関連付けること、システムアプリケーション１０５ａ〜１０５ｎ動作およびアプリケーションサービス１１０ａ〜１１０ｎ動作のさまざまなシーケンスの実行に関する時間間隔しきい値を定義すること、時間間隔しきい値をアプリケーションサービス１１０ａ〜１１０ｎに関連付けること、アプリケーションサービス１１０ａ〜１１０ｎのうちの１つまたは複数によって少なくとも部分的に実行可能とすることができ、かつ／またはメッセージ保証サーバ１２０によって少なくとも部分的に実行可能とすることができる、アプリケーションサービス１１０ａ〜１１０ｎのうちの１つまたは複数の実行に関連する監査ログを生成しまたは他の形で取り込み、分析する詐欺検出論理を定義すること、および類似物などであるがこれらに限定されない詐欺検出動作の構成を容易にするように動作可能なプログラミング命令を含むことができる。したがって、一実施形態で、構成モジュール１２５を、本明細書で説明する詐欺検出動作の構成に関連するユーザからの情報を提示し、取り込むためにユーザインターフェースを定義し、生成し、提示するように動作可能とすることができる。いくつかの実施形態で、構成モジュールによって実行される多数の態様を、システムアーキテクトまたはソフトウェアプログラマなどによる、それぞれのシステムアプリケーション１０５ａ〜１０５ｎの開発、生成、およびプログラミング中に実行することができる。構成モジュール１２５の例の動作に関するさらなる詳細を、本明細書で図２を参照して提供する。
【００２４】
監査ログモジュール１３０は、アプリケーションサービス１１０ａ〜１１０ｎのうちの１つまたは複数による監査ログファイルの生成および格納を容易にするように動作可能なプログラミング命令を含むことができる。たとえば、一実施形態によれば、監査ログモジュール１３０を、ネットワーク１１５を介して１つまたは複数のアプリケーションサービス１１０ａ〜１１０ｎの実行中に監査ログファイルを受信し、監査ログファイルを監査ログデータベース１４０などのメモリに格納するように動作可能とすることができる。監査ログモジュール１３０の例の動作に関する追加の詳細を、本明細書で図３を参照して提供する。
【００２５】
詐欺検出モジュール１３５は、実行経路および関連する動作が、分析されるアプリケーションサービス１１０ａ〜１１０ｎの少なくとも１つの所定の期待される実行経路および／または１つまたは複数の時間間隔しきい値を満足するかどうかを判定するための監査ログ情報の分析を容易にするように動作可能なプログラミング命令を含むことができる。一実施形態によれば、詐欺検出モジュールによって実行される少なくともいくつかの態様を、分析されるアプリケーションサービス１１０ａ〜１１０ｎによって実行することができる。たとえば、アプリケーションサービス１１０ａ〜１１０ｎの所期の動作（たとえば、アプリケーションサービスエンドポイント）の実行の前に、アプリケーションサービス１１０ａ〜１１０ｎは、期待される動作の実行を完了する前に分析のために監査ログファイルおよび期待される実行経路情報を取り出すために、ネットワーク１１５を介してメッセージ保証サーバ１２０にコマンドを発行するプログラミング命令を含むことができる。もう１つの実施形態では、アプリケーションサービス１１０ａ〜１１０ｎは、その代わりに、メッセージ保証サーバ１２０によって監査ログファイルを分析し、認可判定を行うために、メッセージ保証サーバ１２０にコマンドを発行することができ、メッセージ保証サーバ１２０は、返報として、動作が認可され、したがってアプリケーションサービス１１０ａ〜１１０ｎが進行できるかどうかを示す詐欺状況を応答することができる。所与のソフトウェアベースの動作に関連するアプリケーションサービス１１０ａ〜１１０ｎのうちの一部またはすべての実行の完了の前に、詐欺検出モジュール１３５にアクセスし、詐欺検出モジュール１３５を実行することができる。詐欺検出モジュール１３５の例の動作に関する追加の詳細を、本明細書で図３を参照して提供する。
【００２６】
メッセージ保証サーバ１２０は、メモリと１つまたは複数のプロセッサとの間でデータ通信を提供するために動作可能なデータバスをさらに含むことができる。ユーザ（たとえば、システムオペレータまたは構成担当者、セキュリティ担当者など）は、キーボード、マウス、コントロールパネル、またはコンピュータシステムとの間でデータを通信できる任意の他のデバイスなどであるがこれらに限定されない少なくとも１つのユーザインターフェースデバイスを介してメッセージ保証サーバ１２０とインターフェースすることができる。メッセージ保証サーバ１２０は、システムアプリケーション１０５ａ〜１０５ｎを動作させるコンピュータシステムのそれぞれとの通信を可能にする、ネットワーク１１５などの１つまたは複数の適切なネットワークへのメッセージ保証サーバ１２０の接続を容易にする、ネットワークカードまたは他の通信デバイスなどの１つまたは複数の適切なネットワークインターフェースをさらに含むことができる。さらに、分散コンピューティングシステム１００内の他のコンピュータシステムおよび／または他のコンポーネントもしくは機械類などの他の外部デバイスが、ネットワークインターフェースを介してメッセージ保証サーバ１２０と通信できることを了解されたい。したがって、メッセージ保証サーバ１２０およびこれによって実施されるプログラミング命令は、ソフトウェア、ハードウェア、ファームウェア、またはその任意の組合せを含むことができる。複数のコンピュータを一緒に使用することができ、これによって、本明細書で説明する異なる特徴を、１つまたは複数の異なるコンピュータ上で実行できることをも了解されたい。
【００２７】
ネットワーク１１５は、いずれをも有線および／または無線とすることができる、ローカルエリアネットワーク、広域ネットワーク、イントラネット、インターネット、中間ハンドヘルドデータ転送デバイス、公衆交換電話網、および／またはその任意の組合せなどであるがこれらに限定されない、公衆、私有、またはその組合せのいずれかの、任意の個数の遠隔通信ネットワークおよび／またはデータネットワークを含むことができる。ネットワーク接続性に起因して、本明細書で説明されるさまざまな方法論を、分散コンピューティング環境の文脈で実践することができる。分散コンピューティングシステム１００が、単純さのために１つのネットワーク１１５を含むものとして図示されているが、ネットワークの間またはネットワークの中で接続性を提供するために、それぞれがゲートウェイおよびルータなどのデバイスを有する複数のネットワークをオプションで含むことができる、任意の他のネットワーク構成が可能であることを理解されたい。
【００２８】
システムアプリケーション１０５ａ〜１０５ｎおよび関連するアプリケーションサービス１１０ａ〜１１０ｎのそれぞれを、上でメッセージ保証サーバ１２０を参照して説明したものと同一のまたは類似するコンポーネントおよび動作を有するコンピュータシステムによって実行することができる。
【００２９】
当業者は、図１に示され、図１に関して説明された分散コンピューティングシステム１００が、例としてのみ提供されることを了解するであろう。多数の他の動作環境、システムアーキテクチャ、およびデバイス構成が可能である。他のシステム実施形態は、より少数またはより多数のコンポーネントを含むことができ、図１に示されたシステムコンポーネントに関して説明した機能性の一部またはすべてを組み込むことができる。したがって、本発明の実施形態を、特定の動作環境、システムアーキテクチャ、またはデバイス構成に限定されると解釈してはならない。
【００３０】
図２は、例示的実施形態による、詐欺検出システムを構成する例の方法２００の流れ図である。方法２００を、図１を参照して説明した分散コンピューティングシステム１００などの１つまたは複数の分散コンピューティングシステムに関連して利用することができる。たとえば、方法２００の諸態様を、やはり図１を参照して説明したメッセージ保証サーバ１２０の構成モジュール１２５とユーザがインターフェースすることによって少なくとも部分的に実行することができる。
【００３１】
方法２００は、ブロック２０５で開始することができ、ブロック２０５では、システムアプリケーション１０５ａ〜１０５ｎおよび関連するアプリケーションサービス１１０ａ〜１１０ｎのそれぞれに関する情報を収集し、監査ログデータベース１４０などに格納する。システムアプリケーション情報は、アプリケーション（たとえば、システムアプリケーション識別子など）、実行されつつあるソフトウェア、ソフトウェアの機構、システムアプリケーションがインターフェースできる他のシステムアプリケーション、システムアプリケーションが格納され、実行されるコンピュータシステム、ユーザ情報（たとえば、認可されたユーザの識別子、プログラムインスタンスを実行するユーザの識別子など）、システムアプリケーションに関連する各アプリケーションサービス１１０ａ〜１１０ｎ、および類似物に関連する情報を含むことができるが、これらに限定されない。同様に、アプリケーションサービス情報は、アプリケーションサービスが関連するシステムアプリケーション１０５ａ〜１０５ｎ（たとえば、システムアプリケーション識別子など）、アプリケーションサービス（たとえば、アプリケーションサービス識別子など）、アプリケーションサービスの機能、アプリケーションサービスがインターフェースできる他のアプリケーションサービスおよび／またはシステムアプリケーション、用いられるソフトウェアクラス、用いられるソフトウェアメソッド、期待されるデータ型および／またはメッセージ内容、サービスの実行の日付、サービスの実行の時刻、ユーザ情報（たとえば、認可されたユーザの識別子、プログラムインスタンスを実行するユーザの識別子など）、および類似物に関連する情報を含むことができるが、これらに限定されない。システムアプリケーション情報およびアプリケーションサービス情報の前述の例が、例示のみのために提供され、限定的ではないことを了解されたい。システムアプリケーションおよび／またはアプリケーションサービスならびにその実行に関連する任意の適切な情報を、本明細書で説明する詐欺検出動作中に集め、利用することができる。
【００３２】
ブロック２０５に続くのが、ブロック２１０であり、ブロック２１０では、１つまたは複数の期待される実行経路を入力し、アプリケーションサービス１１０ａ〜１１０ｎのうちの１つまたは複数に関連付ける。いくつかの実施形態では、実行経路を、すべてのアプリケーションサービス１１０ａ〜１１０ｎではなく、アプリケーションサービスエンドポイントならびに／あるいは他のクリティカルなおよび／またはデータに敏感なアプリケーションサービスを有するものなどのサブセットだけに関連付けることができる。いくつかの実施形態で、アプリケーションサービス１１０ａ〜１１０ｎは、アプリケーションサービスが複数のソフトウェアベースの動作に関連して実行される（たとえば、他のアプリケーションサービスの異なる組合せの実行を介してそのアプリケーションサービスに達するなど）場合などに、複数の期待される実行経路を関連付けられる場合があることをさらに了解されたい。期待される実行経路は、１つまたは複数のアプリケーションサービス１１０ａ〜１１０ｎおよび／または当該のアプリケーションサービス１１０ａ〜１１０ｎを実行する前に実行されなければならない１つまたは複数のシステムアプリケーション１０５ａ〜１０５ｎに関する詳細を提供することができる。たとえば、それに関して詐欺的活動が検出されなければならない１つまたは複数のアプリケーションサービス１１０ａ〜１１０ｎを利用するソフトウェアベースの動作ごとに（いくつかの動作について詐欺的活動を検出することが必要ではないことに留意されたい）、期待される実行経路は、分析される当該のアプリケーションサービス１１０ａ〜１１０ｎの前に実行されなければならないアプリケーションサービス１１０ａ〜１１０ｎ（またはシステムアプリケーション１０５ａ〜１０５ｎ）のそれぞれまたは少なくともそのサブセットを識別する。したがって、期待される実行経路は、特定のソフトウェアベースの動作が設計され期待される通りに実行されるための動作のシーケンスを表す。いくつかの実施形態で、期待される実行経路情報は、直前のアプリケーションサービス１１０ａ〜１１０ｎを識別することだけができ、これは、より以前の動作で発生する詐欺的活動が、同一のまたは類似する技法に従ってより以前のアプリケーションサービス１１０ａ〜１１０ｎの実行の前に検出されることを仮定することができる。いくつかの実施形態で、各すべての実行されるアプリケーションサービス１１０ａ〜１１０ｎまたは実行される動作が、期待される実行経路によって示される必要があるのではなく、いくつかの実施形態で、動作のサブセットだけが識別され、たとえば、セキュリティもしくは成功の動作にクリティカルではない動作の省略または多数の変数がある可能性がある動作の省略を可能にすることをさらに了解されたい。さらに、いくつかのアプリケーションサービス１１０ａ〜１１０ｎについて、実行されつつある異なるソフトウェアベースの動作について異なる可能性がある複数の異なるアプリケーションサービスまたはシステムアプリケーションがアプリケーションサービス１１０ａ〜１１０ｎにアクセスしまたはこれを呼び出すことができる時など、複数の期待される実行経路がある場合がある。これらの場合に、複数の期待される実行経路のうちの１つだけが満足される。
【００３３】
各期待される実行経路情報を、監査ログデータベース１４０に格納することができ、全体的にソフトウェアベースの動作に、アプリケーションサービス１１０ａ〜１１０ｎもしくはシステムアプリケーション１０５ａ〜１０５ｎに、またはその任意の組合せに関連付けることができる。たとえば、テーブルまたは他のデータ構造が、アプリケーションサービス１１０ａ〜１１０ｎへの参照と、アプリケーションサービス１１０ａ〜１１０ｎごとに、分析されつつあるそれぞれのアプリケーションサービス１１０ａ〜１１０ｎの実行の前に実行されなければならない１つまたは複数のアプリケーションサービス１１０ａ〜１１０ｎ（および／またはシステムアプリケーション１０５ａ〜１０５ｎ）への参照とを含むことができる。したがって、この実施形態によれば、アプリケーションサービス１１０ａ〜１１０ｎが分析されつつある時に（たとえば、その動作を完了する前にメッセージ保証サーバ１２０への呼出を行うサービスエンドポイントまたは他のサービス）、期待される実行経路を、その特定のアプリケーションサービス１１０ａ〜１１０ｎについて識別することができる。しかし、他の実施形態では、テーブルまたは他のデータ構造は、特定のソフトウェアベースの動作について実行経路全体を識別する実行経路情報を格納することができ、動作内の特定のアプリケーションサービスに直接には関連付けられない。したがって、この実施形態では、特定のアプリケーションサービス１１０ａ〜１１０ｎが分析されつつある時に（たとえば、その動作を完了する前にメッセージ保証サーバ１２０への呼出を行うサービスエンドポイント）、実行されつつある当該のアプリケーションサービス１１０ａ〜１１０ｎを当初に参照することではなく実行されつつある全体的なソフトウェアベースの動作に対して参照することによるなど、動作全体の期待される実行経路が、識別される。一実施形態では、監査ログ情報および期待される実行経路は、アプリケーションサービスエンドポイントについてのみ分析され、したがって、作成され格納される時にアプリケーションサービスエンドポイントに関連付けられることだけを必要とする。しかし、他の実施形態では、監査ログ情報および期待される実行経路を、中間のアプリケーションサービスについても分析することができる。前述の期待される実行経路構成が、例示のために提供され、期待される実行経路を格納し、実行されつつある動作またはアプリケーションサービスに関連付ける任意の適切な手段を利用できることを了解されたい。
【００３４】
ブロック２１０に続くのが、ブロック２１５であり、ブロック２１５では、時間間隔しきい値を定義し、格納された期待される実行経路のうちの１つまたは複数に関連付ける。時間間隔しきい値を利用して、このしきい値を越える動作が潜在的な詐欺的活動を示すと仮定して、２つのアプリケーションサービス１１０ａ〜１１０ｎの実行の間の許容可能な最大の（または他の事前定義の時間の長さ）持続時間を定義することができる。いくつかの実施形態では、複数の時間間隔しきい値を特定のソフトウェアベースの動作について定義することができ、複数のアプリケーションサービス１１０ａ〜１１０ｎを実行するシーケンス中に、ある複数の時間間隔しきい値が満足されると期待されるようになる。時間間隔しきい値を、２つの連続する動作の間（たとえば、第１の動作と、実行される直後の動作との間）で定義することができるが、そうである必要はない。他の実施形態では、時間間隔しきい値を、１つまたは複数の中間アプリケーションサービスがそれらのために実行される２つのアプリケーションサービス１１０ａ〜１１０ｎの間など、２つの連続しない動作の間で定義することができる。
【００３５】
ブロック２１５に続くのが、ブロック２２０であり、ブロック２２０では、実行経路および関連する動作が、分析されつつあるアプリケーションサービス１１０ａ〜１１０ｎの少なくとも１つの所定の期待される実行経路および／または時間間隔しきい値を満足するかどうかを判定するために監査ログ情報の取込および分析を容易にするために詐欺検出論理を生成するようにプログラミング命令を構成することができる。一実施形態によれば、１つまたは複数の詐欺検出モジュールとして実施できる詐欺検出論理の少なくともいくつかの態様を、分析されつつあるアプリケーションサービス１１０ａ〜１１０ｎによってまたはこれに関連して実行することができる。たとえば、アプリケーションサービス１１０ａ〜１１０ｎの所期の動作（たとえば、アプリケーションサービスエンドポイント）の実行の前に、アプリケーションサービス１１０ａ〜１１０ｎは、期待される動作の実行を完了する前の分析のために、ネットワーク１１５を介してメッセージ保証サーバ１２０から監査ログファイルおよび期待される実行経路情報を取り出すコマンドを発行するプログラミング命令を含むことができる。もう１つの実施形態では、アプリケーションサービス１１０ａ〜１１０ｎは、その代わりに、監査ログファイルの分析および判定をメッセージ保証サーバ１２０によって行わせるコマンドをメッセージ保証サーバ１２０に発行することができ、メッセージ保証サーバ１２０は、返報として、動作が認可され、したがってアプリケーションサービス１１０ａ〜１１０ｎが進行できるかどうかを示すなど、詐欺状況を返すことができる。したがって、さまざまな実施形態によれば、詐欺検出論理を、完全にそれぞれのアプリケーションサービス１１０ａ〜１１０ｎ内で、完全にメッセージ保証サーバ１２０内で、完全にまたは少なくとも部分的にそれぞれのアプリケーションサービス１１０ａ〜１１０ｎに関連して実行されるように動作可能な別のソフトウェアモジュールおよび／またはコンピュータシステム内で、あるいはその任意の組合せなど、任意の個数の適切な構成に従って提供することができる。詐欺検出論理を、所与のソフトウェアベースの動作に関連するアプリケーションサービス１１０ａ〜１１０ｎのうちのいくつかまたはすべてについて提供することができる。詐欺検出論理の例の動作に関する追加の詳細を、本明細書で図３を参照して提供する。
【００３６】
方法２００は、所与のソフトウェアベースの動作に関連するアプリケーションサービス実行の分析および妥当性検査を容易にするためにそれぞれのシステムアプリケーション１０５ａ〜１０５ｎ、アプリケーションサービス１１０ａ〜１１０ｎ、および／またはメッセージ保証サーバ１２０を構成し終えて、ブロック２２０の後に終了することができる。
【００３７】
図３は、例示的な実施形態による、詐欺を検出する例の方法３００の流れ図である。方法３００を、図１を参照して説明した分散コンピューティングシステム１００などの１つまたは複数の分散コンピューティングシステムに関連して利用することができる。たとえば、方法３００の諸態様を、やはり図１を参照して説明した特定のソフトウェアベースの動作の一部として１つまたは複数のシステムアプリケーション１０５ａ〜１０５ｎおよび関連するアプリケーションサービス１１０ａ〜１１０ｎの実行中に少なくとも部分的に実行することができる。ある種のアプリケーションサービス１１０ａ〜１１０ｎの実行中に、監査ログファイルおよび実行経路情報などの動作情報が、詐欺的サービスが発生した可能性があるかどうかを検出するために分析される。
【００３８】
方法３００は、ブロック３０５で開始することができ、ブロック３０５では、特定のソフトウェアベースの動作の実行中に実行されるプログラムされた動作およびメッセージ実行が発生する。ブロック３０５は、１つまたは複数のシステムアプリケーション１０５ａ〜１０５ｎおよび関連するアプリケーションサービス１１０ａ〜１１０ｎによって実行される特定のソフトウェアベースの動作の全体的な開始または継続される動作を示す。本明細書で説明されるように、ソフトウェアベースの動作を、それについてメッセージ保証および詐欺検出が実行されることが望まれる、分散コンピューティングシステムによって実行される任意のソフトウェア動作とすることができる。ソフトウェアベースの動作が実行される時に、各アプリケーションサービス１１０ａ〜１１０ｎは、ソフトウェアベースの動作の実行経路に沿った別々の点を定義する。前に説明したように、ソフトウェアベースの動作に関連する所定の期待される実行経路に基づいて、これらのアプリケーションサービスのうちの１つまたは複数の実行の前に、動作および／またはメッセージ真正性を妥当性検査することができる。したがって、方法２００は、判断ブロック３３５によって示されるように、複数のアプリケーションサービス１１０ａ〜１１０ｎについて繰り返すことができる、１つのアプリケーションサービス１１０ａ〜１１０ｎの実行に関連して（たとえば、その前に）実行できる動作を示す。
【００３９】
ブロック３０５に続くのが、ブロック３１０であり、ブロック３１０では、実行されつつあり、図１を参照して説明したネットワーク１１５を介してメッセージ保証サーバ１２０になど、ネットワークを介して中央サーバに送信される、それぞれのアプリケーションサービス１１０ａ〜１１０ｎに関する１つまたは複数の監査ログファイルを生成する。監査ログファイルは、実行経路内の特定の点に関連する情報を取り込み、ソフトウェアベースの動作の実行経路に沿って実行されるそれぞれのアプリケーションサービス１１０ａ〜１１０ｎまたは後続のアプリケーションサービス１１０ａ〜１１０ｎに関連する詐欺検出を実行するのに利用できる情報を含むことができる。監査ログ情報は、実行される特定のアプリケーションサービス１１０ａ〜１１０ｎを識別するのに適切な任意の情報およびオプションで、関連するアプリケーションサービス１１０ａ〜１１０ｎに関して望まれる任意の追加情報（たとえば、実行されつつあるサービス、前のアプリケーションサービス、および／または後続アプリケーションサービスなど）、関連するシステムアプリケーション１０５ａ〜１０５ｎ、またはソフトウェアベースの動作に関する任意の追加の情報とすることができる。例の監査ログファイル情報は、実行されつつあるソフトウェアベースの動作、ソフトウェアベースの動作の機能、関連するシステムアプリケーション（たとえば、システムアプリケーション識別子など）、システムアプリケーションがインターフェースできる他のシステムアプリケーション、実行されつつあるアプリケーションサービス（たとえば、アプリケーションサービス識別子など）、アプリケーションサービスの機能、実行されつつあるアプリケーションサービスを呼び出すアプリケーションサービス、実行されつつあるアプリケーションサービスによって呼び出されるアプリケーションサービス、システムアプリケーション、他のアプリケーションサービス、および／またはアプリケーションサービスがインターフェースできるシステムアプリケーションに関連する各他のアプリケーションサービス、用いられるソフトウェアクラス、用いられるソフトウェアメソッド、期待されるデータ型および／またはメッセージ内容、サービスの実行の日付、サービスの実行の時刻、システムアプリケーションが格納され、実行されるコンピュータシステム、ユーザ情報（たとえば、認可されたユーザの識別子、プログラムインスタンスを実行するユーザの識別子、ユーザ特権など）、ならびに類似物を含むことができるが、これらに限定されない。前述の監査ログ情報が、例示のために提供され、限定的ではないことを了解されたい。
【００４０】
ブロック３１０に続くのが、ブロック３１５であり、ブロック３１５では、実行されつつあるアプリケーションサービス１１０ａ〜１１０ｎの実行を完了する前に、少なくともいくつかのアプリケーションサービス１１０ａ〜１１０ｎについて、メッセージ実行経路および／またはアプリケーションサービス動作を妥当性検査する。一実施形態によれば、ブロック３１５の動作は、それぞれのアプリケーションサービス１１０ａ〜１１０ｎの完了の前に詐欺を検出するために、実行されつつあるアプリケーションサービス１１０ａ〜１１０ｎのうちの少なくとも１つについて実行されるが、ソフトウェアベースの動作を実行している間に実行されるすべてのアプリケーションサービス１１０ａ〜１１０ｎについて実行される必要はない。たとえば、一実施形態では、ブロック３１５の動作は、アプリケーションサービスエンドポイントの実行の前に実行され、このアプリケーションサービスエンドポイントは、所与のソフトウェアベースの動作のために実行される最後のアプリケーションサービス１１０ａ〜１１０ｎと定義することができる。したがって、アプリケーションサービスエンドポイントの実行の前に詐欺検出を実行することは、ソフトウェアベースの動作の完了の前にすべての潜在的な詐欺的メッセージおよび／または動作を検出することを可能にすることができる。しかし、他の実施形態では、ブロック３１５の動作を、アプリケーションサービスエンドポイントに加えてまたはその代わりに、１つまたは複数の他のアプリケーションサービス１１０ａ〜１１０ｎの実行に関連して実行することができる。ブロック３１５で認可されないアプリケーションサービス１１０ａ〜１１０ｎについて、いくつかの実施形態で、それでも、監査ログファイルを後の分析のためにブロック３１０で収集することができる。
【００４１】
一実施形態によれば、ブロック３１５の動作は、一般に、実行されつつあるソフトウェアベースの動作の先行する実行経路を定義するために実行経路内の前のアプリケーションサービスの実行中に前に生成された監査ログ情報を分析することを含むことができる。次に、この実行経路を、ソフトウェアベースの動作に関連して格納された１つまたは複数の所定の期待される実行経路と比較して、実際の実行経路が期待される実行経路を満足する（たとえば、同一のまたは同等の動作を実行する）かどうかを判定することができる。期待される実行経路が満足されない（たとえば、期待される実行経路によって定義されない１つまたは複数の動作またはメッセージが生成される）場合には、下のブロック３３０などで、潜在的な詐欺的活動が発生したと判定することができ、実行すべき後続アクションを判定することができる。
【００４２】
１つの例の実施形態では、実行されつつあるアプリケーションサービス１１０ａ〜１１０ｎに関連するプログラミング命令は、少なくとも部分的に、監査ログ情報の分析と、特定のソフトウェアベースの動作の１つまたは複数の期待される実行経路との比較とを実行することができる。たとえば、アプリケーションサービス１１０ａ〜１１０ｎを、ネットワーク１１５を介してメッセージ保証サーバ１２０からなど、以前に生成された監査ログ情報および期待される実行経路情報を取り出し、実行されつつあるアプリケーションサービス１１０ａ〜１１０ｎによってローカルに比較を実行するようにプログラムすることができる。もう１つの例として、アプリケーションサービス１１０ａ〜１１０ｎは、ネットワーク１１５を介してメッセージ保証サーバ１２０に認可の要求を開始することができ、このメッセージ保証サーバ１２０は、期待される実行経路が満足されたか否かの指示を、したがってアプリケーションサービス１１０ａ〜１１０ｎが継続できるのか例外として潜在的な詐欺を処理しなければならないのかの指示を応答することを可能にするプログラミング命令（たとえば、詐欺検出モジュール１３５など）を含む。もう１つの例として、ソフトウェアベースの動作のアプリケーションサービス１１０ａ〜１１０ｎに対する制御は、個々のアプリケーションサービス１１０ａ〜１１０ｎについて追加のプログラミングが不要になるように、中央で管理される。この例では、集中化されたレビューおよび認可を、ソフトウェアベースの動作に対する制御をそれぞれのアプリケーションサービス１１０ａ〜１１０ｎに返す前に、メッセージ保証サーバ１２０によるなど、中央で実行することができる。
【００４３】
ブロック３１５で実行される比較動作を、前に実行されたアプリケーションサービス識別子を１つまたは複数の期待される実行経路によって定義されるアプリケーションサービス識別子と比較すること、システムアプリケーション識別子を１つまたは複数の期待される実行経路によって定義されるシステムアプリケーション識別子と比較すること、コンピュータシステム識別子を１つまたは複数の期待される実行経路によって定義されるコンピュータシステム識別子と比較すること、ソフトウェアモジュール識別子を１つまたは複数の期待される実行経路によって定義されるソフトウェアモジュール識別子と比較すること、メッセージ内容を１つまたは複数の期待される実行経路によって定義される期待されるメッセージ内容と比較すること、ユーザ識別子を１つまたは複数の期待される実行経路によって定義されるユーザ識別子および／またはユーザ特権情報と比較すること、ならびに類似物のうちの１つまたは複数を含むがこれらに限定されない任意の個数の適切な方法に従って実行することができる。前に説明したように、期待される実行経路情報を、監査ログ情報に含まれるか他の形で監査ログ情報を介して入手可能にされる、アプリケーションサービス識別子、システムアプリケーション識別子、ソフトウェアベースの動作識別子、または実行されつつある動作に一意の他のプログラミング命令もしくはソフトウェア情報のうちの１つまたは複数への関連付けに従って取り出すことができる。ブロック３１５に関する前述の動作が、例示のために提供され、限定的ではないことを了解されたい。
【００４４】
ブロック３２０が、さまざまな実施形態によれば、オプションでブロック３１５に続くことができる。ブロック３２０では、２つの異なるアプリケーションサービス１１０ａ〜１１０ｎの実行の間の時間持続時間と定義される時間間隔を、やはり関連するソフトウェアベースの動作の１つまたは複数の期待される実行経路によって定義される時間間隔しきい値情報と比較することができる。時間間隔は、監査ログ情報の一部として提供されるタイムスタンプ情報によって判定でき、これによって、２つのタイムスタンプの間の差が、２つのアプリケーションサービス１１０ａ〜１１０ｎの実行の間に経過した持続時間を表す近似時間間隔を定義するはずである。説明されるように、複数のアプリケーションサービス１１０ａ〜１１０ｎの実行のシーケンス中に、１つまたは複数の間隔しきい値が満足されると期待されるように、１つまたは複数の時間間隔しきい値を、特定のソフトウェアベースの動作について定義することができる。時間間隔しきい値を、２つの連続する動作の間（たとえば、第１の動作と、実行される直後の動作との間）で、または、それらのために１つまたは複数の中間アプリケーションサービスが実行される２つのアプリケーションサービス１１０ａ〜１１０ｎの間などの２つの連続しない動作の間で定義することができるが、そうである必要はない。監査ログおよび実行経路情報が、期待される実行経路情報に関連する時間間隔しきい値のうちの少なくとも１つが満足されない（たとえば、２つのアプリケーションサービスの間の持続時間が時間間隔しきい値を超える）ことを示す場合には、潜在的な詐欺的動作が発生したと判定することができる。ブロック３１５で実行される動作と同一のまたは類似する形で、ブロック３２０の動作を、実行されつつあるアプリケーションサービス１１０ａ〜１１０ｎによって、メッセージ保証サーバ１２０（または他の集中化されたシステム）によって、別の関連するコンピュータシステムおよび関連するプログラミング命令によって、またはその任意の組合せによって、部分的に実行することができる。さらに、一実施形態によれば、ブロック３１５および３２０の動作は、別々に実行される必要があるのではなく、その代わりに、実行経路情報または時間間隔情報の一方または両方を分析する同一の動作の一部として実行されてもよい。いくつかの実施形態では、ブロック３１５の動作だけが実行され、他の実施形態では、ブロック３２０の動作だけが実行されることをさらに了解されたい。
【００４５】
ブロック３２０に続くのが、ブロック３２５であり、ブロック３２５では、オプションで、実行されつつあるアプリケーションサービス１１０ａ〜１１０ｎの実行に関連する動作および／またはメッセージが認可されるかどうかを判定する。一実施形態では、判断ブロック３２５（およびブロック３１５〜３２０）の動作を、アプリケーションサービスエンドポイントについておよび／または任意の他の機密のまたはクリティカルなアプリケーションサービス１１０ａ〜１１０ｎについてなど、アプリケーションサービス１１０ａ〜１１０ｎのうちの１つまたはサブセットについてのみ実行することができる。これらの実施形態によれば、それについて認可が実行されないアプリケーションサービス１１０ａ〜１１０ｎが実行されつつある場合には、監査ログ情報が、ブロック３１０で収集され、動作は、判断ブロック３３５に継続する。しかし、それについて認可が実行されるアプリケーションサービス１１０ａ〜１１０ｎが実行されつつある場合には、実行経路分析および／または時間間隔分析を、説明されるように期待される実行経路および時間間隔しきい値情報に従って実行することができる。実行されつつある実際のソフトウェアベースの動作の実行経路が、ソフトウェアベースの動作に関連する１つまたは複数の期待される実行経路のうちの少なくとも１つを満足する場合、および／または１つまたは複数の時間間隔が１つまたは複数の時間間隔しきい値を超えない場合には、動作は、認可され、判断ブロック３３５に継続することができる。しかし、実行経路が期待される実行経路のうちの少なくとも１つを満足しない場合、または、１つまたは複数の時間間隔がソフトウェアベースの動作の時間間隔しきい値を満足しない場合には、動作および／またはメッセージが潜在的に詐欺的であると判定することができ、ブロック３３０で、例外を送出する。
【００４６】
ブロック３３０では、潜在的な詐欺が発生した可能性があることを判定した後に、望み通りに例外を処理することができる。一実施形態では、アプリケーションサービス１１０ａ〜１１０ｎの動作が停止される（たとえば、動作を防ぐ、それぞれのアプリケーションサービス１１０ａ〜１１０ｎに送信されるコマンドなど）。一実施形態では、ソフトウェアベースの動作を識別するためおよび潜在的な詐欺の理由（たとえば、実行経路のどの態様が実行されなかったのかおよび／またはどの時間間隔しきい値に違反したのかなど）を示し、オプションでそれに関連するすべてのユーザを識別するためなど、１つまたは複数の詐欺アラートメッセージを生成することができる。詐欺アラートメッセージを、メモリに格納し（たとえば、後の取出、分析、および／または報告などのために）、かつ／または１つもしくは複数のシステムユーザに送信し（たとえば、電子的に、電子メール、インターネット通信、無線通信、ショートメッセージサービス、マルチメディアメッセージサービス、電話呼、ページャメッセージングサービスなど）、望み通りの適当な応答を可能にすることができる。潜在的な詐欺的活動の検出時にブロック３３０で生成される例外を、実施態様によって異なるものとすることができる、望み通りのさまざまな他の適切な手段に従って処理することができ、前述の例が限定的ではないことを了解されたい。
【００４７】
しかし、判断ブロック３２５で、動作が有効であり、認可される（たとえば、少なくとも１つの期待される実行経路を満足し、かつ／またはそれぞれの時間間隔しきい値を満足するなど）と判定される場合には、動作は、判断ブロック３３５に継続する。判断ブロック３３５では、ソフトウェアベースの動作が完了するかどうか、または実行すべき残っているアプリケーションサービス１１０ａ〜１１０ｎがある（たとえば、ソフトウェアベースの動作の実行経路が完了していない）かどうかを判定する。実行すべき追加のアプリケーションサービス１１０ａ〜１１０ｎがある（たとえば、実行されつつあるアプリケーションサービス１１０ａ〜１１０ｎが、アプリケーションサービスエンドポイントではない）場合には、現在のアプリケーションサービス１１０ａ〜１１０ｎは、実行を許可さされ、動作は、ブロック３０５へ繰り返し、ブロック３０５では、次のアプリケーションサービス１１０ａ〜１１０ｎが実行される。ブロック３０５〜３３５を参照して上で説明したものと同一のまたは類似する形で、次の（および後続の）アプリケーションサービス１１０ａ〜１１０ｎについて、監査ログ情報が収集され、実行経路および／または時間間隔が、オプションで妥当性検査される。しかし、判断ブロック３３５で、ソフトウェアベースの動作が完了する（たとえば、アプリケーションサービスエンドポイントにある）と判定される場合には、動作はブロック３４０に継続し、このブロック３４０では、アプリケーションサービスエンドポイントが、実行を許可され、ソフトウェアベースの動作が、完了を許可される。
【００４８】
方法３００は、監査ログ情報を収集し、ソフトウェアベースの動作の実行経路および／または時間間隔を分析し終えて、ブロック３４０の後に終了することができる。
【００４９】
図３の参照を続けて、特定の例示的な例をこれから提供する。この例によれば、例のソフトウェアベースの動作は、４つのアプリケーションサービス１１０ａ〜１１０ｄを含むことができ、アプリケーションサービス１１０ｄは、アプリケーションサービスエンドポイントである。この例によれば、例示のために、認可は、アプリケーションサービスエンドポイント１１０ｄについて実行されるのみである。したがって、ブロック３０５では、ソフトウェアベースの動作は、アプリケーションサービス１１０ａを実行することによって開始する。ブロック３１０では、アプリケーションサービス１１０ａに関係する監査ログ情報が、生成され、格納および後続の分析のためにメッセージ保証サーバ１２０に送信される。ブロック３１０〜３３０は、この例示的な例によれば認可が実行されないので、アプリケーションサービス１１０ａについて完了しない。したがって、判断ブロック３３５では、追加のアプリケーションサービス１１０ｂ〜１１０ｄが実行されなければならず、ソフトウェアベースのアプリケーションが完了しないと判定される。したがって、動作は、アプリケーションサービス１１０ｂ〜１１０ｃについてブロック３０５、３１０、および３３５に戻って繰り返し、アプリケーションサービス１１０ｂ〜１１０ｃのそれぞれの監査ログ情報を収集する。監査ログ情報を、それぞれのアプリケーションサービス１１０ａ〜１１０ｄの実行の前に、それぞれのアプリケーションサービス１１０ａ〜１１０ｄの実行と同時に、またはそれぞれのアプリケーションサービス１１０ａ〜１１０ｄの実行の後に、収集することができる。
【００５０】
動作が、アプリケーションサービスエンドポイント１１０ｄについてブロック３０５に戻って繰り返す時には、ブロック３１０で、監査ログ情報が、先行するアプリケーションサービス１１０ａ〜１１０ｃのそれぞれと同一のまたは類似する形で生成され、送信される。しかし、今はアプリケーションサービスエンドポイント１１０ｄが実行されつつあり、この例では認可がアプリケーションサービスエンドポイント１１０ｄについて実行されるので、ブロック３１５〜３２５が実行される。ブロック３１５では、ソフトウェアベースの動作について以前に生成され、収集された監査ログ情報が、取り出され、分析される。監査ログ情報は、アプリケーションサービス１１０ａ、１１０ｂ、１１０ｃ、および１１０ｄを含むこの特定のソフトウェアベースの動作の実行経路を定義する。これらのそれぞれが（オプションでこの順番で）ソフトウェアベースの動作の期待される実行経路によって定義される場合には、動作は、ブロック３３５に継続することができ、ブロック３３５では、動作は、ブロック３４０に進み、アプリケーションサービス１１０ｄの実行を許可し、このソフトウェアベースの動作が完了することを許可する。しかし、アプリケーションサービス１１０ａ、１１０ｂ、１１０ｃ、および１１０ｄのうちの１つまたは複数が期待される実行経路によって定義されない場合、または期待される実行経路によって定義される他のアプリケーションサービスが実行されなかった場合には、これは、以前に実行された動作が、動作をスキップすることまたは特定のソフトウェアベースの動作について定義されず、期待されなかった追加動作を実行することのいずれかによる、ある詐欺的活動を含む可能性があることを示す。この場合には、ブロック３３０で例外が生成され、それ相応に処理される。
【００５１】
したがって、本明細書で説明される実施形態は、システムアプリケーション処理に関連する詐欺を検出するシステムおよび方法を提供する。ある種の実施形態は、メッセージおよび動作保証を先を見越して実行するという技術的効果を提供し、分散コンピューティングシステム内の有効なセキュリティ違反の可能性を減らす。より具体的な技術的効果は、どの動作が実行されたのか、メッセージがどの経路をたどったのか、誰がメッセージを送信しまたは動作を実行したのか、個々の動作にどれほど長くかかったのか、および類似物の妥当性検査を含む、潜在的な詐欺を識別するために１つまたは複数のシステムアプリケーションの正確な動作および関連する実行経路を検証する能力を含む。これらの実施形態は、実行経路に沿ったさまざまな点で、最終的な実行の前に、メッセージ反復攻撃、メッセージインターセプト、システムなりすまし、ならびに／またはソフトウェアベースのメッセージングおよび動作に関する他の詐欺的活動を防ぐ能力を高めるという技術的効果を提供する。さらなる技術的効果は、分散コンピューティング環境内でソフトウェアベースのメッセージングおよび動作を監視し、認可するように動作可能な集中化されたシステムの作成ならびにそのロギングおよび／または通知から生じる。
【００５２】
本発明を、上で、本発明の例の実施形態によるシステム、方法、装置、および／またはコンピュータプログラム製品のブロック図および流れ図を参照して説明した。ブロック図および流れ図の１つまたは複数のブロックならびにブロック図および流れ図のブロックの組合せを、それぞれ、コンピュータ実行可能命令によって実施できることを理解されたい。同様に、ブロック図および流れ図のいくつかのブロックは、本発明のいくつかの実施形態によれば、必ずしも提示された順序で実行される必要がない場合があり、あるいは、必ずしも実行される必要がない場合がある。
【００５３】
これらのコンピュータ実行可能プログラム命令を、汎用コンピュータ、特殊目的コンピュータ、プロセッサ、または他のプログラマブルデータ処理装置にロードして、コンピュータ、プロセッサ、または他のプログラマブルデータ処理装置上で実行される命令が１つまたは複数の流れ図ブロックで指定される１つまたは複数の機能を実施するための手段を作成するように、特定の機械を作ることができる。これらのコンピュータプログラム命令を、特定の形で機能するようにコンピュータまたは他のプログラマブルデータ処理装置に指示できるコンピュータ可読メモリに格納することもでき、コンピュータ可読メモリに格納された命令は、１つまたは複数の流れ図ブロックで指定される１つまたは複数の機能を実施する命令手段を含む製造品を作るようになる。一例として、本発明の実施形態は、コンピュータ可読プログラムコードまたはプログラム命令をその中で実施されたコンピュータ使用可能媒体を含むコンピュータプログラム製品を提供することができ、前記コンピュータ可読プログラムコードは、１つまたは複数の流れ図ブロックで指定される１つまたは複数の機能を実施するために実行されるように適合される。コンピュータプログラム命令を、コンピュータまたは他のプログラマブルデータ処理装置にロードして、コンピュータまたは他のプログラマブル装置上で実行される命令が１つまたは複数の流れ図ブロックで指定される機能を実施する要素またはステップを提供するようにコンピュータ実施されるプロセスを作るために一連の動作要素またはステップをコンピュータまたは他のプログラマブル装置上で実行させることもできる。
【００５４】
したがって、ブロック図および流れ図のブロックは、指定された機能を実行する手段の組合せ、指定された機能を実行する要素またはステップの組合せ、および指定された機能を実行するプログラム命令手段をサポートする。ブロック図および流れ図の各ブロックと、ブロック図および流れ図のブロックの組合せとを、指定された機能、要素、もしくはステップを実行する特殊目的のハードウェアベースのコンピュータシステム、または特殊目的ハードウェアおよびコンピュータ命令の組合せによって実施できることをも理解されたい。
【００５５】
本発明を、現在最も実用的なさまざまな実施形態と考えられるものに関連して説明したが、本発明が開示された実施形態に限定されてはならず、逆に、添付の特許請求の範囲の趣旨および範囲に含まれるさまざまな修正形態および同等の配置を包含することが意図されていることを理解されたい。
【００５６】
この書かれた説明は、最良の態様を含む本発明を開示するために、また、任意のデバイスもしくはシステムを作り、使用することと任意の組み込まれた方法を実行することとを含めて当業者が本発明を実践することを可能にするために、例を使用する。本発明の特許可能範囲は、特許請求の範囲で定義され、当業者が思い浮かべる他の例を含む可能性がある。そのような他の例は、特許請求の範囲の文字どおりの言葉と異ならない構造要素を有する場合に、または特許請求の範囲の文字どおりの言葉からの実質的ではない相違を有する同等の構造要素を含む場合に、特許請求の範囲に含まれることが意図されている。
【符号の説明】
【００５７】
１００  システム
１０５ａ〜１０５ｎ  システムアプリケーション
１１０ａ〜１１０ｎ  アプリケーションサービス
１１５  ネットワーク
１２０  メッセージ保証サーバ
１２５  構成モジュール
１３０  監査ログモジュール
１３５  詐欺検出モジュール
１４０  監査ログデータベース
【図１】
2012150805.tif 000003
【図２】
2012150805.tif 000004
【図３】
2012150805.tif 000005
【外国語明細書】
2012150805000001.pdf