(57)【特許請求の範囲】
【請求項１】
マルウェアに感染しているマシンを識別する方法であって、
コンピューティングデバイスからのネットワークリクエスト内のユニバーサルリソースロケータ（ＵＲＬ）が、サーバのプロセッサに連結された第１のキャッシュ内にあるかを決定することと、
前記ＵＲＬが前記第１のキャッシュ内にないという決定に応じて、前記ＵＲＬから抽出され、且つ前記ＵＲＬとは異なる完全修飾ドメイン名が、前記サーバの前記プロセッサに連結された第２のキャッシュ内にあるかを決定することと、
前記完全修飾ドメイン名が前記サーバの前記第２のキャッシュ内にないという決定に応じて、前記ＵＲＬから抽出され、且つ前記ＵＲＬとは異なる親ホスト名を不審さについて評価することであって、前記親ホスト名を評価することが、前記親ホスト名が所定の長さを超える長さを有するかを決定することを含む、評価することと、
前記ＵＲＬが前記第１のキャッシュ内にあり且つ当該第１のキャッシュが、前記ＵＲＬが不審であることを示す第１の指示を有することと、前記完全修飾ドメインが前記第２のキャッシュ内にあり且つ当該第２のキャッシュが、前記完全修飾ドメインが不審であることを示す第２の指示を有することと、又は前記親ホスト名が、当該親ホスト名が不審であることを示す第３の指示を有するという評価と、のうちの１つに応じて、前記コンピューティングデバイスが感染している可能性を有することを示すことと、を含み、少なくとも１つの方法動作が前記プロセッサによって実行される、方法。
【請求項２】
前記ＵＲＬが不審であることを示す前記第１の指示は、前記ＵＲＬが第１の値を超える第１の不審さスコアを有することを含み、
前記完全修飾ドメインが不審であることを示す前記第２の指示は、前記完全修飾ドメイン名が第２の値を超える第２の不審さスコアを有し、
前記親ホスト名が不審であることを示す前記第３の指示は、前記親ホスト名が第３の値を超える第３の不審さスコアを生成するという評価を含む、請求項１に記載の方法。
【請求項３】
前記親ホスト名を不審さについて評価することは、前記親ホスト名が、所定の間隔より前に訪問したウェブサイトのリストにあるかを決定することを含む、請求項１に記載の方法。
【請求項４】
前記親ホスト名を不審さについて評価することが、前記親ホスト名に確率的クラシファイアを適用することを含む、請求項１に記載の方法。
【請求項５】
前記完全修飾ドメイン名が前記第２のキャッシュ内にないという決定に応じて、前記ＵＲＬの親ホスト名が、前記プロセッサに連結された第３のキャッシュ内にあるかを決定することを更に含み、前記親ホスト名を評価することが更に、前記親ホスト名が前記第３のキャッシュ内にないという決定に応じる、請求項１に記載の方法。
【請求項６】
前記親ホスト名の不審さについての前記評価に応じて、前記第２のキャッシュを更新することを更に含む、請求項１に記載の方法。
【請求項７】
前記コンピューティングデバイスが感染している可能性を有することを示すことが、前記コンピューティングデバイスに関する追跡情報を、感染している疑いのあるコンピューティングデバイスのリストに追加すること、ユーザに通知すること、及び管理者に通知することのうちの少なくとも１つを含む、請求項１に記載の方法。
【請求項８】
プロセッサによって実行されたときに、前記プロセッサに、
第１のキャッシュ内におけるコンピューティングデバイスによって参照されるユニバーサルリソースロケータ（ＵＲＬ）の存在について検査することと、
前記第１のキャッシュが、前記ＵＲＬの存在を有し、且つＵＲＬが不審であるという指示を有することに応じて、前記コンピューティングデバイスを感染している可能性があるものとしてリストすることと、
前記第１のキャッシュ内に前記ＵＲＬが存在しないことに応じて、前記ＵＲＬから完全修飾ドメイン名を抽出することと、
第２のキャッシュ内における前記完全修飾ドメイン名の存在について検査することと、
前記第２のキャッシュが、前記完全修飾ドメイン名の存在を有し、且つ前記完全修飾ドメイン名が不審であるという指示を有することに応じて、前記コンピューティングデバイスを感染している可能性があるものとしてリストすることと、
前記第２のキャッシュ内に前記完全修飾ドメイン名がないことに応じて、前記ＵＲＬからの親ホスト名の不審さを査定することであって、前記親ホスト名を査定することが、前記親ホスト名が所定の長さを超える長さを有するかを決定することを含む、査定することと、
前記親ホスト名が不審であることを示す前記査定に応じて、前記コンピューティングデバイスを感染している可能性があるものとしてリストすることと、を含む方法を実行させる命令を有する非一時的有形コンピュータ可読媒体。
【請求項９】
前記方法が、
前記ＵＲＬから前記親ホスト名を抽出することを更に含む、請求項８に記載のコンピュータ可読媒体。
【請求項１０】
前記方法が、
パブリックサフィックスリストに従って、前記完全修飾ドメイン名で示された親ホスト名の親がサブドメインを販売しているかを決定することと、
前記親ホストがサブドメインを販売していないという決定に応じて、前記完全修飾ドメイン名が低レベルの不審さを有することを示すように前記第１のキャッシュを更新することと、を更に含む、請求項８に記載のコンピュータ可読媒体。
【請求項１１】
前記方法が、
前記第２のキャッシュが前記完全修飾ドメイン名の存在を有すること、又は前記親ホスト名の不審さについての前記査定のうちの一方に応じて、前記完全修飾ドメイン名に対応する前記ＵＲＬ及び不審さレベルの指示を追加するように前記第１のキャッシュを更新することを更に含む、請求項８に記載のコンピュータ可読媒体。
【請求項１２】
前記コンピューティングデバイスを感染している可能性があるものとしてリストすることが、前記コンピューティングデバイスが、所定の期間中に所定の回数を超える回数、不審なＵＲＬを訪問していること、又は前記コンピューティングデバイスが、同じ又は異なる所定の期間中に所定の回数を超える回数、不審なＵＲＬを訪問していることのうちの少なくとも一方の決定に更に基づく、請求項８に記載のコンピュータ可読媒体。
【請求項１３】
前記方法が、
前記ＵＲＬに示されたドメインが、所定の最近の期間内に最初に登録されたかを決定することと、
前記決定に応じて前記第１のキャッシュを更新することと、を更に含み、前記更新が、前記ドメインが前記所定の最近の期間内に最初に登録されたという決定に応じて、前記ＵＲＬが不審であるという指示を含む、請求項８に記載のコンピュータ可読媒体。
【請求項１４】
マルウェアに感染しているマシンを識別するためのシステムであって、
ＵＲＬ及び第１の関連不審さレベルを記憶するように構成された第１のキャッシュと、
完全修飾ドメイン名及び第２の関連不審さレベルを記憶するように構成された第２のキャッシュと、
前記第１のキャッシュ及び前記第２のキャッシュに連結されたプロセッサと、を備え、前記プロセッサが、監視されている１つ以上のコンピューティングデバイスによって実行されたネットワークアクセスからユニバーサルリソースロケータ（ＵＲＬ）を受け取るように構成されており、
ＵＲＬが存在するかについて前記第１のキャッシュを確認することと、
前記第１のキャッシュ内に前記ＵＲＬが見つからないことに応じて、前記ＵＲＬから抽出され、且つ前記ＵＲＬとは異なる完全修飾ドメイン名が存在するかについて前記第２のキャッシュを確認することと、
前記第２のキャッシュ内に前記完全修飾ドメイン名が見つからないことに応じて、前記ＵＲＬから抽出され、且つ前記ＵＲＬとは異なる親ホスト名に不審さレベルを割り当てることであって、前記不審さレベルが、前記親ホスト名が所定の長さを超える長さを有するかの査定に基づく、割り当てることと、
前記第１のキャッシュの前記確認、前記第２のキャッシュの前記確認、及び前記不審さレベルの前記査定のうちの１つの以上の結果に応じて、前記コンピューティングデバイスを感染しているものとして識別することと、を含む行為を実行するように更に構成されている、システム。
【請求項１５】
前記プロセッサが、前記コンピューティングデバイスが、所定の最近の時間中に所定の数を超える数の不審なドメインを要求すること、前記コンピューティングデバイスが、所定の時間中に所定の回数を超える回数、不審なドメインを訪問すること、前記コンピューティングデバイスが、所定の長さを超える長さ及び所定値を超える不審さスコアを有する所定の数を超える数のドメインを要求すること、前記コンピューティングデバイスが、所定の最近の時間中に登録された所定の数を超える数のドメインを要求すること、前記コンピューティングデバイスが、１つ以上の国であってそのドメインが前記コンピューティングデバイスによって履歴上訪問されたことがない１つ以上の国を起源とする、所定の数を超える数のドメインを要求することのうちの１つ以上に基づいて、前記コンピューティングデバイスを感染しているものとして識別するように構成されている、請求項１４に記載のシステム。
【請求項１６】
前記プロセッサが、インターネットプロトコル（ＩＰ）アドレスをピングしてドメインが現在存在するかを決定するように構成されており、前記コンピューティングデバイスを感染している可能性があるものとして識別することが、前記ピングの結果に更に基づく、請求項１４に記載のシステム。
【請求項１７】
前記コンピューティングデバイスを感染しているものとして識別することが、ＵＲＬ評価サービス、管理者、又はユーザのうちの１つに通知するように構成された前記プロセッサを含む、請求項１４に記載のシステム。
【請求項１８】
前記プロセッサが、前記ＵＲＬから前記完全修飾ドメイン名を抽出するように構成されており、パブリックサフィックスリストの適用により、前記ＵＲＬ又は前記完全修飾ドメイン名からローカルホスト名を抽出するように更に構成されている、請求項１４に記載のシステム。
【請求項１９】
前記プロセッサが、前記第２のキャッシュの前記確認及び前記親ホスト名への前記不審さレベルの前記割り当ての結果に従って前記第１のキャッシュを更新するように構成されており、前記親ホスト名への前記不審さレベルの前記割り当てに従って前記第２のキャッシュを更新するように構成されている、請求項１４に記載のシステム。
【請求項２０】
マルウェアに感染しているマシンを識別する方法であって、
少なくとも第１の期間に、コンピューティングデバイスからのネットワークリクエスト内のドメイン名を追跡することと、
前記コンピューティングデバイスからネットワークリクエストに関連する完全修飾ドメイン名を受け取ることと、
前記完全修飾ドメイン名が、前記少なくとも第１の期間であり、且つ第２の期間より前に、前記追跡されたドメイン名の中のものであるかを決定することであって、前記第２の期間が現在の時間にまで及び、前記第１の期間が前記第２の期間の最初から遡る、決定することと、
前記決定の結果に応じて、前記コンピューティングデバイスが感染している可能性を有することを示すことと、を含み、少なくとも１つの方法動作がプロセッサによって実行される、方法。
【請求項２１】
前記ドメイン名を追跡することが、前記完全修飾ドメイン名を、タイムスタンプと共に、追跡されたドメイン名のリストに追加することを含む、請求項２０に記載の方法。
【請求項２２】
前記決定の結果に応じて、前記コンピューティングデバイスを、マルウェアに感染している疑いのあるコンピューティングデバイスのリストに追加することを更に含む、請求項２０に記載の方法。
【請求項２３】
前記第２の期間中に、前記コンピューティングデバイスが、規定値を超える数の複数のネットワークリクエストを発行したかを更に決定することであって、前記複数のネットワークリクエストの各々が前記完全修飾ドメイン名を含む、更に決定することと、
前記更なる決定の前記結果に応じて、前記コンピューティングデバイスの不審さレベルを引き上げることと、を更に含む、請求項２０に記載の方法。
【請求項２４】
前記完全修飾ドメイン名が所定の長さを超えるかを更に決定することと、
前記完全修飾ドメイン名が、前記追跡により、国であってそのドメインが前記コンピューティングデバイスによって履歴上訪問されたことがない国を起源とするかをなお更に決定することと、
前記更なる決定又は前記なお更なる決定に応じて、前記コンピューティングデバイスの不審さレベルを引き上げることと、を更に含む、請求項２０に記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
ネットワーク内のエンドポイントのマシンからのネットワークリクエストが、様々なタイプのマルウェアの犠牲になることがある。マルウェアの作成者は、マルウェア検出システム及び方法の作成者の裏をかくために絶えず努力しており、またその逆も行われている。様々なマルウェア検出システム及び方法において、精度と効率の間に本質的なトレードオフがある。典型的には、マルウェア検出方法又はシステムは、検出を高めるために、メモリ、通信帯域幅、及び／又は処理帯域幅などのシステム資源を消費する。効率的な方法又はシステムは、消費するシステム資源が少なく、マルウェアの識別における偽陽性の割合が低い。いくつかのマルウェア検出システムは、マルウェアを配布する既知のウェブサイトに対するネットワークリクエストを確認する。しかしながら、マルウェアの作成者は、そのような検出を回避できる新しいウェブサイトを素早く生成することができる。
【０００２】
これは、実施形態が生まれる文脈内にある。
【発明の概要】
【課題を解決するための手段】
【０００３】
マルウェアに感染しているマシンを識別する方法が提供される。本方法は、コンピューティングデバイスからのネットワークリクエスト内のユニバーサルリソースロケータ（ＵＲＬ）が、プロセッサに連結された第１のキャッシュ内にあるかを決定することを含む。本方法は、ＵＲＬが第１のキャッシュ内にないという決定に応じて、ＵＲＬの完全修飾ドメイン名が、プロセッサに連結された第２のキャッシュ内にあるかを決定することを含む。本方法は、完全修飾ドメイン名が第２のキャッシュ内にないという決定に応じて、親ホスト名を不審さについて評価することを含む。本方法は、ＵＲＬが第１の不審さ指示を有する第１のキャッシュ内にあること、完全修飾ドメイン名が第２の不審さ指示を有する第２のキャッシュ内にあること、又は第３の不審さ指示を有する親ホスト名の評価のうちの１つに応じて、コンピューティングデバイスが感染している可能性を有することを指示することを含み、少なくとも１つの方法動作が、プロセッサによって実行される。
【０００４】
プロセッサによって実行されたときに、プロセッサに方法を実行させる命令を有する非一時的有形コンピュータ可読媒体が提供される。本方法は、コンピューティングデバイスによって参照されるユニバーサルリソースロケータ（ＵＲＬ）の第１のキャッシュ内における存在について検査することを含む。本方法は、第１のキャッシュがＵＲＬの存在を有し、かつＵＲＬが不審であるという指示を有することに応じて、コンピューティングデバイスを感染している可能性があるものとしてリストすることを含む。本方法は、第１のキャッシュ内にＵＲＬがないことに応じて、ＵＲＬから完全修飾ドメイン名を抽出することを含む。本方法は、第２のキャッシュが完全修飾ドメイン名の存在を有し、かつ完全修飾ドメイン名が不審であるという指示を有することに応じて、第２のキャッシュ内の完全修飾ドメイン名の存在を検査することと、コンピューティングデバイスを感染している可能性があるものとしてリストすることとを含む。本方法は、第２のキャッシュ内の完全修飾ドメイン名が存在しないことに応じて親ホスト名を不審さについて査定することと、完全修飾ドメイン名が不審であることを示す査定に応じてコンピューティングデバイスを感染している可能性があるものとしてリストすることとを含む。
【０００５】
マルウェアに感染しているマシンを識別するためのシステムが提供される。本システムは、ユニバーサルリソースロケータ（ＵＲＬ）及び第１の関連不審さレベルを記憶するように構成された第１のキャッシュと、完全修飾ドメイン名及び第２の関連不審さレベルを記憶するように構成された第２のキャッシュとを含む。本システムは、第１のキャッシュ及び第２のキャッシュに連結されたプロセッサを含み、このプロセッサは、監視されている１つ以上のコンピューティングデバイスによって行われるネットワークアクセスからユニバーサルリソースロケータ（ＵＲＬ）を受け取るように構成されている。このプロセッサは、ＵＲＬが存在するかについて第１のキャッシュを確認することと、第１のキャッシュ内にＵＲＬを見つからないことに応じて、ＵＲＬからの完全修飾ドメイン名が存在するかについて第２のキャッシュを確認することとを含む行為を実行するように構成されている。これらの行為は、第２のキャッシュ内に完全修飾ドメイン名が見つからないことに応じて、親ホスト名に不審さレベルを割り当てることと、第１のキャッシュの確認、第２のキャッシュの確認及び不審さレベルの割り当ての１つ以上の結果に応じて、コンピューティングデバイスを感染しているものとして識別することとを含む。
【０００６】
マルウェアに感染しているマシンを識別する方法が提供される。本方法は、第１の期間にコンピューティングデバイスからのネットワークリクエスト内のドメイン名を追跡することと、ネットワークリクエストに関連する完全修飾ドメイン名をコンピューティングデバイスから受け取ることとを含む。本方法は、完全修飾ドメイン名が、少なくとも第１の期間であって、かつ第２の期間の前の追跡されたドメイン名の中のものであるかを決定することを含む。第２の期間は、現在の時間までに及び、第１の期間は、第２の期間の最初から遡る。本方法は、決定の結果に応じて、コンピューティングデバイスが感染している可能性を有することを示し、少なくとも１つの方法動作が、プロセッサによって実行される。
【０００７】
実施形態の他の態様及び利点は、例えば、記載した実施形態の原理を示す添付図面と関連して行われる以下の詳細な説明から明白になるであろう。
【図面の簡単な説明】
【０００８】
説明した実施形態及びその利点は、添付図面と関連して行われる以下の説明を参照して最もよく理解され得る。これらの図面は、記載された実施形態の趣旨と範囲から逸脱することなく、記載された実施形態に対して当業者によって行われる形態と詳細のいかなる変更も制限しない。
【図１】いくつかの実施形態による、マルウェアに感染しているマシンを識別するために、ユニバーサルリソースロケータ（ＵＲＬ）をどのように解析し動作させるかを示すシンタックスとプロセスの図である。
【図２】いくつかの実施形態によるマルウェアに感染しているマシンを識別するシステムのブロック図である。
【図３Ａ】図２のシステムの一実施形態のブロック図であり、いくつかの実施形態によるセキュリティ監視サービスを示す。
【図３Ｂ】いくつかの実施形態による図２のシステムの更に他の実施形態のブロック図である。
【図３Ｃ】いくつかの実施形態による図２のシステムの更に他の実施形態のブロック図である。
【図４Ａ】感染の疑いのあるマシンを識別する方法のフロー図であり、この方法は、いくつかの実施形態により図１〜図３Ｃに示された実施形態で実施されてもよくその実施形態を使用してもよい。
【図４Ｂ】いくつかの実施形態による感染の疑いのあるマシンを識別する方法の更に他の態様のフロー図である。
【図４Ｃ】感染の疑いのあるマシンを識別する方法の更に他の実施形態であり、この方法は、いくつかの実施形態による図４Ａと図４Ｂに示された方法の実施形態の代わり又は追加で実施されてもよく、その実施形態の様々な部分と共に実施されてもよい。
【図５】本明細書に記載された実施形態を実現することができる例示的コンピューティングデバイスを示す説明図である。
【発明を実施するための形態】
【０００９】
本明細書に開示されたシステム及び方法の実施形態では、マルウェアに感染しているマシンを識別するために、ネットワーク内のエンドポイントでマシン（すなわち、コンピューティングデバイス）から出されたネットワークリクエストからのユニバーサルリソースロケータ（ＵＲＬ）が収集及び分析される。いくつかの実施形態では、ユニバーサルリソースロケータの一部分が解析され動作するとき、ネットワークリクエストに言語分析が適用される。マルチレベルキャッシュ、又はいくつかの実施形態ではシングルレベルキャッシュの使用によって不審なユニバーサルリソースロケータが識別されたとき、そのような不審なユニバーサルリソースロケータの使用パターンを有するマシンにレッドフラグが付けられる。そのようなレッドフラグ付きマシンによって参照された不審なユニバーサルリソースロケータの更なる分析に基づいて、通知を出すことができる。不審なユニバーサルリソースロケータの識別とそれらの使用パターンの認識を組み合わせて、マルウェアに感染している疑いのあるコンピューティングデバイスを識別することによって、偽陽性の発生率が減少し、システム資源の使用が処理しやすいレベルに維持される。図１は（シンタックスを示す）と図２〜図３Ｃ（システム実施形態を表す）は、図４Ａ〜図４Ｃのフロー図における様々な方法による原理と動作例の検討に続く。
【００１０】
図１は、シンタックス及びプロセス図であり、マルウェアに感染しているマシンを識別するために、本開示の一実施形態により、ユニバーサルリソースロケータ１０２（ウェブアドレスとしても知られる）がどのように解析され動作するかを示す。理解されるように、様々な構成のネットワーク上のコンピューティングデバイスは、図１に示された例の形式と関連した形式のウェブサイトやダウンロードなどのネットワークの資源にアクセスするために、ネットワークを介してネットワークリクエストを送信することができる。典型的には、ユニバーサルリソースロケータ１０２は、左端で、コロンとダブルスラッシュに先行する（すなわち、それらに続く）１組の文字であるスキーム又はプロトコル１０４で始まる。スキーム又はプロトコル１０４の例には、ｈｔｔｐ（ハイパーテキストターミナルプロトコル）、ｈｔｔｐｓ（ハイパーテキストターミナルプロトコルセキュア）、ｆｔｐ（ファイル転送プロトコル）などがある。
【００１１】
右に進むと、スキーム又はプロトコル１０４と、コロンとダブルスラッシュの後に、ホスト（通常はドメイン名として示される）が続くが、リテラルＩＰ（インターネットプロトコル）として示されることもある。ホストの後に、必要に応じて、ポート番号が、コロンと数字として示される。ホストとオプションのポート番号の後に、スラッシュ文字（すなわち「／」）が続く。スラッシュ文字の後に、必要に応じて、パス１１２が示され、パス１１２は、当該の資源がドメイン内のどこにあるかを指定する。その他のオプションは、疑問符（すなわち、「？」）が先にあるクエリストリングを有することである。パスとクエリストリングの両方が適用される場合は、クエリストリングがパスに続く（すなわち、パスの右にある）。
【００１２】
ドメインネームシステム（ＤＮＳ）は、ドメイン名階層とインターネットプロトコルアドレス空間の間を変換し、すなわち、ドメイン名とＩＰアドレスの間を変換する。ドメイン名階層とインターネットプロトコルアドレス空間は両方ともネーム空間である。分野ネーム空間では、シンタックスは、ドメイン名の１つ以上の部分がそれぞれラベルと呼ばれるものである。右端のラベルは、トップレベルドメインであり、階層は右から左に作用し、各レベルは、サブディビジョン又はサブドメインを示す。ドメイン名は登録される。クエリ及び応答プロトコル（例えば、ＷＨＯＩＳ）は、登録ユーザ、インターネット資源の受託者、ドメイン名、ＩＰアドレスブロック及び他の情報に関するデータベースを照会するために使用され得る。そのようなクエリの結果と、クエリ応答が始まるデータ、レコード又はデータベースは、ＷＨＯＩＳデータと呼ばれる。
【００１３】
本明細書に開示されたシステム及び方法のために、図１を引き続き参照すると、いくつかの実施形態では、絶対ドメイン名とも呼ばれる完全修飾ドメイン名１１４が対象となる。完全修飾ドメイン名１１４は、トップレベルドメインとルートゾーンを含む全てのドメインレベルを指定するドメイン名であり、その結果、ドメインネームシステム内で正確なロケーションが指定される。完全修飾ドメイン名１１４は、ユニバーサルリソースロケータ１０２のダブルスラッシュとシングルスラッシュの間の部分であり、スキーム又はプロトコル１０４、コロン及びダブルスラッシュを廃棄し、シングルスラッシュとびシングルスラッシュに続く（すなわち、右側にある）全てのものを廃棄することによって得られる。
【００１４】
一般に、完全修飾ドメイン名１１４は、トップレベルドメイン１１０とホスト名を指定するドメイン名であり、ホスト名は、ホストコンピュータに割り当てられたドメイン名である。全てのホスト名がドメイン名であり、また全てではないが多くのドメイン名がホスト名であることを理解されたい。ホスト名は、単に１つの名前でもよく、ローカルホスト名１０６とその後の親ホスト名１０８でもよく、ローカルホスト名１０６（ドットの左側）と親ホスト名１０８（ドットの右側）の間にドット（すなわち、「．」）がある。従って、親ホスト名１０８は、トップレベルドメイン１１０のサブドメインになり、従って、ローカルホスト名１０６（ローカルホスト名１０６を有する完全修飾ドメイン名１１４内の）は、親ドメイン又は親ホスト名１０８のサブドメインになる。
【００１５】
特定のドメイン名サフィックスは、パブリックサフィックスリストにまとめられている。パブリックサフィックスは、有効トップレベルドメインと呼ばれることもある。パブリックサフィックスの例には、ｉｓ−ａ−ｄｏｃｔｏｒ．ｃｏｍ、ｉｓ−ｖｅｒｙ−ｅｖｉｌ．ｏｒｇ、ｉｓ−ｖｅｒｙ−ｎｉｃｅ．ｏｒｇ、ｂａｌｌｏｏｎｉｎｇ．ａｅｒｏ、ｋ１２．ｃａ．ｕｓ、ａｍｅｒｉｃａｎａｒｔ．ｍｕｓｅｕｍ、ｂｌｏｇｓｐｏｔ．ｊｐなどがある。多くのパブリックサフィックスが、国と関連付けられており、パブリックサフィックスの表現として上に示された例は変化することがあることを理解されたい。
【００１６】
更に図１を参照し、関連したシンタックスを適用して、本開示によるユニバーサルリソースロケータ１０２の動作プロセスがこれから記載される。完全修飾ドメイン名１１４が対象となるので、ユニバーサルリソースロケータ１０２内のパス１１２は無視され、除去され得る。スキーム又はプロトコル１０４も除去される。これにより完全修飾ドメイン名１１４が残り、従って、ユニバーサルリソースロケータ１０２から完全修飾ドメイン名１１４が抽出される。適切に指示されたプロセッサが、本明細書に記載のこの行為及び他の行為を行うことができることを理解されたい。行為１１８で、第１のレベルキャッシュ内で完全修飾ドメイン名が探索される。この説明は、ユニバーサルリソースロケータ１０２の第１のレベルの動作プロセスに適用される。ヒットがあった場合、すなわち、行為１１８により第１のレベルキャッシュ内に完全修飾ドメイン名１１４があった場合、図２〜図４Ｃに関して記述されるように、更なる行為を行うことができる。ヒットがない場合、すなわち、行為１１８による第１のレベルキャッシュ内に完全修飾ドメイン名１１４がない場合、プロセスは第２のレベルに移る。
【００１７】
プロセスの第２のレベルでは、ローカルホスト名１０６が、完全修飾ドメイン名１１４又はユニバーサルリソースロケータ１０２から抽出される。例えば、完全修飾ドメイン名１１４からトップレベルドメイン１１０と親ホスト名１０８を除去するか、ユニバーサルリソースロケータ１０２からスキーム又はプロトコル１０４、親ホスト名１０８、トップレベルドメイン及びパス１１２を除去することによって、ローカルホスト名１０６を抽出することができる。行為１２０で、第２のレベルキャッシュ内でローカルドメイン名１０６が探索される。ヒットがあった場合、すなわち、行為１２０により第２のレベルキャッシュ内にローカルドメイン名１０６がある場合は、図２〜図４Ｃに関して記述されるように、更なる行為を行うことができる。ヒットがない場合、すなわち、行為１２０により第２のレベルキャッシュ内にローカルドメイン名１０６がない場合、プロセスは第３のレベルに移る。第２のレベルでの更なる行為１２２として、親ホスト名１０８とトップレベルドメイン１１０をパブリックサフィックスリスト内で探索することとができ、親ホスト名とトップレベルドメイン１１０がパブリックサフィックスリスト内にあるかにより、更なる行為を行うことができる。
【００１８】
完全修飾ドメイン名１１４が第１のレベルキャッシュから欠落しているか存在せず、かつローカルホスト名１０６が第２のレベルキャッシュから欠落しているか存在しないときに到達するプロセスの第３のレベルでは、ローカルホスト名１０６が、行為１２４で、不審としてスコアされる。ローカルホスト名１０６を不審についてスコアするか、査定するか、評価することは、様々な実施形態で様々な方法で行われ得る。例えば、確率的クラシファイアは、数値、文字ベース、語句ベース又は他のタイプのスコアを、ローカルホスト名１０６がどれだけ不審かであるかの可能性に割り当てることができる。そのようなスコアは、例えば、不審でない場合が０で不審である場合が１（すなわち、二元スコア又は評価）、１から１０又は他の等級までの数値スコア、文字スコア、「低」、「中」、「高」などの語句ベーススコア、又は「不審ではない」と「不審である」（二元スコアの別のバージョン）、又は本明細書に開示された教示により容易に考案されるような別のスケール、パラメータ又は表現でよい。行為１２４による不審さに関するスコアは、図２〜図４Ｃに関して詳述されるような様々な方法で適用され得る。詳細には、このスコアを使用して第１及び第２のレベルキャッシュならびにマシン（すなわち、コンピューティングデバイス）を更新することができ、このスコアは、ユニバーサルリソースロケータの様々な使用パターンと合致する。いくつかの実施形態では、特定のレベル以上のスコアは、不審なウェブサイト又はマルウェアの可能性を示し、フラグ付けされ得る。
【００１９】
いくつかの実施形態では、不審さに関するスコアリングは、ローカルホスト名１０６が、発音しやすい認識可能な音節を有するような発音規則と合致するかに基づく。一実施形態では、不審さに関するスコアリングは、ローカルホスト名１０６の文字カウント又は長さに基づく。一実施形態では、不審さに関するスコアリングは、ローカルホスト名１０６が、通常は音節に見られない数字、繰り返し文字若しくは文字の組み合わせ、又は通常は言語ベースの音節に見られない他の文字を含むかに基づく。一実施形態では、不審さに関するスコアリングは、語又は音節の辞書又は他の編纂内の語の順序における文字のランダムさと比較した、ローカルホスト名１０６内の文字の順序のランダムさの評価に基づく。
【００２０】
いくつかの実施形態では、不審さに関するスコアリングは、様々な実施形態では、特定のマシン又は監視されているマシンのグループが訪問する全てのユニバーサルリソースロケータ１０２、完全修飾ドメイン名１１４又は単なる親ホスト名１０８のリストを、指定された期間にわたって維持することに基づく。この期間には、現在までの無制限の期間、現時点までの制限された期間、又は他の所定の時間間隔が挙げられる。このリストに、評価されているユニバーサルリソースロケータ１０２、評価されている完全修飾ドメイン名１１４、評価されている親ホスト名１０８、又は評価されているローカルホスト名１０６（様々な実施形態において）が、１週間などの別の（例えば、第２の）所定の時間間隔より前から見られた場合は、スコアリング機構は、不審さの低いスコアを提供する。他の状況で、このリストに、第２の間隔より前に見られなかった場合、すなわち、訪問が最近しか行われておらず、サイトがこれまで訪問されていない場合、スコアリング機構は、不審さの高いスコアを提供する。また、スコアは、この第２の期間中にドメイン又はサブドメインが訪問された回数、すなわち最近訪問された回数に基づいてもよい。次に、この例では、第１の期間は、第２の期間の最初より前に遡り、第２の期間は、現在の時間にまで及ぶ。換言すると、いくつかの実施形態では、第１の期間は、第２の期間の最初まで遡り、第２の期間は、現在の時間にまで及ぶ。この技術に基づく実施形態は、ごく最近訪問しかつ以前訪問したことのないユニバーサルリソースロケータ１０２、親ホスト名１０８、完全修飾ドメイン名１１４又はローカルホスト名１０６に、高い不審さスコアを割り当てる。その結果、実施形態は、特定の種類のマルウェアの特徴を示す急に生成されて消えたドメインにフラグを立てる。
【００２１】
引き続き図１を参照すると、本開示によるユニバーサルリソースロケータ１０２の更なる動作プロセスが提供される。このその他のプロセスでは、第１のレベルキャッシュ、第２のレベルキャッシュ、及び第３のレベルキャッシュが用いられる。プロセスの第１のレベルで、第１のレベルキャッシュ内でユニバーサルリソースロケータ１０８が検索される。ヒットがあった場合、すなわち、第１のレベルキャッシュ内にユニバーサルリソースドメイン名１０２があった場合、図２〜図４Ｃに関連して記載されるように更なる行為を行うことができる。ヒットがなかった場合、すなわち、第１のレベルキャッシュ内にユニバーサルリソースドメイン名１０２がなかった場合、プロセスは第２のレベルに移る。プロセスの第２のレベルで、前述のように、完全修飾ドメイン名１１４が、ユニバーサルリソースロケータ１０２から抽出される。第２のレベルキャッシュ内で完全修飾ドメイン名１１４が検索される。ヒットがあった場合、すなわち、第２のレベルキャッシュ内に完全修飾ドメイン名１１４があった場合、図２〜図４Ｃに関連して記載されるように、更なる行為を行うことができる。ヒットがなかった場合、すなわち、第２のレベルキャッシュ内に完全修飾ドメイン名１１４がなかった場合、プロセスは第３のレベルに移る。プロセスの第３のレベルで、親ホスト名１０８とトップレベルドメイン１１０が、完全修飾ドメイン名１１４又はユニバーサルリソースロケータ１０２から抽出される。第３のレベルキャッシュ内で親ホスト名１０８とトップレベルドメイン１１０が検索される。ヒットがあった場合、すなわち、第３のレベルキャッシュ内に親ホスト名１０８とトップレベルドメイン１１０があった場合、図２〜図４Ｃに関連して記載されるように、更なる行為を行うことができる。ヒットがなかった場合、すなわち、第３のレベルキャッシュ内に親ホスト名１０８とトップレベルドメイン１１０がなかった場合、前述のように、親ホスト名１０８とトップレベルドメイン１１０が不審であるとしてスコアリングされる。例えば、確率的クラシファイアは、親ホスト名１０８とトップレベルドメイン１１０をスコアリングしてもよく、トップレベルドメイン１１０のない親ホスト名１０８をスコアリングしてもよい。スコアリングの結果は、第３のレベルキャッシュ、第２のレベルキャッシュ及び第１のレベルキャッシュに適切な更新と共に広められる。例えば、更新は、ユニバーサルリソースロケータ１０２と新しいスコアを加えたものを第１のキャッシュに追加し、完全修飾ドメイン名１１４と新しいスコアを加えたものを第２のキャッシュに追加し、親ホスト名１０８、又は親ホスト名１０８とトップレベルドメイン１１０を新しいスコアを加えたものを第３のキャッシュに追加することを含む。ユニバーサルリソースロケータ１０２、完全修飾ドメイン名１１４、親ホスト名１０８及びトップレベルドメイン１１０の処理の他の変形が可能であり、実施形態の範囲内にあることを理解されたい。更に、本明細書に示された例のいくつかは、２レベルキャッシュシステムを考察しているが、実施形態は、前述のような３レベル以上のキャッシュシステムに拡張される。更に、いくつかの実施形態では、キャッシュレベルの数が、達成される最適な処理効率に基づくことを理解されたい。
【００２２】
図２は、マルウェアに感染しているマシンを識別するシステムのブロック図である。クライアントデバイス２０２（すなわち、コンピューティングデバイス又はマシン）が、ファイアウォール２０４によって保護され、インターネットサービスプロバイダ２０６に繋がっている。インターネットサービスプロバイダ２０６によって、クライアントデバイス２０２は、インターネットとして知られるグローバル通信ネットワークなどのネットワーク２０８にアクセスすることができる。ファイアウォール２０４は、インターネットサービスプロバイダ２０６とネットワーク２０８を介してログ収集プラットフォーム２１０と通信し、１つ以上のユニバーサルリソースロケータのログ１０２をログ収集プラットフォーム２１０に送る。例えば、いくつかの実施形態では、クライアントデバイス２０２が、ユニバーサルリソースロケータ１０２を含むネットワークリクエストを送信するたびに、ファイアウォール２０４は、このユニバーサルリソースロケータ１０２をログに書き込む。定期的に、いくつかのエントリを収集した後、又はいくつかの実施形態では１つのエントリを収集した後である程度すぐに、ファイアウォール２０４は、ログをログ収集プラットフォーム２１０に送る。これは、電子メール通信などのメッセージ、又はファイル転送プロトコル若しくはネットワーク２０８を介してデータ転送するための他の機構によって送信されるファイルで行われてもよい。例えば、ファイアウォール２０４は、クライアントデバイス２０２上のソフトウェアで実現されてもよく、インターネットサービスプロバイダ２０６によるサービスとして実現されてもよい。
【００２３】
更に図２を参照すると、ログ収集プラットフォーム２１０は、クライアントデバイス２０２や他のクライアントデバイス２０２からのユニバーサルリソースロケータ１０２のログを、解析エンジン２１４に連結されるか、分析エンジン２１４を含むかそれを実現するサーバ２１２に通信する。分析エンジン２１４は、クラシファイア２１６、キャッシュ２１８及びレッドフラグ付きマシン２２０のリストを含み、ユニバーサルリソースロケータ１０２のログを分析する。この分析は、図１に示されたプロセスの形態をとってもよく、図４Ａ〜図４Ｃに示された方法若しくはその変形の１つ以上でもよい。分析エンジン２１４が、マルウェアに感染している疑いのあるクライアントデバイス２０２を識別したとき、分析エンジン２１４は、レッドフラグ付きマシン２２０のリストを更新して、クライアントデバイス２０２及びユニバーサルリソースロケータ１０２又はその一部分に関する情報を、レッドフラグ付きマシン２２０のリストに追加する。次に、分析エンジン２１４は、感染している疑いのある各マシンを更に分析することができ、詳細には、それらのマシンのユニバーサルリソースロケータ１０２又はその一部分を更に分析することができる。これにより、全てのクライアントデバイス２０２から出ている全てのユニバーサルリソースロケータ１０２の分析及び更なる分析と比較して、分析エンジン２１４への計算及び資源負担が大幅が減少することを理解されたい。詳細には、スコアがキャッシュ内にあるので、第１のレベル及び第２のレベルのキャッシュ動作によって、スコアリング機構で分析してスコアを生成するために必要とされるユニバーサルリソースロケータ１０２又はその一部分の数が大幅に減少する。スコアリング機構が第３のレベルで適用された後、スコアがキャッシュに更新されてスコアリング機構を適用する繰り返しが減少するかなくなる。更に、レッドフラグ付きマシンと、レッドフラグ付きマシンによって参照されるユニバーサルリソースロケータ１０２のみに分析を適用することにより、計算及び資源負担が更に減少し、偽陽性が更に減少する。
【００２４】
図３Ａ〜図３Ｃを参照して、図２のシステムの様々な実施形態を示す。これらの実施形態は、セキュリティ監視サービス３０２を特徴とし、セキュリティ監視サービス３０２は、図２からのログ収集プラットフォーム２１０、サーバ２１２、分析エンジン２１４、クラシファイア２１６、キャッシュ２１８、及びレッドフラグ付きマシン２２０のリストまたその変形物を含む。例えば、セキュリティ監視サービス３０２及びその構成要素は、１つのサーバの一部分又は１つ以上のサーバ上で実施されてもよい。図３Ａは、セキュリティ監視サービス３０２を示す図２のシステムの一実施形態のブロック図である。ここで、クライアントデバイス２０２は、ネットワーク２０８を介してセキュリティ監視サービス３０２と通信するエージェント３０４を有する。ネットワークは、様々なサーバ３０６に連結される。例えば、クライアントデバイス２０２は、クライアントデバイス２０２のユーザが、ウェブサーフィンをしているか、あるいはネットワーク２０８を使用してサーバ３０６にアクセスするときなどに、ネットワーク２０８を介してサーバ３０６の１つに送られるネットワークリクエスト（ユニバーサルリソースロケータ１０２を含む）を送信する。エージェント３０４は、クライアントデバイス２０２上で稼働するソフトウェアで実現されてもよく、ユニバーサルリソースロケータ１０２を収集し、ネットワーク２０８を介してユニバーサルリソースロケータ１０２をセキュリティ監視サービス３０２に送信する。ネットワークリクエストを作成するユニバーサルリソースロケータ１０２とクライアントデバイス２０２の監視は、ローカルエリアネットワーク、無線エリアネットワーク又はイントラネット内のサービスとして行われてもよく、例えば契約又は定期サービス契約によってネットワークを介して利用可能な独立型サービスとして行われてもよい。
【００２５】
図３Ｂは、図２のシステムの更に他の実施形態のブロック図である。複数のクライアントデバイス２０２が、例えばサービスプロバイダとして、セキュリティ監視サービス３０２に連結される。セキュリティ監視サービス３０２は、様々なサーバ３０６に連結されたネットワーク２０８に連結される。例えば、クライアントデバイス２０２は、セキュリティ監視サービス３０２を介して送られたネットワークリクエスト（ユニバーサルリソースロケータ１０２を含む）を、ネットワーク２０８とサーバ３０６に送信する。セキュリティ監視サービス３０２は、分析のために、ネットワークリクエストからのユニバーサルリソースロケータ１０２を取り込むかインターセプトする。そのような分析は、ネットワークサービスプロバイダによって提供されるサービスとして行われてもよい。
【００２６】
図３Ｃは、図２のシステムの更に他の実施形態のブロック図である。ファイアウォール２０４とインターネットサービスプロバイダ２０６をそれぞれ有する複数のクライアントデバイス２０２は、インターネットサービスプロバイダ２０６を介してネットワーク２０８に連結される。ネットワーク２０８は、様々なサーバ３０６と、セキュリティ監視サービス３０２に連結される。ファイアウォール２０４はそれぞれ、ユニバーサルリソースロケータ１０２をセキュリティ監視サービスに、それぞれのインターネットサービスプロバイダ２０６とネットワーク２０８を介して通信する。ユニバーサルリソースロケータ１０２とクライアントデバイス２０２の監視は、定期サービス契約又は他のサービス契約を使用して行われてもよい。本明細書に開示された教示に従って、通信及び監視の様々な更に他の構成が可能である。
【００２７】
図４Ａ〜図４Ｃを参照して、感染している疑いのあるマシンを識別する方法の実施形態を示す。これらの実施形態は、図１を参照してエンドポイントからのネットワークリクエストを分析する文脈で考察されるシンタックスを利用する。この方法は、サーバやセキュリティ監視サービス内のプロセッサなどのプロセッサを使用して実施されてもよい。いくつかの実施形態は、クライアントデバイス内のプロセッサを利用する。方法の行為の実施態様の例が本明細書に記載される。図４Ａは、感染の疑いのあるマシンを識別する方法のフロー図であり、この方法は、図１〜図３Ｃに示された実施形態で実施してもよくその実施形態を使用してもよい。行為４０２で、ユニバーサルリソースロケータを受け取る。例えば、ユニバーサルリソースロケータは、１つ以上のクライアントデバイスからの１つ以上のログから、ログ収集プラットフォームによって受け取られる。ユニバーサルリソースロケータは、ファイアウォール若しくはエージェントによって通信されてもよく、前述のようなサービスプロバイダによって収集されてもよい。ユニバーサルリソースロケータは、ログの形で通信されてもよく、一度に単一通信で直接収集されてもよい。行為４０４で、完全修飾ドメイン名が抽出される。例えば、完全修飾ドメイン名は、パスを無視しスキーム又はプロトコルを除去して完全修飾ドメイン名を残すことによって、ユニバーサルリソースロケータから抽出されてもよい。
【００２８】
決定行為４０６で、第１のキャッシュ内に完全修飾ドメイン名があるかという質問が出される。第１のキャッシュは、一実施形態では、ローカルホスト名が抽出されスコアリングされた全ての完全修飾ドメイン名を含むことができ、次に第１のキャッシュが更新されて、完全修飾ドメイン名、又は完全修飾ドメイン名を含むユニバーサルリソースロケータ全体が、関連付けられたスコアと共に第１のキャッシュに追加される。更に他の実施形態では、第１のキャッシュは、１週間より前などの規定の時間より前にクライアントデバイスが訪問した全ての完全修飾ドメイン名、又は完全修飾ドメイン名を含む全てのユニバーサルリソースロケータを含んでもよい。これは、ユニバーサルリソースロケータ又は完全修飾ドメイン名にタイムスタンプし、クライアントデバイスが訪問した全てのユニバーサルリソースロケータ又は完全修飾ドメイン名のリストを維持することによって容易にされ得る。規定の時間より前に訪問したユニバーサルリソースロケータ又は完全修飾ドメイン名のリストは、クライアントデバイスが訪問した全てのＵＲＬ又は完全修飾ドメイン名のリストから導出され得る。一実施形態では、クライアントデバイスが訪問した全てのユニバーサルリソースロケータ又は完全修飾ドメイン名のリストの一部分が、タイムスタンプと共に、決定行為４０６で出された質問に答えるために適用される。
【００２９】
決定行為４０６に対する答えがいいえの場合、第１のキャッシュ内に完全修飾ドメイン名がなく、これは、キャッシュミスと呼ばれることがあり、フローは、行為４１２に分岐する。決定行為４０６に対する答えがはいの場合、第１のキャッシュ内に完全修飾ドメイン名があり、フローは決定行為４０８に分岐する。
【００３０】
決定行為４０８で、完全修飾ドメイン名が不審かの質問が出される。例えば、第１のキャッシュは、フロー図の更に下の行為４１８及び４２６で更新されるときに、完全修飾ドメイン名のスコアを含むことある。スコアが、完全修飾ドメイン名が不審であることを示す場合、すなわち、規定値を超える評価値を有する場合、質問に対する答えははいであり、フローは行為４１０に分岐する。スコアが、完全修飾ドメイン名が不審ではないことを示す場合、すなわち、規定値を超える評価値を有する場合、質問に対する答えはいいえであり、フローは行為４０２に分岐して、別のユニバーサルリソースロケータを受け取る。
【００３１】
行為４１０で、不審な完全修飾ドメイン名を有するユニバーサルリソースロケータを使用したマシンは、分析エンジンによって維持されたレッドフラグ付きマシンのリストなどの不審なデバイスのリストに追加される。いくつかの実施形態では、不審な完全修飾ドメイン名を有するユニバーサルリソースロケータ又は単に不審な完全修飾ドメイン名、及び付随するスコアなどの更に詳しい情報が、不審なデバイスのリスト上の、感染の疑いのあるマシンと関連付けられた情報に追加される。これにより、図４Ｂに関して更に検討されるように、不審なユニバーサルリソースロケータ、不審な完全修飾ドメイン名、及び不審なデバイスの挙動の分析が更に可能になる。行為４１０の後、フローは行為４０２に分岐して、別のユニバーサルリソースロケータを受け取る。
【００３２】
第１のキャッシュ内に完全修飾ドメイン名がない場合に到達する行為４１２で、パブリックサフィックスが適用又は取得される。パブリックサフィックスが、ローカルホスト名の抽出を可能にすることを理解されたい。パブリックサフィックスは、いくつかの実施形態では、公に入手できるリストにより得られることがある。決定行為４１４で、サブドメインが許容可能かという質問が出される。この質問には、パブリックサフィックスの適用を有するいくつかの事例、及びパブリックサフィックスに追加された別のデータベースや他のパブリックソースから提供され得る追加情報の使用を有する他の事例で答えることができる。答えがいいえの場合、サブドメインは許容可能でなく、サブドメインがマルウェア作成者によって素早く生成された懸念は少なく、従って、完全修飾ドメイン名は不審ではないか、低い不審さスコアを有する。フローは行為４１８に分岐して、第１のキャッシュをこの情報で更新する。答えがはいの場合、サブドメインは許容可能であり、フローは決定行為４１６に分岐する。
【００３３】
決定行為４１６で、親がサブドメインを制御するかという質問が出される。この質問には、パブリックサフィックスの適用を有するいくつかの事例、及び別のデータベースや他のソースから提供され得る追加情報の使用を有する他の事例で答えることができる。答えがいいえの場合、親がサブドメインを制御し、サブドメインがマルウェア作成者によって素早く生成された懸念が少なく、従って、完全修飾ドメイン名が不審でないか、低い不審さスコアを有する。フローは行為４１８に分岐して、第１のキャッシュをこの情報で更新する。答えがいいえの場合、親はサブドメインを制御せず、これが不審な完全修飾ドメイン名と付随するユニバーサルリソースロケータであるという懸念がある。その場合、フローは行為４２０に分岐する。いくつかの実施形態では、動作４１２がルーチンと見なされ、動作４１４、４１６、及び４１８が、ルーチンによって呼び出されたサブルーチンと見なされることを理解されたい。
【００３４】
行為４１４でサブドメインが許容できないと判定されたときに到達する行為４１８で、第１のキャッシュが更新される。例えば、完全修飾ドメイン名、又は完全修飾ドメイン名を有するユニバーサルリソースロケータは、決定行為４１４又は決定行為４１６の結果に従って、不審さの低いスコア又は不審さが低いかないという他の指示と共に、第１のキャッシュに追加されてもよい。不審さレベルが低いので、低レベルの不審さを有すると思われるそのユニバーサルリソースロケータと完全修飾ドメイン名を用いたマシンは、不審なデバイスのリストに追加されない。
【００３５】
行為４２０で、ローカルホスト名が抽出される。これにより、行為４１２で行われたパブリックサフィックスの適用が可能になる。図１に関して、ローカルホスト名の抽出が更に記載される。決定行為４２２で、第２のキャッシュ内にローカルホスト名があるかという質問が出される。答えがはいの場合は、ローカルホスト名が第２のキャッシュ内にあり、フローが行為４２６に分岐し、第１のキャッシュをローカルホスト名の不審さに関するスコアで更新する。答えがいいえの場合は、ローカルホスト名が第２のキャッシュ内になく、これはキャッシュミスと呼ばれることがあり、フローが行為４２４に分岐して、ローカルホスト名をスコアリングする。行為４２４で、ローカルホスト名が抽出される。これは、いくつかの実施形態で分析エンジン内で用いられるような確率的クラシファイア、又は様々なメトリックに基づく別のクラシファイアを適用する形をとることがある。
【００３６】
行為４３０で、第２のキャッシュが更新される。いくつかの実施形態では、第２のキャッシュが、ローカルホスト名と行為４２４の評価結果を追加することによって更新される。フローは行為４２６に分岐して、第１のキャッシュを更新する。行為４２６で、第１のキャッシュが更新される。第１のキャッシュは、第２のキャッシュ内に見つかったか行為４２４の評価で割り当てられたローカルホスト名と関連スコアを含むように更新される。例えば、第１のキャッシュは、第２のキャッシュ内に見つかったか評価されたローカルホスト名を含む完全修飾ドメイン名又はユニバーサルリソースロケータを含むように更新されてもよい。
【００３７】
決定行為４２８で、ローカルホスト名が不審かという質問が出される。例えば、第２のキャッシュ又は評価が、規定値を超えるスコア、不審さフラグにおけるセットビット、又は他の指示を示してもよい。これらの同じメカニズムが、第１のキャッシュにも適用されてもよいことを理解されたい。答えがはいの場合、ローカルホスト名は不審であり、フローは行為４３２に分岐する。答えがいいえの場合、ローカルホスト名は不審ではなく、フローが行為４０２に分岐して、別のユニバーサルリソースロケータを受け取る。行為４３２で、不審な完全修飾ドメイン名を有するユニバーサルリソースロケータを使用したマシンが、分析エンジンによって維持されたレッドフラグ付きマシンのリストなどの不審なデバイスのリストに追加される。いくつかの実施形態では、不審な完全修飾ドメイン名を有するユニバーサルリソースロケータ、又は不審な完全修飾ドメイン名、及び付随するスコアなどの更に他の情報が、不審なデバイスのリスト上の、感染の疑いのあるマシンと関連付けられた情報に追加される。これにより、図４Ｂに関して更に検討されるように、不審なユニバーサルリソースロケータ、不審な完全修飾ドメイン名、及び不審なデバイスの挙動の分析が更に可能になる。行為４３２の後で、フローは行為４０２に分岐して、別のユニバーサルリソースロケータを受け取る。
【００３８】
図４Ａに示されたフローの様々な繰り返しの結果、最新の第１のキャッシュ、最新の第２のキャッシュ、及び不審なデバイスの記入リストが得られる。いくつかの実施形態では、不審なデバイスの記入リストは、更に、ネットワークリクエストでユニバーサルリソースロケータが送信された（すなわち、訪問された）各不審なデバイスのリストなどの情報を含む。この更なる情報は、各ユニバーサルリソースロケータのタイムスタンプを含んでもよく、その結果、ある期間にわたるマシンごとの使用パターンに従って更なる処理を行うことができる。不審なデバイスのリストとのその更なる内容は、後述される図４Ｂのフローで処理され得る。
【００３９】
図４Ｂは、感染の疑いのあるマシンを識別する方法の更に他の態様のフロー図である。このフローは、不審なデバイス、すなわちマルウェアに感染している疑いのあるコンピューティングデバイスのリストがあると仮定する。そのようなリストは、図４Ａに示された方法、図４Ｃに示された方法、又はその更に他の変形によって作成され得る。フローは、図４Ｂの行為４４０から、リスト上の第１の不審なデバイス、又はリスト上のランダムに選択されたか他の方法で選択されたデバイスに関して始まる。リストから提示されるデバイスの順序は、番号順、ランダム順序、挙動の様相に基づく限定された順序、又は何らかのアルゴリズムに基づく系統的順序でよい。行為４４０で、リスト上の次の不審なデバイスが示される。例えば、レッドフラグ付きマシンのリストから、マルウェアに感染している疑いのあるデバイスが選択される。
【００４０】
決定行為４４２で、不審なデバイスが、不審なユニバーサルリソースロケータを規定の回数訪問したかの質問が出される。答えがいいえの場合、例えば、デバイスは、不審なユニバーサルリソースロケータを訪問していないか、不審なユニバーサルリソースロケータを規定の回数より少ない回数しか訪問しておらず、フローは、決定行為４４４に分岐する。答えがはいの場合、例えば、デバイスは、不審なユニバーサルリソースロケータを少なくとも規定の回数訪問しており、フローは決定行為４４８に分岐して、完全修飾ドメイン名を確認する。決定行為４４４で、不審なデバイスが、規定の回数不審なユニバーサルリソースロケータを訪問したかの質問が出される。答えがいいえの場合、例えば、デバイスは、不審なユニバーサルリソースロケータを訪問していないか、規定の回数より少ない回数しかユニバーサルリソースロケータを訪問しておらず、フローは、決定行為４４６に分岐する。答えがはいの場合、例えば、デバイスは、少なくとも規定の回数不審なユニバーサルリソースロケータを訪問しており、フローは決定行為４４８に分岐し、完全修飾ドメイン名を確認する。
【００４１】
決定行為４４６で、不審なデバイスが、長いドメイン名を有するユニバーサルリソースロケータを訪問したかの質問が出される。例えば、文字数を指定することができ、この文字数を超える長さにフラグを立てることができる。答えがいいえの場合は、フローは行為４４０に分岐して、マルウェアに感染している疑いのあるデバイスのリスト上の次の不審なデバイスを調べる。答えがはいの場合は、フローは行為４４８に分岐して、完全修飾ドメイン名を確認する。
【００４２】
決定行為４４２、４４４及び４４６で出された質問の１つ以上に対する肯定的答えに従って、不審なデバイスのリスト上の不審なデバイスが、不審なユニバーサルリソースロケータを訪問した履歴を有する場合に到達する決定行為４４８で、全ての完全修飾ドメイン名を確認したかの質問が出される。この質問は、不審なデバイスリスト内の情報に従って、不審なデバイスが訪問した各完全修飾ドメイン名を確認するループの先頭にある。答えがはいの場合、不審なデバイスが訪問した全ての完全修飾ドメイン名が確認済みであり、フローが行為４４０に分岐して、不審なデバイスのリスト上の次の不審なデバイスを調べる。答えがいいえの場合、不審なデバイスが訪問した完全修飾ドメイン名が全て確認されたわけではなく、フローは行為４５０に分岐する。更なる実施形態が、この種類の繰り返しループを確立するための他の機構を使用してもよいことを理解されたい。
【００４３】
行為４５０で、完全修飾ドメイン名に対応するインターネットプロトコル（ＩＰ）アドレスがピングされる。いくつかの実施形態では、これは、ピングと呼ばれる手順を用い、この手順は、ピングに応答するデバイスがあるかを確認する。決定行為４５２で、現在ドメインが在存するかの質問が出される。この質問に対する答えは、行為４５０から、ピングの結果によって決定される。ピングからの応答により、デバイスの存在が確認される。ピングに対する応答又は返信がないことは、デバイスが現在存在しないことを意味する。答えがいいえの場合は、ドメインが現在存在せず、これは不審であり、ドメインを作成するマルウェアのサプライヤを示すことが多い。マルウェアのサプライヤが、それらのドメインを素早く消すので、そのドメインをトレースすることができず、マルウェア検出サービスが、それらのドメインをマルウェアの既知の拡散者として理解しリストしない確率が高いことを理解されたい。動作４５２で答えがいいえの場合、フローが行為４５８に分岐して、第１のキャッシュを更新する。動作４５２で答えがはいの場合、ドメインは現在存在し、あまり不審ではなく、行為は、決定行為４５４に分岐する。
【００４４】
決定行為４５４で、ドメインが最近登録されたかの質問が出される。最近登録されたドメインは不審であり、高い不審さスコアを有するべきである。答えがはいの場合、ドメインは最近登録され、フローが行為４５８に分岐して、第１のキャッシュを更新する。答えがいいえの場合、ドメインは最近登録されておらず、あまり不審ではなく、この行為は、決定行為４５６に分岐する。決定行為４５６で、完全修飾ドメイン名が、不審なデバイスに関して国が変則的かの質問が出される。例えば、不審なデバイスが、特定の国内のウェブサイトを訪問した履歴を有し、完全修飾ドメイン名が同じ国で始まる場合、この完全修飾ドメイン名は不審ではない。しかし、不審なデバイスが、特定の国内のウェブサイトを訪問しておらず、また完全修飾ドメイン名が、不審なデバイスによって定期的に訪問されていない国で生成されている場合、この完全修飾ドメイン名は不審であり、高い不審さスコアを有するべきである。行為４５６で答えがはいの場合、国は変則的であり、フローは行為４５８に分岐して、第１のキャッシュを更新する。決定行為４５６で答えがいいえの場合は、国は変則的でなく、フローは決定行為４４８に分岐して戻って、調べている特定の不審なデバイスに関係する不審なデバイスリストに関する情報から、次の完全修飾ドメイン名を調べる。
【００４５】
行為４５８で前述されたように、第１のキャッシュが更新されて、決定行為４５２、４５４、及び４５６での質問の１つ以上に対する答えに対応する不審さの指示が、不審なデバイスの、調べている完全修飾ドメイン名に関する情報に追加される。フローが、決定行為４６０に分岐して、マルウェアに感染しているデバイスに比較的強い不審さがあるか決定する。決定行為４６０で、アナリスト又はサービスに相談すべきかの質問が出される。完全修飾ドメイン名が不審かについてアナリスト又はサービスに相談することは高価な行為なので、この質問は、一般に、フィルタリングされた不審なデバイス、すなわち、不審なデバイスのリスト上に最初からあるデバイスのサブセットに対して検討される。行為４６０で答えがいいえの場合、相談はないはずであり、フローは決定行為４６４に分岐する。行為４６０で答えがはい場合、相談はあるはずであり、フローは決定行為４６２に分岐する。行為４６２で、第１のキャッシュが、相談の結果で更新される。詳細には、第１のキャッシュは、相談に基づいて、完全修飾ドメイン名又は関連ユニバーサルリソースロケータの高レベル又は低レベルの不審さを示すように更新されてもよい。
【００４６】
決定行為４６４で、管理者に通知すべきかの質問が出される。答えがはいの場合は、フローは行為４６６に分岐して、当該マシンがマルウェアに感染している疑いがあることを管理者に通知する。答えがいいえの場合、フローは決定行為４６８に分岐する。決定行為４６８で、ユーザに通知すべきかの質問が出される。答えがはいの場合、行為４７０で、当該マシンがマルウェアにより感染している疑いがあることがユーザに通知される。答えがいいえの場合は、フローは行為４４０に分岐して、マルウェアに感染している疑いのあるデバイスのリスト上の次の不審なデバイスを調べる。いくつかの実施形態では、ユーザ通知は、適切なリストから１つ以上のユニバーサルリソースロケータをユーザに示すことと、ユーザがそのようなユニバーサルリソースロケータをクリックしたかタイプ入力したかを尋ねることを含む。
【００４７】
図４Ｂに示されたフローの質問を再構成することができ、いくつかの実施形態では１つ以上の質問が省略され、更に他の実施形態では追加質問が出されることを理解されたい。図４Ｂに示されたフローの様々な実施形態では、不審なデバイスのリスト上の各デバイスが調べられ、各デバイスの情報にリストされた各完全修飾ドメイン名が調べられて、デバイスの使用パターンが識別される。次に、引き続き不審に見えるデバイスが更に調べられる。第１のキャッシュは、様々な質問に基づいて新しい情報が生成されたときに更新される。相談するかと誰に通知するかの決定は、追加質問をした結果に基づく。様々なフィルタを様々な順序で適用することによって、偽陽性の数が減少する。第１のキャッシュを更新することによって、更なるユニバーサルリソースロケータとその査定の計算負担が減少する。
【００４８】
図４Ｃは、感染の疑いのあるマシンを識別する方法の更に他の実施形態であり、この方法は、図４Ａと図４Ｂに示された方法の実施形態の代わり又は追加で実施されてもよく、その実施形態の様々な部分と共に実施されてもよい。一実施形態では、図４Ｃに示された方法が実施され、不審なデバイスのリストが生成される。これは、図４Ｂに示された方法を実施した後に続き、不審なデバイスのリストをフィルタリングし、通知を作成する。図４Ｃの方法は、ユニバーサルリソースロケータを受け取る行為４８０から始まる。いくつかの実施形態では、図４Ａに示された方法の行為４０２と類似の方式でコンピューティングデバイスからＵＲＬを受け取ることができる。
【００４９】
行為４８２で、完全修飾ドメイン名が、ユニバーサルリソースロケータから抽出される。これは、図４Ａに示された方法では、行為４０４と同様に実施されてもよい。決定行為４８４で、当該のコンピューティングデバイスに関して、訪問したドメイン名又はユニバーサルリソースロケータのリスト上の完全修飾ドメイン名が所定の期間前かの質問が出される。例えば、タイムスタンプと共に、当該コンピューティングデバイスが訪問した全てのドメイン名又はユニバーサルリソースロケータのリストが維持されてもよい。このリストから、コンピューティングデバイスが所定の期間前に訪問したドメイン名又はユニバーサルリソースロケータのリストが得られる。他の実施形態では、タイムスタンプを有する新しく到着したドメイン名又はユニバーサルリソースロケータが、タイムスタンプを有するコンピューティングデバイスが訪問した全てのドメイン名又はユニバーサルリソースロケータのリストと比較されてもよい。特定の例として、一週間、一ヶ月又は他の期間より前に訪問したドメイン名又はユニバーサルリソースロケータからリストが導出され得る。リストは、無制限のリストでも制限のあるリストでもよい。答えがはいの場合、完全修飾ドメイン名が、所定の期間より前のそのようなリスト上にあり、この完全修飾ドメイン名は不審ではなく、フローは行為４８０に分岐して、別のユニバーサルリソースロケータを受け取る。
【００５０】
行為４８４で答えがいいえの場合、完全修飾ドメイン名は、所定の期間より前のそのようなリスト上になく、これは不審なＵＲＬを示すことがあり、その理由は、その完全修飾ドメイン名が、マルウェアの提供者によって素早く生成されたドメインのうちの１つである可能性があるからであり、フローは行為４８６に分岐する。
【００５１】
行為４８６では、当該コンピューティングデバイスが、不審なデバイスのリストに追加される。これは、図４Ａに示された方法の行為４１０及び４３２と類似の方式で実施されてもよい。フローが行為４８８に続き、完全修飾ドメイン名（規定の期間より前に訪問しなかったサイトのリストに見つからなかった）、又は関連ユニバーサルリソースロケータが、タイムスタンプと共に、当該デバイスが訪問した全てのドメイン名又はユニバーサルリソースロケータのリストに追加される。そこから、規定の期間後に、完全修飾ドメイン名又はユニバーサルリソースロケータが、タイムスタンプと共に、規定の期間より前に訪問したドメイン名又はユニバーサルリソースロケータのリストに移動又は複写されてもよい。次に、フローが行為４８０に分岐して、別のユニバーサルリソースロケータを受け取る。
【００５２】
行為４８６及び４８８がどちらの順序で実行されてもよいことを理解されたい。図４Ｃに示された方法の実施形態は、デバイスがその最近の期間より前にその完全修飾ドメイン名を使用していなかったときに、デバイスが最近の期間に完全修飾ドメイン名を使用している場合に、マルウェアに感染している疑いがあるとしてデバイスにフラグを立てる。これは、確率的クラシファイアを適用するよりも計算上効率的である。図４Ｂに示された方法とその変形物を適用することによって、偽陽性を減少させることができることを理解されたい。更に、図４Ａ、図４Ｂ及び図４Ｃの方法の組み合わせを適用することによって、偽陽性を更に減少させることができる。
【００５３】
本明細書に記載された実施形態は、ＳＹＭＡＮＴＥＣ  ＭＡＮＡＧＥＤ  ＳＥＣＵＲＩＴＹ  ＳＥＲＶＩＣＥＳ（商標）、ＳＹＭＡＮＴＥＣ  ＥＮＤＰＯＩＮＴ  ＰＲＯＴＥＣＴＩＯＮ（商標）、ＤＡＴＡ  ＬＯＳＳ  ＰＲＥＶＥＮＴＩＯＮ（商標）、及び譲受人の他の製品に使用するのに適することがある。更に、実施形態は、消費者又は企業使用のためにエンドポイントエージェントに組み込まれてもよい。実施形態は、譲受人のＧＬＯＢＡＬ  ＩＮＴＥＬＬＩＧＥＮＣＥ  ＳＥＲＶＩＣＥＳ（商標）と一体化されてもよく、いくつかの実施形態では、ＧＬＯＢＡＬ  ＩＮＴＥＬＬＩＧＥＮＣＥ  ＳＥＲＶＩＣＥＳ（商標）からのイベントデータログが、図２のログ収集プラットフォームと共に利用されてもよい。実施形態は、ネットワークに繋がっているマシン上で有用であり、それにより、マシン間のトラフィックを確認し、監視し、分析することができる。種不審さに関する二次レベルドメインのスコアリング、すなわち査定又は評価に、様々な言語分析ツールを適用することができる。本明細書に開示されたいくつかの実施形態は、ドメインが不審としてフラグが立てられるネットワークリクエストを出すマシンに焦点を当てている。いくつかの実施形態では、セキュリティ監視サービスを通過する全てのネットワークリクエストに関して、不審さスコアをキャッシュから取り出すか又は計算することができる。不審なドメイン名を含むとしてフラグが立てられたネットワークリクエストについて、本システムは、リクエストを出すマシンをユニバーサルリソースロケータと関連付ける。
【００５４】
本明細書に開示されたバージョンのキャッシングアーキテクチャは、ユニバーサルリソースロケータ評判の二重計算を回避する。いくつかの実施形態では、キャッシングアーキテクチャは、３段階動作を用いる。第１の段階は、ユニバーサルリソースロケータ評判を、ユニバーサルリソースロケータ全体に基づいて、より具体的には完全修飾ドメイン名に基づいてキャッシュする。この第１のレベルは、最近の活動ウィンドウ内でユニバーサルリソースロケータが繰り返し要求されることが、顧客データの経験的測定によって通知される。第２の段階は、完全修飾ドメイン名からのローカルホスト名をキャッシュする。第３の段階は、第２の段階でキャッシュ内に見つからない場合に、ローカルホスト名を調べる。これに応じてキャッシュが更新される。このキャッシュ構成によって、リクエストを処理するのに必要な時間がかなり最小になる。
【００５５】
いくつかの実施形態では、確率的クラシファイアは、いくつかの特徴を測定するマシン学習クラシファイアを使用して確率を計算する。キーワード分割や言語モデリングなどの特徴のいくつかは、計算とメモリを多く使用する。キャッシュの使用によって、そのような評価の数が減少し、計算負荷が減少する。これは、特徴を様々な順序で調べることによって行われ、それにより、完全計算を行うことなく、不審さ又は不審さのなさの早期の決定を行うことができる。例えば、いくつかの実施形態では、言語モデルの対数確率が−１．４を超えると、ワームによって用いられるドメイン生成アルゴリズムなどのプロセスによってドメインが作成されていないことを示す。
【００５６】
ワーム及び他のマルウェアは、本明細書に記載された実施例が理解するように設計されたドメイン生成アルゴリズムと呼ばれるプロセスを使用することがある。一実施形態では、第１のフィルタが、以下のしきい値を使用して感染マシンを識別する。フシステムは、ある時間期間ＴにＮ個を超える不審なドメインを要求するというフラグが立てられ、不審なドメインは長さＬの長さを有し、不審さスコアはＳを超える。Ｌ、Ｎ、Ｓ及びＴの値は、検出及び偽陽性割合を最適化するように選択されてもよく、いくつかの実施形態では動的に調整さてもよい。上記をフィルタとして適用することにより、システムの検出機能が、特定タイプのマルウェアのネットワーク挙動に一致する。例えば、多くのトロイ、スケアウェア、ランサムウェア及びワームは、文字がランダムに選択される複数のドメインに循環する（例えば、ａ７ｈｕａｎａｍｋｐ．ｃｏｍ）。感染マシンは、典型的には、そのようなドメインのいくつか又は多くに短期間にコンタクトすることによって、悪意のあるペイロードにアクセスしようとする。従って、変数Ｎ及びＴは、この挙動を識別するのに役立つ。Ｓしきい値は、ボーダーライン上の検出をなくす（例えば、不審さである確率が５１％程度）。
【００５７】
ドメインが、少なくともＬの長さと、Ｓを超える不審さスコアを有する場合でも、そのようなドメインにフラグを立てると、マシンの不審な名前の最終計算に含まれるべきでない偽陽性が生じる可能性がある。偽陽性を更に減らすために、感染した可能性が高いと識別されたマシンによって要求されたドメインに確認が適用される。そのような確認は、計算能力、メモリ又は時間を多く必要とすることがあり、従って、感染した可能性が高いマシンに適用され、そのように識別されないマシンには適用されない。
【００５８】
感染した可能性が高いと識別されたマシンによって要求されたドメインに適用される確認は、以下のもののうちの１つ又は様々な組み合わせを含むことができる。インターネットプロトコルアドレスがピングされ、その結果でドメインがもう存在しないことが分かった場合、これは、不審なＵＲＬを示す。この規則は、ドメイン生成アルゴリズムが成功の保証のないリクエストを出すという観察によって引き出される。ユニバーサルリソースロケータ評判サービスが参照され、そのような参照の結果によりで、ユニバーサルリソースロケータ又はその一部分が不審であるか、ドメインのレコードを有していない場合は、不審さを高めるべきである。特定のウェブサイトのリクエストが、少なくとも１週間前、又は規定の時間間隔より前に生じた場合は、不審さを低くするべきである。この規則は、いくつかのマーケティングウェブサイトが、人間が読むことができないドメインを使用しているという観察に基づく（例えば、Ａｄｒｏｔａｔｏｒ．ｓｅは、０ａａｃ４ｅ６ａ５４ｃ１７０ｂ０．ｓｅなどのドメインを使用している）。しかしながら、そのような読めない（すなわち、文字を発音する以外、人間による話し言葉として容易に読むことができない）ドメイン名が、平均的マルウェアサイトに関してかなり長時間確認された場合、これにより不審さが高められるべきでない。発生率を高めるか、又はユニバーサルリソースロケータ評判分類を格下げするために、ＷＨＯＩＳデータのパターンを使用することもできる。ドメインがつい最近登録されたことが分かり、かつ／又は当該マシンを提供した生産国が異常である場合は、ユニバーサルリソースロケータ評判分類に基づいて発生率を高めることができる。これら及びその他の規則は、マルウェア作者の現在の挙動に従い、変化することがある。しかしながら、通常、多数のドメインを悪意のある活動として登録することによって、悪意のあるエンティティが、ドメインの登録においてパターンを生成する種の自動化を使用するようになる。アナリストは、そのようなパターンを発見し、そのパターンを最近開示されたシステムに適した規則に適用することができる。そのような付加的確認の結果は、次に、将来使用するためにキャッシュされなければならない。ドメインが不審でないことを示す確認によって、そのドメインはホワイトリストに記載されてもよい（例えば、そのようなドメインの不審さが低いかゼロレベルであることを示すように１つ以上のキャッシュが更新される）。偽陽性かもしれないドメインを除去した後で、当該特定マシンの不審なドメインの数を訂正することができる。この数が更にＮを超えた場合、マシンは感染している可能性が高い。
【００５９】
本明細書に記載の方法が、従来の汎用コンピュータシステムなどのデジタル処理システムで実行されてもよいことを理解されたい。あるいは、１つの機能のみを実行するように設計又はプログラムされた専用コンピュータが使用されてもよい。図５は、本明細書に記載の実施形態を実現することがある例示的コンピューティングデバイスを示す説明図である。図５のコンピューティングデバイスは、ユニバーサルリソースロケータを監視し、いくつかの実施形態によりマルウェアに感染している疑いのあるマシンを識別する機能の実施形態を実行するために使用され得る。コンピューティングデバイスは、バス５０５を介してメモリ５０３に連結された中央処理装置（ＣＰＵ）５０１と、大容量記憶デバイス５０７とを含む。大容量記憶デバイス５０７は、いくつかの実施形態ではローカルでもリモートでもよいディスクドライブなどの永続的データ記憶デバイスを表わす。大容量記憶デバイス５０７は、いくつかの実施形態では、バックアップ記憶を実現することができる。メメモリ５０３には、読み取り専用メモリ、ランダムアクセスメモリなどが挙げられる。コンピューティングデバイス上に常駐するアプリケーションは、いくつかの実施形態では、メモリ５０３や大容量記憶デバイス５０７などのコンピュータ可読媒体に記憶されてもよく、コンピュータ可読媒体を介してアクセスされてもよい。アプリケーションは、また、コンピューティングデバイスのネットワークモデムや他のネットワークインタフェースによってアクセスされる、変調された変調電子信号の形でもよい。いくつかの実施形態では、ＣＰＵ  ５０１が、汎用プロセッサ、専用プロセッサ、又は特別にプログラムされた論理回路で実施されてもよいことを理解されたい。
【００６０】
ディスプレイ５１１は、バス５０５を介して、ＣＰＵ  ５０１、メモリ５０３及び大容量記憶デバイス５０７と通信する。ディスプレイ５１１は、本明細書に記載のシステムと関連付けられた任意の視覚化ツール又はレポートを表示するように構成されている。入出力デバイス５０９は、バス５０５に連結されて、コマンド選択における情報をＣＰＵ  ５０１に通信する。外部デバイス間のデータが入出力デバイス５０９を介して通信されてもよいことを理解されたい。ＣＰＵ  ５０１は、図１〜図４に関して記載された機能を可能にするために、本明細書に記載の機能を実行するように規定されてもよい。この機能を実施するコードは、いくつかの実施形態では、ＣＰＵ  ５０１などのプロセッサによって実行するためにメモリ５０３又は大容量記憶デバイス５０７内に記憶されてもよい。コンピューティングデバイス上のオペレーティングシステムは、ＭＳ  ＤＯＳ（登録商標）、ＭＳ−ＷＩＮＤＯＷＳ（登録商標）、ＯＳ／２（登録商標）、ＵＮＩＸ（登録商標）、ＬＩＮＵＸ（登録商標）、又は他の既知のオペレーティングシステムでよい。本明細書に記載の実施形態が、仮想化コンピューティングシステムと一体化されてもよいことを理解されたい。
【００６１】
詳細な説明的な実施形態は、本明細書に開示される。しかしながら、本明細書に開示された特定の機能的詳細は、実施形態を記載するための代表に過ぎない。しかしながら、実施形態は、多くの代替形態で実施されてもよく、本明細書で説明された実施形態のみに限定されるように解釈されるべきでない。
【００６２】
第１、第２などの用語は、本明細書では、様々なステップ又は計算を説明するために使用されることがあり、そのようなステップ又は計算は、これらの用語によって限定されるべきでないことを理解されたい。これらの用語は、あるステップ又は計算を別のものと区別するためにのみ使用される。例えば、この開示の範囲から逸脱せずに、第１の計算を第２の計算と呼ぶことができ、同様に第２のステップを第１のステップと呼ぶことができる。本明細書で使用されるとき、用語「及び／又は（and/or）」と記号「（／」）は、関連したリスト項目のいずれか及び１つ以上の全ての組み合わせを含む。
【００６３】
本明細書で使用されるとき、単数形「ａ」、「ａｎ」及び「ｔｈｅ」は、文脈で特に明示されない限り、複数形も含むように意図される。更に、用語「備える」、「備えること」、「含む」、及び／又は「含むこと」が、本明細書で使用されるとき、述べられた特徴、整数、ステップ、動作、要素、及び／又は構成要素の存在を明示するが、１つ以上の他の特徴、整数、ステップ、動作、要素、構成要素、及び／又はそのグループの存在又は追加を除外しないことを理解されよう。従って、本明細書で使用される用語は、特定の実施形態を説明するためだけのものであり、限定するものではない。
【００６４】
また、いくつかの代替実施態様では、示された機能／行為は、図に示された順序以外で行われてもよいことに注意されたい。例えば、連続的に示された２つの図が、実際には、含まれる機能／行為に応じて、実質的に同時に実行されてもよく、逆の順序で実行されてもよい。
【００６５】
上記の実施形態を考慮すると、実施形態が、コンピュータシステムに記憶されたデータに関係する様々なコンピュータ実施動作を用いることがあることを理解されたい。これらの動作は、物理量の物理的操作を必要とするものである。必須ではないものの、通常、これらの量は、記憶し、転送し、組み合わせ、比較し、また別の形で操作することができる、電気信号又は磁気信号の形態をとる。更に、行われる操作は、作成、識別、決定、比較などの用語で参照されることがある。実施形態の一部を構成する本明細書に記載された動作はいずれも、有効な機械動作である。実施形態は、これらの動作を行うためのデバイス又は装置にも関する。装置は、特に、必要とされる目的のために構成されてもよく、又は装置は、コンピュータに記憶されたコンピュータプログラムによって選択的に活動化又は構成された汎用コンピュータでもよい。詳細には、本明細書の教示に従って記述されたコンピュータプログラムと共に様々な汎用マシンを使用することができ、必要な動作を実行するためにより特殊な装置を構成したほうが好都合なことがある。
【００６６】
モジュール、アプリケーション、レイヤ、エージェント又は他の方法で実行可能なエンティティは、ハードウェア、プロセッサ実行ソフトウェア、又はこれらの組み合わせとして実現されてもよい。ソフトウェアベースの実施形態が本明細書に開示された場合、ソフトウェアが、コントローラなどの物理的マシンで実施されてもよいことを理解されたい。例えば、コントローラは、第１のモジュール及び第２のモジュールを含んでもよい。コントローラは、例えば方法、アプリケーション、レイヤ又はエージェントの様々な行為を実行するように構成されていてもよい。
【００６７】
また、実施形態は、非一時的コンピュータ可読媒体上のコンピュータ可読コードとして実施されてもよい。コンピュータ可読媒体は、後でコンピュータシステムが読み取ることができるデータを記憶できる任意のデータ記憶デバイスである。コンピュータ可読媒体の例には、ハードディスク、ネットワーク接続ストレージ（ＮＡＳ）、読み取り専用メモリ、ランダムアクセスメモリ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、並びに他の光学及び非光学データ記憶デバイスが含まれる。コンピュータ可読媒体は、コンピュータ可読コードが分散式に記憶され実行されるように、ネットワーク接続されたコンピュータシステムに分散されてもよい。本明細書に記載された実施形態は、携帯端末デバイス、タブレット、マイクロプロセッサシステム、マイクロプロセサベース又はプログラム可能な民生用電子機器、ミニコンピュータ、メインフレームコンピュータなどを含む様々なコンピュータシステム構成で実施されてもよい。実施形態は、また、有線又は無線ネットワークによって連結されたリモート処理デバイスによってタスクが実行される分散コンピューティング環境で実施され得る。
【００６８】
方法動作を特定の順序で記載しているが、記載された動作の間に他の動作を行ってもよく、記載された動作が、わずかに異なる時間で行われるように調整されてもよく、記載された動作が、処理と関連付けられた様々な間隔で処理動作を行うことを可能にするシステム内で分散されてもよいことを理解されたい。
【００６９】
以上の説明は、説明のために、特定の実施形態を参照して記載されている。しかしながら、上述の例示的考察は、包括的であること、又は本発明を開示される正確な形態に限定することを意図するものではない。上述の教示を考慮して、多くの修正及び変形が可能である。実施形態は、実施形態の原理及びその実際の用途を最も良く説明するために選択かつ記載され、それにより、他の当業者が、企図される特定の用途に好適であり得る実施形態と様々な修正を最大限に利用することを可能にする。従って、この実施形態は、説明的であり非限定的なものとして解釈されるべきであり、本発明が本明細書に示された詳細に限定されないが、添付の特許請求の範囲及び等価物内で修正され得る。
【図１】
0006397932.tif 000002
【図２】
0006397932.tif 000003
【図３Ａ】
0006397932.tif 000004
【図３Ｂ】
0006397932.tif 000005
【図３Ｃ】
0006397932.tif 000006
【図４Ａ】
0006397932.tif 000007
【図４Ｂ】
0006397932.tif 000008
【図４Ｃ】
0006397932.tif 000009
【図５】
0006397932.tif 000010