【文献】
Alexander Moshchuk,SpyProxy: Execution-based Detection of Malicious Web Content,16th USENIX SECURITY SYMPOSIUM,2007年 8月15日,URL,https://www.cs.virginia.edu/~evans/cs851/moshchuk_new.pdf
前記Webサンドボックスのネットワーク層プロトコル処理関数をフックするようフック・プログラムが設定され、該フック・プログラムは前記第一の表示ページ群のページ・コードをインターセプトするために使用され;
前記脅威検出装置によって、プリセット動的コードを、前記第一の表示ページ群のページ・コードに注入することが:
前記フック・プログラムが前記第一の表示ページ群のページ・コードを取得するときに、前記脅威検出装置によって、前記プリセット動的コードを、前記第一の表示ページ群のページ・コードに注入することを含む、
請求項1記載の脅威検出方法。
前記Webサンドボックスのブラウザー・カーネルをフックするようフック・プログラムが設定され、該フック・プログラムは、前記第一の表示ページ群のページ・コードをインターセプトするために使用され;
前記脅威検出装置によって、プリセット動的コードを、前記第一の表示ページ群のページ・コードに注入することが:
前記フック・プログラムが前記第一の表示ページ群のページ・コードを取得するときに、前記脅威検出装置によって、前記プリセット動的コードを、前記第一の表示ページ群のページ・コードに注入することを含む、
請求項1記載の脅威検出方法。
前記Webサンドボックスのネットワーク層プロトコル処理関数をフックするようフック・プログラムが設定され、該フック・プログラムは前記第一の表示ページ群のページ・コードをインターセプトするために使用され;
前記処理ユニットは具体的には、前記フック・プログラムが前記第一の表示ページ群のページ・コードを取得するときに、前記プリセット動的コードを、前記第一の表示ページ群のページ・コードに注入するよう構成されている、
請求項6記載の脅威検出装置。
前記Webサンドボックスのブラウザー・カーネルをフックするようフック・プログラムが設定され、該フック・プログラムは、前記第一の表示ページ群のページ・コードをインターセプトするために使用され;
前記処理ユニットは具体的には、前記フック・プログラムが前記第一の表示ページ群のページ・コードを取得するときに、前記プリセット動的コードを、前記第一の表示ページ群のページ・コードに注入するよう構成されている、
請求項6記載の脅威検出装置。
請求項6ないし10のうちいずれか一項記載の少なくとも一つの脅威検出装置と、Webサーバーとを有するネットワーク・システムであって、前記少なくとも一つの脅威検出装置の各脅威検出装置は、ネットワークを使って前記Webサーバーに接続される、ネットワーク・システム。
【発明を実施するための形態】
【0035】
下記は、本願の実施形態における付属の図面を参照して本願の実施形態における技術的解決策を詳細に記述する。
【0036】
下記の記述において、限定ではなく例解するために、本願の十全な理解をするよう、具体的なシステム構造、インターフェースおよび技術といった個別的詳細が提供される。しかしながら、当業者には、本願がこれらの個別的詳細なしでも他の実施形態において実施されうることがわかるはずである。他方、本願が無用な詳細によって埋没されることなく記述されるよう、よく知られた装置、回路および方法の詳細な記述は割愛される。
【0037】
さらに、本願の明細書、請求項および付属の図面で言及される用語「含む」、「もつ」またはそれらの他の任意の変形は、非排他的な包含をカバーすることが意図されている。たとえば、一連の段階またはユニットを含むプロセス、方法、システム、プロダクトまたはデバイスは、挙げられている段階またはユニットに限定されず、任意的には、挙げられていない段階またはユニットをさらに含み、任意的には、該プロセス、該方法、該プロダクトまたは該デバイスの別の内在的な段階またはユニットをさらに含む。
【0038】
本願の実施形態は、コンピュータ実装プロセス(方法)、コンピューティング・システムまたはプロダクト、たとえばコンピュータ・プログラム・プロダクトもしくはコンピュータ可読媒体として実装されてもよい。コンピュータ・プログラム・プロダクトは、コンピュータ・システムにおいて読み取り可能であり、コンピュータもしくはコンピュータ・システムが例示的プロセスの命令を実行できるようにするために使われるコンピュータ・プログラムを含むようエンコードされるコンピュータ記憶媒体であってもよい。コンピュータ可読記憶媒体は非一時的なコンピュータ可読記憶デバイスであってもよい。たとえば、コンピュータ可読記憶媒体は、揮発性コンピュータ・メモリ、不揮発性メモリ、ハードディスクドライブ、フラッシュ・ドライブ、フロッピーディスク、コンパクトディスクまたは同様の媒体の一つまたは複数を使って実装されてもよい。
【0039】
本願の実施形態における用語「および/または」は、関連するオブジェクトを記述するための関連関係を述べるだけであり、三つの関係が存在しうることを表わす。たとえば、Aおよび/またはBは、次の三つの場合を表わしうる:Aのみが存在する、AおよびBの両方が存在する、Bのみが存在する。さらに、本明細書における記号「/」は、一般に、関連するオブジェクトの間の「または」の関係を示す。
【0040】
本願の明細書、請求項および付属の図面において、用語「第一」、「第二」などは、異なるオブジェクトの間の区別をするために意図されており、特定の順序を示すものではない。
【0041】
遅延ロード・シナリオにおいて、Webサンドボックスがウェブ・ページに対してセキュリティー検出を実行するときに存在するWebサンドボックスの見逃される検出問題を解決するために、本願の実施形態は脅威検出方法を提供する。脅威検出装置は、脅威検出装置によって取得される、URLによって同定される第一の表示ページ群のページ・コード中に、プリセット動的コードを注入する。プリセット動的コードは、現在の表示ページから該現在の表示ページの次の表示ページへの切り換えを惹起するために使われる。それにより、脅威検出装置は自動的に、第一の表示ページ群におけるすべての表示ページを逐次的に表示できる。次の表示ページに自動的にスクロールする機能のアクションのもとで、脅威検出装置とWebサーバーとの間の対話が実装され、第二の表示ページ群のページ・コードが取得され、脅威検出装置は、Webサンドボックスにおいて、第二の表示ページ群のページ・コードが攻撃コードを担持しているかどうかを検出し、Webサンドボックスの見逃される検出問題が回避される。
【0042】
本願の実施形態における脅威検出装置は、Webサンドボックスがその中に確立されているユーザー端末であってもよく、あるいはWebサーバーとユーザー端末との間に位置される、Webサンドボックスがその中に確立されているセキュリティー検出装置であってもよく、あるいはWebサンドボックスがその中に確立される専用のバイパス検出装置であってもよい。Webサンドボックスは前記専用のバイパス検出装置の仮想オペレーティング・システム内に確立されてもよく、あるいは前記専用のバイパス検出装置の実際のオペレーティング・システム内に確立されてもよい。
【0043】
ユーザー端末は無線端末または有線端末でありうる。無線端末は、ユーザーのために音声および/またはデータ接続性を提供する装置、無線通信機能をもつハンドヘルド装置または無線モデムに接続された別の処理装置であってもよい。無線端末は、電波アクセス・ネットワーク(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)と称されることもある。
【0044】
本願の実施形態において提供される脅威検出方法は、ネットワーク・システムに適用される。ネットワーク・システムは、少なくとも一つの脅威検出装置およびWebサーバーを含む。
【0045】
任意的に、上記の記述を参照するに、脅威検出装置がその中にWebサンドボックスが確立されているユーザー端末である場合、本願の実施形態において提供される脅威検出方法が適用されるネットワーク・システムの構造が
図1に示されている。
図1を参照するに、ネットワーク・システムは、Webサーバー10および少なくとも一つのユーザー端末11を含み、ユーザー端末内にWebサンドボックス12が確立されており、Webサーバー10はネットワークを使って各ユーザー端末11に接続されている。
【0046】
Webサーバー10は、テキスト、メディアおよび他の情報、たとえばオーディオ、ビデオ、画像、チャート、図およびテーブルを記憶している。Webサーバー10は主として、ユーザー端末11のためにコンテンツまたはサービスを提供する。たとえば、Webサーバー10は、あるURLに対応するページ・コードをユーザー端末11に送る。
【0047】
任意的に、本願のこの実施形態におけるWebサーバー10は、ネットワーキング環境における一つまたは複数のソフトウェア・プログラムを実行するコンピューティング装置であってもよく、あるいはネットワークにおけるWebサーバーの一つまたは複数のコンピューティング装置上で実行される仮想Webサーバーと考えられてもよい。仮想Webサーバーはソフトウェア・プログラムを使って実装される。
【0048】
Webサンドボックス12はユーザー端末11内に確立される。ユーザー端末11は、あらかじめ定義された通信プロトコルを使って、ユーザー端末11内に確立されたWebサンドボックス12と通信してもよい。ユーザー端末11は、Webサーバー10からページ・コードを取得することを、Webサンドボックス12を使って要求してもよい。ページ・コードによって表わされるコンテンツは、ウェブサイトのコンポーネント、たとえば画像、テキスト・コンポーネント、メディアまたはそれらの任意の組み合わせを含んでいてもよい。ユーザー端末11は、Webサーバー10によってユーザー端末11に送られたページ・コードが攻撃コードを担持するかどうかを、Webサンドボックス12において検出してもよい。
【0049】
本願のこの実施形態におけるネットワークは、有線または無線技術によって提供されるいかなるネットワーク・アーキテクチャーであってもよい。
【0050】
任意的に、上記の記述を参照するに、脅威検出装置がその中にWebサンドボックスが確立されるセキュリティー装置である場合、本願の実施形態において提供される脅威検出方法が適用されるネットワーク・システムの構造が
図2に示されている。
図2を参照するに、ネットワーク・システムは、Webサーバー20、その中にWebサンドボックス23が確立されるセキュリティー装置21および少なくとも一つのユーザー端末22を含む。Webサーバー20はネットワークを使ってセキュリティー装置21に接続され、セキュリティー装置21はネットワークを使って各ユーザー端末22に接続される。
【0051】
本願のこの実施形態においてWebサーバー20によって実装されることのできる機能は、先の例においてWebサーバー10によって実装される機能と同じであり、詳細を再び述べることはしない。
【0052】
Webサンドボックス23はセキュリティー装置21内に確立される。セキュリティー装置21は、あらかじめ定義された通信プロトコルを使って、セキュリティー装置21内に確立されたWebサンドボックス23と通信してもよい。セキュリティー装置21は、Webサーバー20からページ・コードを取得することを、Webサンドボックス23を使って要求してもよい。セキュリティー装置21は、Webサーバー20によってセキュリティー装置21に送られたページ・コードが攻撃コードを担持するかどうかを、Webサンドボックス23において検出してもよい。
【0053】
ユーザー端末22は、セキュリティー装置21と対話し、ページ・コードが攻撃コードを担持するかどうかをセキュリティー装置21によって検出した検出結果を取得することができる。
【0054】
任意的に、上記の記述を参照するに、脅威検出装置がその中にWebサンドボックスが確立される専用のバイパス検出装置である場合、本願の実施形態において提供される脅威検出方法が適用されるネットワーク・システムの構造が
図3に示されている。
図3を参照するに、ネットワーク・システムは、Webサーバー30、スイッチ31、その中にWebサンドボックスが確立される専用のバイパス検出装置32および少なくとも一つのユーザー端末33を含む。Webサーバー30はネットワークを使ってスイッチ31に接続され、スイッチ31はネットワークを使って専用のバイパス検出装置32に接続され、スイッチ31はネットワークを使って各ユーザー端末33に接続される。
【0055】
本願のこの実施形態においてWebサーバー30によって実装されることのできる機能は、先の例においてWebサーバー10によって実装される機能と同じであり、詳細を再び述べることはしない。
【0056】
ユーザー端末33によってWebサーバー30に送られる、URLを含む要求メッセージを検出するとき、スイッチ31は該要求をミラーする。すなわち、該URLを含む要求メッセージをコピーして、該要求メッセージを専用のバイパス検出装置32に送る。本願のこの実施形態におけるスイッチ31は、ルーターで置き換えられてもよい。
【0057】
専用のバイパス検出装置32におけるWebサンドボックスは、専用のバイパス検出装置の仮想オペレーティング・システムにおいて確立されてもよく、あるいは専用のバイパス検出装置の実際のオペレーティング・システムにおいて確立されてもよい。専用のバイパス検出装置32は、あらかじめ定義された通信プロトコルを使って、専用のバイパス検出装置32内に確立されたWebサンドボックスと通信してもよい。URLを含む要求メッセージを取得した後、専用のバイパス検出装置32は、Webサーバー30から前記URLに対応するページ・コードを取得することを、専用のバイパス検出装置32内のWebサンドボックスを使って要求してもよい。専用のバイパス検出装置32は、Webサーバー30によって専用のバイパス検出装置32に送られたページ・コードが攻撃コードを担持するかどうかを、Webサンドボックスにおいて検出してもよい。
【0058】
本願の実施形態において提供される脅威検出方法および装置ならびにネットワーク・システムは、遅延ロード・シナリオに適用可能である。
【0059】
図4は、本願のある実施形態に基づく脅威検出方法の概略的なフローチャートである。脅威検出方法は、
図1ないし
図3のいずれの付属の図面に示されるネットワーク・システムにも適用されうる。
【0060】
図4を参照するに、脅威検出方法は以下の段階を含む。
【0061】
S400。WebサンドボックスのブラウザーにおいてURLをロードするとき、脅威検出装置は、Webサーバーから、前記URLによって同定される第一の表示ページ群のページ・コードと、ブラウザーの表示領域において前記第一の表示ページ群によって占められる全体的なサイズとを取得する。
【0062】
前記第一の表示ページ群のページ・コードはモニタリング・コードを含み、該モニタリング・コードは、表示変数の値を取得およびモニタリングするために使われる。前記表示変数の値は、ブラウザーの表示領域において、最初の表示ページの開始位置から前記第一の表示ページ群における現在の表示ページまでに表示された表示ページによって占められるサイズを表わすために使われる。
【0063】
S401。脅威検出装置は、プリセット動的コードを、前記第一の表示ページ群のページ・コードに注入する。
【0064】
プリセット動的コードは、現在の表示ページから、該現在の表示ページの次の表示ページへの切り換えをトリガーするために使われる。すなわち、プリセット動的コードは、現在の表示ページから、該現在の表示ページの次の表示ページに自動的にスクロールする機能を実装することができ、該機能は人間‐機械対話プロセスと等価である。
【0065】
S402。脅威検出装置は、前記第一の表示ページ群の、前記プリセット動的コードを含むページ・コードをパースおよび実行し、逐次的な仕方で、前記第一の表示ページ群における諸表示ページを表示する。
【0066】
S403。脅威検出装置は、表示変数の値がプリセット値以上であることを検出するとき、Webサーバーに要求メッセージを送る。該要求メッセージは、Webサーバーから第二の表示ページ群のページ・コードを取得することを要求するために使われる。
【0067】
前記第二の表示ページ群における最初の表示ページが、前記第一の表示ページ群における最後の表示ページの次の表示ページである。すなわち、脅威検出装置は、まず第一の表示ページ群のすべての表示ページを表示し、次いで、第二の表示ページ群のすべての表示ページを表示する。
【0068】
プリセット値は、ブラウザーの表示領域における前記第一の表示ページ群における最初の表示ページによって占められるサイズ以上であり、ブラウザーの表示領域における前記第一の表示ページ群によって占められる全体的なサイズ未満である。
【0069】
S404。Webサーバーが、脅威検出装置に、第二の表示ページ群のページ・コードを担持する応答メッセージを送る。
【0070】
S405。脅威検出装置は、Webサンドボックスにおいて、前記第二の表示ページ群のページ・コードが攻撃コードを担持するかどうかを検出する。
【0071】
本願のこの実施形態では、ウェブ・ページをパースすることのできるクライアントが脅威検出装置のWebサンドボックスに組み込まれており、該クライアントは、一般的なブラウザーまたは組み込みブラウザーを統合する別のアプリケーション・プログラムである。
【0072】
該アプリケーション・プログラムは、一つまたは複数の個別的なタスクを完了するために開発される、オペレーティング・システム上で走るコンピュータ・プログラムである。本願のこの実施形態では、ウェブ・ページをパースできるアプリケーション・プログラムは、脅威検出装置のWebサンドボックスによって担持されるシステムと互換なアプリケーション・プログラムである。
【0073】
理解の容易のため、本願のこの実施形態では、ブラウザーが脅威検出装置のWebサンドボックスに組み込まれるというのは、記述のための例として使われている。
【0074】
一般に、脅威検出装置が、脅威検出装置の実際のオペレーティング・システムにおいてブラウザーを使ってウェブ・ページを開くプロセスは、脅威検出装置内のブラウザーとWebサーバーとの間の通信のプロセスと考えられてもよい。具体的には、遅延ロード・シナリオでは、ブラウザーがあるURLをロードするとき、ブラウザーはまず、Webサーバーから、該URLに対応する全ページ・コードのうちの一部を取得し、取得されたページ・コードをロードする。脅威検出装置内のブラウザーは、ユーザーがスクロールバーを下に引っ張るときまたは表示ページが下にスライドするようトリガーするときにのみ、Webサーバーと通信することを続け、その後のページ・コードを取得してロードする。
【0075】
遅延ロード・シナリオでは、URLに対応する全ページ・コードはWebサーバーによってページ・コードのいくつかのセグメントに分割されることがわかる。記述の簡単のため、本願のこの実施形態において、分割されたページ・コードの各セグメントはページ・コードと称される。Webサーバーは、脅威検出装置によって送られた要求メッセージに応じて、該要求メッセージに対応するページ・コードを脅威検出装置に返す。毎回Webサーバーによって返されるページ・コードによって表わされるコンテンツが少なくとも一つの表示ページに表示されてもよい。よって、毎回Webサーバーによって返されるページ・コードは、表示ページ群のページ・コードである。本願のこの実施形態における表示ページ群は、少なくとも一つの表示ページを含む。
【0076】
遅延ロード・シナリオでは、WebサーバーがURLに対応する全ページ・コードを分割することは、従来技術に係る。詳細については、従来技術の記述を参照されたい。詳細については、本願のこの実施形態では記述しない。
【0077】
本願のこの実施形態では、WebサンドボックスのブラウザーにおいてURLをロードするとき、脅威検出装置は、Webサーバーから、URLによって同定される第一の表示ページ群のページ・コードを取得する。第一の表示ページ群のページ・コードは、そのURLに対応する全ページ・コードのうちの一部であり、第一の表示ページ群のページ・コードは、本願のこの実施形態におけるブラウザーがURLをロードするときに、初めて脅威検出装置によって取得されるページ・コードである。
【0078】
具体的には、本願のこの実施形態において、WebサンドボックスのブラウザーにおいてURLをロードするとき、脅威検出装置は、Webサーバーから、URLによって同定される第一の表示ページ群のページ・コードと、ブラウザーの表示領域において第一の表示ページ群によって占められる全体的なサイズとを取得する。すなわち、脅威検出装置はS400を実行する。
【0079】
脅威検出装置が、Webサーバーから、URLによって同定される第一の表示ページ群のページ・コードを取得する方法は、脅威検出装置がWebサーバーに、そのURLを担持する要求メッセージを送って、WebサーバーがそのURLに従って脅威検出装置に第一の表示ページ群のページ・コードを送るというものである。
【0080】
任意的に、第一の表示ページ群のページ・コードはJavaScriptスクリプト言語を使って表現されてもよく、あるいはVBScript(Visual Basic Script)を使って表現されてもよく、あるいはウェブ・ページ・コンテンツをサポートするために使われる他のいかなるスクリプト言語を使って表現されてもよい。本願のこの実施形態において、これは特に限定されない。
【0081】
Webサーバーから第一の表示ページ群のページ・コードを取得した後、脅威検出装置はさらに、ブラウザーの表示領域において第一の表示ページ群によって占められる全体的なサイズとを取得する。
【0082】
任意的に、本願のこの実施形態において、ブラウザーの表示領域において第一の表示ページ群によって占められる全体的なサイズは、ブラウザーの表示領域において第一の表示ページ群によって占められる可視ウェブ・ページ領域の高さ値であってもよく、あるいは、ブラウザーの表示領域において第一の表示ページ群によって占められる可視ウェブ・ページ領域の幅値であってもよく、あるいは、ブラウザーの表示領域において第一の表示ページ群によって占められる全ウェブ・ページ・テキストの幅値であってもよい。本願のこの実施形態において、これは特に限定されない。
【0083】
たとえば、第一の表示ページ群のページ・コードがJavaScriptスクリプト言語を使って表わされる場合、脅威検出装置は、document.body.clientWidthインターフェースを使って、ブラウザーの表示領域において第一の表示ページ群によって占められる可視ウェブ・ページ領域の幅値を取得し;document.body.clientHeightインターフェースを使って、ブラウザーの表示領域において第一の表示ページ群によって占められる可視ウェブ・ページ領域の高さ値を取得し;document.body.scrollWidthインターフェースを使って、ブラウザーの表示領域において第一の表示ページ群によって占められる全ウェブ・ページ・テキストの幅値を取得してもよい。document.body.clientWidthインターフェース、document.body.clientHeightインターフェースおよびdocument.body.scrollWidthインターフェースの定義については、ブラウザー通信プロトコルを参照されたい。詳細を本稿で記載することはしない。
【0084】
本願のこの実施形態において、脅威検出装置の表示画面における任意の位置に直交座標系が確立されてもよい。該直交座標系はX軸およびY軸を含む。第一の表示ページ群における任意の表示ページ内にあり、直交座標系のX軸に平行な方向が幅(または高さ)と定義されてもよく、その表示ページ内にあり、直交座標系のY軸に平行な方向が高さ(または幅)と定義されてもよい。
【0085】
さらに、脅威検出装置が第一の表示ページ群のページ・コードを取得した後、脅威検出装置は、プリセット動的コードを、前記第一の表示ページ群のページ・コードに注入する。すなわち、脅威検出装置はS401を実行する。
【0086】
本願のこの実施形態において、プリセット動的コードによって使用されるスクリプト言語は、第一の表示ページ群のページ・コードによって使用されるスクリプト言語と同じであっても、あるいは異なっていてもよい。本願のこの実施形態において、これは特に限定されない。本願のこの実施形態では、必要なのは、第一の表示ページ群のページ・コードおよびプリセット動的コードの両方が脅威検出装置によって識別されることができることを保証することだけである。
【0087】
たとえば、プリセット動的コードが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> //コード終了記号//
。
【0088】
具体的には、第一の表示ページ群のページ・コード内のラベルの対応が影響されないという前提で、本願のこの実施形態において、脅威検出装置は、プリセット動的コードを、第一の表示ページ群のページ・コード内のどのスクリプト・パラグラフの後に置いてもよい。
【0089】
好ましくは、脅威検出装置は、プリセット動的コードを、第一の表示ページ群のページ・コードの末尾に置く。このようにして、第一の表示ページ群のページ・コードのもとの構造が影響を受けず、開発者にとって識別するのが簡単になる。さらに、実際の応用において、コード実装が比較的単純になる。
【0090】
さらに、任意的に、本願のこの実施形態において、脅威検出装置がプリセット動的コードを第一の表示ページ群のページ・コードに注入するプロセスは、Webサーバーによって送られた、第一の表示ページ群のページ・コードをソケット(Socket)インターフェースを使って受信するときに、脅威検出装置がプリセット動的コードを第一の表示ページ群のページ・コードに注入するというものであってもよい。
【0091】
脅威検出装置がWebサンドボックスのブラウザーにおいてURLをロードするプロセスは、脅威検出装置内のブラウザーとWebサーバーとの間の通信のプロセスと考えられてもよい。具体的には、ブラウザーは、ブラウザーとWebサーバーとの間にSocketインターフェースを生成し、ハイパーテキスト転送プロトコル(HTTP: Hypertext Transfer Protocol)仕様に従ってHTTP要求パケットをWebサーバーに送る。Webサーバーはブラウザーによって送られたHTTP要求パケットをHTTP仕様に従ってパースし、応答メッセージをブラウザーに送る。ここで、応答メッセージは、JavaScript文書のようなページ・コードを含む。ブラウザーは、応答メッセージ内のページ・コードをパースし、レンダリングによってページ・コードを処理してハイパーテキストマークアップ言語(HTML: HyperText Markup Language)ページにする。
【0092】
具体的には、本願のこの実施形態において、Webサーバーによって送られた応答メッセージをSocketインターフェースを使って受信するとき、脅威検出装置はまず、応答メッセージが第一の表示ページ群のページ・コードを含んでいるかどうかを判定する。応答メッセージが第一の表示ページ群のページ・コードを含んでいれば、脅威検出装置はプリセット動的コードを、第一の表示ページ群のページ・コードに注入する。
【0093】
任意的に、本願のこの実施形態において、脅威検出装置においてフック・プログラムが設定されてもよい。フック・プログラムは、脅威検出装置のWebサンドボックスのネットワーク層プロトコル処理関数をフックし、フック・プログラムは、第一の表示ページ群のページ・コードをインターセプトするために使われる。本願のこの実施形態では、脅威検出装置が第一の表示ページ群のページ・コードにプリセット動的コードを注入するプロセスは、フック・プログラムが第一の表示ページ群のページ・コードを取得するときに、脅威検出装置が第一の表示ページ群のページ・コードにプリセット動的コードを注入するというものであってもよい。
【0094】
Webサンドボックスが、脅威検出装置のオペレーティング・システムのコピーと等価であることが理解されうる。よって、Webサンドボックスは、通信プロトコル層をも含む。本願のこの実施形態では、Webサンドボックスのネットワーク層は、伝送制御プロトコル/インターネット・プロトコル(TCP/IP: Transmission Control Protocol/Internet Protocol)モデルにおけるネットワーク層の機能をもつプロトコル層である。
【0095】
たとえば、脅威検出装置のWebサンドボックスがリナックス・システムで走る場合、脅威検出装置においてLinux netfilter機構のNF_IP_LOCAL_INフック・プログラムが設定され、該NF_IP_LOCAL_INフック・プログラムがWebサンドボックスのネットワーク層プロトコル処理関数をフックする。脅威検出装置は、NF_IP_LOCAL_INフック・プログラムが第一の表示ページ群のページ・コードを取得するときに、第一の表示ページ群のページ・コードにプリセット動的コードを注入する。
【0096】
任意的に、本願のこの実施形態において、脅威検出装置にフック・プログラムが設定される。フック・プログラムは、Webサンドボックスのブラウザー・カーネルをフックし、フック・プログラムは第一の表示ページ群のページ・コードをインターセプトするために使われる。本願のこの実施形態では、脅威検出装置が第一の表示ページ群のページ・コードにプリセット動的コードを注入するプロセスは、フック・プログラムが第一の表示ページ群のページ・コードを取得するときに、脅威検出装置が第一の表示ページ群のページ・コードにプリセット動的コードを注入するというものであってもよい。
【0097】
具体的には、脅威検出装置は、第一の表示ページ群のページ・コードにプリセット動的コードを注入するのは、脅威検出装置のWebサンドボックスが第一の表示ページ群のページ・コードを取得した後、Webサンドボックス内のブラウザーが第一の表示ページ群のページ・コードのパースおよびレンダリングを開始する前およびWebサンドボックスのブラウザー・カーネルをフックするフック・プログラムが第一の表示ページ群のページ・コードをインターセプトするときである。
【0098】
たとえば、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)インターフェースから第一の表示ページ群のページ・コードを取得するとき、脅威検出装置は、データ・パラメータによって指示される、第一の表示ページ群のページ・コードに、プリセット動的コードを注入する。
【0099】
脅威検出装置が第一の表示ページ群のページ・コードにプリセット動的コードを注入する時点に関わりなく、脅威検出装置は、プリセット動的コードを含む、第一の表示ページ群のページ・コードを取得することができる。
【0100】
脅威検出装置が、プリセット動的コードを含む、第一の表示ページ群のページ・コードを取得した後、脅威検出装置は、プリセット動的コードを含む、第一の表示ページ群のページ・コードをパースし、実行し、その後、第一の表示ページ群の表示ページを逐次的に表示する。すなわち、脅威検出装置はS402を実行する。
【0101】
本願のこの実施形態において、プリセット動的コードは、現在の表示ページから該現在の表示ページの次の表示ページへの切り換えをトリガーするために使われる。すなわち、プリセット動的コードは、現在の表示ページから該現在の表示ページの次の表示ページに自動的にスクロールする機能を実装することができる。この機能は人間‐機械対話プロセスと等価である。
【0102】
上記の記述から、第一の表示ページ群が少なくとも一つの表示ページを含むことがわかる。よって、脅威検出装置が、プリセット動的コードを含む第一の表示ページ群のページ・コードをパースして実行するとき、脅威検出装置は、第一の表示ページ群における表示ページを逐次的に表示する。
【0103】
さらに、脅威検出装置が、プリセット動的コードを含む、第一の表示ページ群のページ・コードをパースし、実行するとき、脅威検出装置は表示変数の値の変化をモニタリングする。
【0104】
上記の記述から、表示変数の値が、ブラウザーの表示領域において、第一の表示ページ群における最初の表示ページの開始位置から現在の表示ページまでの表示された表示ページによって占められるサイズを表わすために使われることがわかる。脅威検出装置が第一の表示ページ群における表示ページを逐次的に表示するとき、表示変数の値が徐々に増大することが簡単に理解される。
【0105】
表示変数の値は、ブラウザーの表示領域における表示された表示ページによって占められる可視ウェブ・ページ領域の幅値を表わしていてもよく、あるいはブラウザーの表示領域における表示された表示ページによって占められる可視ウェブ・ページ領域の高さ値を表わしていてもよい。
【0106】
具体的には、脅威検出装置が表示変数の値がプリセット値以上であることを検出するとき、脅威検出装置はWebサーバーに要求メッセージを送る。すなわち、脅威検出装置はS403を実行する。
【0107】
脅威検出装置によって送られる要求メッセージは、表示ページ群識別子を担持し、Webサーバーは、表示ページ群識別子に従って、脅威検出装置によって取得される必要のある、表示ページ群のページ・コードを決定する。
【0108】
表示ページ群識別子は前記第一の表示ページ群の識別子であってもよく、あるいは前記第二の表示ページ群の識別子であってもよい。本願のこの実施形態において、これは特に限定されない。本願のこの実施形態において、要求メッセージが前記第一の表示ページ群の識別子を担持している場合、Webサーバーは、前記第一の表示ページ群の識別子に基づいて、前記第一の表示ページ群の識別子によって同定される前記第一の表示ページ群の後の前記第二の表示ページ群のページ・コードを探し、該第二の表示ページ群のページ・コードを返す。本願のこの実施形態において、要求メッセージが前記第二の表示ページ群の識別子を担持している場合、Webサーバーは、前記第二の表示ページ群の識別子に基づいて、前記第二の表示ページ群の識別子によって同定される前記第二の表示ページ群のページ・コードを探し、該第二の表示ページ群のページ・コードを返す。
【0109】
本願のこの実施形態では、要求メッセージに担持される表示ページ群識別子が第二の表示ページ群の識別子である場合、表示ページ群識別子は、すべての表示ページ群における第二の表示ページ群の表示順であってもよく、あるいは第二の表示ページ群のインデックス情報であってもよい。本願のこの実施形態において、これは特に限定されない。
【0110】
たとえば、すべての表示ページ群における第二の表示ページ群の表示順が2である場合、要求メッセージは「get page 2」〔ページ2を取得〕という動作コードを担持してもよい。
【0111】
さらに、脅威検出装置が要求メッセージをWebサーバーに送った後、Webサーバーは、要求メッセージに応答して、応答メッセージを脅威検出装置に送る。ここで、応答メッセージは第二の表示ページ群のページ・コードを担持する。すなわち、S404が実行される。
【0112】
対応して、脅威検出装置は第二の表示ページ群のページ・コードを取得する。
【0113】
さらに、脅威検出装置は、Webサンドボックスにおいて、前記第二の表示ページ群のページ・コードが攻撃コードを担持するかどうかを検出する。すなわち、脅威検出装置はS405を実行する。
【0114】
脅威検出装置が、前記第二の表示ページ群のページ・コードが攻撃コードを担持するかどうかをWebサンドボックスにおいて検出するプロセスについては、Webサンドボックスの既存の検出原理を参照されたい。詳細は本稿では記載されない。
【0115】
第二の表示ページ群のページ・コードは遅延ロードされるページ・コードである。したがって、本願で提供される脅威検出方法によれば、脅威検出装置は、遅延ロード・ページが攻撃コードを担持するかどうかを検出でき、Webサンドボックスの見逃される検出問題が回避される。
【0116】
脅威検出装置が第二の表示ページ群のページ・コードを取得した後、第一の表示ページ群のページ・コードおよび第二の表示ページ群のページ・コードが一体のページ・コードに組み合わされる。この場合、脅威検出装置はプリセット動的コードを実行し続ける。したがって、脅威検出装置は表示ページを自動的に切り換えることを続ける。脅威検出装置が表示ページを自動的に切り換えるとき、脅威検出装置は、Webサーバーと対話することを続け、その後の表示ページ群のページ・コードを取得し、その後の表示ページ群のページ・コードを検出するようトリガーされる。これは、当該URLに対応するすべての表示ページがロードされるまで行なわれ、次いで、プロセスは終了する。
【0117】
たとえば、プリセット動的コードが、上記の例に示したコードである場合、上記の例に示したプリセット動的コードにおいて、変数currentLocateが変数pageHeight未満である場合、現在の表示ページは自動的に次の表示ページにスクロールする。脅威検出装置が第二の表示ページ群のページ・コードを取得した後、脅威検出装置によって得られる変数pageHeightの値がしかるべく増大する。したがって、脅威検出装置は表示ページを自動的に切り換え続ける。
【0118】
上記の記述から、本願のこの実施形態において提供される脅威検出方法によれば、脅威検出装置はWebサンドボックスにおいて遅延ロードされたページ・コードを取得してもよく、遅延ロードされたページ・コードが攻撃コードを担持するかどうかを、Webサンドボックスにおいて検出してもよく、Webサンドボックスの見逃される検出問題が回避される。
【0119】
本願のある実施形態は、脅威検出装置1を提供する。脅威検出装置1は、上記の脅威検出方法における脅威検出装置によって実行される段階を実行するよう構成される。脅威検出装置1は、対応する段階に対応するモジュールを含んでいてもよい。
【0120】
図5に示されるように、脅威検出装置1は処理ユニット50、表示ユニット51、送信ユニット52および受信ユニット53を含む。
【0121】
処理ユニット50は、Webサンドボックスのブラウザーにおいて一様資源位置指定子URLをロードするとき、Webサーバーから、前記URLによって同定される第一の表示ページ群のページ・コードと、ブラウザーの表示領域において前記第一の表示ページ群によって占められる全体的なサイズとを取得するよう構成され、前記第一の表示ページ群のページ・コードはモニタリング・コードを含み、該モニタリング・コードは、表示変数の値を取得およびモニタリングするために使われ、前記表示変数の値は、ブラウザーの表示領域において、最初の表示ページの開始位置から前記第一の表示ページ群における現在の表示ページまでに表示された表示ページによって占められるサイズを表わすために使われる。処理ユニットは、プリセット動的コードを、前記第一の表示ページ群のページ・コードに注入するよう構成され、ここで、プリセット動的コードは、現在の表示ページから、該現在の表示ページの次の表示ページへの切り換えをトリガーするために使われる。処理ユニットは、前記第一の表示ページ群の、前記プリセット動的コードを含むページ・コードをパースおよび実行するよう構成される。
【0122】
表示ユニット51は、処理ユニット50によってパースされ、実行される、プリセット動的コードを含む、第一の表示ページ群のページ・コードに従って、前記第一の表示ページ群における諸表示ページを逐次的な仕方で表示するよう構成される。
【0123】
送信ユニット52は、処理ユニット50が前記モニタリング・コードを使って表示変数の値がプリセット値以上であることを検出するとき、Webサーバーに要求メッセージを送るよう構成される。ここで、要求メッセージは、Webサーバーから第二の表示ページ群のページ・コードを取得することを要求するために使われる。前記第二の表示ページ群における最初の表示ページが、前記第一の表示ページ群における最後の表示ページの次の表示ページであり、前記プリセット値は、ブラウザーの表示領域における前記第一の表示ページ群における最初の表示ページによって占められるサイズ以上であり、ブラウザーの表示領域における前記第一の表示ページ群によって占められる全体的なサイズ未満である。
【0124】
受信ユニット53は、Webサーバーによって送られた応答メッセージであって、該応答メッセージは前記第二の表示ページ群のページ・コードを含んでいる、応答メッセージを受信するよう構成される。
【0125】
処理ユニット50はさらに、受信ユニット53によって受信された、第二の表示ページ群のページ・コードが攻撃コードを担持するかどうかを、Webサンドボックスにおいて検出するよう構成される。
【0126】
さらに、処理ユニット50は具体的には、Webサーバーによって送られる、前記URLによって同定される第一の表示ページ群のページ・コードを、ソケットSocketインターフェースを使って受領するよう構成される。
【0127】
任意的に、本願のこの実施形態において、Webサンドボックスのネットワーク層プロトコル処理関数をフックするよう脅威検出装置1においてフック・プログラムが設定され、該フック・プログラムは第一の表示ページ群のページ・コードをインターセプトするために使用される。処理ユニット50は具体的には、フック・プログラムが第一の表示ページ群のページ・コードを取得するときに、プリセット動的コードを、第一の表示ページ群のページ・コードに注入するよう構成される。
【0128】
任意的に、本願のこの実施形態において、Webサンドボックスのブラウザー・カーネルをフックするよう、脅威検出装置1においてフック・プログラムが設定され、該フック・プログラムは、第一の表示ページ群のページ・コードをインターセプトするために使用される。処理ユニット50は具体的には、フック・プログラムが第一の表示ページ群のページ・コードを取得するときに、プリセット動的コードを、第一の表示ページ群のページ・コードに注入するよう構成される。
【0129】
好ましくは、プリセット動的コードは、第一の表示ページ群のページ・コードの末尾に置かれる。
【0130】
本願のこの実施形態における脅威検出装置1が、脅威検出装置1によって実装される機能に応じて単に論理的に分割されていることが理解されうる。実際の応用では、上記のユニットは重畳されたり、分割されたりしてもよい。
【0131】
本願のこの実施形態において提供される脅威検出装置1によって実装される機能は、上記の実施形態で提供される脅威検出方法と一対一対応にある。脅威検出装置1によって実装される、より詳細な処理プロセスは、上記の方法実施形態において詳細に記載されており、詳細をここで再び述べることはしない。
【0132】
本願のもう一つの実施形態は脅威検出装置を提供する。
図6に示されるように、脅威検出装置は、インターフェース回路60、プロセッサ61、メモリ62、システム・バス63およびスクリーン64を含んでいる。
【0133】
インターフェース回路60、プロセッサ61、メモリ62およびスクリーン64はシステム・バス63によって接続され、相互の通信を完遂する。
【0134】
当業者は、
図6に示される脅威検出装置の構造が脅威検出装置へのいかなる限定もなさないことを理解しうる。脅威検出装置は、
図6に示されるよりも多数または少数のコンポーネントを含んでいてもよく、あるいはいくつかのコンポーネントを組み合わせてもよく、あるいは異なるコンポーネント配置を有していてもよい。
【0135】
具体的には、脅威検出装置が走るとき、脅威検出装置は
図4に示される実施形態における脅威検出方法を実行する。具体的な脅威検出方法については、
図4に示される実施形態における関係した記述を参照されたい。ここで詳細を再び述べることはしない。
【0136】
本願のこの実施形態では、Webサンドボックスは脅威検出装置内に確立される。
【0137】
上記の実施形態を参照するに、本願のこの実施形態におけるインターフェース回路60は、上記の実施形態における送信ユニット52であってもよく、上記の実施形態における受信ユニット53であってもよい。
【0138】
具体的には、インターフェース回路60は、脅威検出装置とWebサーバーとの間の通信接続を実装するよう構成される。
【0139】
上記の実施形態を参照するに、本願のこの実施形態におけるメモリ62は、上記の実施形態における処理ユニット50であってもよい。
【0140】
具体的には、メモリ62は、ソフトウェア・プログラムおよびアプリケーション・モジュールを記憶するよう構成されてもよい。メモリ62に記憶されているソフトウェア・プログラムおよびアプリケーション・モジュールを走らせることにより、プロセッサ61は脅威検出装置のさまざまな機能的アプリケーションを実行し、データを処理する。
【0141】
メモリ62は、主として、プログラム記憶領域620およびデータ記憶領域621を含んでいてもよい。プログラム記憶領域620はオペレーティング・システム、少なくとも一つの機能、たとえば要求メッセージの送信機能によって要求されるアプリケーション・プログラムを記憶してもよい。データ記憶領域621は、Webサーバーによって送られたページ・コードを記憶してもよい。たとえば、第一の表示ページ群のページ・コードおよび第二の表示ページ群のページ・コードを保存してもよい。
【0142】
メモリ62は、高速のランダムアクセスメモリ(RAM: Random Access Memory)のような揮発性メモリを含んでいてもよい。メモリ62は不揮発性メモリ、たとえば少なくとも一つの磁気ディスク記憶コンポーネント、フラッシュメモリ・コンポーネントまたは他の揮発性半導体記憶コンポーネントを含んでいてもよい。本願のこの実施形態において、これは特に限定されない。
【0143】
上記の実施形態を参照するに、本願のこの実施形態におけるプロセッサ61は上記の実施形態における処理ユニット50であってもよい。
【0144】
具体的には、プロセッサ61は脅威検出装置の制御センターである。
【0145】
プロセッサ61は、さまざまなインターフェースおよび線を使って脅威検出装置全体のすべての部分に接続される。プロセッサ62は、メモリ62に記憶されているソフトウェア・プログラムおよび/またはアプリケーション・モジュールを走らせるまたは実行し、脅威検出装置全体をモニタリングするよう、脅威検出装置のさまざまな機能を実行してデータを処理するために、メモリ62に記憶されているデータを呼び出す。
【0146】
任意的に、プロセッサ61は中央処理ユニット(CPU: Central Processing Unit)であってもよい。プロセッサ61は別の一般的なプロセッサ、デジタル信号プロセッサ(DSP: Digital Signal Processor)または別のプログラム可能型論理デバイスまたはトランジスタ論理デバイス、離散的なハードウェア・コンポーネントなどであってもよい。本願のこの実施形態において、これは特に限定されない。
【0147】
一般的なプロセッサは、マイクロプロセッサであってもよく、前記プロセッサはいかなる通常のプロセッサなどであってもよい。
【0148】
システム・バス63は、データ・バス、電力バス、制御バス、信号状態バスなどを含みうる。
【0149】
本願のこの実施形態では、明瞭な記載のために、さまざまなバスが
図6におけるシステム・バス63によって代表されている。
【0150】
上記の実施形態を参照するに、本願のこの実施形態におけるスクリーン64は上記の実施形態における表示ユニット51であってもよい。
【0151】
本願のこの実施形態は、脅威検出装置を提供する。脅威検出装置は、プリセット動的コードを記憶し、プリセット動的コードは、現在の表示ページから該現在の表示ページの次の表示ページに切り換えるよう脅威検出装置をトリガーするために使われる。したがって、第一の表示ページ群のページ・コードおよびプリセット動的コードを走らせるとき、脅威検出装置は、逐次的な仕方で、第一の表示ページ群における表示ページを表示する。脅威検出装置が表示変数の値がプリセット値以上であることを検出するとき、脅威検出装置はWebサーバーと対話して、第二の表示ページ群のページ・コードを取得する。このようにして、遅延ロード・シナリオにおいて、脅威検出装置は、Webサンドボックスにおいて、遅延ロードされたページ・コードを取得することができ、脅威検出装置は、遅延ロードされたページ・コードが攻撃コードを担持するかどうかをWebサンドボックスにおいて検出し、遅延ロードされたページ・コードに関し、脅威検出装置による、Webサンドボックスにおける見逃された検出が回避される。
【0152】
図4に示される実施形態における脅威検出方法が、ソフトウェア機能モジュールの形で実装され、独立したプロダクトとして販売または使用されるとき、脅威検出方法はコンピュータ可読記憶媒体に記憶されてもよい。そのような理解に基づき、当業者は、本願の実施形態が方法、電子装置またはコンピュータ・プログラム・プロダクトとして提供されうることを理解するはずである。よって、本願は、ハードウェアのみの実施形態、ソフトウェアのみの実施形態、ソフトウェアとハードウェアの組み合わせの実施形態の形を使用しうる。加えて、本願は、プログラム・コードを含む一つまたは複数のコンピュータ可読記憶媒体上で実装されるコンピュータ・プログラム・プロダクトの形を使ってもよい。コンピュータ記憶媒体は、これに限られないが、USBフラッシュ・ドライブ、リムーバブルハードディスク、読み出し専用メモリ(ROM: Read-Only Memory)、磁気ディスクメモリ、CD-ROM、光学式メモリなどを含む。
【0153】
対応して、本願のこの実施形態はさらに、コンピュータ可読記憶媒体を提供し、コンピュータ可読記憶媒体は一つまたは複数片のプログラム・コードを含む。脅威検出装置内のプロセッサが該プログラム・コードを実行するとき、脅威検出装置は
図4に示される脅威検出方法を実行する。
【0154】
本願のある実施形態はさらに、ネットワーク・システムを提供する。
図7に示されるように、ネットワーク・システムは、上記の実施形態に基づく少なくとも一つの脅威検出装置と、Webサーバーとを含む。
【0155】
具体的には、Webサーバーは、脅威検出装置によって送られた要求に応じて、対応するページ・コードを脅威検出装置に送るよう構成される。よって、脅威検出装置は、Webサンドボックスにおいて、表示ページ群の受領されたページ・コードが攻撃コードを担持するかどうかを検出する。
【0156】
任意的に、Webサーバーは、脅威検出装置によって送られた一様資源位置指定子URLに応じて脅威検出装置に、該URLによって同定される第一の表示ページ群のページ・コードを送る。Webサーバーは、第二の表示ページ群のページ・コードを、脅威検出装置によって送られた要求メッセージに応じて、脅威検出装置に送る。該要求メッセージは、第二の表示ページ群のページ・コードを取得するために使われる。
【0157】
Webサーバーによって実装される、より詳細な処理プロセスは上記の実施形態において詳細に記載されており、ここで再び詳細を述べることはしない。
【0158】
脅威検出装置によって実装される、より詳細な処理プロセスは上記の実施形態において詳細に記載されており、ここで再び詳細を述べることはしない。
【0159】
本願のこの実施形態はネットワーク・システムを提供する。ネットワーク・システム内の脅威検出装置はプリセット動的コードを記憶しており、プリセット動的コードは、現在の表示ページから該現在の表示ページの次の表示ページに切り換えるよう脅威検出装置をトリガーするために使われる。したがって、第一の表示ページ群のページ・コードおよびプリセット動的コードを走らせるとき、脅威検出装置は、逐次的な仕方で、第一の表示ページ群における表示ページを表示する。脅威検出装置が表示変数の値がプリセット値以上であることを検出するとき、脅威検出装置はWebサーバーと対話して、第二の表示ページ群のページ・コードを取得する。このようにして、遅延ロード・シナリオにおいて、脅威検出装置は、Webサンドボックスにおいて、遅延ロードされたページ・コードを取得することができ、脅威検出装置は、遅延ロードされたページ・コードが攻撃コードを担持するかどうかをWebサンドボックスにおいて検出し、遅延ロードされたページ・コードに関し、脅威検出装置による、Webサンドボックスにおける見逃された検出が回避される。
【0160】
実装についての上記の記述により、当業者は、簡便な記述のために上記の機能モジュールの分割が例解のための例として採用されていることを理解することができる。実際の応用では、上記の機能は異なるモジュールに割り当てられ、必要性に応じて実装されることができる。すなわち、上記の機能の全部または一部を実装するために装置の内部構造は異なる機能モジュールに分割される。上記のシステム、装置およびユニットの詳細な作動プロセスについては、上記の方法実施形態における対応するプロセスが参照されてもよく、ここで再び詳細を述べることはしない。
【0161】
本願で提供されるいくつかの実施形態において、開示されるシステム、装置および方法は他の仕方で実装されてもよいことを理解しておくべきである。
【0162】
たとえば、記載された装置実施形態は単に例である。たとえば、モジュールまたはユニット分割は単に論理的な機能分割であり、実際の実装では他の分割であってもよい。たとえば、複数のユニットまたはコンポーネントが別のシステムに組み合わされたり、あるいは統合されたりしてもよく、あるいはいくつかの機能が無視されたり、あるいは実行されなかったりしてもよい。加えて、表示されるまたは論じられる相互結合または直接結合または通信接続は、いくつかのインターフェースを使って実装されてもよい。装置またはユニットの間の間接的な結合または通信接続が電子的、機械的または他の形で実装されてもよい。
【0163】
別個の部分として記述されるユニットは物理的に別個であってもなくてもよく、ユニットとして表示される部分は物理的なユニットであってもなくてもよく、一つの位置に位置していてもよく、あるいは複数のネットワーク・ユニットに分散されていてもよい。ユニットの一部または全部は、実施形態の解決策の目的を達成するために、実際の必要性に応じて選択されてもよい。
【0164】
加えて、本願の実施形態における機能ユニットは、一つの処理ユニットに統合されてもよく、あるいは各ユニットが物理的に単独で存在してもよく、あるいは二つ以上のユニットが一つのユニットに統合される。統合されたユニットは、ハードウェアの形で実装されてもよく、あるいはソフトウェア機能ユニットの形で実装されてもよい。
【0165】
統合されたユニットがソフトウェア機能ユニットの形で実装され、独立なプロダクトとして販売または使用されるとき、統合されたユニットは、コンピュータ可読記憶媒体に記憶されてもよい。
【0166】
そのような理解に基づいて、本質的には本発明の、あるいは先行技術に貢献する部分の技術的解決策または該技術的解決策の全部または一部は、ソフトウェア・プロダクトの形で実装されてもよい。ソフトウェア・プロダクトは記憶媒体に記憶され、コンピュータ装置(これはパーソナル・コンピュータ、サーバーまたはネットワーク装置でありうる)またはプロセッサに本発明の実施形態において記載された方法の段階の全部または一部を実行するよう命令するためのいくつかの命令を含んでいる。上記の記憶媒体は:プログラム・コードを記憶することができる任意の媒体、たとえばUSBフラッシュ・ドライブ、リムーバブルハードディスク、読み出し専用メモリ(ROM: Read-Only Memory)、ランダムアクセスメモリ(RAM: Random Access Memory)、磁気ディスクまたは光学式ディスクを含む。
【0167】
本願のいくつかの好ましい実施形態が記述されているが、当業者は、ひとたび基本的な発明概念を習得すれば、これらの実施形態に変更および修正をすることができる。したがって、付属の請求項は、上記の好ましい実施形態および本願の範囲内にはいるすべての変更および修正をカバーするものとして解釈されることが意図されている。
【0168】
明らかに、当業者は、本願の精神および範囲から外れることなく、本願にさまざまな修正および変形をなすことができる。本願は、付属の請求項およびその等価な技術によって定義される保護範囲内にはいる限り、本願のこれらの修正および変形をカバーすることが意図されている。