JP2019511767A - 脅威検出方法および装置ならびにネットワーク・システム - Google Patents

脅威検出方法および装置ならびにネットワーク・システム Download PDF

Info

Publication number
JP2019511767A
JP2019511767A JP2018540440A JP2018540440A JP2019511767A JP 2019511767 A JP2019511767 A JP 2019511767A JP 2018540440 A JP2018540440 A JP 2018540440A JP 2018540440 A JP2018540440 A JP 2018540440A JP 2019511767 A JP2019511767 A JP 2019511767A
Authority
JP
Japan
Prior art keywords
display
page
code
threat detection
group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018540440A
Other languages
English (en)
Other versions
JP6585853B2 (ja
Inventor
チェン,ジィア
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2019511767A publication Critical patent/JP2019511767A/ja
Application granted granted Critical
Publication of JP6585853B2 publication Critical patent/JP6585853B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/128Restricting unauthorised execution of programs involving web programs, i.e. using technology especially used in internet, generally interacting with a web browser, e.g. hypertext markup language [HTML], applets, java
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/563Static detection by source code analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1483Countermeasures against malicious traffic service impersonation, e.g. phishing, pharming or web spoofing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

コンピュータ技術の分野に関し、遅延ロード・シナリオにおいてWebサンドボックスの見逃される検出問題を解決できる脅威検出方法および装置ならびにネットワーク・システムが開示される。方法は:WebサンドボックスのブラウザーにおいてURLをロードするとき、前記URLによって同定される第一の表示ページ群のページ・コードと、ブラウザーの表示領域において前記第一の表示ページ群によって占められる全体的なサイズとを取得し;前記第一の表示ページ群のページ・コードに、プリセット動的コードを注入し;前記第一の表示ページ群の、前記プリセット動的コードを含むページ・コードをパースおよび実行し;表示変数の値がプリセット値以上であることを検出するとき、第二の表示ページ群のページ・コードを取得することを要求するよう要求メッセージを送り;前記第二の表示ページ群のページ・コードを担持する応答メッセージを受信し;前記第二の表示ページ群のページ・コードが攻撃コードを担持するかどうかをWebサンドボックスにおいて検出することを含む。

Description

本願は、ここに参照によってその全体において組み込まれる、2016年5月10日に中国特許庁に出願された「脅威検出方法および装置ならびにネットワーク・システム」と題する中国特許第201610305868.1号の優先権を主張するものである。
技術分野
本願はコンピュータ技術の分野に、詳細には脅威検出方法および装置ならびにネットワーク・システムに関する。
コンピュータ・ネットワーク技術の発展および人気により、より多くのユーザーがネットワーク・セキュリティー問題に関心を向けはじめており、ネットワーク(Web)アプリケーションを使うことによって実装されるネットワーク攻撃が頻繁に現われる。たとえば、攻撃目的を達成するために、攻撃者は通例、さまざまな手段を使って、スクリプト、リンク、ピクチャー、flashアニメーション、プラグインなどの形の攻撃コードを、動的なページによって使用されるデータベースに埋め込む。ユーザーがブラウザーを使ってその攻撃コードを通ってブラウズするとき、攻撃者は目的を達成できる。
攻撃コード検出におけるサンドボックス技術の利点を考えると、たとえば、未知の攻撃が発見でき、サンドボックスを実行するコンピュータのセキュリティーに対して脅威が引き起こされず、Webサンドボックスはサンドボックス技術およびブラウザー技術を組み合わせることによって開発され、Webサンドボックスはブラウザーによってアクセスされるウェブ・ページのセキュリティーを保証するために使われる。サンドボックスは、コンピュータにおいて作り出される仮想実行環境であり、オペレーティング・システムのコピーと考えられてもよい。サンドボックスにおいて開かれる疑わしいファイルに関わりなく、コンピュータにおけるハードディスクに対する、あるいはオペレーティング・システムにおけるレジストリに対する該疑わしいファイルのあらゆる動作は、一時フォルダに指向的に割り当てられる。このようにして、たとえ疑わしいファイルがトロイの木馬ウイルスまたは広告プラグインのような攻撃コードを担持していたとしても、影響される範囲はその仮想環境に限定され、実際のオペレーティング・システムは影響されない。サンドボックスが削除されると、サンドボックスで実行中のファイルは自動的にクリアされ、コンピュータは害を受けない。したがって、ユーザーは、未知のファイルが攻撃コードを担持しているかどうかを判定するために、サンドボックスにおいて未知のファイルを実行することができる。Webサンドボックスの検出原理は:ユーザー・ブラウザーの実際の環境をシミュレートし、現在ページのロード工程において生起するアクションを検出および解析し、最後に、現在ページがユーザーのシステム環境に対する脅威を引き起こすかどうかを判定することである。
既存のウェブ・ページでは遅延ロード技術が広く使われているので、Webサンドボックスがウェブ・ページに対するセキュリティー検出を実行するとき、検出効果は大きく影響され、見逃される検出現象が特に一般的である。遅延ロード技術は、ユーザーがブラウザーを使って一様資源位置指定子(URL: Uniform/Universal Resource Locator)をロードするとき、WebサーバーがそのURLによって同定されるすべてのコンテンツを同時に返さずに、コンテンツの一部のみをデータベースから取得して、コンテンツのその部分をユーザーに返すということを意味する。この場合、ユーザーはブラウザー・インターフェースにおいて、この時点でWebサーバーによって返されたコンテンツの部分のみを見ることができる。その後のページ(以下、遅延ロード・ページと称される)の資源のダウンロード、ページ・ロードおよびレンダリング処理は、ユーザーが後続ウェブ・ページをブラウズすることを続けるときにのみ惹起される。遅延ロード技術が使われた後、ネットワーク・スループットは低減されることがあり、ユーザー・ブラウザーのロード・スピードは増大することがあり、ユーザーの待ち時間が短縮されることがあり、こうしてユーザー経験が改善される。よって、遅延ロード技術は広く使われる技術である。しかしながら、Webサンドボックスがウェブ・ページに対してセキュリティー検出を実行するために使われるときは、遅延ロード・ページに埋め込まれた攻撃コードは検出できず、Webサンドボックスの見逃された検出問題が惹起される。
本願の実施形態は、遅延ロード・シナリオにおけるWebサンドボックスの見逃された検出問題が解決されることのできる、脅威検出方法および装置ならびにネットワーク・システムを提供する。
上記の目的を達成するために、以下の技術的解決策が本願の実施形態において使われる。
第一の側面によれば、本願のある実施形態は、脅威検出方法を提供する。第一に、Webサンドボックスのブラウザーにおいて一様資源位置指定子URLをロードするとき、脅威検出装置は、Webサーバーから、前記URLによって同定される第一の表示ページ群のページ・コードと、ブラウザーの表示領域において前記第一の表示ページ群によって占められる全体的なサイズとを取得し、前記第一の表示ページ群のページ・コードはモニタリング・コードを含み、該モニタリング・コードは、表示変数の値を取得およびモニタリングするために使われ、前記表示変数の値は、ブラウザーの表示領域において、最初の表示ページの開始位置から前記第一の表示ページ群における現在の表示ページまでに表示された表示ページによって占められるサイズを表わすために使われる。次いで、脅威検出装置は、プリセット動的コードを、前記第一の表示ページ群の取得されたページ・コードに注入し、前記第一の表示ページ群の、前記プリセット動的コードを含むページ・コードをパースおよび実行し、逐次的な仕方で、前記第一の表示ページ群における諸表示ページを表示する。ここで、プリセット動的コードは、現在の表示ページから、該現在の表示ページの次の表示ページへの切り換えをトリガーするために使われる。次いで、脅威検出装置が表示変数の値がプリセット値以上であることを検出するとき、脅威検出装置は、Webサーバーに、表示ページ群識別子を担持する要求メッセージを送って、Webサーバーから第二の表示ページ群のページ・コードを取得することを要求する。ここで、前記第二の表示ページ群における最初の表示ページが、前記第一の表示ページ群における最後の表示ページの次の表示ページであり、前記プリセット値は、ブラウザーの表示領域における前記第一の表示ページ群における最初の表示ページによって占められるサイズ以上であり、ブラウザーの表示領域における前記第一の表示ページ群によって占められる全体的なサイズ未満である。最後に、脅威検出装置は、前記要求メッセージに応答してWebサーバーによって送られた応答メッセージであって、該応答メッセージは前記第二の表示ページ群のページ・コードを含んでいる、応答メッセージを受信し、サンドボックスにおいて、前記第二の表示ページ群の取得されたページ・コードが攻撃コードを担持するかどうかを検出する。
本願のこの実施形態では、プリセット動的コードは、現在の表示ページから該現在の表示ページの次の表示ページに切り換えるよう脅威検出装置をトリガーするために使われる。すなわち、プリセット動的コードは、現在の表示ページから該現在の表示ページの次の表示ページに自動的にスクロールする機能を実装することができ、この機能は人間‐機械対話プロセスと等価である。プリセット動的コードは、現在の表示ページから該現在の表示ページの次の表示ページへの自動的なスクロールを実装するために使われる。よって、本願のこの実施形態では、脅威検出装置が第一の表示ページ群の最後の表示ページを表示するとき、プリセット動的コードのアクションのもとで、脅威検出装置は、第二の表示ページ群における最初の表示ページを表示することを続ける必要がある。それにより、第二の表示ページ群のページ・コードを取得するよう脅威検出装置をトリガーする。それにより、脅威検出装置は、第二の表示ページ群のページ・コードが攻撃コードを担持するかどうかをWebサンドボックスにおいて検出する。このようにして、遅延ロード・シナリオにおいて、脅威検出装置は、遅延ロードされるページ・コードが攻撃コードを担持しているかどうかをWebサンドボックスにおいて検出することができ、Webサンドボックスの見逃された検出問題が回避される。
任意的に、本願のこの実施形態において、脅威検出装置は、ソケットSocketインターフェースを使って、Webサーバーによって送られる、第一の表示ページ群のページ・コードを受領してもよい。
具体的には、このシナリオにおいて、脅威検出装置は、ソケットSocketインターフェースを使って第一の表示ページ群のページ・コードを受領するときに、プリセット動的コードを、第一の表示ページ群のページ・コードに注入してもよい。
任意的に、本願のこの実施形態におけるWebサンドボックスのネットワーク層プロトコル処理関数をフックするようフック・プログラムが設定され、該フック・プログラムは第一の表示ページ群のページ・コードをインターセプトするために使用される。この場合、脅威検出装置は、フック・プログラムが第一の表示ページ群のページ・コードを取得するときに、プリセット動的コードを、第一の表示ページ群のページ・コードに注入する。
任意的に、脅威検出装置においてWebサンドボックスのブラウザー・カーネルをフックするようフック・プログラムが設定され、該フック・プログラムは、第一の表示ページ群のページ・コードをインターセプトするために使用される。この場合、脅威検出装置は、フック・プログラムが第一の表示ページ群のページ・コードを取得するときに、プリセット動的コードを、第一の表示ページ群のページ・コードに注入する。
上記の記述から、本願のこの実施形態では、脅威検出装置がプリセット動的コードを、種々の瞬間に、第一の表示ページ群に注入しうること、注入時間は比較的柔軟であることがわかる。
任意的に、本願のこの実施形態において、動的コードは、第一の表示ページ群のページ・コードの末尾に置かれる。
脅威検出装置がプリセット動的コードを第一の表示ページ群のページ・コードの末尾に置くことで、第一の表示ページ群のページ・コードの既存の構造が影響されず、開発者が識別するのが簡単であり、コード実装が比較的単純である。
第二の側面によれば、本願のある実施形態は、脅威検出装置を提供する。該脅威検出装置は、処理ユニット、表示ユニット、送信ユニットおよび受信ユニットを含む。
処理ユニットは:Webサンドボックスのブラウザーにおいて一様資源位置指定子URLをロードするとき、Webサーバーから、前記URLによって同定される第一の表示ページ群のページ・コードと、ブラウザーの表示領域において前記第一の表示ページ群によって占められる全体的なサイズとを取得するよう構成され、前記第一の表示ページ群のページ・コードはモニタリング・コードを含み、該モニタリング・コードは、表示変数の値を取得およびモニタリングするために使われ、前記表示変数の値は、ブラウザーの表示領域において、最初の表示ページの開始位置から前記第一の表示ページ群における現在の表示ページまでに表示された表示ページによって占められるサイズを表わすために使われる。処理ユニットは、プリセット動的コードを、前記第一の表示ページ群のページ・コードに注入するよう構成され、ここで、プリセット動的コードは、現在の表示ページから、該現在の表示ページの次の表示ページへの切り換えをトリガーするために使われる。処理ユニットは、前記第一の表示ページ群の、前記プリセット動的コードを含むページ・コードをパースおよび実行するよう構成される。
表示ユニットは、処理ユニットによってパースされ、実行される、プリセット動的コードを含む、第一の表示ページ群のページ・コードに従って、前記第一の表示ページ群における諸表示ページを逐次的な仕方で表示するよう構成される。
送信ユニットは、処理ユニットが表示変数の値がプリセット値以上であることを検出するとき、Webサーバーに要求メッセージを送るよう構成される。ここで、要求メッセージは、Webサーバーから第二の表示ページ群のページ・コードを取得することを要求するために使われる。前記第二の表示ページ群における最初の表示ページが、前記第一の表示ページ群における最後の表示ページの次の表示ページであり、前記プリセット値は、ブラウザーの表示領域における前記第一の表示ページ群における最初の表示ページによって占められるサイズ以上であり、ブラウザーの表示領域における前記第一の表示ページ群によって占められる全体的なサイズ未満である。
受信ユニットは、Webサーバーによって送られた応答メッセージであって、該応答メッセージは前記第二の表示ページ群のページ・コードを含んでいる、応答メッセージを受信するよう構成される。
処理ユニットはさらに、受信ユニットによって受信された、第二の表示ページ群のページ・コードが攻撃コードを担持するかどうかをWebサンドボックスにおいて検出するよう構成される。
本願のこの実施形態では、プリセット動的コードは、現在の表示ページから該現在の表示ページの次の表示ページへの切り換えをトリガーするために使われる。すなわち、プリセット動的コードは、現在の表示ページから該現在の表示ページの次の表示ページに自動的にスクロールする機能を実装することができる。本願のこの実施形態において、脅威検出装置が第一の表示ページ群におけるすべての表示ページを逐次的に自動的に表示することができるよう、脅威検出装置は、第一の表示ページ群の取得されたページ・コードに、プリセット動的コードを注入する。表示変数の値がプリセット値以上であるとき、脅威検出装置は、Webサーバーと対話して第二の表示ページ群のページ・コードを取得するようトリガーされる。それにより、脅威検出装置は、Webサンドボックスにおいて、第二の表示ページ群のページ・コードが攻撃コードを担持するかどうかを検出でき、Webサンドボックスの見逃された検出問題が回避される。
任意的に、処理ユニットは具体的には、Webサーバーによって送られる、URLによって同定される第一の表示ページ群のページ・コードを、ソケットSocketインターフェースを使って受領するよう構成される。
任意的に、Webサンドボックスのネットワーク層プロトコル処理関数をフックするようフック・プログラムが設定され、該フック・プログラムは第一の表示ページ群のページ・コードをインターセプトするために使用される。処理ユニットは具体的には、フック・プログラムが第一の表示ページ群のページ・コードを取得するときに、プリセット動的コードを、第一の表示ページ群のページ・コードに注入するよう構成される。
任意的に、Webサンドボックスのブラウザー・カーネルをフックするようフック・プログラムが設定され、該フック・プログラムは、第一の表示ページ群のページ・コードをインターセプトするために使用される。処理ユニットは具体的には、フック・プログラムが第一の表示ページ群のページ・コードを取得するときに、プリセット動的コードを、第一の表示ページ群のページ・コードに注入するよう構成される。
任意的に、本願のこの実施形態において、プリセット動的コードは、第一の表示ページ群のページ・コードの末尾に置かれる。
第三の側面によれば、本願のもう一つの実施形態は、コンピュータ可読記憶媒体を提供し、該コンピュータ可読記憶媒体は、プログラム・コードの一つまたは複数の片を含む。脅威検出装置におけるプロセッサが該プログラム・コードを実行するとき、脅威検出装置は、上記の側面およびそのさまざまな任意的な実装のいずれかに基づく脅威検出方法を実行する。
本願のこの実施形態において提供されるコンピュータ可読記憶媒体の技術的効果については、上記の側面およびそのさまざまな任意的な実装のいずれかの対応する技術的効果を参照されたい。詳細はここで再び記述されはしない。
第四の側面によれば、本願のもう一つの実施形態は、上記の側面およびそのさまざまな任意的な実装のいずれかに基づく少なくとも一つの脅威検出装置と、Webサーバーとを含むネットワーク・システムを提供する。前記少なくとも一つの脅威検出装置の各脅威検出装置は、ネットワークを使ってWebサーバーに接続される。
具体的には、Webサーバーは、脅威検出装置によって送られた要求に応じて、対応するページ・コードを脅威検出装置に送るよう構成される。よって、脅威検出装置は、Webサンドボックスにおいて、表示ページ群の受領されたページ・コードが攻撃コードを担持するかどうかを検出する。
任意的に、Webサーバーは、脅威検出装置によって送られた一様資源位置指定子URLに応じて脅威検出装置に、該URLによって同定される第一の表示ページ群のページ・コードを送る。Webサーバーは、第二の表示ページ群のページ・コードを、脅威検出装置によって送られた要求メッセージに応じて、脅威検出装置に送る。該要求メッセージは、第二の表示ページ群のページ・コードを取得するために使われる。
本願のこの実施形態において提供されるネットワーク・システムの技術的効果については、上記の側面およびそのさまざまな任意的な実装のいずれかに基づく脅威検出装置によって実行される脅威検出方法において記述される脅威検出装置の技術的効果を参照されたい。詳細はここで再び記述されはしない。
本願の実施形態におけるまたは従来技術における技術的解決策をより明瞭に記述するために、下記は、実施形態または従来技術を記述するために要求される付属の図面を手短かに記述している。明らかに、下記の記述における付属の図面は単に本願のいくつかの実施形態を示すものである。
本願のある実施形態に基づくネットワーク・システムの組成の第一の概略的な構造図である。 本願のある実施形態に基づくネットワーク・システムの組成の第二の概略的な構造図である。 本願のある実施形態に基づくネットワーク・システムの組成の第三の概略的な構造図である。 本願のある実施形態に基づく脅威検出方法の概略的なフローチャートである。 本願のある実施形態に基づく脅威検出装置の第一の概略的な構造図である。 本願のある実施形態に基づく脅威検出装置の第二の概略的な構造図である。 本願のある実施形態に基づくネットワーク・システムの概略的な構造図である。
下記は、本願の実施形態における付属の図面を参照して本願の実施形態における技術的解決策を詳細に記述する。
下記の記述において、限定ではなく例解するために、本願の十全な理解をするよう、具体的なシステム構造、インターフェースおよび技術といった個別的詳細が提供される。しかしながら、当業者には、本願がこれらの個別的詳細なしでも他の実施形態において実施されうることがわかるはずである。他方、本願が無用な詳細によって埋没されることなく記述されるよう、よく知られた装置、回路および方法の詳細な記述は割愛される。
さらに、本願の明細書、請求項および付属の図面で言及される用語「含む」、「もつ」またはそれらの他の任意の変形は、非排他的な包含をカバーすることが意図されている。たとえば、一連の段階またはユニットを含むプロセス、方法、システム、プロダクトまたはデバイスは、挙げられている段階またはユニットに限定されず、任意的には、挙げられていない段階またはユニットをさらに含み、任意的には、該プロセス、該方法、該プロダクトまたは該デバイスの別の内在的な段階またはユニットをさらに含む。
本願の実施形態は、コンピュータ実装プロセス(方法)、コンピューティング・システムまたはプロダクト、たとえばコンピュータ・プログラム・プロダクトもしくはコンピュータ可読媒体として実装されてもよい。コンピュータ・プログラム・プロダクトは、コンピュータ・システムにおいて読み取り可能であり、コンピュータもしくはコンピュータ・システムが例示的プロセスの命令を実行できるようにするために使われるコンピュータ・プログラムを含むようエンコードされるコンピュータ記憶媒体であってもよい。コンピュータ可読記憶媒体は非一時的なコンピュータ可読記憶デバイスであってもよい。たとえば、コンピュータ可読記憶媒体は、揮発性コンピュータ・メモリ、不揮発性メモリ、ハードディスクドライブ、フラッシュ・ドライブ、フロッピーディスク、コンパクトディスクまたは同様の媒体の一つまたは複数を使って実装されてもよい。
本願の実施形態における用語「および/または」は、関連するオブジェクトを記述するための関連関係を述べるだけであり、三つの関係が存在しうることを表わす。たとえば、Aおよび/またはBは、次の三つの場合を表わしうる:Aのみが存在する、AおよびBの両方が存在する、Bのみが存在する。さらに、本明細書における記号「/」は、一般に、関連するオブジェクトの間の「または」の関係を示す。
本願の明細書、請求項および付属の図面において、用語「第一」、「第二」などは、異なるオブジェクトの間の区別をするために意図されており、特定の順序を示すものではない。
遅延ロード・シナリオにおいて、Webサンドボックスがウェブ・ページに対してセキュリティー検出を実行するときに存在するWebサンドボックスの見逃される検出問題を解決するために、本願の実施形態は脅威検出方法を提供する。脅威検出装置は、脅威検出装置によって取得される、URLによって同定される第一の表示ページ群のページ・コード中に、プリセット動的コードを注入する。プリセット動的コードは、現在の表示ページから該現在の表示ページの次の表示ページへの切り換えを惹起するために使われる。それにより、脅威検出装置は自動的に、第一の表示ページ群におけるすべての表示ページを逐次的に表示できる。次の表示ページに自動的にスクロールする機能のアクションのもとで、脅威検出装置とWebサーバーとの間の対話が実装され、第二の表示ページ群のページ・コードが取得され、脅威検出装置は、Webサンドボックスにおいて、第二の表示ページ群のページ・コードが攻撃コードを担持しているかどうかを検出し、Webサンドボックスの見逃される検出問題が回避される。
本願の実施形態における脅威検出装置は、Webサンドボックスがその中に確立されているユーザー端末であってもよく、あるいはWebサーバーとユーザー端末との間に位置される、Webサンドボックスがその中に確立されているセキュリティー検出装置であってもよく、あるいはWebサンドボックスがその中に確立される専用のバイパス検出装置であってもよい。Webサンドボックスは前記専用のバイパス検出装置の仮想オペレーティング・システム内に確立されてもよく、あるいは前記専用のバイパス検出装置の実際のオペレーティング・システム内に確立されてもよい。
ユーザー端末は無線端末または有線端末でありうる。無線端末は、ユーザーのために音声および/またはデータ接続性を提供する装置、無線通信機能をもつハンドヘルド装置または無線モデムに接続された別の処理装置であってもよい。無線端末は、電波アクセス・ネットワーク(RAN: Radio Access Network)を使って一つまたは複数のコア・ネットワークと通信してもよい。無線端末は、携帯電話(あるいは「セルラー」電話と称される)のようなモバイル端末またはモバイル端末をもつコンピュータであってもよく、あるいはポータブル、ポケットサイズ、ハンドヘルド、コンピュータ組み込みまたは車両内のモバイル装置であってもよく、電波アクセス・ネットワークと音声および/またはデータを交換する。たとえば、無線端末は、パーソナル通信サービス(PCS: Personal Communication Service)電話、コードレス電話、セッション開始プロトコル(SIP: Session Initiation Protocol)電話、無線ローカル・ループ(WLL: Wireless Local Loop)ステーションまたは携帯情報端末(PDA: Personal Digital Assistant)のような装置であってもよい。無線端末は、ユーザー・エージェント(User Agent)、ユーザー・デバイス(User Device)またはユーザー装置(User Equipment)と称されることもある。
本願の実施形態において提供される脅威検出方法は、ネットワーク・システムに適用される。ネットワーク・システムは、少なくとも一つの脅威検出装置およびWebサーバーを含む。
任意的に、上記の記述を参照するに、脅威検出装置がその中にWebサンドボックスが確立されているユーザー端末である場合、本願の実施形態において提供される脅威検出方法が適用されるネットワーク・システムの構造が図1に示されている。図1を参照するに、ネットワーク・システムは、Webサーバー10および少なくとも一つのユーザー端末11を含み、ユーザー端末内にWebサンドボックス12が確立されており、Webサーバー10はネットワークを使って各ユーザー端末11に接続されている。
Webサーバー10は、テキスト、メディアおよび他の情報、たとえばオーディオ、ビデオ、画像、チャート、図およびテーブルを記憶している。Webサーバー10は主として、ユーザー端末11のためにコンテンツまたはサービスを提供する。たとえば、Webサーバー10は、あるURLに対応するページ・コードをユーザー端末11に送る。
任意的に、本願のこの実施形態におけるWebサーバー10は、ネットワーキング環境における一つまたは複数のソフトウェア・プログラムを実行するコンピューティング装置であってもよく、あるいはネットワークにおけるWebサーバーの一つまたは複数のコンピューティング装置上で実行される仮想Webサーバーと考えられてもよい。仮想Webサーバーはソフトウェア・プログラムを使って実装される。
Webサンドボックス12はユーザー端末11内に確立される。ユーザー端末11は、あらかじめ定義された通信プロトコルを使って、ユーザー端末11内に確立されたWebサンドボックス12と通信してもよい。ユーザー端末11は、Webサーバー10からページ・コードを取得することを、Webサンドボックス12を使って要求してもよい。ページ・コードによって表わされるコンテンツは、ウェブサイトのコンポーネント、たとえば画像、テキスト・コンポーネント、メディアまたはそれらの任意の組み合わせを含んでいてもよい。ユーザー端末11は、Webサーバー10によってユーザー端末11に送られたページ・コードが攻撃コードを担持するかどうかを、Webサンドボックス12において検出してもよい。
本願のこの実施形態におけるネットワークは、有線または無線技術によって提供されるいかなるネットワーク・アーキテクチャーであってもよい。
任意的に、上記の記述を参照するに、脅威検出装置がその中にWebサンドボックスが確立されるセキュリティー装置である場合、本願の実施形態において提供される脅威検出方法が適用されるネットワーク・システムの構造が図2に示されている。図2を参照するに、ネットワーク・システムは、Webサーバー20、その中にWebサンドボックス23が確立されるセキュリティー装置21および少なくとも一つのユーザー端末22を含む。Webサーバー20はネットワークを使ってセキュリティー装置21に接続され、セキュリティー装置21はネットワークを使って各ユーザー端末22に接続される。
本願のこの実施形態においてWebサーバー20によって実装されることのできる機能は、先の例においてWebサーバー10によって実装される機能と同じであり、詳細を再び述べることはしない。
Webサンドボックス23はセキュリティー装置21内に確立される。セキュリティー装置21は、あらかじめ定義された通信プロトコルを使って、セキュリティー装置21内に確立されたWebサンドボックス23と通信してもよい。セキュリティー装置21は、Webサーバー20からページ・コードを取得することを、Webサンドボックス23を使って要求してもよい。セキュリティー装置21は、Webサーバー20によってセキュリティー装置21に送られたページ・コードが攻撃コードを担持するかどうかを、Webサンドボックス23において検出してもよい。
ユーザー端末22は、セキュリティー装置21と対話し、ページ・コードが攻撃コードを担持するかどうかをセキュリティー装置21によって検出した検出結果を取得することができる。
任意的に、上記の記述を参照するに、脅威検出装置がその中にWebサンドボックスが確立される専用のバイパス検出装置である場合、本願の実施形態において提供される脅威検出方法が適用されるネットワーク・システムの構造が図3に示されている。図3を参照するに、ネットワーク・システムは、Webサーバー30、スイッチ31、その中にWebサンドボックスが確立される専用のバイパス検出装置32および少なくとも一つのユーザー端末33を含む。Webサーバー30はネットワークを使ってスイッチ31に接続され、スイッチ31はネットワークを使って専用のバイパス検出装置32に接続され、スイッチ31はネットワークを使って各ユーザー端末33に接続される。
本願のこの実施形態においてWebサーバー30によって実装されることのできる機能は、先の例においてWebサーバー10によって実装される機能と同じであり、詳細を再び述べることはしない。
ユーザー端末33によってWebサーバー30に送られる、URLを含む要求メッセージを検出するとき、スイッチ31は該要求をミラーする。すなわち、該URLを含む要求メッセージをコピーして、該要求メッセージを専用のバイパス検出装置32に送る。本願のこの実施形態におけるスイッチ31は、ルーターで置き換えられてもよい。
専用のバイパス検出装置32におけるWebサンドボックスは、専用のバイパス検出装置の仮想オペレーティング・システムにおいて確立されてもよく、あるいは専用のバイパス検出装置の実際のオペレーティング・システムにおいて確立されてもよい。専用のバイパス検出装置32は、あらかじめ定義された通信プロトコルを使って、専用のバイパス検出装置32内に確立されたWebサンドボックスと通信してもよい。URLを含む要求メッセージを取得した後、専用のバイパス検出装置32は、Webサーバー30から前記URLに対応するページ・コードを取得することを、専用のバイパス検出装置32内のWebサンドボックスを使って要求してもよい。専用のバイパス検出装置32は、Webサーバー30によって専用のバイパス検出装置32に送られたページ・コードが攻撃コードを担持するかどうかを、Webサンドボックスにおいて検出してもよい。
本願の実施形態において提供される脅威検出方法および装置ならびにネットワーク・システムは、遅延ロード・シナリオに適用可能である。
図4は、本願のある実施形態に基づく脅威検出方法の概略的なフローチャートである。脅威検出方法は、図1ないし図3のいずれの付属の図面に示されるネットワーク・システムにも適用されうる。
図4を参照するに、脅威検出方法は以下の段階を含む。
S400。WebサンドボックスのブラウザーにおいてURLをロードするとき、脅威検出装置は、Webサーバーから、前記URLによって同定される第一の表示ページ群のページ・コードと、ブラウザーの表示領域において前記第一の表示ページ群によって占められる全体的なサイズとを取得する。
前記第一の表示ページ群のページ・コードはモニタリング・コードを含み、該モニタリング・コードは、表示変数の値を取得およびモニタリングするために使われる。前記表示変数の値は、ブラウザーの表示領域において、最初の表示ページの開始位置から前記第一の表示ページ群における現在の表示ページまでに表示された表示ページによって占められるサイズを表わすために使われる。
S401。脅威検出装置は、プリセット動的コードを、前記第一の表示ページ群のページ・コードに注入する。
プリセット動的コードは、現在の表示ページから、該現在の表示ページの次の表示ページへの切り換えをトリガーするために使われる。すなわち、プリセット動的コードは、現在の表示ページから、該現在の表示ページの次の表示ページに自動的にスクロールする機能を実装することができ、該機能は人間‐機械対話プロセスと等価である。
S402。脅威検出装置は、前記第一の表示ページ群の、前記プリセット動的コードを含むページ・コードをパースおよび実行し、逐次的な仕方で、前記第一の表示ページ群における諸表示ページを表示する。
S403。脅威検出装置は、表示変数の値がプリセット値以上であることを検出するとき、Webサーバーに要求メッセージを送る。該要求メッセージは、Webサーバーから第二の表示ページ群のページ・コードを取得することを要求するために使われる。
前記第二の表示ページ群における最初の表示ページが、前記第一の表示ページ群における最後の表示ページの次の表示ページである。すなわち、脅威検出装置は、まず第一の表示ページ群のすべての表示ページを表示し、次いで、第二の表示ページ群のすべての表示ページを表示する。
プリセット値は、ブラウザーの表示領域における前記第一の表示ページ群における最初の表示ページによって占められるサイズ以上であり、ブラウザーの表示領域における前記第一の表示ページ群によって占められる全体的なサイズ未満である。
S404。Webサーバーが、脅威検出装置に、第二の表示ページ群のページ・コードを担持する応答メッセージを送る。
S405。脅威検出装置は、Webサンドボックスにおいて、前記第二の表示ページ群のページ・コードが攻撃コードを担持するかどうかを検出する。
本願のこの実施形態では、ウェブ・ページをパースすることのできるクライアントが脅威検出装置のWebサンドボックスに組み込まれており、該クライアントは、一般的なブラウザーまたは組み込みブラウザーを統合する別のアプリケーション・プログラムである。
該アプリケーション・プログラムは、一つまたは複数の個別的なタスクを完了するために開発される、オペレーティング・システム上で走るコンピュータ・プログラムである。本願のこの実施形態では、ウェブ・ページをパースできるアプリケーション・プログラムは、脅威検出装置のWebサンドボックスによって担持されるシステムと互換なアプリケーション・プログラムである。
理解の容易のため、本願のこの実施形態では、ブラウザーが脅威検出装置のWebサンドボックスに組み込まれるというのは、記述のための例として使われている。
一般に、脅威検出装置が、脅威検出装置の実際のオペレーティング・システムにおいてブラウザーを使ってウェブ・ページを開くプロセスは、脅威検出装置内のブラウザーとWebサーバーとの間の通信のプロセスと考えられてもよい。具体的には、遅延ロード・シナリオでは、ブラウザーがあるURLをロードするとき、ブラウザーはまず、Webサーバーから、該URLに対応する全ページ・コードのうちの一部を取得し、取得されたページ・コードをロードする。脅威検出装置内のブラウザーは、ユーザーがスクロールバーを下に引っ張るときまたは表示ページが下にスライドするようトリガーするときにのみ、Webサーバーと通信することを続け、その後のページ・コードを取得してロードする。
遅延ロード・シナリオでは、URLに対応する全ページ・コードはWebサーバーによってページ・コードのいくつかのセグメントに分割されることがわかる。記述の簡単のため、本願のこの実施形態において、分割されたページ・コードの各セグメントはページ・コードと称される。Webサーバーは、脅威検出装置によって送られた要求メッセージに応じて、該要求メッセージに対応するページ・コードを脅威検出装置に返す。毎回Webサーバーによって返されるページ・コードによって表わされるコンテンツが少なくとも一つの表示ページに表示されてもよい。よって、毎回Webサーバーによって返されるページ・コードは、表示ページ群のページ・コードである。本願のこの実施形態における表示ページ群は、少なくとも一つの表示ページを含む。
遅延ロード・シナリオでは、WebサーバーがURLに対応する全ページ・コードを分割することは、従来技術に係る。詳細については、従来技術の記述を参照されたい。詳細については、本願のこの実施形態では記述しない。
本願のこの実施形態では、WebサンドボックスのブラウザーにおいてURLをロードするとき、脅威検出装置は、Webサーバーから、URLによって同定される第一の表示ページ群のページ・コードを取得する。第一の表示ページ群のページ・コードは、そのURLに対応する全ページ・コードのうちの一部であり、第一の表示ページ群のページ・コードは、本願のこの実施形態におけるブラウザーがURLをロードするときに、初めて脅威検出装置によって取得されるページ・コードである。
具体的には、本願のこの実施形態において、WebサンドボックスのブラウザーにおいてURLをロードするとき、脅威検出装置は、Webサーバーから、URLによって同定される第一の表示ページ群のページ・コードと、ブラウザーの表示領域において第一の表示ページ群によって占められる全体的なサイズとを取得する。すなわち、脅威検出装置はS400を実行する。
脅威検出装置が、Webサーバーから、URLによって同定される第一の表示ページ群のページ・コードを取得する方法は、脅威検出装置がWebサーバーに、そのURLを担持する要求メッセージを送って、WebサーバーがそのURLに従って脅威検出装置に第一の表示ページ群のページ・コードを送るというものである。
任意的に、第一の表示ページ群のページ・コードはJavaScriptスクリプト言語を使って表現されてもよく、あるいはVBScript(Visual Basic Script)を使って表現されてもよく、あるいはウェブ・ページ・コンテンツをサポートするために使われる他のいかなるスクリプト言語を使って表現されてもよい。本願のこの実施形態において、これは特に限定されない。
Webサーバーから第一の表示ページ群のページ・コードを取得した後、脅威検出装置はさらに、ブラウザーの表示領域において第一の表示ページ群によって占められる全体的なサイズとを取得する。
任意的に、本願のこの実施形態において、ブラウザーの表示領域において第一の表示ページ群によって占められる全体的なサイズは、ブラウザーの表示領域において第一の表示ページ群によって占められる可視ウェブ・ページ領域の高さ値であってもよく、あるいは、ブラウザーの表示領域において第一の表示ページ群によって占められる可視ウェブ・ページ領域の幅値であってもよく、あるいは、ブラウザーの表示領域において第一の表示ページ群によって占められる全ウェブ・ページ・テキストの幅値であってもよい。本願のこの実施形態において、これは特に限定されない。
たとえば、第一の表示ページ群のページ・コードがJavaScriptスクリプト言語を使って表わされる場合、脅威検出装置は、document.body.clientWidthインターフェースを使って、ブラウザーの表示領域において第一の表示ページ群によって占められる可視ウェブ・ページ領域の幅値を取得し;document.body.clientHeightインターフェースを使って、ブラウザーの表示領域において第一の表示ページ群によって占められる可視ウェブ・ページ領域の高さ値を取得し;document.body.scrollWidthインターフェースを使って、ブラウザーの表示領域において第一の表示ページ群によって占められる全ウェブ・ページ・テキストの幅値を取得してもよい。document.body.clientWidthインターフェース、document.body.clientHeightインターフェースおよびdocument.body.scrollWidthインターフェースの定義については、ブラウザー通信プロトコルを参照されたい。詳細を本稿で記載することはしない。
本願のこの実施形態において、脅威検出装置の表示画面における任意の位置に直交座標系が確立されてもよい。該直交座標系はX軸およびY軸を含む。第一の表示ページ群における任意の表示ページ内にあり、直交座標系のX軸に平行な方向が幅(または高さ)と定義されてもよく、その表示ページ内にあり、直交座標系のY軸に平行な方向が高さ(または幅)と定義されてもよい。
さらに、脅威検出装置が第一の表示ページ群のページ・コードを取得した後、脅威検出装置は、プリセット動的コードを、前記第一の表示ページ群のページ・コードに注入する。すなわち、脅威検出装置はS401を実行する。
本願のこの実施形態において、プリセット動的コードによって使用されるスクリプト言語は、第一の表示ページ群のページ・コードによって使用されるスクリプト言語と同じであっても、あるいは異なっていてもよい。本願のこの実施形態において、これは特に限定されない。本願のこの実施形態では、必要なのは、第一の表示ページ群のページ・コードおよびプリセット動的コードの両方が脅威検出装置によって識別されることができることを保証することだけである。
たとえば、プリセット動的コードがJavaScriptスクリプト言語を使って表現される場合、プリセット動的コードは次のコードであってもよい。
<script type="text/javascript"> //コード開始記号//
var pageHeight; //変数pageHeightを定義//
var currentLocate=0; //変数currentLocateを定義。ブラウザーの表示領域における表示される表示ページによって占められるサイズを表わすために使う//
var scrollTimer; //タイマーscrollTimerを定義//
scrollTimer=setInterval("autoScrollDown(),10); //10ミリ秒毎にautoScrollDown関数を実行//
window.onload=function(){ //ウェブ・ページが開かれるときに実行//
pageHeight=document.body.scrollHeight; //ブラウザーの表示領域において取得されたページ・コードによって占められる可視ウェブ・ページ領域の高さ値を取得し、変数pageHeightの値を可視ウェブ・ページ領域の高さになるよう割り当てる//
}
function autoScrollDown() //autoScrollDown関数を定義//
{
If(currentLocate<pageHeight)
{
currentLocate ++;
scroll(0,currentLocate));//変数currentLocateの値が可視ウェブ・ページ領域の高さ値未満である場合、次の表示ページまで自動的にスクロール//
}else{
clearInterval(scrollTimer));//それ以外の場合、タイマーscrollTimerを削除//
}
}
</script> //コード終了記号//
具体的には、第一の表示ページ群のページ・コード内のラベルの対応が影響されないという前提で、本願のこの実施形態において、脅威検出装置は、プリセット動的コードを、第一の表示ページ群のページ・コード内のどのスクリプト・パラグラフの後に置いてもよい。
好ましくは、脅威検出装置は、プリセット動的コードを、第一の表示ページ群のページ・コードの末尾に置く。このようにして、第一の表示ページ群のページ・コードのもとの構造が影響を受けず、開発者にとって識別するのが簡単になる。さらに、実際の応用において、コード実装が比較的単純になる。
さらに、任意的に、本願のこの実施形態において、脅威検出装置がプリセット動的コードを第一の表示ページ群のページ・コードに注入するプロセスは、Webサーバーによって送られた、第一の表示ページ群のページ・コードをソケット(Socket)インターフェースを使って受信するときに、脅威検出装置がプリセット動的コードを第一の表示ページ群のページ・コードに注入するというものであってもよい。
脅威検出装置がWebサンドボックスのブラウザーにおいてURLをロードするプロセスは、脅威検出装置内のブラウザーとWebサーバーとの間の通信のプロセスと考えられてもよい。具体的には、ブラウザーは、ブラウザーとWebサーバーとの間にSocketインターフェースを生成し、ハイパーテキスト転送プロトコル(HTTP: Hypertext Transfer Protocol)仕様に従ってHTTP要求パケットをWebサーバーに送る。Webサーバーはブラウザーによって送られたHTTP要求パケットをHTTP仕様に従ってパースし、応答メッセージをブラウザーに送る。ここで、応答メッセージは、JavaScript文書のようなページ・コードを含む。ブラウザーは、応答メッセージ内のページ・コードをパースし、レンダリングによってページ・コードを処理してハイパーテキストマークアップ言語(HTML: HyperText Markup Language)ページにする。
具体的には、本願のこの実施形態において、Webサーバーによって送られた応答メッセージをSocketインターフェースを使って受信するとき、脅威検出装置はまず、応答メッセージが第一の表示ページ群のページ・コードを含んでいるかどうかを判定する。応答メッセージが第一の表示ページ群のページ・コードを含んでいれば、脅威検出装置はプリセット動的コードを、第一の表示ページ群のページ・コードに注入する。
任意的に、本願のこの実施形態において、脅威検出装置においてフック・プログラムが設定されてもよい。フック・プログラムは、脅威検出装置のWebサンドボックスのネットワーク層プロトコル処理関数をフックし、フック・プログラムは、第一の表示ページ群のページ・コードをインターセプトするために使われる。本願のこの実施形態では、脅威検出装置が第一の表示ページ群のページ・コードにプリセット動的コードを注入するプロセスは、フック・プログラムが第一の表示ページ群のページ・コードを取得するときに、脅威検出装置が第一の表示ページ群のページ・コードにプリセット動的コードを注入するというものであってもよい。
Webサンドボックスが、脅威検出装置のオペレーティング・システムのコピーと等価であることが理解されうる。よって、Webサンドボックスは、通信プロトコル層をも含む。本願のこの実施形態では、Webサンドボックスのネットワーク層は、伝送制御プロトコル/インターネット・プロトコル(TCP/IP: Transmission Control Protocol/Internet Protocol)モデルにおけるネットワーク層の機能をもつプロトコル層である。
たとえば、脅威検出装置のWebサンドボックスがリナックス・システムで走る場合、脅威検出装置においてLinux netfilter機構のNF_IP_LOCAL_INフック・プログラムが設定され、該NF_IP_LOCAL_INフック・プログラムがWebサンドボックスのネットワーク層プロトコル処理関数をフックする。脅威検出装置は、NF_IP_LOCAL_INフック・プログラムが第一の表示ページ群のページ・コードを取得するときに、第一の表示ページ群のページ・コードにプリセット動的コードを注入する。
任意的に、本願のこの実施形態において、脅威検出装置にフック・プログラムが設定される。フック・プログラムは、Webサンドボックスのブラウザー・カーネルをフックし、フック・プログラムは第一の表示ページ群のページ・コードをインターセプトするために使われる。本願のこの実施形態では、脅威検出装置が第一の表示ページ群のページ・コードにプリセット動的コードを注入するプロセスは、フック・プログラムが第一の表示ページ群のページ・コードを取得するときに、脅威検出装置が第一の表示ページ群のページ・コードにプリセット動的コードを注入するというものであってもよい。
具体的には、脅威検出装置は、第一の表示ページ群のページ・コードにプリセット動的コードを注入するのは、脅威検出装置のWebサンドボックスが第一の表示ページ群のページ・コードを取得した後、Webサンドボックス内のブラウザーが第一の表示ページ群のページ・コードのパースおよびレンダリングを開始する前およびWebサンドボックスのブラウザー・カーネルをフックするフック・プログラムが第一の表示ページ群のページ・コードをインターセプトするときである。
たとえば、Webサンドボックス内のブラウザーがWebkitブラウザーである場合、Webkitブラウザーのブラウザー・カーネルはvoid Resource Loader::did Receive Data (Resource Handle*, const char* data, int length, int encoded DataLength)インターフェースをもち、フック・プログラムは、Webkitブラウザーのブラウザー・カーネルをフックするよう脅威検出装置において設定される。フック・プログラムがvoid Resource Loader::did Receive Data (Resource Handle*, const char* data, int length, int encoded DataLength)インターフェースから第一の表示ページ群のページ・コードを取得するとき、脅威検出装置は、データ・パラメータによって指示される、第一の表示ページ群のページ・コードに、プリセット動的コードを注入する。
脅威検出装置が第一の表示ページ群のページ・コードにプリセット動的コードを注入する時点に関わりなく、脅威検出装置は、プリセット動的コードを含む、第一の表示ページ群のページ・コードを取得することができる。
脅威検出装置が、プリセット動的コードを含む、第一の表示ページ群のページ・コードを取得した後、脅威検出装置は、プリセット動的コードを含む、第一の表示ページ群のページ・コードをパースし、実行し、その後、第一の表示ページ群の表示ページを逐次的に表示する。すなわち、脅威検出装置はS402を実行する。
本願のこの実施形態において、プリセット動的コードは、現在の表示ページから該現在の表示ページの次の表示ページへの切り換えをトリガーするために使われる。すなわち、プリセット動的コードは、現在の表示ページから該現在の表示ページの次の表示ページに自動的にスクロールする機能を実装することができる。この機能は人間‐機械対話プロセスと等価である。
上記の記述から、第一の表示ページ群が少なくとも一つの表示ページを含むことがわかる。よって、脅威検出装置が、プリセット動的コードを含む第一の表示ページ群のページ・コードをパースして実行するとき、脅威検出装置は、第一の表示ページ群における表示ページを逐次的に表示する。
さらに、脅威検出装置が、プリセット動的コードを含む、第一の表示ページ群のページ・コードをパースし、実行するとき、脅威検出装置は表示変数の値の変化をモニタリングする。
上記の記述から、表示変数の値が、ブラウザーの表示領域において、第一の表示ページ群における最初の表示ページの開始位置から現在の表示ページまでの表示された表示ページによって占められるサイズを表わすために使われることがわかる。脅威検出装置が第一の表示ページ群における表示ページを逐次的に表示するとき、表示変数の値が徐々に増大することが簡単に理解される。
表示変数の値は、ブラウザーの表示領域における表示された表示ページによって占められる可視ウェブ・ページ領域の幅値を表わしていてもよく、あるいはブラウザーの表示領域における表示された表示ページによって占められる可視ウェブ・ページ領域の高さ値を表わしていてもよい。
具体的には、脅威検出装置が表示変数の値がプリセット値以上であることを検出するとき、脅威検出装置はWebサーバーに要求メッセージを送る。すなわち、脅威検出装置はS403を実行する。
脅威検出装置によって送られる要求メッセージは、表示ページ群識別子を担持し、Webサーバーは、表示ページ群識別子に従って、脅威検出装置によって取得される必要のある、表示ページ群のページ・コードを決定する。
表示ページ群識別子は前記第一の表示ページ群の識別子であってもよく、あるいは前記第二の表示ページ群の識別子であってもよい。本願のこの実施形態において、これは特に限定されない。本願のこの実施形態において、要求メッセージが前記第一の表示ページ群の識別子を担持している場合、Webサーバーは、前記第一の表示ページ群の識別子に基づいて、前記第一の表示ページ群の識別子によって同定される前記第一の表示ページ群の後の前記第二の表示ページ群のページ・コードを探し、該第二の表示ページ群のページ・コードを返す。本願のこの実施形態において、要求メッセージが前記第二の表示ページ群の識別子を担持している場合、Webサーバーは、前記第二の表示ページ群の識別子に基づいて、前記第二の表示ページ群の識別子によって同定される前記第二の表示ページ群のページ・コードを探し、該第二の表示ページ群のページ・コードを返す。
本願のこの実施形態では、要求メッセージに担持される表示ページ群識別子が第二の表示ページ群の識別子である場合、表示ページ群識別子は、すべての表示ページ群における第二の表示ページ群の表示順であってもよく、あるいは第二の表示ページ群のインデックス情報であってもよい。本願のこの実施形態において、これは特に限定されない。
たとえば、すべての表示ページ群における第二の表示ページ群の表示順が2である場合、要求メッセージは「get page 2」〔ページ2を取得〕という動作コードを担持してもよい。
さらに、脅威検出装置が要求メッセージをWebサーバーに送った後、Webサーバーは、要求メッセージに応答して、応答メッセージを脅威検出装置に送る。ここで、応答メッセージは第二の表示ページ群のページ・コードを担持する。すなわち、S404が実行される。
対応して、脅威検出装置は第二の表示ページ群のページ・コードを取得する。
さらに、脅威検出装置は、Webサンドボックスにおいて、前記第二の表示ページ群のページ・コードが攻撃コードを担持するかどうかを検出する。すなわち、脅威検出装置はS405を実行する。
脅威検出装置が、前記第二の表示ページ群のページ・コードが攻撃コードを担持するかどうかをWebサンドボックスにおいて検出するプロセスについては、Webサンドボックスの既存の検出原理を参照されたい。詳細は本稿では記載されない。
第二の表示ページ群のページ・コードは遅延ロードされるページ・コードである。したがって、本願で提供される脅威検出方法によれば、脅威検出装置は、遅延ロード・ページが攻撃コードを担持するかどうかを検出でき、Webサンドボックスの見逃される検出問題が回避される。
脅威検出装置が第二の表示ページ群のページ・コードを取得した後、第一の表示ページ群のページ・コードおよび第二の表示ページ群のページ・コードが一体のページ・コードに組み合わされる。この場合、脅威検出装置はプリセット動的コードを実行し続ける。したがって、脅威検出装置は表示ページを自動的に切り換えることを続ける。脅威検出装置が表示ページを自動的に切り換えるとき、脅威検出装置は、Webサーバーと対話することを続け、その後の表示ページ群のページ・コードを取得し、その後の表示ページ群のページ・コードを検出するようトリガーされる。これは、当該URLに対応するすべての表示ページがロードされるまで行なわれ、次いで、プロセスは終了する。
たとえば、プリセット動的コードが、上記の例に示したコードである場合、上記の例に示したプリセット動的コードにおいて、変数currentLocateが変数pageHeight未満である場合、現在の表示ページは自動的に次の表示ページにスクロールする。脅威検出装置が第二の表示ページ群のページ・コードを取得した後、脅威検出装置によって得られる変数pageHeightの値がしかるべく増大する。したがって、脅威検出装置は表示ページを自動的に切り換え続ける。
上記の記述から、本願のこの実施形態において提供される脅威検出方法によれば、脅威検出装置はWebサンドボックスにおいて遅延ロードされたページ・コードを取得してもよく、遅延ロードされたページ・コードが攻撃コードを担持するかどうかを、Webサンドボックスにおいて検出してもよく、Webサンドボックスの見逃される検出問題が回避される。
本願のある実施形態は、脅威検出装置1を提供する。脅威検出装置1は、上記の脅威検出方法における脅威検出装置によって実行される段階を実行するよう構成される。脅威検出装置1は、対応する段階に対応するモジュールを含んでいてもよい。
図5に示されるように、脅威検出装置1は処理ユニット50、表示ユニット51、送信ユニット52および受信ユニット53を含む。
処理ユニット50は、Webサンドボックスのブラウザーにおいて一様資源位置指定子URLをロードするとき、Webサーバーから、前記URLによって同定される第一の表示ページ群のページ・コードと、ブラウザーの表示領域において前記第一の表示ページ群によって占められる全体的なサイズとを取得するよう構成され、前記第一の表示ページ群のページ・コードはモニタリング・コードを含み、該モニタリング・コードは、表示変数の値を取得およびモニタリングするために使われ、前記表示変数の値は、ブラウザーの表示領域において、最初の表示ページの開始位置から前記第一の表示ページ群における現在の表示ページまでに表示された表示ページによって占められるサイズを表わすために使われる。処理ユニットは、プリセット動的コードを、前記第一の表示ページ群のページ・コードに注入するよう構成され、ここで、プリセット動的コードは、現在の表示ページから、該現在の表示ページの次の表示ページへの切り換えをトリガーするために使われる。処理ユニットは、前記第一の表示ページ群の、前記プリセット動的コードを含むページ・コードをパースおよび実行するよう構成される。
表示ユニット51は、処理ユニット50によってパースされ、実行される、プリセット動的コードを含む、第一の表示ページ群のページ・コードに従って、前記第一の表示ページ群における諸表示ページを逐次的な仕方で表示するよう構成される。
送信ユニット52は、処理ユニット50が前記モニタリング・コードを使って表示変数の値がプリセット値以上であることを検出するとき、Webサーバーに要求メッセージを送るよう構成される。ここで、要求メッセージは、Webサーバーから第二の表示ページ群のページ・コードを取得することを要求するために使われる。前記第二の表示ページ群における最初の表示ページが、前記第一の表示ページ群における最後の表示ページの次の表示ページであり、前記プリセット値は、ブラウザーの表示領域における前記第一の表示ページ群における最初の表示ページによって占められるサイズ以上であり、ブラウザーの表示領域における前記第一の表示ページ群によって占められる全体的なサイズ未満である。
受信ユニット53は、Webサーバーによって送られた応答メッセージであって、該応答メッセージは前記第二の表示ページ群のページ・コードを含んでいる、応答メッセージを受信するよう構成される。
処理ユニット50はさらに、受信ユニット53によって受信された、第二の表示ページ群のページ・コードが攻撃コードを担持するかどうかを、Webサンドボックスにおいて検出するよう構成される。
さらに、処理ユニット50は具体的には、Webサーバーによって送られる、前記URLによって同定される第一の表示ページ群のページ・コードを、ソケットSocketインターフェースを使って受領するよう構成される。
任意的に、本願のこの実施形態において、Webサンドボックスのネットワーク層プロトコル処理関数をフックするよう脅威検出装置1においてフック・プログラムが設定され、該フック・プログラムは第一の表示ページ群のページ・コードをインターセプトするために使用される。処理ユニット50は具体的には、フック・プログラムが第一の表示ページ群のページ・コードを取得するときに、プリセット動的コードを、第一の表示ページ群のページ・コードに注入するよう構成される。
任意的に、本願のこの実施形態において、Webサンドボックスのブラウザー・カーネルをフックするよう、脅威検出装置1においてフック・プログラムが設定され、該フック・プログラムは、第一の表示ページ群のページ・コードをインターセプトするために使用される。処理ユニット50は具体的には、フック・プログラムが第一の表示ページ群のページ・コードを取得するときに、プリセット動的コードを、第一の表示ページ群のページ・コードに注入するよう構成される。
好ましくは、プリセット動的コードは、第一の表示ページ群のページ・コードの末尾に置かれる。
本願のこの実施形態における脅威検出装置1が、脅威検出装置1によって実装される機能に応じて単に論理的に分割されていることが理解されうる。実際の応用では、上記のユニットは重畳されたり、分割されたりしてもよい。
本願のこの実施形態において提供される脅威検出装置1によって実装される機能は、上記の実施形態で提供される脅威検出方法と一対一対応にある。脅威検出装置1によって実装される、より詳細な処理プロセスは、上記の方法実施形態において詳細に記載されており、詳細をここで再び述べることはしない。
本願のもう一つの実施形態は脅威検出装置を提供する。図6に示されるように、脅威検出装置は、インターフェース回路60、プロセッサ61、メモリ62、システム・バス63およびスクリーン64を含んでいる。
インターフェース回路60、プロセッサ61、メモリ62およびスクリーン64はシステム・バス63によって接続され、相互の通信を完遂する。
当業者は、図6に示される脅威検出装置の構造が脅威検出装置へのいかなる限定もなさないことを理解しうる。脅威検出装置は、図6に示されるよりも多数または少数のコンポーネントを含んでいてもよく、あるいはいくつかのコンポーネントを組み合わせてもよく、あるいは異なるコンポーネント配置を有していてもよい。
具体的には、脅威検出装置が走るとき、脅威検出装置は図4に示される実施形態における脅威検出方法を実行する。具体的な脅威検出方法については、図4に示される実施形態における関係した記述を参照されたい。ここで詳細を再び述べることはしない。
本願のこの実施形態では、Webサンドボックスは脅威検出装置内に確立される。
上記の実施形態を参照するに、本願のこの実施形態におけるインターフェース回路60は、上記の実施形態における送信ユニット52であってもよく、上記の実施形態における受信ユニット53であってもよい。
具体的には、インターフェース回路60は、脅威検出装置とWebサーバーとの間の通信接続を実装するよう構成される。
上記の実施形態を参照するに、本願のこの実施形態におけるメモリ62は、上記の実施形態における処理ユニット50であってもよい。
具体的には、メモリ62は、ソフトウェア・プログラムおよびアプリケーション・モジュールを記憶するよう構成されてもよい。メモリ62に記憶されているソフトウェア・プログラムおよびアプリケーション・モジュールを走らせることにより、プロセッサ61は脅威検出装置のさまざまな機能的アプリケーションを実行し、データを処理する。
メモリ62は、主として、プログラム記憶領域620およびデータ記憶領域621を含んでいてもよい。プログラム記憶領域620はオペレーティング・システム、少なくとも一つの機能、たとえば要求メッセージの送信機能によって要求されるアプリケーション・プログラムを記憶してもよい。データ記憶領域621は、Webサーバーによって送られたページ・コードを記憶してもよい。たとえば、第一の表示ページ群のページ・コードおよび第二の表示ページ群のページ・コードを保存してもよい。
メモリ62は、高速のランダムアクセスメモリ(RAM: Random Access Memory)のような揮発性メモリを含んでいてもよい。メモリ62は不揮発性メモリ、たとえば少なくとも一つの磁気ディスク記憶コンポーネント、フラッシュメモリ・コンポーネントまたは他の揮発性半導体記憶コンポーネントを含んでいてもよい。本願のこの実施形態において、これは特に限定されない。
上記の実施形態を参照するに、本願のこの実施形態におけるプロセッサ61は上記の実施形態における処理ユニット50であってもよい。
具体的には、プロセッサ61は脅威検出装置の制御センターである。
プロセッサ61は、さまざまなインターフェースおよび線を使って脅威検出装置全体のすべての部分に接続される。プロセッサ62は、メモリ62に記憶されているソフトウェア・プログラムおよび/またはアプリケーション・モジュールを走らせるまたは実行し、脅威検出装置全体をモニタリングするよう、脅威検出装置のさまざまな機能を実行してデータを処理するために、メモリ62に記憶されているデータを呼び出す。
任意的に、プロセッサ61は中央処理ユニット(CPU: Central Processing Unit)であってもよい。プロセッサ61は別の一般的なプロセッサ、デジタル信号プロセッサ(DSP: Digital Signal Processor)または別のプログラム可能型論理デバイスまたはトランジスタ論理デバイス、離散的なハードウェア・コンポーネントなどであってもよい。本願のこの実施形態において、これは特に限定されない。
一般的なプロセッサは、マイクロプロセッサであってもよく、前記プロセッサはいかなる通常のプロセッサなどであってもよい。
システム・バス63は、データ・バス、電力バス、制御バス、信号状態バスなどを含みうる。
本願のこの実施形態では、明瞭な記載のために、さまざまなバスが図6におけるシステム・バス63によって代表されている。
上記の実施形態を参照するに、本願のこの実施形態におけるスクリーン64は上記の実施形態における表示ユニット51であってもよい。
本願のこの実施形態は、脅威検出装置を提供する。脅威検出装置は、プリセット動的コードを記憶し、プリセット動的コードは、現在の表示ページから該現在の表示ページの次の表示ページに切り換えるよう脅威検出装置をトリガーするために使われる。したがって、第一の表示ページ群のページ・コードおよびプリセット動的コードを走らせるとき、脅威検出装置は、逐次的な仕方で、第一の表示ページ群における表示ページを表示する。脅威検出装置が表示変数の値がプリセット値以上であることを検出するとき、脅威検出装置はWebサーバーと対話して、第二の表示ページ群のページ・コードを取得する。このようにして、遅延ロード・シナリオにおいて、脅威検出装置は、Webサンドボックスにおいて、遅延ロードされたページ・コードを取得することができ、脅威検出装置は、遅延ロードされたページ・コードが攻撃コードを担持するかどうかをWebサンドボックスにおいて検出し、遅延ロードされたページ・コードに関し、脅威検出装置による、Webサンドボックスにおける見逃された検出が回避される。
図4に示される実施形態における脅威検出方法が、ソフトウェア機能モジュールの形で実装され、独立したプロダクトとして販売または使用されるとき、脅威検出方法はコンピュータ可読記憶媒体に記憶されてもよい。そのような理解に基づき、当業者は、本願の実施形態が方法、電子装置またはコンピュータ・プログラム・プロダクトとして提供されうることを理解するはずである。よって、本願は、ハードウェアのみの実施形態、ソフトウェアのみの実施形態、ソフトウェアとハードウェアの組み合わせの実施形態の形を使用しうる。加えて、本願は、プログラム・コードを含む一つまたは複数のコンピュータ可読記憶媒体上で実装されるコンピュータ・プログラム・プロダクトの形を使ってもよい。コンピュータ記憶媒体は、これに限られないが、USBフラッシュ・ドライブ、リムーバブルハードディスク、読み出し専用メモリ(ROM: Read-Only Memory)、磁気ディスクメモリ、CD-ROM、光学式メモリなどを含む。
対応して、本願のこの実施形態はさらに、コンピュータ可読記憶媒体を提供し、コンピュータ可読記憶媒体は一つまたは複数片のプログラム・コードを含む。脅威検出装置内のプロセッサが該プログラム・コードを実行するとき、脅威検出装置は図4に示される脅威検出方法を実行する。
本願のある実施形態はさらに、ネットワーク・システムを提供する。図7に示されるように、ネットワーク・システムは、上記の実施形態に基づく少なくとも一つの脅威検出装置と、Webサーバーとを含む。
具体的には、Webサーバーは、脅威検出装置によって送られた要求に応じて、対応するページ・コードを脅威検出装置に送るよう構成される。よって、脅威検出装置は、Webサンドボックスにおいて、表示ページ群の受領されたページ・コードが攻撃コードを担持するかどうかを検出する。
任意的に、Webサーバーは、脅威検出装置によって送られた一様資源位置指定子URLに応じて脅威検出装置に、該URLによって同定される第一の表示ページ群のページ・コードを送る。Webサーバーは、第二の表示ページ群のページ・コードを、脅威検出装置によって送られた要求メッセージに応じて、脅威検出装置に送る。該要求メッセージは、第二の表示ページ群のページ・コードを取得するために使われる。
Webサーバーによって実装される、より詳細な処理プロセスは上記の実施形態において詳細に記載されており、ここで再び詳細を述べることはしない。
脅威検出装置によって実装される、より詳細な処理プロセスは上記の実施形態において詳細に記載されており、ここで再び詳細を述べることはしない。
本願のこの実施形態はネットワーク・システムを提供する。ネットワーク・システム内の脅威検出装置はプリセット動的コードを記憶しており、プリセット動的コードは、現在の表示ページから該現在の表示ページの次の表示ページに切り換えるよう脅威検出装置をトリガーするために使われる。したがって、第一の表示ページ群のページ・コードおよびプリセット動的コードを走らせるとき、脅威検出装置は、逐次的な仕方で、第一の表示ページ群における表示ページを表示する。脅威検出装置が表示変数の値がプリセット値以上であることを検出するとき、脅威検出装置はWebサーバーと対話して、第二の表示ページ群のページ・コードを取得する。このようにして、遅延ロード・シナリオにおいて、脅威検出装置は、Webサンドボックスにおいて、遅延ロードされたページ・コードを取得することができ、脅威検出装置は、遅延ロードされたページ・コードが攻撃コードを担持するかどうかをWebサンドボックスにおいて検出し、遅延ロードされたページ・コードに関し、脅威検出装置による、Webサンドボックスにおける見逃された検出が回避される。
実装についての上記の記述により、当業者は、簡便な記述のために上記の機能モジュールの分割が例解のための例として採用されていることを理解することができる。実際の応用では、上記の機能は異なるモジュールに割り当てられ、必要性に応じて実装されることができる。すなわち、上記の機能の全部または一部を実装するために装置の内部構造は異なる機能モジュールに分割される。上記のシステム、装置およびユニットの詳細な作動プロセスについては、上記の方法実施形態における対応するプロセスが参照されてもよく、ここで再び詳細を述べることはしない。
本願で提供されるいくつかの実施形態において、開示されるシステム、装置および方法は他の仕方で実装されてもよいことを理解しておくべきである。
たとえば、記載された装置実施形態は単に例である。たとえば、モジュールまたはユニット分割は単に論理的な機能分割であり、実際の実装では他の分割であってもよい。たとえば、複数のユニットまたはコンポーネントが別のシステムに組み合わされたり、あるいは統合されたりしてもよく、あるいはいくつかの機能が無視されたり、あるいは実行されなかったりしてもよい。加えて、表示されるまたは論じられる相互結合または直接結合または通信接続は、いくつかのインターフェースを使って実装されてもよい。装置またはユニットの間の間接的な結合または通信接続が電子的、機械的または他の形で実装されてもよい。
別個の部分として記述されるユニットは物理的に別個であってもなくてもよく、ユニットとして表示される部分は物理的なユニットであってもなくてもよく、一つの位置に位置していてもよく、あるいは複数のネットワーク・ユニットに分散されていてもよい。ユニットの一部または全部は、実施形態の解決策の目的を達成するために、実際の必要性に応じて選択されてもよい。
加えて、本願の実施形態における機能ユニットは、一つの処理ユニットに統合されてもよく、あるいは各ユニットが物理的に単独で存在してもよく、あるいは二つ以上のユニットが一つのユニットに統合される。統合されたユニットは、ハードウェアの形で実装されてもよく、あるいはソフトウェア機能ユニットの形で実装されてもよい。
統合されたユニットがソフトウェア機能ユニットの形で実装され、独立なプロダクトとして販売または使用されるとき、統合されたユニットは、コンピュータ可読記憶媒体に記憶されてもよい。
そのような理解に基づいて、本質的には本発明の、あるいは先行技術に貢献する部分の技術的解決策または該技術的解決策の全部または一部は、ソフトウェア・プロダクトの形で実装されてもよい。ソフトウェア・プロダクトは記憶媒体に記憶され、コンピュータ装置(これはパーソナル・コンピュータ、サーバーまたはネットワーク装置でありうる)またはプロセッサに本発明の実施形態において記載された方法の段階の全部または一部を実行するよう命令するためのいくつかの命令を含んでいる。上記の記憶媒体は:プログラム・コードを記憶することができる任意の媒体、たとえばUSBフラッシュ・ドライブ、リムーバブルハードディスク、読み出し専用メモリ(ROM: Read-Only Memory)、ランダムアクセスメモリ(RAM: Random Access Memory)、磁気ディスクまたは光学式ディスクを含む。
本願のいくつかの好ましい実施形態が記述されているが、当業者は、ひとたび基本的な発明概念を習得すれば、これらの実施形態に変更および修正をすることができる。したがって、付属の請求項は、上記の好ましい実施形態および本願の範囲内にはいるすべての変更および修正をカバーするものとして解釈されることが意図されている。
明らかに、当業者は、本願の精神および範囲から外れることなく、本願にさまざまな修正および変形をなすことができる。本願は、付属の請求項およびその等価な技術によって定義される保護範囲内にはいる限り、本願のこれらの修正および変形をカバーすることが意図されている。

Claims (11)

  1. 脅威検出方法であって:
    Webサンドボックスのブラウザーにおいて一様資源位置指定子URLをロードするとき、脅威検出装置によって、Webサーバーから、前記URLによって同定される第一の表示ページ群のページ・コードと、前記ブラウザーの表示領域において前記第一の表示ページ群によって占められる全体的なサイズとを取得する段階であって、前記第一の表示ページ群のページ・コードはモニタリング・コードを含み、該モニタリング・コードは、表示変数の値を取得およびモニタリングするために使われ、前記表示変数の値は、前記ブラウザーの表示領域において、最初の表示ページの開始位置から前記第一の表示ページ群における現在の表示ページまでに表示された表示ページによって占められるサイズを表わすために使われる、段階と;
    前記脅威検出装置によって、プリセット動的コードを、前記第一の表示ページ群のページ・コードに注入する段階であって、前記プリセット動的コードは、現在の表示ページから、該現在の表示ページの次の表示ページへの切り換えをトリガーするために使われる、段階と;
    前記第一の表示ページ群の、前記プリセット動的コードを含むページ・コードを、前記脅威検出装置によってパースおよび実行し、前記第一の表示ページ群における表示ページを逐次的な仕方で表示する段階と;
    前記脅威検出装置が前記表示変数の値がプリセット値以上であることを、前記モニタリング・コードを使って検出する場合、前記Webサーバーに要求メッセージを送る段階であって、前記要求メッセージは、前記Webサーバーから第二の表示ページ群のページ・コードを取得することを要求するために使われ、前記第二の表示ページ群における最初の表示ページは前記第一の表示ページ群における最後の表示ページの次の表示ページであり、前記プリセット値は、前記ブラウザーの表示領域における前記第一の表示ページ群における最初の表示ページによって占められるサイズ以上であり、前記ブラウザーの表示領域における前記第一の表示ページ群によって占められる前記全体的なサイズ未満である、段階と;
    前記Webサーバーによって送られた応答メッセージであって、該応答メッセージは前記第二の表示ページ群のページ・コードを担持する、応答メッセージを、前記脅威検出装置によって受信する段階と;
    前記第二の表示ページ群のページ・コードが攻撃コードを担持するかどうかを、前記脅威検出装置によって前記Webサンドボックスにおいて検出する段階とを含む、
    脅威検出方法。
  2. 脅威検出装置によって、Webサーバーから、前記URLによって同定される第一の表示ページ群のページ・コードを取得することが:
    前記Webサーバーによって送られる、前記URLによって同定される前記第一の表示ページ群のページ・コードを、前記脅威検出装置によって、ソケットSocketインターフェースを使って受信することを含む、
    請求項1記載の脅威検出方法。
  3. 前記Webサンドボックスのネットワーク層プロトコル処理関数をフックするようフック・プログラムが設定され、該フック・プログラムは前記第一の表示ページ群のページ・コードをインターセプトするために使用され;
    前記脅威検出装置によって、プリセット動的コードを、前記第一の表示ページ群のページ・コードに注入することが:
    前記フック・プログラムが前記第一の表示ページ群のページ・コードを取得するときに、前記脅威検出装置によって、前記プリセット動的コードを、前記第一の表示ページ群のページ・コードに注入することを含む、
    請求項1または2記載の脅威検出方法。
  4. 前記Webサンドボックスのブラウザー・カーネルをフックするようフック・プログラムが設定され、該フック・プログラムは、前記第一の表示ページ群のページ・コードをインターセプトするために使用され;
    前記脅威検出装置によって、プリセット動的コードを、前記第一の表示ページ群のページ・コードに注入することが:
    前記フック・プログラムが前記第一の表示ページ群のページ・コードを取得するときに、前記脅威検出装置によって、前記プリセット動的コードを、前記第一の表示ページ群のページ・コードに注入することを含む、
    請求項1または2記載の脅威検出方法。
  5. 前記動的コードは、前記第一の表示ページ群のページ・コードの末尾に置かれる、請求項1ないし4のうちいずれか一項記載の脅威検出方法。
  6. 脅威検出装置であって:
    Webサンドボックスのブラウザーにおいて一様資源位置指定子URLをロードするとき、Webサーバーから、前記URLによって同定される第一の表示ページ群のページ・コードと、前記ブラウザーの表示領域において前記第一の表示ページ群によって占められる全体的なサイズとを取得する段階であって、前記第一の表示ページ群のページ・コードはモニタリング・コードを含み、該モニタリング・コードは、表示変数の値を取得およびモニタリングするために使われ、前記表示変数の値は、前記ブラウザーの表示領域において、最初の表示ページの開始位置から前記第一の表示ページ群における現在の表示ページまでに表示された表示ページによって占められるサイズを表わすために使われる、段階を実行するよう構成され;プリセット動的コードを、前記第一の表示ページ群のページ・コードに注入する段階であって、前記プリセット動的コードは、現在の表示ページから、該現在の表示ページの次の表示ページへの切り換えをトリガーするために使われる、段階を実行するよう構成され;前記第一の表示ページ群の、前記プリセット動的コードを含むページ・コードをパースおよび実行するよう構成されている処理ユニットと;
    前記処理ユニットによってパースされ、実行される、前記プリセット動的コードを含む、前記第一の表示ページ群のページ・コードに従って、前記第一の表示ページ群における表示ページを逐次的な仕方で表示するよう構成されている表示ユニットと;
    前記処理ユニットが前記表示変数の値がプリセット値以上であることを、前記モニタリング・コードを使って検出するとき、前記Webサーバーに要求メッセージを送るよう構成されている送信ユニットであって、前記要求メッセージは、前記Webサーバーから第二の表示ページ群のページ・コードを取得することを要求するために使われ、前記第二の表示ページ群における最初の表示ページが、前記第一の表示ページ群における最後の表示ページの次の表示ページであり、前記プリセット値は、前記ブラウザーの表示領域における前記第一の表示ページ群における最初の表示ページによって占められるサイズ以上であり、前記ブラウザーの表示領域における前記第一の表示ページ群によって占められる前記全体的なサイズ未満である、送信ユニットと;
    前記Webサーバーによって送られた応答メッセージであって、該応答メッセージは前記第二の表示ページ群のページ・コードを含んでいる、応答メッセージを受信するよう構成されている受信ユニットとを有しており、
    前記処理ユニットはさらに、前記受信ユニットによって受信された、前記第二の表示ページ群のページ・コードが攻撃コードを担持するかどうかを前記Webサンドボックスにおいて検出するよう構成されている、
    脅威検出装置。
  7. 前記処理ユニットは具体的には、前記Webサーバーによって送られる、前記URLによって同定される前記第一の表示ページ群のページ・コードを、ソケットSocketインターフェースを使って受信するよう構成されている、請求項6記載の脅威検出装置。
  8. 前記Webサンドボックスのネットワーク層プロトコル処理関数をフックするようフック・プログラムが設定され、該フック・プログラムは前記第一の表示ページ群のページ・コードをインターセプトするために使用され;
    前記処理ユニットは具体的には、前記フック・プログラムが前記第一の表示ページ群のページ・コードを取得するときに、前記プリセット動的コードを、前記第一の表示ページ群のページ・コードに注入するよう構成されている、
    請求項6または7記載の脅威検出装置。
  9. 前記Webサンドボックスのブラウザー・カーネルをフックするようフック・プログラムが設定され、該フック・プログラムは、前記第一の表示ページ群のページ・コードをインターセプトするために使用され;
    前記処理ユニットは具体的には、前記フック・プログラムが前記第一の表示ページ群のページ・コードを取得するときに、前記プリセット動的コードを、前記第一の表示ページ群のページ・コードに注入するよう構成されている、
    請求項6または7記載の脅威検出装置。
  10. 前記プリセット動的コードは、前記第一の表示ページ群のページ・コードの末尾に置かれる、
    請求項6ないし9のうちいずれか一項記載の脅威検出装置。
  11. 請求項6ないし10のうちいずれか一項記載の少なくとも一つの脅威検出装置と、Webサーバーとを有するネットワーク・システムであって、前記少なくとも一つの脅威検出装置の各脅威検出装置は、ネットワークを使って前記Webサーバーに接続される、ネットワーク・システム。
JP2018540440A 2016-05-10 2017-01-13 脅威検出方法および装置ならびにネットワーク・システム Active JP6585853B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201610305868.1 2016-05-10
CN201610305868.1A CN107358095B (zh) 2016-05-10 2016-05-10 一种威胁检测方法、装置及网络系统
PCT/CN2017/071149 WO2017193626A1 (zh) 2016-05-10 2017-01-13 一种威胁检测方法、装置及网络系统

Publications (2)

Publication Number Publication Date
JP2019511767A true JP2019511767A (ja) 2019-04-25
JP6585853B2 JP6585853B2 (ja) 2019-10-02

Family

ID=60266968

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018540440A Active JP6585853B2 (ja) 2016-05-10 2017-01-13 脅威検出方法および装置ならびにネットワーク・システム

Country Status (6)

Country Link
US (2) US11036849B2 (ja)
EP (1) EP3306510B1 (ja)
JP (1) JP6585853B2 (ja)
CN (1) CN107358095B (ja)
ES (1) ES2764672T3 (ja)
WO (1) WO2017193626A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108563946A (zh) * 2018-04-17 2018-09-21 广州大学 一种浏览器挖矿行为检测的方法、浏览器插件和系统
US10614213B1 (en) 2019-11-18 2020-04-07 Clean.io, Inc. Detecting malicious code existing in internet advertisements by ongoing sandbox monitoring
CN111225049A (zh) * 2020-01-02 2020-06-02 上海多算智能科技有限公司 一种自动构建web应用系统镜像的方法
CN112434287B (zh) * 2020-11-20 2024-04-02 西安四叶草信息技术有限公司 一种检测Hook的方法、装置、设备及存储介质

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7953820B2 (en) * 2002-09-11 2011-05-31 Hughes Network Systems, Llc Method and system for providing enhanced performance of web browsing
US9055093B2 (en) * 2005-10-21 2015-06-09 Kevin R. Borders Method, system and computer program product for detecting at least one of security threats and undesirable computer files
US8272048B2 (en) * 2006-08-04 2012-09-18 Apple Inc. Restriction of program process capabilities
US7873635B2 (en) * 2007-05-31 2011-01-18 Microsoft Corporation Search ranger system and double-funnel model for search spam analyses and browser protection
US9712560B2 (en) * 2007-11-05 2017-07-18 Cabara Software Ltd. Web page and web browser protection against malicious injections
EP2462516A4 (en) * 2009-08-07 2014-12-24 Access Innovation Media Pty Ltd SYSTEM AND METHOD FOR CONTINUOUS DIFFUSION OF TEXT IN REAL TIME
CN101692267B (zh) * 2009-09-15 2011-09-07 北京大学 一种大规模恶意网页检测方法及系统
US8341738B2 (en) * 2009-09-29 2012-12-25 Oracle America, Inc. API signature verification for high-security platforms
JP2012078877A (ja) 2010-09-30 2012-04-19 Dainippon Printing Co Ltd 脆弱性検査装置、脆弱性検査方法、及び脆弱性検査プログラム
CN102088379B (zh) * 2011-01-24 2013-03-13 国家计算机网络与信息安全管理中心 基于沙箱技术的客户端蜜罐网页恶意代码检测方法与装置
US9305165B2 (en) 2011-05-06 2016-04-05 The University Of North Carolina At Chapel Hill Methods, systems, and computer readable media for detecting injected machine code
JP2012238218A (ja) * 2011-05-12 2012-12-06 Sony Corp 情報処理装置、情報処理方法及びコンピュータプログラム
US8601579B2 (en) 2011-06-03 2013-12-03 Apple Inc. System and method for preserving references in sandboxes
EP2754004A4 (en) * 2011-09-08 2015-08-19 Double Verify Inc SYSTEM AND METHOD FOR IMPROVED INTERACTION BETWEEN AN IFRAME OR SITE AND AN EMBEDDED IFRAME FROM ANOTHER DOMAIN
JP2014534498A (ja) 2011-09-30 2014-12-18 ニューマン インフィニット, インク.Newman Infinite, Inc. JavaScriptを保護する装置、方法及びコンピューター可読性記憶媒体
US10049168B2 (en) * 2012-01-31 2018-08-14 Openwave Mobility, Inc. Systems and methods for modifying webpage data
US9256733B2 (en) * 2012-04-27 2016-02-09 Microsoft Technology Licensing, Llc Retrieving content from website through sandbox
US9104864B2 (en) 2012-10-24 2015-08-11 Sophos Limited Threat detection through the accumulated detection of threat characteristics
US8893222B2 (en) 2012-11-13 2014-11-18 Auckland Uniservices Ltd. Security system and method for the android operating system
JP6311417B2 (ja) 2014-04-08 2018-04-18 富士通株式会社 無線通信装置、無線通信方法および無線通信プログラム
JP6672309B2 (ja) * 2014-09-09 2020-03-25 ライブパーソン, インコーポレイテッド 動的コード管理
KR101574652B1 (ko) * 2015-01-14 2015-12-11 한국인터넷진흥원 모바일 침해사고 분석시스템 및 방법
IL237986A0 (en) * 2015-03-26 2015-11-30 Yaron Peretz Method and system for broadcasting surfing activities
CN104967628B (zh) * 2015-07-16 2017-12-26 浙江大学 一种保护web应用安全的诱骗方法
CN107757178B (zh) * 2017-11-24 2020-02-21 梁志辉 自动翻谱器

Also Published As

Publication number Publication date
ES2764672T3 (es) 2020-06-04
US20210081526A1 (en) 2021-03-18
US11036849B2 (en) 2021-06-15
EP3306510B1 (en) 2019-10-30
US20180129804A1 (en) 2018-05-10
WO2017193626A1 (zh) 2017-11-16
US11604872B2 (en) 2023-03-14
EP3306510A1 (en) 2018-04-11
CN107358095B (zh) 2019-10-25
EP3306510A4 (en) 2018-07-18
JP6585853B2 (ja) 2019-10-02
CN107358095A (zh) 2017-11-17

Similar Documents

Publication Publication Date Title
US11604872B2 (en) Threat detection method and apparatus, and network system
US8819819B1 (en) Method and system for automatically obtaining webpage content in the presence of javascript
US10387521B2 (en) Creation and delivery of pre-rendered web pages for accelerated browsing
US9565265B2 (en) Method and apparatus for automatically optimizing the loading of images in a cloud-based proxy service
JP5129858B2 (ja) ウェブメディア資源特定システム、及び方法
CN106936793B (zh) 一种信息拦截处理方法及终端
US9208316B1 (en) Selective disabling of content portions
US20090037517A1 (en) Method and system to share content between web clients
US20140149995A1 (en) Browser Kernel Switching Method
JP2010536191A5 (ja)
CN107040584B (zh) 客户端下载图片的方法及装置
WO2013044757A1 (zh) 一种下载链接安全性检测方法、装置及系统
CN109347882B (zh) 网页木马监测方法、装置、设备及存储介质
WO2016127799A1 (zh) 一种视频广告过滤的方法、装置和系统
CN102917074A (zh) 一种实现服务器端浏览器的方法和服务器
CN103269313B (zh) 嵌入式linux家庭网关强制门户的实现方法
US8789177B1 (en) Method and system for automatically obtaining web page content in the presence of redirects
CN104036042B (zh) 信息投放方法、装置及系统
WO2014194733A1 (en) Method and device for obtaining contents of page, application apparatus and mobile terminal
Taylor et al. Cache, Trigger, Impersonate: Enabling Context-Sensitive Honeyclient Analysis On-the-Wire.
CN114357457A (zh) 漏洞检测方法、装置、电子设备和存储介质
US20140067903A1 (en) Media query engine system and method
JP2022532964A (ja) ネットワーク攻撃の防衛方法、装置、デバイス、システム及び記憶媒体 本願は、2020年04月22日に中国特許局に提出した、出願番号が202010323534.3で、出願の名称が「ネットワーク攻撃の防衛方法、装置、デバイス、システム及び記憶媒体」という中国特許出願の優先権を主張し、その全ての内容は援用によって本願に組込まれる。
US9191392B2 (en) Security configuration
US20200358786A1 (en) Dynamic injection or modification of headers to provide intelligence

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180802

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180802

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190729

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190827

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190905

R150 Certificate of patent or registration of utility model

Ref document number: 6585853

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250