(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6347487
(24)【登録日】2018年6月8日
(45)【発行日】2018年6月27日
(54)【発明の名称】機械挙動の決定
(51)【国際特許分類】
G06F 21/14 20130101AFI20180618BHJP
G06F 13/00 20060101ALI20180618BHJP
G06F 21/30 20130101ALI20180618BHJP
【FI】
G06F21/14
G06F13/00 540R
G06F21/30
【請求項の数】20
【全頁数】24
(21)【出願番号】特願2014-502804(P2014-502804)
(86)(22)【出願日】2012年3月29日
(65)【公表番号】特表2014-510979(P2014-510979A)
(43)【公表日】2014年5月1日
(86)【国際出願番号】US2012031248
(87)【国際公開番号】WO2012135519
(87)【国際公開日】20121004
【審査請求日】2015年3月6日
【審判番号】不服2016-15690(P2016-15690/J1)
【審判請求日】2016年10月20日
(31)【優先権主張番号】201110081101.2
(32)【優先日】2011年3月31日
(33)【優先権主張国】CN
(73)【特許権者】
【識別番号】510330264
【氏名又は名称】アリババ・グループ・ホールディング・リミテッド
【氏名又は名称原語表記】ALIBABA GROUP HOLDING LIMITED
(74)【代理人】
【識別番号】110001243
【氏名又は名称】特許業務法人 谷・阿部特許事務所
(72)【発明者】
【氏名】ホウ シンジエ
(72)【発明者】
【氏名】イエ ミン
(72)【発明者】
【氏名】シアン タオ
【合議体】
【審判長】
辻本 泰隆
【審判官】
仲間 晃
【審判官】
山崎 慎一
(56)【参考文献】
【文献】
米国特許出願公開第2010/0070620(US,A1)
【文献】
米国特許出願公開第2005/0278253(US,A1)
【文献】
米国特許出願公開第2007/0073579(US,A1)
【文献】
米国特許出願公開第2010/0281539(US,A1)
【文献】
特開平11−353172(JP,A)
【文献】
特開平1−212041(JP,A)
【文献】
国際公開第2010/105249号(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/56
G06F 13/00
(57)【特許請求の範囲】
【請求項1】
コンピュータ実行可能命令を用いて1つ以上のプロセッサによって実行される方法であって、
ユーザがウェブブラウザを介してウェブページを訪問することをリクエストするとき、前記ウェブページのウェブアドレス情報を含む、前記ウェブページを訪問するリクエストを前記ウェブブラウザから受信することと、
前記ウェブページ上でのユーザの操作挙動の情報を受信することであって、前記ユーザの操作挙動の情報は、機械挙動識別および分析モデルの確立のために学習され、かつ訓練される、ことと、
前記確立された機械挙動識別および分析モデルを使用することによって後続のユーザの操作挙動の情報を分析することと、
前記後続のユーザの操作挙動の前記情報の分析結果に基づいて、前記後続のユーザの操作挙動に対する加重値を計算することと、
計算された前記加重値が規定の閾値以上である場合、前記後続のユーザの操作挙動が機械挙動であると決定することと、
を含む、方法。
【請求項2】
前記ウェブページ上での前記ユーザの操作挙動の情報を前記受信することは、
前記ウェブアドレス情報に基づいて、前記ウェブページに対応するウェブページコードを検索することと、
挙動収集命令を前記ウェブページコードに挿入することと、
前記挙動収集命令を含む前記ウェブページコードを前記ウェブブラウザに送信することと、
前記挙動収集命令に基づいて、前記ウェブブラウザによって収集される前記ウェブページ上での前記ユーザの操作挙動の前記情報を受信することと、
を含む、請求項1に記載の方法。
【請求項3】
前記ウェブページ上での前記ユーザの操作挙動の情報を前記受信することは、
前記ウェブアドレス情報に基づいて、前記ウェブページに対応するウェブページコードを検索することと、
挙動収集命令をウェブサーバから読み出すために、読み出し命令を前記ウェブページコードに挿入することと、
前記読み出し命令を含む前記ウェブページコードを前記ウェブブラウザに送信することと、
前記読み出し命令に基づいて、前記挙動収集命令を読み出すために、読み出しリクエストを前記ウェブブラウザから受信した後に、前記挙動収集命令を前記ウェブブラウザに送信することと、
前記挙動収集命令に基づいて、前記ウェブブラウザによって収集される前記ウェブページ上での前記ユーザの操作挙動の前記情報を受信することと、
を含む、請求項1に記載の方法。
【請求項4】
前記挙動収集命令を前記ウェブブラウザに前記送信することは、
予め設定された難読化アルゴリズムに基づいて、前記挙動収集命令の難読化演算を実行することと、
前記難読化された挙動収集命令を前記ウェブブラウザに送信することと、
を含む、請求項3に記載の方法。
【請求項5】
前記予め設定された難読化アルゴリズムに基づいて、前記挙動収集命令の前記難読化演算を前記実行することは、
前記ウェブサーバが、異なる期間と1つ以上の難読化アルゴリズムとの間の対応関係に基づいて前記読み出しリクエストを前記ウェブブラウザから受信する期間に対応する前記1つ以上の難読化アルゴリズムから、前記予め設定された難読化アルゴリズムを検索することと、
前記予め設定された難読化アルゴリズムに基づいて、前記挙動収集命令の難読化演算を実行することと、
を含む、請求項4に記載の方法。
【請求項6】
前記操作挙動は、マウス操作情報と、キーボード操作情報と、操作フロー情報と、を含む、請求項1に記載の方法。
【請求項7】
前記後続のユーザの操作挙動に対する前記加重値を前記計算することは、
前記マウス操作情報に基づいて、マウス操作に対する加重値を決定することと、
前記キーボード操作情報に基づいて、キーボード操作に対する加重値を決定することと、
前記操作フロー情報に基づいて、操作フローに対する加重値を決定することと、
前記マウス操作に対する前記加重値、前記キーボード操作に対する前記加重値、および前記操作フローに対する前記加重値に基づいて、前記後続のユーザの操作挙動に対する前記加重値を決定することと、
を含む、請求項6に記載の方法。
【請求項8】
前記後続のユーザの操作挙動に対する前記加重値を前記決定することは、以下の式を用いて前記後続のユーザの操作挙動に対する前記加重値を計算することを含み、
W=W1×Q1+W2×Q2+W3×Q3,
式中、
W1は、マウス操作に対する前記加重値を表し、
Q1は、マウス操作に対する加重係数を表し、
W2は、キーボード操作に対する前記加重値を表し、
Q2は、キーボード操作に対する加重係数を表し、
W3は、操作フローに対する前記加重値を表し、
Q3は、操作フローに対する加重係数を表す、
請求項7に記載の方法。
【請求項9】
前記後続のユーザの操作挙動が機械挙動であると決定される場合、前記ユーザのユーザ識別情報を悪意のあるユーザリストに追加することをさらに含む、請求項1に記載の方法。
【請求項10】
前記リクエストは、前記ユーザのユーザ識別情報をさらに含み、前記方法が、
前記ユーザ識別情報が悪意のあるユーザリストに含まれているかを決定することと、
前記ユーザ識別情報が前記悪意のあるユーザリストに含まれている場合、前記リクエストを処理することを拒否することと、
をさらに含む、請求項1に記載の方法。
【請求項11】
前記リクエストは、前記ユーザのユーザ識別情報をさらに含み、前記方法は、
前記ユーザ識別情報が悪意のあるユーザリストに含まれているかを決定することと、
前記ユーザ識別情報が前記悪意のあるユーザリストに含まれていると決定することに応答して、前記ユーザが前記ウェブページを訪問することを禁止することと、
をさらに含む、請求項1に記載の方法。
【請求項12】
コンピュータ実行可能命令を用いて1つ以上のプロセッサによって実行される方法であって、
ウェブページ上でのユーザの操作挙動の情報を取得することと、
前記ユーザの操作挙動の前記取得された情報をウェブサーバに送信することであって、前記ユーザの操作挙動の情報は、前記ウェブサーバによって機械挙動識別および分析モデルの確立のために学習され、かつ訓練され、後続のユーザの操作挙動の情報は、前記ウェブサーバによって前記確立された機械挙動識別および分析モデルを使用して分析され、前記後続のユーザの操作挙動の情報の分析結果に基づいて、ウェブページ上での前記後続のユーザの操作挙動に対する加重値が前記ウェブサーバによって決定され、決定された加重値が規定の閾値以上である場合、前記後続のユーザの操作挙動が機械挙動であると前記ウェブサーバによって決定される、ことと、
前記後続のユーザの操作挙動が機械挙動であると決定した結果を前記ウェブサーバから受信することと、
を含む、方法。
【請求項13】
前記ウェブページ上での前記ユーザの操作挙動の情報を前記取得することは、
前記ユーザが前記ウェブページを訪問することをリクエストするとき、前記ウェブサーバから挙動収集命令を取得することと、
前記挙動収集命令に基づいて、前記ユーザが前記ウェブページを訪問するとき、前記ウェブページ上での前記ユーザの操作挙動を収集することと、
を含む、請求項12に記載の方法。
【請求項14】
前記ユーザが前記ウェブページを訪問することをリクエストするとき、前記ウェブサーバから前記挙動収集命令を取得することは、
前記ユーザが前記ウェブページを訪問することをリクエストするとき、前記ウェブページのウェブアドレス情報を含む、訪問リクエストを前記ウェブサーバに送信することと、
前記ウェブアドレス情報に基づいて、前記ウェブサーバから取得された前記挙動収集命令を含む、前記ウェブサーバによって検出されたウェブページコードを受信することと、
を含む、請求項13に記載の方法。
【請求項15】
前記ユーザが前記ウェブページを訪問することをリクエストするとき、前記ウェブサーバから前記挙動収集命令を取得することは、
前記ユーザが前記ウェブページを訪問することをリクエストするとき、前記ウェブページのウェブアドレス情報を含む、訪問リクエストを前記ウェブサーバに送信することと、
前記ウェブアドレス情報に基づいて、前記ウェブサーバから挙動収集命令を読み出すために、前記ウェブサーバによって挿入される読み出し命令を含む、前記ウェブサーバによって検出されるウェブページコードを受信することと、
前記ユーザが前記ウェブページを訪問するとき、前記読み出し命令に基づいて前記挙動収集命令を読み出すリクエストを送信することと、
前記ウェブサーバによって送信された前記挙動収集命令を受信することと、
を含む、請求項13に記載の方法。
【請求項16】
前記ユーザが前記ウェブページを訪問することをリクエストするとき、前記ウェブサーバから挙動収集命令を前記取得することは、
前記ウェブサーバから難読化された挙動収集命令を受信することと、
予め設定された解読化アルゴリズムに基づいて、前記難読化された挙動収集命令の解読化演算を実行することと、
前記挙動収集命令を取得することと、
を含む、請求項13に記載の方法。
【請求項17】
予め設定された解読化アルゴリズムに基づいて、前記難読化された挙動収集命令の解読化演算を前記実行することは、
ウェブブラウザが、異なる期間と1つ以上の解読化アルゴリズムとの間の対応関係に基づいて、読み出しリクエストを前記ウェブサーバに送信する期間に対応する前記1つ以上の解読化アルゴリズムから、前記予め設定された解読化アルゴリズムを検索することと、
前記予め設定された解読化アルゴリズムに基づいて、前記難読化された挙動収集命令の解読化演算を実行することと、
を含む、請求項16に記載の方法。
【請求項18】
前記ユーザの操作挙動の前記取得された情報を前記ウェブサーバに前記送信することは、予め設定された時点に到達すると、その前の規定の時点から前記予め設定された時点までの範囲の期間中の前記ウェブページ上での操作挙動の前記取得された情報を送信することを含む、請求項12に記載の方法。
【請求項19】
前記ウェブページ上での前記ユーザの操作挙動の情報を取得する前に、前記ユーザからの前記ウェブページを訪問するリクエストは、指定操作リクエストであると決定することをさらに含む、請求項12に記載の方法。
【請求項20】
1つ以上のプロセッサと、
前記1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに、
ユーザがウェブブラウザを介してウェブページを訪問することをリクエストするとき、前記ウェブページのウェブアドレス情報を含む、前記ウェブページにアクセスするリクエストを前記ウェブブラウザから受信することと、
前記ウェブアドレス情報に基づいて、前記ウェブページに対応するウェブページコードを検索することと、
挙動収集命令を読み出すための読み出し命令を前記ウェブページコードに挿入することと、
前記読み出し命令を含む前記ウェブページコードを前記ウェブブラウザに送信することと、
前記読み出し命令に基づいて、前記挙動収集命令を読み出すために、前記ウェブブラウザから読み出しリクエストを受信した後に、前記挙動収集命令を前記ウェブブラウザに送信することであって、
予め設定された難読化アルゴリズムに基づいて、前記挙動収集命令の難読化演算を実行することと、
前記難読化された挙動収集命令をウェブブラウザに送信することと、を含む、送信することと、
前記挙動収集命令に基づいて、前記ウェブブラウザによって収集される前記ウェブページ上でのユーザの操作挙動の情報を受信することであって、前記ユーザの操作挙動の情報は、機械挙動識別および分析モデルの確立のために学習され、かつ訓練され、後続のユーザの操作挙動の情報は、確立された機械挙動識別および分析モデルを使用して分析される、ことと、
前記後続のユーザの操作挙動の前記情報の分析結果に基づいて、前記後続のユーザの操作挙動に対する加重値を計算することと、
計算された前記加重値が規定の閾値以上である場合、前記後続のユーザの操作挙動が機械挙動であると決定することと、
を含むアクションを実行させる複数のコンピュータ実行可能命令が記憶された1つ以上のコンピュータ記憶媒体と、
を備える、システム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2011年3月31日提出の中国特許出願第201110081101.2号、名称「Method,Web Brower,and Web server for Determining Machine Behavior」の外国優先権を主張し、その全体を参照により本明細書に組み入れる。
【0002】
本開示は、インターネットの情報技術分野に関し、より具体的には、機械挙動を決定するための方法、ウェブブラウザ、およびウェブサーバに関する。
【背景技術】
【0003】
インターネット技術の発展に伴い、ますます多くの情報源が、伝送媒体としてインターネットを選択している。ユーザは、多様なウェブページの情報にアクセスするためにウェブブラウザを使用する場合がある。
図1は、既存の技術の下でウェブページを訪問するために、ウェブブラウザを使用するユーザを例示する例示的な流れ図を示す。
【0004】
102で、ユーザは、ウェブページに対応するウェブアドレス情報をウェブブラウザに入力し、訪問を確定する。すなわち、訪問リクエストがウェブブラウザに送信される。訪問リクエストは、ウェブアドレス情報を含む。
【0005】
104で、ウェブブラウザは、受信した訪問リクエストにユーザのインターネットプロトコル(IP)アドレス情報を追加し、それを対応するウェブサーバに送信する。
【0006】
106で、ウェブサーバは、訪問リクエストの中に含まれるウェブアドレス情報に応じて、ウェブページのウェブページコードを検索する。
【0007】
108で、ウェブサーバは、ユーザのIPアドレスに応じて、ウェブページコードをウェブブラウザに送信する。
【0008】
110で、ウェブブラウザは、受信したウェブページコードに基づいて、ウェブページのコンテンツをユーザに提供する。
【0009】
ユーザがウェブページを訪問するとき、ユーザは、ウェブページ内の情報を表示するためにウェブブラウザを使用してもよく、登録、ログイン、掲載、および返信等の他の操作を実行してもよい。ウェブページがユーザ登録のためである場合、
図2は、登録を実行するためにウェブブラウザを使用するユーザを例示する例示的な流れ図を示す。
【0010】
202で、ユーザは、ユーザ名およびパスワード等の登録情報を登録のためのウェブページに入力する。ユーザ名入力欄が、ユーザ名を入力するために使用され、パスワード入力欄が、パスワードを入力するために使用される。
【0011】
204で、ユーザは、ユーザ名およびパスワード等の登録情報を入力した後に、登録を確定する。すなわち、登録リクエストがウェブブラウザに送信される。登録リクエストは、ユーザによって入力された登録情報、およびウェブページに対応するウェブアドレス情報を含む。
【0012】
206で、ウェブブラウザは、登録リクエストの中のウェブアドレス情報に応じて、対応するウェブサーバに登録リクエストを送信する。
【0013】
208で、ウェブサーバは、登録リクエストの中の登録情報を検証する。検証プロセスに合格すると、操作210が実行され、そうでなければ、操作214が実行される。
【0014】
210で、ウェブサーバは、登録が成功したことを示すウェブページのウェブページコードをウェブブラウザに送信する。
【0015】
212で、ウェブブラウザは、受信したウェブページコードに応じて、登録が成功したことを示すウェブページのウェブページコンテンツをユーザに提供する。ウェブページコンテンツは、登録が成功したことを示す情報を含む。
【0016】
214で、ウェブサーバは、登録が成功しなかったことを示すウェブページのウェブページコードをウェブブラウザに送信する。
【0017】
216で、ウェブブラウザは、受信したウェブページコードに応じて、登録が成功しなかったことを示すウェブページのウェブページコンテンツをユーザに提供する。ウェブページコンテンツは、登録が成功しなかったことを示す情報、および登録が成功しなかった理由を含む。
【0018】
既存の技術の下では、ユーザの中には、ウェブサイト信任を取得するため、あるいはウェブサイト上に広告または悪意のある情報を発行するために、悪意のある登録、ログイン、掲載、返信を実行する人間の操作を模倣するソフトウェアプログラムを使用する場合がある。例えば、ユーザが悪意のある登録ソフトウェアを実行した後、ソフトウェアプログラムは、人間の操作を模倣し、ユーザ登録ウェブページ上で無作為に生成された登録情報を入力し、次いで、クリックして登録を完了する。人間の操作を模倣するソフトウェアプログラムから生じる操作挙動は、機械挙動と呼ぶことができる。
【0019】
ウェブサーバが、ユーザのウェブページに対するアクションが機械挙動であるかを決定できない場合、ウェブサーバは、機械挙動から生じる様々な操作リクエスト(登録リクエスト、ログインリクエスト、掲載リクエスト、返信リクエスト等)を処理する。これは、ウェブサーバの多量の処理リソースを消費し、ウェブサーバの処理効率を低下させる。加えて、ウェブサーバは、悪意のある挙動から生じる大量のデータを蓄積しなければならず、ウェブサーバの多量の記憶リソースを消費する。
【0020】
上記の問題に対応するため、既存の技法は、操作リクエスト(登録リクエスト、ログインリクエスト、掲載リクエスト、返信リクエスト等)を受信した後に、操作挙動が機械挙動であるかを決定することができる。操作リクエストが機械挙動であると決定された場合、そのようなリクエストは処理されない。既存の技法は、概して、機械挙動を決定するために、以下に記載する2つの方法を使用する。
【0021】
第1の方法は、IPアドレス分析方法である。同じIPアドレスが非常に短時間に特定の操作リクエスト(例えば、登録リクエスト)を連続して送信する場合、ウェブページ上での操作挙動はおそらく機械挙動である。
【0022】
第1の方法は主に、機械挙動を決定するための基盤として、ユーザに関連するIPアドレスを使用する。IPアドレスは素早く変更することができるので、機械挙動は、頻繁に変更されるIPアドレスに関して、正確に決定することができない。このため、機械挙動を決定する精度は低い。
【0023】
第2の方法は、操作情報分析方法である。この方法は、ユーザからの特定の操作リクエストの中に含まれる操作情報を分析する。例えば、特定の操作リクエストが登録リクエストである場合、登録リクエストの中の登録情報は操作情報である。分析の結果が、ユーザからのいくつかの特定の操作リクエストの中の操作情報の間にあるパターンが存在することを示す場合、ウェブページ上での操作挙動はおそらく機械挙動である。例えば、ユーザAは、ウェブブラウザを使用することによって、4つの登録リクエストをウェブサーバに送信する。第1の登録リクエスト内のユーザ名(登録情報)が「ABCDE」であり、第2の登録リクエスト内のユーザ名が「ABCDF」であり、第3の登録リクエスト内のユーザ名が「ABCDG」であり、送信された第4の登録リクエスト内のユーザ名が「ABCDH」である。4つのユーザ名を分析することによって、ウェブサーバは、4つのユーザ名の最初の4つの文字が「ABCD」であり、唯一の違いは最後の文字であることを検出する。ウェブサーバは、これらのユーザ名の間に明らかなパターンが存在すると決定し、したがって、ユーザAのウェブページ上での登録挙動は、機械挙動であると決定することができる。
【0024】
しかしながら、多数の悪意のある種類のソフトウェアプログラムは、操作情報を無作為に生成することが可能である。例えば、そのユーザは、ウェブページでの各登録に対してユーザ名を無作為に生成するソフトウェアプログラムを使用する場合がある。このため、ユーザ名の間には明らかなパターンが存在せず、ウェブサーバは、ユーザの登録挙動が機械挙動であるか否かを決定することができない。したがって、第2の方法に基づいて機械挙動を決定する精度も低い。
【0025】
このように、機械挙動を決定するための既存の技法は、低い精度を有する。
【発明の概要】
【0026】
本概要は、発明を実施するための形態で以下に詳細に記載する概念の選択を簡略化した形式で導入するために提供する。本概要は、本発明の主要な特徴または重要な特徴を特定することを目的とするものでも、本発明の範囲を決定する際の支援として使用されることを目的とするものでもない。例えば、「技法」という用語は、上記の文脈および本開示全体で許可されるようなデバイス、システム、方法、および/またはコンピュータ可読命令を指す場合がある。
【0027】
本開示は、機械挙動を決定するための方法を開示する。ユーザがウェブページを訪問するとき、ウェブブラウザは、ウェブページ上でのユーザの操作挙動の情報を取得し、取得された操作挙動の情報をウェブサーバに送信する。ウェブサーバは、ウェブページ上でのユーザの操作挙動の取得された情報に基づいて、機械挙動の加重値を決定する。ウェブサーバは、機械挙動の加重値が規定の閾値以上であると決定するとき、ウェブページ上でのユーザの操作挙動が機械挙動であると決定する。
【0028】
本開示はまた、機械挙動を決定するためのウェブブラウザも開示する。ウェブブラウザは、取得ユニットと伝送ユニットとを含む。取得ユニットは、ユーザがウェブページを訪問するとき、ウェブページ上でのユーザの操作挙動の情報を取得する。伝送ユニットは、操作挙動の取得された情報をウェブサーバに送信する。
【0029】
本開示はまた、機械挙動を決定するためのウェブサーバも開示する。ウェブサーバは、第1の受信ユニットと、第1の決定ユニットと、第1の評価ユニットと、第2の決定ユニットとを含む。第1の受信ユニットは、ウェブブラウザによって送信される、ウェブページ上でのユーザの操作挙動の情報を受信する。第1の決定ユニットは、第1の受信ユニットから受信されたユーザの操作挙動の情報に基づいて、機械挙動の加重値を決定する。第1の評価ユニットは、機械挙動の加重値が規定の閾値未満であるかを決定する。第2の決定ユニットは、第1の評価ユニットからの結果が否定であるとき、ウェブページ上でのユーザの操作挙動が機械挙動であると決定する。
【0030】
本開示の技法の下では、ユーザがウェブページを訪問するとき、ウェブブラウザは、ウェブページ上でのユーザの操作挙動の情報を取得し、取得された操作挙動の情報をウェブサーバに送信する。ウェブサーバは、ウェブページ上でのユーザの操作挙動の取得された情報に基づいて、機械挙動の加重値を決定する。ウェブサーバが、機械挙動の加重値が規定の閾値以上であると決定するとき、ウェブページ上でのユーザの操作挙動は、機械挙動であると決定される。
【0031】
このように、本技法は、機械挙動を決定するためにIPアドレス分析方法、または操作情報分析方法に依存しない。むしろ、本技法は、操作挙動が機械挙動であるかどうかを評価するために、ウェブページ上でのユーザの操作挙動を使用する。これによって、機械挙動を決定する精度が効果的に増加するので、ウェブサーバは、機械挙動を正確に区別することができ、機械挙動から生じる操作リクエストを処理する必要がない。本技法は、ウェブサーバの処理リソースを節約し、ウェブサーバの処理効率を増加させ、ウェブサーバの記憶リソースを節約する。
【図面の簡単な説明】
【0032】
本開示の実施形態をわかりやすく例示するため、以下に実施形態の説明において使用される図面を簡単に示す。以下の図面は、本開示のいくつかの実施形態にのみ関係することは明らかである。当業者は、努力を要さず、本開示の図面に従って他の図面を取得することができる。
【0033】
【
図1】既存の技法に従い、ユーザがウェブページを訪問するためにウェブブラウザを使用する方法の流れ図を示す。
【
図2】既存の技法に従い、ユーザが登録操作を実行するためにウェブブラウザを使用する方法の流れ図を示す。
【
図3】本開示の例示的実施形態に従い、機械挙動を決定するための例示的方法の流れ図を示す。
【
図4】例示的な機械挙動識別および分析モデルを示す。
【
図5】本開示の例示的実施形態に従い、ユーザ、ウェブブラウザ、およびウェブサーバの間の相互作用に基づいて、機械挙動を決定するための例示的方法の流れ図を示す。
【
図6】本開示の例示的実施形態に従い、ウェブブラウザの機能を実装するための例示的システムを示す図である。
【
図7】本開示の例示的実施形態に従い、例示的なウェブサーバを示す図である。
【発明を実施するための形態】
【0034】
以下に図面を参照して、本開示に従う例示的な実施形態の詳細説明を提供する。本明細書に記載される例示的実施形態は、検討のための例としてのみ使用され、本開示を限定するために使用されない。
【0035】
図3は、第1の例示的実施形態に従い、機械挙動を決定するための例示的な方法の流れ図を示す。
【0036】
302で、ウェブブラウザは、ユーザがウェブページを訪問するとき、ウェブページ上でのユーザの操作挙動の情報を取得する。
【0037】
ウェブページ上でのユーザの操作挙動とは、マウスを滑動させる、データ入力のためにキーボードを使用する等、ウェブページ上でのユーザの異なる操作挙動に関する操作情報を言う。例えば、操作情報は、マウス操作情報、キーボード操作情報、操作フロー情報等を含んでもよい。
【0038】
例えば、マウス操作情報は、1つ以上のマウスボタンの連携情報、マウスボタンのクリック時間情報、およびクリックの回数を含む。キーボード操作情報は、キーボードの1つ以上のキーの値、キーのクリック時間情報、およびクリックの回数を含む。操作プロセス情報は、マウス操作およびキーボード操作の操作シーケンス情報、ならびにウェブページ上での要素の操作シーケンス情報を含む。マウスおよびキーボードの操作シーケンス情報とは、マウスおよびキーボードを使用する操作挙動の各々のシーケンスを言う。ウェブページ上での要素とは、ボタン、ピクチャ、リンク等のウェブページ上でのそれぞれの機能性を表現する要素を言う。各ウェブページは、複数の要素を含んでもよい。ウェブページ上での要素の操作シーケンス情報とは、ウェブページの異なる要素上のユーザの操作シーケンスを言う。
【0039】
本技法は、ウェブページ上でのユーザの操作挙動を収集するために、コンピュータ記憶媒体上に具現化される挙動収集命令を使用してもよいが、これに限定されない。命令は、コンピュータ実行可能命令であってもよい。
【0040】
例えば、ユーザがウェブページを訪問するリクエストをするとき、ウェブブラウザは、ウェブサーバから挙動収集命令を読み出し、読み出された挙動収集命令に基づいて、ウェブページ上でのユーザの操作挙動の情報を収集する。
【0041】
ウェブブラウザは、ウェブサーバから挙動収集命令を読み出すために、以下に記載する次の2つの例示的方法を含むが、これらに限定されない方法を使用してもよい。
【0042】
第1の例示的読み出し方法において、挙動収集命令は、ウェブページのウェブページコードに挿入される。ユーザがその後ウェブページを訪問するとき、ウェブブラウザは、ウェブページ上でのユーザの操作挙動の情報を収集するために、ウェブページのウェブページコードに組み込まれた挙動収集命令を使用する。
【0043】
例えば、ユーザは、ユーザがウェブブラウザで訪問しようとするウェブページのウェブアドレス情報を入力し、訪問を確定する。すなわち、ユーザは、訪問リクエストをウェブブラウザに送信する。訪問リクエストは、ユーザによって入力されたウェブページのウェブアドレス情報を含む。ウェブブラウザは、ウェブページのウェブアドレス情報に基づいて、訪問リクエストをウェブサーバに送信する。ウェブサーバは、訪問リクエストの中に含まれるウェブページのウェブアドレス情報に基づいて、ウェブアドレス情報に対応するウェブページのウェブページコードを検索する。検出されたウェブページコードは、挙動収集命令を含む。ウェブサーバは、検出されたウェブページコードをウェブブラウザに送信する。ウェブブラウザは、受信されたウェブページコードに基づいて、ユーザがウェブページを訪問するとき、ウェブページのコンテンツをユーザに表示し、挙動収集命令および受信されたウェブページを訪問プロセスにロードする。ユーザがウェブページを訪問するとき、ウェブブラウザは、ロードされた挙動収集命令に従って、ウェブページ上でのユーザの操作挙動の情報を収集する。
【0044】
第2の例示的な読み出し方法において、ウェブサーバから挙動収集命令を読み出すための読み出し命令は、ウェブページのウェブページコードに挿入される。ユーザがその後ウェブページを訪問するとき、ウェブブラウザは、読み出し命令を使用してウェブサーバから挙動収集命令を読み出し、読み出された挙動収集命令を使用して、ユーザがウェブページを訪問するときのウェブページ上でのユーザの操作挙動の情報を収集する。
【0045】
例えば、ユーザは、ユーザがウェブブラウザで訪問しようとするウェブページのウェブアドレス情報を入力し、訪問を確定する。すなわち、ユーザは、訪問リクエストをウェブブラウザに送信する。訪問リクエストは、ユーザによって入力されたウェブページのウェブアドレス情報を含む。ウェブブラウザは、ウェブページのウェブアドレス情報に基づいて、訪問リクエストをウェブサーバに送信する。ウェブサーバは、訪問リクエストの中に含まれるウェブページのウェブアドレス情報に基づいて、ウェブページのウェブアドレス情報に対応するウェブページのウェブページコードを検索する。検出されたウェブページコードは、挙動収集命令を読み出すための読み出し命令を含む。ウェブサーバは、検出されたウェブページコードをウェブブラウザに送信する。ウェブブラウザは、受信されたウェブページコードに基づいて、ウェブページのコンテンツをユーザに表示し、ウェブページコードの中に組み込まれた読み出し命令に従って、ウェブサーバから挙動収集命令を読み出すために読み出しリクエストを送信する。読み出しリクエストを受信した後、ウェブサーバは、挙動収集命令をウェブブラウザに送信する。ウェブブラウザは、ユーザがウェブページを訪問するとき、挙動収集命令を訪問プロセスにロードする。ユーザがウェブページを訪問するとき、ウェブブラウザは、ロードされた挙動収集命令に従って、ウェブページ上でのユーザの操作挙動の情報を収集する。
【0046】
第2の例示的な方法において、ウェブサーバから挙動収集命令を読み出すための読み出し命令をウェブページコードに挿入する操作は、「組み込みポイント」操作と呼ばれてもよい。ウェブブラウザは、ウェブサーバによって送信されるウェブページコードを受信する。ウェブブラウザが、ウェブページに組み込まれた「ポイント」で実行するとき、読み出し命令に従って、ウェブサーバからの挙動収集命令の読み出しをトリガし、読み出された挙動収集命令をウェブページコードに組み込む。
【0047】
第1の例示的方法において、挙動収集命令は、ウェブブラウザによって受信されるウェブページのウェブページコードに組み込まれる場合がある。第2の例示的方法において、ウェブブラウザによって読み出された後の挙動収集命令もまたウェブページコードに組み込まれる場合がある。ユーザがウェブページコードを取得し、ウェブページコードの中の挙動収集命令を分析することが可能である場合、ユーザは、操作挙動情報を収集するために挙動収集命令を操作することが可能な場合がある。このように、操作挙動の収集された情報は、不正確になる場合があり、このために、機械挙動を決定する精度が低い。この問題に対応するために、第2の例示的な読み出し方法において、ウェブサーバがウェブブラウザから読み出しリクエストを受信した後、最初に、ウェブブラウザに送信される挙動収集命令の難読化演算を実行してもよい。すなわち、ウェブサーバは、挙動収集命令の難読化演算を実行するために1つ以上の難読化アルゴリズムを使用し、難読化された挙動収集命令をウェブブラウザに送信する。
【0048】
ウェブブラウザは、難読化された挙動収集命令をウェブページコードに組み込み、上記の1つ以上の難読化アルゴリズムに対応する1つ以上の解読化アルゴリズムを使用して、難読化された挙動収集命令の解読化演算を実行し、次いで、ユーザがウェブページを訪問するときに、解読された挙動収集命令を訪問プロセスにロードする。このように、ウェブページコードに組み込まれた挙動収集命令は、難読化された挙動収集命令である。ユーザは、挙動収集命令を取得するために、ウェブページ上で分析を直接実行することができない。したがって、操作挙動の情報を収集する精度が向上し、機械挙動を決定する精度も向上する。
【0049】
第1の例示的な実施形態は、操作挙動の情報を収集する精度および機械挙動を決定する精度をさらに向上させるために、リアルタイムで挙動収集命令の難読化演算を実行するための例示的な方法も提供する。1つ以上の難読化アルゴリズムと多様な期間との間の対応関係が予め確立され、ウェブサーバに記憶される。1つ以上の解読化アルゴリズムと多様な期間との間の対応関係が予め確立され、ウェブブラウザに記憶される。ウェブサーバは、挙動収集命令の難読化演算を実行するために、1つの難読化アルゴリズムを使用することに限定されない。むしろ、ウェブサーバは、読み出しリクエストが受信されるときの期間に応じて、各期間と難読化アルゴリズムとの間の対応関係に基づいて、期間に対応する1つ以上の難読化アルゴリズムを検索する。次いで、ウェブサーバは、検出された1つ以上の難読化アルゴリズムを使用することによって挙動収集命令の難読化演算を実行し、難読化された挙動収集命令をウェブブラウザに送信する。
【0050】
ウェブブラウザは、難読化された挙動収集命令を受信した後、難読化された挙動収集命令をウェブページコードに組み込む。次いで、ウェブブラウザは、読み出しリクエストが送信されたときの期間に応じて、各期間と解読化アルゴリズムとの間の対応関係に基づいて、期間に対応する1つ以上の解読化アルゴリズムを検索する。ウェブブラウザは、対応する1つ以上の解読化アルゴリズムを使用することによって難読化された挙動収集命令の解読演算を実行し、ユーザがウェブページを訪問するときに解読された挙動収集命令を訪問プロセスにロードする。
【0051】
ウェブサーバは、挙動収集命令の難読化演算を実行するとき、異なる期間には異なる難読化アルゴリズムを使用するので、異なる期間にウェブブラウザによって受信される難読化された挙動収集命令は、同じではない。難読化アルゴリズムは、動的に変化し、それによって、ユーザが、難読化された挙動収集命令に基づいて、難読化された挙動収集命令を分析することを防止する。したがって、操作挙動の情報を収集する精度が向上し、機械挙動を決定する精度も向上する。
【0052】
例えば、挙動収集命令は、これに限定されないが、JAVA(登録商標)スクリプト(JS、JAVASCRIPT(登録商標))コードを使用する場合がある。一例において、挙動収集命令は、JS収集命令と呼ばれてもよい。挙動収集命令に対する読み出し命令を挿入する組み込みポイント操作は、「JS組み込みポイント」操作とも呼ばれてもよい。JS収集命令がウェブページ上でのユーザの操作挙動の情報を収集するとき、ユーザのマウスおよびキーボードイベントを記録するために、ドキュメントオブジェクトモデル(DOM)イベントスタックメソッドが使用されてもよい。
【0053】
加えて、ウェブブラウザは、ユーザの媒体アクセス制御(MAC)アドレス情報等、ユーザの識別情報のうちのいくつかを記録するために、挙動収集命令を使用してもよい。
【0054】
第1の例示的実施形態における本技法は、挙動収集命令または挙動収集命令を読み出すための読み出し命令を、各ウェブページのウェブページコードに組み込む。ユーザが各ウェブページを訪問するとき、ウェブサーバは、ウェブページ上でのユーザの操作挙動が機械挙動であるか否かを評価してもよい。加えて、本技法はまた、挙動収集命令または読み出し命令を1つ以上の指定ウェブページのウェブページコードに組み込んでもよい。例えば、指定ウェブページは、ユーザが悪意を持って登録を実行する場合があるユーザ登録ウェブページ、またはユーザが悪意を持ってログインする場合があるログインウェブページ、またはユーザが悪意のある掲載を行う場合がある掲載ウェブページ等、ユーザが悪意のある登録を実行する閾値よりも高い確率を有するウェブページであってもよい。
【0055】
304で、ウェブブラウザは、操作挙動の取得された情報をウェブサーバに送信する。
【0056】
ウェブブラウザは、操作挙動の情報をウェブサーバに送信する前に、予め設定された暗号アルゴリズムを使用することによって、操作挙動の情報を暗号化してもよい。操作挙動の暗号化された情報がウェブサーバに送信された後、ウェブサーバは、予め設定された解読アルゴリズムを使用することによって操作挙動の情報を解読してもよく、それによって、ウェブブラウザとウェブサーバとの間の操作挙動の情報を伝送するセキュリティを向上させる。
【0057】
本技法は、操作挙動の取得された情報をウェブブラウザからウェブサーバへ伝送するために、以下に記載する2つの例示的方法を含むがこれらに限定されない、いくつかの方法を使用してもよい。
【0058】
第1の例示的な伝送方法において、ウェブブラウザは、スケジュールに従って、操作挙動の情報を送信する。例えば、複数のスケジュールされた時間ポイントが予め設定されてもよい。1つの予め設定された時間ポイントに到達したとき、ウェブブラウザは、先行の規定の時間ポイントから現在の時間ポイントまでの範囲の期間中のウェブページ上での操作挙動の取得された情報をウェブサーバに送信する。
【0059】
第2の例示的な伝送方法において、ウェブブラウザは、ユーザから指定操作リクエストを受信すると、操作挙動の情報を送信する。例えば、ユーザによって訪問されるウェブページがユーザ登録ウェブページである場合、ウェブブラウザがユーザから登録リクエストを受信した後(すなわち、ユーザが登録情報を入力し、登録リクエストを確定した後)、ウェブブラウザは、ユーザの操作挙動の情報をウェブサーバに送信する。ユーザによって訪問されるウェブページがログインウェブページである場合、ウェブブラウザがユーザからログインリクエストを受信した後(すなわち、ユーザがログイン情報を入力し、ログインリクエストを確定した後)、ウェブブラウザは、ユーザの操作挙動の情報をウェブサーバに送信する。ユーザによって訪問されるウェブページが掲載ウェブページである場合、ウェブブラウザがユーザから掲載リクエストを受信した後(すなわち、ユーザが掲載を入力し、掲載リクエストを確定した後)、ウェブブラウザは、ユーザの操作挙動の情報をウェブサーバに送信する。
【0060】
306で、ウェブサーバは、操作挙動の取得された情報に基づいて、機械挙動の加重値を決定する。
【0061】
本技法は、機械挙動の加重値を決定するために、以下に記載する次の方法を含むがこれに限定されない、いくつかの方法を使用してもよい。
【0062】
操作挙動の受信された情報の中のマウス操作情報に基づいて、ウェブサーバは、マウス機械挙動の対応する加重値W
1を決定する。操作挙動の受信された情報の中のキーボード操作情報に基づいて、ウェブサーバは、キーボード機械挙動の対応する加重値W
2を決定する。操作挙動の受信された情報の中のマウス操作情報およびキーボード操作情報に基づいて、ウェブサーバは、操作フロー機械挙動の対応する加重値W
3を決定する。ウェブサーバはまた、他の操作情報の加重値も取得してもよい。次いで、ウェブサーバは、これらの加重値に基づいて、ウェブページ上でのユーザの操作挙動に対する機械挙動の加重値を計算する。例えば、マウス機械挙動の加重値W
1、キーボード機械挙動の加重値W
2、および操作フロー機械挙動の加重値W
3に基づいて、ウェブサーバは、ウェブページ上でのユーザの操作挙動に対する機械挙動の加重値を決定する。
【0063】
多様な計算方法が存在してもよい。一例示的計算方法において、マウス機械挙動の加重値W
1、キーボード機械挙動の加重値W
2、および操作フロー機械挙動の加重値W
3は、機械挙動の加重値を取得するために、加算されてもよく、すなわち、W=W
1+W
2+W
3であってもよい。
【0064】
別の例示的な方法において、マウス機械挙動の加重値、キーボード機械挙動の加重値、および操作フロー機械挙動の加重値等、加重値の各々に対して対応する加重係数が定義されてもよい。例えば、マウス機械挙動の加重値に対して定義される加重係数は、Q
1であり、キーボード機械挙動の加重値に対して定義される加重係数は、Q
2であり、操作フロー機械挙動の加重値に対して定義される加重係数は、Q
3である。次いで、各機械挙動の加重値がその対応する加重係数と乗算され、次いで、機械挙動の加重値を取得するために、その積が加算され、すなわちW=W
1×Q
1+W
2×Q
2+W
3×Q
3である。
【0065】
ウェブページ上での機械挙動を決定する際、機械挙動識別および分析モデルが確立されてもよい。
図4は、例示的な機械挙動識別および分析モデル400を示す。
【0066】
ウェブサーバは、マウス操作を分析するために、機械挙動識別および分析モデル400を使用してもよい。402で、ウェブページ上でのユーザの操作挙動の情報が機械挙動識別および分析モデルに入力される。404で、機械挙動識別および分析モデルは、マウス操作情報を分析する。マウス操作情報は、例えば、マウスボタン連携406、マウスボタン押下時間408、およびマウスボタンの押下回数410を含んでもよい。412で、機械挙動識別および分析モデルは、マウス操作情報の分析に基づいて、マウス機械挙動の加重値を計算する。
【0067】
414で、機械挙動識別および分析モデルは、キーボード操作情報を分析する。キーボード操作情報は、例えば、キーボードボタン値416、キーボードボタン押下時間418、およびキーボードボタンの押下回数420を含んでもよい。422で、機械挙動識別および分析モデルは、マウス操作情報の分析に基づいて、キーボード機械挙動の加重値を計算する。
【0068】
424で、機械挙動識別および分析モデルは、操作フロー情報を分析する。多様な操作フロー情報は、例えば、マウスおよびキーボード操作のシーケンス426、およびウェブページの要素上の操作のシーケンス428を含んでもよい。430で、機械挙動識別および分析モデルは、多様な操作フロー情報の分析に基づいて、操作フロー機械挙動の加重値を計算する。
【0069】
432で、機械挙動および分析モデルは、マウス機械挙動の計算された加重値、キーボード機械挙動の計算された加重値、および操作フロー機械挙動の計算された加重値等の多様な操作情報の計算された加重値に基づいて、機械挙動の加重値を決定した。
【0070】
機械挙動識別および分析モデルを確立するために、以下の2つの例示的なモデル確立方法を含むがこれらに限定されない、多様な方法が存在する。
【0071】
一例示的なモデル確立方法において、それぞれのユーザ識別情報に対応するそれぞれのユーザに関して、機械挙動を決定することが必要な各ウェブページに対して、それぞれのウェブページの機械挙動識別および分析モデルを確立するために、各ウェブページ上でのユーザの操作挙動の複数の情報が学習され、訓練される。ウェブページ上でのユーザの操作挙動の次に受信された情報は、分析するために機械挙動識別および分析モデルに入力される。分析結果は、それぞれのウェブページ上でのユーザの操作挙動に対する機械挙動の加重値を決定するために使用される。ユーザ識別情報は、例えば、IPアドレス情報、またはMACアドレス情報であってもよい。ウェブブラウザがウェブページ上でのユーザの操作挙動の情報を収集するとき、ユーザ識別情報を記録し、それを操作挙動の情報とともに、ウェブサーバに送信する。ユーザ識別情報に基づいて、ウェブサーバは、操作挙動の受信された情報に対応するユーザを決定し、ユーザに対応する機械挙動識別および分析モデルをさらに検索する。
【0072】
別の例示的なモデル確立方法において、機械挙動を決定することが必要な各ウェブページに対して、それぞれの機械挙動識別および分析モデルが確立される。それぞれのウェブページ上でのユーザの操作挙動の情報が次に受信されるとき、そのような情報は、分析するためにそれぞれの機械挙動識別および分析モデルに入力される。分析結果は、それぞれのウェブページ上でのユーザの機械挙動の加重値を決定するために使用される。
【0073】
308で、ウェブサーバは、ウェブページに対するユーザからの機械挙動の加重値が規定の閾値以上であると決定することに応答して、ウェブページ上でのユーザの操作挙動が機械挙動であると決定する。
【0074】
機械挙動を決定する規定の閾値は予め設定される。機械挙動の加重値が、規定の閾値未満である場合、ウェブページ上でのユーザの操作挙動は、機械挙動であるとは決定されない。機械挙動の加重値が、規定の閾値以上である場合、ウェブページ上でのユーザの操作挙動は、機械挙動であると決定される。
【0075】
ウェブページ上でのユーザの操作挙動が機械挙動であると決定した後、ユーザの操作リクエストを処理する必要はなく、それによって、ウェブサーバの大量の処理リソースを節約し、ウェブサーバの処理効率を増加し、ウェブサーバの大量の記憶リソースを保存する。加えて、ウェブサーバがウェブページ上のユーザの操作挙動が機械挙動であると決定した後、決定の結果をウェブブラウザに送信してもよいが、これに限定されない。決定の結果を受信した後、ウェブブラウザは、結果をユーザにも提供してもよい。
【0076】
機械挙動を決定し、ウェブサーバの処理リソースを節約する際にウェブサーバの効率を向上させるために、本技法はまた、ウェブページに対するそれぞれのユーザの操作挙動が機械挙動であると決定した後、ウェブサーバはユーザのユーザ識別情報を悪意のあるユーザリストに追加してもよいことも提供する。将来、ウェブサーバがウェブブラウザから操作リクエストを受信するとき、最初に、受信された操作リクエストの中のユーザ識別情報が悪意のあるユーザリストに見出されるかを確認してもよい。結果が肯定である場合、ウェブサーバは、ユーザの操作リクエストを処理することを拒否し、このため、ウェブページ上でのユーザの操作挙動が機械挙動であるか否かを決定するために、操作を実行する必要性が存在しない。
【0077】
加えて、本技法はまた、ウェブブラウザによって送信された訪問リクエストを受信した後、ウェブサーバが、訪問リクエストの中のユーザ識別情報が悪意のあるユーザリストに検出されるかを最初に決定してもよいことを提供する。結果が肯定である場合、ウェブサーバは、ユーザがウェブページを訪問することを禁じてもよい。したがって、ユーザは、以降の操作リクエストをウェブサーバに送信することが妨げられる。ウェブサーバに対してユーザによって送信される操作リクエストの数が減少し、それによって、ウェブサーバ上の負担を削減し、ウェブサーバの処理速度および処理効率を向上させる。例えば、ユーザ識別情報は、ユーザのIPアドレス情報、またはユーザのMACアドレス情報であってもよい。
【0078】
本技法の下では、ユーザがウェブページを訪問するとき、ウェブブラウザは、ウェブページ上でのユーザの操作挙動の情報を取得し、操作挙動の取得された情報をウェブサーバに送信する。ウェブサーバは、ウェブサーバに対する操作挙動の取得された情報に基づいて、機械挙動の加重値を決定する。ウェブサーバが、機械挙動の加重値が規定の閾値以上であると決定するとき、ウェブページ上でのユーザの操作挙動は、機械挙動として決定される。
【0079】
このように、本技法は、機械挙動を決定するためにIPアドレス分析方法、または操作情報分析方法に依存しない。むしろ、本技法は、操作挙動が機械挙動であるかどうかを評価するために、ウェブページ上でのユーザの操作挙動を使用する。これは、機械挙動を決定する精度を有効に増加させるので、ウェブサーバは、機械挙動を正確に区別することができ、機械挙動から生じる操作リクエスト(登録リクエスト、ログインリクエスト、掲載リクエスト、返信リクエスト等)を処理する必要がない。本技法は、ウェブサーバの処理リソースを節約し、ウェブサーバの処理効率を増加させ、ウェブサーバの記憶リソースを節約する。
【0080】
図5は、本開示の第2の例示的実施形態に従い、ユーザ502、ウェブブラウザ504、およびウェブサーバ506の間の相互作用に基づいて、機械挙動を決定するための例示的方法の流れ図を示す。
【0081】
508で、ユーザ502は、ウェブページを訪問することをリクエストする。510で、ウェブブラウザ504は、ウェブサーバ506へ訪問リクエストを送信する。訪問リクエストは、ユーザ502が訪問することをリクエストするウェブページのウェブアドレス情報を含む。512で、ウェブサーバ506は、訪問リクエストの中のウェブアドレス情報に基づいて、ウェブページに対応するウェブページコードを検索する。514で、ウェブサーバ506は、挙動収集命令を読み出すための読み出し命令をウェブページコードへ挿入する「組み込みポイント」操作を実行する。検出されたウェブページコードは、挙動収集命令を読み出すための挿入された読み出し命令を含む。516で、ウェブサーバ506は、検出されたウェブページコードをウェブブラウザ504に送信する。518で、ウェブブラウザ504は、受信されたウェブページコードに基づいて、ウェブページのコンテンツをユーザ502に提供する。520で、ウェブブラウザ504は、読み出し命令に基づいて、挙動収集命令を読み出すためにリクエストをウェブサーバ506に送信する。例えば、挙動収集命令は、JS収集命令であってもよい。ウェブブラウザ504は、ウェブページに組み込まれた「ポイント」で実行するとき、読み出し命令に従って、ウェブサーバ506からの挙動収集命令の読み出しをトリガし、読み出された挙動収集命令をウェブページコードに組み込む。
【0082】
522で、ウェブサーバ506は、挙動収集命令を読み出すリクエストを受信した後、JS収集命令等の挙動収集命令のリアルタイム難読化演算を実行する。524で、ウェブサーバ506は、JS収集命令等の難読化された挙動収集命令をウェブブラウザ504に送信する。526で、ウェブブラウザ504は、解読されたJS収集命令等の解読された挙動収集命令を取得するために、受信された難読化された挙動収集命令の解読化演算を実行し、ユーザ502がウェブページを訪問するとき、解読されたJS収集命令等の解読された操作命令を訪問プロセスにロードする。
【0083】
528で、ユーザがウェブページを訪問する。530で、ユーザがウェブページを訪問するとき、ウェブブラウザ504は、ロードされたJS収集命令等のロードされた解読された挙動収集命令に基づいて、ウェブページ上でのユーザの操作挙動の情報を収集する。例えば、ウェブページ上でのユーザの操作挙動の情報は、マウス操作情報532、キーボード操作情報534、および操作フロー情報536を含んでもよいが、これらに限定されない。538で、ユーザから操作リクエストを受信した後、ウェブブラウザ504は、ユーザの操作挙動の収集された情報をウェブサーバ506に送信する。操作リクエストは、登録リクエスト、ログインリクエスト、および掲載リクエスト等の特定の指定操作リクエストであってもよい。
【0084】
540で、ウェブサーバ506は、ユーザの操作挙動の収集された情報を受信する。542で、ウェブサーバ506は、機械挙動識別および分析モデルを使用することによって、ユーザの操作挙動の情報に関する分析を実行する。544で、ウェブサーバ506は、分析の結果に基づいて、機械挙動の加重値を決定する。ウェブサーバ506は、機械挙動の加重値に基づいて、ウェブページ上でのユーザの操作挙動が機械挙動か否かを決定する。機械挙動の加重値が規定の閾値以上である場合、ウェブページ上でのユーザの操作挙動は、機械挙動であると決定される。546で、ウェブページ上でのユーザの操作挙動が機械挙動であると決定される場合、ウェブサーバ506は、1つ以上の以降の操作を実行してもよい。例えば、ユーザからの操作リクエストは処理されない。ユーザのIPアドレスが悪意のあるユーザリストに追加される。将来、ウェブブラウザによって送信される訪問リクエストを受信した後、ウェブサーバ506は、最初に、訪問リクエストに含まれたIPアドレス情報が悪意のあるユーザリストの中にあるか否かを決定する。結果が肯定である場合、ユーザはウェブページを訪問することが禁じられる。
【0085】
本開示の第1の例示的実施形態に従い機械挙動を決定するための例示的方法に対応して、本開示の第3の例示的実施形態は、例示的なウェブブラウザを提供する。
図6は、ウェブブラウザの機能を実装するための例示的なシステム600を示す。
【0086】
一例において、システム600は、1つ以上のプロセッサ602と、メモリ604とを含んでもよいが、これらに限定されない。メモリ604は、RAM等の揮発性メモリおよび/または読み出し専用メモリ(ROM)またはフラッシュRAM等の不揮発性メモリの形式におけるコンピュータ可読媒体を含んでもよい。
【0087】
コンピュータ可読記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータ等の情報の記憶のために、任意の方法または技術において実装される、揮発性および不揮発性の、取り外し可能および取り外し不可能な媒体を含む。コンピュータ記憶媒体の例として、相変化メモリ(PRAM)、静的ランダムアクセスメモリ(SRAM)、動的ランダムアクセスメモリ(DRAM)、他の種類のランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、電気的消去可能プログラマブル読み出し専用メモリ(EEPROM)、フラッシュメモリまたは他のメモリ技術、コンパクトディスク読み出し専用メモリ(CD−ROM)、デジタル多用途ディスク(DVD)または他の光学式記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶デバイス、あるいはコンピューティングデバイスによってアクセスするために情報を記憶するために使用することが可能である任意の他の非伝送媒体が挙げられるが、これらに限定されない。本明細書に定義される場合、コンピュータ可読記憶媒体は、変調データ信号および搬送波等の一時的媒体を含まない。
【0088】
メモリ604は、その中にプログラムユニットまたはモジュールと、プログラムデータとを記憶してもよい。一実施形態において、モジュールは、取得ユニット606と、伝送ユニット608と、受信ユニット610とを含んでもよい。
【0089】
取得ユニット606は、ユーザがウェブページを訪問するとき、ウェブページ上でのユーザの操作挙動の情報を取得する。伝送ユニット608は、取得ユニット606によって取得された操作挙動の情報をウェブサーバに送信する。受信ユニット610は、ウェブページ上でのユーザの操作挙動が機械挙動であるかを決定するウェブサーバによって送信された決定の結果を受信する。ウェブサーバは、ウェブサーバによって受信される操作挙動の情報に基づいてウェブページ上での機械挙動の加重値を決定することによって、および機械挙動の加重値が規定の閾値以上であると決定することによって、決定を行う。
【0090】
一例示的実施形態において、取得ユニット606は、取得サブユニットと、収集サブユニットとを含んでもよい。取得サブユニットは、ユーザがウェブページを訪問することをリクエストするとき、ウェブサーバから挙動収集命令を取得する。収集サブユニットは、ユーザがウェブページを訪問するとき、取得サブユニットによって取得された挙動収集命令に基づいて、ウェブページ上でのユーザの操作挙動の情報を収集する。
【0091】
取得サブユニットの一例において、取得サブユニットは、第1の伝送モジュールと、第1の受信モジュールと、第1の表示モジュールと、第1の収集モジュールとを含んでもよい。第1の伝送モジュールは、ユーザがウェブページを訪問することをリクエストするとき、訪問リクエストをウェブサーバに送信する。訪問リクエストは、ウェブページのウェブアドレス情報を含む。第1の受信モジュールは、ウェブサーバによって送信されたウェブページコードを受信する。ウェブページコードは、挙動収集命令を含む。ウェブページコードは、ウェブページのウェブアドレス情報に基づいて、ウェブサーバによって検索され、検出される。第1の表示モジュールは、第1の受信モジュールによって受信されたウェブページコードに基づいて、ウェブページのコンテンツをユーザに提供する。第1の収集モジュールは、ウェブページコードの中に含まれた挙動収集命令に基づいて、ウェブページ上でのユーザの操作挙動の情報を収集する。
【0092】
取得サブユニットの別の例において、取得サブユニットは、第2の伝送モジュールと、第2の受信モジュールと、第2の表示モジュールと、読み出しモジュールと、第3の受信モジュールと、第2の収集モジュールとを含んでもよい。第2の伝送モジュールは、ユーザがウェブページを訪問することをリクエストするとき、ウェブページのウェブアドレス情報を含む訪問リクエストをウェブサーバに送信する。第2の受信モジュールは、ウェブサーバによって送信されたウェブページコードを受信する。ウェブページコードは、挙動収集命令を読み出すための読み出し命令を含む。ウェブページコードは、ウェブアドレス情報に基づいて、ウェブサーバによって検索され、検出される。第2の表示モジュールは、第2の受信モジュールによって受信されたウェブページコードに基づいて、ウェブページのコンテンツをユーザに表示する。読み出しモジュールは、読み出し命令に基づいて、挙動収集命令を読み出すリクエストをウェブサーバに送信する。第3の受信モジュールは、ウェブサーバによって送信された挙動収集命令を受信する。第2の収集モジュールは、受信された挙動収集命令に基づいて、ウェブページ上でのユーザの操作挙動の情報を収集する。
【0093】
第2の収集モジュールの一例において、第2の収集モジュールは、解読サブモジュールと収集サブモジュールとを含む。解読サブモジュールは、予め設定された解読アルゴリズムに基づいて、第3の受信モジュールによって受信された挙動収集命令の解読演算を実行する。収集サブモジュールは、解読サブモジュールによって取得された解読された挙動収集命令に基づいて、ウェブページ上でのユーザの操作挙動の情報を収集する。
【0094】
一例において、1つ以上の解読アルゴリズムと多様な期間との間の対応関係が予め確立される。解読サブモジュールは、読み出し命令に対するリクエストが送信された期間に応じて、各期間と対応する解読アルゴリズムとの間の対応関係に基づいて、期間に対応する解読アルゴリズムを検索する。次いで、解読サブモジュールは、検出された解読アルゴリズムを使用することによって、挙動収集命令の解読演算を実行する。
【0095】
取得ユニット606の別の例において、規定の時間ポイントに到達すると、取得ユニット606は、以前の規定の時間ポイントから現在の規定の時間ポイントまでの範囲の時間ポイント中、ウェブページ上でのユーザの操作挙動の全ての情報をウェブサーバに送信してもよい。
【0096】
取得ユニット606の別の例において、取得ユニット606は、受信サブユニットと伝送サブユニットとを含んでもよい。受信サブユニットは、ユーザによって送信される指定された操作リクエストを受信する。伝送サブユニットは、受信サブユニットが指定された操作リクエストを受信した後、ウェブページ上でのユーザの操作挙動をウェブサーバに送信する。
【0097】
本開示の第1の例示的実施形態に従い機械挙動を決定するための例示的方法に対応して、本開示の第4の例示的実施形態は、例示的なウェブサーバを提供する。
図7は、例示的なウェブサーバ700を示す。ウェブサーバ700は、1つ以上のプロセッサ702と、メモリ704とを含んでもよいが、これらに限定されない。メモリ704は、RAM等の揮発性メモリおよび/または読み取り専用メモリ(ROM)またはフラッシュRAM等の不揮発性メモリの形式におけるコンピュータ可読媒体を含んでもよい。
【0098】
メモリ704は、その中にプログラムユニットまたはモジュールと、プログラムデータとを記憶してもよい。一実施形態において、モジュールは、第1の受信ユニット706と、第1の決定ユニット708と、第1の評価ユニット710と、第2の決定ユニット712とを含んでもよい。
【0099】
第1の受信ユニット706は、ウェブブラウザによって送信される、ウェブページ上でのユーザの操作挙動の情報を受信する。第1の決定ユニット708は、第1の受信ユニット706によって受信するユーザの操作挙動の情報に基づいて、ウェブページ上でのユーザの操作挙動の機械挙動の加重値を決定する。第1の評価ユニット710は、第1の決定ユニット708によって決定される機械挙動の加重値が規定の閾値未満であるかを評価する。第2の決定ユニット712は、第1の評価ユニット710の決定結果が否定である場合、ウェブページに対するユーザの操作挙動が機械挙動であると決定する。
【0100】
別の実施形態において、モジュールは、第2の受信ユニットと、第1の検索ユニットと、第1の伝送ユニットとをさらに含んでもよい。第2の受信ユニットは、第1の受信ユニット706が、ウェブブラウザによって送信される、ウェブページ上でのユーザの操作挙動の情報を受信する前に、ウェブブラウザによって送信される訪問リクエストを受信する。訪問リクエストは、ウェブページのウェブアドレス情報を含む。第1の検索ユニットは、第2の受信ユニットによって受信される訪問リクエストの中のウェブアドレス情報に基づいて、ウェブページのウェブアドレス情報に対応するウェブページのウェブページコードを検索する。ウェブページコードは、挙動収集命令を含む。第1の伝送ユニットは、第1の検索ユニットによって検出されたウェブページコードをウェブブラウザに送信する。
【0101】
ウェブサーバの別の例示的な実施形態において、ウェブサーバの中のモジュールは、第3の受信ユニットと、第2の検索ユニットと、第2の伝送ユニットと、第4の受信ユニットと、第3の伝送ユニットとをさらに含んでもよい。
【0102】
第3の受信ユニットは、第1の受信ユニット706が、ウェブブラウザによって送信される、ウェブページ上でのユーザの操作挙動の情報を受信する前に、ウェブブラウザによって送信される訪問リクエストを受信する。訪問リクエストは、ウェブページのウェブアドレス情報を含む。第2の検索ユニットは、第2の受信ユニットによって受信される訪問リクエストの中のウェブアドレス情報に基づいて、ウェブページのウェブアドレス情報に対応するウェブページのウェブページコードを検索する。ウェブページコードは、挙動収集命令を含む。第2の伝送ユニットは、第1の検索ユニットによって検出されたウェブページコードをウェブブラウザに送信する。第4の受信ユニットは、挙動収集命令を読み出すための、ウェブブラウザによって送信された、リクエストを受信する。第3の送信ユニットは、第4の受信ユニットが挙動収集命令を読み出すためのリクエストを受信した後に、挙動収集命令をウェブブラウザに送信する。
【0103】
一例において、第3の伝送ユニットは、難読化サブユニットと、伝送サブユニットとを含んでもよい。難読化サブユニットは、予め規定された難読化アルゴリズムに基づいて、挙動収集命令において難読化演算を実行する。伝送サブユニットは、難読化サブユニットによって難読化された挙動収集命令をウェブブラウザに送信する。
【0104】
例えば、難読化サブユニットは、検索モジュールと、難読化モジュールとを含んでもよい。検索サブモジュールは、読み出し命令に対するリクエストが第4の受信ユニットによって受信される期間に応じて、各期間と対応する難読化アルゴリズムとの間の対応関係に基づいて、期間に対応する難読化アルゴリズムを検索する。難読化サブモジュールは、検出された難読化アルゴリズムを使用することによって、挙動収集命令の難読化演算を実行する。
【0105】
一例示的実施形態において、第1の受信ユニット706によって受信される操作挙動の情報は、マウス操作情報と、キーボード操作情報と、操作フロー情報とを含んでもよい。一例において、第1の決定ユニット708は、第1の決定サブユニットと、第2の決定サブユニットと、第3の決定サブユニットと、第4の決定サブユニットとを含んでもよい。第1の決定サブユニットは、第1の受信ユニット706によって受信される操作挙動の情報の中に含まれるマウス操作情報に基づいて、マウス機械挙動の加重値を決定する。第2の決定サブユニットは、第1の受信ユニット706によって受信される操作挙動の情報の中に含まれるキーボード操作情報に基づいて、キーボード機械挙動の加重値を決定する。第3の決定サブユニットは、第1の受信ユニット706によって受信される操作挙動の情報の中に含まれる操作フロー情報に基づいて、操作フロー機械挙動の加重値を決定する。第4の決定ユニットは、マウス機械挙動の加重値、キーボード機械挙動の加重値、および操作フロー機械挙動の加重値に基づいて、機械挙動の加重値を決定する。
【0106】
ウェブサーバの別の実施形態において、ウェブサーバの中のモジュールは、追加ユニットをさらに含んでもよい。追加ユニットは、第2の決定ユニット712が、ウェブページ上でのユーザの操作挙動が機械挙動であると決定した後、ユーザのユーザ識別情報を悪意のあるユーザリストに追加する。
【0107】
ウェブサーバの別の例示的実施形態において、ウェブサーバの中のモジュールは、第5の受信ユニットと、第2の評価ユニットと、第1の処理ユニットとをさらに含んでもよい。第5の受信ユニットは、ウェブブラウザによって送信される操作リクエストを受信する。操作リクエストはユーザ識別情報を含む。例えば、操作リクエストは、登録リクエスト、およびログインリクエスト等の特定の予め規定された操作リクエストであってもよい。別の例の場合、操作リクエストは、ウェブブラウザによって送信される、操作に対する任意のリクエストであってもよい。第2の評価ユニットは、第5の受信ユニットが操作リクエストを受信した後、受信された操作リクエストの中のユーザ識別情報が悪意のあるユーザリストの中に検出されるかを確認する。第1の処理ユニットは、第2の評価ユニットからの決定の結果が肯定である場合、ユーザの操作リクエストの処理を停止する。
【0108】
ウェブサーバの別の例示的実施形態において、ウェブサーバの中のモジュールは、第6の受信ユニットと、第3の評価ユニットと、第2の処理ユニットとをさらに含んでもよい。第6の受信ユニットは、ユーザがウェブページを訪問することをリクエストするとき、ウェブブラウザによって送信される訪問リクエストを受信する。訪問リクエストは、ユーザ識別情報を含む。第3の評価ユニットは、第6の受信ユニットが訪問リクエストを受信した後、訪問リクエストの中のユーザ識別情報が悪意のあるユーザリストの中に検出されるかを確認する。第2の処理ユニットは、ユーザがウェブページを訪問することを禁じる。
【0109】
上記の例示的な実施形態から、当業者は、開示される方法およびシステムが、ソフトウェアおよび汎用ハードウェアプラットフォームを使用して実装されてもよいことを明確に理解することができる。この理解に基づいて、本開示の技術スキーム、または既存の技術に寄与する部分は、ROM/RAM、ハードドライブ、および光ディスク等のコンピュータ記憶媒体の中に記憶されるソフトウェア製品の形式で実装されてもよい。ソフトウェアは、コンピューティングデバイス(例えば、パーソナルコンピュータ、サーバ、またはネットワークに接続されたデバイス)が本開示の例示的実施形態に記載される方法を実行するコンピュータ実行可能命令を含む。
【0110】
多様な例示的実施形態は、本開示において漸進的に記載する。例示的実施形態の同一または類似部分は相互に参照することができる。各例示的実施形態は、ほかの例示的実施形態とは異なる焦点を有する。特に、例示的なデバイスの実施形態は、例示的方法とのその基本的対応のために、比較的簡単な様式に記載した。その詳細は、例示的方法の関連部分を参照することによって見出すことができる。上記の例示的デバイスの説明は、例示的目的のみを意味する。その中で個別の構成要素として記載されるユニットまたはモジュールは、物理的に分離していても、または分離していなくてもよい。実施形態において記載するモジュールまたはユニットは、1つのモジュールに統合されても、または複数のサブモジュールにさらに分けられてもよい。一実施形態において記載する1つ以上のモジュールまたはユニットは、別の実施形態に統合されてもよい。ユニットまたはモジュールの観点で例示した構成要素は、物理的ユニットであっても、なくてもよく、例えば、1つの場所に位置してもよく、または複数のネットワークユニットの間に分散されてもよい。実際の必要性に依存して、例示的実施形態の目標は、モジュールの一部または全てを選択することによって達成されてもよい。当業者は、一切の革新的努力なく、開示されるシステムを理解かつ実装することができる。
【0111】
本開示は、本開示の方法、装置(システム)、およびコンピュータソフトウェア製品の流れ図および略図を参照して記載する。コンピュータ実行可能命令が、各流れ図および/または図面の略図、あるいはこれらの組み合わせを実装することができることが理解され得る。このようなコンピュータ実行可能命令は、流れ図の図面の1つ以上のフロープロセスおよび/または略図面の1つ以上の略図によって指定される機能を実現するために、コンピュータまたは他のプログラム可能なデータ処理デバイスによって実行される命令を使用することができる機械を実装するように、汎用コンピュータ、専用コンピュータ、埋め込みデバイス、または任意の他のプログラム可能なデータ処理デバイスに組み込むことができる。
【0112】
そのようなコンピュータ実行可能命令はまた、コンピュータまたはプログラム可能データ処理デバイスが、そのようなコンピュータの操作によって機能を実現するために複数の操作ステップを実行することができるように、コンピュータまたは任意の他のプログラム可能データ処理デバイスにロードされてもよい。このように、コンピュータまたは任意の他のプログラム可能データ処理デバイスで実行されるコンピュータ実行可能命令は、流れ図の図面の1つ以上のフロープロセスおよび/または略図面の1つ以上の略図によって指定される機能を実装する。
【0113】
本開示は、プログラムモジュール等、コンピュータによって実行されるコンピュータ実行可能命令の一般的状況において記載されてもよい。一般的に、プログラムモジュールは、具体的なタスクを実行するため、または具体的な抽象データ型を実装するための、ルーチン、プログラム、オブジェクト、モジュール、データ構造、コンピュータ実行可能命令等を含む。開示される方法およびデバイスはまた、分散コンピューティング環境に実装されてもよい。分散コンピューティング環境において、タスクは、通信ネットワークを通じて接続されるリモートの処理デバイスによって実行される。分散コンピューティング環境において、プログラムモジュールは、ローカルおよび/またはリモートコンピュータのコンピュータ記憶媒体(記憶デバイスを含む)に位置されてもよい。
【0114】
開示される方法およびシステムは、ソフトウェアを含む汎用コンピュータシステムまたは特殊なコンピュータシステムの環境または構成において使用されてもよい。例として、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドデバイスまたは携帯デバイス、タブレットデバイス、マルチプロセッサシステム、マイクロプロセッサシステム、セットアップボックス、プログラマブルカスタマ電子デバイス、ネットワークPC、小型コンピュータ、大型コンピュータ、および上記の任意のシステムまたはデバイスを含む分散コンピューティング環境が挙げられる。
【0115】
上記は、本開示の例示的な実施形態である。しかしながら、本開示はこれらに限定されない。本明細書において使用される用語は、例示目的であって、本開示を限定するためのものではない。本開示は、本発明の精神または要旨から逸脱することなく、多数の形式を使用して、具体的に実装することができるので、上記の例の実施形態は、上記に記載の詳細に限定されず、請求項に定義される要旨および範囲の下で広義に解釈されるべきである。当業者は、本開示の精神および範囲から逸脱することなく、多数の異なる方式で本開示を変更または変形してもよいことを理解されたい。これらの変更および変形は、従って、本開示の請求項およびそれらの同等物の範囲内に含まれると見なされるべきである。