(57)【要約】      （修正有）【課題】マルウェアのドメイン生成アルゴリズムのリバース・エンジニアリングを必要とすることなく、マルウェアまたはその他の疑わしいソフトウェアの存在を検知できるようにする。【解決手段】複数のサーバから複数の名前解決要求を入手し３０２、受信した名前解決要求を受信側のネーム・サーバに従ってソートする３０４。スライド式の時間ウィンドウを使用して、リストのセットを生成し３０６、リストのセットどうしを結合して、リストのグローバルなセットを生成する３０８。リストのグローバルなセット内で少なくとも１つの共に発生しているリストを検知し３１０、共に発生しているリスト（１つまたは複数）内の少なくともいくつかのドメインが存在していないことを判定する３１２。共に発生しているリスト内のドメインを疑わしいソフトウェアまたはマルウェアが要求したということを示す３１４。疑わしいマルウェアに対する是正策を実施する３１６。【選択図】図３
2015043204.tif 000002
【特許請求の範囲】
【請求項１】
複数のネーム・サーバから一定期間にわたって受信された複数の名前解決要求を入手するステップと、
固定された持続時間を伴うスライド式の時間ウィンドウを使用して、リストのセットを生成するステップであって、リストのうちの１つのセットが、前記複数のネーム・サーバのそれぞれに関し、それぞれのリストが、前記固定された持続時間内に要求された１つまたは複数のドメインを含む、ステップと、
リストの前記セットどうしを結合し、それによってリストのグローバルなセットが生成されるステップと、
リストの前記グローバルなセット内で、共に発生しているリストを検知するステップと、
前記共に発生しているリスト内の複数のドメインが存在していないことを判定するステップと、
前記共に発生しているリスト内の前記ドメインを示すステップと
を含む方法。
【請求項２】
それぞれの名前解決要求が、ドメインの識別、時刻、およびネーム・サーバを含む、請求項１に記載の方法。
【請求項３】
それぞれのネーム・サーバが、再帰ネーム・サーバを含む、請求項１に記載の方法。
【請求項４】
前記複数の名前解決要求をネーム・サーバに従ってソートし、それによってリストの前記セット、前記複数のネーム・サーバのそれぞれに１つ、が入手されるステップ
をさらに含む、請求項１に記載の方法。
【請求項５】
前記共に発生しているリストに関連付けられているマルウェアに対する是正策を実施するステップをさらに含む、請求項１に記載の方法。
【請求項６】
前記検知するステップが、頻出パターン・ツリーを構築するステップを含む、請求項１に記載の方法。
【請求項７】
前記検知するステップが、幅優先探索を実行するステップを含む、請求項１に記載の方法。
【請求項８】
前記共に発生しているリスト内の存在していない前記複数のドメインが少なくとも１０００個のドメインを含むことを判定するステップをさらに含む、請求項１に記載の方法。
【請求項９】
前記共に発生しているリストが少なくとも１０００個のドメインを含むことを判定するステップをさらに含む、請求項１に記載の方法。
【請求項１０】
前記示すステップが、表示するステップを含む、請求項１に記載の方法。
【請求項１１】
前記共に発生しているリスト内の前記ドメインを疑わしいソフトウェアが要求した可能性があるということを示すステップをさらに含む、請求項１に記載の方法。
【請求項１２】
前記共に発生しているリスト内の前記ドメインをマルウェアが要求した可能性があるということを示すステップをさらに含む、請求項１に記載の方法。
【請求項１３】
複数のネーム・サーバと通信状態にある少なくとも１つのプロセッサ
を含むシステムであって、前記少なくとも１つのプロセッサが、
複数のネーム・サーバから一定期間にわたって受信された複数の名前解決要求を入手するステップと、
固定された持続時間を伴うスライド式の時間ウィンドウを使用して、リストのセットを生成するステップであり、リストのうちの１つのセットが、前記複数のネーム・サーバのそれぞれに関し、それぞれのリストが、前記固定された持続時間内に要求された１つまたは複数のドメインを含む、ステップと、
リストの前記セットどうしを結合し、それによってリストのグローバルなセットが生成されるステップと、
リストの前記グローバルなセット内で、共に発生しているリストを検知するステップと、
前記共に発生しているリスト内の複数のドメインが存在していないことを判定するステップと、
前記共に発生しているリスト内のドメインをマルウェアが要求したということを示すステップとを行うように構成されている、システム。
【請求項１４】
それぞれの名前解決要求が、ドメインの識別、時刻、およびネーム・サーバを含む、請求項１３に記載のシステム。
【請求項１５】
それぞれのネーム・サーバが、再帰ネーム・サーバを含む、請求項１３に記載のシステム。
【請求項１６】
前記少なくとも１つのプロセッサが、前記複数の名前解決要求をネーム・サーバに従ってソートし、それによってリストの前記セット、前記複数のネーム・サーバのそれぞれに１つ、が入手されるステップを行うようにさらに構成されている、請求項１３に記載のシステム。
【請求項１７】
前記共に発生しているリストに関連付けられているマルウェアに対する是正策を実施するように構成されている少なくとも１つのプロセッサをさらに含む、請求項１３に記載のシステム。
【請求項１８】
前記少なくとも１つのプロセッサが、頻出パターン・ツリーを構築するようにさらに構成されている、請求項１３に記載のシステム。
【請求項１９】
前記少なくとも１つのプロセッサが、幅優先探索を実行するようにさらに構成されている、請求項１３に記載のシステム。
【請求項２０】
前記少なくとも１つのプロセッサが、前記共に発生しているリスト内において存在していない前記複数のドメインが少なくとも１０００個のドメインを含むことを判定するようにさらに構成されている、請求項１３に記載のシステム。
【請求項２１】
前記少なくとも１つのプロセッサが、前記共に発生しているリストが少なくとも１０００個のドメインを含むことを判定するようにさらに構成されている、請求項１３に記載のシステム。
【請求項２２】
モニタに動作可能に結合されており、前記少なくとも１つのプロセッサが、前記共に発生しているリスト内のドメインをマルウェアが要求したということを前記モニタ上に表示を示すことによって示すようにさらに構成されている、請求項１３に記載のシステム。
【請求項２３】
前記少なくとも１つのプロセッサが、前記共に発生しているリスト内の前記ドメインを疑わしいソフトウェアが要求した可能性があるということを示すようにさらに構成されている、請求項１３に記載のシステム。
【請求項２４】
前記少なくとも１つのプロセッサが、前記共に発生しているリスト内の前記ドメインをマルウェアが要求した可能性があるということを示すようにさらに構成されている、請求項１３に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書において提供される技術は、疑わしいソフトウェアを検知することに関する。
【先行技術文献】
【非特許文献】
【０００２】
【非特許文献１】Ｊ．  Ｈａｎ，  Ｈ．  Ｐｅｉ，  ａｎｄ  Ｙ．  Ｙｉｎ，  Ｍｉｎｉｎｇ  Ｆｒｅｑｕｅｎｔ  Ｐａｔｔｅｒｎｓ  ｗｉｔｈｏｕｔ  Ｃａｎｄｉｄａｔｅ  Ｇｅｎｅｒａｔｉｏｎ，  Ｐｒｏｃ．  Ｃｏｎｆ．  ｏｎ  ｔｈｅ  Ｍａｎａｇｅｍｅｎｔ  ｏｆ  Ｄａｔａ  （ＳＩＧＭＯＤ’００，  Ｄａｌｌａｓ，  ＴＸ）  ＡＣＭ  Ｐｒｅｓｓ，  Ｎｅｗ  Ｙｏｒｋ，  ＮＹ，  ＵＳＡ  ２０００
【非特許文献２】Ｒａｋｅｓｈ  Ａｇｒａｗａｌ  ａｎｄ  Ｒａｍａｋｒｉｓｈｎａｎ  Ｓｒｉｋａｎｔ，  Ｆａｓｔ  Ａｌｇｏｒｉｔｈｍｓ  Ｆｏｒ  Ｍｉｎｉｎｇ  Ａｓｓｏｃｉａｔｉｏｎ  Ｒｕｌｅｓ  Ｉｎ  Ｌａｒｇｅ  Ｄａｔａｂａｓｅｓ，  Ｐｒｏｃ．  ２０ｔｈ  Ｉｎｔ’ｌ  Ｃｏｎｆ．  ｏｎ  Ｖｅｒｙ  Ｌａｒｇｅ  Ｄａｔａ  Ｂａｓｅｓ，  ＶＬＤＢ，  ｐｐ．  ４８７−４９９，  Ｓａｎｔｉａｇｏ，  Ｃｈｉｌｅ，  Ｓｅｐｔｅｍｂｅｒ  １９９４
【発明の概要】
【課題を解決するための手段】
【０００３】
いくつかの実施態様によれば、ある方法が提供される。この方法は、複数のネーム・サーバから一定期間にわたって受信された複数の名前解決要求を入手するステップと、固定された持続時間を伴うスライド式の時間ウィンドウを使用して、リストのセットを生成するステップであって、リストのうちの１つのセットが、複数のネーム・サーバのそれぞれに関し、それぞれのリストが、固定された持続時間内に要求された１つまたは複数のドメインを含む、ステップと、リストのセットどうしを結合し、それによってリストのグローバルなセットが生成されるステップと、リストのグローバルなセット内で共に発生しているリストを検知するステップと、共に発生しているリスト内の複数のドメインが存在していないことを判定するステップと、共に発生しているリスト内のドメインを示すステップとを含む。
【０００４】
上述の方法のさまざまな任意選択の特徴については、下記のものを含む。それぞれの名前解決要求は、ドメインの識別情報、時刻、およびネーム・サーバを含むことができる。それぞれのネーム・サーバは、再帰ネーム・サーバを含むことができる。この方法は、複数の名前解決要求をネーム・サーバに従ってソートし、それによってリストのセット、複数のネーム・サーバのそれぞれに１つ、が入手されるステップを含むことができる。この方法は、共に発生しているリストに関連付けられているマルウェアに対する是正策を実施するステップを含むことができる。検知するステップは、頻出パターン・ツリーを構築するステップを含むことができる。検知するステップは、幅優先探索を実行するステップを含むことができる。この方法は、共に発生しているリスト内の存在していない複数のドメインが少なくとも１０００個のドメインを含むことを判定するステップを含むことができる。この方法は、共に発生しているリストが少なくとも１０００個のドメインを含むことを判定するステップを含むことができる。示すステップは、表示するステップを含むことができる。この方法は、共に発生しているリスト内のドメインを疑わしいソフトウェアが要求した可能性があるということを示すステップを含むことができる。この方法は、共に発生しているリスト内のドメインをマルウェアが要求した可能性があるということを示すステップを含むことができる。
【０００５】
いくつかの実施態様によれば、あるシステムが提供される。このシステムは、複数のネーム・サーバと通信状態にある少なくとも１つのプロセッサを含み、その少なくとも１つのプロセッサは、複数のネーム・サーバから一定期間にわたって受信された複数の名前解決要求を入手するステップと、固定された持続時間を伴うスライド式の時間ウィンドウを使用して、リストのセットを生成するステップであって、リストのうちの１つのセットが、複数のネーム・サーバのそれぞれに関し、それぞれのリストが、固定された持続時間内に要求された１つまたは複数のドメインを含む、ステップと、リストのセットどうしを結合し、それによってリストのグローバルなセットが生成されるステップと、リストのグローバルなセット内で、共に発生しているリストを検知するステップと、共に発生しているリスト内の複数のドメインが存在していないことを判定するステップと、共に発生しているリスト内のドメインを示すステップとを行うように構成されている。
【０００６】
上述のシステムのさまざまな任意選択の特徴については、下記のものを含む。それぞれの名前解決要求は、ドメインの識別情報、時刻、およびネーム・サーバを含むことができる。それぞれのネーム・サーバは、再帰ネーム・サーバを含むことができる。少なくとも１つのプロセッサは、複数の名前解決要求をネーム・サーバに従ってソートし、それによってリストのセット、複数のネーム・サーバのそれぞれに１つ、が入手されるステップを行うようにさらに構成されることが可能である。このシステムは、共に発生しているリストに関連付けられているマルウェアに対する是正策を実施するように構成されている少なくとも１つのプロセッサを含むことができる。少なくとも１つのプロセッサは、頻出パターン・ツリーを構築するようにさらに構成されることが可能である。少なくとも１つのプロセッサは、幅優先探索を実行するようにさらに構成されることが可能である。少なくとも１つのプロセッサは、共に発生しているリスト内の存在していない複数のドメインが少なくとも１０００個のドメインを含むことを判定するようにさらに構成されることが可能である。少なくとも１つのプロセッサは、共に発生しているリストが少なくとも１０００個のドメインを含むことを判定するようにさらに構成されることが可能である。このシステムは、モニタに動作可能に結合されることが可能であり、少なくとも１つのプロセッサは、共に発生しているリスト内のドメインをマルウェアが要求したということをモニタ上に表示を示すことによって示すようにさらに構成されることが可能である。少なくとも１つのプロセッサは、共に発生しているリスト内のドメインを疑わしいソフトウェアが要求した可能性があるということを示すようにさらに構成されることが可能である。少なくとも１つのプロセッサは、共に発生しているリスト内のドメインをマルウェアが要求した可能性があるということを示すようにさらに構成されることが可能である。
【０００７】
本明細書に組み込まれ、本明細書の一部を構成する添付図面は、説明されるテクノロジーの実施態様を示している。
【図面の簡単な説明】
【０００８】
【図１】本発明のいくつかの実施形態におけるシステムの概略図である。
【図２】本発明のいくつかの実施形態における方法の概略図である。
【図３】本発明のいくつかの実施形態における方法のフローチャートである。
【図４】本発明のいくつかの実施形態におけるネーム・サーバ・クエリーのチャートである。
【図５】本発明のいくつかの実施形態におけるネーム・サーバ・クエリーのチャートである。
【発明を実施するための形態】
【０００９】
コンピュータ・ネットワーキングの成長は、それと共に、悪徳なアクティビティーのために使用されるドメインをもたらしている。そのようなドメインは、詐欺、フィッシング、スパミング、ボットネットのコマンド・アンド・コントロール・アクティビティーなどのために使用される場合がある。悪意のあるアクティビティーを犯す能力は、マルウェアに感染している膨大な数のコンピュータを連携させて特定のアクティビティーを実行することに依存している。これらの大規模なオペレーションは、典型的には、感染しているコンピュータをネットワーク上の適切なロケーションへと導くのを手助けするドメイン名システム（「ＤＮＳ」）を使用する。（ＤＮＳは、ドメイン名と、ウェブ・サイトのインターネット・プロトコル（「ＩＰ」）アドレスとの間におけるマッピングを保持する。）スパムおよびフィッシング攻撃などの攻撃については、これらのドメインは、悪意のあるコンテンツをホストしているウェブ・サイトへ（またはプロキシを通じて）犠牲者を導くために使用される場合がある。ボットネットのコマンド・アンド・コントロールのケースにおいては、感染しているコンピュータは、自分のドメイン名に従ってコントローラ・マシンを配置する場合がある。とりわけ、同じマルウェアに感染しているコンピュータは、典型的には、ドメインの同じセットにコンタクトする。多くのそのようなドメインは、存在していない、すなわち、登録されていない。したがって、いくつかの実施態様は、ドメインの同じセット、そのうちのいくつかは存在していない、に対する複数の要求を検知することによって、マルウェアの存在を推測する。有利なことに、そのような実施態様は、マルウェアのドメイン生成アルゴリズムのリバース・エンジニアリングを必要とすることなく、マルウェアまたはその他の疑わしいソフトウェアの存在を検知することを可能にする。
【００１０】
次いで、添付の図面において示されている例示的な実施態様を詳細に言及する。可能な場合は、同じまたは同様の部分を指すために図面どうしを通じて同じ参照番号が使用される。
【００１１】
図１は、本発明のいくつかの実施形態によるシステムを示す概略図である。このシステムは、本明細書において開示されている方法の少なくとも一部を実行するように構成されているプロセッサ１０２を含む。プロセッサ１０２は、コンピュータまたはコンピュータ・システムの一部として、たとえば、ここでの説明の目的ではラックマウント・サーバとして、実装されることが可能であり、プロセッサ１０２は、そのようなコンピュータまたはコンピュータ・システムを含むことができる。プロセッサ１０２は、ハード・ディスクまたはディスク・アレイなどの永続ストレージ１０４に通信可能に結合されている。ストレージ１０４は、本明細書において開示されている方法の少なくともいくつかの部分を実行するために、プロセッサ１０２による実行命令を格納することができる。
【００１２】
プロセッサ１０２は、ネットワーク１１０を経由して、ＤＮＳサーバ１１２、１１４、および１１６へ通信可能に結合されている。ネットワーク１１０は、たとえば、インターネットであってもよい。プロセッサ１０２は、本明細書において開示されているＤＮＳサーバ１１２、１１４、および１１５からデータを受信可能とされている。とりわけ、プロセッサ１０２は、ＤＮＳサーバ１１２、１１４、および１１６のそれぞれから受信される名前解決要求を反映するデータを受信可能とされている。
【００１３】
ＤＮＳサーバ１１２、１１４、および１１６は、たとえば、トップレベル・ドメイン・サーバおよび／または再帰ネーム・サーバであることが可能である。一般には、クライアント・デバイス、たとえばコンピュータ１０６または１０８が、たとえばユーザまたはアプリケーションからユニフォーム・リソース・ロケータ（「ＵＲＬ」）を受信した場合には、そのクライアント・デバイスは、そのＵＲＬに対応するＩＰアドレスを入手するために、ネットワーク１１０を通じてネーム・サーバへ名前解決要求を送信する。再帰サーバが名前解決要求を受信して、そのドメインに関する情報を有していない場合には、その再帰サーバは、関連付けられているＩＰアドレスを入手したいという要求をトップレベル・ドメイン・サーバへ送信する。一般には、それぞれの再帰サーバは、別々の地理的領域を代表する。ＤＮＳサーバ１１２、１１４、および１１６は、受信するそれぞれの名前解決要求を反映する情報をプロセッサ１０２へ伝達する。とりわけ、ＤＮＳサーバ１１２、１１４、および１１６は、受信されたそれぞれの名前解決要求に関して、その要求が受信された時刻、その要求を受信したネーム・サーバの識別情報（たとえば、ＩＰアドレス）、および要求された対応するＩＰアドレスを有するドメインを示すデータを伝達することができる。
【００１４】
図１におけるコンピュータ１０６および１０８は、ウイルスまたはトロイの木馬などのマルウェアに感染している。とりわけ、コンピュータ１０６および１０８は、いわゆるゾンビ・コンピュータである可能性がある。マルウェア・オペレータは、Ｅメール・スパムを送信すること、または分散型サービス妨害攻撃を実行することなど、悪意のあるアクションを実行するために、そのようなゾンビ・コンピュータ１０６および１０８を利用することができる。したがってマルウェアは、コンピュータ１０６および１０８が、どのスパムをどこへ送信するか、またはサービス妨害攻撃の一部としてどのコンピュータを攻撃するかなどの指示を求めるようにさせる。（実施態様は、サービス妨害マルウェアを検知することに限定されない。）コンピュータ１０６および１０８は、典型的には、多数のＵＲＬを使用してコンピュータにコンタクトすることによって、そのような指示を入手する。
【００１５】
典型的には、ゾンビ・コンピュータが指示を求めてコンタクトする多くのＵＲＬは、存在していない。すなわち、マルウェアに感染しているコンピュータがコンタクトする多くのＵＲＬは、コンタクトの時点でレジスタに登録されておらず、したがってＩＰアドレスに関連付けられていない。
【００１６】
図２は、本発明のいくつかの実施形態における方法の一部を示す概略図である。この方法は、マルウェアに感染している多くの異なるコンピュータから複数の時間クラスタ化された名前解決要求のセットが共に発生していることを検知することによって、マルウェアの感染を識別することを狙いとしている。すなわち、この方法は、１つまたは複数のネーム・サーバが、時間において共にクラスタ化されているＵＲＬの同じセットに対する要求を、複数の感染しているコンピュータから受信していることを判定することによって、マルウェアに感染しているコンピュータを検知することができる。より一般的には、この方法は、存在していないドメインに対する複数の要求が共に発生していることを検知することによって、疑わしいソフトウェアの存在を検知することができる。
【００１７】
この方法は、プロセッサ１０２およびストレージ１０４を含む図１において示されている実施形態などの一実施形態が、１つまたは複数のネーム・サーバによって受信された名前解決要求を反映するデータのストリームを受信したときに、開始することができる。名前解決要求のストリームは、一定期間、たとえば、１時間、１日、１週間などにわたって受信された要求を反映することができる。一般には、その一定期間は、１分間から数週間までの任意のインターバルであることが可能である。データのストリームは、控えめな名前解決要求を反映するデータを含むことがある。たとえば、それぞれの要求に関するデータは、時刻（たとえば、インターネット時間）、要求されているドメイン（たとえば、文字列）、および要求を受信したネーム・サーバの識別情報（たとえば、ＩＰアドレス）を含むことがある。
【００１８】
本実施形態は、名前解決要求を反映する十分な量のデータを受信すると、それらのデータを、要求を受信したネーム・サーバに従ってグループ化することができる。次いで、本実施形態は、それらのデータをそれぞれのグループ内で時刻の順に配列することができる。そのような１つの配列２０２が、図２に示されている。すなわち、配列２０２は、単一のネーム・サーバによって受信された複数の要求されたドメインを表しており、それらの要求されたドメインは、要求がネーム・サーバによって受信された時刻の順に配列されている。いくつかの実施形態は、複数のネーム・サーバからデータを受信し、したがって、そのような実施形態は、配列２０２によって示されているタイプのデータを複数回にわたって配列するということに留意されたい。
【００１９】
次に、この実施形態は、ネーム・サーバが受信した時間において共にクラスタ化されている要求に関するドメインのリストを入手するために、スライド式の時間ウィンドウ２０４、２０６、２０８、および２１０を使用する。例として、スライド式の時間ウィンドウ２０４、２０６、２０８、および２１０は、持続時間、たとえば、０．１秒と１０秒との間における任意の秒数であることが可能である。したがって、図２は、配列２０２に適用されるスライド式の時間ウィンドウ２０４、２０６、２０８、および２１０を概略的に示している。
【００２０】
したがって、本実施形態は、互いに時間的に近接しているネーム・サーバから要求された複数のドメインのリスト２１２のセットを入手する。図２に示されている例においては、それぞれのリスト２１２は、３つのドメインを含む。しかしながら、それぞれのリストは、任意の数のドメインを含むことができる。
【００２１】
本実施形態は、時間的にクラスタ化されているドメインのリストの１つまたは複数のセットを入手すると、リストのそれらのセットを結合して、時間的にクラスタ化されている要求されたドメインのリストのグローバルなセットを生み出す。次いで、本実施形態は、リストのグローバルなセットの中からそのようなリストが共に発生していることを検知する。このプロセスについては、図３を参照しながら詳細に述べる。
【００２２】
図３は、本発明のいくつかの実施形態による方法を示すフローチャートである。図３の方法は、図２に従って示されている方法部分を含むことができる。さらに、図３の方法は、プロセッサ１０２およびストレージ１０４を含む図１において示されている一実施形態を使用して実施されることが可能である。
【００２３】
ブロック３０２において、この方法は、複数の、たとえばストリームとしての名前解決要求を入手する。この方法は、そのような要求を、たとえばＤＮＳサーバ１１２、１１４、および１１６から入手することができる。それらのＤＮＳサーバは、名前解決要求を、たとえばインターネットを介してプロセッサ１０２に提供するようにプログラムされることが可能である。
【００２４】
ブロック３０４において、この方法は、ブロック３０２において受信した名前解決要求を受信側のネーム・サーバに従ってソートする。たとえば、プロセッサ１０２が、７つの異なるネーム・サーバから名前解決要求を受信した場合には、ブロック３０４の結果は、名前解決要求の７つのセットとなる。
【００２５】
ブロック３０６において、この方法は、スライド式の時間ウィンドウを使用して、リストのセットを生成する。ブロック３０６の技術は、ブロック３０４において生成された名前解決要求のそれぞれのセットごとに実行される。より具体的には、ブロック３０６の技術は、単一のネーム・サーバから受信された名前解決要求のそれぞれのセットごとに実行される。したがってブロック３０６は、それぞれのネーム・サーバごとにリストの１つのセットを生成する。ブロック３０６の技術のさらなる詳細については、図２を参照した上記の通りである。
【００２６】
ブロック３０８において、この方法は、ブロック３０６において生成されたリストのセットどうしを結合して、リストのグローバルなセットを生成する。この結合は、たとえば、重複が許容される通常のマージ、すなわち集合論的な和であることが可能である。たとえば、リスト［｛Ｄｏｍａｉｎ１．ｃｏｍ，  Ｄｏｍａｉｎ２．ｃｏｍ｝，  ｛Ｄｏｍａｉｎ２．ｃｏｍ，  Ｄｏｍａｉｎ３．ｃｏｍ｝］のセットをリスト［｛Ｄｏｍａｉｎ１．ｃｏｍ，  Ｄｏｍａｉｎ２．ｃｏｍ｝，  ｛Ｄｏｍａｉｎ３．ｃｏｍ，  Ｄｏｍａｉｎ４．ｃｏｍ｝］のセットとマージすると、リスト［｛Ｄｏｍａｉｎ１．ｃｏｍ，  Ｄｏｍａｉｎ２．ｃｏｍ｝，  ｛Ｄｏｍａｉｎ１．ｃｏｍ，  Ｄｏｍａｉｎ２．ｃｏｍ｝，  ｛Ｄｏｍａｉｎ２．ｃｏｍ，  Ｄｏｍａｉｎ３．ｃｏｍ｝，  ｛Ｄｏｍａｉｎ３．ｃｏｍ，  Ｄｏｍａｉｎ４．ｃｏｍ｝］のグローバルなセットが生じる。
【００２７】
ブロック３１０において、この方法は、リストのグローバルなセット内で少なくとも１つの共に発生しているリストを検知する。共に発生しているリストとは、ここでは、少なくとも２回出現するリストを意味する。したがってブロック３１０は、リストのグローバルなセット内で２回以上出現する１つまたは複数のリストを検知する。共に発生しているリストを検知するために、多くの既存の技術を使用することが可能である。たとえば、非特許文献１において説明されている技術など、頻出パターン・ツリーを構築する技術を使用することが可能である。別の例としては、たとえば、非特許文献２において開示されているような、「アプリオリ」などの、幅優先探索を利用する技術を使用することが可能である。共に発生していることを検知するために、さらなる追加の例、上述のアルゴリズムのバリエーション、または別のアルゴリズムを使用することが可能である。それらのアルゴリズムの出力、およびブロック３１０の出力は、リストのグローバルなセット内に少なくとも２回出現する少なくとも１つのリストの識別である。いくつかの実施形態においては、ブロック３１０の出力は、それぞれの共に発生しているリストごとに、リストのグローバルなセット内でのその共に発生しているリストの発生回数のカウントを含む。
【００２８】
ブロック３１２において、この方法は、共に発生しているリスト（１つまたは複数）内の少なくともいくつかのドメインが存在していないことを判定する。すなわち、この方法は、（１つまたは複数の）共に発生しているリスト内の少なくともいくつかのドメインが登録されていないことを判定する。これは、たとえば、当該ドメインが現在登録されているかどうかを判定するためにプロセッサ１０２がネーム・サーバと通信することによって、達成することが可能である。
【００２９】
ブロック３１４において、この技術は、共に発生しているリスト内のドメインを疑わしいソフトウェアまたはマルウェアが要求した可能性が高いということを示す。この結論は、この方法が、複数の存在していないドメインを含むドメインの共に発生しているリストを判定した結果から生じることが可能である。その表示は、いくつかの形態のうちの任意の形態であることが可能である。いくつかの実施形態においては、その表示は、それらのドメインをコンピュータ・モニタ上に通知として表示することを含む。その通知は、共に発生しているリスト（１つまたは複数）内のドメインのリスト、および／または共に発生しているリスト（１つまたは複数）内の存在していないドメインのリストを含むこと、またはそれらのリストにリンクすることが可能である。あるいは、この技術は、共に発生しているリスト内のドメインが疑わしいソフトウェアまたはマルウェアに関連付けられている可能性があることを示さずにそれらのドメインを示すこと（たとえば、表示すること）も可能である。
【００３０】
いくつかの実施形態においては、共に発生しているリスト内のドメインまたは存在していないドメインの数は、ブロック３１４をトリガーする前にしきい値を超えなければならない。そのような実施形態においては、しきい値は、たとえば、１００、５００、７５０、１０００、１５００、２０００などであることが可能である。一般には、しきい値は、１００と１０，０００との間における任意の数であることが可能である。一般には、しきい値は、再帰的なＤＮＳ階層内のどこでこのシステムが実施されるか、このシステムがサービス提供することになる可能性があるトップレベル・ドメインのタイプ、および／またはネーム・サーバの背後にいるユーザの数を考慮に入れることによって決定されることが可能である。
【００３１】
ブロック３１６において、この方法は、疑わしいマルウェアに対する是正策を実施する。それらの是正策は、たとえば、共に発生しているリスト（１つまたは複数）内に出現しているドメインまたは存在していないドメインをマルウェアが要求した可能性が高いという表示を提供するために１つまたは複数のネーム・サーバと通信することを含むことができる。それらの是正策は、たとえば、共に発生しているリスト（１つまたは複数）内に含まれている登録されているドメインに対するネーム・サーバの要求をブロックすること、またはブロックするよう要求することを含むことができる。その他の是正策も考えられる。
【００３２】
図４は、本発明のいくつかの実施形態によるネーム・サーバ・クエリーのチャートである。詳細には、図４は、ドメイン名要求どうしの間における時間を、Ｃｏｎｆｉｃｋｅｒ  Ａ／Ｂマルウェアのバージョンに感染しているコンピュータによるドメインに関する要求の数の関数として示すチャートである。このチャートは、とりわけ、要求されたドメインのそれぞれの数ごとに、第１の四分位数４０２、中央値４０４、第３の四分位数４０６、および標準偏差４０８を示している。たとえば、上でブロック３１４を参照しながら論じたようなしきい値情報を提供することによって、この技術の実施態様を微調整するために、図４のチャート、および新たなマルウェアに関する類似したチャートを使用することができる。
【００３３】
図５は、本発明のいくつかの実施形態によるネーム・サーバ・クエリーのチャートである。詳細には、図５のチャートは、Ｃｏｎｆｉｃｋｅｒ  Ａ／Ｂマルウェアのバージョンに感染しているコンピュータによるドメイン名要求のｘ／ｙ散布図であり、ｘ軸は、要求されたドメインの数を表しており、ｙ軸は、要求どうしの間における時間を秒で表している。最も頻繁なケース５０２は、５〜１０秒の時間内に１つまたは２つの要求を示しているということに留意されたい。たとえば、上でブロック３１４を参照しながら論じたようなしきい値情報を提供することによって、この技術の実施態様を微調整するために、図５のチャート、および新たなマルウェアに関する類似したチャートを使用することが可能である。
【００３４】
いくつかの実施態様は、複数の共に発生しているドメイン要求を検知し、この情報をキャッシュの最適化のために利用する。たとえば、そのような実施態様は、特定の第１のドメインに対する要求が、第２のドメインに対する要求に頻繁に追従されるということを検知することが可能である。そのような場合においては、そのような実施態様は、ウェブ・ブラウザおよびネーム・サーバにおけるプリフェッチングおよびキャッシュ技術を向上させるために使用されることができる。
【００３５】
いくつかの実施態様は、複数の共に発生しているドメイン要求を検知し、この情報を、ドメインどうしの間における関連付けまたは結び付きを判定するために利用する。この情報は、たとえば広告主によって使用されることが可能であり、それによって広告主は、広告を複数の場所に置いて、ターゲット・オーディエンスに到達する機会を増やすことができる。
【００３６】
複数の実施態様は、多くのタイプの要求に関する共に発生しているパターンを検知するために使用されることが可能であり、ＤＮＳ要求に限定されない。たとえば、いくつかの実施態様は、ウェブ・ページ要求における共に発生しているパターンを検知するために使用することができる。そのような実施態様は、１つのエンティティーが多くの（たとえば、数百の）ウェブ・ページをホストしているコンテンツ配信環境において利用可能である。そのようなエンティティーは、利用不可能なウェブ・ページに対する要求パターン、たとえば、ＨＴＴＰ  ４０４  Ｎｏｔ  Ｆｏｕｎｄエラーを生じる要求を検知するために、本明細書において開示されている技術を適用することができる。
【００３７】
一般には、これらの提示されている技術を実行することができるシステムは、多くの異なる形態を取ることができる。さらに、このシステムの一部分の機能は、このシステムの別の部分へと代入されることが可能である。それぞれのハードウェア・コンポーネントは、オペレーティング・システムのコントロールのもとで、またはオペレーティング・システムと共に機能するランダム・アクセス・メモリに結合されている１つまたは複数のプロセッサを含むことができる。さらに、それぞれのハードウェア・コンポーネントは、本明細書において提示されている技術を実行するためのプログラム命令を格納することができるハード・ドライブまたはドライブ・アレイなどの永続ストレージを含むことができる。すなわち、そのようなプログラム命令は、開示されている方法を実行する役割を果たすことができる。本明細書において論じられている第１および第２のデバイスのその他の構成、ならびにその他のハードウェア、ソフトウェア、およびサービス・リソースも可能である。
【００３８】
前述の説明は、例示的なものであり、構成および実施態様におけるバリエーションが可能である。たとえば、単数であるものとして説明されているリソースは、複数であることが可能であり、統合されているものとして説明されているリソースは、分散されることが可能である。さらに、複数であるまたは分散されているものとして説明されているリソースは、結合されることが可能である。したがって、提示されている技術の範囲は、添付の特許請求の範囲によってのみ限定されることを意図されている。
【図１】
2015043204.tif 000003
【図２】
2015043204.tif 000004
【図３】
2015043204.tif 000005
【図４】
2015043204.tif 000006
【図５】
2015043204.tif 000007
【外国語明細書】
2015043204000001.pdf