(57)【要約】  疑わしいイベントのソースを識別するためのコンピュータによって実行される方法を記載する。一実施形態では、システムイベントはデータベースに登録することができる。第１のプロセスに関連する疑わしいイベントを検出でき、この第１のプロセスを、複数の潜在的なパペットプロセスのうちの１つであるとして識別することができる。データベース内の登録されたシステムイベントを、第２のプロセスを識別するために照合することができ、第２のプロセスは第１のプロセスを起動することとして検出される。
2017509996.tif 000002
【特許請求の範囲】
【請求項１】
疑わしいイベントのソースを識別するためのコンピュータによって実行される方法であって、
データベースにシステムイベントを登録することと、
第１のプロセスに関連する疑わしいイベントを検出することと、
複数の潜在的なパペットプロセスのうちの１つであるとして前記第１のプロセスを識別することと、
前記第１のプロセスを起動することとして検出される第２のプロセスを識別するために前記データベース内の前記登録されたシステムイベントを照合することと、
を含む、方法。
【請求項２】
前記疑わしいイベントの前記ソースとして前記第２のプロセスを識別する通知を生成することを更に含む、請求項１に記載の方法。
【請求項３】
前記第１のプロセスを開始する際に前記第２のプロセスが終了することを判定することを更に含む、請求項１に記載の方法。
【請求項４】
前記第１のプロセスを開始した前記第２のプロセスを識別する際、前記第１のプロセスをパペットプロセスとして識別することを更に含む、請求項１に記載の方法。
【請求項５】
前記第１のプロセスが、前記第２のプロセスによってコマンドラインインタフェース上に直接供給される命令を介して開始されている、請求項１に記載の方法。
【請求項６】
前記第１のプロセスが、少なくとも１つのファイルからの命令を介して開始されており、前記少なくとも１つのファイルへのパスは前記第２のプロセスによってコマンドラインインタフェース上に供給されている、請求項１に記載の方法。
【請求項７】
潜在的なパペットプロセスのリストを維持することと、
検出されたプロセス起動イベントを含む、前記登録されたシステムイベントを介して新しいパペットプロセスを検出することと、
前記新しいパペットプロセスを前記潜在的なパペットプロセスのリストに追加することと、を更に含む、請求項１に記載の方法。
【請求項８】
前記潜在的なパペットプロセスのリストが、コマンドラインインタフェースを有する少なくとも１つのプロセスを含む、請求項７に記載の方法。
【請求項９】
前記潜在的なパペットプロセスのリストが、ｃｍｄ．ｅｘｅ，ｒｕｎｄｌｌ．ｅｘｅ，ｒｕｎｄｌｌ３２．ｅｘｅ，ｒｅｇｓｖｒ３２．ｅｘｅ，ｄｌｌｈｏｓｔ．ｅｘｅ，ｒｅｇｅｄｉｔ．ｅｘｅ，ｔａｓｋｈｏｓｔ．ｅｘｅ，ｃｓｃｒｉｐｔ，ｗｓｃｒｉｐｔ，ｖｂｓｃｒｉｐｔ，ｐｅｒｌｓｃｒｉｐｔ，ｂａｓｈ，ｌｄｃｏｎｆｉｇ，ｔｅｒｍｉｎａｌ．ａｐｐ，及びｘ−ｃｏｄｅ．ａｐｐのうち少なくとも１つを含む、請求項８に記載の方法。
【請求項１０】
前記システムイベントがカーネルモードドライバを介して登録されている、請求項１に記載の方法。
【請求項１１】
疑わしいイベントのソースを識別するように構成されたコンピューティングデバイスであって、
プロセッサと、
前記プロセッサと電子的に通信しているメモリと、
前記メモリに格納された命令であって、
データベースにシステムイベントを登録することと、
第１のプロセスに関連する疑わしいイベントを検出することと、
複数の潜在的なパペットプロセスのうちの１つであるとして前記第１のプロセスを識別することと、
前記第１のプロセスを起動することとして検出される第２のプロセスを識別するために前記データベース内の前記登録されたシステムイベントを照合することと、
を前記プロセッサによって実行可能な命令と、を備える、コンピューティングデバイス。
【請求項１２】
前記命令が、
前記疑わしいイベントの前記ソースとして前記第２のプロセスを識別する通知を生成することを、前記プロセッサによって実行可能である、請求項１１に記載のコンピューティングデバイス。
【請求項１３】
前記命令が、
前記第１のプロセスを開始する際に前記第２のプロセスが終了することを判定することを、前記プロセッサによって実行可能である、請求項１１に記載のコンピューティングデバイス。
【請求項１４】
前記命令が、
前記第１のプロセスを開始した前記第２のプロセスを識別する際、前記第１のプロセスをパペットプロセスとして識別することを、前記プロセッサによって実行可能である、請求項１１に記載のコンピューティングデバイス。
【請求項１５】
前記第１のプロセスが、前記第２のプロセスによってコマンドラインインタフェース上に直接供給される命令を介して開始されている、請求項１１に記載のコンピューティングデバイス。
【請求項１６】
前記第１のプロセスが、少なくとも１つのファイルからの命令を介して開始されており、前記少なくとも１つのファイルへのパスが前記第２のプロセスによってコマンドラインインタフェース上に供給されている、請求項１１に記載のコンピューティングデバイス。
【請求項１７】
前記命令が、
潜在的なパペットプロセスのリストを維持することと、
検出されたプロセス起動イベントを含む、前記登録されたシステムイベントを介して新しいパペットプロセスを検出することと、
前記新しいパペットプロセスを前記潜在的なパペットプロセスのリストに追加することと、
を前記プロセッサによって実行可能である、請求項１１に記載のコンピューティングデバイス。
【請求項１８】
前記潜在的なパペットプロセスのリストが、コマンドラインインタフェースを有する少なくとも１つのプロセスを含む、請求項１７に記載のコンピューティングデバイス。
【請求項１９】
プロセッサによって疑わしいイベントを識別するためのコンピュータプログラム製品であって、前記コンピュータプログラム製品は命令を格納する非一時的コンピュータ可読媒体を備え、前記命令が、
データベースにシステムイベントを登録することと、
第１のプロセスに関連する疑わしいイベントを検出することと、
複数の潜在的なパペットプロセスのうちの１つであるとして前記第１のプロセスを識別することと、
前記第１のプロセスを起動することとして検出される第２のプロセスを識別するために前記データベース内の前記登録されたシステムイベントを照合することと、
を前記プロセッサによって実行可能な命令と、を備える、コンピュータプログラム製品。
【請求項２０】
前記命令が、
前記疑わしいイベントのソースとして前記第２のプロセスを識別する通知を生成することを前記プロセッサによって実行可能である、請求項１９に記載のコンピュータプログラム製品。
【発明の詳細な説明】
【背景技術】
【０００１】
コンピュータシステム及びコンピュータ関連技術の用途は急速に増大し続けている。コンピュータシステムの用途におけるこの増大は、コンピュータ関連技術に対する進歩に影響を与えてきた。実際に、コンピュータシステムは益々、実業界及び個人消費者の活動の重要な部分になってきている。コンピュータシステムは、種々の事業、産業、及び学術的努力を実施するのに使用されることがある。コンピュータの広範囲にわたる使用は、インターネットを含むコンピュータネットワークの使用が増大することによって促進されてきた。
【０００２】
多くの企業は、ネットワークに接続された様々なコンピュータ間でデータを通信及び共有するために１つ又は２つ以上のコンピュータネットワークを使用している。従業員の生産性及び効率は、しばしば人とコンピュータとの相互作用を必要とする。コンピュータ技術のユーザは、この技術の効率が増大するのを要求し続けている。コンピュータ技術の効率を向上させることは、コンピュータを使用しそれに依存する誰にとっても常に望ましいことである。
【０００３】
コンピュータ及びモバイルデバイスの広範な使用は、ルートキット、スパイウェア、トロイの木馬などの悪意あるプログラムの存在感の増大をもたらしている。マルウェアプログラマはマルウェア検出においてなされた改善を継続的に適応しており、これはマルウェア検出の改善に適応するマルウェア技法の継続的なサークルを作成する。
【発明の概要】
【課題を解決するための手段】
【０００４】
少なくとも１つの実施形態によると、疑わしいイベントのソースを識別するコンピュータ実行方法が記載される。一実施形態では、システムイベントはデータベース内に登録され得る。いくつかの場合では、このシステムイベントはカーネルモードドライバを介して登録される。システムイベントは、コンピュータシステム内で発生する任意の検出可能なイベントを含むことができる。いくつかの場合では、システムイベントは、プロセス起動イベント、ファイルシステムイベントなどを含むことができる。第１のプロセスに関連する疑わしいイベントを検出でき、この第１のプロセスを、複数の潜在的なパペットプロセスのうちの１つであるとして識別することができる。データベース内の登録されたシステムイベントを、第２のプロセスを識別するために照合することができ、第２のプロセスは第１のプロセスを起動するものとして検出される。
【０００５】
いくつかの実施形態では、通知を生成することができる。通知は、第２のプロセスを疑わしいイベントのソースとして識別することができ、及び／又は第２のプロセスは潜在的な悪意あるプログラムであることを示すことができる。第１のプロセスを起動する際に第２のプロセスが終了することを判定することができる。第１のプロセスを起動する第２のプロセスを識別する際、第１のプロセスを、パペットプロセスとして識別することができる。
【０００６】
一実施形態では、第１のプロセスを、第２のプロセスによってコマンドラインインタフェース上に直接供給される命令を介して起動することができる。加えて、又は代替的に、第１のプロセスを、少なくとも１つのファイルからの命令を介して開始することができ、この少なくとも１つのファイルへのパスは第２のプロセスによってコマンドラインインタフェース上に供給されている。潜在的なパペットプロセスのリストは、データベース内などに維持され得る。パペットプロセスは、別の独立したプロセスによって、一式の命令を実行するように構成され得る任意のプロセスとすることができる。新しいパペットプロセスを、登録されたシステムイベントを介して検出することができ、この新しいパペットプロセスを潜在的なパペットプロセスのリストに追加することができる。潜在的なパペットプロセスのリストが、コマンドラインインタフェースを有する少なくとも１つのプロセスを含むことができる。いくつかの場合では、潜在的なパペットプロセスのリストが、ｃｍｄ．ｅｘｅ、ｒｕｎｄｌｌ．ｅｘｅ、ｒｕｎｄｌｌ３２．ｅｘｅ、ｒｅｇｓｖｒ３２．ｅｘｅ、ｄｌｌｈｏｓｔ．ｅｘｅ、ｒｅｇｅｄｉｔ．ｅｘｅ、ｔａｓｋｈｏｓｔ．ｅｘｅ、ｃｓｃｒｉｐｔ、ｗｓｃｒｉｐｔ、ｖｂｓｃｒｉｐｔ、ｐｅｒｌｓｃｒｉｐｔ、ｂａｓｈ、ｌｄｃｏｎｆｉｇ、ｔｅｒｍｉｎａｌ．ａｐｐ、及びｘ−ｃｏｄｅ．ａｐｐのうち少なくとも１つを含むことができる。
【０００７】
疑わしいイベントのソースを識別するように構成されたコンピューティングデバイスについても記載される。このデバイスは、プロセッサと、このプロセッサと電子的に通信しているメモリとを備えることができる。メモリは、データベース内にシステムイベントを登録することと、第１のプロセスに関連する疑わしいイベントを検出することと、複数の潜在的なパペットプロセスのうちの１つであるとして第１のプロセスを識別することと、第１のプロセスを起動する第２のプロセスを識別するためデータベース内に登録されたシステムイベントを照合することと、をプロセッサによって実行可能な命令を格納することができる。
【０００８】
疑わしいイベントのソースを識別するためのコンピュータプログラム製品についても記載される。コンピュータプログラム製品は、命令を格納する非一時的コンピュータ可読媒体を備えることができる。命令は、データベース内にシステムイベントを登録することと、第１のプロセスに関連する疑わしいイベントを検出することと、複数の潜在的なパペットプロセスのうちの１つであるとして第１のプロセスを識別することと、第１のプロセスを起動する第２のプロセスを識別するためにデータベース内に登録されたシステムイベントを照合することと、をプロセッサによって実行可能とすることができる。
【０００９】
本明細書に記載される一般原理に従い、上記の実施形態のうち任意による特徴を互いに組み合わせて使用することができる。これら及び他の実施形態、特徴、及び利点は、添付の図面及び特許請求の範囲と併せて以下の発明を実施するための形態を読むことによって更に十分に理解されるだろう。
【図面の簡単な説明】
【００１０】
添付の図面は、多数の例示的な実施形態を示すものであり、本明細書の一部である。以下の説明と併せて、これらの図面は、本開示の様々な原理を実証及び説明する。
【図１】本発明のシステム及び方法が実装され得る環境の一実施形態を示すブロック図である。
【図２】本発明のシステム及び方法が実装され得る環境の別の実施形態を示すブロック図である。
【図３】ソース識別モジュールの一例を示すブロック図である。
【図４】疑わしいイベントのソースを識別するための方法の一実施形態を示すフローチャートである。
【図５】潜在的なパペットプロセスのリストを維持するための方法の一実施形態を示すフローチャートである。
【図６】疑わしいイベントのソースを識別するための方法の一実施形態を示すフローチャートである。
【図７】本発明のシステム及び方法を実装するのに好適なコンピュータシステムを示すブロック図を示す。
【００１１】
本明細書に記載する実施形態は、様々な修正及び代替的な形態が可能であり、特定の実施形態を例として図面に示しており、本明細書において詳細に記載する。しかしながら、本明細書に記載する例示的な実施形態は、開示される特定の形態に限定されないものとする。むしろ、本開示は、添付の特許請求の範囲内に含まれる全ての修正、等価物、及び代替物を包含するものである。
【発明を実施するための形態】
【００１２】
本明細書に記載のシステム及び方法は疑わしいイベントのソースを識別することに関する。より具体的には、本明細書に記載のシステム及び方法は、疑わしいイベントをもたらす潜在的に悪意ある命令を実行するパペットプロセスを検出し、この潜在的に悪意ある命令のソースを識別することに関する。
【００１３】
悪意あるソフトウェアの作成者は絶えず、マルウェア検出システムに適合するようにその技法を進化させている。現在のファイルベースのマルウェア検出システムは、ポリモーフィックマルウェアなどの適合可能なマルウェアの検出に関して言えば立ち遅れていることが多い。したがって、マルウェア検出システムは、検出回避、ポリモーフィックマルウェアを識別するために行動学習エンジンを採用することができる。かかる行動エンジンは、純粋に新規の分類されないマルウェアがどのように行動するかに基づいてこのマルウェアを検出することができる。１つ又は２つ以上の行動を観察すると、本明細書に記載するシステム及び方法は、疑わしいイベントをこの疑わしいイベントの最終的な原因であるルートプロセス（例えば、悪意あるプロセス、悪意ある実行ファイルなど）と結びつけることができる。例えば、行動エンジンがＲｕｎ又はＲｕｎＯｎｃｅレジストリキーに書き込もうとするのを見ることになっている場合、この行動エンジンはどのプロセスが書き込みコマンドの最終的な原因となるかを確かめることができ、それによって原因となるプロセスを中止する、かつ／又はこのプロセスに関連するファイルを削除するなど、このプロセスに対して措置を講じることができる。
【００１４】
いくつかの場合では、現在のシステムがマルウェアのイベントを検出するまでに、このマルウェアのイベントのルートプロセスが、マルウェアのイベントへの関与を隠すため、それ自体を中止してしまう。マルウェアの作者は、悪意ある攻撃を実行するようにＷｉｎｄｏｗｓの署名されたプロセスを採用することがあるのは、マルウェアの作成者が典型的な行動エンジンが正規のＷｉｎｄｏｗｓプロセスに対していかなる救済措置も講じないように構成されていることを理解しているからであり、そうすることによりマシーンを不安定にする、かつ／又は重大な機能性を破壊することができるからである。このように、いくつかの場合では、マルウェアの作者は、悪意ある攻撃を実行するために「パペット」プロセスを使用することがある。パペットプロセスは、代理で１つ又は２つ以上の措置を達成するため一次プロセスによって用いられる任意の二次プロセスとすることができる。このプロセスは動作時、いかなる挙動も呈さず、単に終了する。二次プロセスはコマンドラインなどを介して言われることをするので、「パペット」という用語が使われる。例えば、マルウェアの作者は、悪意あるプロセス、ｃｍｄ．ｅｘｅ若しくはｒｕｎｄｌｌ３２．ｅｘｅなどのＷｉｎｄｏｗｓプロセスを採用するように構成される一次プロセス、二次又はパペットプロセスを作成することができる。いくつかの場合では、この悪意あるプロセスは、コマンドラインインタフェースを有するプロセスを活用することがある。悪意あるプロセスは、１つ又は２つ以上のコマンドライン命令として直接コマンドライン上に悪意ある命令を付与することができる。加えて、又は代替的に、悪意あるプロセスは、コマンドライン上にファイルへのパスが述べられるファイルの中に悪意ある命令を付与することができる。このように、悪意あるプロセスは、この悪意あるプロセスに代わって１つ又は２つ以上の悪意ある命令を実行するようにＷｉｎｄｏｗｓプロセスを構成することができる。いったん悪意あるプロセスが悪意ある命令を実行するように二次プロセスを構成すると、二次プロセスを終了させ、それのみが見えるようにすることによってその追跡を隠そうとすることができる。いったん悪意あるプロセスが悪意ある命令を有する二次プロセスを構成すると、悪意あるプロセスは終了し、悪意あるプロセスを終了させたまま、かつ一見どこにも見えないようにしたまま、二次プロセスにこの命令を実行させたままにする。したがって、いくつかの実施形態では、第１のプロセスが第２のプロセスを構成することを判定し、更に二次プロセスから疑わしいイベントを検出すると、この疑わしいイベント及び起動プロセスが悪意あるものであることを示すことができる。いくつかの場合では、第２のプロセスはコマンドラインインタフェースを含むことを判定すると、この疑わしいイベント及び起動プロセスが悪意あるものであることを示すことができる。加えて、又は代替的に、パペットプロセスを起動すると起動プロセスが終了することを判定すると、疑わしいイベント及び起動プロセスが悪意あるものであることを示すことができる。
【００１５】
一実施形態では、本明細書に記載のシステム及び方法は、潜在的なパペットプロセスのリストを（例えば、ｅｘｅ名、画像名、プロセス名、プロセス特性、アプリケーションの記述などによって）保管及び維持することができる。このリストは、過去にパペットプロセスとして使用されてきたことが知られたプロセス及び／又はパペットプロセスとして使用可能であることが知られたプロセスを含むことができる。既知のｗｉｎｄｏｗｓのパペットプロセスのリストが、１つ又は２つ以上のコマンドラインインタフェースを含むことができる。例えば、リストは、ｒｕｎｄｌｌ３２．ｅｘｅ，ｒｅｇｓｖｒ３２．ｅｘｅ，ｃｓｃｒｉｐｔ，ｗｓｃｒｉｐｔ，ｄｌｌｈｏｓｔ．ｅｘｅ，ｔａｓｋｈｏｓｔ．ｅｘｅ，ｃｍｄ．ｅｘｅ，ｔｅｒｍｉｎａｌ．ａｐｐ，ｘ−ｃｏｄｅ．ａｐｐ，ｂａｓｈなどを含むことができる。
【００１６】
一実施例では、パペットプロセスはコマンドライン上に直の悪意ある命令を受信することができる。システム及び方法は、カーネルモードドライバを用いてかかるプロセスが起動するのを追跡することができ、またかかるパペットプロセスの起動の際、パペットプロセスを起動した識別されたプロセスは、パペットプロセスから生じる任意の疑わしいイベントとして識別され、その原因とされ得る。いくつかの場合では、パペットプロセスは、間接的に、コマンドライン上に付与されたファイル（例えば、．ＢＡＴファイル、．ＣＭＤファイル、．ＢＴＭファイル、．ＭＳＣファイル、．ＪＯＢファイル、．ＩＤＬファイル、．ＴＬＢファイル、．ＥＸＥファイル、．ＤＬＬファイル、．ＡＰＰファイルなど）へのパスを介して命令を受信することができる。このファイルは、更なる命令（例えば、ｒｕｎｄｌｌ３２．ｅｘｅ）及び／又は、パペットプロセスとして使用されているｒｅｇｅｄｉｔ．ｅｘｅの場合における．ＲＥＧファイルなどの特別のフォーマットの命令ファイルを含有することがある。いくつかの場合では、パペットプロセスは、命令が検索され得るＣＯＭダイナミックリンクライブラリ（ＤＬＬ）へのパスを配置するために、レジストリ内においてコンポーネントオブジェクトモデル（ＣＯＭ）オブジェクトグローバル一意識別子（ＧＵＩＤ）を検索するように命令され得る。かかる悪意あるファイル及び／又は悪意ある命令は、原因となる悪意あるプロセスがそのパッケージをドロップし、パッケージが実行されているまでに既に「デッド（死んでいる）」（すなわち、終了している）ので「デッドドロップ」ファイル、及び／又は「デッドドロップ」命令と呼ばれることがある。マルウェアは、デッドドロップファイルを作成し、オペレーティングシステムにパペットプロセスを起動するように命令して、何を実行すべきかについての命令に対するソースとしてそのデッドドロップファイルを使用することができる。したがって、本明細書に記載のシステム及び方法は、デッドドロップファイルを作成したプロセスまでデッドドロップファイルの作成を追跡するためカーネルモードドライバを採用することができる。いくつかの場合では、システム及び方法は全てのプロセス起動を監視することができる。パペットプロセスが起動するのを識別する際、直接的／間接的にこのデッドドロップファイルを受信するコマンドラインを介して、システム及び方法は、デッドドロップファイルの最終的な原因となるプロセス（例えば、悪意あるプロセス、悪意ある実行ファイルなど）を識別し、それに応じて救済措置を講じることができる。
【００１７】
図１は、本発明のシステム及び方法が実装され得る環境１００の一実施形態を示すブロック図である。いくつかの実施形態では、本明細書に記載のシステム及び方法は、単一のデバイス（例えば、デバイス１０５）上で実行することができる。例えば、ソース識別モジュール１１５はデバイス１０５上に配置され得る。デバイス１０５の例としては、モバイルデバイス、スマートフォン、パーソナルコンピューティングデバイス、コンピュータ、サーバなどが挙げられる。
【００１８】
いくつかの構成では、デバイス１０５は、ソース識別モジュール１１５及びアプリケーション１２０を備えることができる。アプリケーション１２０により、デバイス１０５がソース識別モジュール１１５とインタフェースされるようになる。一実施例では、デバイス１０５はデータベース１１０と連結され得る。一実施形態では、データベース１１０はデバイス１０５の内部にあってもよい。別の実施形態では、データベース１１０はデバイス１０５の外部にあってもよい。いくつかの構成では、データベース１１０は、システムイベント１２５とパペットプロセス１３０とを備えることができる。システムイベント１２５は、プロセス起動イベント、ファイルシステムイベントなどを含むことができる。いくつかの場合では、パペットプロセス１３０は、１つ又は２つ以上の潜在的なパペットプロセスのリストを含むことができる。このリストは、パペットプロセスとして使用されてきたことが知られたプロセス及び／又はパペットプロセスとして使用されそうなプロセスを含むことができる。例えば、あるプロセスは、該プロセスの１つ又は２つ以上の特性のため、パペットプロセスとして使用されそうであると考えられ得る。例えば、いくつかの場合では、コマンドラインインタフェースを含むプロセスは、それがないよりも、パペットプロセスとして使用されることが多い。
【００１９】
ソース識別モジュール１１５は、疑わしいイベントを検出し、特定のプロセスが潜在的なパペットプロセス（例えば、パペットプロセス１３０）のリストにあるかどうかを判定し、格納されたシステムイベント１２５を照合し、及び／又は検出された疑わしいイベントに関する通知を生成することにより、疑わしいイベントのソースを識別することができる。以下に、ソース識別モジュール１１５に関する更なる詳細を説明する。
【００２０】
図２は、本発明のシステム及び方法が実装され得る環境２００の別の実施形態を示すブロック図である。いくつかの実施形態では、デバイス１０５−ａは、ネットワーク２０５を介してサーバ２１０と通信でき、及び／又はデータベース１１０−ａにアクセスすることができる。データベース１１０−ａは、図１にあるデータベース１１０の一例とすることができる。ネットワーク２０５の例としては、クラウドネットワーク、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、仮想プライベートネットワーク（ＶＰＮ）、無線ネットワーク（例えば、８０２．１１を用いる）、セルラネットワーク（例えば、３Ｇ及び／又はＬＴＥを用いる）などが挙げられる。いくつかの場合では、ネットワーク２０５はインターネットを含む。
【００２１】
いくつかの構成では、デバイス１０５−ａは、図１に示すデバイス１０５の一例とすることができる。図示するように、デバイス１０５−ａは、ソース識別モジュール１１５を含まなくてもよい。例えば、デバイス１０５−ａは、デバイス１０５−ａがサーバ２１０に配置されるソース識別モジュール１１５とインタフェースできるようにするアプリケーション１２０を含むことができる。したがって、デバイス１０５−ａは、アプリケーション１２０、ネットワーク２０５及びサーバ２１０を介して、スキャム検出モジュール１１５の１つ又は２つ以上の機能を実行するように構成され得る。いくつかの実施形態では、デバイス１０５−ａもサーバ２１０も両方とも、ソース識別モジュール１１５の機能のうち少なくとも一部がデバイス１０５−ａ及びサーバ２１０において独立してかつ／又は同時に実行されるソース識別モジュール１１５を含むことができる。
【００２２】
いくつかの実施形態では、サーバ２１０は、ソース識別モジュール１１５を含むことができ、データベース１１０−ａと連結され得る。例えば、ソース識別モジュール１１５は、データベース１１０−ａ内のシステムイベント１２５及び／又はパペットプロセス１３０にネットワーク２０５及びサーバ２１０を介してアクセスすることができる。データベース１１０−ａはサーバ２１０の内部にあっても、外部にあってもよい。
【００２３】
いくつかの構成では、アプリケーション１２０により、デバイス１０５−ａがソース識別モジュール１１５とインタフェースすることができ、プレフィルタウェブページを検索することにより潜在的なスキャムキャンペーンを識別して、このプレフィルタウェブページの中からパターンを検出して、更に潜在的なスキャムをリアルタイムでユーザに通知するためユーザの入力を検出されたパターンと比較することができる。このように、アプリケーション１２０は、ソース識別モジュール１１５を介して、潜在的なスキャムキャンペーンを識別し、ユーザにこの潜在的なスキャムキャンペーンを警告することができる。
【００２４】
図３は、ソース識別モジュール１１５−ａの一例を示すブロック図である。ソース識別モジュール１１５−ａは、図１及び／又は図２に示すソース識別モジュール１１５の一例であってもよい。図示するように、ソース識別モジュール１１５−ａは、監視モジュール３０５と、比較モジュール３１０と、識別モジュール３１５と、分類モジュール３２０と、通知モジュール３２５と、を備えることができる。
【００２５】
上述したように、悪意あるプロセスは、本来は悪意のない正規のプロセスを標的とすることができ、この悪意あるプロセスに代わって１つ又は２つ以上の行動を実行することができる。いくつかの場合では、悪意あるプロセスは、ｃｍｄ．ｅｘｅなどの信頼されたプロセスを標的とし、この信頼されたプロセスをそれに代わって悪意あるタスクを実行するように構成することができる。悪意あるプロセスは、検出を回避すべく悪意あるタスクを実行するように標的となるプロセスを構成することができ、この標的となるプロセスを構成した後、悪意あるプロセスがそれ自体を終了又は中止することを可能にする。このように、悪意あるプロセスは、悪意ある命令を実行中に悪意あるプロセスが行うどんな関与行為も隠そうとして、悪意あるプロセスが従来のマルウェア検出システムの下で検出されないようにすることができる。したがって、悪意あるプロセスは、標的となるプロセスから生じる任意の悪意あるイベントの最終的な原因となる起動プロセス又はソースプロセスと呼ばれることがある。標的となるプロセスは、最終的に全ての文字列を引く悪意あるプロセスであるので、パペットプロセスと呼ばれることがある。このように、起動プロセスが検出されなくなるのを防止するため、ソース識別モジュール１１５−ａは、本明細書に記載のシステム及び方法に応じて疑わしいイベントのソースを識別するように構成され得る。
【００２６】
一実施形態では、監視モジュール３０５はデータベース内にシステムイベントを登録することができる。いくつかの場合では、このシステムイベントはカーネルモードドライバを介して登録される。監視モジュール３０５は、第１のプロセスに関連する疑わしいイベントを検出するように構成され得る。比較モジュール３１０は、第１のプロセス（例えば、乗っ取られたプロセス）が潜在的なパペットプロセスのリストの中からの１つであるかどうかを判定することができる。例えば、パペットプロセスとして使用されてきたことが知られるプロセスのリスト及び／又はパペットプロセスとして使用されそうなプロセスのリストは、第１のプロセスがこのリスト上のプロセスに関連するかどうかを判定するために参照され得る。加えて、又は代替的に、あるプロセスは、そのプロセスの１つ又は２つ以上の特性に基づいて潜在的なパペットプロセスのリストに含まれることがある。いくつかの場合では、潜在的なパペットプロセスのリストはコマンドラインインタフェースを有する少なくとも１つのプロセスを含む。例えば、コマンドラインインタフェースを特徴とするプロセスは、コマンドラインインタフェースを特徴としていないプロセスよりも、パペットプロセスとして悪意ある実体（entity）によって使用される可能性が高いと考えられ得る。したがって、コマンドラインインタフェースを特徴とするプロセスは、潜在的なパペットプロセスのリストに含まれ得る。加えて、又は代替的に、潜在的なパペットプロセスのリストが、以下のｃｍｄ．ｅｘｅ、ｒｕｎｄｌｌ．ｅｘｅ、ｒｕｎｄｌｌ３２．ｅｘｅ、ｒｅｇｓｖｒ３２．ｅｘｅ、ｄｌｌｈｏｓｔ．ｅｘｅ、ｒｅｇｅｄｉｔ．ｅｘｅ、ｔａｓｋｈｏｓｔ．ｅｘｅ、ｃｓｃｒｉｐｔ、ｗｓｃｒｉｐｔ、ｖｂｓｃｒｉｐｔ、ｐｅｒｌｓｃｒｉｐｔ、ｂａｓｈ、ｌｄｃｏｎｆｉｇ、ｔｅｒｍｉｎａｌ．ａｐｐ、及びｘ−ｃｏｄｅ．ａｐｐのうち少なくとも１つを含むことができる。
【００２７】
一実施形態では、分類モジュール３２５は、潜在的なパペットプロセスのリストを維持することができる。分類モジュール３２５は、登録されたシステムイベントと関連した新しいパペットプロセスを検出することができる。例えば、ソース識別モジュール１１５−ａによって実行されるアナリシスに基づいて（登録されたシステムイベントの少なくとも一部に基づいてもよく）、プロセスＸがパペットプロセスであることが判定され得る。しかし、分類モジュール３２５は、プロセスＸは潜在的なパペットプロセスのリスト上に載っていないことを判定することができる。したがって、プロセスＸが潜在的なパペットのリストに含まれないことを判定する際、分類モジュール３２５はプロセスＸを潜在的なパペットプロセスのリストに追加することができる。したがって、分類モジュール３２５は、第２のプロセスが第１のプロセスを起動し、その第２のプロセスが疑わしいイベントを引き起こす特定の操作を実行するように第１のプロセスを構成することを判定することにより、新しいパペットプロセスを識別することができ、それにより疑わしいイベントの周囲における精密な調査を増強することができる。このように、第２のプロセスが疑わしいイベントを引き起こす第１のプロセスを生成し起動したことを判定するとともに、第２のプロセスを実際に疑わしいイベントの原因となるプロセスとして識別する際、この第１のプロセスを、新しいパペットプロセスとして指定し、潜在的なパペットプロセスのデータベース内に潜在的なパペットプロセスとして追加することができる。
【００２８】
悪意あるプロセスは、標的となるプロセスの特定の特性により、特有のプロセスを標的とすることができる。例えば、標的となるプロセスは、悪意あるプロセスが中止し又は更にはそれ自体を削除した後でも、悪意あるプロセスに効率的に標的となるプロセスを遠隔制御することが可能となるコマンドラインインタフェースを含むことができる。このように、標的となるプロセスはパペットプロセスと呼ばれることがある。プロセスを起動した起動プロセスを識別する際、識別モジュール３１５は標的となるプロセスをパペットプロセスとして指定することができる。いくつかの場合では、監視モジュール３０５は起動プロセスがプロセスを起動する際に終了することを判定することができる。いくつかの場合では、パペットプロセスを開始する際に起動プロセスが終了することを判定することが、疑わしいイベント及び起動プロセスが悪意あるものである可能性の更なる表示かつ増加を付与することができる。
【００２９】
いくつかの場合では、監視モジュール３０５は、パペットプロセスが起動プロセスによってコマンドラインインタフェース上に直接供給された命令を介して開始されることを判定することができる。加えて、又は代替的に、監視モジュール３０５は、パペットプロセスがファイルに含まれる命令を介して開始されることを判定することができる。例えば、監視モジュール３０５は、起動プロセスがパペットプロセスのコマンドラインインタフェース上の１つ又は２つ以上のファイルへのパスを供給する原因となることを判定することができる。したがって、コマンドラインインタフェース上に付与された命令を実行することにより生じる疑わしいイベントを検出する際、識別モジュール３１５は、疑わしいイベントの最終的な原因となるプロセスとして起動プロセスを識別することができる。
【００３０】
パペットプロセスを開始するプロセスは、起動プロセス又はソースプロセスとして指定され得る。疑わしいイベントを生成したプロセスが潜在的なパペットプロセスであることを判定する際、識別モジュール３１５は、パペットプロセスを開始する起動プロセスを識別することができる。いくつかの実施形態では、識別モジュール３１５は、データベースに格納された登録されたシステムイベント（例えばシステムイベント１２５）を照合することにより起動プロセスを識別することができる。システムイベントは、プロセス起動イベント、ファイルシステムイベントなどを含むことができる。したがって、データベースに登録されたシステムイベントは、パペットプロセスが特有のプロセスによって起動されることを示すことができる。識別モジュール３１５は、この識別された特有のプロセスを起動プロセスとして指定することができる。いくつかの実施形態では、このシステムイベントは、起動プロセスがパペットプロセスを開始した後終了することを示すことができる。したがって、起動プロセス及び／又はパペットプロセスの行動、態様、又は特性に関して取得された情報は、疑わしいイベントのソースに関する指示を付与することができる。一実施形態では、通知モジュール３２０は、疑わしいイベントを検出する、及び／又は起動プロセスを識別する際、通知を生成することができる。この通知は、この起動プロセスを疑わしいイベントのソースとして識別することができる。したがって、上述したように、ソース識別モジュール１１５は、デッドドロップファイルを作成するプロセスまでこのデッドドロップファイルの作成を追跡するためファイルシステムドライバを使用することができる。ソース識別モジュール１１５は全てのプロセス起動を監視することができる。したがって、ソース識別モジュール１１５が、１つ又は２つ以上のファイル（例えば、デッドドロップファイル）を直接的／間接的に指示するコマンドライン命令を介してプロセス起動（例えば、パペットプロセス起動）を検出するとき、ソース識別モジュール１１５はこの１つ又は２つ以上のファイルの作成者をパペットプロセスがする何かに対し原因となるプロセスとして保持する。
【００３１】
図４は、疑わしいイベントのソースを識別するための方法４００の一実施形態を示すフローチャートである。いくつかの構成では、方法４００は、図１、図２、及び／又は図３に示すソース識別モジュール１１５によって実施され得る。いくつかの構成では、方法４００は、図１及び／又は図２に示すアプリケーション１２０によって実施され得る。
【００３２】
ブロック４０５では、システムイベントをデータベース内に登録することができる。いくつかの場合では、このシステムイベントを、カーネルモードドライバを介して登録することができる。ブロック４１０では、第１のプロセスに関連する疑わしいイベントが検出され得る。ブロック４１５では、第１のプロセスは複数の潜在的なパペットプロセスのうちの１つとして識別され得る。ブロック４２０では、第１のプロセスが潜在的なパペットプロセスであることを判定する際、第１のプロセスを起動することとして検出される第２のプロセスを識別するためデータベース内の登録されたイベントが照合され得る。
【００３３】
図５は、潜在的なパペットプロセスのリストを維持するための方法５００の一実施形態を示すフローチャートである。いくつかの構成では、方法５００は、図１、図２、及び／又は図３に示すソース識別モジュール１１５によって実施され得る。いくつかの構成では、方法５００は、図１及び／又は図２に示すアプリケーション１２０によって実施され得る。
【００３４】
ブロック５０５では、潜在的なパペットプロセスのリスト。ブロック５１０では、新しいパペットプロセスが、登録されたシステムイベントを介して検出され得る。例えば、カーネルモードドライバは、データベース内のシステムイベントを検出しそれを登録するために使用され得る。ブロック５１５では、新しいパペットプロセスが潜在的なパペットプロセスのリストに追加され得る。
【００３５】
図６は、疑わしいイベントのソースを識別するための方法６００の一実施形態を示すフローチャートである。いくつかの構成では、方法６００は、図１、図２、及び／又は図３に示すソース識別モジュール１１５によって実施され得る。いくつかの構成では、方法６００は、図１及び／又は図２に示すアプリケーション１２０によって実施され得る。
【００３６】
ブロック６０５では、実行している第１のプロセスが検出され得る。上述したように、１つ又は２つ以上のシステムイベントがデータベースに登録され、格納され得る。したがって、第１のプロセス及び他のプロセスの操作は、かかるデータベースに格納され得る。ブロック６１０では、第２のプロセスを開始する第１のプロセスが検出され得る。ブロック６１５では、疑わしいイベントを生成する第２のプロセスが検出され得る。ブロック６２０では、第１のプロセスに関する情報が取得され得る。例えば、登録されたシステムイベントは、第２のプロセスを開始する第１のプロセスに関するデータを含むことができる。いくつかの場合では、登録されたシステムイベントは、第１のプロセスが第２のプロセスを開始した後終了することを示すことができる。ブロック６２５では、第２のプロセスが潜在的なパペットプロセスのリストと比較され得る。かかるプロセスの例としては、ｃｍｄ．ｅｘｅ，ｒｕｎｄｌｌ３２．ｅｘｅなどのコマンドラインインタフェースから開始されるプロセスが含まれ得る。ブロック６３０では、一致が見つかった場合、第２のプロセスはパペットプロセスとして指定され得る。ブロック６３５では、一致がなかった場合、その後、第１のプロセスが第２のプロセスを開始したことを判定する際、第２のプロセスがリストに追加され得る。例えば、第１のプロセスが第２のプロセスを開始したこと、更に第２のプロセスが疑わしいイベントを生成したことを判定する際、その後、第１のプロセスは潜在的なパペットプロセスのリストに追加され得る。ブロック６４０では、第１のプロセスが疑わしいイベントのソースとして識別され得る。上述したように、いくつかの場合では、第１のプロセスは、カーネルモードドライバを介して登録されるシステムイベントを介して識別され得る。いくつかの実施形態では、第１のプロセスを疑わしいイベントのソースとして識別する際、通知が生成され得る。いくつかの場合では、この通知は、この起動プロセスを疑わしいイベントのソースとして識別することができる。加えて、又は代替的に、この通知は起動プロセスを潜在的な悪意あるプロセスとして識別することができる。
【００３７】
図７は、本発明のシステム及び方法を実行するのに好適なコンピュータシステム７００のブロック図を示す。コンピュータシステム７００は、中央処理装置７１０、システムメモリ７１５（一般的にはＲＡＭであるが、ＲＯＭ、フラッシュＲＡＭなども含んでもよい）、入出力コントローラ７２０、音声出力インタフェース７３０を介するスピーカシステム７２５などの外部音声デバイス、ディスプレイアダプタ７４０を介するディスプレイ画面７３５などの外部デバイス、キーボード７４５（キーボードコントローラ７５０とインタフェース接続される）（若しくは他の入力デバイス）、複数のＵＳＢデバイス７６５（ＵＳＢコントローラ７７０とインタフェース接続される）、及び記憶装置インタフェース７８０など、コンピュータシステム７００の主要なサブシステムを相互接続するバス７０５を含む。また、シリアルポート７６０を通してバス７０５に接続されるマウス７５５（若しくは他のポイントアンドクリックデバイス）、及びネットワークインタフェース７８５（バス７０５に直接連結される）も含まれる。
【００３８】
バス７０５によって、中央処理装置７１０と、上述したような、読出し専用メモリ（ＲＯＭ）又はフラッシュメモリ（どちらも図示なし）及びランダムアクセスメモリ（ＲＡＭ）（図示なし）を含んでもよい、システムメモリ７１５との間のデータ通信が可能になる。ＲＡＭは、概して、オペレーティングシステム及びアプリケーションプログラムがロードされるメインメモリである。ＲＯＭ又はフラッシュメモリは、他のコードの中でも、周辺構成要素又はデバイスとの相互作用などの基本的なハードウェア動作を制御する、ベーシック入出力システム（ＢＩＯＳ）を含むことができる。例えば、本発明のシステム及び方法を実行するソース識別モジュール１１５−ｂは、システムメモリ７１５に格納されてもよい。コンピュータシステム７００に常駐するアプリケーション（例えば、アプリケーション１２０）は、一般的に、ハードディスクドライブ（例えば、固定ディスク７７５）又は他の記憶媒体などの非一時的コンピュータ可読媒体に記憶され、それを介してアクセスされる。それに加えて、アプリケーションは、インタフェース７８５を介してアクセスされるとアプリケーション及びデータ通信技術にしたがって変調される、電子信号の形態であることができる。
【００３９】
ストレージインタフェース７８０は、コンピュータシステム７００の他のストレージインタフェースと同様に、固定ディスクドライブ７７５など、情報の記憶及び／又は検索用の標準的なコンピュータ可読媒体に接続することができる。固定ディスクドライブ７７５は、コンピュータシステム７００の一部であってもよく、又は独立したものであって、他のインタフェースシステムを通してアクセスされてもよい。ネットワークインタフェース７８５は、ＰＯＰ（ポイントオブプレゼンス）を介したインターネットに対する直接ネットワークリンクを介して、リモートサーバに対する直接接続を提供してもよい。ネットワークインタフェース７８５は、デジタル携帯電話接続、セルラーデジタルパケットデータ（ＣＤＰＤ）接続、デジタル衛星データ接続などを含む無線技術を用いて、かかる接続を提供してもよい。
【００４０】
他の多くのデバイス又はサブシステム（図示なし）は、同様の方法で接続されてもよい（例えば、文書スキャナ、デジタルカメラなど）。逆に、図７に示される全てのデバイスが、本発明のシステム及び方法を実践するために必ずしも存在しなくてもよい。デバイス及びサブシステムは、図７に示されるものとは異なる形で相互接続することができる。図７に示されるものなどのコンピュータシステムの動作は、当該技術分野において容易に知られており、本出願では詳細に考察しない。本開示を実装するコードは、システムメモリ７１５又は固定ディスク７７５の１つ以上など、非一時的コンピュータ可読媒体に格納することができる。コンピュータシステム７００上に提供されるオペレーティングシステムは、ｉＯＳ（登録商標）、ＭＳ−ＤＯＳ（登録商標）、ＭＳ−ＷＩＮＤＯＷＳ（登録商標）、ＯＳ／２（登録商標）、ＵＮＩＸ（登録商標）、ＬＩＮＵＸ（登録商標）、又は別の既知のオペレーティングシステムであってもよい。
【００４１】
更に、本明細書に記載する信号に関して、当業者であれば、信号を第１のブロックから第２のブロックに直接伝送できること、又は信号をブロック間で修正（例えば、増幅、減衰、遅延、ラッチ、バッファ、反転、フィルタリング、又は別の方法で修正）できることを認識するであろう。上述の実施形態の信号は、あるブロックから次のブロックに伝送されるものと特徴付けられるが、本発明のシステム及び方法の他の実施形態は、信号の情報及び／又は機能面がブロック間で伝送される限り、かかる直接伝送される信号の代わりに修正済みの信号を含んでもよい。ある程度、第２のブロックにおける信号入力は、関係する回路の物理的制約（例えば、いくらかの減衰及び遅延が必然的に存在する）により、第１のブロックからの第１の信号出力から得られた第２の信号として概念化することができる。したがって、本明細書で使用するとき、第１の信号から得られた第２の信号は、回路制約によるものであるか、あるいは第１の信号の情報及び／又は最終機能面を変更しない他の回路素子を通過することによるものであるか否かにかかわらず、第１の信号又は第１の信号に対する何らかの修正を含む。
【００４２】
上述の開示は、特定のブロック図、フローチャート、及び例を使用して様々な実施形態を説明しているが、本明細書に記載及び／又は例証されるブロック図の構成要素、フローチャートのステップ、動作、及び／又は構成要素はそれぞれ、個別にかつ／又は集合的に、広範なハードウェア、ソフトウェア、又はファームウェア（若しくはそれらの任意の組み合わせの）構成を使用して実行されてもよい。それに加えて、他の多くのアーキテクチャが同じ機能性を達成するように実装可能であるので、他の構成要素内に含有される構成要素のあらゆる開示は、本質的に例示と見なされるべきである。
【００４３】
本明細書に記載及び／又は例証されるプロセスパラメータ、及びステップの順序は、単なる例として与えられるものであり、所望に応じて変更することができる。例えば、本明細書に例証及び／又は記載されるステップは特定の順序で図示若しくは検討されることがあるが、これらのステップは必ずしも例証又は検討される順序で行われなくてもよい。本明細書に記載及び／又は例証される様々な例示的な方法はまた、本明細書に記載若しくは例証されるステップの１つ以上を省略してもよく、又は開示されるステップに加えて追加のステップを含んでもよい。
【００４４】
更に、様々な実施形態を、完全に機能的なコンピューティングシステムの文脈において本明細書に記載及び／又は例証してきたが、これらの例示的な実施形態の１つ以上は、実際に配布を実施するために使用されるコンピュータ可読媒体の特定のタイプにかかわらず、様々な形態のプログラム製品として配布されてもよい。本明細書で開示される実施形態はまた、特定のタスクを実行するソフトウェアモジュールを使用して実行されてもよい。これらのソフトウェアモジュールは、スクリプト、バッチ、又はコンピュータ可読記憶媒体上若しくはコンピューティングシステム内に格納してもよい他の実行可能ファイルを含んでもよい。いくつかの実施形態では、これらのソフトウェアモジュールは、本明細書で開示される例示的な実施形態の１つ以上を実行するようにコンピューティングシステムを構成してもよい。
【００４５】
上記の記載は、説明を目的として特定の実施形態を参照して記載してきた。しかしながら、上述の例示的考察は、包括的であること、又は本発明を開示される正確な形態に限定することを意図するものではない。上述の教示を考慮して、多くの修正及び変形が可能である。実施形態は、本発明のシステム及び方法並びにそれらの実際の適用の原理を最も良く説明するために選択し記載したものであり、それによって他の当業者が、企図される特定の用途に好適であり得る様々な修正を用いて、本発明のシステム及び方法並びに様々な実施形態を最大限に利用することが可能になる。
【００４６】
別途記載のない限り、「ａ」又は「ａｎ」という用語は、本明細書及び特許請求の範囲で使用するとき、「〜の少なくとも１つ」を意味すると解釈されるものとする。それに加えて、使用しやすくするため、「含む」及び「有する」という語は、本明細書及び特許請求の範囲で使用するとき、「備える」という語と交換可能であり、同じ意味を有する。それに加えて、「〜に基づく」という用語は、本明細書及び特許請求の範囲で使用するとき、「少なくとも〜に基づく」を意味すると解釈されるものとする。
【図１】
2017509996.tif 000003
【図２】
2017509996.tif 000004
【図３】
2017509996.tif 000005
【図４】
2017509996.tif 000006
【図５】
2017509996.tif 000007
【図６】
2017509996.tif 000008
【図７】
2017509996.tif 000009
【手続補正書】
【提出日】平成28年10月4日(2016.10.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
疑わしいイベントのソースを識別するためのコンピュータによって実行される方法であって、
データベースにシステムイベントを登録することと、
第１のプロセスに関連する疑わしいイベントを検出することと、
複数の潜在的なパペットプロセスのうちの１つであるとして前記第１のプロセスを識別することと、
前記第１のプロセスを起動することとして検出される第２のプロセスを識別するために前記データベース内の前記登録されたシステムイベントを照合することと、
を含む、方法。
【請求項２】
前記疑わしいイベントの前記ソースとして前記第２のプロセスを識別する通知を生成することを更に含む、請求項１に記載の方法。
【請求項３】
前記第１のプロセスを開始する際に前記第２のプロセスが終了することを判定することを更に含む、請求項１に記載の方法。
【請求項４】
前記第１のプロセスを開始した前記第２のプロセスを識別する際、前記第１のプロセスをパペットプロセスとして識別することを更に含む、請求項１に記載の方法。
【請求項５】
前記第１のプロセスが、前記第２のプロセスによってコマンドラインインタフェース上に直接供給される命令を介して開始されている、請求項１に記載の方法。
【請求項６】
前記第１のプロセスが、少なくとも１つのファイルからの命令を介して開始されており、前記少なくとも１つのファイルへのパスは前記第２のプロセスによってコマンドラインインタフェース上に供給されている、請求項１に記載の方法。
【請求項７】
潜在的なパペットプロセスのリストを維持することと、
検出されたプロセス起動イベントを含む、前記登録されたシステムイベントを介して新しいパペットプロセスを検出することと、
前記新しいパペットプロセスを前記潜在的なパペットプロセスのリストに追加することと、を更に含む、請求項１に記載の方法。
【請求項８】
前記潜在的なパペットプロセスのリストが、コマンドラインインタフェースを有する少なくとも１つのプロセスを含む、請求項７に記載の方法。
【請求項９】
前記潜在的なパペットプロセスのリストが、ｃｍｄ．ｅｘｅ，ｒｕｎｄｌｌ．ｅｘｅ，ｒｕｎｄｌｌ３２．ｅｘｅ，ｒｅｇｓｖｒ３２．ｅｘｅ，ｄｌｌｈｏｓｔ．ｅｘｅ，ｒｅｇｅｄｉｔ．ｅｘｅ，ｔａｓｋｈｏｓｔ．ｅｘｅ，ｃｓｃｒｉｐｔ，ｗｓｃｒｉｐｔ，ｖｂｓｃｒｉｐｔ，ｐｅｒｌｓｃｒｉｐｔ，ｂａｓｈ，ｌｄｃｏｎｆｉｇ，ｔｅｒｍｉｎａｌ．ａｐｐ，及びｘ−ｃｏｄｅ．ａｐｐのうち少なくとも１つを含む、請求項８に記載の方法。
【請求項１０】
前記システムイベントがカーネルモードドライバを介して登録されている、請求項１に記載の方法。
【請求項１１】
疑わしいイベントのソースを識別するように構成されたコンピューティングデバイスであって、
プロセッサと、
前記プロセッサと電子的に通信しているメモリと、
前記メモリに格納された命令であって、
データベースにシステムイベントを登録することと、
第１のプロセスに関連する疑わしいイベントを検出することと、
複数の潜在的なパペットプロセスのうちの１つであるとして前記第１のプロセスを識別することと、
前記第１のプロセスを起動することとして検出される第２のプロセスを識別するために前記データベース内の前記登録されたシステムイベントを照合することと、
を前記プロセッサによって実行可能な命令と、を備える、コンピューティングデバイス。
【請求項１２】
前記命令が、
前記疑わしいイベントの前記ソースとして前記第２のプロセスを識別する通知を生成することを、前記プロセッサによって実行可能である、請求項１１に記載のコンピューティングデバイス。
【請求項１３】
前記命令が、
前記第１のプロセスを開始する際に前記第２のプロセスが終了することを判定することを、前記プロセッサによって実行可能である、請求項１１に記載のコンピューティングデバイス。
【請求項１４】
前記命令が、
前記第１のプロセスを開始した前記第２のプロセスを識別する際、前記第１のプロセスをパペットプロセスとして識別することを、前記プロセッサによって実行可能である、請求項１１に記載のコンピューティングデバイス。
【請求項１５】
プロセッサによって疑わしいイベントを識別するためのコンピュータプログラム製品であって、前記コンピュータプログラム製品は命令を格納する非一時的コンピュータ可読媒体を備え、前記命令が、
データベースにシステムイベントを登録することと、
第１のプロセスに関連する疑わしいイベントを検出することと、
複数の潜在的なパペットプロセスのうちの１つであるとして前記第１のプロセスを識別することと、
前記第１のプロセスを起動することとして検出される第２のプロセスを識別するために前記データベース内の前記登録されたシステムイベントを照合することと、
を前記プロセッサによって実行可能な命令と、を備える、コンピュータプログラム製品。
【国際調査報告】
2017509996.tif 000010
2017509996.tif 000011