(57)【要約】      （修正有）【課題】マン・イン・ザ・ブラウザ攻撃を検出する。【解決手段】ウェブサイトに関連するトランザクションフィンガープリントを識別するステップを有する。さらに、ウェブサイトに対するユーザー入力を追跡する追跡ステップを有する。このユーザー入力はウェブブラウザを経て受信されるものとする。さらに、前記ウェブサイトへの外部送出を傍受するステップを有する。さらに、前記トランザクションフィンガープリントに照らし合わせて、前記ユーザー入力が前記外部送出を生成したか否かを決定するステップを有する。【選択図】図２
2010182293.tif 000002
【特許請求の範囲】
【請求項１】
マン・イン・ザ・ブラウザ攻撃を検出することをコンピュータで実現する方法において、
ウェブサイトに関連するトランザクションフィンガープリントを識別するステップと、
前記ウェブサイトに対するユーザー入力を追跡する追跡ステップであって、このユーザー入力はウェブブラウザを経て受信されるものとした、該追跡ステップと、
前記ウェブサイトへの外部送出を傍受するステップと、
前記トランザクションフィンガープリントに照らし合わせて、前記ユーザー入力が前記外部送出を生成したか否かを決定するステップと
を有するコンピュータ実現方法。
【請求項２】
請求項１記載のコンピュータ実現方法において、さらに、
前記ユーザー入力を前記外部送出と比較するステップと、
前記外部送出が前記ユーザー入力によって生成されたものであったかを決定する場合、前記外部送出を前記ウェブサイトに中継するステップと
を有する、方法。
【請求項３】
請求項１記載のコンピュータ実現方法において、前記ウェブサイトに対するユーザー入力を追跡する追跡ステップは、ユーザーが前記ウェブブラウザで生成した意図した送出回数を追跡するステップを有する、方法。
【請求項４】
請求項３記載のコンピュータ実現方法において、前記トランザクションフィンガープリントは、前記ウェブサイトに対する予期した送出回数を含む、方法。
【請求項５】
請求項４記載のコンピュータ実現方法において、前記ユーザー入力が前記外部送出を生成したか否かを決定するステップは、
前記ウェブサイトに対する前記予期した送出回数が、前記ユーザーによる前記ウェブブラウザで生成した前記意図した送出回数および前記ウェブサイトへの実際の送出回数の双方に一致するか否かを決定するステップ
を有する、方法。
【請求項６】
請求項１記載のコンピュータ実現方法において、前記トランザクションフィンガープリントは、前記ウェブサイトへの前記予期した送出順序を含む、方法。
【請求項７】
請求項６記載のコンピュータ実現方法において、前記ユーザー入力が前記外部送出を生成したか否かを決定するステップは、
前記ウェブサイトへの前記予期した送出順序が実際の送出順序に一致するかを決定するステップ
を有する、方法。
【請求項８】
請求項１記載のコンピュータ実現方法において、前記トランザクションフィンガープリントは、セキュリティベンダーによって供給するものとした、方法。
【請求項９】
請求項１記載のコンピュータ実現方法において、さらに、
前記外部送出が前記ユーザー入力によって生成されなかったと決定した場合、セキュリティアクションを実施する、方法。
【請求項１０】
請求項９記載のコンピュータ実現方法において、前記セキュリティアクションは、
前記外部送出を前記ウェブサイトに中継するか否かを問い合わせるステップを有する、方法。
【請求項１１】
請求項９記載のコンピュータ実現方法において、前記セキュリティアクションは、
事件報告をセキュリティベンダーに送信するステップを有し、前記事件報告は、
ウェブサイトの場所、
外部送出の内容、
ユーザーを識別する情報、
外部送出に関連する日時情報
のうち少なくとも１つを含むものとした、方法。
【請求項１２】
請求項１記載のコンピュータ実現方法において、さらに、
前記ウェブサイトに対する前記ユーザー入力に基づいてトランザクションフィンガープリントを生成するステップ
を有する、方法。
【請求項１３】
請求項１記載のコンピュータ実現方法において、前記ユーザー入力は、前記ウェブサイトにおけるフォームに対する入力を含む、方法。
【請求項１４】
マン・イン・ザ・ブラウザ攻撃を検出および傍受するシステムにおいて、
ウェブサイトに関連するトランザクションフィンガープリントを識別するようプログラムした、フィンガープリントモジュールと、
ウェブブラウザで前記ウェブサイトに対するユーザー入力を追跡するようプログラムしたユーザーインタラクションモジュールと、
前記フィンガープリントモジュールおよび前記ユーザーインタラクションモジュールと通信するウェブリクエストモジュールであって、以下のことを行う、すなわち、
前記ウェブサイトへの外部送出を傍受する、
トランザクションフィンガープリントに照らし合わせて、前記ユーザー入力が前記外部送出を生成したか否かを決定する
ようプログラムした、該ウェブリクエストモジュールと、
を備えた、システム。
【請求項１５】
請求項１４記載のシステムにおいて、前記ウェブリクエストモジュールは、前記外部送出が前記ユーザー入力によって生成されたと決定した場合、前記外部送出を前記ウェブサイトに中継するようプログラムした、システム。
【請求項１６】
請求項１４記載のシステムにおいて、前記ユーザーインタラクションモジュールは、前記ユーザーにより前記ウェブブラウザで生成する前記ウェブサイトに対する意図した送出回数を追跡することによって、前記ウェブサイトに対する前記ユーザー入力を追跡するようプログラムした、システム。
【請求項１７】
請求項１６記載のシステムにおいて、前記トランザクションフィンガープリントは、前記ウェブサイトに対する予期した送出回数を含む、システム。
【請求項１８】
請求項１７記載のシステムにおいて、前記ウェブリクエストモジュールは、前記ウェブサイトに対する前記予期した送出回数が、前記ユーザーによる前記ウェブブラウザで生成した前記意図した送出回数および前記ウェブサイトへの実際の送出回数の双方に一致するか否かを決定することによって、前記ユーザー入力が前記外部送出を生成したか否かを決定するものとした、システム。
【請求項１９】
請求項１４記載のシステムにおいて、前記トランザクションフィンガープリントは、セキュリティベンダーによって供給するものとした、システム。
【請求項２０】
コンピュータ読取り可能媒体であって、コンピューティング装置が実行するとき、このコンピューティング装置に対して、以下のことを行わせる、すなわち、
ウェブサイトに関連するトランザクションフィンガープリントを識別する、
ウェブブラウザでの前記ウェブサイトに対するユーザー入力を追跡する、
前記ウェブサイトへの外部送出を傍受する、
前記トランザクションフィンガープリントに照らし合わせて、前記ユーザー入力が前記外部送出を生成したか否かを決定する
ことを行わせる、コンピュータ読取り可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
消費者および企業は、取り扱いに慎重を要するトランザクションをインターネット経由で行うことが増加している。このようなトランザクションは、認証プロトコルにより保護され、取引が認証されることを確実にすることができる。例えば、ウェブサイトが顧客にパスワードの送信を要求し、認証セッションを確立することができる。認証セッションで行われるトランザクションを許可し、またそれ以外の全てのトランザクションを拒絶することができる。
【背景技術】
【０００２】
攻撃者は、認証要求にも拘わらず、ウェブサイトで不正トランザクションを行うことができる。例えばマン・イン・ザ・ブラウザ攻撃では、ユーザーシステムにおけるマルウェアは、ユーザーがウェブサイト用の認証セッションを生成するのを待機する。つぎに、この認証セッション内でトランザクション要求を送出することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ウェブサイトサーバーは、不正トランザクションを検出することを試みることができる。しかし、サーバーには、認証セッション内で行われた違法トランザクションは、認証セッション内で行われた正当トランザクションと全く同じに見える。
【課題を解決するための手段】
【０００４】
本発明は、マン・イン・ザ・ブラウザ攻撃を検出するための方法およびシステムを意図する。様々な実施例は、フィンガープリントモジュール、ユーザーインタラクションモジュール、およびウェブリクエストモジュールの作用について説明する。例えば、フィンガープリントモジュールは、ウェブサイトに関連したトランザクションフィンガープリントを識別することができる。トランザクションフィンガープリントとしては、ウェブサイトへの送出の期待回数、ウェブサイトへの送出の期待順序、または、ウェブサイトへの送出が正当であるか否かを決定するのに関連する任意な他の情報がある。ある実施例では、フィンガープリントモジュールは、セキュリティベンダーからトランザクションフィンガープリントを受け取ることができる。他の実施例では、ウェブサイトに対する過去のユーザー入力に基づいて、フィンガープリントモジュールがフィンガープリントを生成することができる。
【０００５】
ユーザーが、あるウェブサイトをウェブブラウザで閲覧するとき、ユーザーインタラクションモジュールは、ウェブブラウザへの入力イベントを監視することにより、ウェブサイトへのユーザー入力を追跡することができる。これら入力イベントは、マウス、キーワード、または、ウェブブラウザに用いられ得る任意な他の入力デバイスからのイベントとすることができる。その間、ウェブリクエストモジュールは、ウェブサイトに対して出力されるあらゆる外部送出を傍受することできる。このときウェブリクエストモジュールは、ユーザー入力を外部送出と比較することができる。ウェブリクエストモジュールは、トランザクションフィンガープリントに照らし合わせて、ユーザー入力が外部送出を生成したのかを決定することができる。
【０００６】
ウェブリクエストモジュールは、外部送出の個数を、ユーザー入力によって示された意図した送出の個数、およびトランザクションフィンガープリントによって示された予期された送出の個数と比較することにより、ユーザー入力が外部送出を生成したのか否かを決定することができる。ウェブリクエストモジュールは、ユーザー入力が外部送出を生成したことを決定するとき、その送出をウェブサイトへ中継する（伝える）ことができる。それ以外では、ウェブリクエストモジュールは、例えば、送出が意図されたものであるかを確認するようユーザーに促すなどの、セキュリティアクションを実施することができる。
【０００７】
上述の任意な実施例における特徴を、本明細書に記載する一般原理に基づいて、互いに組合せて用いることができる。本発明の実施例は、先行技術よりもさまざまな利点をもたらすことができる。例えば、本明細書に記載の方法は、ユーザーシステムがウェブサイトへの不正トランザクションを検出することを可能にする（ウェブサイトサーバーが検出できなくとも）。これら、および他の実施例、特徴、および利点は、添付図面および特許請求の範囲と併せて以下の発明を実施するための形態を読むことにより、より完全に理解されるであろう。
【０００８】
添付図面は多くの例示的な実施例を示し、これらは明細書の一部である。以下の説明とともに、これら図面は本発明の様々な原理を提示し、かつ説明する。
【図面の簡単な説明】
【０００９】
【図１】ある実施例による例示的なホストコンピュータのブロック図である。
【図２】マン・イン・ザ・ブラウザ攻撃を検出することをコンピュータで実現する方法のフローチャートである。
【図３】正当および不正の送出を処理することをコンピュータで実現する方法のフローチャートである。
【図４】本明細書に記載および／または示した実施例のうち１つ以上を実現できる例示的なコンピューティングシステムのブロック図である。
【図５】本明細書に記載および／または示した実施例のうち１つ以上を実現できる例示的なコンピューティングネットワークのブロック図である。
【発明を実施するための形態】
【００１０】
図面にわたり、同一の参照符号および説明は類似のものを示し、同一である必要はない。本明細書に記載した例示的実施例は、様々な変更形態および代替形態をとり得るが、特定の実施例を図面の例によって示し、ここに詳述する。しかし、本明細書に記載した例示的な実施例は、開示した特定形態に限定することを意図しない。むしろ、本発明は、添付した特許請求の範囲に属する変更形態、等価形態、および代替形態の全てをカバーする。
【００１１】
本発明の実施例は、マン・イン・ザ・ブラウザ攻撃を検出するための様々な方法およびシステムを提供する。上述したように、ウェブリクエストモジュールは、送出を様々な他のデータと比較することにより、ウェブサイトへの送出が正当であるか否かを決定することができる。添付図面は、このことを行うシステムおよび方法を示す。図１は、フィンガープリントモジュール、ユーザーインタラクションモジュール、ウェブリクエストモジュールを有するコンピューティングシステムを示す。図２および図３は、コンピューティングシステムにおけるこれらモジュールによって実施することができるスッテプを示す。
【００１２】
図１は、例示的なシステム１００を示す。システム１００は、任意の適切なコンピューティングデバイスとすることができる。例えば、システム１００は、図４に示すコンピューティングデバイス４１０とする、および／または図５に示すネットワークデバイスのうちの何れかによって実現することができる。システム１００は、多数のモジュール、例えばフィンガープリントモジュール１０４、ユーザーインタラクションモジュール１０６、およびウェブリクエストモジュール１０８を有するものとすることができる。これらモジュールは、本明細書に記載するステップの１つ以上を実行できる、任意のモジュール、アプリケーション、または、コンピュータ実行可能コードとすることができる。
【００１３】
フィンガープリントモジュール１０４は、ウェブサイトに関連したトランザクションフィンガープリントを識別することができる。トランザクションフィンガープリントは、セキュリティベンダーからのもの、またはフィンガープリントモジュール１０４が、ウェブサイトとの先行するユーザーインタラクションに基づいて生成したものとすることができる。例えば、ユーザーインタラクションモジュール１０６は、ウェブサイトへのユーザー入力を追跡し、フィンガープリントモジュール１０４は、その入力を分析し、また入力結果としての送出についての情報を記憶することができる。例えば、フィンガープリントモジュール１０４は、トランザクションに伴って生ずる送出の個数、どのようにしてその送出が通常のトランザクションフローに納まっているか（すなわち送出が発生する順序）、または送出の他の目立った特徴を記録することができる。
【００１４】
ある実施例では、トランザクションフィンガープリントは、ウェブサイトへの送出の予期された個数を含むことができる。例えば、あるウェブサイトは、トランザクションを完了させるために、３個のフォーム（形式）の送出を要求する場合がある。ある実施例では、トランザクションフィンガープリントは、ウェブサイトへの送出の予期された順序を含むことができる。例えば、ウェブサイトは、あるフォームを送出するよう提示してから、別のフォームを送出するよう提示する場合がある。トランザクションフィンガープリントは、さらに、トランザクションが正当であるか否かを決定するのに役立つ任意な他の適切な情報を含むことができる。
【００１５】
ユーザーインタラクションモジュール１０６は、ウェブサイトへのユーザー入力を追跡することができる。ユーザー入力はウェブブラウザから入力することができる。この入力は、マウス、キーボード、または任意な他の入力装置、例えばウェブブラウザで用いることができる入力装置４２８によって生成することができる。ある実施例では、ユーザー入力を追跡するステップは、ウェブブラウザでユーザーが生成する送出の個数を追跡するスタックを有するものとすることができる。言い換えると、ユーザーインタラクションモジュール１０６は、ユーザー入力に基づいて、ウェブサイトに対してどのくらい多くの個数のデータ送出をユーザーが意図したかを決定することができる。例えばユーザーは、キーボードを用いて第１フォームにデータを入力し、またこの第１フォームを送出するようマウスでボタンをクリックし、その後、キーボードを用いて第２フォームにデータを入力しまた第２フォームを送出するようマウスでボタンをクリックかもしれない。ユーザーインタラクションモジュール１０６は、これら入力行為に基づいて、ユーザーがウェブサイトに２つのフォームを送出することを意図したと決定することができる。
【００１６】
ある実施例では、ユーザー入力を追跡するステップは、ウェブブラウザでユーザーが生成する送出の順序を追跡するステップを有するものとすることができる。ある実施例では、ユーザーインタラクションモジュール１０６は、ユーザー入力に基づいて、何のフォームをユーザーがウェブサイトへ送出することを意図したのか、およびどの順番であるかを、決定することができる。例えば上述の実施例におけるのと同様に、ユーザーは、キーボードおよびマウスを用いて２つのフォーム（つまり送出）を送出することができる。この実施例では、ユーザーインタラクションモジュール１０６は、ユーザーが第１フォームをまず送出し、そして第２フォームを２番目に送出したことを記録することができる。ある実施例では、ユーザーインタラクションモジュール１０６は、この入力を後でトランザクションフィンガープリントとして使用するために、分析および／または記憶することができる。例えば、ユーザーはキーボードおよびマウスを用いて、ウェブサイト上でトランザクションを実施する過程で、第１フォームおよびその後の第２フォームの記入および送出を行う。ユーザーインタラクションモジュールは、将来のセッションにおけるトランザクションフィンガープリントとして用いるために、実施した送出の個数および／または順序を記憶することができる。
【００１７】
ウェブリクエストモジュール１０８は、ウェブサイトへの外部送出を傍受することできる。つぎに、実際の送出をユーザーインタラクションモジュールによって追跡したユーザー入力と比較することができる。ある実施例では、ウェブリクエストモジュール１０８は、実際の送出個数を、ユーザー入力により決定される意図した個数の送出と比較することができる。他の実施例では、ウェブリクエストモジュール１０８は、送出の実際の順序を、ユーザー入力により決定される送出の意図した順序と比較することができる。
【００１８】
ウェブリクエストモジュール１０８が送出データを比較した後、トランザクションフィンガープリントに照らし合わせて、ユーザー入力が外部送出を生成したのかを決定することができる。ある実施例では、ウェブリクエストモジュール１０８は、ウェブサイトへの予期した個数の送出が、ウェブブラウザでユーザーが生成したウェブサイトへの意図した送出個数、およびウェブサイトへの実際の送出個数の双方と一致するか否かを決定することができる。言い換えると、ウェブリクエストモジュール１０８は、フィンガープリントモジュール、ユーザーインタラクションモジュール、およびウェブリクエストモジュールの全てが、ウェブサイトへの送出個数について一致しているか否かを決定することができる。
【００１９】
例えば、フィンガープリントモジュール１０４は、２つの送出がウェブサイトにとって予期されたものであることを示し、ユーザーインタラクションモジュール１０６は、ユーザーがウェブサイトへの２つの送出を作り出すのを意図したことを示し、また、ウェブリクエストモジュール１０８は、４つの送出がウェブサイトへ実際に送信されたこと示すとする。この例では、ウェブリクエストモジュール１０８は、ユーザー入力が外部送出の全てを生成したのではないこと示すことができる。
【００２０】
ある実施例では、ウェブリクエストモジュール１０８は、ウェブサイトへの予期された送出順序が、ウェブサイトへの送出の実際の順序に一致するかを決定することにより、ユーザー入力が外部送出を生成したのかを決定することができる。例えば、ウェブリクエストモジュール１０８は、ユーザー入力および／またはトランザクションフィンガープリントに基づいて、第１送出の後に第２送出が続くことを予期する。ウェブリクエストモジュール１０８によって検出された実際の順序は、第２送出後に第１送出が続いたとする。その結果、ウェブリクエストモジュール１０８は、ユーザー入力が外部送出を生成したのではない、またはマルウェアが外部送出を不正に行ったことを決定することができる。
【００２１】
外部送出がユーザー入力によって生成されたものではないとウェブリクエストモジュール１０８が決定するとき、ウェブリクエストモジュール１０８はセキュリティアクションを実施することができる。ある実施例では、ウェブリクエスト１０８が、ユーザーに外部送出を中継するか否かを問い合わせることによりセキュリティアクションを実施することができる。他の実施例では、ウェブリクエストモジュール１０８は、ユーザーに問い合わせることなく中継しないよう送出を防止することによりセキュリティアクションを実施することができる。ある実施例では、ウェブリクエストモジュール１０８は、セキュリティベンダーに事件報告を送信することによりセキュリティアクションを実施することができる。この事件報告は、ウェブサイトの場所、外部送出の内容、ユーザーを識別する情報、および／または外部送出に付随する日時情報を含むことができる。
【００２２】
外部送出がユーザー入力によって生成されたものとウェブリクエストモジュール１０８が決定するとき、ウェブリクエストモジュール１０８はウェブサイトへの外部送出を中継することができる。言い換えると、ウェブリクエストモジュール１０８は、外部送出を傍受したのちに、それを保留しておくことができる。そしてユーザーが実際に送出を意図したことを決定したのちに、ウェブリクエストモジュール１０８はウェブサイトへの外部送出を中継することができる。
【００２３】
図２は、例えばフィンガープリントモジュール１０４などのフィンガープリントモジュール、例えばユーザーインタラクションモジュール１０６などのユーザーインタラクションモジュール、例えばウェブリクエストモジュール１０８などのウェブリクエストモジュールのうち１つ以上によって実施することができるステップを示す。フィンガープリントモジュールは、ウェブサイトに関連したトランザクションフィンガープリントを識別することができる（ステプ２０２）。トランザクションフィンガープリントは、ウェブサイトのトランザクションに関連した任意のデータとすることができる。例えば、トランザクションフィンガープリントは、ウェブサイトとのトランザクション中に、予期された送出の個数、タイプおよび／または内容を識別することができる。トランザクションフィンガープリントは、送出内のフォームまたは他のデータの個数、タイプおよび／または内容を識別することもできる。フィンガープリントモジュールは、トランザクションフィンガープリントのデータベースにアクセスすることによって、トランザクションフィンガープリントを識別することができる。トランザクションフィンガープリントのデータベースは、ユーザーがウェブサイトで行う１つ以上のトランザクションを監視することによって生成されたトランザクションフィンガープリントを含むことができる。他の実施例では、トランザクションフィンガープリントのデータベースを、ウェブサイトとの検査（テスト）トランザクションを監視することによって生成することもできる。
【００２４】
ある実施例では、トランザクションフィンガープリントのデータベースは、セキュリティソフトウェア会社のウェブサーバー上で遠隔的にアクセスすることができる。他の実施例では、トランザクションフィンガープリントのデータベースはローカルに記憶する、またはトランザクションのウェブサイトに関連するウェブサーバー上で遠隔的にアクセスすることができる（例えば、ウェブサイトを所有する会社がトランザクションフィンガープリントを提供する）。
【００２５】
ユーザーインタラクションモジュールは、ウェブブラウザによるウェブサイトへのユーザー入力を追跡することができる（ステップ２０４）。例えば、ユーザーインタラクションモジュールは、入力に関してウェブブラウザを監視し、またその後の送出の正当性を決定するのに関連する入力を記録することができる。入力は、キーボードからの入力、マウスからの入力、または任意な他の適切なデバイスからの入力とすることができる。
【００２６】
ある実施例では、トランザクションフィンガープリントは、ユーザー入力の追跡の後に識別される（例えば、ステップ２０２はステップ２０４の後に実施することができる）。フィンガープリントモジュールはユーザー入力を使用して、どのトランザクションフィンガープリントを使うかを決定することができる。フィンガープリントモジュールは、ユーザーがユーザーウェブサイトで行うトランザクションが何のタイプかを識別することができ、またこの後フィンガープリントモジュールはトランザクションのタイプに関連したトランザクションフィンガープリントを識別することができる。例えば、トランザクションがウェブサイトでの支払いトランザクションであるとき、フィンガープリントモジュールは、ウェブサイト用の支払いトランザクションフィンガープリントを識別することができる。トランザクションがユーザー設定の変更であるとき、フィンガープリントモジュールは、ウェブサイト用の設定変更フィンガープリントを識別することができる。トランザクションの他のさまざまな分類を使用して、トランザクションフィンガープリントを識別することができる。
【００２７】
ユーザーインタラクションモジュールがユーザー入力を追跡した後に、ウェブリクエストモニタはウェブサイトへの外部送出を傍受することできる（ステップ２０６）。ウェブサイトへの外部送出を傍受するために、ウェブリクエストモニタはウェブブラウザからの外部通信を保留することができる。例えば、ウェブリクエストモニタはウェブブラウザをフック（横取り）し、ウェブブラウザからウェブサイトへ送信されるすべてのフォーム送出を傍受することできる。あるいは、ウェブリクエストモニタは、全ての外部ネットワーク通信を傍受するユーザーシステム上の傍受プロキシを含み、ウェブ送出をフィルタ処理にかけることができる。
【００２８】
ウェブリクエストモニタは、トランザクションフィンガープリントと照らし合わせて、ユーザー入力が外部送出を生成したのかを決定することができる（ステップ２０８）。ウェブリクエストモニタは、トランザクションフィンガープリントを用いて外部送出を解釈し、外部送出がユーザー入力に一致するか否かを決定することができる。例えば、ウェブリクエストモニタはトランザクションフィンガープリントを用いて、外部送出がユーザー入力に対応するか否かを決定することができる（例えば、ユーザー入力に照らし合わせて予期する）。
【００２９】
図２に示したプロセスの例のように、ユーザーは、ウェブサイト（例えば、ＰＡＹＰＡＬ．ｃｏｍ）へナビゲートするのにウェブブラウザを用いることができる。フィンガープリントモジュールは、ウェブブラウザをフック（横取り）し、訪問しようとしているウェブサイトが何かを監視し、またユーザーがＰＡＹＰＡＬ．ｃｏｍを訪れているか否かを決定することができる。つぎに、フィンガープリントモジュールは、ＰＡＹＰＡＬ．ｃｏｍに関連するトランザクションフィンガープリントにアクセスすることができる。例えば、フィンガープリントモジュールは、例えば、ハードドライブなどのローカル記憶デバイス上のデータベースにおけるトランザクションフィンガープリントを調べる、またはリモートサーバーと通信し、ＰＡＹＰＡＬ．ｃｏｍに関連するトランザクションフィンガープリントを送信するようリモートサーバーに要求することができる。ある実施例では、多数のトランザクションフィンガープリントが、ＰＡＹＰＡＬ．ｃｏｍに関連する場合があり（例えば、異なるタイプのトランザクションに関する異なるトランザクションフィンガープリントがある）、またフィンガープリントモジュールは、トランザクションフィンガープリントを選択する前に、ＰＡＹＰＡＬ．ｃｏｍでユーザーが行っているトランザクションのタイプを識別することができる。ある実施例では、フィンガープリントモジュールは、ＰＡＹＰＡＬ．ｃｏｍでユーザーが行っているトランザクションのタイプに基づいて、トランザクションフィンガープリントを選択することができる。
【００３０】
ユーザーは、送金トランザクションを行うために記入するフォームを有するＰＡＹＰＡＬ．ｃｏｍのウェブページへナビゲートすることができる。この例では、ユーザーインタラクションモジュールはウェブブラウザをフックし、ウェブブラウザへの入力イベントを監視することができる。ユーザーはキーボードを用いて銀行口座番号をフォームのフィールド（領域）にタイプ入力し、またユーザーインタラクションモジュールはその入力を記録することができる。この後、ユーザーは、マウスを用いて銀行口座番号を送出するボタンをクリックし、ユーザーインタラクションはこの入力を記録することができる。つぎに、ウェブブラウザは、異なるフォームを有する別のページを読み込むことができる。ユーザーはキーボードを用いてトランザクション送金額をこのフォームのフィールドに入力し、またユーザーインタラクションモジュールはその入力を記録することができる。この後、ユーザーはマウスを用いてトランザクション送金額を送出するボタンをクリックし、またユーザーインタラクションモジュールはこの入力を記録することができる。ユーザーがフォームを送出するボタンをクリックする度毎に、ウェブブラウザはＰＡＹＰＡＬ．ｃｏｍのサーバーへの通信を送ることができる。ウェブリクエストモニタはこれら通信を傍受することができる。ある実施例では、ウェブリクエストモニタは、通信を保存し、これら通信が送出されるのを後の段階まで阻止することができる。
【００３１】
ＰＡＹＰＡＬ．ｃｏｍとのトランザクション用に識別されたトランザクションフィンガープリントは、トランザクション中に予期される送出の個数および順序を識別することができる。ウェブリクエストモニタは、ＰＡＹＰＡＬ．ｃｏｍへのユーザートランザクションが正当であるかを、トランザクションフィンガープリントと照らし合わせて決定することができる。この決定を行うために、ウェブリクエストモニタは、ＰＡＹＰＡＬ．ｃｏｍへ予期された順番で予期された個数の送出をユーザーのウェブブラウザが送出するかを決定することができる。
【００３２】
もし、ユーザーシステムにおけるマルウェアがＰＡＹＰＡＬ．ｃｏｍへ追加のトランザクションフォームを送出しようと試みる場合、ウェブリクエストモニタはこの送出が不正であると決定することができ、すなわちこの理由として、ユーザーには（ユーザー入力に基づいて）ＰＡＹＰＡＬ．ｃｏｍへ２つのフォームだけ送出するように見えるのに、全部で３つのフォームが送出されるからである。代案として、ウェブリクエストモニタは、第３の送出がＰＡＹＰＡＬ．ｃｏｍトランザクションの通常トランザクションフロー外から来たという理由で、その送出が不正であることを決定することができる。例えば、ウェブリクエストモニタは、マルウェアによって送信されたフォームが、他のフォームが最初に送出されない限りウェブブラウザから送信されるべきでないフォームであることを決定することができ、また、ウェブリクエストモニタは、ウェブブラウザが他のフォームを最初に送出しなかったことを決定することができる。
【００３３】
図３は、本明細書に記載した他のモジュールのうち１つ以上における機能を提供する、セキュリティモジュールによって実施することができるステップを示す。セキュリティモジュールは、ウェブサイトに関連したトランザクションフィンガープリントを識別することができる（ステップ３０２）。セキュリティモジュールは、ウェブサイトへのユーザー入力を追跡することができる（ステップ３０４）。ユーザー入力はウェブブラウザを経由して受信することができる。セキュリティモジュールは、さらに、ウェブブラウザからウェブサイトへ送信される外部送出を傍受することもできる（ステップ３０５）。セキュリティモジュールは、トランザクションフィンガープリントに照らし合わせて、ユーザー入力が外部送出を生成したのかを決定することができる（ステップ３０６）。もし、ユーザー入力が外部送出を生成した場合、ウェブリクエストモジュールはウェブサイトへの外部送出を中継することができる（ステップ３０８）。言い換えると、ウェブリクエストモジュールは、ウェブブラウザであるかのようにウェブサイトへの送出を送信することができる。例えば、ウェブリクエストモジュールは、ネットワークインタフェースカードにアクセスし、また傍受したウェブフォームデータをウェブサイトのサーバーに伝送することができる。
【００３４】
しかし、ユーザー入力が外部送出を生成しない場合、ウェブリクエストモジュールはセキュリティアクションを実施することができる（ステップ３１０）。例えば、ウェブリクエストモジュールは、送出が意図したものであることをユーザーに確認するよう促すことができる。ウェブリクエストモジュールは、試みた送出についての情報を、ユーザーが転送または終了のいずれかを選択するようクリックするボダンと共に、ダイアログボックス、または任意な他の適切なユーザーインタフェースオブジェクトを表示することによって、ユーザーに促すことができる。他の実施例では、ウェブリクエストモジュールは、潜在的マルウェア問題のレポートをセキュリティソフトウェアベンダーまたはセキュリティソフトウェアプログラムに送信することができる。
【００３５】
図４は、本明細書に記載および／または示した実施例の１つ以上を実現できる、例示的なコンピューティングシステム４１０のブロック図である。コンピューティングシステム４１０は、コンピュータ読取り可能命令を実行できる、マルチプロセッサのコンピューティング装置またはシステムを広義に表す。コンピューティングシステム４１０の例としては、以下のものに限定しないが、ワークステーション、ラップトップ、クライアント側端末、サーバー、分散コンピューティングシステム、携帯端末、または、任意な他のコンピューティングシステムまたは装置がある。多くの基本的構成では、コンピューティングシステム４１０は、少なくとも１個のプロセッサ４１４およびシステムメモリ４１６を備えることができる。
【００３６】
プロセッサ４１４は、データ処理し、または命令を機械言語翻訳して実行することができる任意なタイプまたは形式の処理ユニットを全般的に表す。ある実施例では、プロセッサ４１４は、ソフトウェアアプリケーションまたはモジュールから命令を受信することができる。これら命令は、本明細書に記載および／または示した例示的実施例の１つ以上における機能をプロセッサ４１４に実施させることができる。例えば、プロセッサ４１４は、本明細書に記載した、識別、追跡、傍受、比較、決定、中継、実施、送出、および／または生成というステップのうち１つ以上を実施する、および／または単独または他の素子と組合せて、実施する手段とすることができる。プロセッサ４１４は、さらに、本明細書に記載および／または示した、任意の他のステップ、方法、またはプロセスを実施する、および／または実施手段とすることができる。
【００３７】
システムメモリ４１６は、データおよび／またはコンピュータ読取り可能命令を記憶できる揮発性もしくは不揮発性の、任意のタイプもしくは形式の記憶装置または媒体を全般的に表す。システムメモリ４１６の例としては、以下のものに限定しないが、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、フラッシュメモリー、または任意な他の適切なメモリデバイスがある。必須要件ではないが、ある実施例では、コンピューティングシステム４１０は、揮発性メモリユニット（例えばシステムメモリ４１６）および不揮発性記憶デバイス（例えば以下に説明するような主記憶装置４３２など）の双方を備えることができる。
【００３８】
ある実施例では、代表的なコンピューティングシステム４１０は、プロセッサ４１４およびシステムメモリ４１６の他に、１つ以上のコンポーネントまたは素子を備えることができる。例えば、図４に示すように、コンピューティングシステム４１０は、メモリコントローラ４１８、入出力（Ｉ／Ｏ）コントローラ４２０、および、通信インタフェース４２２を備え、これらは通信インフラ（基盤）４１２を介して相互接続することができる。通信インフラ４１２は、コンピューティング装置における１つ以上のコンポーネント間での通信を容易化することができる、任意なタイプまたは形式のインフラ（基盤）を全般的に表す。通信インフラ４１２の例としては、以下のものに限定しないが、通信バス（例えばＩＳＡ，ＰＣＩ，ＰＣＩｅまたは同様のバスなど）およびネットワークがある。
【００３９】
メモリコントローラ４１８は、コンピューティングシステム４１０のメモリもしくはデータを取り扱い、または１つ以上のコンポーネント間における通信を制御することができる、任意のタイプまたは形式のデバイスを全般的に表す。例えば、ある実施例では、メモリコントローラ４１８は、通信インフラ４１２を介して、プロセッサ４１４、システムメモリ４１６、およびＩ／Ｏコントローラ４２０間の通信を制御することができる。ある実施例では、メモリコントローラ４１８は、本明細書に記載および／または示したステップまたは特徴、例えば識別、追跡、傍受、比較、決定、中継、実施、送出、および／または生成のうち１つ以上を実施する、および／または単独または他の素子と組合せて、実施する手段とすることができる。
【００４０】
Ｉ／Ｏコントローラ４２０は、コンピューティング装置の入出力機能を調和および／または制御できる、任意のタイプまたは形式のモジュールを全般的に表す。例えば、ある実施例では、Ｉ／Ｏコントローラ４２０は、コンピューティングシステム４１０の１つ以上の素子、例えばプロセッサ４１４、システムメモリ４１６、通信インタフェース４２２、ディスプレイアダプタ４２６、入力インタフェース４３０、および記憶インタフェース４３４間におけるデータの転送を制御または容易化することができる。Ｉ／Ｏコントローラ４２０は、本明細書に記載した、例えば識別、追跡、傍受、比較、決定、中継、実施、送出、および／または生成というステップを実行する、および／または実施手段とすることができる。Ｉ／Ｏコントローラ４２０は、本明細書に説明された他のステップおよび特徴を実施する、および／または実施手段とすることができる。
【００４１】
通信インタフェース４２２は、例示的なコンピューティング装置４１０と１つ以上の追加デバイスとの間における通信を容易化できる、任意のタイプもしくは形式の通信デバイスまたはアダプタを広義に表す。例えば、ある実施例では、通信インタフェース４２２は、コンピューティング装置４１０と追加のコンピューティングシステムを備えるプライベートまたは公共のネットワークとの間における通信を容易化することができる。通信インタフェース４２２の例としては、以下のものに限定しないが、有線ネットワークインタフェース（例えばネットワークインタフェースカード）、無線ネットワークインタフェース（例えば、無線ネットワークインタフェースカード）、モデムおよび、任意な他の適切なインタフェースがある。少なくとも１つの実施例では、通信インタフェース４２２は、例えばインターネットなどのネットワークに直接リンクを介してリモートサーバーに直接接続を行うことができる。通信インタフェース４２２は、さらに、例えば、ローカルエリアネットワーク（例えばイーサネット（登録商標）またはＩＥＥＥ８０２．１１無線ネットワーク）、パーソナルエリアネットワーク（例えばＢＬＵＥＴＯＯＴＨ（登録商標）またはＩＥＥＥ規格８０２．１５−２００２ネットワーク）、電話網、携帯端末接続、衛星データ接続、または、他のあらゆる接続を経由した接続を間接的に行うこともできる。
【００４２】
ある実施例では、通信インタフェース４２２は、さらに、外部バスまたは通信チャネルを介して、コンピューティングシステム４１０と１つ以上の追加ネットワークまたは記憶装置との間における通信を容易化するよう構成したホストアダプタを表すこともできる。ホストアダプタの例としては、以下のものに限定しないが、ＳＣＳＩホストアダプタ、ＵＳＢホストアダプタ、ＩＥＥＥ１３９４ホストアダプタ、ＳＡＴＡおよびｅＳＡＴＡホストアダプタ、ＡＴＡおよびＰＡＴＡホストアダプタ、ファイバーチャネルインタフェースアダプタ、イーサネット（登録商標）アダプタ、等がある。通信インタフェース４２２は、コンピューティング装置４１０が分散またはリモートコンピューティングに従事することを可能にする。例えば、通信インタフェース４２２は、リモートデバイスから命令を受信する、またはリモートデバイスに実行のための命令を送信することができる。ある実施例では、通信インタフェース４２２は、本明細書に開示した識別、追跡、傍受、比較、決定、中継、実施、送出、および／または生成というステップのうち少なくとも１つを実施する、および／または単独または他の素子と組合せて実施する手段とすることができる。通信インタフェース４２２は、本明細書で説明した他のステップおよび特徴を実施するのに用いる、および／または実実施手段とすることができる。
【００４３】
図４に示すように、コンピューティング装置４１０は、ディスプレイアダプタ４２６を介して通信インフラ４１２に結合する少なくとも１つのディスプレイ装置４２４を備えることもできる。ディスプレイデバイス４２４は、ディスプレイアダプタ４２６によって転送される視覚的に情報表示できる、任意のタイプまたは形式のデバイスを全般的に表す。同様に、ディスプレイアダプタ４２６は、通信インフラ４１２（または従来既知のようなフレームバッファ）からの、グラフィックス、テキスト、および他のデータを、ディスプレイデバイス４２４上に表示するために転送するよう構成した、任意のタイプまたは形式のデバイスを全般的に表す。
【００４４】
図４に示すように、例示的なコンピューティングシステム４１０は、さらに、入力インタフェース４３０を介して通信インフラ４１２に結合した少なくとも１つの入力装置４２８を備えることもできる。入力装置４２８は、例示的なコンピューティングシステム４１０に、コンピュータ生成または人間が行う入力を供給できる、任意のタイプまたは形式の入力デバイスを全般的に表す。入力装置４２８の例としては、以下のものに限定しないが、キーボード、ポインティングデバイス、音声認識デバイス、または、任意な他の入力デバイスがある。少なくとも１つの実施例では、入力装置４２８は、本明細書に記載した識別、追跡、傍受、比較、決定、中継、実施、送出、および／または生成というステップのうち１つ以上を実施する、および／または単独または他の素子と組合せて実施する手段とすることができる。入力装置４２８は、本明細書に説明した他のステップおよび特徴を、実施するのに使用する、または実施手段とすることができる。
【００４５】
図４に示すように、例示的なコンピューティングシステム４１０は、さらに、記憶インタフェース４３４を介して通信インフラ４１２に結合した、主記憶装置４３２およびバックアップ記憶装置４３３を備えることもできる。記憶装置４３２，４３３は、データおよび／または他のコンピュータ読取り可能命令を記憶できる、任意のタイプもしくは形式の記憶デバイスまたは媒体を全般的に表す。例えば、記憶装置４３２、４３３は、磁気ディスクドライブ（例えば、いわゆるハードドライブ）、フロッピー（登録商標）ディスクドライブ、磁気テープドライブ、光学ディスクドライブ、フラッシュドライブ、等とすることができる。記憶インタフェース４３４は、記憶装置４３２，４３３とコンピューティングシステム４１０の他のコンポーネントとの間でデータ転送する、任意のタイプもしくは形式のインタフェースまたはデバイスを表す。
【００４６】
ある実施例では、記憶装置４３２，４３３は、コンピュータソフトウェア、データ、または、コンピュータ読取り可能情報を記憶するよう構成した取り外し可能記憶ユニットから読み出しおよび／または書き込みするよう構成することができる。適切な取り外し可能記憶ユニットとしては、以下のものに限定しないが、フロッピー（登録商標）ディスク、磁気テープ、光学ディスク、フラッシュメモリデバイス、等がある。記憶装置４３２，４３３は、コンピュータソフトウェア、データ、または、コンピュータ読取り可能命令をコンピューティングシステム４１０にロードすることを可能にする、同様の構造またはデバイスとすることもできる。例えば、記憶装置４３２，４３３は、ソフトウェア、データ、または、他のコンピュータ読取り可能情報を読み出しまた書き込むよう構成することもできる。記憶装置４３２，４３３は、コンピューティングシステム４１０の一部とする、または他のインタフェースシステムを経由してアクセスする別個のデバイスとすることもできる。
【００４７】
例えば、ストレージデバイス４３２，４３３は、本明細書に記載した識別、追跡、傍受、比較、判断、中継、実施、送出、および／または生成というステップのうち１つ以上を実施するのに使用する、および／または単独または他の素子と組合せて、実施する手段とすることもできる。記憶装置４３２，４３３は、本明細書に記載した他のステップおよび特徴を実施するのに使用する、および／または実施する手段とすることができる。
【００４８】
他の多くのデバイスまたはサブシステムを、コンピューティングシステム４１０に接続することができる。逆に、図４に示したコンポーネントおよびデバイスの全てを、本明細書に記載および／または示した実施例を実現するのに設ける必要がない。上述したデバイスおよびサブシステムは、図４に示したものとは異なる方法で相互接続することもできる。コンピューティングシステム４１０は、任意の個数のソフトウェア、ファームウェア、および／またはハードウェアの構成を採用することができる。例えば、本明細書に開示した例示的な実施例の１つ以上を、コンピュータ読取り可能媒体上のコンピュータプログラム（コンピュータソフトウェア、ソフトウェアアプリケーション、コンピュータ読取り可能命令、または、コンピュータ制御ロジックとも称される）としてエンコードすることもできる。用語「コンピュータ読取り可能媒体」は、コンピュータ読取り可能命令を格納または担持することができる、任意のタイプもしくは形式のデバイス、キャリヤ、または媒体に全般的に言及する。コンピュータ読取り可能媒体の例としては、以下のものに限定しないが、例えば搬送波などの伝送媒体、例えば磁気記憶媒体（例えば、ハードディスクドライブおよびフロッピー（登録商標）ディスク）などの物理媒体、光学記憶媒体（例えば、ＣＤ−ＲＯＭまたはＤＶＤ−ＲＯＭ）、電子記憶媒体（例えば、ソリッドステートドライブおよびフラッシュメディア）、および他の配布システムがある。
【００４９】
コンピュータプログラムを含むコンピュータ読取り可能媒体は、コンピューティングシステム４１０にロードすることができる。このとき、コンピュータ読取り可能媒体上に記憶されたコンピュータプログラムの一部または全部は、システムメモリ４１６および／または記憶装置４３２，４３３のさまざまな部分に記憶される。プロセッサ４１４によって実行されたとき、コンピューティングシステム４１０にロードしたコンピュータプログラムは、プロセッサ４１４に対して、本明細書に記載および／または示した例示的な実施例の１つ以上における機能を実施させるおよび／または実施手段にすることができる。付加的または代替的に、本明細書に記載および／または示した例示的な実施例の１つ以上における機能を、ファームウェアおよび／またはハードウェアで実現することができる。例えば、コンピューティングシステム４１０は、本明細書に記載した例示的な実施例の１つ以上を実現するように構成した特定用途向け集積回路（ＡＳＩＣ）として構成することができる。
【００５０】
図５は、クライアントシステム５１０，５２０，５３０およびサーバー５４０，５４５をネットワーク５５０に結合することができる、例示的なネットワークアーキテクチャ５００のブロック図である。クライアントシステム５１０，５２０，５３０は、例えば図４の例示的なコンピューティングシステム４１０などの、任意なタイプまたは形式のコンピューティング装置を全般的に表す。同様に、サーバー５４０，５４５は、例えばアプリケーションサーバーまたはデータベースサーバーを表し、さまざまなデータベースサービスを提供するおよび／または所定のソフトウェアを動作させる。ネットワーク５５０は、任意の電気通信またはコンピュータネットワークを全般的に表し、例えば、イントラネット、ワイドエリアネットワーク（ＷＡＮ）、ローカルエリアネットワーク（ＬＡＮ），パーソナルエリアネットワーク（ＰＡＮ）、またはインターネットがある。
【００５１】
図５に示すように、１つ以上記憶装置５６０（１）〜（Ｎ）を、サーバー５４０に直接取り付けることができる。同様に、１つ以上記憶装置５７０（１）〜（Ｎ）を、サーバー５４５に直接取り付けることができる。記憶装置５６０（１）〜（Ｎ）および記憶装置５７０（１）〜（Ｎ）は、データおよび／またはコンピュータ読取り可能命令を記憶できる、任意なタイプもしくは形式の記憶装置または媒体を全般的に表す。ある実施例では、記憶装置５６０（１）〜（Ｎ）および記憶装置５７０（１）〜（Ｎ）が、例えばＮＦＳ，ＳＭＢまたはＣＩＦＳなどの様々なプロトコルを用いてサーバー５４０，５４５と通信するよう構成したネットワーク・アタッチド・ストレージ（ＮＡＳ）デバイスを表すことができる。
【００５２】
サーバー５４０，５４５を、ストレージ・エリア・ネットワーク（ＳＡＮ）ファブリック５８０に接続することができる。ＳＡＮファブリックは、複数の記憶装置間の通信を容易化できる、任意なタイプもしくは形式のコンピュータネットワークまたはアーキテクチャを全般的に表す。ＳＡＮファブリックは、サーバー５４０，５４５および複数の記憶装置５９０（１）〜（Ｎ）、および／またはインテリジェントストレージアレイ５９５間の通信を容易化することができる。ＳＡＮファブリック５８０は、ネットワーク５５０およびサーバー５４０，５４５を介して、クライアントシステム５１０，５２０，５３０および複数の記憶装置５９０（１）〜（Ｎ）、および／またはインテリジェントストレージアレイ５９５間の通信を容易化し、クライアントシステム５１０，５２０，５３０にデバイス５９０（１）〜（Ｎ）およびアレイ５９５を局所的に取り付けたように見せかけるようにすることができる。記憶装置５６０（１）〜（Ｎ）および記憶装置５７０（１）〜（Ｎ）と同様に、記憶装置５９０（１）〜（Ｎ）およびインテリジェントストレージアレイ５９５は、データおよび／またはコンピュータ読取り可能命令を記憶できる、任意なタイプもしくは形式の記憶装置または媒体を全般的に表す。
【００５３】
ある実施例では、図４の例示的なコンピューティングシステム５１０につき説明すると、図４の通信インタフェース４２２などの通信インタフェースを使用して、各クライアントシステム５１０，５２０，５３０とネットワーク５４０との間を接続することができる。クライアントシステム５１０，５２０，５３０は、例えば、ウェブブラウザまたは他のクライアントソフトウェアを用いて、サーバー５４０，５４５上の情報にアクセスすることができる。このようなソフトウェアは、クライアントシステム５１０，５２０，５３０が、サーバー５４０、サーバー５４５、記憶装置５６０（１）〜（Ｎ）、記憶装置５７０（１）〜（Ｎ）、記憶装置（１）〜（Ｎ）、またはインテリジェントストレージアレイ５９５が供するデータにアクセスすることを可能にする。図５は、例えばインターネットなどのネットワークをデータ交換に利用することを示すが、本明細書に記載および／または示した実施例は、インターネットまたは任意な特定のネットワーク環境に限定するものではない。
【００５４】
少なくとも１つの実施例では、本明細書に記載した例示的な実施例の１つ以上の一部または全部はプログラムとしてコード化し、またサーバー５４０、サーバー５４５、記憶装置５６０（１）〜（Ｎ）、記憶装置５７０（１）〜（Ｎ）、記憶装置（１）〜（Ｎ）、インテリジェントストレージアレイ５９５、またはこれらの組合せによって、読み込まれかつ実行することができる。本明細書に記載した例示的な実施例の１つ以上の一部または全部はプログラムとしてコード化し、サーバー５４０に記憶し、サーバー５４５によって実行し、ネットワークを経由してクライアントシステム５１０，５２０，５３０に分配することができる。したがって、ネットワークアーキテクチャ５００は、本明細書に記載した、識別、追跡、傍受、比較、決定、中継、実施、送出、および／または生成というステップのうち１つ以上を実施する、および／または単独もしくは他の素子と組合せて実施する手段とすることができる。ネットワークアーキテクチャ５００は、本明細書に記載した他のステップおよび特徴を実施するよう使用する、および／または実施手段とすることもできる。
【００５５】
コンピューティングシステム４１０および／またはネットワークアーキテクチャ５００における１つ以上のコンポーネントは、本明細書で説明および／または示した例示的方法における１つ以上のステップを実施する、および／または単独または他の素子と組合せて実施する実施手段とすることができる。例えば、コンピュータシステム（例えば、コンピューティングシステム４１０および／またはネットワークアーキテクチャ５００における１つ以上のコンポーネントは、マン・イン・ザ・ブラウザ攻撃を検出することをコンピュータで実現する方法を実施する。コンピュータシステムは、ウェブサイトに関連するトランザクションフィンガープリントを識別する。コンピュータシステムは、つぎにウェブサイトに対するユーザー入力を追跡する。ユーザー入力はウェブブラウザを経て受信される。コンピュータシステムは、さらに、ウェブサイトへの外部送出を傍受する。コンピュータシステムは、つづいて、ユーザー入力を外部送出と比較し、トランザクションフィンガープリントと照らし合わせて、ユーザー入力が外部送出を生成したかを決定する。ある実施例において、外部送出がユーザー入力によって生成したものであると決定された場合、コンピュータシステムは外部送出をウェブサイトに中継する。
【００５６】
少なくとも１つの実施例において、ウェブブラウザでウェブサイトに対するユーザー入力を追跡するステップは、ユーザーがウェブブラウザで生成する意図した回数の送出を追跡するステップを有する。ある実施例において、トランザクションフィンガープリントは、ウェブサイトに対する予期した回数の送出を含む。ある他の実施例では、コンピュータシステムは、ウェブサイトに対する予期した送出回数が、ユーザーによるウェブブラウザで生成したウェブサイトに対する意図した送出回数およびウェブサイトに対する実際の送出回数の双方に一致するか否かを決定する。
【００５７】
いくつかの実施例においては、トランザクションフィンガープリントは、ウェブサイトに対する予期した送出順序を含む。他のある実施例においては、コンピュータシステムは、ウェブサイトに対する予期した送出順序が実際の送出順序に一致するか否かを決定することができる。いくつかの実施例においては、トランザクションフィンガープリントはセキュリティベンダーによって供給される。いくつかの実施例においては、トランザクションフィンガープリントはウェブサイトに対するユーザー入力に基づいて生成することができる。
【００５８】
いくつかの実施例において規定したように、コンピュータシステムは、外部送出がユーザー入力によって生成されたものでないと決定された場合、セキュリティアクションを実施する。他のある実施例において、コンピュータはウェブサーバーにその外部送出を中継するか否かをユーザーに問い合わせることによってセキュリティアクションを実施する。ある実施例において、コンピュータは、セキュリティベンダーに事件報告を送信することによってセキュリティアクションを実施する。この事件報告は、ウェブサイトの場所、外部送出の内容、ユーザーを識別する情報、および／または外部送出に関連する日時情報を含むことができる。いくつかの実施例においては、ユーザー入力は、マウスからの入力および／またはキーボードからの入力とすることができる。
【００５９】
上述の開示は特定のブロック図、フローチャートおよび例を使って様々な実施形態を示したが、各ブロック図のコンポーネント、フローチャートステップ、操作および／または本明細書に記載および／または説明したコンポーネントは、広範囲のハードウェア、ソフトウェアまたはファームウェア（またはそれらの組合せ）を使って個別および／または包括的に実現することができる。さらに、他のコンポーネントに含まれるコンポーネントの開示はどのようなものであっても、同じ機能を達成するためにたくさんの他のアーキテクチャを実現することができるので、本来は例示的なものと考えるものとする。
【００６０】
本明細書に記載および／または説明するステップのプロセスパラメータおよびシーケンスは、ほんの一例として与えられたものであり、所望通りに変更が可能である。例えば、本明細書に記載および／または説明するステップは特定の順番に示され、論じられているが、これらのステップは、必ずしも説明または論じられている順番で実行する必要はない。本明細書に記載および／または説明する様々な例示的な方法では、本明細書に記載および／または説明する一つ以上のステップを除外してもよいし、またはこれらの開示されたものにステップを追加してもよい。
【００６１】
さらに、様々な実施形態を完全に機能的なコンピューティングシステムとして本明細書に記載および／または説明してきたが、分散を行うために実際に使用される特定の種類のコンピュータ読取り可能な媒体に関わらず、一つ以上のこれらの実施例は、様々な形態のプログラム製品として流通させることもできる。本明細書に開示する実施形態はまた、特定のタスクを実行するソフトウェアモジュールを使って実現することもできる。これらのソフトウェアモジュールは、コンピュータ読取り可能な記憶媒体またはコンピューティングシステムに記憶することのできるスクリプト、バッチまたはその他の実行可能ファイルを含むことができる。いくつかの実施形態では、これらのソフトウェアモジュールは、本明細書に開示する一つ以上の実施例を実行するコンピューティングシステムとして構成することができる。
【００６２】
上述の説明は、当業者が本明細書に記載する実施例の様々な態様を最大限に利用できるように行った。この例示的説明は網羅的、または開示した正確な形態に限定することを意図したものではない。本発明の要旨または範囲から逸脱することなく、多くの変更および改変が可能である。本明細書に記載する実施形態は、あらゆる面において例示的であり、限定するものではないと考えるべきである。添付の特許請求の範囲およびそれの等価物を参照して、本発明の範囲を決定すべきである。
【００６３】
別段に記載のない限り、明細書または請求項において、各要素は複数存在し得る。さらに、簡単のために、明細書および請求項で使用される「〜を含む」および「〜を有する」という文言は、同じ意味を持つ文言である「〜を備える」と置き替えることができる。
【図１】
2010182293.tif 000003
【図２】
2010182293.tif 000004
【図３】
2010182293.tif 000005
【図４】
2010182293.tif 000006
【図５】
2010182293.tif 000007
【外国語明細書】
2010182293000001.pdf