(57)【要約】      （修正有）【課題】効果的な保護のためにウィルス対策レコードを作成するシステムおよび方法を提供する。【解決手段】対標的型攻撃プロテクタによって、ファイルのＡＰＩ関数呼び出しのログを解析して、１つ以上の挙動ルールを用いて悪意ある挙動の有無を調べ、ＡＰＩ関数呼び出しのログのレコードに対応する挙動ルールが特定された場合に、ファイルは悪意あるものであると判定する５０１。特定された挙動ルールと関連するＡＰＩ関数呼び出しの１つ以上のレコードを抽出する５０２。ＡＰＩ関数呼び出しの少なくとも１つの抽出されたレコードがコンピューティングデバイスのプロテクタによって記録可能か否かを判定する５０３。記録可能である場合、コンピューティングデバイスのプロテクタのためのウィルス対策レコードを作成する５０４。作成されたウィルス対策レコードはＡＰＩ関数呼び出しの抽出されたレコードを少なくとも含む。【選択図】図５
2019169121.tif 000002
【特許請求の範囲】
【請求項１】
ウィルス対策レコードを作成する方法であって、
対標的型攻撃プロテクタによって、ファイルのＡＰＩ関数呼び出しのログを解析して、１つ以上の挙動ルールを用いて悪意ある挙動の有無を調べることと、
前記対標的型攻撃プロテクタによって、前記ＡＰＩ関数呼び出しの前記ログのレコードに対応する挙動ルールが特定された場合に、前記ファイルは悪意あるものであると判定することと、
前記対標的型攻撃プロテクタによって、特定された前記挙動ルールと関連する前記ＡＰＩ関数呼び出しの１つ以上のレコードを抽出することと、
前記対標的型攻撃プロテクタによって、前記ＡＰＩ関数呼び出しの少なくとも１つの抽出された前記レコードがコンピューティングデバイスのプロテクタによって記録可能か否かを判定することと、
前記ＡＰＩ関数呼び出しの少なくとも１つの抽出された前記レコードが前記コンピューティングデバイスの前記プロテクタによって記録可能である場合、前記対標的型攻撃プロテクタによって、前記コンピューティングデバイスの前記プロテクタのためのウィルス対策レコードを作成することとを含み、
作成された前記ウィルス対策レコードは前記ＡＰＩ関数呼び出しの前記抽出されたレコードを少なくとも含むことを特徴とする、
方法。
【請求項２】
前記コンピューティングデバイスの前記プロテクタが前記ＡＰＩ関数呼び出しの少なくとも１つの抽出された前記レコードの記録をサポートしていない場合、前記ＡＰＩ関数呼び出しのサポートされていないレコードの記録に対するサポートを前記コンピューティングデバイスの前記プロテクタに追加することをさらに含むことを特徴とする、
請求項１に記載の方法。
【請求項３】
前記サポートを追加した後に、前記コンピューティングデバイスの前記プロテクタのための前記ウィルス対策レコードを作成することをさらに含み、前記作成されたレコードは前記ＡＰＩ関数呼び出しの前記抽出されたレコードから構成されることを特徴とする、
請求項２に記載の方法。
【請求項４】
前記コンピューティングデバイスの前記プロテクタが前記ＡＰＩ関数呼び出しの少なくとも１つの抽出された前記レコードの記録をサポートしていない場合、前記挙動ルールに含まれるＡＰＩ関数呼び出しのすべてのレコードの数に対する前記ＡＰＩ関数呼び出しのサポートされているレコードの割合が所定のしきい値より大きい場合に、前記コンピューティングデバイスの前記プロテクタのための前記ウィルス対策レコードを作成することをさらに含み、前記作成されたレコードは前記ＡＰＩ関数呼び出しの前記サポートされているレコードだけを含むことを特徴とする、
請求項１に記載の方法。
【請求項５】
前記対標的型攻撃プロテクタ上の前記ファイルの前記解析は、レピュテーションサービスを用いたチェック、ＹＡＲＡルールを用いたチェック、および専門的解析のうち少なくとも１つを含むことを特徴とする、
請求項１に記載の方法。
【請求項６】
前記対標的型攻撃プロテクタはサンドボックスを含み、前記ＡＰＩ関数呼び出しの前記ログには、前記サンドボックスの中で前記ファイルから起動された実行中のプロセスが収容されることを特徴とする、
請求項１に記載の方法。
【請求項７】
前記サンドボックスは、バーチャルマシン上での実現、ファイルシステムとレジスタの部分的仮想化に基づく実現、および前記ファイルシステムと前記レジスタへのアクセスルールに基づく実現のうち少なくとも１つとして実現されることを特徴とする、
請求項６に記載の方法。
【請求項８】
ウィルス対策レコードを作成するためのシステムであって、
ファイルのＡＰＩ関数呼び出しのログを解析して、１つ以上の挙動ルールを用いて悪意ある挙動の有無を調べ、
前記ＡＰＩ関数呼び出しの前記ログのレコードに対応する挙動ルールが特定された場合に、前記ファイルは悪意あるものであると判定し、
特定された前記挙動ルールと関連する前記ＡＰＩ関数呼び出しの１つ以上のレコードを抽出し、
前記ＡＰＩ関数呼び出しの少なくとも１つの抽出された前記レコードがコンピューティングデバイスのプロテクタによって記録可能か否かを判定し、かつ、
前記ＡＰＩ関数呼び出しの少なくとも１つの抽出された前記レコードが前記コンピューティングデバイスの前記プロテクタによって記録可能である場合、前記コンピューティングデバイスの前記プロテクタのためのウィルス対策レコードを作成する、少なくとも１つのプロセッサを備え、作成された前記ウィルス対策レコードは前記ＡＰＩ関数呼び出しの前記抽出されたレコードを少なくとも含むことを特徴とする、
システム。
【請求項９】
前記コンピューティングデバイスの前記プロテクタが前記ＡＰＩ関数呼び出しの少なくとも１つの抽出された前記レコードの記録をサポートしていない場合、前記ＡＰＩ関数呼び出しのサポートされていないレコードの記録に対するサポートを前記コンピューティングデバイスの前記プロテクタに追加することをさらに含むことを特徴とする、
請求項８に記載のシステム。
【請求項１０】
前記サポートを追加した後に、前記コンピューティングデバイスの前記プロテクタのための前記ウィルス対策レコードを作成することをさらに含み、前記作成されたレコードは前記ＡＰＩ関数呼び出しの前記抽出されたレコードから構成されることを特徴とする、
請求項９に記載のシステム。
【請求項１１】
前記コンピューティングデバイスの前記プロテクタが前記ＡＰＩ関数呼び出しの少なくとも１つの抽出された前記レコードの記録をサポートしていない場合、前記挙動ルールに含まれるＡＰＩ関数呼び出しのすべてのレコードの数に対する前記ＡＰＩ関数呼び出しのサポートされているレコードの割合が所定のしきい値より大きい場合に、前記コンピューティングデバイスの前記プロテクタのための前記ウィルス対策レコードを作成することをさらに含み、前記作成されたレコードは前記ＡＰＩ関数呼び出しの前記サポートされているレコードだけを含むことを特徴とする、
請求項８に記載のシステム。
【請求項１２】
対標的型攻撃プロテクタ上の前記ファイルの前記解析は、レピュテーションサービスを用いたチェック、ＹＡＲＡルールを用いたチェック、および専門的解析のうち少なくとも１つを含むことを特徴とする、
請求項８に記載のシステム。
【請求項１３】
対標的型攻撃プロテクタはサンドボックスを含み、前記ＡＰＩ関数呼び出しの前記ログには、前記サンドボックスの中で前記ファイルから起動された実行中のプロセスが収容されることを特徴とする、
請求項８に記載の方法。
【請求項１４】
前記サンドボックスは、バーチャルマシン上での実現、ファイルシステムとレジスタの部分的仮想化に基づく実現、および前記ファイルシステムと前記レジスタへのアクセスルールに基づく実現のうち少なくとも１つとして実現されることを特徴とする、
請求項１３に記載の方法。
【請求項１５】
ウィルス対策レコードを作成するためのコンピュータ実行可能な命令を記憶した非一過性のコンピュータ読み取り可能な媒体であって、
ファイルのＡＰＩ関数呼び出しのログを解析して、１つ以上の挙動ルールを用いて悪意ある挙動の有無を調べ、
前記ＡＰＩ関数呼び出しの前記ログのレコードに対応する挙動ルールが特定された場合に、前記ファイルは悪意あるものであると判定し、
特定された前記挙動ルールと関連する前記ＡＰＩ関数呼び出しの１つ以上のレコードを抽出し、
前記ＡＰＩ関数呼び出しの少なくとも１つの抽出された前記レコードがコンピューティングデバイスのプロテクタによって記録可能か否かを判定し、かつ、
前記ＡＰＩ関数呼び出しの少なくとも１つの抽出された前記レコードが前記コンピューティングデバイスの前記プロテクタによって記録可能である場合、前記コンピューティングデバイスの前記プロテクタのためのウィルス対策レコードを作成するための命令を含み、作成された前記ウィルス対策レコードは前記ＡＰＩ関数呼び出しの前記抽出されたレコードを少なくとも含むことを特徴とする、
非一過性のコンピュータ読み取り可能な媒体。
【請求項１６】
前記コンピューティングデバイスの前記プロテクタが前記ＡＰＩ関数呼び出しの少なくとも１つの抽出された前記レコードの記録をサポートしていない場合、前記ＡＰＩ関数呼び出しのサポートされていないレコードの記録に対するサポートを前記コンピューティングデバイスの前記プロテクタに追加するための命令をさらに含むことを特徴とする、
請求項１５に記載の非一過性のコンピュータ読み取り可能な媒体。
【請求項１７】
前記サポートを追加した後に、前記コンピューティングデバイスの前記プロテクタのための前記ウィルス対策レコードを作成するための命令をさらに含み、前記作成されたレコードは前記ＡＰＩ関数呼び出しの前記抽出されたレコードから構成されることを特徴とする、
請求項１６に記載の非一過性のコンピュータ読み取り可能な媒体。
【請求項１８】
前記コンピューティングデバイスの前記プロテクタが前記ＡＰＩ関数呼び出しの少なくとも１つの抽出された前記レコードの記録をサポートしていない場合、前記挙動ルールに含まれるＡＰＩ関数呼び出しのすべてのレコードの数に対する前記ＡＰＩ関数呼び出しのサポートされているレコードの割合が所定のしきい値より大きい場合に、前記コンピューティングデバイスの前記プロテクタのための前記ウィルス対策レコードを作成するための命令をさらに含み、前記作成されたレコードは前記ＡＰＩ関数呼び出しの前記サポートされているレコードだけを含むことを特徴とする、
請求項１５に記載の非一過性のコンピュータ読み取り可能な媒体。
【請求項１９】
対標的型攻撃プロテクタ上の前記ファイルの前記解析は、レピュテーションサービスを用いたチェック、ＹＡＲＡルールを用いたチェック、および専門的解析のうち少なくとも１つを含むことを特徴とする、
請求項１５に記載の非一過性のコンピュータ読み取り可能な媒体。
【請求項２０】
対標的型攻撃プロテクタはサンドボックスを含み、前記ＡＰＩ関数呼び出しの前記ログには、前記サンドボックスの中で前記ファイルから起動された実行中のプロセスが収容されることを特徴とする、
請求項１５に記載の非一過性のコンピュータ読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、コンピュータセキュリティ分野に関し、より具体的には、ウィルス対策レコードを作成するためのシステムおよび方法に関する。
【背景技術】
【０００２】
従来のシグネチャ解析は、悪意あるファイル、中でも、ポリモーフィック型ウィルスや難読化されたファイルやシェルコードの検出に対しては、効果が低い。
【０００３】
そのため、最新のウィルス対策アプリケーションは、悪意あるソフトウェアを検出するために、他の技術も利用している。例えば、いわゆる「サンドボックス」を用いたスキャンもある。サンドボックスとは、システムの他の部分から特別に隔離された環境のことである。リソースへのアクセスとリソースの使用をできるのは、サンドボックス内で実行されるプロセスに限定される。「サンドボックス」は、例えば、ファイルシステムおよびレジスタの部分的な仮想化に基づくか、ファイルシステムおよびレジスタに対するアクセスルールに基づくか、あるいはハイブリッド手法に基づいて、バーチャルマシン上に実現されることもある。スキャンされるファイルは「サンドボックス」内で実行される。ファイルが実行される過程で、ＡＰＩ関数呼び出しおよびシステムイベントに関するレコード（すなわち、情報）は（さらに、解析中や送受信中のデータや、ネットワーク接続なども）呼び出しログ（ＡＰＩ関数呼び出しのログ）に保存される。ウィルス対策アプリケーションは、さらに、得られた呼び出しログのレコードが満たす挙動ルール（例えば、悪意ある挙動の既知のパターン）を検索する。呼び出しログは、ファイルが実行中に実施したアプリケーションプログラミングインターフェース（Application  Programming  Interface：ＡＰＩ）関数呼び出しのレコードを保存するために用いられる。ＡＰＩ関数呼び出し、すなわち、プロシージャコール（プロシージャを呼び出すＣＡＬＬコマンド）は、プロシージャ（ＡＰＩ関数）コールを実行するための無条件制御移行として定義される。ＣＡＬＬコマンドによって、リターンアドレスがスタックに記憶され、ＡＰＩ関数の実行に移行する。呼び出されるＡＰＩ関数に関する情報には、ＡＰＩ関数に渡されるデータと、ＡＰＩ関数から返されるデータと、ＡＰＩ関数を呼び出すプロセスと、ＡＰＩ関数を提供するライブラリ／アプリケーション／カーネルと、ＡＰＩ関数のコードと、ＡＰＩ関数の呼び出し元アドレスと、ＡＰＩ関数が位置するアドレスと、リターンアドレス、などが含まれる。呼び出しログは、呼び出されたＡＰＩ関数からのリターンコマンド（例えば、プロシージャからのリターンをするＲＥＴコマンド）に関する情報も保存する。ＡＰＩ関数からのリターンコマンドが実行されると、リターンアドレスがスタックから取り出され、リターンアドレスへの制御の移行が行われる。一般に、サンドボックス内において、ファイルは、限られた時間内（数１０秒以内）に実行される。
【０００４】
ファイル中の悪意ある機能的要素を検出するためのもう１つの技術として、エミュレーションを用いるものがある。エミュレーションは、エミュレータ内でコードを実行する際にホストシステムを模擬することで実行される。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
最新のウィルス対策においては、上記の技術が併用される。一般的に、ファイルのシグネチャ解析が最初に実施される。シグネチャ解析中に悪意ある挙動が発見されなかった場合、次に、エミュレータ内または「サンドボックス」内でファイルが実行される（通常、「サンドボックス」内での実行は、ウィルス対策ソフトウェアの製造業者の計算能力の高さを考慮して、ウィルス対策ソフトウェアの製造業者サイドで実施される）。エミュレータ内またはサンドボックス内での実行中に、悪意ある機能的要素が発見されなかった場合、ファイルは、ユーザのコンピュータ上での実行用に転送される。しかし、悪意ある機能的要素がエミュレータ内またはサンドボックス内での実行中に発見されなかったという可能性がまだ残っている。さらに効果的な保護を提供するために、ユーザのコンピュータ上で、挙動アナライザ（事前型プロテクタ）の監視の下に、未知のファイルが実行される。「サンドボックス」やエミュレータと類似して、挙動アナライザは、ユーザのコンピュータ上でのファイルの実行の過程で、ＡＰＩ関数の呼び出しログを収集して解析する。上述の検出技術に関しては、呼び出しログと挙動ルールは、それらの動作原理の相違により、共通のレコードと個別のレコードを有していることがある。挙動アナライザは、インストールされたドライバ／インターセプタを用いて、悪意あるコードの実行中に実行されているＡＰＩ関数の呼び出し、および呼び出されたＡＰＩ関数からのリターンコマンドをインターセプトして、インターセプトされた呼び出しとリターンコマンドを呼び出しログに保存する。その後、挙動アナライザは、呼び出しログの中から挙動ルール（既知の悪意ある挙動のパターン）を検索して、（例えば、コンピュータウィルス、ネットワークワーム、トロイの木馬プログラム、もしくは条件によっては望ましくないソフトウェアなどの）判定を下す。挙動アナライザによる呼び出しログの解析の原理は、「サンドボックス」やエミュレータの動作と類似している。しかし、挙動アナライザには、ファイルの実行時間に関する制限はない。挙動アナライザは、その他の点において異なっている。例えば、挙動アナライザにおいては、ファイルは隔離された環境やエミュレータ内ではなくユーザのコンピュータ上で実行されるため、エミュレータや「サンドボックス」の検出および迂回手法は有効ではない。挙動アナライザがファイルを実行している間、ユーザのコンピュータはファイル本体を実行している可能性がある。したがって、悪意あるファイルが挙動アナライザによって検出されて無害化されるまでに、システムに害を及ぼす恐れがある。
【０００６】
さらに綿密な解析を実施するために、「サンドボックス」は、通常、より高い計算能力を有し、調査するファイルの実行時間のより長いサーバ上に位置している。ウィルス対策会社に届けられた未知の疑わしいファイルは「サンドボックス」内で解析される。解析によって、挙動ルールに対応する挙動が特定された場合、ファイルは悪意あるものであると判定される。その後、解析者は、ウィルス対策レコード、すなわち、ユーザのコンピュータ上でプロテクタ（例えば、アンチウィルスなどの、保護モジュール）によって悪意あるファイルを検出するための挙動ルールを作成してもよい。例えば、解析者は、シグネチャ解析のためのウィルス対策レコード、挙動アナライザのための挙動ルール、またはエミュレータのための挙動ルールを更新してもよい。しかし、解析者がバーチャルマシン上で悪意あるファイルを検出してから、ウィルス対策アプリケーションのためのウィルス対策レコード（すなわち、コンピューティングデバイスのプロテクタ）を作成するまでには、大幅な時間が経過する恐れがある。このように、解決すべき技術的課題は、バーチャルマシン（「サンドボックス」）の呼び出しログのレコードに対応する特定された挙動ルールに基づいて、コンピューティングデバイスのプロテクタのためのウィルス対策レコードをタイムリーに作成することである。
【課題を解決するための手段】
【０００７】
ウィルス対策レコードを作成するためのシステムおよび方法を以下に開示する。態様の一例においては、ウィルス対策レコードを作成するために提供されるシステムは、ファイルのＡＰＩ関数呼び出しのログを解析して、１つ以上の挙動ルールを用いて悪意ある挙動の有無を調べ、ＡＰＩ関数呼び出しのログのレコードに対応する挙動ルールが特定された場合に、ファイルは悪意あるものであると判定し、特定された挙動ルールと関連するＡＰＩ関数呼び出しの１つ以上のレコードを抽出し、ＡＰＩ関数呼び出しの少なくとも１つの抽出されたレコードがコンピューティングデバイスのプロテクタによって記録可能か否かを判定し、かつ、ＡＰＩ関数呼び出しの少なくとも１つの抽出されたレコードがコンピューティングデバイスのプロテクタによって記録可能である場合、コンピューティングデバイスのプロテクタのためのウィルス対策レコードを作成するように構成された対標的型攻撃プロテクタのハードウェアプロセッサを備え、作成されたウィルス対策レコードはＡＰＩ関数呼び出しの抽出されたレコードを少なくとも含む。
【０００８】
態様の一例においては、ハードウェアプロセッサを備えるコンピュータにおいて実現される方法は、ファイルのＡＰＩ関数呼び出しのログを解析して、１つ以上の挙動ルールを用いて悪意ある挙動の有無を調べることと、ＡＰＩ関数呼び出しのログのレコードに対応する挙動ルールが特定された場合に、ファイルは悪意あるものであると判定することと、特定された挙動ルールと関連するＡＰＩ関数呼び出しの１つ以上のレコードを抽出することと、ＡＰＩ関数呼び出しの少なくとも１つの抽出されたレコードがコンピューティングデバイスのプロテクタによって記録可能か否かを判定すること、および、ＡＰＩ関数呼び出しの少なくとも１つの抽出されたレコードがコンピューティングデバイスのプロテクタによって記録可能である場合、コンピューティングデバイスのプロテクタのためのウィルス対策レコードを作成することを含み、作成されたウィルス対策レコードはＡＰＩ関数呼び出しの抽出されたレコードを少なくとも含む。
【０００９】
態様の一例においては、方法は、コンピューティングデバイスのプロテクタがＡＰＩ関数呼び出しの少なくとも１つの抽出されたレコードの記録をサポートしていない場合、ＡＰＩ関数呼び出しのサポートされていないレコードの記録に対するサポートをコンピューティングデバイスのプロテクタに追加することをさらに含む。
【００１０】
態様の一例においては、方法は、サポートを追加した後に、コンピューティングデバイスのプロテクタのためのウィルス対策レコードを作成することをさらに含む。作成されたレコードはＡＰＩ関数呼び出しの抽出されたレコードから構成される。
【００１１】
態様の一例においては、方法は、コンピューティングデバイスのプロテクタがＡＰＩ関数呼び出しの少なくとも１つの抽出されたレコードの記録をサポートしていない場合、挙動ルールに含まれるＡＰＩ関数呼び出しのすべてのレコードの数に対するＡＰＩ関数呼び出しのサポートされているレコードの割合が所定のしきい値より大きい場合に、コンピューティングデバイスのプロテクタのためのウィルス対策レコードを作成することをさらに含む。作成されたレコードはＡＰＩ関数呼び出しのサポートされているレコードだけを含む。
【００１２】
態様の一例においては、対標的型攻撃プロテクタ上のファイルの解析は、レピュテーションサービスを用いたチェック、ＹＡＲＡルールを用いたチェック、および専門的解析のうち少なくとも１つを含む。
【００１３】
態様の一例においては、対標的型攻撃プロテクタはサンドボックスを含み、ＡＰＩ関数呼び出しのログには、サンドボックスの中でファイルから起動された実行中のプロセスが収容される。
【００１４】
態様の一例においては、サンドボックスは、バーチャルマシン上での実現、ファイルシステムとレジスタの部分的仮想化に基づく実現、およびファイルシステムとレジスタへのアクセスルールに基づく実現のうち少なくとも１つとして実現される。
【００１５】
上記の、本開示の態様例の簡単な概要は、本開示の教示の基本的な理解を提供するためのものである。概要は、すべての熟考された態様の広範な概説ではなく、すべての態様の鍵となる要素や重要な要素を特定したり、本開示の教示の任意またはすべての態様の範囲を規定することを意図するものではない。上述のことを達成するために、本開示の１つ以上の態様は、特許請求の範囲で説明され、かつ例示的に示される特徴を含んでいる。
【００１６】
上述のように、ウィルス対策レコードは、本開示の教示に従って作成され、コンピューティングデバイスの保護を有利に向上させる。
【００１７】
加えて、悪意あるファイルの特定可能数が増加する。例えば、バーチャルマシンの呼び出しログのレコードに対応する特定された挙動ルールに基づいて、コンピューティングデバイスの保護モジュールのためのウィルス対策レコードを作成することによって、悪意あるファイルの特定可能数が増加する。
【００１８】
さらに他の利点として、ウィルス対策レコードを作成するための時間が、他の手法に伴う時間と比べて短縮される。例えば、バーチャルマシンの呼び出しログのレコードに対応する特定された挙動ルールに基づいて、プロテクタのためのウィルス対策レコードを作成することによって、ウィルス対策レコードの作成に要する時間が有利に短縮される。
【図面の簡単な説明】
【００１９】
本明細書に組み込まれ、その一部を構成する添付図面は、本開示の１つ以上の態様例を図示し、それらの原理および実施例を説明するために、詳細説明と共に供される。
【００２０】
【図１】図１は、本開示の教示に従ったウィルス対策レコードの作成に使用される情報システムを示す。
【００２１】
【図２】図２は、「サンドボックス」の一例を示すブロック図である。
【００２２】
【図３】図３は、コンピューティングデバイスのプロテクタのブロック図の一例を示す。
【００２３】
【図４】図４は、標的型攻撃からの保護のためのプロテクタのブロック図の一例を示す。
【００２４】
【図５】図５は、本開示の教示に従ったウィルス対策レコードの作成方法に対するフローチャートを示す。
【００２５】
【図６】図６は、本開示の複数の態様を実現可能な汎用コンピュータシステムの一例を示す。
【発明を実施するための形態】
【００２６】
ウィルス対策レコードの作成のためのシステム、方法、および、コンピュータプログラム製品に関する態様例について以下に説明する。以下の説明は、単に例示の目的のためであって、いかなる制限を加えることも意図されていないことは、当業者には理解されるであろう。その他の態様は、本開示から利益を得る当業者には、容易に想起できるであろう。添付図面に示すように、態様例の実施態様が詳細に参照される。同一あるいは類似する項目には、図面および以下の説明を通して、可能な範囲で、同一の参照符号を用いる  
【００２７】
用語解説
明確化のために、最初に、本開示の１つ以上の態様例の説明に用いられる用語を以下に提示する。
【００２８】
侵害指標（Indicator  Of  Compromise：ＩＯＣ、また、頻度はそれより低いが、感染指標（indicator  of  infection）とも呼ばれる）とは、コンピュータ上またはネットワーク上で観察できる情報システムへの侵入の痕跡（アーティファクト）、すなわち、残留痕跡である。代表的な侵害指標として、ウィルス対策レコード、ＩＰアドレス、ファイルのチェックサム、ＵＲＬアドレス、ボットネットのコマンドセンターのドメイン名などがある。侵害指標に関しては、特に、以下のようないくつかの基準が存在する。
・OpenIOC（http://blogs.rsa.com/understanding-indicators-of-compromise-ioc-part-i/,  http://openioc.org/）、
・STIX（https://stix.mitre.org/）、
・CybOX（https://cybox.mitre.org）など。
【００２９】
コンピュータ攻撃（サイバー攻撃とも呼ばれる）とは、情報システムや情報通信ネットワークの情報のセキュリティを侵害するために行われる、それらのシステムやネットワークに対するソフトウェアおよびハードウェアによる標的型行為である。
【００３０】
標的型攻撃（Targeted  Attack：ＴＡ）とは、特定の組織や特定の個人に向けられたコンピュータ攻撃の特定のケースである。
【００３１】
ファジーハッシュ、すなわち、フレキシブルフィンガープリント（局所性鋭敏型ハッシュ）とは、ファイルの作成時からの変化に対して安定なファイルフィンガープリントである。すなわち、悪意あるファイルを検出すると、そのファイルのフィンガープリント値を用いて、多くの類似した（未知であるかもしれない）悪意あるファイルも検出されるであろう。そのようなフィンガープリントの主な特徴は、ファイルのわずかな変化に対して不変であるということである（例えば、特許番号ＵＳ８９５５１２０参照）。
【００３２】
ファジー判定とは、ファイルの実行中に疑わしい動作を検出した際の、プロテクタ（ウィルス対策アプリケーション）の応答であり、例えば、そのファイルが悪意あるファイルの特徴を有していることを示す判定である。ファジー判定は、例えば、フレキシブルフィンガープリントによるファイル検出をきっかけとして、実行される。ファジー判定は、検出されたファイルが悪意あるものであることを示し、判定に対するある程度の確率も与える。
【００３３】
本開示の教示の説明に戻って、図１は、本開示の教示に従ったウィルス対策レコードの作成に使用される情報システムを示す。情報システム１００は、コンピュータネットワーク１０９と通信可能に接続された少なくとも１台のコンピューティングデバイス１０１（略して、コンピュータとも呼ばれる）を含む。コンピューティングデバイス１０１は、例えば、パーソナルコンピュータ、ノートパソコン、スマートフォン、ネットワーク機器（例えば、ルータ、スイッチ、ハブ）などの標準的なコンピューティングデバイスを備えている。ここで注意すべきことは、コンピューティングデバイス１０１は物理的装置、または物理的装置上で動作するバーチャルマシンのようなソフトウェアのいずれであってもよいということである。情報システム１００は、例えば、フルコネクト型、バス型、星型、リング型、セル型、および混合型ネットワークトポロジーのうち１つなどの、従来技術で公知の任意のネットワークトポロジー１０９を用いて構成してもよい。
【００３４】
コンピューティングデバイスのプロテクタ１０２（保護モジュール）をコンピューティングデバイス１０１上に設置してもよい。ここで注意すべきことは、情報システム１００が２台以上のコンピューティングデバイス１０１を含む場合、何台かのコンピューティングデバイス１０１には、プロテクタ１０２を設置しないこともあるということである。
【００３５】
情報システム１００は、さらに、対標的型攻撃プロテクタ１０３を含んでおり、それは、例えば、別体のサーバ上に位置してもよい。別体のサーバは、コンピュータネットワーク１０９を介して、少なくとも１台のコンピューティングデバイス１０１と接続されてもよい。コンピューティングデバイス１０１をネットワーク１０９を介してインターネットおよび検出装置１１０に接続するために、プロキシサーバ（図示せず）を使用してもよい。対標的型攻撃プロテクタ１０３は、さらに詳細に後述するような、脅威データベース１０５、呼び出しログ１０４、およびバーチャルマシン１０６を含んでもよい。
【００３６】
システムは、さらに、コンピューティングデバイス１０１上で動作するプロテクタ１０２を備えた少なくとも１台のコンピューティングデバイス１０１を含んでもよい（一例として、図１は、それぞれのコンピューティングデバイス１０１上で動作する２つのプロテクタ１０２を示す）。
【００３７】
プロテクタ１０２はコンピューティングデバイス１０１の呼び出しログ１０７と脅威データベース１０８を含んでもよい。プロテクタ１０２の、エミュレータや挙動アナライザなどのようなモジュール（より詳細には図３参照）は、調査されるファイルの実行中のＡＰＩ関数呼び出しに関するレコード（例えば、関数名、渡されたパラメータ、関数呼び出し時刻）を呼び出しログ１０７に記録してもよい。
【００３８】
態様の一例においては、ＡＰＩ関数呼び出しに関する呼び出しログ１０７の各レコードは以下の情報を含む。
・呼び出された関数の識別子（例えば、名前）、
・調査されるファイルから起動されたプロセスの一意的識別子（プロセス識別子（Process  IDentifier：ＰＩＤ））、
・プロセスのアドレス空間の命令を実行するスレッドの一意的識別子（スレッド識別子（Thread  IDentifier：ＴＩＤ））、
・上記関数の１組の引数、および、
・関数呼び出し時刻。
【００３９】
プロテクタ１０２のためのウィルス対策レコードは、例えば、オンアクセススキャナ、挙動アナライザのための挙動ルール、またはエミュレータの挙動ルールのウィルス対策レコードのような、対応するプロテクタ１０２のためのシグネチャやルールとして定義してもよい。シグネチャの場合、ウィルス対策レコードは、例えば、ファイルコードのセグメントのハッシュサムや、ファイルコードの異なるセグメントからの１組のハッシュサムとそれらのハッシュサムの選択ルール（例えば、シグネチャに含まれる３つのハッシュサムのうち２つがヒットした場合、シグネチャ全体がヒットしたと考えられる）などを構成してもよい。挙動アナライザとエミュレータのための挙動ルールの例を以下に示す。
【００４０】
検出装置１１０（検出モジュール）を、コンピュータネットワーク１０９を介してプロテクタ１０２および１０３と接続され、ファイルのさらに詳細な解析の実行に用いるリモートサーバ上に据え付けてもよい。
【００４１】
図２は、「サンドボックス」の一例を示すブロック図である。「サンドボックス」は、プロセスの安全な実行のためのコンピュータ環境を構成する。本開示の態様の一例においては、「サンドボックス」は、ファイルシステムとレジスタの部分的仮想化に基づくか、ファイルシステムとレジスタへのアクセスルールに基づくか、あるいはハイブリッド手法に基づいて、バーチャルマシンの形で実現されてもよい。図２は、オペレーティングシステム（Operating  System：ＯＳ）１３１を搭載したバーチャルマシン１０６の形で実現された「サンドボックス」の一例を示す。バーチャルマシン１０６は、対標的型攻撃プロテクタ１０３の制御下でファイル１３３を実行するように設計される。ここで注意すべきことは、ファイル１３３は任意のデータ形式を持つファイルであってよく、任意のデータを含んでもよいということである。
【００４２】
ファイル１３３の実行中、バーチャルマシン１０６に含まれるロギングコンポーネント１３２がＡＰＩ関数呼び出しをインターセプトし、ＡＰＩ関数呼び出しに関するレコードを次々と入力する。レコードは、同じくバーチャルマシン１０６上に位置する呼び出しログ１３４に入力される。バーチャルマシンの呼び出しログ１３４は、少なくとも、バーチャルマシン上でのファイルの実行中に記録されたＡＰＩ関数呼び出しに関するレコードを含んでいる。
【００４３】
ＡＰＩ関数呼び出し、すなわち、プロシージャコール（プロシージャを呼び出すＣＡＬＬコマンド）は、プロシージャ（ＡＰＩ関数）コールを実行する無条件制御移行として定義される。ＣＡＬＬコマンドによって、リターンアドレスがスタックに記憶され、ＡＰＩ関数の実行に移行する。呼び出されるＡＰＩ関数に関する情報には、ＡＰＩ関数に渡されるデータと、ＡＰＩ関数から返されるデータと、ＡＰＩ関数を呼び出すプロセスと、ＡＰＩ関数を提供するライブラリ／アプリケーション／カーネルと、ＡＰＩ関数のコードと、ＡＰＩ関数の呼び出し元アドレスと、ＡＰＩ関数が位置するアドレスと、リターンアドレス、などが含まれる。呼び出しログは、呼び出されたＡＰＩ関数からのリターンコマンド（プロシージャからのリターンをするＲＥＴコマンド）に関する情報も保存し、呼び出されたＡＰＩ関数からのリターンコマンドが実行されると、リターンアドレスがスタックから取り出され、リターンアドレスへの制御の移行が行われる。サンドボックス内において、ファイルは、通常、限られた時間内（数１０秒以内）に実行される。
【００４４】
態様の一例においては、ＡＰＩ関数呼び出しに関する呼び出しログ１３４（および、したがって、呼び出しログ１０４）の各レコードは以下の情報を含む。
・呼び出された関数の識別子（例えば、名前）、
・調査されるファイル１３３から起動されたプロセスの一意的識別子（ＰＩＤ）、
・プロセスのアドレス空間の命令を実行するスレッドの一意的識別子（ＴＩＤ）、および、
・上記関数の１組の引数。
【００４５】
態様のさらに他の例においては、バーチャルマシン１０６上でファイル１３３が実行される間、以下の情報が追加記録される。
・ＡＰＩ関数からリターンアドレスに制御を移行するためのコマンド、
・ウィンドウズ（登録商標）ＮＴネイティブＡＰＩ関数の直接呼び出し、
・ウィンドウズ（登録商標）ＮＴネイティブＡＰＩ関数からリターンするためのコマンド、
・コンピュータシステムの状態の変更方法、特に、コンピュータシステムのシャットダウンまたは再起動のイベント、
・オペレーティングシステム内のイベント、
・侵害指標、
・システムコール、
・プロテクタの判定、
・ファイルのチェックサムまたはファイルの一部のチェックサム、
・ファイルの供給元、
・ファイル実行のエミュレーション結果、
・コンピューティングデバイス上にファイルが出現した時刻、
・ファイルがネットワークを介して入手したデータ、
・ファイルがネットワークを介して送信したデータ、
・コンピュータ上のＤＮＳハイジャック、
・オペレーティングシステムの自動更新の停止、
・ファイアウォールの停止、
・プロテクタの停止、
・「ユーザアカウント制御」コンポーネントの停止、
・オペレーティングシステムの「システム復元」コンポーネントの停止、
・ファイルマネージャにおける「隠しファイル、フォルダ、ディスクの表示」オプションの停止、
・ファイアウォールのルールの変更、
・ｈｏｓｔｓファイルの変更、および、
・ファイルの自己削除。
【００４６】
挙動ルールとウィルス対策レコードは、さらに上記情報を含む。
【００４７】
以下の出口条件のうち１つが発生した場合、バーチャルマシン１３０上のファイル１３３の実行は完了する。
・プロセスが完了した。
・指定された期間が経過した。
・これまでにステップが所定回数（例えば、３回）実行された。
・プロセスが実行した命令数が、命令数の所定しきい値（例えば、１０００００命令）を超過する。
【００４８】
出口条件が満たされた場合、すなわち、バーチャルマシン１０６上のファイル１３３の実行が完了した場合、プロテクタ１０３は、バーチャルマシンに収容されている呼び出しログ１３４のレコードを保存し、レコードは、プロテクタ１０３が動作しているオペレーティングシステム内に収容されている呼び出しログ１０４に保存される。
【００４９】
態様のさらに他の例においては、ロギングコンポーネント１３２は、ネットワーク、レジスタ、ファイルシステム、ＲＡＭ、プロセス、およびスレッドとの協調動作を担うシステムコールに関する情報を含むレコードをインターセプトして、呼び出しログ１３４に入力する。
【００５０】
ここで注意すべきことは、ロギングコンポーネント１３２がＡＰＩ関数をインターセプトするときは、ロギングコンポーネント１３２は呼び出しスタックおよびプロセッサ上で実行中の命令にアクセスできるということである。態様の他の例においては、ロギングコンポーネント１３２は、例外およびプロセッサ上で実行中の命令に関するレコードを、呼び出しログ１３４に保存する。
【００５１】
態様のさらに他の例においては、ロギングコンポーネント１３２は、以下の例外を特定するように設計される。
・ＣＡＬＬ命令実行時のアクセス権違反、
・メモリへの書き込み時のアクセス権違反、
・コマンドカウンタのアドレスにあるメモリから、あるいはコマンドカウンタのアドレスと所定精度内で一致するアドレスにあるメモリからの読み込み時のアクセス権違反、
・データ実行防止ポリシー違反、
・スタック上のバッファオーバフロー
・動的メモリ破壊（ヒープ破壊）、および、
・禁止されている命令、誤った命令、あるいは特権命令の実行の試行。
【００５２】
例えば、ＡＰＩ関数  KiUserExceptionDispatcher  の呼び出しをインターセプトした後、レジスタ、システム構造体、および呼び出しスタックを解析した際に、ロギングコンポーネント１３２は「メモリへの書き込み時のアクセス権違反」例外を特定するかもしれない。
【００５３】
プロテクタ１０３は、脅威データベース１０５に収容されている挙動ルールの中から、呼び出しログ１０４のレコードに対応する挙動ルールを特定するように設計される。挙動ルールは、少なくとも１つのＡＰＩ関数の呼び出しに関する情報、および挙動ルールが呼び出された場合の判定（例えば、コンピュータウィルス、インターネットワーム、トロイの木馬プログラム、または条件によっては望ましくないソフトウェア）を含む。態様の一例においては、挙動ルールは、１組のＡＰＩ関数呼び出しと、その１組のＡＰＩ関数呼び出しに関する論理式から構成される。例えば、あるＡＰＩ関数が、あるパラメータ付きで、挙動ルールによって指定されたように呼ばれた場合、プロテクタ１０３は呼び出しログ１０４の中から挙動ルールを発見する可能性がある。態様の他の例においては、挙動ルールは、その同じ挙動ルールの他のレコードに対して付された条件をさらに含んでもよい。そのような条件は、例えば、ウィルス対策レコードのレコード数のチェック、ウィルス対策レコードのレコード順序のチェックなどであってもよい。
【００５４】
このように、バーチャルマシン上やエミュレータ上で実行されたときの挙動アナライザおよび「サンドボックス」の両方において、挙動ルールが用いられる。挙動ルールの相違は、ＡＰＩ関数呼び出しに関する情報とＡＰＩ関数呼び出しに対して付された条件に伴うものであってもよい。例えば、挙動アナライザは、バーチャルマシンやエミュレータが記録することのできるＡＰＩ関数呼び出しのリストに対して、全面的または部分的に相違する可能性のあるリスト中にあるＡＰＩ関数呼び出しに関するレコードを記録してもよい。一方、態様の他の例においては、挙動アナライザ、バーチャルマシン、およびエミュレータにおける上述のＡＰＩ関数呼び出しのリストは一致していてもよい。
【００５５】
図３は、コンピューティングデバイスのプロテクタのブロック図の一例を示す。コンピューティングデバイスのプロテクタ１０２は、コンピューティングデバイス１０１の情報セキュリティを確保するように設計された、以下の複数のモジュール（特定モジュール）を含んでもよい。すなわち、オンアクセススキャナ、オンデマンドスキャナ、Ｅメールアンチウィルス、ウェブアンチウィルス、挙動アナライザ（事前保護モジュール）、ホスト侵入防止システム（Host  Intrusion  Prevention  System：ＨＩＰＳ）モジュール、データ漏洩防止（Data  Loss  Prevention：ＤＬＰ）モジュール、脆弱性スキャナ、エミュレータ、ファイアウォールなどを含んでもよい。本開示の態様の一例においては、上記の特定モジュールはプロテクタ１０２に組み込まれた部分であってもよい。態様のさらに他の例においては、上記の特定モジュールは個別のプログラム部品の形で実現されてもよい。
【００５６】
オンアクセススキャナは、ユーザのコンピュータシステム上で開かれたり、起動されたり、保存されたりするすべてのファイルの悪意ある動作を検出するプログラムを収容している。オンデマンドスキャナは、ユーザが指定した、すなわち、ユーザの要求に応じたファイルやディレクトリをスキャンするという点で、オンアクセススキャナとは異なっている。
【００５７】
Ｅメールアンチウィルスは、送受信されるＥメールが悪意あるファイルを含んでいるどうかをチェックするために用いられる。ウェブアンチウィルスは、ユーザがアクセスしたウェブサイト上に含まれる恐れのある悪意あるコードの実行を防止し、また、ウェブサイトが開かれることを阻止する機能を果たす。ＨＩＰＳモジュールは、プログラムの望ましくない動作や悪意ある動作を検出し、実行時にそのような動作を阻止する機能を果たす。ＤＬＰモジュールは、コンピュータやネットワークからの機密データの漏洩を検出および防止する機能を果たす。脆弱性スキャナは、コンピューティングデバイス１０１の脆弱性（例えば、プロテクタ１０２の特定の構成要素の停止、ウィルスデータベースの陳腐化、ネットワークポートの閉鎖など）を検出するために必要とされる。ファイアウォールは、指定されたルールに従ったネットワークトラフィックのチェックとフィルタリングを提供する。エミュレータは、エミュレータ内でのコードの実行中にホストシステムを模擬する役割を担う。挙動アナライザは、挙動ルールを用いて、実行中のファイルの挙動を検出し、ファイルを信頼度によって分類する。ファイルの実行の過程で、挙動アナライザは、呼び出しログ１０７の中から、少なくとも、脅威データベース１０８から得た挙動ルールに対応するＡＰＩ関数呼び出しに関する記録されたレコードを検索する。態様の特定の一例においては、呼び出しログ１０７と脅威データベース１０８はコンピューティングデバイス１０１上に位置する。
【００５８】
挙動ルールは、少なくとも１つのＡＰＩ関数の呼び出しに関するレコード、およびそのルールが呼び出された場合の判定（例えば、コンピュータウィルス、インターネットワーム、トロイの木馬プログラム、または条件によっては望ましくないソフトウェア）を含む。態様の他の例においては、挙動ルールは、１組のＡＰＩ関数呼び出しと、その１組のＡＰＩ関数呼び出しに関する論理式から構成される。例えば、あるＡＰＩ関数が、あるパラメータ付きで、挙動ルールによって指定されたように呼ばれた場合、プロテクタ１０２は呼び出しログ１０７の中から挙動ルールを発見する可能性がある。
【００５９】
また、挙動ルールは、そのルールが呼び出されたときに下された判定に対応する。すなわち、悪意あるかもしくは望ましくないソフトウェアのカテゴリーのうち、最も可能性の高いカテゴリーが、その挙動ルールに対応する。例えば、判定結果は、コンピュータウィルス、インターネットワーム、トロイの木馬プログラム、または条件によっては望ましくないソフトウェアである可能性がある。
【００６０】
態様の他の例においては、（挙動アナライザ、エミュレータ、および「サンドボックス」の）挙動ルールは、以下のうち少なくとも１つを含む。
・疑わしいＡＰＩ関数のリスト中にあるＡＰＩ関数の呼び出し（例えば、リストは、ＡＰＩ関数、WinExec,  CreateProcess,  GetFileSize,  CreateFileを含んでもよい）、
・ＡＰＩ関数GetFileSizeの１０回にわたる呼び出し、
・ＡＰＩ関数WriteFile（ファイルへの書き込み）の呼び出しに続く、ＡＰＩ関数WinExec（実行用ファイルの起動）の呼び出し、
・コンピュータ上のＤＮＳハイジャック、
・オペレーティングシステムの自動更新の停止、
・ファイアウォールの停止、
・プロテクタの停止、および、
・ユーザアカウント制御（User  Account  Control：ＵＡＣ（ウィンドウズ（登録商標）ＯＳの構成要素））の停止。
【００６１】
悪意あるソフトウェア（疑わしい動作、スパム、およびその他のコンピュータ脅威の徴候）を検出すると、図３に示すモジュールは、それに対応して、検出された脅威、および脅威を取り除くための処置（例えば、ファイルの除去または修正、実行の禁止など）を講じる必要性をプロテクタに伝える通知を作成する（その後、プロテクタ１０２の判定に変換してもよい）。態様の他の例においては、プロテクタ自身が悪意あるソフトウェアを検出した後、脅威を取り除く処置を講じてもよい。態様のさらに他の例においては、判定は（判定によって、誤警報が生じる恐れがあるため）ファジーまたは試験的判定でもよく、その場合、プロテクタは脅威を取り除くための処置を講じることなく、通知をリモートサーバ（図示せず）に回す。態様の他の例においては、悪意あるソフトウェアは以下のカテゴリー（判定はカテゴリーに対応する）を含む。すなわち、悪意あるソフトウェア、および、条件によっては望ましくないソフトウェアを含む。悪意あるソフトウェアは以下のサブカテゴリーを含んでもよい。すなわち、ウィルス、ワーム、トロイの木馬プログラム、パッカー、および悪意あるユーティリティを含んでもよい。条件によっては望ましくないソフトウェアは広告ソフトウェア（アドウェア）、性的なコンテンツを含むソフトウェア（ポルノウェア）、使用するとコンピュータに害を及ぼす可能性のある合法的ソフトウェア（リスクウェア）、その他である。
【００６２】
図４は、標的型攻撃からの保護のためのプロテクタである「対標的型攻撃プロテクタ」のブロック図の一例を示す。サーバ上に据え付けられた対標的型攻撃プロテクタ１０３は、例えば、以下のモジュールを含んでもよい。すなわち、「サンドボックス」、侵入検知システム（Intrusion  Detection  System：ＩＤＳ）、レピュテーションサービス、ＹＡＲＡルールによるチェックをするモジュール、ウィルス対策モジュール、リスクスコアリングモジュール、アナライザ、ＤＬＰモジュール、およびその他の検出装置を含んでもよい。
【００６３】
「サンドボックス」モジュールは、上述の、コンピューティングデバイスのプロテクタ１０２のエミュレータと類似の機能を有するが、「サンドボックス」の方がより高い計算能力を用いることができ、より長時間動作できるという点で相違している。対標的型攻撃プロテクタ１０３には時間的制限はない。それに対して、コンピューティングデバイスのプロテクタ１０２には本質的に時間的制限がある。
【００６４】
「サンドボックス」はプロセスの安全な実行のためのコンピュータ環境であり、ファイルから起動されたプロセスの実行中における疑わしい動作を判定する機能を果たす。
【００６５】
「サンドボックス」は、例えば、ファイルシステムとレジスタの部分的仮想化に基づくか、ファイルシステムとレジスタへのアクセスルールに基づくか、あるいはハイブリッド手法に基づいて、バーチャルマシンの形で実現されてもよい（図２に示す態様例参照）。
【００６６】
侵入検出システムは、コンピューティングデバイス１０１またはネットワーク１０９に対する不正アクセスや、コンピューティングデバイス１０１またはネットワーク１０９に対する不正制御を特定するモジュールである。
【００６７】
レピュテーションサービスは、コンピューティングデバイス１０１上のファイルの人気度に関する情報（ファイルを保持するコンピューティングデバイス１０１の数、ファイルの起動回数など）を収容してもよい。
【００６８】
ＹＡＲＡルールによるチェックをするモジュールは、オープンシグネチャフォーマットのＹＡＲＡシグネチャをチェックする機能を果たす（http://yararules.com/参照）。
【００６９】
ＤＬＰモジュールは、機密データのコンピュータまたはネットワークからの漏洩を検出および防止する機能を果たす。
【００７０】
サーバ上に位置する対標的型攻撃プロテクタ１０３は、調査するファイル１３３をバーチャルマシン１０６上で実行するためにロギングコンポーネント１３２に送信する。ロギングコンポーネント１３２は、ファイル１３３を実行している期間中、少なくともＡＰＩ関数呼び出しに関するレコード（例えば、関数の名前、渡されたパラメータ、関数呼び出しの時刻）を呼び出しログ１３４に記録する。このように、バーチャルマシンの呼び出しログ１３４は、少なくともファイル１３３がバーチャルマシン１０６上で実行される間に記録されたＡＰＩ関数呼び出しに関するレコードを収容することになる。上述したように、バーチャルマシン１０６上のファイル１３３の実行が完了した後、プロテクタ１０３は、バーチャルマシンに収容されている呼び出しログ１３４のレコードを呼び出しログ１０４に保存する。
【００７１】
呼び出しログ１０４のレコードに対応する挙動ルールが脅威データベース１０５から特定された場合、すなわち、悪意あるファイルがバーチャルマシンによって検出された場合、本発明の動作が開始される。
【００７２】
挙動アナライザのための挙動ルールと同様に、バーチャルマシンのための挙動ルールも、少なくとも１つのＡＰＩ関数の呼び出しに関する情報、およびそのルールが呼び出された場合の判定（例えば、コンピュータウィルス、インターネットワーム、トロイの木馬プログラム、または条件によっては望ましくないソフトウェア）を含む。態様の一例においては、挙動ルールは、特に、１組のＡＰＩ関数呼び出しと、その１組のＡＰＩ関数呼び出しに関する論理式から構成される。例えば、あるＡＰＩ関数が、あるパラメータ付きで、挙動ルールによって指定されたように呼ばれた場合、プロテクタ１０３は呼び出しログ１０４の中からその挙動ルールを発見するであろう。
【００７３】
挙動ルールは、そのルールが呼び出されたときに下された判定にも対応する。すなわち、悪意あるかもしくは望ましくないソフトウェアのカテゴリーのうち、最も可能性の高いカテゴリーが、そのルールに対応する。判定結果は、例えば、コンピュータウィルス、インターネットワーム、トロイの木馬プログラム、または条件によっては望ましくないソフトウェアである可能性がある。
【００７４】
態様の一例においては、挙動ルールは以下のものを含む。
・疑わしいＡＰＩ関数のリスト中にあるＡＰＩ関数の呼び出し（例えば、リストは、ＡＰＩ関数、WinExec,  CreateProcess,  GetFileSize,  CreateFileを含んでもよい）、
・ＡＰＩ関数GetFileSizeの１０回にわたる呼び出し、
・ＡＰＩ関数WriteFile（ファイルへの書き込み）の呼び出しに続く、ＡＰＩ関数WinExec（実行用ファイルの起動）の呼び出し、
・コンピュータ上のＤＮＳハイジャック、
・オペレーティングシステムの自動更新の停止、
・ファイアウォールの停止、
・プロテクタの停止、および、
・ＵＡＣ（ウィンドウズ（登録商標）ＯＳの構成要素）の停止。
【００７５】
図５は、本開示の教示に従ったウィルス対策レコードの作成方法に対するフローチャートを示す。本開示の１つの態様によれば、ステップ５０１において、ファイルのＡＰＩ関数呼び出しのログを解析して、１つ以上の挙動ルールを用いて悪意ある挙動の有無を調べ、ＡＰＩ関数呼び出しのログのレコードに対応する挙動ルールが特定された場合、ファイルは悪意あるものであると判定することによって、本方法はファイルが悪意あるものであると判定する。例えば、ＡＰＩ関数呼び出しのレコードに対応する挙動ルールが特定された場合、図２に示すようなファイル１３３は悪意あるものであると判定される。例として、ファイルのＡＰＩ関数呼び出しのログが調査され、少なくとも１つの悪意ある挙動（すなわち、１つ以上の挙動ルールのうち少なくとも１つ）があるか否かが判定される。ステップ５０２において、本方法は、特定された挙動ルールと関連するＡＰＩ関数呼び出しの１つ以上のレコードを抽出する。本方法はステップ５０３に進む。ステップ５０３において、本方法は、ＡＰＩ関数呼び出しの少なくとも１つの抽出されたレコードがコンピューティングデバイスのプロテクタによって記録されたか否かを判定する。判定は、対標的型攻撃プロテクタを使用して行われる。ＡＰＩ関数呼び出しの少なくとも１つの抽出されたレコードがコンピューティングデバイスのプロテクタによって記録された場合、本方法はステップ５０４に進む。そうでない場合、本方法は任意選択されたステップ５０５に進む。ＡＰＩ関数呼び出しの少なくとも１つの抽出されたレコードを記録できる場合、ステップ５０４において、本方法は、コンピューティングデバイスのプロテクタ１０２のためのウィルス対策レコードを作成する。作成されたウィルス対策レコードは、ＡＰＩ関数呼び出しの抽出されたレコードを少なくとも含んでいる。１つの態様においては、作成されたウィルス対策レコードは、ＡＰＩ関数呼び出しに関する抽出されたレコードを少なくとも含んでいる。ステップ５０５において、本方法は、サポートされていないレコードの記録に対するサポートを追加した後にウィルス対策レコードを作成するか、または挙動ルールに含まれるＡＰＩ関数呼び出しのすべてのレコードの数に対するサポートされているレコードの割合が所定のしきい値より大きい場合に、ウィルス対策レコードを作成する。
【００７６】
このように、プロテクタ１０２のためのウィルス対策レコードを作成することによって、上述の技術的課題が解決される。すなわち、対応するウィルス対策レコードが存在しないためにこれまで検出できなかった悪意あるファイルの検出が、作成されたプロテクタ１０２のためのウィルス対策レコードによって可能になるため、悪意あるファイルの検出の質が向上する。プロテクタ１０２のためのウィルス対策レコードを作成するための時間も、既知の方法の実施に伴う時間と比べて短縮されるであろう。
【００７７】
１つの態様においては、リモートサーバに据え付けられた検出装置１１０のために、挙動ルールが作成される。他の態様においては、コンピューティングデバイス１０１上に具体化されたプロテクタ１０２のために、ウィルス対策レコードが作成される。さらに他の態様においては、ウィルス対策レコードは、対応するプロテクタ１０２のための１つ以上のシグネチャや１つ以上のルールを参照する。さらに他の態様においては、ウィルス対策レコードは、オンアクセススキャナ、挙動アナライザのための挙動ルール、またはエミュレータのための挙動ルールの、レコードを含んでもよい。
【００７８】
１つの態様においては、対標的型攻撃プロテクタ上のファイルの解析は、レピュテーションサービスを用いたチェック、ＹＡＲＡルールを用いたチェック、および専門的解析のうち少なくとも１つを含む。専門的解析は、コンピュータセキュリティ分野の専門家によるファイルの手動解析であってもよい。
【００７９】
他の態様においては、（コンピューティングデバイス１０１上に搭載された）プロテクタ１０２がＡＰＩ関数呼び出しに関する少なくとも１つの抽出されたレコードの記録をサポートしていない場合、ＡＰＩ関数呼び出しに関するサポートされていないレコードを記録するためのサポートがプロテクタ１０２に追加される。サポートが追加された後に、ＡＰＩ関数呼び出しに関する抽出されたレコードで構成されたウィルス対策レコードがプロテクタ１０２のために作成される。例えば、バーチャルマシン１０６において、ロギングコンポーネント１３２は、ＡＰＩ関数GetFileSizeの呼び出しに関するレコードの記録をサポートしているかもしれないが、コンピューティングデバイス１０１上のプロテクタ１０２の挙動アナライザは、その関数呼び出しの記録をサポートしていない可能性がある。しかし、挙動ルールは上記ＡＰＩ関数呼び出しのレコードを含んでいる（例えば、挙動ルールは「ＡＰＩ関数GetFileSizeの呼び出しが１０回実行された」というものである）。したがって、ＡＰＩ関数GetFileSizeの呼び出しに関するレコードを記録するためのサポートがプロテクタ１０２に追加される。その後、ＡＰＩ関数呼び出しに関する抽出されたレコードから構成されるウィルス対策レコード（所与の例においては、挙動アナライザのための挙動ルール）がプロテクタ１０２のために作成される。
【００８０】
態様のさらに他の例においては、（コンピューティングデバイス１０１上に搭載された）プロテクタ１０２がＡＰＩ関数呼び出しに関する少なくとも１つの抽出されたレコードの記録をサポートしていない場合、ＡＰＩ関数呼び出しに関するサポートされているレコードだけを含むウィルス対策レコードを作成してもよい。１つの態様においては、挙動ルールに含まれるＡＰＩ関数呼び出しのすべてのレコードの数に対するＡＰＩ関数呼び出しに関するサポートされているレコードの割合が所定の数値（例えば、７５％）より大きい場合に、ＡＰＩ関数呼び出しに関するサポートされているレコードだけを含むウィルス対策レコードが作成される。一例として、「疑わしいＡＰＩ関数、WinExec,  CreateProcess,  GetFileSize,  CreateFileのリストの中から、ＡＰＩ関数WriteFileが呼び出され、続いてＡＰＩ関数WinExecが呼び出された」という挙動ルールが呼び出されたと仮定する。また、プロテクタ１０２は、ＡＰＩ関数WinExec,  CreateProcess,  CreateFile,  WriteFileの呼び出しの記録をサポートするが、ＡＰＩ関数GetFileSizeの呼び出しに関するレコードの記録はサポートしない、と仮定する。このシナリオでは、呼び出された挙動ルールに含まれるすべてのＡＰＩ関数の数に対するサポートされたＡＰＩ関数の割合は８０％であり、７５％（所定の数値の例）より大きいので、ウィルス対策レコードを作成してもよい。
【００８１】
図６は、態様の一例に従って本開示の複数の態様を実現可能な汎用コンピュータシステム２０を表すブロック図である。ここで注意すべきことは、コンピュータシステム２０は、システム１００や、その個々の構成要素に対応することができるということである。
【００８２】
図示のように、コンピュータシステム２０（パーソナルコンピュータまたはサーバでもよい）は、中央処理装置２１、システムメモリ２２、および、中央処理装置２１に付随するメモリを含む各種システム構成要素を接続するシステムバス２３を含んでいる。当業者には理解されるように、システムバス２３は、バスメモリまたはバスメモリコントローラ、周辺バス、および、他のいかなるバスアーキテクチャとも相互作用可能なローカルバスを備えていてもよい。システムメモリは固定記憶装置（Read-Only  Memory：ＲＯＭ）２４とランダムアクセスメモリ（Random  Access  Memory：ＲＡＭ）２５を含んでいてもよい。基本入出力システム（Basic  Input/Output  System：ＢＩＯＳ）２６は、ＲＯＭ２４を用いてオペレーティングシステムをロードする際の手順などの、コンピュータシステム２０の要素間の情報転送の基本的手順を記憶していてもよい。
【００８３】
また、コンピュータシステム２０は、データを読み書きするためのハードディスク２７、リムーバブル磁気ディスク２９を読み書きするための磁気ディスクドライブ２８、および、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、その他の光媒体などのリムーバブル光学ディスク３１を読み書きするための光学ドライブ３０を備えていてもよい。ハードディスク２７、磁気ディスクドライブ２８、および光学ドライブ３０は、それぞれ、ハードディスクインターフェース３２、磁気ディスクインターフェース３３、および光学ドライブインターフェース３４を介して、システムバス２３と接続されている。ドライブおよび対応するコンピュータ情報媒体は、コンピュータシステム２０のコンピュータ命令、データ構造体、プログラムモジュール、およびその他のデータを記憶する、独立の電源で動作するモジュールである。
【００８４】
態様の一例は、コントローラ５５を介してシステムバス２３と接続されたハードディスク２７、リムーバブル磁気ディスク２９、およびリムーバブル光学ディスク３１を使用するシステムを備えている。コンピュータで読み取り可能な形式でデータの保存が可能な任意の種類の媒体５６（半導体ドライブ、フラッシュメモリカード、デジタルディスク、ランダムアクセスメモリ（ＲＡＭ）など）を利用できることは、当業者には理解されるであろう。
【００８５】
コンピュータシステム２０はファイルシステム３６を有しており、その中には、オペレーティングシステム３５の他に、追加的なプログラムアプリケーション３７、その他のプログラムモジュール３８、およびプログラムデータ３９を保存することができる。コンピュータシステム２０のユーザはキーボード４０、マウス４２、あるいは、その他、例えば、マイクロフォン、ジョイスティック、ゲームコントローラ、スキャナなどを含むがそれらに限られない当業者に公知の入力装置を使用して、コマンドおよび情報を入力することができる。そのような装置は、一般に、コンピュータシステム２０に、システムバスと接続されたシリアルポート４６を通して差し込まれるが、当業者は、入力装置を、例えば、限定はされないが、パラレルポート、ゲームポート、あるいはユニバーサルシリアルバス（Universal  Serial  Bus：ＵＳＢ）などの他の方法で接続してもよいことを理解するであろう。モニタ４７または他の種類の表示装置も、ビデオアダプタ４８などのインターフェースを介してシステムバス２３と接続してもよい。パーソナルコンピュータは、モニタ４７に加えて、スピーカ、プリンタなどの周辺出力装置（図示せず）を備えてもよい。
【００８６】
コンピュータシステム２０を、１台以上のリモートコンピュータ４９とのネットワーク接続を用いて、ネットワーク環境下で動作させてもよい。リモートコンピュータ４９は、上記コンピュータシステム２０の特徴説明の中で述べた要素のほとんどまたは全部を備えたローカルコンピュータワークステーションまたはサーバであってもよい。例えば、ルータ、ネットワークステーション、ピアデバイス、その他のネットワークノードなどを含むがそれらに限られないその他の装置がコンピュータネットワークの中に存在してもよい。
【００８７】
ネットワーク接続によって、ローカルエリアコンピュータネットワーク（Local-Area  computer  Network：ＬＡＮ）５０および広域コンピュータネットワーク（Wide-Area  computer  Network：ＷＡＮ）を形成することができる。そのようなネットワークは企業コンピュータネットワークや社内ネットワークで利用され、ネットワークは、一般に、インターネットにアクセスできる。ＬＡＮおよびＷＡＮのネットワークにおいては、パーソナルコンピュータ２０は、ネットワークアダプタまたはネットワークインターフェース５１を介してローカルエリアネットワーク５０と接続されている。ネットワークを利用する場合、コンピュータシステム２０は、インターネットのような広域コンピュータネットワークとの通信を可能にするモデム５４またはその他の当業者に公知のモジュールを採用してもよい。モデム５４は、内部装置であっても外部装置であってもよいが、シリアルポート４６によってシステムバス２３と接続してもよい。上記ネットワーク接続は、１台のコンピュータが通信モジュールを使って他のコンピュータとの接続を確立する、数多くの広く理解されている方法の非限定例であることは、当業者には理解されるであろう。
【００８８】
様々な態様において、本明細書で説明したシステムおよび方法は、ハードウェア、ソフトウェア、ファームウェア、あるいはそれらの任意の組み合わせの中に実現されてもよい。ソフトウェア中に実現された場合、非一時的なコンピュータ読み取り可能な媒体上に、１つ以上の命令またはコードとして記憶してもよい。コンピュータ読み取り可能な媒体には、データストレージが含まれる。一例として、限定はされないが、そのようなコンピュータ読み取り可能な媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、フラッシュメモリ、あるいは他の種類の電気的、磁気的、または光学的記憶媒体、もしくは、所望のプログラムコードを命令やデータ構造体の形で運搬または記憶するために利用可能で、汎用コンピュータのプロセッサからアクセス可能な、その他の任意の媒体を含むことができる。
【００８９】
様々な態様において、本開示で説明したシステムおよび方法を、モジュールの意味で扱うことができる。本明細書で使われている用語「モジュール」とは、例えば、特定用途向け集積回路（Application  Specific  Integrated  Circuit：ＡＳＩＣ）やフィールドプログラマブルゲートアレイ（Field-Programmable  Gate  Array：ＦＰＧＡ）によるハードウェアを用いて実現されるか、あるいは、例えば、マイクロプロセッサシステムと、（実行時に）マイクロプロセッサシステムを専用デバイスに変換するモジュールの機能性を実現する一連の命令によるハードウェアとソフトウェアの組み合わせとして実現された、実世界の装置、構成要素、または構成要素の配置のことである。モジュールは、特定の機能をハードウェアのみで促進し、その他の機能をハードウェアとソフトウェアの組み合わせによって促進する、上記２つの組み合わせとしても実現できる。特定の実現形態においては、少なくとも一部、場合によっては全部のモジュールが、汎用コンピュータのプロセッサ上で実行されてもよい。したがって、各モジュールは各種の適切な構成の中に実現可能であり、本明細書に例示したいかなる特定の実現形態にも限定されるべきではない。
【００９０】
明確化のために、本明細書は各態様の定型的な特徴のすべてまでは示していない。本開示の実際の実現形態のいかなる開発においても、開発者の具体的目的を達成するために実現形態に特有の多くの決定をする必要があり、具体的目的は、実現形態ごとおよび開発者ごとに異なるということが理解されるであろう。そのような開発努力は複雑で多くの時間を要する可能性があるが、それにもかかわらず、本開示から利益を得る当業者にとって、定型的な技術的取り組みであることが理解される。
【００９１】
さらに、本明細書で用いている表現や用語は説明上のものであって、限定のためではなく、本明細書の用語や表現は、当業者が、当業者の知識と組み合わせて、本明細書が提供する教示や手引きの観点から解釈すべきものと理解すべきである。加えて、明示的記載がない限り、本明細書や請求の範囲におけるいかなる用語も、一般的でない、あるいは特別な意味を持つものとみなされることは意図されていない。
【００９２】
本明細書に開示された様々な態様は、本明細書で例示により言及された公知のモジュールと均等な現在および将来の公知の均等物を包含する。加えて、態様および応用例を図示し、かつ、説明してきたが、本明細書に開示された発明の概念から逸脱することなく、上述したよりも多くの変更が可能であることは、この開示の利益を有する当業者には明らかであろう。
【図１】
2019169121.tif 000003
【図２】
2019169121.tif 000004
【図３】
2019169121.tif 000005
【図４】
2019169121.tif 000006
【図５】
2019169121.tif 000007
【図６】
2019169121.tif 000008
【手続補正書】
【提出日】令和1年5月7日(2019.5.7)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００４７
【補正方法】変更
【補正の内容】
【００４７】
以下の出口条件のうち１つが発生した場合、バーチャルマシン１０６上のファイル１３３の実行は完了する。
・プロセスが完了した。
・指定された期間が経過した。
・これまでにステップが所定回数（例えば、３回）実行された。
・プロセスが実行した命令数が、命令数の所定しきい値（例えば、１０００００命令）を超過する。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ウィルス対策レコードを作成する方法であって、
対標的型攻撃プロテクタによって、ファイルのＡＰＩ関数呼び出しのログを解析して、１つ以上の挙動ルールを用いて悪意ある挙動の有無を調べることと、
前記対標的型攻撃プロテクタによって、前記ＡＰＩ関数呼び出しの前記ログのレコードに対応する挙動ルールが特定された場合に、前記ファイルは悪意あるものであると判定することと、
前記対標的型攻撃プロテクタによって、特定された前記挙動ルールと関連する前記ＡＰＩ関数呼び出しの１つ以上のレコードを抽出することと、
前記対標的型攻撃プロテクタによって、前記ＡＰＩ関数呼び出しの少なくとも１つの抽出された前記レコードがコンピューティングデバイスのプロテクタによって記録可能か否かを判定することと、
前記ＡＰＩ関数呼び出しの少なくとも１つの抽出された前記レコードが前記コンピューティングデバイスの前記プロテクタによって記録可能である場合、前記対標的型攻撃プロテクタによって、前記コンピューティングデバイスの前記プロテクタのためのウィルス対策レコードを作成することとを含み、
作成された前記ウィルス対策レコードは前記ＡＰＩ関数呼び出しの前記抽出されたレコードを少なくとも含むことを特徴とする、
方法。
【請求項２】
前記コンピューティングデバイスの前記プロテクタが前記ＡＰＩ関数呼び出しの少なくとも１つの抽出された前記レコードの記録をサポートしていない場合、前記ＡＰＩ関数呼び出しのサポートされていないレコードの記録に対するサポートを前記コンピューティングデバイスの前記プロテクタに追加することをさらに含むことを特徴とする、
請求項１に記載の方法。
【請求項３】
前記サポートを追加した後に、前記コンピューティングデバイスの前記プロテクタのための前記ウィルス対策レコードを作成することをさらに含み、前記作成されたレコードは前記ＡＰＩ関数呼び出しの前記抽出されたレコードから構成されることを特徴とする、
請求項２に記載の方法。
【請求項４】
前記コンピューティングデバイスの前記プロテクタが前記ＡＰＩ関数呼び出しの少なくとも１つの抽出された前記レコードの記録をサポートしていない場合、前記挙動ルールに含まれるＡＰＩ関数呼び出しのすべてのレコードの数に対する前記ＡＰＩ関数呼び出しのサポートされているレコードの割合が所定のしきい値より大きい場合に、前記コンピューティングデバイスの前記プロテクタのための前記ウィルス対策レコードを作成することをさらに含み、前記作成されたレコードは前記ＡＰＩ関数呼び出しの前記サポートされているレコードだけを含むことを特徴とする、
請求項１に記載の方法。
【請求項５】
前記対標的型攻撃プロテクタ上の前記ファイルの前記解析は、レピュテーションサービスを用いたチェック、ＹＡＲＡルールを用いたチェック、および専門的解析のうち少なくとも１つを含むことを特徴とする、
請求項１に記載の方法。
【請求項６】
前記対標的型攻撃プロテクタはサンドボックスを含み、前記ＡＰＩ関数呼び出しの前記ログには、前記サンドボックスの中で前記ファイルから起動された実行中のプロセスが収容されることを特徴とする、
請求項１に記載の方法。
【請求項７】
前記サンドボックスは、バーチャルマシン上での実現、ファイルシステムとレジスタの部分的仮想化に基づく実現、および前記ファイルシステムと前記レジスタへのアクセスルールに基づく実現のうち少なくとも１つとして実現されることを特徴とする、
請求項６に記載の方法。
【請求項８】
ウィルス対策レコードを作成するためのシステムであって、
ファイルのＡＰＩ関数呼び出しのログを解析して、１つ以上の挙動ルールを用いて悪意ある挙動の有無を調べ、
前記ＡＰＩ関数呼び出しの前記ログのレコードに対応する挙動ルールが特定された場合に、前記ファイルは悪意あるものであると判定し、
特定された前記挙動ルールと関連する前記ＡＰＩ関数呼び出しの１つ以上のレコードを抽出し、
前記ＡＰＩ関数呼び出しの少なくとも１つの抽出された前記レコードがコンピューティングデバイスのプロテクタによって記録可能か否かを判定し、かつ、
前記ＡＰＩ関数呼び出しの少なくとも１つの抽出された前記レコードが前記コンピューティングデバイスの前記プロテクタによって記録可能である場合、前記コンピューティングデバイスの前記プロテクタのためのウィルス対策レコードを作成する、少なくとも１つのプロセッサを備え、作成された前記ウィルス対策レコードは前記ＡＰＩ関数呼び出しの前記抽出されたレコードを少なくとも含むことを特徴とする、
システム。
【請求項９】
前記コンピューティングデバイスの前記プロテクタが前記ＡＰＩ関数呼び出しの少なくとも１つの抽出された前記レコードの記録をサポートしていない場合、前記ＡＰＩ関数呼び出しのサポートされていないレコードの記録に対するサポートを前記コンピューティングデバイスの前記プロテクタに追加することをさらに含むことを特徴とする、
請求項８に記載のシステム。
【請求項１０】
前記サポートを追加した後に、前記コンピューティングデバイスの前記プロテクタのための前記ウィルス対策レコードを作成することをさらに含み、前記作成されたレコードは前記ＡＰＩ関数呼び出しの前記抽出されたレコードから構成されることを特徴とする、
請求項９に記載のシステム。
【請求項１１】
前記コンピューティングデバイスの前記プロテクタが前記ＡＰＩ関数呼び出しの少なくとも１つの抽出された前記レコードの記録をサポートしていない場合、前記挙動ルールに含まれるＡＰＩ関数呼び出しのすべてのレコードの数に対する前記ＡＰＩ関数呼び出しのサポートされているレコードの割合が所定のしきい値より大きい場合に、前記コンピューティングデバイスの前記プロテクタのための前記ウィルス対策レコードを作成することをさらに含み、前記作成されたレコードは前記ＡＰＩ関数呼び出しの前記サポートされているレコードだけを含むことを特徴とする、
請求項８に記載のシステム。
【請求項１２】
対標的型攻撃プロテクタ上の前記ファイルの前記解析は、レピュテーションサービスを用いたチェック、ＹＡＲＡルールを用いたチェック、および専門的解析のうち少なくとも１つを含むことを特徴とする、
請求項８に記載のシステム。
【請求項１３】
対標的型攻撃プロテクタはサンドボックスを含み、前記ＡＰＩ関数呼び出しの前記ログには、前記サンドボックスの中で前記ファイルから起動された実行中のプロセスが収容されることを特徴とする、
請求項８に記載のシステム。
【請求項１４】
前記サンドボックスは、バーチャルマシン上での実現、ファイルシステムとレジスタの部分的仮想化に基づく実現、および前記ファイルシステムと前記レジスタへのアクセスルールに基づく実現のうち少なくとも１つとして実現されることを特徴とする、
請求項１３に記載のシステム。
【請求項１５】
ウィルス対策レコードを作成するためのコンピュータ実行可能な命令を記憶した非一過性のコンピュータ読み取り可能な媒体であって、
ファイルのＡＰＩ関数呼び出しのログを解析して、１つ以上の挙動ルールを用いて悪意ある挙動の有無を調べ、
前記ＡＰＩ関数呼び出しの前記ログのレコードに対応する挙動ルールが特定された場合に、前記ファイルは悪意あるものであると判定し、
特定された前記挙動ルールと関連する前記ＡＰＩ関数呼び出しの１つ以上のレコードを抽出し、
前記ＡＰＩ関数呼び出しの少なくとも１つの抽出された前記レコードがコンピューティングデバイスのプロテクタによって記録可能か否かを判定し、かつ、
前記ＡＰＩ関数呼び出しの少なくとも１つの抽出された前記レコードが前記コンピューティングデバイスの前記プロテクタによって記録可能である場合、前記コンピューティングデバイスの前記プロテクタのためのウィルス対策レコードを作成するための命令を含み、作成された前記ウィルス対策レコードは前記ＡＰＩ関数呼び出しの前記抽出されたレコードを少なくとも含むことを特徴とする、
非一過性のコンピュータ読み取り可能な媒体。
【請求項１６】
前記コンピューティングデバイスの前記プロテクタが前記ＡＰＩ関数呼び出しの少なくとも１つの抽出された前記レコードの記録をサポートしていない場合、前記ＡＰＩ関数呼び出しのサポートされていないレコードの記録に対するサポートを前記コンピューティングデバイスの前記プロテクタに追加するための命令をさらに含むことを特徴とする、
請求項１５に記載の非一過性のコンピュータ読み取り可能な媒体。
【請求項１７】
前記サポートを追加した後に、前記コンピューティングデバイスの前記プロテクタのための前記ウィルス対策レコードを作成するための命令をさらに含み、前記作成されたレコードは前記ＡＰＩ関数呼び出しの前記抽出されたレコードから構成されることを特徴とする、
請求項１６に記載の非一過性のコンピュータ読み取り可能な媒体。
【請求項１８】
前記コンピューティングデバイスの前記プロテクタが前記ＡＰＩ関数呼び出しの少なくとも１つの抽出された前記レコードの記録をサポートしていない場合、前記挙動ルールに含まれるＡＰＩ関数呼び出しのすべてのレコードの数に対する前記ＡＰＩ関数呼び出しのサポートされているレコードの割合が所定のしきい値より大きい場合に、前記コンピューティングデバイスの前記プロテクタのための前記ウィルス対策レコードを作成するための命令をさらに含み、前記作成されたレコードは前記ＡＰＩ関数呼び出しの前記サポートされているレコードだけを含むことを特徴とする、
請求項１５に記載の非一過性のコンピュータ読み取り可能な媒体。
【請求項１９】
対標的型攻撃プロテクタ上の前記ファイルの前記解析は、レピュテーションサービスを用いたチェック、ＹＡＲＡルールを用いたチェック、および専門的解析のうち少なくとも１つを含むことを特徴とする、
請求項１５に記載の非一過性のコンピュータ読み取り可能な媒体。
【請求項２０】
対標的型攻撃プロテクタはサンドボックスを含み、前記ＡＰＩ関数呼び出しの前記ログには、前記サンドボックスの中で前記ファイルから起動された実行中のプロセスが収容されることを特徴とする、
請求項１５に記載の非一過性のコンピュータ読み取り可能な媒体。
【外国語明細書】
2019169121000001.pdf