(57)【要約】ユーザがウェブページを訪問すると、ウェブブラウザが、ウェブページ上でのユーザの操作挙動の情報を取得し、操作挙動の取得された情報をウェブサーバへ送信する。ウェブサーバは、ウェブページ上でのユーザの操作挙動の取得された情報に基づいて、機械挙動の加重値を決定する。ウェブサーバが、機械挙動の加重値が規定の閾値以上であると決定するとき、ウェブページ上でのユーザの操作挙動が機械挙動であると決定する。
2014510979.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ実行可能命令を用いて構成される１つ以上のプロセッサによって実行される方法であって、
ユーザがウェブブラウザを介してウェブページを訪問することをリクエストするとき、前記ウェブページのウェブアドレス情報を含む、前記ウェブページを訪問するリクエストを前記ウェブブラウザから受信することと、
前記ウェブページ上でのユーザの操作挙動の情報を受信することと、
前記ユーザの操作挙動の前記情報に基づいて、機械挙動の加重値を計算することと、
機械挙動の前記加重値に基づいて、前記ユーザの操作挙動が機械挙動であるかを決定することと、
機械挙動の前記加重値が規定の閾値以上である場合、前記ユーザの操作挙動が機械挙動であると決定することと、
を含む、方法。
【請求項２】
前記ウェブページ上での前記ユーザの操作挙動の情報を前記受信することは、
前記ウェブアドレス情報に基づいて、前記ウェブページに対応するウェブページコードを検索することと、
挙動収集命令を前記ウェブページコードに挿入することと、
前記挙動収集命令を含む前記ウェブページコードを前記ウェブブラウザに送信することと、
前記挙動収集命令に基づいて、前記ウェブブラウザによって収集される前記ウェブページ上での前記ユーザの操作挙動の前記情報を受信することと、
を含む、請求項１に記載の方法。
【請求項３】
前記ウェブページ上での前記ユーザの操作挙動の情報を前記受信することは、
前記ウェブアドレス情報に基づいて、前記ウェブページに対応するウェブページコードを検索することと、
挙動収集命令を前記ウェブサーバから読み出すために、読み出し命令を前記ウェブページコードに挿入することと、
前記読み出し命令を含む前記ウェブページコードを前記ウェブブラウザに送信することと、
前記読み出し命令に基づいて、前記挙動収集命令を読み出すために、読み出しリクエストを前記ウェブブラウザから受信した後に、前記挙動収集命令を前記ウェブブラウザに送信することと、
前記挙動収集命令に基づいて、前記ウェブブラウザによって収集される前記ウェブページ上での前記ユーザの操作挙動の前記情報を受信することと、
を含む、請求項１に記載の方法。
【請求項４】
前記挙動収集命令を前記ウェブブラウザに前記送信することは、
予め設定された難読化アルゴリズムに基づいて、前記挙動収集命令の難読化演算を実行することと、
前記難読化された挙動収集命令を前記ウェブブラウザに送信することと、
を含む、請求項３に記載の方法。
【請求項５】
前記予め設定された難読化アルゴリズムに基づいて、前記挙動収集命令の前記難読化演算を前記実行することは、
前記ウェブサーバが、異なる期間と１つ以上の難読化アルゴリズムとの間の対応関係に基づいて前記読み出しリクエストを前記ウェブブラウザから受信する期間に対応する前記１つ以上の難読化アルゴリズムから、前記予め設定された難読化アルゴリズムを検索することと、
前記予め設定された難読化アルゴリズムに基づいて、前記挙動収集命令の難読化演算を実行することと、
を含む、請求項４に記載の方法。
【請求項６】
前記操作挙動は、マウス操作情報と、キーボード操作情報と、操作フロー情報と、を含む、請求項１に記載の方法。
【請求項７】
前記機械挙動の前記加重値を前記計算することは、
前記マウス操作情報に基づいて、マウス機械挙動の加重値を決定することと、
前記キーボード操作情報に基づいて、キーボード機械挙動の加重値を決定することと、
前記操作フロー情報に基づいて、操作フロー機械挙動の加重値を決定することと、
前記マウス機械挙動の前記加重値、前記キーボード機械挙動の前記加重値、および前記操作フロー機械挙動の前記加重値に基づいて、前記機械挙動の前記加重値を決定することと、
を含む、請求項６に記載の方法。
【請求項８】
前記機械挙動の前記加重値を前記決定することは、以下の式を用いて前記機械挙動の前記加重値を計算することを含み、
Ｗ＝Ｗ１×Ｑ１＋Ｗ２×Ｑ２＋Ｗ３×Ｑ３，
式中、
Ｗ１は、マウス機械挙動の前記加重値を表し、
Ｑ１は、マウス機械挙動の加重係数を表し、
Ｗ２は、キーボード機械挙動の前記加重値を表し、
Ｑ２は、キーボード機械挙動の加重係数を表し、
Ｗ３は、操作フロー機械挙動の前記加重値を表し、
Ｑ３は、操作フロー機械挙動の加重係数を表す、
請求項７に記載の方法。
【請求項９】
前記ユーザの操作挙動が機械挙動であると決定される場合、前記ユーザのユーザ識別情報を悪意のあるユーザリストに追加することをさらに含む、請求項１に記載の方法。
【請求項１０】
前記リクエストは、前記ユーザのユーザ識別情報をさらに含み、前記方法が、
前記ユーザ識別情報が悪意のあるユーザリストに含まれているかを決定することと、
前記ユーザ識別情報が前記悪意のあるユーザリストに含まれている場合、前記リクエストを処理することを拒否することと、
をさらに含む、請求項１に記載の方法。
【請求項１１】
前記リクエストは、前記ユーザのユーザ識別情報をさらに含み、前記方法は、
前記ユーザ識別情報が悪意のあるユーザリストに含まれているかを決定することと、
前記ユーザ識別情報が前記悪意のあるユーザリストに含まれていると決定することに応答して、前記ユーザが前記ウェブページを訪問することを禁止することと、
をさらに含む、請求項１に記載の方法。
【請求項１２】
コンピュータ実行可能命令を用いて構成される１つ以上のプロセッサによって実行される方法であって、
ウェブページ上でのユーザの操作挙動の情報を取得することと、
前記ユーザの操作挙動の前記取得された情報をウェブサーバに送信することと、
前記ユーザの操作挙動に基づいて、前記ユーザの操作挙動が機械挙動であると決定した結果をウェブサーバから受信することと、
を含む、方法。
【請求項１３】
前記ウェブページ上での前記ユーザの操作挙動の情報を前記取得することは、
前記ユーザが前記ウェブページを訪問することをリクエストするとき、前記ウェブサーバから挙動収集命令を取得することと、
前記挙動収集命令に基づいて、前記ユーザが前記ウェブページを訪問するとき、前記ウェブページ上での前記ユーザの操作挙動を収集することと、
を含む、請求項１２に記載の方法。
【請求項１４】
前記ユーザが前記ウェブページを訪問することをリクエストするとき、前記ウェブサーバから前記挙動収集命令を取得することは、
前記ユーザが前記ウェブページを訪問することをリクエストするとき、前記ウェブページのウェブアドレス情報を含む、訪問リクエストを前記ウェブサーバに送信することと、
前記ウェブアドレス情報に基づいて、前記ウェブサーバから取得された前記挙動収集命令を含む、前記ウェブサーバによって検出されたウェブページコードを受信することと、
を含む、請求項１３に記載の方法。
【請求項１５】
前記ユーザが前記ウェブページを訪問することをリクエストするとき、前記ウェブサーバから前記挙動収集命令を取得することは、
前記ユーザが前記ウェブページを訪問することをリクエストするとき、前記ウェブページのウェブアドレス情報を含む、訪問リクエストを前記ウェブサーバに送信することと、
前記ウェブアドレス情報に基づいて、前記ウェブサーバから挙動収集命令を読み出すために、前記ウェブサーバによって挿入される読み出し命令を含む、前記ウェブサーバによって検出されるウェブページコードを受信することと、
前記ユーザが前記ウェブページを訪問するとき、前記読み出し命令に基づいて前記挙動収集命令を読み出すリクエストを送信することと、
前記ウェブサーバによって送信された前記挙動収集命令を受信することと、
を含む、請求項１３に記載の方法。
【請求項１６】
前記ユーザが前記ウェブページを訪問することをリクエストするとき、前記ウェブサーバから挙動収集命令を前記取得することは、
前記ウェブサーバから難読化された挙動収集命令を受信することと、
予め設定された解読化アルゴリズムに基づいて、前記難読化された挙動収集命令の解読化演算を実行することと、
前記挙動収集命令を取得することと、
を含む、請求項１３に記載の方法。
【請求項１７】
予め設定された解読化アルゴリズムに基づいて、前記難読化された挙動収集命令の解読化演算を前記実行することは、
前記ウェブサーバが、異なる期間と１つ以上の解読化アルゴリズムとの間の対応関係に基づいて、前記読み出しリクエストを前記ウェブサーバに送信する期間に対応する前記１つ以上の解読化アルゴリズムから、前記予め設定された解読化アルゴリズムを検索することと、
前記予め設定された解読化アルゴリズムに基づいて、前記難読化された挙動収集命令の解読化演算を実行することと、
を含む、請求項１６に記載の方法。
【請求項１８】
前記ユーザの操作挙動の前記取得された情報を前記ウェブサーバに前記送信することは、予め設定された時点に到達すると、その前の規定の時点から前記予め設定された時点までの範囲の期間中の前記ウェブページ上での操作挙動の前記取得された情報を送信することを含む、請求項１２に記載の方法。
【請求項１９】
前記ウェブページ上での前記ユーザの操作挙動の情報を取得する前に、前記ユーザからの前記ウェブページを訪問するリクエストは、指定操作リクエストであると決定することをさらに含む、請求項１２に記載の方法。
【請求項２０】
１つ以上のプロセッサと、
前記１つ以上のプロセッサによって実行されると、前記１つ以上のプロセッサに、
ユーザがウェブブラウザを介してウェブページを訪問することをリクエストするとき、前記ウェブページのウェブアドレス情報を含む、前記ウェブページにアクセスするリクエストを前記ウェブブラウザから受信することと、
前記ウェブアドレス情報に基づいて、前記ウェブページに対応するウェブページコードを検索することと、
前記ウェブサーバから挙動収集命令を読み出すために、読み出し命令を前記ウェブページコードに挿入することと、
前記読み出し命令を含む前記ウェブページコードを前記ウェブブラウザに送信することと、
前記読み出し命令に基づいて、前記挙動収集命令を読み出すために、前記ウェブブラウザから読み出しリクエストを受信した後に、前記挙動収集命令を前記ウェブブラウザに送信することであって、
予め設定された難読化アルゴリズムに基づいて、前記挙動収集命令の難読化演算を実行することと、
前記難読化された挙動収集命令をウェブブラウザに送信することと、を含む、送信することと、
前記挙動収集命令に基づいて、前記ウェブブラウザによって収集される前記ウェブページ上での前記ユーザの操作挙動の前記情報を受信することと、
前記ユーザの操作挙動の前記情報に基づいて、機械挙動の加重値を計算することと、
機械挙動の前記加重値に基づいて、前記ユーザの操作挙動が機械挙動であるかを決定することと、
機械挙動の前記加重値が規定の閾値以上である場合、前記ユーザの操作挙動が機械挙動であると決定することと、
を含むアクションを実行させる、その上に記憶された複数のコンピュータ実行可能命令を有する１つ以上のコンピュータ記憶媒体と、
を備える、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、２０１１年３月３１日提出の中国特許出願第２０１１１００８１１０１．２号、名称「Ｍｅｔｈｏｄ，Ｗｅｂ  Ｂｒｏｗｅｒ，ａｎｄ  Ｗｅｂ  ｓｅｒｖｅｒ  ｆｏｒ  Ｄｅｔｅｒｍｉｎｉｎｇ  Ｍａｃｈｉｎｅ  Ｂｅｈａｖｉｏｒ」の外国優先権を主張し、その全体を参照により本明細書に組み入れる。
【０００２】
本開示は、インターネットの情報技術分野に関し、より具体的には、機械挙動を決定するための方法、ウェブブラウザ、およびウェブサーバに関する。
【背景技術】
【０００３】
インターネット技術の発展に伴い、ますます多くの情報源が、伝送媒体としてインターネットを選択している。ユーザは、多様なウェブページの情報にアクセスするためにウェブブラウザを使用する場合がある。図１は、既存の技術の下でウェブページを訪問するために、ウェブブラウザを使用するユーザを例示する例示的な流れ図を示す。
【０００４】
１０２で、ユーザは、ウェブページに対応するウェブアドレス情報をウェブブラウザに入力し、訪問を確定する。すなわち、訪問リクエストがウェブブラウザに送信される。訪問リクエストは、ウェブアドレス情報を含む。
【０００５】
１０４で、ウェブブラウザは、受信した訪問リクエストにユーザのインターネットプロトコル（ＩＰ）アドレス情報を追加し、それを対応するウェブサーバに送信する。
【０００６】
１０６で、ウェブサーバは、訪問リクエストの中に含まれるウェブアドレス情報に応じて、ウェブページのウェブページコードを検索する。
【０００７】
１０８で、ウェブサーバは、ユーザのＩＰアドレスに応じて、ウェブページコードをウェブブラウザに送信する。
【０００８】
１１０で、ウェブブラウザは、受信したウェブページコードに基づいて、ウェブページのコンテンツをユーザに提供する。
【０００９】
ユーザがウェブページを訪問するとき、ユーザは、ウェブページ内の情報を表示するためにウェブブラウザを使用してもよく、登録、ログイン、掲載、および返信等の他の操作を実行してもよい。ウェブページがユーザ登録のためである場合、図２は、登録を実行するためにウェブブラウザを使用するユーザを例示する例示的な流れ図を示す。
【００１０】
２０２で、ユーザは、ユーザ名およびパスワード等の登録情報を登録のためのウェブページに入力する。ユーザ名入力欄が、ユーザ名を入力するために使用され、パスワード入力欄が、パスワードを入力するために使用される。
【００１１】
２０４で、ユーザは、ユーザ名およびパスワード等の登録情報を入力した後に、登録を確定する。すなわち、登録リクエストがウェブブラウザに送信される。登録リクエストは、ユーザによって入力された登録情報、およびウェブページに対応するウェブアドレス情報を含む。
【００１２】
２０６で、ウェブブラウザは、登録リクエストの中のウェブアドレス情報に応じて、対応するウェブサーバに登録リクエストを送信する。
【００１３】
２０８で、ウェブサーバは、登録リクエストの中の登録情報を検証する。検証プロセスに合格すると、操作２１０が実行され、そうでなければ、操作２１４が実行される。
【００１４】
２１０で、ウェブサーバは、登録が成功したことを示すウェブページのウェブページコードをウェブブラウザに送信する。
【００１５】
２１２で、ウェブブラウザは、受信したウェブページコードに応じて、登録が成功したことを示すウェブページのウェブページコンテンツをユーザに提供する。ウェブページコンテンツは、登録が成功したことを示す情報を含む。
【００１６】
２１４で、ウェブサーバは、登録が成功しなかったことを示すウェブページのウェブページコードをウェブブラウザに送信する。
【００１７】
２１６で、ウェブブラウザは、受信したウェブページコードに応じて、登録が成功しなかったことを示すウェブページのウェブページコンテンツをユーザに提供する。ウェブページコンテンツは、登録が成功しなかったことを示す情報、および登録が成功しなかった理由を含む。
【００１８】
既存の技術の下では、ユーザの中には、ウェブサイト信任を取得するため、あるいはウェブサイト上に広告または悪意のある情報を発行するために、悪意のある登録、ログイン、掲載、返信を実行する人間の操作を模倣するソフトウェアプログラムを使用する場合がある。例えば、ユーザが悪意のある登録ソフトウェアを実行した後、ソフトウェアプログラムは、人間の操作を模倣し、ユーザ登録ウェブページ上で無作為に生成された登録情報を入力し、次いで、クリックして登録を完了する。人間の操作を模倣するソフトウェアプログラムから生じる操作挙動は、機械挙動と呼ぶことができる。
【００１９】
ウェブサーバが、ユーザのウェブページに対するアクションが機械挙動であるかを決定できない場合、ウェブサーバは、機械挙動から生じる様々な操作リクエスト（登録リクエスト、ログインリクエスト、掲載リクエスト、返信リクエスト等）を処理する。これは、ウェブサーバの多量の処理リソースを消費し、ウェブサーバの処理効率を低下させる。加えて、ウェブサーバは、悪意のある挙動から生じる大量のデータを蓄積しなければならず、ウェブサーバの多量の記憶リソースを消費する。
【００２０】
上記の問題に対応するため、既存の技法は、操作リクエスト（登録リクエスト、ログインリクエスト、掲載リクエスト、返信リクエスト等）を受信した後に、操作挙動が機械挙動であるかを決定することができる。操作リクエストが機械挙動であると決定された場合、そのようなリクエストは処理されない。既存の技法は、概して、機械挙動を決定するために、以下に記載する２つの方法を使用する。
【００２１】
第１の方法は、ＩＰアドレス分析方法である。同じＩＰアドレスが非常に短時間に特定の操作リクエスト（例えば、登録リクエスト）を連続して送信する場合、ウェブページ上での操作挙動はおそらく機械挙動である。
【００２２】
第１の方法は主に、機械挙動を決定するための基盤として、ユーザに関連するＩＰアドレスを使用する。ＩＰアドレスは素早く変更することができるので、機械挙動は、頻繁に変更されるＩＰアドレスに関して、正確に決定することができない。このため、機械挙動を決定する精度は低い。
【００２３】
第２の方法は、操作情報分析方法である。この方法は、ユーザからの特定の操作リクエストの中に含まれる操作情報を分析する。例えば、特定の操作リクエストが登録リクエストである場合、登録リクエストの中の登録情報は操作情報である。分析の結果が、ユーザからのいくつかの特定の操作リクエストの中の操作情報の間にあるパターンが存在することを示す場合、ウェブページ上での操作挙動はおそらく機械挙動である。例えば、ユーザＡは、ウェブブラウザを使用することによって、４つの登録リクエストをウェブサーバに送信する。第１の登録リクエスト内のユーザ名（登録情報）が「ＡＢＣＤＥ」であり、第２の登録リクエスト内のユーザ名が「ＡＢＣＤＦ」であり、第３の登録リクエスト内のユーザ名が「ＡＢＣＤＧ」であり、送信された第４の登録リクエスト内のユーザ名が「ＡＢＣＤＨ」である。４つのユーザ名を分析することによって、ウェブサーバは、４つのユーザ名の最初の４つの文字が「ＡＢＣＤ」であり、唯一の違いは最後の文字であることを検出する。ウェブサーバは、これらのユーザ名の間に明らかなパターンが存在すると決定し、したがって、ユーザＡのウェブページ上での登録挙動は、機械挙動であると決定することができる。
【００２４】
しかしながら、多数の悪意のある種類のソフトウェアプログラムは、操作情報を無作為に生成することが可能である。例えば、そのユーザは、ウェブページでの各登録に対してユーザ名を無作為に生成するソフトウェアプログラムを使用する場合がある。このため、ユーザ名の間には明らかなパターンが存在せず、ウェブサーバは、ユーザの登録挙動が機械挙動であるか否かを決定することができない。したがって、第２の方法に基づいて機械挙動を決定する精度も低い。
【００２５】
このように、機械挙動を決定するための既存の技法は、低い精度を有する。
【発明の概要】
【００２６】
本概要は、発明を実施するための形態で以下に詳細に記載する概念の選択を簡略化した形式で導入するために提供する。本概要は、本発明の主要な特徴または重要な特徴を特定することを目的とするものでも、本発明の範囲を決定する際の支援として使用されることを目的とするものでもない。例えば、「技法」という用語は、上記の文脈および本開示全体で許可されるようなデバイス、システム、方法、および／またはコンピュータ可読命令を指す場合がある。
【００２７】
本開示は、機械挙動を決定するための方法を開示する。ユーザがウェブページを訪問するとき、ウェブブラウザは、ウェブページ上でのユーザの操作挙動の情報を取得し、取得された操作挙動の情報をウェブサーバに送信する。ウェブサーバは、ウェブページ上でのユーザの操作挙動の取得された情報に基づいて、機械挙動の加重値を決定する。ウェブサーバは、機械挙動の加重値が規定の閾値以上であると決定するとき、ウェブページ上でのユーザの操作挙動が機械挙動であると決定する。
【００２８】
本開示はまた、機械挙動を決定するためのウェブブラウザも開示する。ウェブブラウザは、取得ユニットと伝送ユニットとを含む。取得ユニットは、ユーザがウェブページを訪問するとき、ウェブページ上でのユーザの操作挙動の情報を取得する。伝送ユニットは、操作挙動の取得された情報をウェブサーバに送信する。
【００２９】
本開示はまた、機械挙動を決定するためのウェブサーバも開示する。ウェブサーバは、第１の受信ユニットと、第１の決定ユニットと、第１の評価ユニットと、第２の決定ユニットとを含む。第１の受信ユニットは、ウェブブラウザによって送信される、ウェブページ上でのユーザの操作挙動の情報を受信する。第１の決定ユニットは、第１の受信ユニットから受信されたユーザの操作挙動の情報に基づいて、機械挙動の加重値を決定する。第１の評価ユニットは、機械挙動の加重値が規定の閾値未満であるかを決定する。第２の決定ユニットは、第１の評価ユニットからの結果が否定であるとき、ウェブページ上でのユーザの操作挙動が機械挙動であると決定する。
【００３０】
本開示の技法の下では、ユーザがウェブページを訪問するとき、ウェブブラウザは、ウェブページ上でのユーザの操作挙動の情報を取得し、取得された操作挙動の情報をウェブサーバに送信する。ウェブサーバは、ウェブページ上でのユーザの操作挙動の取得された情報に基づいて、機械挙動の加重値を決定する。ウェブサーバが、機械挙動の加重値が規定の閾値以上であると決定するとき、ウェブページ上でのユーザの操作挙動は、機械挙動であると決定される。
【００３１】
このように、本技法は、機械挙動を決定するためにＩＰアドレス分析方法、または操作情報分析方法に依存しない。むしろ、本技法は、操作挙動が機械挙動であるかどうかを評価するために、ウェブページ上でのユーザの操作挙動を使用する。これによって、機械挙動を決定する精度が効果的に増加するので、ウェブサーバは、機械挙動を正確に区別することができ、機械挙動から生じる操作リクエストを処理する必要がない。本技法は、ウェブサーバの処理リソースを節約し、ウェブサーバの処理効率を増加させ、ウェブサーバの記憶リソースを節約する。
【図面の簡単な説明】
【００３２】
本開示の実施形態をわかりやすく例示するため、以下に実施形態の説明において使用される図面を簡単に示す。以下の図面は、本開示のいくつかの実施形態にのみ関係することは明らかである。当業者は、努力を要さず、本開示の図面に従って他の図面を取得することができる。
【００３３】
【図１】既存の技法に従い、ユーザがウェブページを訪問するためにウェブブラウザを使用する方法の流れ図を示す。
【図２】既存の技法に従い、ユーザが登録操作を実行するためにウェブブラウザを使用する方法の流れ図を示す。
【図３】本開示の例示的実施形態に従い、機械挙動を決定するための例示的方法の流れ図を示す。
【図４】例示的な機械挙動識別および分析モデルを示す。
【図５】本開示の例示的実施形態に従い、ユーザ、ウェブブラウザ、およびウェブサーバの間の相互作用に基づいて、機械挙動を決定するための例示的方法の流れ図を示す。
【図６】本開示の例示的実施形態に従い、ウェブブラウザの機能を実装するための例示的システムを示す図である。
【図７】本開示の例示的実施形態に従い、例示的なウェブサーバを示す図である。
【発明を実施するための形態】
【００３４】
以下に図面を参照して、本開示に従う例示的な実施形態の詳細説明を提供する。本明細書に記載される例示的実施形態は、検討のための例としてのみ使用され、本開示を限定するために使用されない。
【００３５】
図３は、第１の例示的実施形態に従い、機械挙動を決定するための例示的な方法の流れ図を示す。
【００３６】
３０２で、ウェブブラウザは、ユーザがウェブページを訪問するとき、ウェブページ上でのユーザの操作挙動の情報を取得する。
【００３７】
ウェブページ上でのユーザの操作挙動とは、マウスを滑動させる、データ入力のためにキーボードを使用する等、ウェブページ上でのユーザの異なる操作挙動に関する操作情報を言う。例えば、操作情報は、マウス操作情報、キーボード操作情報、操作フロー情報等を含んでもよい。
【００３８】
例えば、マウス操作情報は、１つ以上のマウスボタンの連携情報、マウスボタンのクリック時間情報、およびクリックの回数を含む。キーボード操作情報は、キーボードの１つ以上のキーの値、キーのクリック時間情報、およびクリックの回数を含む。操作プロセス情報は、マウス操作およびキーボード操作の操作シーケンス情報、ならびにウェブページ上での要素の操作シーケンス情報を含む。マウスおよびキーボードの操作シーケンス情報とは、マウスおよびキーボードを使用する操作挙動の各々のシーケンスを言う。ウェブページ上での要素とは、ボタン、ピクチャ、リンク等のウェブページ上でのそれぞれの機能性を表現する要素を言う。各ウェブページは、複数の要素を含んでもよい。ウェブページ上での要素の操作シーケンス情報とは、ウェブページの異なる要素上のユーザの操作シーケンスを言う。
【００３９】
本技法は、ウェブページ上でのユーザの操作挙動を収集するために、コンピュータ記憶媒体上に具現化される挙動収集命令を使用してもよいが、これに限定されない。命令は、コンピュータ実行可能命令であってもよい。
【００４０】
例えば、ユーザがウェブページを訪問するリクエストをするとき、ウェブブラウザは、ウェブサーバから挙動収集命令を読み出し、読み出された挙動収集命令に基づいて、ウェブページ上でのユーザの操作挙動の情報を収集する。
【００４１】
ウェブブラウザは、ウェブサーバから挙動収集命令を読み出すために、以下に記載する次の２つの例示的方法を含むが、これらに限定されない方法を使用してもよい。
【００４２】
第１の例示的読み出し方法において、挙動収集命令は、ウェブページのウェブページコードに挿入される。ユーザがその後ウェブページを訪問するとき、ウェブブラウザは、ウェブページ上でのユーザの操作挙動の情報を収集するために、ウェブページのウェブページコードに組み込まれた挙動収集命令を使用する。
【００４３】
例えば、ユーザは、ユーザがウェブブラウザで訪問しようとするウェブページのウェブアドレス情報を入力し、訪問を確定する。すなわち、ユーザは、訪問リクエストをウェブブラウザに送信する。訪問リクエストは、ユーザによって入力されたウェブページのウェブアドレス情報を含む。ウェブブラウザは、ウェブページのウェブアドレス情報に基づいて、訪問リクエストをウェブサーバに送信する。ウェブサーバは、訪問リクエストの中に含まれるウェブページのウェブアドレス情報に基づいて、ウェブアドレス情報に対応するウェブページのウェブページコードを検索する。検出されたウェブページコードは、挙動収集命令を含む。ウェブサーバは、検出されたウェブページコードをウェブブラウザに送信する。ウェブブラウザは、受信されたウェブページコードに基づいて、ユーザがウェブページを訪問するとき、ウェブページのコンテンツをユーザに表示し、挙動収集命令および受信されたウェブページを訪問プロセスにロードする。ユーザがウェブページを訪問するとき、ウェブブラウザは、ロードされた挙動収集命令に従って、ウェブページ上でのユーザの操作挙動の情報を収集する。
【００４４】
第２の例示的な読み出し方法において、ウェブサーバから挙動収集命令を読み出すための読み出し命令は、ウェブページのウェブページコードに挿入される。ユーザがその後ウェブページを訪問するとき、ウェブブラウザは、読み出し命令を使用してウェブサーバから挙動収集命令を読み出し、読み出された挙動収集命令を使用して、ユーザがウェブページを訪問するときのウェブページ上でのユーザの操作挙動の情報を収集する。
【００４５】
例えば、ユーザは、ユーザがウェブブラウザで訪問しようとするウェブページのウェブアドレス情報を入力し、訪問を確定する。すなわち、ユーザは、訪問リクエストをウェブブラウザに送信する。訪問リクエストは、ユーザによって入力されたウェブページのウェブアドレス情報を含む。ウェブブラウザは、ウェブページのウェブアドレス情報に基づいて、訪問リクエストをウェブサーバに送信する。ウェブサーバは、訪問リクエストの中に含まれるウェブページのウェブアドレス情報に基づいて、ウェブページのウェブアドレス情報に対応するウェブページのウェブページコードを検索する。検出されたウェブページコードは、挙動収集命令を読み出すための読み出し命令を含む。ウェブサーバは、検出されたウェブページコードをウェブブラウザに送信する。ウェブブラウザは、受信されたウェブページコードに基づいて、ウェブページのコンテンツをユーザに表示し、ウェブページコードの中に組み込まれた読み出し命令に従って、ウェブサーバから挙動収集命令を読み出すために読み出しリクエストを送信する。読み出しリクエストを受信した後、ウェブサーバは、挙動収集命令をウェブブラウザに送信する。ウェブブラウザは、ユーザがウェブページを訪問するとき、挙動収集命令を訪問プロセスにロードする。ユーザがウェブページを訪問するとき、ウェブブラウザは、ロードされた挙動収集命令に従って、ウェブページ上でのユーザの操作挙動の情報を収集する。
【００４６】
第２の例示的な方法において、ウェブサーバから挙動収集命令を読み出すための読み出し命令をウェブページコードに挿入する操作は、「組み込みポイント」操作と呼ばれてもよい。ウェブブラウザは、ウェブサーバによって送信されるウェブページコードを受信する。ウェブブラウザが、ウェブページに組み込まれた「ポイント」で実行するとき、読み出し命令に従って、ウェブサーバからの挙動収集命令の読み出しをトリガし、読み出された挙動収集命令をウェブページコードに組み込む。
【００４７】
第１の例示的方法において、挙動収集命令は、ウェブブラウザによって受信されるウェブページのウェブページコードに組み込まれる場合がある。第２の例示的方法において、ウェブブラウザによって読み出された後の挙動収集命令もまたウェブページコードに組み込まれる場合がある。ユーザがウェブページコードを取得し、ウェブページコードの中の挙動収集命令を分析することが可能である場合、ユーザは、操作挙動情報を収集するために挙動収集命令を操作することが可能な場合がある。このように、操作挙動の収集された情報は、不正確になる場合があり、このために、機械挙動を決定する精度が低い。この問題に対応するために、第２の例示的な読み出し方法において、ウェブサーバがウェブブラウザから読み出しリクエストを受信した後、最初に、ウェブブラウザに送信される挙動収集命令の難読化演算を実行してもよい。すなわち、ウェブサーバは、挙動収集命令の難読化演算を実行するために１つ以上の難読化アルゴリズムを使用し、難読化された挙動収集命令をウェブブラウザに送信する。
【００４８】
ウェブブラウザは、難読化された挙動収集命令をウェブページコードに組み込み、上記の１つ以上の難読化アルゴリズムに対応する１つ以上の解読化アルゴリズムを使用して、難読化された挙動収集命令の解読化演算を実行し、次いで、ユーザがウェブページを訪問するときに、解読された挙動収集命令を訪問プロセスにロードする。このように、ウェブページコードに組み込まれた挙動収集命令は、難読化された挙動収集命令である。ユーザは、挙動収集命令を取得するために、ウェブページ上で分析を直接実行することができない。したがって、操作挙動の情報を収集する精度が向上し、機械挙動を決定する精度も向上する。
【００４９】
第１の例示的な実施形態は、操作挙動の情報を収集する精度および機械挙動を決定する精度をさらに向上させるために、リアルタイムで挙動収集命令の難読化演算を実行するための例示的な方法も提供する。１つ以上の難読化アルゴリズムと多様な期間との間の対応関係が予め確立され、ウェブサーバに記憶される。１つ以上の解読化アルゴリズムと多様な期間との間の対応関係が予め確立され、ウェブブラウザに記憶される。ウェブサーバは、挙動収集命令の難読化演算を実行するために、１つの難読化アルゴリズムを使用することに限定されない。むしろ、ウェブサーバは、読み出しリクエストが受信されるときの期間に応じて、各期間と難読化アルゴリズムとの間の対応関係に基づいて、期間に対応する１つ以上の難読化アルゴリズムを検索する。次いで、ウェブサーバは、検出された１つ以上の難読化アルゴリズムを使用することによって挙動収集命令の難読化演算を実行し、難読化された挙動収集命令をウェブブラウザに送信する。
【００５０】
ウェブブラウザは、難読化された挙動収集命令を受信した後、難読化された挙動収集命令をウェブページコードに組み込む。次いで、ウェブブラウザは、読み出しリクエストが送信されたときの期間に応じて、各期間と解読化アルゴリズムとの間の対応関係に基づいて、期間に対応する１つ以上の解読化アルゴリズムを検索する。ウェブブラウザは、対応する１つ以上の解読化アルゴリズムを使用することによって難読化された挙動収集命令の解読演算を実行し、ユーザがウェブページを訪問するときに解読された挙動収集命令を訪問プロセスにロードする。
【００５１】
ウェブサーバは、挙動収集命令の難読化演算を実行するとき、異なる期間には異なる難読化アルゴリズムを使用するので、異なる期間にウェブブラウザによって受信される難読化された挙動収集命令は、同じではない。難読化アルゴリズムは、動的に変化し、それによって、ユーザが、難読化された挙動収集命令に基づいて、難読化された挙動収集命令を分析することを防止する。したがって、操作挙動の情報を収集する精度が向上し、機械挙動を決定する精度も向上する。
【００５２】
例えば、挙動収集命令は、これに限定されないが、ＪＡＶＡ（登録商標）スクリプト（ＪＳ、ＪＡＶＡＳＣＲＩＰＴ（登録商標））コードを使用する場合がある。一例において、挙動収集命令は、ＪＳ収集命令と呼ばれてもよい。挙動収集命令に対する読み出し命令を挿入する組み込みポイント操作は、「ＪＳ組み込みポイント」操作とも呼ばれてもよい。ＪＳ収集命令がウェブページ上でのユーザの操作挙動の情報を収集するとき、ユーザのマウスおよびキーボードイベントを記録するために、ドキュメントオブジェクトモデル（ＤＯＭ）イベントスタックメソッドが使用されてもよい。
【００５３】
加えて、ウェブブラウザは、ユーザの媒体アクセス制御（ＭＡＣ）アドレス情報等、ユーザの識別情報のうちのいくつかを記録するために、挙動収集命令を使用してもよい。
【００５４】
第１の例示的実施形態における本技法は、挙動収集命令または挙動収集命令を読み出すための読み出し命令を、各ウェブページのウェブページコードに組み込む。ユーザが各ウェブページを訪問するとき、ウェブサーバは、ウェブページ上でのユーザの操作挙動が機械挙動であるか否かを評価してもよい。加えて、本技法はまた、挙動収集命令または読み出し命令を１つ以上の指定ウェブページのウェブページコードに組み込んでもよい。例えば、指定ウェブページは、ユーザが悪意を持って登録を実行する場合があるユーザ登録ウェブページ、またはユーザが悪意を持ってログインする場合があるログインウェブページ、またはユーザが悪意のある掲載を行う場合がある掲載ウェブページ等、ユーザが悪意のある登録を実行する閾値よりも高い確率を有するウェブページであってもよい。
【００５５】
３０４で、ウェブブラウザは、操作挙動の取得された情報をウェブサーバに送信する。
【００５６】
ウェブブラウザは、操作挙動の情報をウェブサーバに送信する前に、予め設定された暗号アルゴリズムを使用することによって、操作挙動の情報を暗号化してもよい。操作挙動の暗号化された情報がウェブサーバに送信された後、ウェブサーバは、予め設定された解読アルゴリズムを使用することによって操作挙動の情報を解読してもよく、それによって、ウェブブラウザとウェブサーバとの間の操作挙動の情報を伝送するセキュリティを向上させる。
【００５７】
本技法は、操作挙動の取得された情報をウェブブラウザからウェブサーバへ伝送するために、以下に記載する２つの例示的方法を含むがこれらに限定されない、いくつかの方法を使用してもよい。
【００５８】
第１の例示的な伝送方法において、ウェブブラウザは、スケジュールに従って、操作挙動の情報を送信する。例えば、複数のスケジュールされた時間ポイントが予め設定されてもよい。１つの予め設定された時間ポイントに到達したとき、ウェブブラウザは、先行の規定の時間ポイントから現在の時間ポイントまでの範囲の期間中のウェブページ上での操作挙動の取得された情報をウェブサーバに送信する。
【００５９】
第２の例示的な伝送方法において、ウェブブラウザは、ユーザから指定操作リクエストを受信すると、操作挙動の情報を送信する。例えば、ユーザによって訪問されるウェブページがユーザ登録ウェブページである場合、ウェブブラウザがユーザから登録リクエストを受信した後（すなわち、ユーザが登録情報を入力し、登録リクエストを確定した後）、ウェブブラウザは、ユーザの操作挙動の情報をウェブサーバに送信する。ユーザによって訪問されるウェブページがログインウェブページである場合、ウェブブラウザがユーザからログインリクエストを受信した後（すなわち、ユーザがログイン情報を入力し、ログインリクエストを確定した後）、ウェブブラウザは、ユーザの操作挙動の情報をウェブサーバに送信する。ユーザによって訪問されるウェブページが掲載ウェブページである場合、ウェブブラウザがユーザから掲載リクエストを受信した後（すなわち、ユーザが掲載を入力し、掲載リクエストを確定した後）、ウェブブラウザは、ユーザの操作挙動の情報をウェブサーバに送信する。
【００６０】
３０６で、ウェブサーバは、操作挙動の取得された情報に基づいて、機械挙動の加重値を決定する。
【００６１】
本技法は、機械挙動の加重値を決定するために、以下に記載する次の方法を含むがこれに限定されない、いくつかの方法を使用してもよい。
【００６２】
操作挙動の受信された情報の中のマウス操作情報に基づいて、ウェブサーバは、マウス機械挙動の対応する加重値Ｗ１を決定する。操作挙動の受信された情報の中のキーボード操作情報に基づいて、ウェブサーバは、キーボード機械挙動の対応する加重値Ｗ２を決定する。操作挙動の受信された情報の中のマウス操作情報およびキーボード操作情報に基づいて、ウェブサーバは、操作フロー機械挙動の対応する加重値Ｗ３を決定する。ウェブサーバはまた、他の操作情報の加重値も取得してもよい。次いで、ウェブサーバは、これらの加重値に基づいて、ウェブページ上でのユーザの操作挙動に対する機械挙動の加重値を計算する。例えば、マウス機械挙動の加重値Ｗ１、キーボード機械挙動の加重値Ｗ２、および操作フロー機械挙動の加重値Ｗ３に基づいて、ウェブサーバは、ウェブページ上でのユーザの操作挙動に対する機械挙動の加重値を決定する。
【００６３】
多様な計算方法が存在してもよい。一例示的計算方法において、マウス機械挙動の加重値Ｗ１、キーボード機械挙動の加重値Ｗ２、および操作フロー機械挙動の加重値Ｗ３は、機械挙動の加重値を取得するために、加算されてもよく、すなわち、Ｗ＝Ｗ１＋Ｗ２＋Ｗ３であってもよい。
【００６４】
別の例示的な方法において、マウス機械挙動の加重値、キーボード機械挙動の加重値、および操作フロー機械挙動の加重値等、加重値の各々に対して対応する加重係数が定義されてもよい。例えば、マウス機械挙動の加重値に対して定義される加重係数は、Ｑ１であり、キーボード機械挙動の加重値に対して定義される加重係数は、Ｑ２であり、操作フロー機械挙動の加重値に対して定義される加重係数は、Ｑ３である。次いで、各機械挙動の加重値がその対応する加重係数と乗算され、次いで、機械挙動の加重値を取得するために、その積が加算され、すなわちＷ＝Ｗ１×Ｑ１＋Ｗ２×Ｑ２＋Ｗ３×Ｑ３である。
【００６５】
ウェブページ上での機械挙動を決定する際、機械挙動識別および分析モデルが確立されてもよい。図４は、例示的な機械挙動識別および分析モデル４００を示す。
【００６６】
ウェブサーバは、マウス操作を分析するために、機械挙動識別および分析モデル４００を使用してもよい。４０２で、ウェブページ上でのユーザの操作挙動の情報が機械挙動識別および分析モデルに入力される。４０４で、機械挙動識別および分析モデルは、マウス操作情報を分析する。マウス操作情報は、例えば、マウスボタン連携４０６、マウスボタン押下時間４０８、およびマウスボタンの押下回数４１０を含んでもよい。４１２で、機械挙動識別および分析モデルは、マウス操作情報の分析に基づいて、マウス機械挙動の加重値を計算する。
【００６７】
４１４で、機械挙動識別および分析モデルは、キーボード操作情報を分析する。キーボード操作情報は、例えば、キーボードボタン値４１６、キーボードボタン押下時間４１８、およびキーボードボタンの押下回数４２０を含んでもよい。４２２で、機械挙動識別および分析モデルは、マウス操作情報の分析に基づいて、キーボード機械挙動の加重値を計算する。
【００６８】
４２４で、機械挙動識別および分析モデルは、操作フロー情報を分析する。多様な操作フロー情報は、例えば、マウスおよびキーボード操作のシーケンス４２６、およびウェブページの要素上の操作のシーケンス４２８を含んでもよい。４３０で、機械挙動識別および分析モデルは、多様な操作フロー情報の分析に基づいて、操作フロー機械挙動の加重値を計算する。
【００６９】
４３２で、機械挙動および分析モデルは、マウス機械挙動の計算された加重値、キーボード機械挙動の計算された加重値、および操作フロー機械挙動の計算された加重値等の多様な操作情報の計算された加重値に基づいて、機械挙動の加重値を決定した。
【００７０】
機械挙動識別および分析モデルを確立するために、以下の２つの例示的なモデル確立方法を含むがこれらに限定されない、多様な方法が存在する。
【００７１】
一例示的なモデル確立方法において、それぞれのユーザ識別情報に対応するそれぞれのユーザに関して、機械挙動を決定することが必要な各ウェブページに対して、それぞれのウェブページの機械挙動識別および分析モデルを確立するために、各ウェブページ上でのユーザの操作挙動の複数の情報が学習され、訓練される。ウェブページ上でのユーザの操作挙動の次に受信された情報は、分析するために機械挙動識別および分析モデルに入力される。分析結果は、それぞれのウェブページ上でのユーザの操作挙動に対する機械挙動の加重値を決定するために使用される。ユーザ識別情報は、例えば、ＩＰアドレス情報、またはＭＡＣアドレス情報であってもよい。ウェブブラウザがウェブページ上でのユーザの操作挙動の情報を収集するとき、ユーザ識別情報を記録し、それを操作挙動の情報とともに、ウェブサーバに送信する。ユーザ識別情報に基づいて、ウェブサーバは、操作挙動の受信された情報に対応するユーザを決定し、ユーザに対応する機械挙動識別および分析モデルをさらに検索する。
【００７２】
別の例示的なモデル確立方法において、機械挙動を決定することが必要な各ウェブページに対して、それぞれの機械挙動識別および分析モデルが確立される。それぞれのウェブページ上でのユーザの操作挙動の情報が次に受信されるとき、そのような情報は、分析するためにそれぞれの機械挙動識別および分析モデルに入力される。分析結果は、それぞれのウェブページ上でのユーザの機械挙動の加重値を決定するために使用される。
【００７３】
３０８で、ウェブサーバは、ウェブページに対するユーザからの機械挙動の加重値が規定の閾値以上であると決定することに応答して、ウェブページ上でのユーザの操作挙動が機械挙動であると決定する。
【００７４】
機械挙動を決定する規定の閾値は予め設定される。機械挙動の加重値が、規定の閾値未満である場合、ウェブページ上でのユーザの操作挙動は、機械挙動であるとは決定されない。機械挙動の加重値が、規定の閾値以上である場合、ウェブページ上でのユーザの操作挙動は、機械挙動であると決定される。
【００７５】
ウェブページ上でのユーザの操作挙動が機械挙動であると決定した後、ユーザの操作リクエストを処理する必要はなく、それによって、ウェブサーバの大量の処理リソースを節約し、ウェブサーバの処理効率を増加し、ウェブサーバの大量の記憶リソースを保存する。加えて、ウェブサーバがウェブページ上のユーザの操作挙動が機械挙動であると決定した後、決定の結果をウェブブラウザに送信してもよいが、これに限定されない。決定の結果を受信した後、ウェブブラウザは、結果をユーザにも提供してもよい。
【００７６】
機械挙動を決定し、ウェブサーバの処理リソースを節約する際にウェブサーバの効率を向上させるために、本技法はまた、ウェブページに対するそれぞれのユーザの操作挙動が機械挙動であると決定した後、ウェブサーバはユーザのユーザ識別情報を悪意のあるユーザリストに追加してもよいことも提供する。将来、ウェブサーバがウェブブラウザから操作リクエストを受信するとき、最初に、受信された操作リクエストの中のユーザ識別情報が悪意のあるユーザリストに見出されるかを確認してもよい。結果が肯定である場合、ウェブサーバは、ユーザの操作リクエストを処理することを拒否し、このため、ウェブページ上でのユーザの操作挙動が機械挙動であるか否かを決定するために、操作を実行する必要性が存在しない。
【００７７】
加えて、本技法はまた、ウェブブラウザによって送信された訪問リクエストを受信した後、ウェブサーバが、訪問リクエストの中のユーザ識別情報が悪意のあるユーザリストに検出されるかを最初に決定してもよいことを提供する。結果が肯定である場合、ウェブサーバは、ユーザがウェブページを訪問することを禁じてもよい。したがって、ユーザは、以降の操作リクエストをウェブサーバに送信することが妨げられる。ウェブサーバに対してユーザによって送信される操作リクエストの数が減少し、それによって、ウェブサーバ上の負担を削減し、ウェブサーバの処理速度および処理効率を向上させる。例えば、ユーザ識別情報は、ユーザのＩＰアドレス情報、またはユーザのＭＡＣアドレス情報であってもよい。
【００７８】
本技法の下では、ユーザがウェブページを訪問するとき、ウェブブラウザは、ウェブページ上でのユーザの操作挙動の情報を取得し、操作挙動の取得された情報をウェブサーバに送信する。ウェブサーバは、ウェブサーバに対する操作挙動の取得された情報に基づいて、機械挙動の加重値を決定する。ウェブサーバが、機械挙動の加重値が規定の閾値以上であると決定するとき、ウェブページ上でのユーザの操作挙動は、機械挙動として決定される。
【００７９】
このように、本技法は、機械挙動を決定するためにＩＰアドレス分析方法、または操作情報分析方法に依存しない。むしろ、本技法は、操作挙動が機械挙動であるかどうかを評価するために、ウェブページ上でのユーザの操作挙動を使用する。これは、機械挙動を決定する精度を有効に増加させるので、ウェブサーバは、機械挙動を正確に区別することができ、機械挙動から生じる操作リクエスト（登録リクエスト、ログインリクエスト、掲載リクエスト、返信リクエスト等）を処理する必要がない。本技法は、ウェブサーバの処理リソースを節約し、ウェブサーバの処理効率を増加させ、ウェブサーバの記憶リソースを節約する。
【００８０】
図５は、本開示の第２の例示的実施形態に従い、ユーザ５０２、ウェブブラウザ５０４、およびウェブサーバ５０６の間の相互作用に基づいて、機械挙動を決定するための例示的方法の流れ図を示す。
【００８１】
５０８で、ユーザ５０２は、ウェブページを訪問することをリクエストする。５１０で、ウェブブラウザ５０４は、ウェブサーバ５０６へ訪問リクエストを送信する。訪問リクエストは、ユーザ５０２が訪問することをリクエストするウェブページのウェブアドレス情報を含む。５１２で、ウェブサーバ５０６は、訪問リクエストの中のウェブアドレス情報に基づいて、ウェブページに対応するウェブページコードを検索する。５１４で、ウェブサーバ５０６は、挙動収集命令を読み出すための読み出し命令をウェブページコードへ挿入する「組み込みポイント」操作を実行する。検出されたウェブページコードは、挙動収集命令を読み出すための挿入された読み出し命令を含む。５１６で、ウェブサーバ５０６は、検出されたウェブページコードをウェブブラウザ５０４に送信する。５１８で、ウェブブラウザ５０４は、受信されたウェブページコードに基づいて、ウェブページのコンテンツをユーザ５０２に提供する。５２０で、ウェブブラウザ５０４は、読み出し命令に基づいて、挙動収集命令を読み出すためにリクエストをウェブサーバ５０６に送信する。例えば、挙動収集命令は、ＪＳ収集命令であってもよい。ウェブブラウザ５０４は、ウェブページに組み込まれた「ポイント」で実行するとき、読み出し命令に従って、ウェブサーバ５０６からの挙動収集命令の読み出しをトリガし、読み出された挙動収集命令をウェブページコードに組み込む。
【００８２】
５２２で、ウェブサーバ５０６は、挙動収集命令を読み出すリクエストを受信した後、ＪＳ収集命令等の挙動収集命令のリアルタイム難読化演算を実行する。５２４で、ウェブサーバ５０６は、ＪＳ収集命令等の難読化された挙動収集命令をウェブブラウザ５０４に送信する。５２６で、ウェブブラウザ５０４は、解読されたＪＳ収集命令等の解読された挙動収集命令を取得するために、受信された難読化された挙動収集命令の解読化演算を実行し、ユーザ５０２がウェブページを訪問するとき、解読されたＪＳ収集命令等の解読された操作命令を訪問プロセスにロードする。
【００８３】
５２８で、ユーザがウェブページを訪問する。５３０で、ユーザがウェブページを訪問するとき、ウェブブラウザ５０４は、ロードされたＪＳ収集命令等のロードされた解読された挙動収集命令に基づいて、ウェブページ上でのユーザの操作挙動の情報を収集する。例えば、ウェブページ上でのユーザの操作挙動の情報は、マウス操作情報５３２、キーボード操作情報５３４、および操作フロー情報５３６を含んでもよいが、これらに限定されない。５３８で、ユーザから操作リクエストを受信した後、ウェブブラウザ５０４は、ユーザの操作挙動の収集された情報をウェブサーバ５０６に送信する。操作リクエストは、登録リクエスト、ログインリクエスト、および掲載リクエスト等の特定の指定操作リクエストであってもよい。
【００８４】
５４０で、ウェブサーバ５０６は、ユーザの操作挙動の収集された情報を受信する。５４２で、ウェブサーバ５０６は、機械挙動識別および分析モデルを使用することによって、ユーザの操作挙動の情報に関する分析を実行する。５４４で、ウェブサーバ５０６は、分析の結果に基づいて、機械挙動の加重値を決定する。ウェブサーバ５０６は、機械挙動の加重値に基づいて、ウェブページ上でのユーザの操作挙動が機械挙動か否かを決定する。機械挙動の加重値が規定の閾値以上である場合、ウェブページ上でのユーザの操作挙動は、機械挙動であると決定される。５４６で、ウェブページ上でのユーザの操作挙動が機械挙動であると決定される場合、ウェブサーバ５０６は、１つ以上の以降の操作を実行してもよい。例えば、ユーザからの操作リクエストは処理されない。ユーザのＩＰアドレスが悪意のあるユーザリストに追加される。将来、ウェブブラウザによって送信される訪問リクエストを受信した後、ウェブサーバ５０６は、最初に、訪問リクエストに含まれたＩＰアドレス情報が悪意のあるユーザリストの中にあるか否かを決定する。結果が肯定である場合、ユーザはウェブページを訪問することが禁じられる。
【００８５】
本開示の第１の例示的実施形態に従い機械挙動を決定するための例示的方法に対応して、本開示の第３の例示的実施形態は、例示的なウェブブラウザを提供する。図６は、ウェブブラウザの機能を実装するための例示的なシステム６００を示す。
【００８６】
一例において、システム６００は、１つ以上のプロセッサ６０２と、メモリ６０４とを含んでもよいが、これらに限定されない。メモリ６０４は、ＲＡＭ等の揮発性メモリおよび／または読み出し専用メモリ（ＲＯＭ）またはフラッシュＲＡＭ等の不揮発性メモリの形式におけるコンピュータ可読媒体を含んでもよい。
【００８７】
コンピュータ可読記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータ等の情報の記憶のために、任意の方法または技術において実装される、揮発性および不揮発性の、取り外し可能および取り外し不可能な媒体を含む。コンピュータ記憶媒体の例として、相変化メモリ（ＰＲＡＭ）、静的ランダムアクセスメモリ（ＳＲＡＭ）、動的ランダムアクセスメモリ（ＤＲＡＭ）、他の種類のランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、電気的消去可能プログラマブル読み出し専用メモリ（ＥＥＰＲＯＭ）、フラッシュメモリまたは他のメモリ技術、コンパクトディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）または他の光学式記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶デバイス、あるいはコンピューティングデバイスによってアクセスするために情報を記憶するために使用することが可能である任意の他の非伝送媒体が挙げられるが、これらに限定されない。本明細書に定義される場合、コンピュータ可読記憶媒体は、変調データ信号および搬送波等の一時的媒体を含まない。
【００８８】
メモリ６０４は、その中にプログラムユニットまたはモジュールと、プログラムデータとを記憶してもよい。一実施形態において、モジュールは、取得ユニット６０６と、伝送ユニット６０８と、受信ユニット６１０とを含んでもよい。
【００８９】
取得ユニット６０６は、ユーザがウェブページを訪問するとき、ウェブページ上でのユーザの操作挙動の情報を取得する。伝送ユニット６０８は、取得ユニット６０６によって取得された操作挙動の情報をウェブサーバに送信する。受信ユニット６１０は、ウェブページ上でのユーザの操作挙動が機械挙動であるかを決定するウェブサーバによって送信された決定の結果を受信する。ウェブサーバは、ウェブサーバによって受信される操作挙動の情報に基づいてウェブページ上での機械挙動の加重値を決定することによって、および機械挙動の加重値が規定の閾値以上であると決定することによって、決定を行う。
【００９０】
一例示的実施形態において、取得ユニット６０６は、取得サブユニットと、収集サブユニットとを含んでもよい。取得サブユニットは、ユーザがウェブページを訪問することをリクエストするとき、ウェブサーバから挙動収集命令を取得する。収集サブユニットは、ユーザがウェブページを訪問するとき、取得サブユニットによって取得された挙動収集命令に基づいて、ウェブページ上でのユーザの操作挙動の情報を収集する。
【００９１】
取得サブユニットの一例において、取得サブユニットは、第１の伝送モジュールと、第１の受信モジュールと、第１の表示モジュールと、第１の収集モジュールとを含んでもよい。第１の伝送モジュールは、ユーザがウェブページを訪問することをリクエストするとき、訪問リクエストをウェブサーバに送信する。訪問リクエストは、ウェブページのウェブアドレス情報を含む。第１の受信モジュールは、ウェブサーバによって送信されたウェブページコードを受信する。ウェブページコードは、挙動収集命令を含む。ウェブページコードは、ウェブページのウェブアドレス情報に基づいて、ウェブサーバによって検索され、検出される。第１の表示モジュールは、第１の受信モジュールによって受信されたウェブページコードに基づいて、ウェブページのコンテンツをユーザに提供する。第１の収集モジュールは、ウェブページコードの中に含まれた挙動収集命令に基づいて、ウェブページ上でのユーザの操作挙動の情報を収集する。
【００９２】
取得サブユニットの別の例において、取得サブユニットは、第２の伝送モジュールと、第２の受信モジュールと、第２の表示モジュールと、読み出しモジュールと、第３の受信モジュールと、第２の収集モジュールとを含んでもよい。第２の伝送モジュールは、ユーザがウェブページを訪問することをリクエストするとき、ウェブページのウェブアドレス情報を含む訪問リクエストをウェブサーバに送信する。第２の受信モジュールは、ウェブサーバによって送信されたウェブページコードを受信する。ウェブページコードは、挙動収集命令を読み出すための読み出し命令を含む。ウェブページコードは、ウェブアドレス情報に基づいて、ウェブサーバによって検索され、検出される。第２の表示モジュールは、第２の受信モジュールによって受信されたウェブページコードに基づいて、ウェブページのコンテンツをユーザに表示する。読み出しモジュールは、読み出し命令に基づいて、挙動収集命令を読み出すリクエストをウェブサーバに送信する。第３の受信モジュールは、ウェブサーバによって送信された挙動収集命令を受信する。第２の収集モジュールは、受信された挙動収集命令に基づいて、ウェブページ上でのユーザの操作挙動の情報を収集する。
【００９３】
第２の収集モジュールの一例において、第２の収集モジュールは、解読サブモジュールと収集サブモジュールとを含む。解読サブモジュールは、予め設定された解読アルゴリズムに基づいて、第３の受信モジュールによって受信された挙動収集命令の解読演算を実行する。収集サブモジュールは、解読サブモジュールによって取得された解読された挙動収集命令に基づいて、ウェブページ上でのユーザの操作挙動の情報を収集する。
【００９４】
一例において、１つ以上の解読アルゴリズムと多様な期間との間の対応関係が予め確立される。解読サブモジュールは、読み出し命令に対するリクエストが送信された期間に応じて、各期間と対応する解読アルゴリズムとの間の対応関係に基づいて、期間に対応する解読アルゴリズムを検索する。次いで、解読サブモジュールは、検出された解読アルゴリズムを使用することによって、挙動収集命令の解読演算を実行する。
【００９５】
取得ユニット６０６の別の例において、規定の時間ポイントに到達すると、取得ユニット６０６は、以前の規定の時間ポイントから現在の規定の時間ポイントまでの範囲の時間ポイント中、ウェブページ上でのユーザの操作挙動の全ての情報をウェブサーバに送信してもよい。
【００９６】
取得ユニット６０６の別の例において、取得ユニット６０６は、受信サブユニットと伝送サブユニットとを含んでもよい。受信サブユニットは、ユーザによって送信される指定された操作リクエストを受信する。伝送サブユニットは、受信サブユニットが指定された操作リクエストを受信した後、ウェブページ上でのユーザの操作挙動をウェブサーバに送信する。
【００９７】
本開示の第１の例示的実施形態に従い機械挙動を決定するための例示的方法に対応して、本開示の第４の例示的実施形態は、例示的なウェブサーバを提供する。図７は、例示的なウェブサーバ７００を示す。ウェブサーバ７００は、１つ以上のプロセッサ７０２と、メモリ７０４とを含んでもよいが、これらに限定されない。メモリ７０４は、ＲＡＭ等の揮発性メモリおよび／または読み取り専用メモリ（ＲＯＭ）またはフラッシュＲＡＭ等の不揮発性メモリの形式におけるコンピュータ可読媒体を含んでもよい。
【００９８】
メモリ７０４は、その中にプログラムユニットまたはモジュールと、プログラムデータとを記憶してもよい。一実施形態において、モジュールは、第１の受信ユニット７０６と、第１の決定ユニット７０８と、第１の評価ユニット７１０と、第２の決定ユニット７１２とを含んでもよい。
【００９９】
第１の受信ユニット７０６は、ウェブブラウザによって送信される、ウェブページ上でのユーザの操作挙動の情報を受信する。第１の決定ユニット７０８は、第１の受信ユニット７０６によって受信するユーザの操作挙動の情報に基づいて、ウェブページ上でのユーザの操作挙動の機械挙動の加重値を決定する。第１の評価ユニット７１０は、第１の決定ユニット７０８によって決定される機械挙動の加重値が規定の閾値未満であるかを評価する。第２の決定ユニット７１２は、第１の評価ユニット７１０の決定結果が否定である場合、ウェブページに対するユーザの操作挙動が機械挙動であると決定する。
【０１００】
別の実施形態において、モジュールは、第２の受信ユニットと、第１の検索ユニットと、第１の伝送ユニットとをさらに含んでもよい。第２の受信ユニットは、第１の受信ユニット７０６が、ウェブブラウザによって送信される、ウェブページ上でのユーザの操作挙動の情報を受信する前に、ウェブブラウザによって送信される訪問リクエストを受信する。訪問リクエストは、ウェブページのウェブアドレス情報を含む。第１の検索ユニットは、第２の受信ユニットによって受信される訪問リクエストの中のウェブアドレス情報に基づいて、ウェブページのウェブアドレス情報に対応するウェブページのウェブページコードを検索する。ウェブページコードは、挙動収集命令を含む。第１の伝送ユニットは、第１の検索ユニットによって検出されたウェブページコードをウェブブラウザに送信する。
【０１０１】
ウェブサーバの別の例示的な実施形態において、ウェブサーバの中のモジュールは、第３の受信ユニットと、第２の検索ユニットと、第２の伝送ユニットと、第４の受信ユニットと、第３の伝送ユニットとをさらに含んでもよい。
【０１０２】
第３の受信ユニットは、第１の受信ユニット７０６が、ウェブブラウザによって送信される、ウェブページ上でのユーザの操作挙動の情報を受信する前に、ウェブブラウザによって送信される訪問リクエストを受信する。訪問リクエストは、ウェブページのウェブアドレス情報を含む。第２の検索ユニットは、第２の受信ユニットによって受信される訪問リクエストの中のウェブアドレス情報に基づいて、ウェブページのウェブアドレス情報に対応するウェブページのウェブページコードを検索する。ウェブページコードは、挙動収集命令を含む。第２の伝送ユニットは、第１の検索ユニットによって検出されたウェブページコードをウェブブラウザに送信する。第４の受信ユニットは、挙動収集命令を読み出すための、ウェブブラウザによって送信された、リクエストを受信する。第３の送信ユニットは、第４の受信ユニットが挙動収集命令を読み出すためのリクエストを受信した後に、挙動収集命令をウェブブラウザに送信する。
【０１０３】
一例において、第３の伝送ユニットは、難読化サブユニットと、伝送サブユニットとを含んでもよい。難読化サブユニットは、予め規定された難読化アルゴリズムに基づいて、挙動収集命令において難読化演算を実行する。伝送サブユニットは、難読化サブユニットによって難読化された挙動収集命令をウェブブラウザに送信する。
【０１０４】
例えば、難読化サブユニットは、検索モジュールと、難読化モジュールとを含んでもよい。検索サブモジュールは、読み出し命令に対するリクエストが第４の受信ユニットによって受信される期間に応じて、各期間と対応する難読化アルゴリズムとの間の対応関係に基づいて、期間に対応する難読化アルゴリズムを検索する。難読化サブモジュールは、検出された難読化アルゴリズムを使用することによって、挙動収集命令の難読化演算を実行する。
【０１０５】
一例示的実施形態において、第１の受信ユニット７０６によって受信される操作挙動の情報は、マウス操作情報と、キーボード操作情報と、操作フロー情報とを含んでもよい。一例において、第１の決定ユニット７０８は、第１の決定サブユニットと、第２の決定サブユニットと、第３の決定サブユニットと、第４の決定サブユニットとを含んでもよい。第１の決定サブユニットは、第１の受信ユニット７０６によって受信される操作挙動の情報の中に含まれるマウス操作情報に基づいて、マウス機械挙動の加重値を決定する。第２の決定サブユニットは、第１の受信ユニット７０６によって受信される操作挙動の情報の中に含まれるキーボード操作情報に基づいて、キーボード機械挙動の加重値を決定する。第３の決定サブユニットは、第１の受信ユニット７０６によって受信される操作挙動の情報の中に含まれる操作フロー情報に基づいて、操作フロー機械挙動の加重値を決定する。第４の決定ユニットは、マウス機械挙動の加重値、キーボード機械挙動の加重値、および操作フロー機械挙動の加重値に基づいて、機械挙動の加重値を決定する。
【０１０６】
ウェブサーバの別の実施形態において、ウェブサーバの中のモジュールは、追加ユニットをさらに含んでもよい。追加ユニットは、第２の決定ユニット７１２が、ウェブページ上でのユーザの操作挙動が機械挙動であると決定した後、ユーザのユーザ識別情報を悪意のあるユーザリストに追加する。
【０１０７】
ウェブサーバの別の例示的実施形態において、ウェブサーバの中のモジュールは、第５の受信ユニットと、第２の評価ユニットと、第１の処理ユニットとをさらに含んでもよい。第５の受信ユニットは、ウェブブラウザによって送信される操作リクエストを受信する。操作リクエストはユーザ識別情報を含む。例えば、操作リクエストは、登録リクエスト、およびログインリクエスト等の特定の予め規定された操作リクエストであってもよい。別の例の場合、操作リクエストは、ウェブブラウザによって送信される、操作に対する任意のリクエストであってもよい。第２の評価ユニットは、第５の受信ユニットが操作リクエストを受信した後、受信された操作リクエストの中のユーザ識別情報が悪意のあるユーザリストの中に検出されるかを確認する。第１の処理ユニットは、第２の評価ユニットからの決定の結果が肯定である場合、ユーザの操作リクエストの処理を停止する。
【０１０８】
ウェブサーバの別の例示的実施形態において、ウェブサーバの中のモジュールは、第６の受信ユニットと、第３の評価ユニットと、第２の処理ユニットとをさらに含んでもよい。第６の受信ユニットは、ユーザがウェブページを訪問することをリクエストするとき、ウェブブラウザによって送信される訪問リクエストを受信する。訪問リクエストは、ユーザ識別情報を含む。第３の評価ユニットは、第６の受信ユニットが訪問リクエストを受信した後、訪問リクエストの中のユーザ識別情報が悪意のあるユーザリストの中に検出されるかを確認する。第２の処理ユニットは、ユーザがウェブページを訪問することを禁じる。
【０１０９】
上記の例示的な実施形態から、当業者は、開示される方法およびシステムが、ソフトウェアおよび汎用ハードウェアプラットフォームを使用して実装されてもよいことを明確に理解することができる。この理解に基づいて、本開示の技術スキーム、または既存の技術に寄与する部分は、ＲＯＭ／ＲＡＭ、ハードドライブ、および光ディスク等のコンピュータ記憶媒体の中に記憶されるソフトウェア製品の形式で実装されてもよい。ソフトウェアは、コンピューティングデバイス（例えば、パーソナルコンピュータ、サーバ、またはネットワークに接続されたデバイス）が本開示の例示的実施形態に記載される方法を実行するコンピュータ実行可能命令を含む。
【０１１０】
多様な例示的実施形態は、本開示において漸進的に記載する。例示的実施形態の同一または類似部分は相互に参照することができる。各例示的実施形態は、ほかの例示的実施形態とは異なる焦点を有する。特に、例示的なデバイスの実施形態は、例示的方法とのその基本的対応のために、比較的簡単な様式に記載した。その詳細は、例示的方法の関連部分を参照することによって見出すことができる。上記の例示的デバイスの説明は、例示的目的のみを意味する。その中で個別の構成要素として記載されるユニットまたはモジュールは、物理的に分離していても、または分離していなくてもよい。実施形態において記載するモジュールまたはユニットは、１つのモジュールに統合されても、または複数のサブモジュールにさらに分けられてもよい。一実施形態において記載する１つ以上のモジュールまたはユニットは、別の実施形態に統合されてもよい。ユニットまたはモジュールの観点で例示した構成要素は、物理的ユニットであっても、なくてもよく、例えば、１つの場所に位置してもよく、または複数のネットワークユニットの間に分散されてもよい。実際の必要性に依存して、例示的実施形態の目標は、モジュールの一部または全てを選択することによって達成されてもよい。当業者は、一切の革新的努力なく、開示されるシステムを理解かつ実装することができる。
【０１１１】
本開示は、本開示の方法、装置（システム）、およびコンピュータソフトウェア製品の流れ図および略図を参照して記載する。コンピュータ実行可能命令が、各流れ図および／または図面の略図、あるいはこれらの組み合わせを実装することができることが理解され得る。このようなコンピュータ実行可能命令は、流れ図の図面の１つ以上のフロープロセスおよび／または略図面の１つ以上の略図によって指定される機能を実現するために、コンピュータまたは他のプログラム可能なデータ処理デバイスによって実行される命令を使用することができる機械を実装するように、汎用コンピュータ、専用コンピュータ、埋め込みデバイス、または任意の他のプログラム可能なデータ処理デバイスに組み込むことができる。
【０１１２】
そのようなコンピュータ実行可能命令はまた、コンピュータまたはプログラム可能データ処理デバイスが、そのようなコンピュータの操作によって機能を実現するために複数の操作ステップを実行することができるように、コンピュータまたは任意の他のプログラム可能データ処理デバイスにロードされてもよい。このように、コンピュータまたは任意の他のプログラム可能データ処理デバイスで実行されるコンピュータ実行可能命令は、流れ図の図面の１つ以上のフロープロセスおよび／または略図面の１つ以上の略図によって指定される機能を実装する。
【０１１３】
本開示は、プログラムモジュール等、コンピュータによって実行されるコンピュータ実行可能命令の一般的状況において記載されてもよい。一般的に、プログラムモジュールは、具体的なタスクを実行するため、または具体的な抽象データ型を実装するための、ルーチン、プログラム、オブジェクト、モジュール、データ構造、コンピュータ実行可能命令等を含む。開示される方法およびデバイスはまた、分散コンピューティング環境に実装されてもよい。分散コンピューティング環境において、タスクは、通信ネットワークを通じて接続されるリモートの処理デバイスによって実行される。分散コンピューティング環境において、プログラムモジュールは、ローカルおよび／またはリモートコンピュータのコンピュータ記憶媒体（記憶デバイスを含む）に位置されてもよい。
【０１１４】
開示される方法およびシステムは、ソフトウェアを含む汎用コンピュータシステムまたは特殊なコンピュータシステムの環境または構成において使用されてもよい。例として、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドデバイスまたは携帯デバイス、タブレットデバイス、マルチプロセッサシステム、マイクロプロセッサシステム、セットアップボックス、プログラマブルカスタマ電子デバイス、ネットワークＰＣ、小型コンピュータ、大型コンピュータ、および上記の任意のシステムまたはデバイスを含む分散コンピューティング環境が挙げられる。
【０１１５】
上記は、本開示の例示的な実施形態である。しかしながら、本開示はこれらに限定されない。本明細書において使用される用語は、例示目的であって、本開示を限定するためのものではない。本開示は、本発明の精神または要旨から逸脱することなく、多数の形式を使用して、具体的に実装することができるので、上記の例の実施形態は、上記に記載の詳細に限定されず、請求項に定義される要旨および範囲の下で広義に解釈されるべきである。当業者は、本開示の精神および範囲から逸脱することなく、多数の異なる方式で本開示を変更または変形してもよいことを理解されたい。これらの変更および変形は、従って、本開示の請求項およびそれらの同等物の範囲内に含まれると見なされるべきである。
【図１】
2014510979.tif 000003
【図２】
2014510979.tif 000004
【図３】
2014510979.tif 000005
【図４】
2014510979.tif 000006
【図５】
2014510979.tif 000007
【図６】
2014510979.tif 000008
【図７】
2014510979.tif 000009
【国際調査報告】
2014510979.tif 000010