(57)【要約】      （修正有）【課題】実行環境によって異なるファイルの挙動に対して、悪意あるファイルを検出するためのシステムおよび方法を提供する。【解決手段】方法は、１台以上のコンピュータから、各コンピュータ上で実行中のファイルから実行された関数呼び出しを含む１つ以上の呼び出しログを受信することと、１つ以上の呼び出しログを結合して結合呼び出しログとすることと、結合呼び出しログを検索して、脅威データベースに記憶されている１つ以上の挙動ルールに対する適合性を発見することと、挙動ルールが呼び出しログの中に発見された場合、調査されているファイルに関する判定を下すことと、判定に関する情報を１台以上のコンピュータに送信することとを含む。【選択図】図４
2019079500.tif 000002
【特許請求の範囲】
【請求項１】
悪意あるファイルを検出するための方法であって、
１台以上のコンピュータから、各コンピュータ上で実行中のファイルから実行された関数呼び出しを含む１つ以上の呼び出しログを受信することと、
前記１つ以上の呼び出しログを結合して結合呼び出しログとすることと、
前記結合呼び出しログを検索して、脅威データベースに記憶されている１つ以上の挙動ルールに対する適合性を発見することと、
前記１つ以上の挙動ルールが前記呼び出しログの中に発見された場合、調査されている前記ファイルに関する判定を下すことと、
前記判定に関する情報を前記１台以上のコンピュータに送信することと、を含むことを特徴とする、方法。
【請求項２】
前記１つ以上の挙動ルールを検索済みの前記１つ以上の呼び出しログを受信することをさらに含み、前記１つ以上の挙動ルールは、前記各コンピュータ上で実行中の前記ファイルが、悪意あるソフトウェア、および、条件によっては望ましくないソフトウェアのうちの少なくとも一方であることを示すことを特徴とする、請求項１に記載の方法。
【請求項３】
前記結合呼び出しログが、前記１つ以上の呼び出しログには存在しないレコードを少なくとも１つ持つことになる場合に限って、前記１つ以上の呼び出しログを結合することをさらに含むことを特徴とする、請求項１に記載の方法。
【請求項４】
前記結合呼び出しログは、調査中の前記ファイルに対する制御フローグラフを含むことを特徴とする、請求項１に記載の方法。
【請求項５】
前記判定はウィルス、ワーム、トロイの木馬、および、条件によっては望ましくないソフトウェアのうちの少なくとも１つであることを特徴とする、請求項１に記載の方法。
【請求項６】
前記１つ以上の挙動ルールは、疑わしい関数のリストにあるＡＰＩ関数の呼び出し、特定の関数の指定回数呼び出し、関数呼び出しの順序、前記コンピュータ上のドメインネームシステム（ＤＮＳ）サーバ情報の交換、オペレーティングシステム更新の無効化、および、ネットワークファイアウォールの無効化のうちの少なくとも１つを含むことを特徴とする、請求項１に記載の方法。
【請求項７】
前記ファイルに対するウィルスシグネチャを作成することと、前記ウィルスシグネチャを前記１台以上のコンピュータに送信することとをさらに含むことを特徴とする、請求項１に記載の方法。
【請求項８】
前記実行中のファイルに関する情報を前記１つ以上の呼び出しログに記録することをさらに含むことを特徴とする、請求項１に記載の方法。
【請求項９】
前記情報は、侵入の痕跡、セキュリティ判定、前記実行中のファイルのチェックサム、または前記実行中のファイルの一部のチェックサム、前記各コンピュータに対する前記実行中のファイルのアップロードの送信元、前記実行中のファイルによる送信データと受信データのうち少なくとも一方、および、ＤＮＳが前記各コンピュータ上で交換されたかどうかのうちの少なくとも１つを含むことを特徴とする、請求項８に記載の方法。
【請求項１０】
悪意あるファイルを検出するためのシステムであって、
複数のコンピュータを含む情報システムを備え、
前記複数のコンピュータのそれぞれは、
各コンピュータ上のファイルの実行中にアプリケーションプログラミングインターフェース（ＡＰＩ）呼び出しを記録し、
ローカル呼び出しログの中から、ローカル脅威データベースから得られた１つ以上の挙動ルールを検索し、
前記１つ以上の挙動ルールが前記ローカル呼び出しログの中から発見された場合、前記ファイルが悪意あるものであると判定し、かつ、
前記各コンピュータ上の前記ファイルの実行を停止し、
そうでない場合、前記ローカル呼び出しログを検出モジュールに送信する、
コンピュータ保護モジュールを備え、
前記情報システムと接続された前記検出モジュールは、
前記複数のコンピュータのそれぞれの前記コンピュータ保護モジュールからの前記ローカル呼び出しログを結合して、結合呼び出しログとし、
前記結合呼び出しログの中から、第２の脅威データベースから得た前記１つ以上の挙動ルールを検索し、
前記１つ以上の挙動ルールが前記結合呼び出しログの中に発見された場合、前記ファイルが悪意あるものであることを示す判定を下し、
前記ファイルに対するウィルスシグネチャを作成し、前記ウィルスシグネチャを各コンピュータの前記コンピュータ保護モジュールに送信することを特徴とする、システム。
【請求項１１】
前記検出モジュールは、さらに、前記１つ以上の挙動ルールを検索済みの前記１つ以上の呼び出しログを受信し、前記１つ以上の挙動ルールは、前記各コンピュータ上で実行中の前記ファイルが、悪意あるソフトウェア、および、条件によっては望ましくないソフトウェアのうちの少なくとも一方であることを示すことを特徴とする、請求項１０に記載のシステム。
【請求項１２】
前記検出モジュールは、前記結合呼び出しログが、前記１つ以上の呼び出しログには存在しないレコードを少なくとも１つ持つことになる場合に限って、前記１つ以上の呼び出しログを結合することを特徴とする、請求項１０に記載のシステム。
【請求項１３】
前記結合呼び出しログは、調査中の前記ファイルに対する制御フローグラフを含むことを特徴とする、請求項１０に記載のシステム。
【請求項１４】
前記判定はウィルス、ワーム、トロイの木馬、および、条件によっては望ましくないソフトウェアのうちの少なくとも１つであることを特徴とする、請求項１０に記載のシステム。
【請求項１５】
前記１つ以上の挙動ルールは、疑わしい関数のリストにあるＡＰＩ関数の呼び出し、特定の関数の指定回数呼び出し、関数呼び出しの順序、前記コンピュータ上のドメインネームシステム（ＤＮＳ）サーバ情報の交換、オペレーティングシステム更新の無効化、および、ネットワークファイアウォールの停止のうちの少なくとも１つを含むことを特徴とする、請求項１０に記載のシステム。
【請求項１６】
前記ローカル呼び出しログの中の前記実行中のファイルに関する情報を記録する標的型攻撃保護モジュールをさらに含むことを特徴とする、請求項１０に記載のシステム。
【請求項１７】
前記情報は、侵入の痕跡、セキュリティ判定、前記実行中のファイルのチェックサム、または前記実行中のファイルの一部のチェックサム、前記各コンピュータに対する前記実行中のファイルのアップロードの送信元、前記実行中のファイルによる送信データと受信データのうち少なくとも一方、および、前記ＤＮＳが前記各コンピュータ上で交換されたかどうかのうちの少なくとも１つを含むことを特徴とする、請求項１６に記載のシステム。
【請求項１８】
プロセッサによって実行されたときに悪意あるファイルを検出するための方法を実行する命令を記憶した非一時的なコンピュータ読み取り可能な媒体であって、前記方法は、
１台以上のコンピュータから、各コンピュータ上で実行中のファイルから実行された関数呼び出しを含む１つ以上の呼び出しログを受信することと、
前記１つ以上の呼び出しログを結合して結合呼び出しログとすることと、
前記結合呼び出しログを検索して、脅威データベースに記憶されている１つ以上の挙動ルールに対する適合性を発見することと、
挙動ルールが前記呼び出しログの中に発見された場合、調査されている前記ファイルに関する判定を下すことと、
前記判定に関する情報を前記１台以上のコンピュータに送信することと、
を含むことを特徴とする、コンピュータ読み取り可能な媒体。
【請求項１９】
前記１つ以上の挙動ルールを検索済みの前記１つ以上の呼び出しログを受信することをさらに含み、前記１つ以上の挙動ルールは、前記ファイルが、悪意あるソフトウェア、および、条件によっては望ましくないソフトウェアのうちの少なくとも一方であることを示すことを特徴とする、請求項１８に記載の媒体。
【請求項２０】
前記結合呼び出しログが、前記１つ以上の呼び出しログには存在しないレコードを少なくとも１つ持つことになる場合に限って、前記１つ以上の呼び出しログを結合することをさらに含むことを特徴とする、請求項１８に記載の媒体。
【請求項２１】
前記結合呼び出しログは、調査中の前記ファイルに対する制御フローグラフを含むことを特徴とする、請求項１８に記載の媒体。
【請求項２２】
前記判定はウィルス、ワーム、トロイの木馬、および、条件によっては望ましくないソフトウェアのうちの少なくとも１つであることを特徴とする、請求項１８に記載の媒体。
【請求項２３】
前記１つ以上の挙動ルールは、疑わしい関数のリストにあるＡＰＩ関数の呼び出し、特定の関数の指定回数呼び出し、関数呼び出しの順序、前記コンピュータ上のドメインネームシステム（ＤＮＳ）サーバ情報の交換、オペレーティングシステム更新の無効化、および、ネットワークファイアウォールの停止のうちの少なくとも１つを含むことを特徴とする、請求項１８に記載の媒体。
【請求項２４】
前記ファイルに対するウィルスシグネチャを作成することと、前記ウィルスシグネチャを前記１台以上のコンピュータに送信することとをさらに含むことを特徴とする、請求項１８に記載の媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般にコンピュータセキュリティ分野に関し、より具体的には、悪意あるファイルを検出するシステムおよび方法に関する。
【背景技術】
【０００２】
従来のシグネチャ解析では、特に、ポリモーフィック型ウィルス、難読化されたファイル、シェルコード等の、悪意あるファイルや悪意あるファイルに含まれている悪意あるコードを必ずしも検出できない。そこで、最新のウィルス対策アプリケーションは「サンドボックス」を採用した検証を追加的に用いる。サンドボックスとは、システムの他の部分から隔離された特別な環境のことであり、その中で実行されるプロセスに対して、リソースへのアクセスと使用を制限する。サンドボックスは、例えば、ファイルシステムとレジスタの部分的仮想化に基づくか、ファイルシステムとレジスタへのアクセス規定に基づくか、あるいは、ハイブリッドアプローチに基づいて、バーチャルマシンの形で実現されてもよい。検証されるファイルはサンドボックス内で実行される。ファイル実行の過程で、アプリケーションプログラミングインターフェース（ＡＰＩ）関数の呼び出しとシステムイベントに関する情報が呼び出しログに記録される。その後、ウィルス対策アプリケーションは、その結果得られた呼び出しログを解析する。
【０００３】
呼び出しログは、通常、上記ファイルが実行中に行ったＡＰＩ関数の呼び出しに関する情報、および、呼び出されたＡＰＩ関数からのリターン（リターンアドレスへの制御の移管）に関する情報を保存する。通常、サンドボックス内でのファイルの実行は、限られた時間幅（数十秒以内）の間に行われる。その際、シェルコードを含むファイルがサンドボックス内で実行されるとき、ＡＰＩ関数の呼び出しログを解析することによってファイルの実行を検出することが、困難になることがある。これは、シェルコードはプロセスのメモリ内にロードされたかもしれないが、シェルコードを含むメモリ位置に制御が渡されているべき時点より前にサンドボックス内のプロセスの実行が終了されたためである。
【０００４】
ファイル内の悪意あるコードを検出するためのさらに別の技術はエミュレーションであり、その本質はエミュレータ内でのコードの実行中にホストシステムを模擬するところにある。
【０００５】
最新のウィルス対策ソフトウェアは上記の各技術を合わせて採用している。通常、最初にシグネチャ解析が実行され、悪意ある挙動が検出されなかった場合、次にエミュレータまたはサンドボックス内でファイルが実行される。悪意ある挙動が検出されなかった場合、ファイルは（サンドボックスの場合のような隔離された環境内ではなく）、直接、ユーザのコンピュータ上で実行される。この段階で、さらにもう１つの重要なウィルス対策モジュールの作用である、挙動アナライザが開始され、ユーザのコンピュータ上でファイルが実行される過程でなされたＡＰＩ関数呼び出しのログを収集して解析する。挙動アナライザは、インストールされたインターセプタドライバを使用して、悪意あるコードの実行中に発生したＡＰＩ関数の呼び出しと、呼び出されたＡＰＩ関数からのリターンをインターセプトし、それらを呼び出しログに保存する。次に、挙動アナライザは、呼び出しログから悪意ある挙動の既知のパターンを探し出して（ウィルス、ワーム、トロイの木馬、あるいは、条件によっては望ましくないソフトウェア等の）判定を下す。挙動アナライザによる呼び出しログの解析の原理は、サンドボックスやエミュレータの作用と類似している。しかしファイルは、隔離された環境下やエミュレータ内ではなくユーザのコンピュータ上で実行されるので、挙動アナライザには、前述のモジュールが本質的に持っている短所はない。すなわち、ファイルの実行時間には制限がなく、エミュレータやサンドボックスを検出して迂回する技術を無効化する。
【０００６】
しかしながら、ファイルの挙動は実行環境によって、あるいは、同じコンピュータ上で起動された場合、入力パラメータの違いによって異なることがある。このように、それぞれの起動時における悪意あるファイルの挙動は、悪意ある挙動の既知のパターンに当てはまらないかもしれない。その挙動が悪意ある挙動の既知のパターンに当てはまらない悪意あるファイルに対して、判定の質が劣ることが技術的問題である。
【０００７】
実世界の実行環境における悪意あるソフトウェアを検出するその他の公知の方法においては、ソフトウェアが実行する動作をログに記録し、そのログから、悪意ある挙動の既知のパターンを探し出す。そかし、この方法では、その挙動が悪意ある挙動の既知のパターンに当てはまらない悪意あるファイルに対して判定の質が劣るという、指摘された技術的問題を解決することはできない。
【発明の概要】
【０００８】
悪意あるファイルを検出するためのシステムおよび方法を以下に開示する。例えば、悪意あるファイルを検出するための方法は、１台以上のコンピュータから、各コンピュータ上で実行中のファイルから実行された関数呼び出しを含む１つ以上の呼び出しログを受信することと、１つ以上の呼び出しログを結合して結合呼び出しログとすることと、結合呼び出しログを検索して、脅威データベースに記憶されている１つ以上の挙動ルールに対する適合性を発見することと、１つ以上の挙動ルールが呼び出しログの中に発見された場合、調査されているファイルに関する判定を下すことと、判定に関する情報を１台以上のコンピュータに送信することを含んでもよい。
【０００９】
他の態様においては、方法は、１つ以上の挙動ルールを検索済みの１つ以上の呼び出しログを受信することをさらに含み、１つ以上の挙動ルールは、各コンピュータ上で実行中のファイルが、悪意あるソフトウェア、および、条件によっては望ましくないソフトウェアのうちの少なくとも一方であることを示す。
【００１０】
他の態様においては、方法は、結合呼び出しログが、１つ以上の呼び出しログには存在しないレコードを少なくとも１つ持つことになる場合に限って、１つ以上の呼び出しログを結合することをさらに含む。
【００１１】
他の態様においては、結合呼び出しログは、調査中のファイルに対する制御フローグラフを含む。
【００１２】
他の態様においては、判定はウィルス、ワーム、トロイの木馬、および、条件によっては望ましくないソフトウェアのうちの少なくとも１つである。
【００１３】
他の態様においては、１つ以上の挙動ルールは、疑わしい関数のリストにあるＡＰＩ関数の呼び出し、特定の関数の指定回数呼び出し、関数呼び出しの順序、コンピュータ上のドメインネームシステム（ＤＮＳ）サーバ情報の交換、オペレーティングシステム更新の無効化、および、ネットワークファイアウォールの無効化のうちの少なくとも１つを含む。
【００１４】
他の態様においては、方法は、ファイルに対するウィルスシグネチャを作成することと、ウィルスシグネチャを１台以上のコンピュータに送信することとをさらに含む。
【００１５】
他の態様においては、方法は、実行中のファイルに関する情報を１つ以上の呼び出しログに記録することをさらに含む。
【００１６】
他の態様においては、情報は、侵入の痕跡、セキュリティ判定、実行中のファイルのチェックサム、または実行中のファイルの一部のチェックサム、各コンピュータに対する実行中のファイルのアップロードの送信元、実行中のファイルによる送信データと受信データのうち少なくとも一方、および、ＤＮＳが各コンピュータ上で交換されたかどうかのうちの少なくとも１つを含む。
【００１７】
悪意あるファイルを検出するためのシステムの例は、複数のコンピュータを含む情報システムを備えてもよく、複数のコンピュータのそれぞれは、各コンピュータ上のファイルの実行中にアプリケーションプログラミングインターフェース（ＡＰＩ）呼び出しを記録し、ローカル呼び出しログの中から、ローカル脅威データベースから得られた１つ以上の挙動ルールを検索し、１つ以上の挙動ルールがローカル呼び出しログの中から発見された場合、ファイルが悪意あるものであると判定し、かつ、各コンピュータ上のファイルの実行を停止し、そうでない場合はローカル呼び出しログを検出モジュールに送信するコンピュータ保護モジュールを備えてもよく、情報システムと接続された検出モジュールは、複数のコンピュータのそれぞれのコンピュータ保護モジュールからのローカル呼び出しログを結合して、結合呼び出しログとし、結合呼び出しログの中から、第２の脅威データベースから得た１つ以上の挙動ルールを検索し、１つ以上の挙動ルールが結合呼び出しログの中に発見された場合、ファイルが悪意あるものであることを示す判定を下し、ファイルに対するウィルスシグネチャを作成し、ウィルスシグネチャを各コンピュータのコンピュータ保護モジュールに送信してもよい。
【００１８】
他の態様においては、プロセッサによって実行されたときに悪意あるファイルを検出するための方法を実行する命令を記憶したコンピュータ読み取り可能な媒体が提供され、方法は、１台以上のコンピュータから、各コンピュータ上で実行中のファイルから実行された関数呼び出しを含む１つ以上の呼び出しログを受信することと、１つ以上の呼び出しログを結合して結合呼び出しログとすることと、結合呼び出しログを検索して、脅威データベースに記憶されている１つ以上の挙動ルールに対する適合性を発見することと、挙動ルールが呼び出しログの中に発見された場合、調査されているファイルに関する判定を下すことと、判定に関する情報を１台以上のコンピュータに送信することとを含む。
【００１９】
上記の、態様例の簡単な概要は、本開示の基本的な理解を提供するものである。この概要は、すべての熟考された態様の広範な概説ではなく、すべての態様の鍵となる要素や重要な要素を特定したり、本開示の任意またはすべての態様の範囲を規定したりすることを意図するものではない。その唯一の目的は、１つ以上の態様を、後述する本開示のより詳細な説明への前置きとして、簡易な形で提示することである。上述のことを達成するために、本開示の１つ以上の態様は、特許請求の範囲で説明され、かつ例示的に示される特徴を含んでいる。
【図面の簡単な説明】
【００２０】
本明細書に組み込まれ、その一部を構成する添付図面は、本開示の１つ以上の態様例を図示し、それらの原理および実施例を説明するために、詳細説明とともに供される。
【００２１】
【図１】図１は、本開示の態様の一例に係る、悪意あるファイルを検出するためのシステムのブロック図である。
【００２２】
【図２】図２は、本開示の態様の一例に係るコンピュータ保護モジュールのブロック図である。
【００２３】
【図３】図３は、本開示の態様の一例に係る標的型攻撃保護モジュールのブロック図である。
【００２４】
【図４】図４は、本開示の態様の一例に係る、悪意あるファイルを検出する方法に関するフローチャートである。
【００２５】
【図５】図５は、本開示の態様の一例に係る汎用コンピュータシステムの一例のブロック図である。
【発明を実施するための形態】
【００２６】
悪意あるファイルを検出するためのシステム、方法、および、システムおよび方法のためのコンピュータプログラム製品に関する態様の例について以下に説明する。以下の説明は、単に例示の目的のためであって、いかなる制限を加えることも意図されていないことは、当業者には理解されるであろう。その他の態様は、本開示から利益を得る当業者には、容易に想起できるであろう。添付図面に示すように、態様例の実施態様が詳細に参照される。同一あるいは類似する項目には、図面および以下の説明を通して、可能な範囲で、同一の参照符号を用いる。
【００２７】
以下の用語は、本開示、図面、および請求の範囲を通して用いられる。
【００２８】
侵入の痕跡（ＩＯＣ）とは、コンピュータ上またはネットワーク上で観察される、情報システムへの侵入によってもたらされたアーチファクト、あるいは残留症状である。ＩＯＣは「感染の兆候」と呼ばれることもある。代表的な侵入の痕跡はウィルスシグネチャ、ＩＰアドレス、ファイルのチェックサム、ＵＲＬアドレス、ボットネットのコマンドセンターのドメイン名、等である。侵入の痕跡に関しては、特に下記のような、いくつかの基準が存在する。
・OpenIOC  (https://community.rsa.com/docs/DOC-62341,  https://web.archive.org/web/20160401023434/,  http://blogs.rsa.com/understanding-indicators-of-compromise-ioc-part-i/,  http://openioc.org/)、
・STIX  (https://stix.mitre.org/)、
・CybOX  (https://cybox.mitre.org)、等。
【００２９】
コンピュータ攻撃（サイバー攻撃とも呼ばれる）とは、ソフトウェアおよびハードウェアによる情報システムや情報通信ネットワークの情報セキュリティを混乱させるために行われる、それらのシステムやネットワークに対する指向性行為である。
【００３０】
標的型攻撃（ＴＡ）とは、特定の組織や特定の個人に向けられたコンピュータ攻撃の特定のケースである。
【００３１】
高度な持続的脅威（ＡＰＴ）とは、複雑な、長期にわたる、周到に計画された、複数手法を駆使したコンピュータ攻撃であり、複雑な悪意あるソフトウェア、社会工学の方法、および攻撃対象の情報システムに関するデータを利用する。
【００３２】
ファジーハッシュ（フレキシブルフィンガープリントハッシュ、または、局所性鋭敏型ハッシュとも呼ばれる）とは、ファイルの作成時からの変化に耐性のあるフィンガープリントである。すなわち、悪意あるファイルをそのフィンガープリント値によって検出すると、多くの類似した（未知である可能性のある）悪意あるファイルも検出されることになる。そのようなフィンガープリントの主な特徴は、ファイルのわずかな変化に対して不変であるということである。
【００３３】
ファジー判定とは、ファイルの実行中に悪意あるファイルに特有の疑わしい動作を検出したときの、保護モジュール（例えば、ウィルス対策アプリケーション）の応答である。ファジー判定は、例えば、フレキシブルフィンガープリントによるファイル検出をきっかけとして、実行される。ファジー判定は、発見されたファイルが悪意あるものであることをある程度の確率で証明する。
【００３４】
図１は、挙動ルールを用いて悪意あるファイルを検出するシステム１２０を示す。システム１２０は、検出モジュール１１０、脅威データベース１１１、および呼び出しログ１１６とともに、情報システム１００を備えている。
【００３５】
情報システム１００（企業基盤とも呼ばれる）は、コンピュータネットワーク１０５によって相互接続された一群のコンピューティングデバイス１０１（短縮して、コンピュータとも呼ばれる）を含んでいる。コンピューティングデバイス１０１とは、一般に、任意のコンピューティングデバイスおよびセンサを意味し、特に、パーソナルコンピュータ、ノート型パーソナルコンピュータ、スマートフォン、および、ルータ、スイッチ、ハブ等の通信装置を意味する。コンピューティングデバイス１０１は物理的装置またはバーチャルマシンのいずれであってもよいことに注目すべきである。情報システム１００は、例えば、以下のタイプのうちいずれかの一部を用いる等、従来技術で公知の任意のネットワークトポロジー１０５を用いて構成してもよい：フルコネクト型、バス型、星型、リング型、セル型、およびハイブリッド型。コンピュータ保護モジュール（または、単に、保護モジュール）１０２はコンピューティングデバイス１０１のそれぞれに設置されている。一部のコンピューティングデバイス１０１には、保護モジュール１０２が設置されていない可能性があることに注目すべきである。情報システム１００は標的型攻撃保護モジュール１０３を含んでもよく、それは、例えば、別個のサーバ上に位置して、コンピュータネットワーク１０５によって少なくとも１台のコンピューティングデバイス１０１と接続されていてもよい。コンピューティングデバイス１０１を、ネットワーク１０５を介してインターネットおよび検出モジュール１１０に接続するために、プロキシサーバ（図示せず）を使用してもよい。
【００３６】
１つの特定の態様においては、標的型攻撃保護モジュール１０３は、さらに、コンピューティングデバイス１０１上で実行されコンピュータネットワーク１０５を通るファイルと関連する、ローカル呼び出しログ１０９中の情報を記録するように構成されてもよい。いくつかの態様においては、その情報は下記を含んでもよい。
・侵入の痕跡、
・セキュリティ判定（例えば、サンドボックス、侵入検知システム（ＩＤＳ）の判定）、
・ファイルのチェックサム、または、ファイルの一部のチェックサム、
・コンピューティングデバイス１０１へのファイルアップロードの送信元（例えば、ソースＩＰアドレス、コンピュータに対するファイルのダウンロード元のフラッシュドライブ、等）、
・ファイルがネットワークを介して送信しているデータ（例えば、どのＩＰアドレスがアクセスされているか、どのパケットが送信されているか、等）、
・ファイルがネットワークを介して受信しているデータ（例えば、どのＩＰアドレスから送信されているか、どのパケットが送信されているか、等）、
・コンピュータ上でのドメインネームシステム（ＤＮＳ）サーバの交換。
また、標的型攻撃保護モジュール１０３はローカル呼び出しログ１０９を検出モジュール１１０に送信するように構成されてもよい。
【００３７】
システムは少なくとも２台のコンピューティングデバイス１０１を含み、それぞれのコンピューティングデバイス１０１上でコンピュータ保護モジュール１０２が作動する。本開示の一態様によれば、コンピュータ保護モジュール１０２は、調査対象ファイルの実行中のＡＰＩ関数呼び出し（例えば、関数の名前、渡されたパラメータ、関数呼び出しの時刻）を、各コンピューティングデバイス１０１のローカル呼び出しログ１０７に記録する。
【００３８】
本開示の１つの特定の態様においては、ローカル呼び出しログ１０７の各レコードは、ＡＰＩ関数呼び出しに関する少なくとも以下の情報を含む。
・呼ばれた関数の名前、
・上記ファイルから起動されたプロセスの一意的なプロセス識別子（ＰＩＤ）、
・プロセスのアドレス空間の命令を実行しているスレッドの一意的なスレッド識別子（ＴＩＤ）、
・上記関数の一組の引数、
・関数呼び出しの時刻。
【００３９】
問題のファイルの実行中に、コンピュータ保護モジュール１０２は、ローカル呼び出しログ１０７の中から、ローカル脅威データベース１０８から得られた挙動ルールを検索する。本開示の１つの特定の態様においては、ローカル呼び出しログ１０７とローカル脅威データベース１０８はコンピューティングデバイス１０１上に位置している。
【００４０】
挙動ルールは、少なくとも１つのＡＰＩ関数の呼び出しに関する情報を含んでいる。本開示の１つの特定の態様においては、挙動ルールは、特定の一組のＡＰＩ関数呼び出しと、それらのＡＰＩ関数呼び出しに対する論理式を含んでいる。例えば、問題のファイルから、特定のＡＰＩ関数が特定のパラメータ付きで、挙動ルールによって指定されたように呼び出された場合、コンピュータ保護モジュール１０２はそのルールを呼び出しログ１０７から探し出すことになる。
【００４１】
また、挙動ルールは、特定のルールが呼び出されたときに下された判定に対応する。本開示の一態様においては、判定は、呼び出されたルールに対応する、悪意があるか、または望ましくないソフトウェアの最も可能性の高いカテゴリーを示す。判定は、例えば、ウィルス、ワーム、トロイの木馬、および、条件によっては望ましくないソフトウェアのうちの少なくとも１つを含んでいてもよい。
【００４２】
１つの特定の態様例においては、挙動ルールは少なくとも以下のものを含む。
・疑わしいＡＰＩ関数のリストにあるＡＰＩ関数の呼び出し（例えば、リストは以下のＡＰＩ関数を含んでいてもよい：WinExec、CreateProcess、GetFileSize、CreateFile）、
・ＡＰＩ関数GetFileSizeが１０回呼び出された、
・ＡＰＩ関数WriteFileの呼び出しに続く、ＡＰＩ関数WinExecの呼び出し（実行用ファイルの起動）、
・コンピュータ上のＤＮＳサーバの交換、
・オペレーティングシステム自動更新の停止、
・ネットワークファイアウォールの停止、
・保護モジュールの停止、
・ユーザアカウント制御（ＵＡＣ：ウィンドウズ（登録商標）ＯＳのコンポーネント）の停止。
【００４３】
コンピュータ保護モジュール１０２が、ローカル呼び出しログ１０７の中から、ローカル脅威データベース１０８から得られた挙動ルールを１つも発見しなかった場合、コンピュータ保護モジュール１０２は、リモートサーバ上に位置する検出モジュール１１０にローカル呼び出しログ１０７を送信する。
【００４４】
１つの特定の態様例においては、悪意あるソフトウェアの判定に対応する挙動ルールが発見された場合に限って、コンピュータ保護モジュール１０２はローカル呼び出しログ１０７を検出モジュール１１０に送信してもよい。他の態様例においては、条件によっては望ましくないソフトウェアの判定に対応する挙動ルールが発見された場合も、ローカル呼び出しログ１０７が送信される。
【００４５】
検出モジュール１１０は、解析対象ファイルのために、少なくとも２つの保護モジュール１０２から取得したローカル呼び出しログ１０７を結合して、リモートサーバ上に位置する結合呼び出しログ１１６とする。
【００４６】
ローカル呼び出しログ１０７の結合は、結合呼び出しログ１１６が、各ローカル呼び出しログ１０７に対して、当該ローカル呼び出しログ１０７には存在しないレコードを少なくとも１つ持つことになる場合に実行されることに注意すべきである。
【００４７】
３つのローカル呼び出しログがある場合の例を挙げる。第１ログはレコードＡ、Ｂ、Ｃを、第２ログはレコードＡ、Ｂ、Ｄを、第３ログはレコードＡ、Ｃ、Ｄを含んでいる。この例では、レコードＡ、Ｂ、Ｃ、Ｄを含む結合呼び出しログが作成されることになる。結合呼び出しログは、それぞれのローカルログには存在しないレコードを持つことになる。レコードＤは第１ログには存在せず、レコードＣは第２ログには存在せず、レコードＢは第３ログには存在しない。
【００４８】
３つのローカル呼び出しログがある場合のさらに他の例を挙げる。第１ログはレコードＡ、Ｂを、第２ログはレコードＡ、Ｂ、Ｃを、第３ログはレコードＡ、Ｃを含んでいる。この例では、結合呼び出しログはレコードＡ、Ｂ、Ｃを含むことになり、第２ローカルログに相当することになる（すなわち、結合ログは第２ログに存在しないレコードを持たないことになる）ため、結合呼び出しログは作成されないことになる。
【００４９】
１つの特定の態様例においては、結合呼び出しログ１１６はそれぞれのローカル呼び出しログ１０７のすべてのレコードを含むことになる。他の特定の態様例においては、結合呼び出しログ１１６は、１つのローカル呼び出しログ１０７（例えば、第１呼び出しログ）の全レコード、および、第１呼び出しログには存在しない、その他のローカル呼び出しログ１０７のレコードを含むことになる。
【００５０】
１つの特定の態様例においては、ローカル呼び出しログ１０７の結合による結合呼び出しログ１１６の作成は、ローカル呼び出しログ１０７のレコードを結合することによってなされる。この場合、交差するレコードは、結合呼び出しログ１１６の中で、重複してもしなくてもよい。さらに他の態様例においては、ローカル呼び出しログ１０７は、ファイルから起動されたプロセスの制御フローグラフ（ＣＦＧ）をさらに含んでもよく、本例においては、結合呼び出しログ１１６は、複数の制御フローグラフを結合して得られる、上記ファイルに対する結合制御フローグラフを含むことになる。
【００５１】
検出モジュール１１０は、結合呼び出しログ１１６の中から、脅威データベース１１１から得られた挙動ルールを検索する。脅威データベースはリモートサーバ上に位置し、特に、各コンピューティングデバイス１０１のローカル脅威データベース１０８の全レコードを収容している。
【００５２】
図２は、コンピュータ保護モジュールの各モジュールとして考えられる例を示す。コンピュータ保護モジュール１０２は、コンピューティングデバイス１０１のセキュリティを確保するよう設計された以下のモジュールを含むことができる：オンアクセススキャナ、オンデマンドスキャナ、Ｅメールアンチウィルス、ウェブアンチウィルス、事前保護モジュール、ホスト侵入防止システム（ＨＩＰＳ）モジュール、データ漏洩防止（ＤＬＰ）モジュール、脆弱性スキャナ、エミュレータ、ネットワークファイアウォール、等。１つの特定の態様例においては、上記のモジュールは保護モジュール１０２の構成要素であってもよい。さらに他の態様例においては、これらのモジュールは別々のソフトウェアコンポーネントとして実現されてもよい。
【００５３】
オンアクセススキャナは、ユーザのコンピュータシステム上で開かれたり、起動されたり、保存されたりするすべてのファイルの悪意ある動作を検出する機能性を有している。オンデマンドスキャナは、ユーザの要求に応じて、ユーザが指定したファイルやディレクトリをスキャンするという点で、オンアクセススキャナとは異なっている。
【００５４】
Ｅメールアンチウィルスは、送受信されるＥメールに悪意あるファイルがあるかどうかをチェックするために必要とされる。ウェブアンチウィルスは、ユーザにより掲載されたウェブサイト上に含まれる恐れのある悪意あるコードの実行を防止し、また、ウェブサイトが開かれることを阻止する機能を果たす。ＨＩＰＳモジュールは、プログラムの望ましくない動作や悪意ある動作を検出し、実行時にその動作を阻止する機能を果たす。ＤＬＰモジュールは、コンピュータやネットワークからの機密データの漏洩を検出および防止する機能を果たす。脆弱性スキャナは、コンピューティングデバイス１０１の脆弱性（例えば、コンピュータ保護モジュール１０２の特定の構成要素の停止、ウィルスデータベースの陳腐化、ネットワークポートの閉鎖、等）を検出するために必要とされる。ネットワークファイアウォールは、指定されたルールに従ったネットワークトラフィックの制御とフィルタリングを提供する。エミュレータの作用は、エミュレータ内でのコードの実行中にホストシステムを模擬するところにある。事前保護モジュールは挙動シグネチャを用いて、実行中のファイルの挙動を検出し、そのファイルを信頼度によって分類する。
【００５５】
悪意あるソフトウェア（疑わしい挙動、スパム、その他のコンピュータ脅威の兆候）を検出すると、上記のモジュールは、それに対応する、検出された脅威とその脅威を取り除くための処置（例えば、ファイルの除去または変更、その実行の禁止、等）を取る必要性を保護モジュールに伝える通知を作成する（その後、コンピュータ保護モジュール１０２の判定に変換してもよい）。１つの特定の態様例においては、悪意あるソフトウェアを検出したモジュール自身がその脅威を取り除くための処置を講じてもよい。さらに他の一例においては、判定は（判定によって、誤警報が生じる恐れがあるため）ファジーまたは試験判定でもよく、その場合、保護モジュールは脅威を取り除くための処置を講じることなく、通知を検出モジュール１１０に回すことになる。コンピュータ保護モジュール１０２の判定は、ファイルに関する情報の一部であり、後にセキュリティ通知の形で検出モジュール１１０に送信されることになることに注意すべきである。本開示の１つの特定の態様においては、悪意あるソフトウェアは以下のカテゴリー（判定はカテゴリーの１つに対応する）を含む：悪意あるソフトウェア、および、条件によっては望ましくないソフトウェア。悪意あるソフトウェアは以下のサブカテゴリーを含んでもよい：ウィルス、ワーム、トロイの木馬、パッカー、悪意あるユーティリティ。条件によっては望ましくないソフトウェアはアドウェア、ポルノウェア、使用するとコンピュータに害を及ぼす可能性のある合法的ソフトウェア（リスクウェア）、その他である。
【００５６】
図３は、標的型攻撃保護モジュールの各モジュールとして考えられる例を示す。標的型攻撃保護モジュール１０３は、例えば、以下の保護モジュールを含むことができる：サンドボックス、侵入検知システム（ＩＤＳ）、レピュテーションサービス、ＹＡＲＡルールチェッキングモジュール、その他の検出モジュール。
【００５７】
サンドボックスモジュールはコンピュータ保護モジュール１０２のエミュレータと機能的に類似しているが、相違点は、コンピュータ保護モジュール１０２が本質的に持っているような時間制限は標的型攻撃保護モジュール１０３にはないため、サンドボックスがさらなるコンピューティング性能を利用できることと、より長時間動作できるということである。
【００５８】
サンドボックスはプロセスの安全な実行のためのコンピュータ環境であり、ファイルから起動されたプロセスの実行中における疑わしい動作を判定する機能を果たす。
【００５９】
サンドボックスは、例えば、ファイルシステムとレジスタの部分的仮想化に基づくか、ファイルシステムとレジスタへのアクセス規定に基づくか、あるいは、ハイブリッドアプローチに基づいて、バーチャルマシンの形で実現されてもよい。
【００６０】
本開示の一態様によれば、侵入検知システムは、コンピューティングデバイス１０１またはネットワーク１０５への不正アクセス、または、コンピューティングデバイス１０１またはネットワーク１０５に対する認可されていない制御の発生を識別してもよい。
【００６１】
レピュテーションサービスは、レピュテーションサーバ１０４のミラーまたはキャッシュされたコピーであってもよく、また、コンピューティングデバイス１０１上のファイルの人気度に関する情報（ファイルが存在するコンピューティングデバイス１０１の数、ファイルの起動回数、等）を収容する。
【００６２】
ＹＡＲＡルールチェッキングモジュールは、オープンシグネチャフォーマットのＹＡＲＡシグネチャをチェックする機能を果たす（http://yararules.com/参照）。
【００６３】
ＤＬＰモジュールは、機密データのコンピュータまたはネットワークからの漏洩を検出および防止する機能を果たす。
【００６４】
図４は、悪意あるファイルを判定する方法４００に関するフローチャートである。方法４００は、図１に記載したシステム１０１の構成要素の、コンピュータシステム２０によって実行される、実施の一例である。
【００６５】
方法はステップ４０１から始まり、そこでは、少なくとも２台のコンピューティングデバイス１０１の保護モジュール１０２が、各コンピューティングデバイス１０１のローカル呼び出しログ１０７に、特に、ファイルのプログラムコードの実行中のＡＰＩ関数呼び出しを記録する。ファイルから起動されたプロセスは、上記の各コンピューティングデバイス１０１上で実行される。
【００６６】
コンピューティングデバイス１０１は、異なった環境（ＯＳおよびそのバージョン、インストールされているＯＳのアップデート、インストールされているソフトウェアとドライバ、実装されているサービスとプロセス、インターネットとの接続の有無、周辺機器、等）を有していてもよい。さらに、ファイルは、コンピューティングデバイス１０１や、開かれた時刻や、その他の要因に応じて、異なったパラメータで実行のために開かれてもよい。そのようなパラメータは、例えば、ユーザの権限（管理者権限またはユーザ権限）や、異なる起動方法（例えば、コマンドラインウィンドウズ（登録商標）"Cmd.exe"のインタープリタのコマンド"ie.exe  -k"はインターネットエクスプローラをフルスクリーンモードで起動する）でなされる起動の目的（例えば、特定のオブジェクトまたはその他のファイルは実行中のファイルの入力に転送される）や、その他であってもよい。このように、同じファイルを異なるコンピューティングデバイス１０１上で（あるいは、同じデバイス上であっても）実行すると、その間、そのファイルは異なる挙動、異なるＡＰＩ関数の呼び出し、等をすることがある。例えば、１台のコンピューティングデバイス１０１がインターネット接続されていない場合、ファイルは、他のインターネット接続されているコンピューティングデバイス１０１上で実行された場合にアクセス可能なＩＰアドレスにアクセスできないことになる。
【００６７】
ステップ４０２において、上記のコンピューティングデバイス１０１のそれぞれの（対応するコンピューティングデバイス１０１にインストールされている）保護モジュール１０２が、ファイルのプログラムコードを実行する過程で使用され、ローカル呼び出しログ１０７の中から、ローカル脅威データベース１０８から得られた挙動ルールが検索される。保護モジュール１０２が挙動ルールを発見した場合、ファイルは直ちにコンピューティングデバイス１０１上で悪意あるものと判定され、ファイルのさらなる実行は保護モジュール１０２によって終了される。そうでない場合、ステップ４０３において、保護モジュール１０２はローカル呼び出しログ１０７を検出モジュール１１０に送信する。
【００６８】
ステップ４０４において、検出モジュール１１０を使用して、上記ファイルに関して受信したローカル呼び出しログ１０７が結合呼び出しログ１１６に結合される。検出モジュール１１０が、ローカル呼び出しログ１０７を、上記ファイルに関連する少なくとも２つの異なる保護モジュール１０２から取得し、それぞれのローカル呼び出しログ１０７に存在しないレコードが、結合呼び出しログ１１６中に、少なくとも１つ存在する場合、ステップ４０４が適用できることに注目すべきである。
【００６９】
ステップ４０５において、検出モジュール１１０は、結合呼び出しログ１１６の中から、脅威データベース１１１から得られた挙動ルールを検索する。本開示の１つの特定の態様においては、ローカル脅威データベース１０８と脅威データベース１１１はコピーである。本開示の他の特定の態様においては、脅威データベース１１１は、少なくともローカル脅威データベース１０８の全レコードを収容し、その他のレコードを収容している可能性もある。
【００７０】
例えば、コンピューティングデバイス１０１上のスペースを節約するために、ローカル脅威データベース１０８は、所定の時刻において、あるいは、情報システム１００の所有者にとって、所定の領域に特徴的な、最も一般的な脅威に対するエントリーを収容してもよい。さらに他の一例においては、ローカル脅威データベース１０８は脅威データベース１１１のミラーコピーであり、定期的に更新される。この場合、ローカル脅威データベース１０８の最終更新から次の定期更新までの間、脅威データベース１１１は、ローカル脅威データベース１０８に存在しない新規の脅威レコードで更新することができることは明らかである。
【００７１】
その結果、ステップ４０６において、少なくとも１つの脅威データベースから得た挙動ルールが結合呼び出しログ１１６の中から発見された場合、発見された挙動ルールに従って、ファイルは悪意あるものと判定されることになる。この場合、ステップ４０７において、検出モジュール１１０は、判定されたファイルに関する（ウィルス、ワーム、トロイの木馬、あるいは、条件によっては望ましくないソフトウェア等の）判定を下してもよく、保護モジュール１０２のためにウィルスシグネチャを作成してもよい。ウィルスシグネチャとは、例えば、保護モジュール１０２のシグネチャ解析モジュールのためのシグネチャ、または、エミュレータのシグネチャを意味する。
【００７２】
このように、提起された技術的問題は解決されるであろう、すなわち、保護モジュール１０２によって判定されなかった悪意あるファイルは、指定された方法によって判定されるであろう。そして、単一のファイルのために、少なくとも２台のコンピュータから得られた様々なローカル呼び出しログを結合して作成された結合呼び出しログの中から、脅威データベースから得られた挙動ルールを検索することによって、挙動ルールを用いた悪意あるファイルの判定の質の向上という、技術的成果が達成されるであろう。
【００７３】
異なるコンピューティングデバイス１０１上でファイルが実行される間の、異なる挙動の、環境に応じたいくつかの例について、以下に考察する。
【００７４】
例えば、ファイルがエミュレータを検出し、迂回するためのコードを含む場合、エミュレータが作動しているコンピューティングデバイス１０１上では、ファイルは安全な動作を行うかもしれないが、エミュレータが作動していない他のコンピューティングデバイス１０１上では、ファイルは悪意ある動作を行うであろう。
【００７５】
さらに他の一例においては、ファイルは（例えば、ＯＳのローカライゼーションから）コンピューティングデバイス１０１の所在地を調べ、所在地に応じて異なる動作をするかもしれない。他の一例においては、ファイルの実行中、特定のアプリケーションに対して悪意ある動作が実行され、対応する判定が下されるかもしれないが、それらのアプリケーションがコンピューティングデバイス１０１上にインストールされていない場合、悪意ある動作は実行されず、判定は下されないであろう。
【００７６】
さらに他の一例においては、ファイルは、ネットワークを通して、ＯＳアーキテクチャ（３２または６４ビット）に応じた付加的な悪意あるモジュールをダウンロードするかもしれない。さらに他の一例においては、ファイルは、異なるアクセス経路を使用して、例えば、HTTPs、DNS、Twitter、Yandex.Disk、または、その他のアクセス経路を介して、コマンドセンターにアクセスするかもしれない。この場合、ファイルは、１つのコンピューティングデバイス１０１上ではHTTPsを介して、もう１つのコンピューティングデバイス１０１上では、HTTPsを介してアクセスできなかったために、Twitterを介してアクセスするかもしれない。
【００７７】
さらに他の一例においては、コンピューティングデバイス１０１上で、管理者権限で起動されたファイルが、直ちに、悪意ある動作を開始するかもしれない。しかし、同じファイルが、コンピューティングデバイス１０１上で、管理者権限なしに起動された場合、ファイルはその権限を高めようとするかもしれない。
【００７８】
本開示の１つの特定の態様においては、コンピュータ保護モジュール１０２と標的型攻撃保護モジュール１０３を使用して、少なくとも下記情報のいくつかが追加記録される。
・ＡＰＩ関数からのリターンアドレスへの制御の移管手順、
・ウィンドウズ（登録商標）ＮＴネイティブＡＰＩ関数の直接呼び出し、
・ウィンドウズ（登録商標）ＮＴネイティブＡＰＩ関数からのリターン、
・コンピュータシステムの切断または過負荷の事象、
・オペレーティングシステムのシステムイベント、
・侵入の痕跡、
・システムコール（fopen()、create()、等）、
・保護モジュールの判定（ウィルス、ワーム、トロイの木馬、あるいは、条件によっては望ましくないソフトウェア等）、
・ファイルまたはその一部のチェックサム、
・コンピューティングデバイス１０１へのファイルのダウンロードのソース（例えば、ソースのＩＰアドレス、コンピュータに対するファイルのロード元のフラッシュドライブ、等）、
・ファイルの実行のエミュレーション結果（エミュレータの判定）、
・ファイルがコンピューティングデバイス上に出現した時刻、
・ファイルがネットワークを介して送信しているデータ（例えば、どのＩＰアドレスがアクセスされているか、どのパケットが送信されているか、等）、
・ファイルがネットワークを介して取得しているデータ（例えば、どのＩＰアドレスがアクセスされているか、どのパケットが送信されているか、等）。
【００７９】
他の特定の態様例においては、コンピュータ保護モジュール１０２と標的型攻撃保護モジュール１０３を使用して、少なくとも下記情報のいくつかが追加記録される。
・コンピュータ上におけるＤＮＳサーバの置換、
・オペレーティングシステム自動更新の無効化、
・ネットワークファイアウォールの無効化、
・保護モジュールの無効化、
・ユーザアカウント制御コンポーネントの無効化、
・オペレーティングシステムのシステム復元コンポーネントの無効化。
【００８０】
さらに他の特定の態様例においては、コンピュータ保護モジュール１０２と標的型攻撃保護モジュール１０３を使用して、少なくとも下記情報のいくつかの部分が追加記録される。
・ファイルマネージャ内の「隠しファイル、隠しフォルダー、および隠しドライブを表示する」の停止、
・ネットワークファイアウォールのルールの変更、
・hostsファイルの変更、
・ファイル自体の削除（例えば、プロセスが悪意あるファイルから実行されると、悪意あるコードをシステムプロセス"svchost.exe"の文脈に埋め込み、その後、元の悪意あるファイルを削除する）、
・コンピュータシステムの切断または過負荷の事象、
・プロセス中で発生した例外的状況、
・システムライブラリ（kernel32.dll、ntdll.dll、等）の記述子のアドレスの取得、
・メモリ割り当て、
・システム構造体（プロセス環境ブロック（ＰＥＢ））の読み込み、
・ファイル記述子の連続取得。
【００８１】
本開示のさらに他の特定の態様においては、解析対象ファイルを実行するプロセス中で作成された子プロセスおよび新規ファイルと関連する上記情報が追加記録される。
【００８２】
１つの特定の態様においては、標的型攻撃保護モジュール１０３は、上記コンピューティングデバイス１０１上で実行されコンピュータネットワークを通るファイルと関連する情報を、ローカル呼び出しログ１０９とともに記録するように構成される。この態様においては、標的型攻撃保護モジュールは、別個のリモートサーバ上に位置し、少なくとも１台のコンピューティングデバイス１０１とコンピュータネットワーク１０５を介して接続されてもよい。いくつかの態様においては、この情報は下記のうち１つ以上を含んでもよい。
・侵入の痕跡、
・セキュリティ判定（例えば、サンドボックス、ＩＤＳの判定）、
・実行ファイルのチェックサム、または、ファイルの一部のチェックサム、
・コンピューティングデバイス１０１へのファイルアップロードの送信元（例えば、ソースＩＰアドレス、コンピュータに対するファイルのダウンロード元のフラッシュドライブ、等）、
・ファイルがネットワーク越しに送信しているデータ（例えば、どのＩＰアドレスがアクセスされているか、どのパケットが送信されているか、等）、
・ファイルがネットワーク越しに受信しているデータ（例えば、どのＩＰアドレスから送信されているか、どのパケットが送信されているか、等）、
・コンピュータ上におけるＤＮＳサーバの置換。
【００８３】
この態様における標的型攻撃保護モジュール１０３は、さらに、ローカル呼び出しログ１０９を検出モジュール１１０に送信し、検出モジュール１１０は、ステップ４０４において、ローカル呼び出しログ記録１０９を結合呼び出しログ１１６に追加する。１つの特定の態様においては、標的型攻撃保護モジュール１０３をローカル脅威データベース１１２に対しても関連付けることができる。この場合、標的型攻撃保護モジュール１０３は、ローカル呼び出しログ１０９の中から、ローカル脅威データベース１１２から得た挙動ルールとの適合性を検索することができる。少なくとも１つの挙動ルールとの適合性が見つかった場合、ファイルが悪意あるものと判定することができ、適切な判定が下される。ファイルが実行されているコンピューティングデバイス１０１上に位置する保護モジュール１０２に通知が送信されることになる。その後、保護モジュール１０２は、マルウェアによって特定されたファイルを回復させる処置を講じることになる。標的型攻撃保護モジュール１０３が、どの挙動ルールとの適合性も検出しなかった場合、ステップ４０３において、ローカル呼び出しログ１０９は検出モジュール１１０に送信されることになる。１つの特定の態様においては、ローカル呼び出しログ１０９とローカル脅威データベース１１２は、標的型攻撃保護モジュール１０３として、同一のリモートサーバ上に位置している。
【００８４】
図５は、悪意あるファイルを検出するためのシステムおよび方法の各態様を、本開示の態様の一例に従って実現できる汎用コンピュータシステムを示す図である。
【００８５】
図示のように、コンピュータシステム２０（パーソナルコンピュータまたはサーバでもよい）は、中央処理装置２１、システムメモリ２２、および、中央処理装置２１に付随するメモリを含む各種システム構成要素を接続するシステムバス２３を含んでいる。当業者には理解されるように、システムバス２３は、バスメモリまたはバスメモリコントローラ、周辺バス、および、他のいかなるバスアーキテクチャとも相互作用可能なローカルバスを備えていてもよい。システムメモリは固定記憶装置（ＲＯＭ）２４とランダムアクセスメモリ（ＲＡＭ）２５を含んでいてもよい。基本入出力システム（ＢＩＯＳ）２６は、ＲＯＭ２４を用いてオペレーティングシステムをロードするときの手順等の、コンピュータシステム２０の要素間の情報転送の基本的手順を記憶していてもよい。
【００８６】
また、コンピュータシステム２０は、データを読み書きするためのハードディスク２７、リムーバブル磁気ディスク２９を読み書きするための磁気ディスクドライブ２８、および、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、その他の光媒体等のリムーバブル光学ディスク３１を読み書きするための光学ドライブ３０を備えていてもよい。ハードディスク２７、磁気ディスクドライブ２８、および光学ドライブ３０は、それぞれ、ハードディスクインターフェース３２、磁気ディスクインターフェース３３、および光学ドライブインターフェース３４を介して、システムバス２３と接続されている。これらのドライブおよび対応するコンピュータ情報媒体は、コンピュータシステム２０のコンピュータ命令、データ構造体、プログラムモジュール、およびその他のデータを記憶する、独立の電源で動作するモジュールである。
【００８７】
コンピュータシステム２０は、コントローラ５５を介してシステムバス２３と接続されたハードディスク２７、リムーバブル磁気ディスク２９、およびリムーバブル光学ディスク３１を使用するシステムを含んでいる。コンピュータで読み取り可能な形式でデータの保存が可能な任意の種類の媒体５６（ソリッドステートドライブ、フラッシュメモリカード、デジタルディスク、ランダムアクセスメモリ（ＲＡＭ）等）を利用できることは、当業者には理解されるであろう。
【００８８】
コンピュータシステム２０はファイルシステム３６を有しており、その中には、オペレーティングシステム３５の他に、追加的なプログラムアプリケーション３７、その他のプログラムモジュール３８、およびプログラムデータ３９を保存することができる。コンピュータシステム２０のユーザはキーボード４０、マウス４２、あるいは、その他、例えば、マイクロフォン、ジョイスティック、ゲームコントローラ、スキャナ等を含むがそれらに限られない当業者に公知の入力装置を使用して、コマンドおよび情報を入力することができる。そのような入力装置は、一般に、コンピュータシステム２０に、システムバスと接続されたシリアルポート４６を通して差し込まれるが、当業者は、入力装置を、例えば、限定はされないが、パラレルポート、ゲームポート、あるいはユニバーサルシリアルバス（ＵＳＢ）等の他の方法で接続してもよいことを理解するであろう。モニタ４７または他の種類の表示装置も、ビデオアダプタ４８等のインターフェースを介してシステムバス２３と接続してもよい。パーソナルコンピュータは、モニタ４７に加えて、スピーカ、プリンタ等の周辺出力装置（図示せず）を備えてもよい。
【００８９】
コンピュータシステム２０を、１台以上のリモートコンピュータ４９とのネットワーク接続を用いて、ネットワーク環境下で動作させてもよい。リモートコンピュータ４９は、上記コンピュータシステム２０の特徴説明の中で述べた要素のほとんどまたは全部を備えたローカルコンピュータワークステーションまたはサーバであってもよい。例えば、ルータ、ネットワークステーション、ピアデバイス、その他のネットワークノード等を含むがそれらに限られないその他の装置がコンピュータネットワークの中に存在してもよい。
【００９０】
ネットワーク接続によって、ローカルエリアコンピュータネットワーク（ＬＡＮ）５０および広域コンピュータネットワーク（ＷＡＮ）を形成することができる。そのようなネットワークは企業コンピュータネットワークや社内ネットワークで利用され、一般に、インターネットにアクセスできる。ＬＡＮおよびＷＡＮのネットワークにおいては、パーソナルコンピュータ２０は、ネットワークアダプタまたはネットワークインターフェース５１を介してローカルエリアネットワーク５０と接続されている。ネットワークを利用する場合、コンピュータシステム２０は、インターネットのような広域コンピュータネットワークとの通信を可能にする、モデム５４、または、その他の当業者に公知のモジュールを採用してもよい。モデム５４は、内部装置であっても外部装置であってもよいが、シリアルポート４６によってシステムバス２３と接続してもよい。上記ネットワーク接続は、１台のコンピュータが通信モジュールを使って他のコンピュータとの接続を確立する数多くの広く理解されている方法の非限定例であることは、当業者には理解されるであろう。
【００９１】
様々な態様において、本明細書で説明したシステムおよび方法は、ハードウェア、ソフトウェア、ファームウェア、あるいはそれらの任意の組み合わせの中に実現されてもよい。ソフトウェア中に実現された場合、方法は、非一時的なコンピュータ読み取り可能な媒体上に、１つ以上の命令またはコードとして記憶されてもよい。コンピュータ読み取り可能な媒体には、データストレージが含まれる。一例として、限定はされないが、そのようなコンピュータ読み取り可能な媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、フラッシュメモリ、あるいは他の種類の電気的、磁気的、または光学的記憶媒体、もしくは、所望のプログラムコードを命令やデータ構造体の形で運搬または記憶するために利用可能で、汎用コンピュータのプロセッサからアクセス可能な、その他の任意の媒体を含むことができる。
【００９２】
様々な態様において、本開示で説明したシステムおよび方法を、モジュールの意味で扱うことができる。本明細書で使われている用語「モジュール」とは、例えば、特定用途向け集積回路（ＡＳＩＣ）やフィールドプログラマブルゲートアレイ（ＦＰＧＡ）によるハードウェアを用いて実現されるか、あるいは、例えば、マイクロプロセッサシステムと、（実行時に）マイクロプロセッサシステムを専用デバイスに変換するモジュールの機能性を実現する一連の命令によるハードウェアとソフトウェアの組み合わせとして実現された、実世界の装置、構成要素、または構成要素の配置のことである。モジュールは、特定の機能をハードウェアのみで促進し、その他の機能をハードウェアとソフトウェアの組み合わせによって促進する、上記２つの組み合わせとしても実現できる。特定の実現形態においては、少なくとも一部、場合によっては全部のモジュールが、汎用コンピュータのプロセッサ上（例えば、上記図４で詳説されているもの）で実行されてもよい。したがって、各モジュールは各種の適切な構成の中に実現可能であり、本明細書に例示したいかなる特定の実現形態にも限定されるべきではない。
【００９３】
明確化のために、各態様の定型的な特徴のすべてが本明細書に示されているわけではない。本開示の実際の実現形態のいかなる開発においても、開発者の具体的目的を達成するために、実現形態に特有の多くの決定をする必要があり、具体的目的は、実現形態ごとおよび開発者ごとに異なるということが理解されるであろう。そのような開発努力は複雑で多くの時間を要するものであるが、それにもかかわらず、本開示から利益を得る当業者にとって、定型的な技術的取り組みであることが理解される。
【００９４】
さらに、本明細書で用いている表現や用語は説明上のものであって、限定のためではなく、本明細書の用語や表現は、当業者が、当業者の知識と組み合わせて、本明細書が提供する教示や手引きの観点から解釈すべきものと理解すべきである。加えて、明示的記載がない限り、本明細書や請求の範囲におけるいかなる用語も、一般的でない、あるいは特別な意味を持つものとみなされることは意図されていない。
【００９５】
本明細書に開示された様々な態様は、本明細書で例示により言及された公知のモジュールと均等な現在および将来の公知の均等物を包含する。さらに、態様および応用例を図示し、かつ、説明してきたが、本明細書に開示された発明の概念から逸脱することなく、上述したよりも多くの変更が可能であることは、この開示の利益を有する当業者には明らかであろう。
【図１】
2019079500.tif 000003
【図２】
2019079500.tif 000004
【図３】
2019079500.tif 000005
【図４】
2019079500.tif 000006
【図５】
2019079500.tif 000007
【外国語明細書】
2019079500000001.pdf