(57)【特許請求の範囲】
【請求項１】
ウィルスの動作の一部を示す複数の行動と、ウィルスの可能性を示す重み付け値とを対応付けた行動リストを記憶する記憶部と、
仮想マシン上で実行される対象ファイルによる各行動のうち、前記行動リスト内に含まれるものを検出する検出部と、
前記検出された各行動に対応付けられた前記重み付け値を用いて、前記対象ファイルのウィルスの可能性を示すウィルス可能性情報を算出する算出部と、
前記ウィルス可能性情報に基づいて、前記対象ファイルのウィルスの度合いを判定する判定部と、
を備え、
前記重み付け値は、複数のサンプルウィルスにおいて前記行動リスト内の行動が実行される度合いと、各行動に対して予め設定された重要度とに基づく値である
情報処理装置。
【請求項２】
前記算出部は、前記対象ファイルについて、前記検出された全ての行動に前記重み付け値を合計して、前記ウィルス可能性情報を算出する
請求項１に記載の情報処理装置。
【請求項３】
前記記憶部は、ウィルスの可能性の高いファイルの取得元を記録したブラックリストをさらに記憶し、
前記対象ファイルの取得元が前記ブラックリストに含まれる場合に、当該対象ファイルについてディープインスペクションを実行し、当該取得元が前記ブラックリストに含まれない場合に、クイックインスペクションを実行するウィルススキャン部をさらに備える、
請求項１又は２に記載の情報処理装置。
【請求項４】
前記検出部は、
前記ディープインスペクション又は前記クイックインスペクションの結果、ウィルスが検出されなかった場合に、前記仮想マシン上で前記対象ファイルの実行を行う
請求項３に記載の情報処理装置。
【請求項５】
前記情報処理装置は、前記仮想マシンを複数有し、
前記検出部は、異なる前記対象ファイルについて、異なる前記仮想マシン上で並列に実行を行う
請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記判定部は、
前記ウィルス可能性情報が所定の閾値を上回る場合に、前記対象ファイルをウィルスとして判定する
請求項２に記載の情報処理装置。
【請求項７】
コンピュータが、
対象ファイルを仮想マシン上で実行し、
対象ファイルによる各行動のうち、ウィルスの動作の一部を示す複数の行動と、ウィルスの可能性を示す重み付け値とを対応付けた行動リスト内に含まれるものを検出し、
前記検出された各行動に対応付けられた前記重み付け値を用いて、前記対象ファイルのウィルスの可能性を示すウィルス可能性情報を算出し、
前記ウィルス可能性情報に基づいて、前記対象ファイルのウィルスの度合いを判定し、
前記重み付け値は、複数のサンプルウィルスにおいて前記行動リスト内の行動が実行される度合いと、各行動に対して予め設定された重要度とに基づく値である
ウィルス検出方法。
【請求項８】
対象ファイルを仮想マシン上で実行する処理と、
対象ファイルによる各行動のうち、ウィルスの動作の一部を示す複数の行動とウィルスの可能性を示す重み付け値とを対応付けた行動リスト内に含まれるものを検出する処理と、
前記検出された各行動に対応付けられた前記重み付け値を用いて、前記対象ファイルのウィルスの可能性を示すウィルス可能性情報を算出する処理と、
前記ウィルス可能性情報に基づいて、前記対象ファイルのウィルスの度合いを判定する処理と、
をコンピュータに実行させ、
前記重み付け値は、複数のサンプルウィルスにおいて前記行動リスト内の行動が実行される度合いと、各行動に対して予め設定された重要度とに基づく値である
ウィルス検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、ウィルス検出方法及びプログラムに関し、特に、ウィルスを検出するための情報処理装置、ウィルス検出方法及びプログラムに関する。
【背景技術】
【０００２】
コンピュータウィルスの検出技術としては、シグネチャベースのウィルス検出技術（パターンマッチング検査）、静的及び動的なヒューリスティック検査等がある。シグネチャベースのウィルス検出技術は、収集したウィルスのサンプルをパターンファイルとして予め登録しておき、検査対象ファイルをパターンファイルとマッチングすることで、ウィルスを検出するものである。
【０００３】
また、静的（スタティック）ヒューリスティック検査は、検査対象コードを実行せずに、予め登録された挙動と、検査対象コードとの比較を行うことでウィルスを検出するものである。また、動的（ダイナミック）ヒューリスティック検査は、サンドボックス又は仮想マシン上で検査対象コードを実行し、特定の動作を監視することで、ウィルスを検出するものである。
【０００４】
特許文献１には、これらの検査を用いて、メールサーバで受信したメールの添付ファイルのウィルスを検査する技術について開示されている。特許文献１では、まず、添付ファイルにパターンマッチング検査を行い、ウィルスが検出されなければ、スタティックヒューリスティック検査を行い、そこでもウィルスが検出されなければ、さらに、ダイナミックヒューリスティック検査を行うものである。特に、ダイナミックヒューリスティック検査でウィルスが検出された場合には、添付ファイルから特徴を抽出し、パターンファイルへのフィードバックを行うものである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４１４５５８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ここで、上述した特許文献１では、未知のウィルスの検出精度が低いという問題点がある。まず、シグネチャベースのウィルス検出技術は、ウィルスシグネチャを抽出するために、ウィルスのサンプルを収集する必要がある。近年では、ウィルスやトロイ型の急速な拡大と伴い、それに対するサンプルの収集及び分析作業が増加している。そして、シグネチャベースのウィルス検出技術には、固有なヒステリシス性を有する。
【０００７】
そこで、特許文献１では固有なヒステリシス性の対策として、ヒューリスティック検査が用いられているが、特許文献１で監視対象となる動作は、外部へのメール送信やファイルの改竄等であり、単に監視対象の動作であるか否かによりウィルスか否かを検出しているに過ぎない。ところが、外部へのメール送信やファイルの編集という動作自体は、正常な動作も含むため、個別の動作だけではウィルスであるか否かの判断には不十分である。特に、未知のウィルスの場合、本来は正常な動作であってもその組み合わせや実行順序や回数によりウィルスとなり得るものもある。例えば、ユーザが入力したパスワードや個人情報を記録することだけでは悪意のある動作とは言えない。しかし、パスワードを記録する動作の後に、記録したパスワードを外部へメール送信する動作があった場合には、悪意のある動作、つまりウィルスである可能性が高いといえる。
【０００８】
本発明は、このような問題点を解決するためになされたものであり、未知のウィルスの検出精度を向上するための情報処理装置、ウィルス検出方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の第１の態様にかかる情報処理装置は、
ウィルスの動作の一部を示す複数の行動と、ウィルスの可能性を示す重み付け値とを対応付けた行動リストを記憶する記憶部と、
仮想マシン上で実行される対象ファイルによる各行動のうち、前記行動リスト内に含まれるものを検出する検出部と、
前記検出された各行動に対応付けられた前記重み付け値を用いて、前記対象ファイルのウィルスの可能性を示すウィルス可能性情報を算出する算出部と、
前記ウィルス可能性情報に基づいて、前記対象ファイルのウィルスの度合いを判定する判定部と、
を備える。
【００１０】
本発明の第２の態様にかかるウィルス検出方法は、
対象ファイルを仮想マシン上で実行し、
対象ファイルによる各行動のうち、ウィルスの動作の一部を示す複数の行動と、ウィルスの可能性を示す重み付け値とを対応付けた行動リスト内に含まれるものを検出し、
前記検出された各行動に対応付けられた前記重み付け値を用いて、前記対象ファイルのウィルスの可能性を示すウィルス可能性情報を算出し、
前記ウィルス可能性情報に基づいて、前記対象ファイルのウィルスの度合いを判定する。
【００１１】
本発明の第３の態様にかかるウィルス検出プログラムは、
対象ファイルを仮想マシン上で実行する処理と、
対象ファイルによる各行動のうち、ウィルスの動作の一部を示す複数の行動とウィルスの可能性を示す重み付け値とを対応付けた行動リスト内に含まれるものを検出する処理と、
前記検出された各行動に対応付けられた前記重み付け値を用いて、前記対象ファイルのウィルスの可能性を示すウィルス可能性情報を算出する処理と、
前記ウィルス可能性情報に基づいて、前記対象ファイルのウィルスの度合いを判定する処理と、
をコンピュータに実行させる。
【発明の効果】
【００１２】
本発明により、未知のウィルスの検出精度を向上するための情報処理装置、ウィルス検出方法及びプログラムを提供することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施の形態１にかかる情報処理装置の構成を示すブロック図である。
【図２】本発明の実施の形態１にかかるウィルス検出方法の流れを説明するためのフローチャートである。
【図３】本発明の実施の形態２にかかる情報システムの全体構成を示すブロック図である。
【図４】本発明の実施の形態２にかかるウィルススキャンサーバの構成を示すブロック図である。
【図５】本発明の実施の形態２にかかる行動リストの例を示す図である。
【図６】本発明の実施の形態２にかかるウィルス検出方法の流れを説明するためのフローチャートである。
【図７】本発明の実施の形態２にかかるウィルス実行検査の流れを説明するためのフローチャートである。
【図８】本発明の実施の形態２にかかるウィルス実行検査の概念を説明するための図である。
【発明を実施するための形態】
【００１４】
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略する。
【００１５】
＜実施の形態１＞
図１は、本発明の実施の形態１にかかる情報処理装置１００の構成を示すブロック図である。情報処理装置１００は、記憶部１１０と、仮想マシン１２０と、検出部１３０と、算出部１４０と、判定部１５０とを備える。記憶部１１０は、行動リスト１１１を記憶する。行動リスト１１１は、複数の行動１１２と複数の重み付け値１１３とを対応付けた情報である。
【００１６】
行動１１２とは、ウィルスの動作の一部を示すものである。行動１１２は、例えば、プログラムにより実行されるファンクションコードや、それらを組み合わせて特定の処理（パスワードの記録、メールの送信）を示す情報である。つまり、行動１１２は単独では、コンピュータウィルスとはいえないものである。また、過去の複数のコンピュータウィルスの動作を複数の個別の行動の分割したものを用いても構わない。
【００１７】
また、重み付け値１１３とは、コンピュータウィルスの可能性を示す数値情報である。例えば、ウィルスの確率であってもよい。
【００１８】
仮想マシン１２０は、情報処理装置１００内で動作するホストエミュレータであり、対象ファイルを実行可能である。検出部１３０は、仮想マシン１２０上で実行される対象ファイルによる各行動のうち、行動リスト１１１内に含まれるものを検出する。すなわち、検出部１３０は、仮想マシン１２０上で実行される対象ファイル内の行動（処理、動作）を監視し、行動リスト１１１内に含まれるものがあれば、検出する。算出部１４０は、検出された各行動１１２に対応付けられた重み付け値１１３を用いて、対象ファイルのウィルスの可能性を示すウィルス可能性情報を算出する。ウィルス可能性情報とは、重み付け値１１３に所定の統計処理等の演算を行った結果である。判定部１５０は、ウィルス可能性情報に基づいて、対象ファイルのウィルスの度合いを判定する。ウィルスの度合いとは、例えば、対象ファイルがウィルスであるか否かや、ウィルスの可能性を示す確率、ウィルスに該当する可能性のある対象ファイル内の記述（コード）の提示等であってもよい。
【００１９】
図２は、本発明の実施の形態１にかかるウィルス検出方法の流れを説明するためのフローチャートである。まず、情報処理装置１００は、対象ファイルを仮想マシン１２０上で実行する（Ｓ１１）。次に、検出部１３０は、対象ファイルによる各行動のうち、行動リスト１１１内に含まれる行動１１２を検出する（Ｓ１２）。そして、算出部１４０は、行動リスト１１１から、検出された各行動に対応付けられた重み付け値を読み出し、読み出した重み付け値を用いて、対象ファイルのウィルスの可能性を示すウィルス可能性情報を算出する（Ｓ１３）。その後、判定部１５０は、ウィルス可能性情報に基づいて、対象ファイルのウィルスの度合いを判定する（Ｓ１４）。
【００２０】
このように、本実施の形態１では、対象ファイル内の複数の行動について、予め登録された行動リスト内の行動とマッチングを行い、マッチングされた行動に対応付けられた重み付け値を用いて、ウィルスの可能性を判定するものである。そのため、対象ファイル内の単独の行動だけではウィルスに該当しなくても、複数の行動の組み合わせ等によっては、ウィルスの可能性のあるものを検出でき、未知のウィルスの検出精度を向上することができる。
【００２１】
＜実施の形態２＞
本実施の形態２は、上述した実施の形態１の具体的な実施例である。図３は、本発明の実施の形態２にかかる情報システムの全体構成を示すブロック図である。情報システムには、端末群１と、ウィルススキャンサーバ２と、ＮＷ機器群３とが含まれる。端末群１には、複数の端末１１〜１６が含まれ、各端末は、ウィルススキャンサーバ２と通信回線により接続されている。また、ＮＷ機器群３には、複数のＮＷ機器３１〜３３が含まれ、各ＮＷ機器は、ウィルススキャンサーバ２と通信回線により接続されている。つまり、ウィルススキャンサーバ２は、端末群１とＮＷ機器群３の間に配置されている。そして、ウィルススキャンサーバ２は、外部のネットワーク（インターネット等）からＮＷ機器群３を経由して端末群１へ転送されるファイルについて、事前にウィルス検査を行うものである。
【００２２】
図４は、本発明の実施の形態２にかかるウィルススキャンサーバ２の構成を示すブロック図である。ウィルススキャンサーバ２は、上述した情報処理装置１００の一例であり、分析部２１と、ＨＡＳＨ計算部２２と、ウィルススキャン部２３と、ウィルス実行部２４と、データ処理部２５と、記憶部２６とを備える。記憶部２６は、上述した記憶部１１０の一例であり、ブラックリスト２６１と、ＨＡＳＨ値２６２と、行動リスト２６３とを記憶する。ブラックリスト２６１には、公知のコンピュータウィルス（マルウェア等）の配布元として知られるＵＲＬが記録されたファイルである。つまり、ブラックリスト２６１には、ウィルスの可能性の高いファイルの取得元が記録されている。ブラックリスト２６１には、通常、２以上のＵＲＬが記録されている。ＨＡＳＨ値２６２は、公知のマルウェア等から作成されたハッシュ値である。尚、ＨＡＳＨ値２６２は、２以上のマルウェアのハッシュ値が含まれていてもよい。また、ブラックリスト２６１やＨＡＳＨ値２６２は、パターンファイルとして保持されていてもよい。行動リスト２６３は、上述した行動リスト１１１の一例である。
【００２３】
分析部２１は、インターネットを介してダウンロードされたウィルス検査対象のファイル（以下、対象ファイル）をＮＷ機器群３から取得する。また、分析部２１は、対象ファイルの取得元がブラックリスト２６１に含まれるか否かの判定を行う。ＨＡＳＨ計算部２２は、対象ファイルのＨＡＳＨ値を計算し、ＨＡＳＨ値２６２と比較する。ウィルススキャン部２３は、対象ファイルについてウィルススキャンを実行する。特に、ウィルススキャン部２３は、条件に応じてディープインスペクション又はクイックインスペクションを実行する。すなわち、ウィルススキャン部２３は、対象ファイルの取得元がブラックリスト２６１に含まれる場合に、当該対象ファイルについてディープインスペクションを実行し、当該取得元がブラックリスト２６１に含まれない場合に、クイックインスペクションを実行する。
【００２４】
尚、ディープインスペクションでは、対象ファイルについて詳細なウィルス検査が行われる。一方、クイックインスペクションでは、対象ファイルについて簡易なウィルス検査が行われる。そのため、ディープインスペクションは、クイックインスペクションと比べて、検出精度が高く、一方で、処理負荷が高く、実行時間が長い。
【００２５】
ウィルス実行部２４は、上述した仮想マシン１２０、検出部１３０、算出部１４０及び判定部１５０の一例である。ウィルス実行部２４は、複数の仮想マシン（ＶＭ）２４−１〜２４−４を含む。尚、ウィルス実行部２４は、少なくとも１以上の仮想マシンを備えていればよい。ウィルス実行部２４は、所定の条件を満たす場合に、対象ファイルについて行動分析として、後述するウィルス実行検査を行い、対象ファイルのウィルスの度合いを判定する。
【００２６】
データ処理部２５は、ウィルススキャン部２３やウィルス実行部２４の結果に基づき、対象ファイルの処理を行う。すなわち、データ処理部２５は、対象ファイルが正常な場合には、本来の転送先の端末へ対象ファイルを転送する。一方、データ処理部２５は、対象ファイルがウィルスであると判定された場合、対象ファイルを削除等の駆除を行う。
【００２７】
図５は、本発明の実施の形態２にかかる行動リスト２６３の例を示す図である。行動リスト２６３は、単独の行動ではウィルスではないが、複数の行動の組み合わせによりウィルスとなる可能性がある行動（悪意の可能性がある行動）について登録された情報である。ここでは、各行動（小項目）について大項目に分類しているが、分類の仕方はこれに限定されない。また、各小項目には、重み付け値が設定されている。
【００２８】
以下に、大項目ごとに行動の説明をする。
（Ｉ）隠す行動：ファイルを隠す、サービスを隠す、レジストリを隠す、ポートを隠す、プロセスを隠す等の行動が挙げられる。例えば、「ファイルを隠す」とは、フォルダ内に保存されているファイルの属性を変更して、一般ユーザに対しては非表示にする処理を示す。また、「プロセスを隠す」とは、例えば、対象ファイルの実行に起因して、何らかのプロセスをプロセス監視ツール上で認識できないようにする処理を示す。
【００２９】
（ＩＩ）内容改ざん行動：ファイルの作成、移動及び削除、ファイル名の変更、ファイル内容の修正、ファイルを開く、ファイル種類の変更等の行動が挙げられる。「ファイルの作成等」は、単独では悪意があるとはいえないが、他の行動との組合せでウィルスである可能性がある。
【００３０】
（ＩＩＩ）スタンドアップ行動：システムの再起動、自身の機能を自動的に起動させる設定等の行動が挙げられる。これらは、目標ホストにウイルスインプラントを行い、自動的に再起動させる可能性がある行動である。例えば、ダウンロードしたファイルが実行された際に、以後、自動的に再起動させるような設定を行う。自動的に再起動させるような設定とは、例えば、タスクスケジューラへの登録や、ＯＳ起動時のアプリケーションの自動起動リストへの追加等が挙げられる。
【００３１】
（ＩＶ）ネットワーク行動：メールを送信、ポートのスキャンと監視、特定のドメインへのリクエストとレスポンス、外部ＩＰとの接続等の行動が挙げられる。これらは、回数が多いことや、特定の宛先に繰り返しアクセスする場合などに、ウィルスである可能性がある。
【００３２】
（Ｖ）感染行動：対象ファイルの実行に伴い、自己のファイル又は他のファイルを変化させる行動が挙げられる。例えば、拡張子がexe,bat,scr,docx等である対象ファイルを実行した場合に、ファイル形式が変更／変換されること、対象ファイル自身の内容が更新されること、他のファイルの内容が更新されること等を検出する。これらの行動により、ウィルス感染する可能性があるためである。
【００３３】
（ＶＩ）呼び起こす行動：特定の行動を触発して、関連のサービス又はプロセスを自動的に実行する行動が挙げられる。例えば、ボタンを押下した際に、バックグランドで、パスワード等の機密情報や個人情報の抽出する処理があった場合には、ウィルスの確率が高まるといえる。そのため、ボタン等の押下処理と機密情報の記録処理とが組み合わさった場合には、ウィルスの可能性があるといえる。
【００３４】
（ＶＩＩ）散布行動：他のホスト又は他のフォルダにファイルをコピー又は情報を転送する等の行動が挙げられる。単独では不正とはいえないが、対象ファイルの実行に伴い何らかのファイルがコピー等されることは、ウィルスの可能性があり得るためである。
【００３５】
（ＶＩＩＩ）ファイアウォールを閉じる行動：ファイアウォールが自動終了する行動が挙げられる。対象ファイルの実行に伴いファイアウォールのプロセスが終了させられた場合には、ウィルスの可能性が高まるためである。
【００３６】
（ＩＸ）指定されたプロセス終了行動：キープロセス、セキュリティーサービスを自動終了する等の行動が挙げられる。特に、対象ファイルの実行に伴いアンチウィルスソフトが終了させられた場合には、ウィルスの可能性が高まるためである。
【００３７】
以上は、本実施の形態２にかかる行動リスト２６３の一例に過ぎず、また、重み付け値も例示に過ぎない。
【００３８】
図６は、本発明の実施の形態２にかかるウィルス検出方法の流れを説明するためのフローチャートである。まず、分析部２１は、対象ファイルを取得する（Ｓ１０１）。次に、分析部２１は、対象ファイルの取得元のＵＲＬがブラックリスト２６１に存在するか否かを判定する（Ｓ１０２）。取得元のＵＲＬがブラックリスト２６１に存在しない場合（Ｓ１０２でＮＯ）、ＨＡＳＨ計算部２２は、対象ファイルのＨＡＳＨ値を計算する（Ｓ１０３）。そして、ＨＡＳＨ計算部２２は、計算したＨＡＳＨ値と記憶部２６に記憶されたＨＡＳＨ値２６２とが一致するか否かを判定する（Ｓ１０４）。
【００３９】
ステップＳ１０２でＹＥＳの場合、又は、ステップＳ１０４でＹＥＳの場合、ウィルススキャン部２３は、対象ファイルについてディープインスペクションを実行する（Ｓ１０５）。一方、ステップＳ１０４でＮＯの場合、ウィルススキャン部２３は、対象ファイルについてクイックインスペクションを実行する（Ｓ１０６）。
【００４０】
ステップＳ１０５又はＳ１０６の後、ウィルススキャン部２３は、ウィルスが検出されたか否かを判定する（Ｓ１０７）。ウィルスが検出されなかった場合、ウィルススキャン部２３は、対象ファイルをウィルス実行部２４に転送する。そして、ウィルス実行部２４は、対象ファイルについてウィルス実行検査を行う（Ｓ１０８）。
【００４１】
図７は、本発明の実施の形態２にかかるウィルス実行検査の流れを説明するためのフローチャートである。ウィルス実行部２４は、ＶＭ２４−１上で、対象ファイルを実行する（Ｓ２０１）。尚、使用する仮想マシンは、ＶＭ２４−２〜２４−４であっても構わない。
【００４２】
次に、ウィルス実行部２４は、対象ファイル内の行動ｋを検出する（Ｓ２０２）。例えば、対象ファイルの実行に伴い発生するイベントやＯＳのファンクションコール等を監視することにより検出する。そして、ウィルス実行部２４は、検出した行動ｋが行動リスト２６３内に存在するか否かを判定する（Ｓ２０３）。存在する場合、ウィルス実行部２４は、行動ｋの重み付け値Ｂｋを計算する（Ｓ２０４）。尚、図５のように行動リスト２６３に予め重み付け値が設定されている場合、ウィルス実行部２４は、行動リスト２６３から行動ｋに対応付けられた重み付け値を読み出す。
【００４３】
ここで、重み付け値Ｂｋの計算の仕方又は定義の仕方について説明する。まず、行動リスト２６３の小項目数を［１,ｎ］とし、小項目ｋに対する重要度をＳｋとする。ここで、Ｓｋは正の整数とし、ユーザが行動に対して任意に設定するものとする。また、複数のサンプルウィルスの中で、行動ｋがヒットする確率をＬｋとする。尚、Ｌｋは、予め算出されているものとする。そして、重み付け値Ｂｋを以下の式（１）により算出する。つまり、重み付け値Ｂｋは、複数のサンプルウィルスにおいて行動リスト内の行動が実行される度合いＬｋに基づく値といえる。
【数１】
0006711000.tif 000002
尚、行動リスト２６３に予めＳｋ及びＬｋを設定しておくことで、ステップＳ２０４においてＢｋを計算してもよい。または、予め全ての行動ｋについてＢｋを算出しておき、行動リスト２６３に予めＢｋを設定してもよい。
【００４４】
ステップＳ２０４の後、ウィルス実行部２４は、対象ファイルの実行が終了したか否かを判定する（Ｓ２０５）。すなわち、対象ファイル内の全ての行動を検出し終えたか否かを判定する。対象ファイルが実行中の場合、ウィルス実行部２４は、対象ファイル内の次の行動ｋを検出する（Ｓ２０６）。そして、以降、対象ファイルの実行終了までステップＳ２０３〜Ｓ２０６を繰り返す。
【００４５】
ステップＳ２０５でＮＯの場合、つまり、対象ファイルの実行が終了した場合、ウィルス実行部２４は、検出された全行動ｋの重み付け値をＢｋの合計ＴＢを計算する（Ｓ２０７）。例えば、以下の式（２）によりＴＢを計算する。
【数２】
0006711000.tif 000003
対象ファイルが実行終了か否かを判定する（Ｓ２０２）。尚、行動リスト２６３内の行動のうち対象ファイル内に存在しない行動における重み付け値Ｂｋを「０」として計算する。
【００４６】
そして、ウィルス実行部２４は、合計ＴＢが閾値ｔｈより大きいか否かを判定する（Ｓ２０８）。合計ＴＢが閾値ｔｈより大きい場合、ウィルス実行部２４は、対象ファイルがウィルスと判定する（Ｓ２０９）。一方、合計ＴＢが閾値ｔｈ以下の場合、ウィルス実行部２４は、対象ファイルがウィルスではないと判定する（Ｓ２１０）。その後、図６のステップＳ１１０へ進む。
【００４７】
続いて、ウィルス実行部２４は、ウィルスが検出されたか否かを判定する（Ｓ１１０）。ウィルス実行部２４は、図７の結果により判定する。ステップＳ１０７でＹＥＳ又は、ステップＳ１１０でＹＥＳの場合、ウィルス実行部２４は、対象ファイルをデータ処理部２５へ転送し、データ処理部２５は、対象ファイルを削除する（Ｓ１０９）。一方、ステップＳ１１０でＮＯの場合、ウィルス実行部２４は、対象ファイルをデータ処理部２５へ転送し、データ処理部２５は、対象ファイルを本来の端末へ転送する（Ｓ１１１）。
【００４８】
図８は、本発明の実施の形態２にかかるウィルス実行検査の概念を説明するための図である。
【００４９】
以上のように、本実施の形態２では、対象ファイルについて公知のウィルスについてのブラックリストやＨＡＳＨ値との比較により予めウィルスの検出を行い、その際、検出された場合にのみディープインスペクションを行うものである。このように、事前のブラックリストやＨＡＳＨ値の検査により、ウィルススキャンのレベルを分けることで、公知のウィルスの処理を効率化できる。
【００５０】
さらに、ウィルス実行部２４（検出部）は、ディープインスペクション又はクイックインスペクションの結果、ウィルスが検出されなかった場合に、仮想マシン上で対象ファイルの実行を行うものである。そのため、未知のウィルスに対してのみ、より処理負荷の高い、ヒューリスティック検査を行うことで、精度良く、かつ、処理効率を高めることができる。
【００５１】
また、ウィルススキャンサーバ２は、複数の仮想マシンを有することが望ましい。そして、ウィルス実行部２４は、異なる対象ファイルについて、異なる仮想マシン上で並列に実行を行う。例えば、ウィルス実行部２４をクラウドコンピューティングにより実現することができる。これにより、ウィルス検出処理を効率化することができる。特に、図３のように、端末群１にファイルがダウンロードされる前に、ウィルス検出を行う場合には、通信のボトルネックを解消でき、より効果的である。
【００５２】
尚、上述した合計ＴＢは、ウィルス可能性情報の一例に過ぎない。そのため、行動リスト２６３の定義の仕方によっては、小項目の組み合わせ、順序、繰り返しの回数等により重み付け値を定義することもできる。これにより、検出精度をより向上させることができる。
【００５３】
＜その他の実施の形態＞
尚、上述した実施の形態は、クラウドコンピューティング以外にも適用可能である。また、上述した図６及び図７の処理の流れは一例であり、本実施の形態はこれらに限定されない。
【００５４】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【００５５】
また、上述の実施の形態では、本発明をハードウェアの構成として説明したが、本発明は、これに限定されるものではない。本発明は、任意の処理を、ＣＰＵ（Central Processing Unit）にコンピュータプログラムを実行させることにより実現することも可能である。
【００５６】
上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、ＤＶＤ（Digital Versatile Disc）、ＢＤ（Blu-ray（登録商標） Disc）、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（Random Access Memory））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００５７】
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
（付記１）
ウィルスの動作の一部を示す複数の行動と、ウィルスの可能性を示す重み付け値とを対応付けた行動リストを記憶する記憶部と、
仮想マシン上で実行される対象ファイルによる各行動のうち、前記行動リスト内に含まれるものを検出する検出部と、
前記検出された各行動に対応付けられた前記重み付け値を用いて、前記対象ファイルのウィルスの可能性を示すウィルス可能性情報を算出する算出部と、
前記ウィルス可能性情報に基づいて、前記対象ファイルのウィルスの度合いを判定する判定部と、
を備える情報処理装置。
（付記２）
前記算出部は、前記対象ファイルについて、前記検出された全ての行動に前記重み付け値を合計して、前記ウィルス可能性情報を算出する
付記１に記載の情報処理装置。
（付記３）
前記記憶部は、ウィルスの可能性の高いファイルの取得元を記録したブラックリストをさらに記憶し、
前記対象ファイルの取得元が前記ブラックリストに含まれる場合に、当該対象ファイルについてディープインスペクションを実行し、当該取得元が前記ブラックリストに含まれない場合に、クイックインスペクションを実行するウィルススキャン部をさらに備える、
付記１又は２に記載の情報処理装置。
（付記４）
前記検出部は、
前記ディープインスペクション又は前記クイックインスペクションの結果、ウィルスが検出されなかった場合に、前記仮想マシン上で前記対象ファイルの実行を行う
付記３に記載の情報処理装置。
（付記５）
前記情報処理装置は、前記仮想マシンを複数有し、
前記検出部は、異なる前記対象ファイルについて、異なる前記仮想マシン上で並列に実行を行う
付記１乃至４のいずれか１項に記載の情報処理装置。
（付記６）
前記重み付け値は、複数のサンプルウィルスにおいて前記行動リスト内の行動が実行される度合いに基づく値である
付記１乃至５のいずれか１項に記載の情報処理装置。
（付記７）
前記判定部は、
前記ウィルス可能性情報が所定の閾値を上回る場合に、前記対象ファイルをウィルスとして判定する
付記２に記載の情報処理装置。
（付記８）
対象ファイルを仮想マシン上で実行し、
対象ファイルによる各行動のうち、ウィルスの動作の一部を示す複数の行動と、ウィルスの可能性を示す重み付け値とを対応付けた行動リスト内に含まれるものを検出し、
前記検出された各行動に対応付けられた前記重み付け値を用いて、前記対象ファイルのウィルスの可能性を示すウィルス可能性情報を算出し、
前記ウィルス可能性情報に基づいて、前記対象ファイルのウィルスの度合いを判定する
ウィルス検出方法。
（付記９）
対象ファイルを仮想マシン上で実行する処理と、
対象ファイルによる各行動のうち、ウィルスの動作の一部を示す複数の行動とウィルスの可能性を示す重み付け値とを対応付けた行動リスト内に含まれるものを検出する処理と、
前記検出された各行動に対応付けられた前記重み付け値を用いて、前記対象ファイルのウィルスの可能性を示すウィルス可能性情報を算出する処理と、
前記ウィルス可能性情報に基づいて、前記対象ファイルのウィルスの度合いを判定する処理と、
を前記コンピュータに実行させるウィルス検出プログラム。
【符号の説明】
【００５８】
１００  情報処理装置
１１０  記憶部
１１１  行動リスト
１１２  行動
１１３  重み付け値
１２０  仮想マシン
１３０  検出部
１４０  算出部
１５０  判定部
１  端末群
１１〜１６  端末
２  ウィルススキャンサーバ
３  ＮＷ機器群
３１〜３３  ＮＷ機器
２１  分析部
２２  ＨＡＳＨ計算部
２３  ウィルススキャン部
２４  ウィルス実行部
２５  データ処理部
２６  記憶部
２６１  ブラックリスト
２６２  ＨＡＳＨ値
２６３  行動リスト
【図１】
0006711000.tif 000004
【図２】
0006711000.tif 000005
【図３】
0006711000.tif 000006
【図４】
0006711000.tif 000007
【図５】
0006711000.tif 000008
【図６】
0006711000.tif 000009
【図７】
0006711000.tif 000010
【図８】
0006711000.tif 000011