(57)【要約】【課題】追加パタンファイルを早期に配信すること。【解決手段】ウイルススキャン部１１０は、パタンファイル１１と検査対象１０とを比べることにより当該検査対象１０内のウイルスを検知し、異常検知部１２０は、ソフトウェア挙動が異常であることを検知し、異常検知部１２０により異常が検知された場合に、情報収集部１３０は、ウイルス解析に必要な情報としての異常発生時情報１６を収集し、ウイルス解析部３００は、情報収集部１３０により収集された異常発生時情報１６を利用してウイルス解析を行うことで追加パタンファイル１８を作成し、パタンファイル配信部４００は、ウイルス解析部３００により作成された追加パタンファイル１８を機器に配信する。【選択図】図１
2010134536.tif 000002
【特許請求の範囲】
【請求項１】
パタンファイルと検査対象ソフトウェアファイルとを比べることにより当該検査対象ソフトウェアファイル内のウイルスを検知するウイルススキャン手段と、
検査対象のソフトウェア実行中に、ソフトウェア挙動が異常であることを検知する異常検知手段と、
前記異常検知手段により異常が検知された場合に、ウイルス解析に必要な情報としての異常発生時情報を収集する情報収集手段と、
前記情報収集手段により収集された異常発生時情報を利用してウイルス解析を行うことで追加パタンファイルを作成するウイルス解析手段と、
前記ウイルス解析手段により作成された追加パタンファイルを配信するパタンファイル配信手段と、
を備えるパタンファイル更新システム。
【請求項２】
前記異常検知手段により異常が検知された場合に、当該異常が既知の異常であるか否かを確認する異常新規性確認手段を更に備えることを特徴とする請求項１に記載のパタンファイル更新システム。
【請求項３】
前記異常新規性確認手段は、前記異常検知手段が利用する前記ソフトウェア挙動の要素に当該ソフトウェアがコールスタックに積むリターンアドレスを利用する場合、あるタイミングでのコールスタック上でのリターンアドレス列、もしくはあるタイミング間でのコールスタック上のリターンアドレス列の変化を利用して、前記異常検知手段が検知した異常が既存の異常であるか否かを確認することを特徴とする請求項２に記載のパタンファイル更新システム。
【請求項４】
前記異常新規性確認手段は、前記異常検知手段が前記ソフトウェア挙動に対して異常度合いを評価する手段であった場合、当該異常度合いの遷移を利用して、前記異常検知手段が検知した異常が既存の異常であるか否かを確認することを特徴とする請求項２に記載のパタンファイル更新システム。
【請求項５】
パタンファイルと検査対象ソフトウェアファイルとを比べることにより当該検査対象ソフトウェアファイル内のウイルスを検知するウイルススキャンステップと、
検査対象のソフトウェア実行中に、ソフトウェア挙動が異常であることを検知する異常検知ステップと、
前記異常検知ステップにおいて異常が検知された場合に、ウイルス解析に必要な情報としての異常発生時情報を収集する情報収集ステップと、
前記情報収集ステップにおいて収集された異常発生時情報を利用してウイルス解析を行うことで、追加パタンファイルを作成するウイルス解析ステップと、
前記ウイルス解析ステップにおいて作成された追加パタンファイルを配信するパタンファイル配信ステップと、
を備えるパタンファイル更新方法。
【請求項６】
コンピュータを、
パタンファイルと検査対象ソフトウェアファイルとを比べることにより当該検査対象ソフトウェアファイル内のウイルスを検知するウイルススキャン手段と、
検査対象のソフトウェア実行中に、ソフトウェア挙動が異常であることを検知する異常検知手段と、
前記異常検知手段により異常が検知された場合に、ウイルス解析に必要な情報としての異常発生時情報を収集する情報収集手段と、
前記情報収集手段により収集された異常発生時情報を利用してウイルス解析を行うことで追加パタンファイルを作成するウイルス解析手段と、
前記ウイルス解析手段により作成された追加パタンファイルを配信するパタンファイル配信手段、
として機能させるためのパタンファイル更新プログラム。
【請求項７】
検査対象機器で動作する、
パタンファイルと検査対象ソフトウェアファイルとを比べることにより当該検査対象ソフトウェア内のウイルスを検知するウイルススキャン手段と、
検査対象のソフトウェア実行中に、ソフトウェア挙動が異常であることを検知する異常検知手段と、
前記異常検知手段により異常が検知された場合に、ウイルス解析に必要な情報としての異常発生時情報を収集する情報収集手段と、
前記検査対象機器又はサーバで動作する、
前記情報収集手段により収集された異常発生時情報を利用してウイルス解析を行うことで、追加パタンファイルを作成するウイルス解析手段と、
前記サーバで動作する、前記ウイルス解析手段により作成された追加パタンファイルを配信するパタンファイル配信手段と、
を備えるパタンファイル更新システム。
【請求項８】
検査対象機器が、パタンファイルと検査対象ソフトウェアファイルとを比べることにより当該検査対象ソフトウェアファイル内のウイルスを検知するウイルススキャンステップと、
前記検査対象機器がソフトウェア実行中に、ソフトウェア挙動が異常であることを検知する異常検知ステップと、
前記検査対象機器が、前記異常検知ステップにおいて異常が検知された場合に、ウイルス解析に必要な情報としての異常発生時情報を収集する情報収集ステップと、
前記検査対象機器又は前記サーバが、前記情報収集ステップにおいて収集された異常発生時情報を利用してウイルス解析を行うことで、追加パタンファイルを作成するウイルス解析ステップと、
前記サーバが、前記ウイルス解析ステップにおいて作成された追加パタンファイルを配信するパタンファイル配信ステップと、
を備えるパタンファイル更新方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パタンファイル更新システム、パタンファイル更新方法、及びパタンファイル更新プログラムに関する。
【背景技術】
【０００２】
パーソナルコンピュータ（ＰＣ：personal computer）等の計算機機器はウイルスによる攻撃にさらされている。ＰＣに対するウイルスによる被害は年々増加し、さらに悪質化している。例えば、以前はいたずらを目的としたウイルスが主流であったが、最近では金銭目的のウイルスが増加している。携帯電話に関していえば、一般的に携帯電話はＰＣよりも個人情報をより多く含んでいる場合が多く、高機能化を実現した携帯電話では電子マネーなど価値の高い情報も多く含んでいる。現在日本においては携帯電話を対象としたウイルスは発生していないが、携帯電話の高機能化、携帯電話の汎用ＯＳの利用、攻撃の高度化という背景から、携帯電話に対するウイルス対策技術を向上させることが必要である。
【０００３】
現在、ＰＣ向けのウイルス対策技術としてはウイルススキャンが主流となっている。この手法ではウイルスの特徴点をパターンデータとして予め記録しておき、検査時にはこのパタンとマッチするものがないかを調べる。そのため、新種ウイルス等パタンが定義されていない未知のウイルスは検知することができず、新たなパタンが追加されるまでの期間に被害が拡大してしまうという問題点を有している。
【０００４】
コンピュータウィルスの発生を早期に判定し、感染被害の拡大を未然に防ぐ方法として、例えば以下の特許文献１に記載された方法がある。
【特許文献１】特開２００７−２３３８３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記文献においては、新種ウイルスに関する情報を網羅的及び迅速に抽出及び分析し、結果を配信することは考慮されていないため、抽出及び分析の結果としての追加パタンファイルを早期に配信できないという課題があった。
【０００６】
そこで本発明は、上述の課題に鑑み、追加パタンファイルを早期に配信することが可能となるパタンファイル更新システム、パタンファイル更新方法、及びパタンファイル更新プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明のパタンファイル更新システムは、パタンファイルと検査対象ソフトウェアファイルとを比べることにより当該検査対象ソフトウェアファイル内のウイルスを検知するウイルススキャン手段と、検査対象のソフトウェア実行中に、ソフトウェア挙動が異常であることを検知する異常検知手段と、異常検知手段により異常が検知された場合に、ウイルス解析に必要な情報としての異常発生時情報を収集する情報収集手段と、情報収集手段により収集された異常発生時情報を利用してウイルス解析を行うことで追加パタンファイルを作成するウイルス解析手段と、ウイルス解析手段により作成された追加パタンファイルを配信するパタンファイル配信手段と、を備えることを特徴とする。
【０００８】
この構成により、ウイルススキャン手段は、パタンファイルと検査対象ソフトウェアファイルとを比べることにより当該検査対象ソフトウェアファイル内のウイルスを検知し、異常検知手段は、検査対象のソフトウェア実行中にソフトウェア挙動が異常であることを検知し、異常検知手段により異常が検知された場合に、情報収集手段は、ウイルス解析に必要な情報としての異常発生時情報を収集し、ウイルス解析手段は、情報収集手段により収集された異常発生時情報を利用してウイルス解析を行うことで追加パタンファイルを作成し、パタンファイル配信手段は、ウイルス解析手段により作成された追加パタンファイルを配信することとなり、追加パタンファイルを早期に配信することが可能となる。
【０００９】
また、本発明のパタンファイル更新システムは、異常検知手段により異常が検知された場合に、当該異常が既知の異常であるか否かを確認する異常新規性確認手段を更に備えることが好適である。
【００１０】
この構成により、異常新規性確認手段は、異常が既知の異常であるか否かを確認するため、必要のない情報を取得することを防ぐことが可能となる。
【００１１】
また、本発明のパタンファイル更新システムは、異常新規性確認手段は、異常検知手段が利用するソフトウェア挙動の要素に当該ソフトウェアがコールスタックに積むリターンアドレスを利用する場合、あるタイミングでのコールスタック上でのリターンアドレス列、もしくはあるタイミング間でのコールスタック上のリターンアドレス列の変化を利用して、異常検知手段が検知した異常が既存の異常であるか否かを確認することが好適である。
【００１２】
この構成により、異常新規性確認手段は、異常が既知の異常であるか否かをより正確に確認することが可能となる。
【００１３】
また、本発明のパタンファイル更新システムは、異常新規性確認手段は、異常検知手段が前記ソフトウェア挙動に対して異常度合いを評価する手段であった場合、当該異常度合いの遷移を利用して、異常検知手段が検知した異常が既存の異常であるか否かを確認することが好適である。
【００１４】
この構成により、異常新規性確認手段は、異常が既知の異常であるか否かを更に正確に確認することが可能となる。
【００１５】
上記課題を解決するために、本発明のパタンファイル更新方法は、パタンファイルと検査対象ソフトウェアファイルとを比べることにより当該検査対象ソフトウェアファイル内のウイルスを検知するウイルススキャンステップと、検査対象のソフトウェア実行中に、ソフトウェア挙動が異常であることを検知する異常検知ステップと、異常検知ステップにおいて異常が検知された場合に、ウイルス解析に必要な情報としての異常発生時情報を収集する情報収集ステップと、情報収集ステップにおいて収集された異常発生時情報を利用してウイルス解析を行うことで、追加パタンファイルを作成するウイルス解析ステップと、ウイルス解析ステップにおいて作成された追加パタンファイルを配信するパタンファイル配信ステップと、を備えることを特徴とする。
【００１６】
この構成により、ウイルススキャンステップにおいて、パタンファイルと検査対象ソフトウェアファイルとを比べることにより当該検査対象ソフトウェアファイル内のウイルスを検知し、異常検知ステップにおいて、検査対象のソフトウェア実行中にソフトウェア挙動が異常であることを検知し、異常検知ステップにおいて異常が検知された場合に、情報収集ステップにおいて、ウイルス解析に必要な情報としての異常発生時情報が収集され、ウイルス解析ステップにおいて、情報収集ステップにおいて収集された異常発生時情報を利用してウイルス解析を行うことで追加パタンファイルが作成され、パタンファイル配信ステップにおいて、ウイルス解析ステップにおいて作成された追加パタンファイルが配信されるため、追加パタンファイルを早期に配信することが可能となる。
【００１７】
上述した本発明に係るパタンファイル更新システムは、以下のように、パタンファイル更新プログラムに係る発明として捉えることができる。
【００１８】
即ち、本発明に係る端末制御プログラムは、コンピュータを、パタンファイルと検査対象ソフトウェアファイルとを比べることにより当該検査対象ソフトウェアファイル内のウイルスを検知するウイルススキャン手段と、検査対象のソフトウェア実行中に、ソフトウェア挙動が異常であることを検知する異常検知手段と、異常検知手段により異常が検知された場合に、ウイルス解析に必要な情報としての異常発生時情報を収集する情報収集手段と、情報収集手段により収集された異常発生時情報を利用してウイルス解析を行うことで追加パタンファイルを作成するウイルス解析手段と、ウイルス解析手段により作成された追加パタンファイルを配信するパタンファイル配信手段、として機能させることを特徴とする。即ち、図７に示すように、パタンファイル更新プログラムは、上記コンピュータをパタンファイルと検査対象ソフトウェアファイルとを比べることにより当該検査対象ソフトウェアファイル内のウイルスを検知するウイルススキャンモジュールと、検査対象のソフトウェア実行中に、ソフトウェア挙動が異常であることを検知する異常検知モジュールと、異常検知手段により異常が検知された場合に、ウイルス解析に必要な情報としての異常発生時情報を収集する情報収集モジュールと、情報収集モジュールにより収集された異常発生時情報を利用してウイルス解析を行うことで追加パタンファイルを作成するウイルス解析モジュールと、ウイルス解析手段により作成された追加パタンファイルを配信するパタンファイル配信モジュールとを備える。
【００１９】
上記課題を解決するために本発明のパタンファイル更新システムは、検査対象機器で動作する、パタンファイルと検査対象ソフトウェアファイルとを比べることにより当該検査対象ソフトウェアファイル内のウイルスを検知するウイルススキャン手段と、検査対象のソフトウェア実行中に、ソフトウェア挙動が異常であることを検知する異常検知手段と、異常検知手段により異常が検知された場合に、ウイルス解析に必要な情報としての異常発生時情報を収集する情報収集手段と、検査対象機器又はサーバで動作する、情報収集手段により収集された異常発生時情報を利用してウイルス解析を行うことで、追加パタンファイルを作成するウイルス解析手段と、サーバで動作する、前記ウイルス解析手段により作成された追加パタンファイルを配信するパタンファイル配信手段と、を備えることを特徴とする。
【００２０】
上記課題を解決するために本発明のパタンファイル更新方法は、検査対象機器が、パタンファイルと検査対象ソフトウェアファイルとを比べることにより当該検査対象ソフトウェアファイル内のウイルスを検知するウイルススキャンステップと、検査対象機器がソフトウェア実行中に、ソフトウェア挙動が異常であることを検知する異常検知ステップと、検査対象機器が、異常検知ステップにおいて異常が検知された場合に、ウイルス解析に必要な情報としての異常発生時情報を収集する情報収集ステップと、検査対象機器又はサーバが、情報収集ステップにおいて収集された異常発生時情報を利用してウイルス解析を行うことで、追加パタンファイルを作成するウイルス解析ステップと、サーバが、ウイルス解析ステップにおいて作成された追加パタンファイルを配信するパタンファイル配信ステップと、を備えることを特徴とする。
【００２１】
これらの発明によっても追加パタンファイルを早期に配信することが可能となる。
【発明の効果】
【００２２】
本発明によれば、追加パタンファイルを早期に配信することが可能となる。
【発明を実施するための最良の形態】
【００２３】
［第一実施形態］
以下、本発明の実施形態を、図を用いて説明する。
【００２４】
図１に本実施形態におけるパタンファイル更新システムの機能構成図を示す。これは一例であって、構成はこれに限らない。本実施形態に係るパタンファイル更新システムは、検査対象機器１００（検査対象）、データマイニング部２００、ウイルス解析部３００（ウイルス解析手段）、及びパタンファイル配信部４００（パタンファイル配信手段）を含んで構成される。
【００２５】
検査対象機器１００は、検査される対象としての機器であり、本実施形態においては説明のための例として携帯電話機を用いている。但し、これに限らず簡易型携帯電話機（ＰＨＳ：Personal Handy-phone System）、通信機能を有する携帯型情報端末（ＰＤＡ：Personal Digital Assistant）、或いはパーソナルコンピュータ（ＰＣ：personal computer）などであっても良い。検査対象機器１００は、具体的にはウイルススキャン部１１０（ウイルススキャン手段）、異常検知部１２０（異常検知手段）、情報収集部１３０（情報収集手段）を含んで構成されている。検査対象機器１００は、検査対象１０（検査対象ソフトウェアファイル）、パタンファイル１１（パタンファイル）、システム内情報１５を入力値とし、異常発生時情報１６を出力する。
【００２６】
なお、本実施形態で説明のため用いる例においては、データマイニング部２００、及びウイルス解析部３００はサーバに含まれる機能として説明しているが、検査対象機器１００に含まれていても良い。データマイニング部２００が検査対象機器１００に含まれている場合には、検査対象機器１００は抽出情報１７を出力する。又、データマイニング部２００に加えウイルス解析部３００も検査対象機器１００に含まれている場合には検査対象機器１００は追加パタンファイル１８を出力する。
【００２７】
ウイルススキャン部１１０は、ウイルスの特徴的なコードを抽出したパタンを記録したパタンファイル１１、及び検査対象機器１００上で利用される検査対象１０を受け取り、検査対象１０にパタンファイル１１に記録されたパタンが含まれないかを検査する機能を有する。ウイルススキャン部１１０は、検査対象１０にパタンファイル１１に記録されたパタンが含まれる場合、検査対象１０にウイルスが存在すると判断する。その場合、検査対象機器１００は、実行停止、ファイル削除等の処置を行ってもよい。ウイルススキャン部１１０は、検査対象１０にウイルスが存在しないと判断した場合、ウイルスが存在しない旨の情報としてのスキャン結果１２を異常検知部１２０に通知する。
【００２８】
異常検知部１２０は、検査対象機器１００上で実行されるソフトウェアの挙動を検査することで異常を検知する機能、及び異常を検知した場合に、情報収集部１３０に対して検知結果１４を通知する機能を有する。
【００２９】
具体的には、異常検知部１２０は、検査対象１０及びスキャン結果１２を受け取る。異常検知部１２０は、異常検知部１２０が備えるブラックリスト及びホワイトリストの少なくとも一方と、受け取った検査対象１０と、を比較することで異常を検知する。以下、異常検知部１２０における異常の検知方法について詳細に説明する。
【００３０】
検査の方法には２種類あり、予め正常な挙動を記録しておき、これと異なる挙動を異常と検知するホワイトリスト形式と、予め異常な挙動を記録しておき、これと合う挙動を異常と検知するブラックリスト形式である。ここではどちらを利用してもよいし、併用してもよい。
【００３１】
挙動としてはソフトウェア動作の特徴を表すものを利用することができ、例えばリソースの利用状況、ファイルアクセス、システムコール呼び出し、関数コール呼び出し等があげられ、これらを利用してホワイトリストおよびブラックリストを作成することができる。前記４種類を挙動とした場合のホワイトリストの例を図２に示す。これら挙動の種類は一つでも複数利用してもよい。
【００３２】
ここで、複数利用する場合の例として、システムコール呼び出しと関数コール呼び出しを用いた場合を説明する。あるソフトウェアが関数を呼び出すと、コールスタックに呼び出した関数のリターンアドレスをｐｕｓｈする。このリターンアドレスは関数がリターンされるとｐｏｐされ、コールスタックから消える。つまり、ある時点でのコールスタックに積まれたリターンアドレスを調べることにより、これまでソフトウェアが呼び出し、且リターンされていない関数を知ることができる。これをソフトウェアの挙動の特徴として利用することができる。
【００３３】
リターンアドレスがｐｕｓｈおよびｐｏｐされる度にコールスタックのデータを挙動として取得してもよい。又、あるタイミングに限定して取得しても良い。あるタイミングに限定する構成とすることで、データ量を抑えることが可能となる。この場合、あるタイミングとしてはシステムコールを利用することができる。一般的に、ウイルスが悪意のある動作をする場合、ＯＳの機能を利用する必要があり、その際システムコールが使われる可能性が高いので、システムコールを契機にコールスタックを調べる方法により効率を向上できる。
【００３４】
システムコール発行時のコールスタックを調査する場合、システムコール種類とそのときのコールスタック上のリターンアドレスを挙動として定義してもよい。この場合の例を図３に示す。
【００３５】
システムコール発行時のコールスタックを調査する場合、更に、システムコール間のコールスタック上のリターンアドレスの変化を挙動として定義してもよい。この場合の例を図４に示す。図４の例では、図４中の（Ａ）と（Ｂ）のリターンアドレスを最下部から比較すると、一致部分は（Ｃ）となり不一致部分が（Ｄ）となる。この不一致部分（Ｄ）を挙動に利用する。この例では、システムコールｏｐｅｎとｒｅａｄの間にｑ、ｐがｐｏｐされ、ｆがｐｕｓｈされているが、不一致部分からこれらの関数に変化があったことがわかる。この例ではｐｏｐされたものかｐｕｓｈされたものか判別できないが、この情報を付与して挙動としてもよい。これらを実装する場合は、システムコールフックは、ｐｔｒａｃｅシステムコール等を利用してもよいし、システムコール呼び出しフローを書き換え、システムコール呼び出しごとに、フック関数に制御を移すようにしてもよい。またコールスタックのリターンアドレスを取得するためには、フレームポインタが利用できる。コールスタックにはリターンアドレス以外にも、変数、その他のレジスタ値等が記録されており、コールスタックのどのアドレスにリターンアドレスが記録されているかを知る必要があるが、フレームポインタを利用することでこの情報を得ることができる。また、ＡＲＭアーキテクチャ等、特殊な環境ではフレームポインタを利用できない場合があるが、その場合はＤｅｂｕｇ情報を利用する、もしくはバイナリを逆アセンブルして解析する等の方法によりリターンアドレスが記録されているアドレスを知ることができる。リターンアドレス取得のためのシステムコールが用意されている環境では、これを利用してもよい。例えばＷｉｎｄｏｗｓ（登録商標）のGetThreadCallStack等が該当する。
【００３６】
異常検知部１２０は、ホワイトリストにない挙動もしくはブラックリストにある挙動が一回でも取得された段階で異常を検知してもよい。または、複数回取得された段階で異常を検知してもよい。さらに、各挙動の異常度合いを累積していき、ある閾値を超えたときに異常が発生したと判断してもよい。
【００３７】
情報収集部１３０は、異常検知部１２０から検知結果１４が通知された場合、システム内情報１５に基づいてウイルス解析に必要となる情報としての異常発生時情報１６を収集する機能を有する。また情報収集部１３０は、収集した異常発生時情報１６をデータマイニング部２００に送信する機能を有する。なお、データマイニング部２００は省略しても良い。その場合には情報収集部１３０は、収集した異常発生時情報１６を、ウイルス解析部３００へ送信する。
【００３８】
異常発生時情報１６として例えば、ある期間にアクセスされたＵＲＬ及びファイル、ある期間に発行したシステムコール及び呼び出した関数、メモリダンプ、並びに操作履歴等が挙げられる。更に、ＯＳ（operating system）の種類、ソフトウェア名、及びバージョン等のソフトウェア実行環境の情報も利用できる。
【００３９】
データマイニング部２００は、情報収集部１３０により収集された異常発生時情報１６を受け取り、当該受け取った異常発生時情報１６に基づいてウイルス解析に有用な情報としての抽出情報１７を作成する機能を有する。以下、データマイニング部２００が異常発生時情報１６から抽出情報１７を作成する方法について詳細に説明する。
【００４０】
抽出ポイントは二つある。一つ目は、同じウイルスによる情報を一つに集約すること、二つ目は、異常発生時情報１６から不要なものを取り除くことである。前者は、送られてきた情報をデータベース化しておき、照らし合わせて同定することにより実現できる。データの内容は、情報収集部１３０により送られてくる情報に依存する。また、ウイルスの種類または異常検知部１２０の手法によっては、ウイルス解析に必要な情報を特定しにくい場合がある。その場合、解析に必要となる可能性のある情報が全て送られてくる。これらの情報をここで少しでも限定することにより、データ量の低減および次段階のウイルス解析の迅速化ができる。限定までできない場合でも、異常発生との関連度合いを順位付けすることも可能である。これらのためには、同じ異常発生時の複数機器からの情報を比較し、類似点を探す、もしくは正しいソフトウェアからの情報と比較し、相違点を探す等の方法が考えられる。
【００４１】
図１においては、データマイニング部２００は一つの検査対象機器１００と接続しているが、複数の検査対象機器１００と接続していても良い。この場合、データマイニング部２００は複数の情報収集部１３０から異常発生時情報１６を受け取ることとなり、新種ウイルスに関する情報をより網羅的に収集することが可能となる。また、図１ではデータマイニング部２００を検査対象機器１００の外に置いたが、検査対象機器１００に含めてもよい。この構成により、検査対象機器１００から、外部のサーバに対して、異常発生時情報１６よりデータ量の少ない抽出情報１７を送信することとなるため、通信量を減らすことが可能となる。また、検査対象機器１００に含めるのは、データマイニング部２００の機能の一部であってもよい。更に、データマイニング部２００は省略することも可能である。
【００４２】
ウイルス解析部３００は、データマイニング部２００が作成した抽出情報１７に基づき、異常が発生した原因を検出し、パタンファイル１１に含まれていないものが原因であれば、追加パタンファイル１８を作成する機能を有する。なお、データマイニング部２００を省略した場合には、ウイルス解析部３００は、情報収集部１３０から異常発生時情報１６を受信し、当該受信した異常発生時情報１６を利用して異常が発生した原因を検出する。この場合であってもウイルス解析部３００は、パタンファイル１１に含まれていないものが原因であるか否か判断をおこない、原因が新種のウイルスであれば、上記同様追加パタンファイル１８を作成する。
【００４３】
ウイルス解析部３００による抽出情報１７に基づく異常が発生した原因の検出は、現在利用されているウイルススキャンの対応と同様に行うことができる。異常検知部１２０はウイルスではなくても、例えばバグによるイレギュラーな挙動でも異常とみなす。また、異常検知部１２０の有しているホワイトリストもしくはブラックリストの不備によっても、ウイルスに感染していないにもかかわらず異常が発生したと判断する。これらはウイルス解析の段階で初めて判明する。異常の原因がバグやリストの不備だった場合は、バグもしくはリストの修正を依頼するようにしてもよい。
【００４４】
パタンファイル配信部４００は、ウイルス解析部３００によって作成された追加パタンファイル１８を、全ての機器もしくはこれを必要とする機器に配信する機能を有する。該当ウイルスがある特定の環境（例えばＯＳの種類,ソフトウェアのバージョン）でしか感染しないものであれば、該当する環境を有する機器のみに配信してもよい。
【００４５】
図５に、検査対象機器１００のハードウェア構成を示す。図５に示すように検査対象機器１００は、物理的には、ＣＰＵ２１、主記憶部２２、ハードディスクなどの補助記憶部２３、通信を制御する通信制御部２４、ＬＣＤや有機ＥＬディスプレイなどの表示部２５、及びキーボード等の操作部２６を含んで構成される。パタンファイル更新システム１の各機能は、ＣＰＵ２１、主記憶部２２等のハードウェア上に所定のソフトウェアを読み込ませることにより、ＣＰＵ２１の制御のもとで通信制御部２４、表示部２５、及び操作部２６を動作させると共に、主記憶部２２及び補助記憶部２３におけるデータの読み出し及び書き込みを行うことで実現される。
【００４６】
上記ハードウェア構成と機能的構成との対応関係を以下に示す。検査対象機器１００に関して、ウイルススキャン部１１０、異常検知部１２０、情報収集部１３０、データマイニング部２００、及びウイルス解析部３００の有する機能は、物理的な構成要素としてＣＰＵ２１が所定のプログラムを実行することにより実現される。
【００４７】
続いて、図６を用いて本実施形態のパタンファイル更新システム１における処理の流れを説明する。図６の処理は、ソフトウェアの実行が開始された時点で処理が始まる。
【００４８】
ウイルススキャン部１１０は、検査対象機器１００上にあるソフトウェアの実行に必要なファイルを検査対象１０として取得し（ステップＳ１０１）、当該取得した検査対象１０と、パタンファイル１１と、を比較することで検査対象１０にウイルスが存在しないか確認する（ステップＳ１０２）。ウイルスが存在する場合（ステップＳ１０２において“ＹＥＳ”）は、検査対象機器１００は、該当ファイルの利用を停止する或いは削除する等のウイルスブロック或いは駆除の措置を行う（ステップＳ１０３）。ステップＳ１０３がなされると、処理が終了する。但し、検査対象機器１００は、Ｓ１０３の処理の後、ソフトウェアを実行し、Ｓ１０４へ進んでも良い。ウイルスが存在しない場合（ステップＳ１０２において“ＮＯ”）、ソフトウェアの実行が開始される。
【００４９】
異常検知部１２０は、ソフトウェアの実行中ソフトウェアの挙動としての検査対象１０を随時取得し（ステップＳ１０４）、当該取得した検査対象１０に基づいて異常が発生していないかを検査する（ステップＳ１０５）。異常検知部１２０が異常を検知した場合（ステップＳ１０５において“ＹＥＳ”）、異常検知部１２０は、検知結果１４を情報収集部１３０へ通知する。情報収集部１３０は、異常が発生した旨の検知結果１４を受信すると、ウイルス解析に必要となる可能性のある情報としての異常発生時情報１６を収集する（ステップＳ１０６）。データマイニング部２００は、情報収集部１３０が収集した異常発生情報１６から、ウィルス解析に有効な情報を抽出する（ステップＳ１０７）。ウイルス解析部３００は、データマイニング部２００が抽出した情報を利用してウイルス解析を行い、追加パタンファイル１８を作成する（ステップＳ１０８）。パタンファイル配信部４００は、ウイルス解析部３００が作成した追加パタンファイル１８を必要としている機器に配信する（ステップＳ１０９）。ステップＳ１０９がなされると、処理が終了する。但し、Ｓ１０９の後、検査対象機器でアプリケーションを再開して実行および監視を続けてもよい。なお、ステップＳ１０７は省略してもよい。その場合、ステップＳ１０８においてウイルス解析部は、情報収集部１３０が収集した異常発生時情報１６を利用してウイルス解析を行い、追加パタンファイル１８を作成する。
【００５０】
ソフトウェア実行中に新たなファイルを入力値として利用する場合、もしくは別プログラムを呼び出す場合等、Ｓ１０１、Ｓ１０２はループ中でも随時実行される。また、Ｓ１０５において異常検知部１２０が異常の発生を検知した場合、ソフトウェアの実行は停止している。このままソフトウェアの利用を中断させてもよいし、ソフトウェアの実行と、図６におけるステップＳ１０６からステップＳ１０９までの処理は、別処理として平行して行われてもよい。
【００５１】
次に本実施形態のパタンファイル更新システム１の作用効果について説明する。
【００５２】
本実施形態におけるパタンファイル更新システム１のウイルススキャン部１１０は、パタンファイル１１と検査対象１０とを比べることにより検査対象１０内のウイルスを検知し、異常検知部１２０は、検査対象１０のソフトウェア実行中にソフトウェア挙動が異常であることを検知し、異常検知部１２０により異常が検知された場合に、情報収集部１３０は、ウイルス解析に必要な情報としての異常発生時情報１６を収集し、ウイルス解析部３００は、情報収集部１３０により作成された異常発生時情報１６を利用してウイルス解析を行うことで追加パタンファイル１８を作成し、パタンファイル配信部４００は、ウイルス解析部３００により作成された追加パタンファイル１８を機器に配信するため、追加パタンファイル１８を早期に配信することが可能となる。
【００５３】
なお、追加パタンファイル１８を早期に配信することにより、新種ウイルスに感染する被害者数を低減させることが可能となる。すなわち、本発明によれば、セキュリティベンダは、新種ウイルスに関する情報を網羅的にかつ迅速に収集することが可能となり、結果的に新種ウイルスに感染する被害者数を低減させることができる。
【００５４】
一般的に、新たなパタンが追加されるまでの期間は、（１）新種ウイルスがセキュリティベンダに発見されるまでの期間、（２）セキュリティベンダが新種ウイルスの解析を行い、追加パタンファイル１８を作成するまでの期間、及び（３）追加パタンファイル１８が各ウイルススキャンに配信されるまでの期間に分けられる。本発明は、主に（１）の期間を短縮するところに注目した。
【００５５】
セキュリティベンダは新たなウイルスを発見するために、主に（Ａ）ウイルスの作成者による書き込み等、インターネットサイトの調査、（Ｂ）意図的にウイルスに感染しやすい環境を用意してウイルスを捕まえるハニーポットの利用、（Ｃ）実際に被害にあったユーザからの通知、を利用している。しかし、（Ａ）では全てのウイルスに関する情報がインターネットサイトに書き込まれるわけではなく、さらに、書き込まれるまでのタイムラグ、サイト調査の手間という問題もある。また、（Ｂ）ではウイルスがハニーポットに到達するまでに時間がかかるという問題があり、さらにインターネットを介さずに拡散する（外部メディア、Ｂｌｕｅｔｏｏｔｈ等）ウイルスを検知することが困難である。（Ｃ）では、被害に合ったユーザが全て通知をしてくれるわけではないうえ、ユーザに気づかれないウイルスもあるため、情報が十分であるとはいえない。本発明のパタンファイル更新システム１を用いることにより、上記問題点を克服し、新種ウイルスに関する情報を早急にセキュリティベンダに伝えることが可能となる。
【００５６】
［第二実施形態］
次に本発明に係る第二の実施形態について図８、図９、及び図１０を用いて説明する。なお、前記第一実施形態と同様である部分はここでは説明を省略し、第一実施形態と異なる部分を中心に説明する。
【００５７】
図８に本実施形態におけるパタンファイル更新システム１の機能構成図を示す。図８に示すように本実施形態のパタンファイル更新システム１は、検査対象機器１００、データマイニング部２００、ウイルス解析部３００、及びパタンファイル配信部４００を含んで構成される。前記第一実施形態との差異は検査対象機器１００が更に異常新規性確認部１２５を備える点である。
【００５８】
異常新規性確認部１２５は、異常検知部１２０から検知結果１４を受け取る機能、検知結果１４を受け取った場合に異常検知部１２０が検知した異常が既知のものであるか否かを確認する機能、及び確認した結果に応じて検知結果１４を出力する機能を有する。以下、異常新規性確認部１２５が異常検知部１２０が検知した異常が既知のものであるか否かを確認する方法について述べる。
【００５９】
検査対象機器１００は、図示しない保持部に過去のデータを保持し、異常新規性確認部１２５は、当該記録した過去のデータと、異常検知部１２０から受け取った検知結果１４と、を比較してもよい。または、ウイルス解析部３００と連携したデータベース上に記録した過去のデータと比較してもよい。このデータベースには、実際にウイルスが原因であった異常、バグによる異常、リストの不備による異常、など分類しておき、比較して既知の異常であると判明した際には、それぞれにあわせた対応をすることが好適である。その構成によって、異常に対して効率よく対応することが可能となる。
【００６０】
データベースの要素は、挙動として定義されたものを利用する。これ以外にも、挙動に付随するデータ、例えば異常度合いを表すスコア等もデータベースに登録してもよい。更に、データベースの挙動とのマッチングは、エグザクトマッチングを用いてもよい。データベースの挙動とのマッチングは更に類推を利用してもよい。類推を利用する構成とすることで以下の効果を得ることができる。すなわち、例えば図３に示した挙動を採用した場合、図９のようにウイルスにより悪意のある動作をする関数Ｚが呼ばれたとする。図９の（Ａ）と（Ｂ）では下から３つ目の関数がｘとｙで異なっているため、エグザクトマッチングをすると、これらは異なると判断される。しかし、条件分岐でたまたま異なる分岐をしたために異なっただけとも考えられる。この場合、同じウイルスに感染したと考えるのが正しい可能性が高いが、類推を利用することで、同じウイルスに感染したと検出することが可能となる。
【００６１】
この場合、コールスタック上位のみの比較により類似性を判断してもよいし、異常度合いをスコアで表し、累積していくような場合は、スコアの変遷の仕方によって類似性を見出してもよい。
【００６２】
次に図１０を用いて本実施形態のパタンファイル更新システム１における処理の流れを説明する。
【００６３】
前記第一実施形態と、本実施形態との差異は、ステップＳ２０６が新たに加わる点である。その他については、前記第一実施形態と同様であるため、ここでは説明を省略する。なお、ステップＳ２０１〜ステップＳ２０５に関しては、図６におけるステップＳ１０１〜ステップＳ１０５に対応し、ステップＳ２０７〜ステップＳ２１０に関しては、図６におけるステップＳ１０６〜ステップＳ１０９に対応する。
【００６４】
異常検知部１２０が異常を検知すると（ステップＳ２０５において“ＹＥＳ”）、異常検知部１２０は、検知結果１４を異常新規性確認部１２５に通知する（ステップＳ２０５）。異常新規性確認部１２５は、異常検知部１２０から検知結果１４の通知を受けると、異常検知部１２０が検知した異常が既知の異常か否かを確認する（ステップＳ２０６）。異常新規性確認部１２５は、異常検知部１２０が検知した異常が既知の異常であることを確認しない場合には（ステップＳ２０６において“ＮＯ”）、異常新規性確認部１２５は、情報収集部１３０に対して検知結果１４を通知し、情報収集部１３０はウイルス解析に必要となる可能性のある情報を収集する（ステップＳ２０７）。異常新規性確認部１２５は、異常検知部１２０が検知した異常が既知の異常であることを確認した場合には（ステップＳ２０６において“ＹＥＳ”）、異常新規性確認部１２５は、情報収集部１３０に対して検知結果１４を通知することなく、ステップＳ２０４の処理がなされる。また、ステップＳ２０６において“ＹＥＳ”となった場合、ソフトウェアの実行を終了しても良い。
【００６５】
次に本実施形態におけるパタンファイル更新システム１の作用効果について説明する。
【００６６】
本実施形態におけるパタンファイル更新システム１は、ウイルススキャン部１１０は、パタンファイル１１と検査対象１０とを比べることにより検査対象１０内のウイルスを検知し、異常検知部１２０は、検査対象１０のソフトウェア実行中にソフトウェア挙動が異常であることを検知し、異常検知部１２０により異常が検知された場合に、異常新規性確認部１２５は、異常が既知の異常であるか否かを確認し、異常新規性確認部１２５によって、当該異常が既知であることが確認されない場合に、情報収集部１３０は、ウイルス解析に必要な情報としての異常発生時情報１６を収集し、ウイルス解析部３００は、情報収集部１３０により収集された異常発生時情報１６を利用してウイルス解析を行うことで追加パタンファイル１８を作成し、パタンファイル配信部４００は、ウイルス解析部３００により作成された追加パタンファイル１８を機器に配信することとなり、必要のない情報を取得することを防ぐことが可能となる。
【図面の簡単な説明】
【００６７】
【図１】第一実施形態におけるパタンファイル更新システムの機能構成を示す図である。
【図２】異常検知用ホワイトリストの例を示す図である。
【図３】挙動例を示す模式図である。
【図４】挙動例を示す模式図である。
【図５】図１に示す検査対象機器のハードウェア構成図である。
【図６】第一実施形態におけるパタンファイル更新システムにおける処理の流れを示す図である。
【図７】第一実施形態におけるパタンファイル更新プログラムの機能構成を示す図である。
【図８】第二実施形態におけるパタンファイル更新システムの機能構成を示す図である。
【図９】挙動例を示す模式図である。
【図１０】第二実施形態におけるパタンファイル更新システムにおける処理の流れを示す図である。
【符号の説明】
【００６８】
１…パタンファイル更新システム、１０…検査対象、１１…パタンファイル、１２…スキャン結果、１４…検知結果、１６…異常発生時情報、１７…抽出情報、１８…追加パタンファイル、１００…検査対象機器、１１０…ウイルススキャン部、１２０…異常検知部、１２５…異常新規性確認部、１３０…情報収集部、２００…データマイニング部、３００…ウイルス解析部、４００…パタンファイル配信部。
【図１】
2010134536.tif 000003
【図２】
2010134536.tif 000004
【図３】
2010134536.tif 000005
【図４】
2010134536.tif 000006
【図５】
2010134536.tif 000007
【図６】
2010134536.tif 000008
【図７】
2010134536.tif 000009
【図８】
2010134536.tif 000010
【図９】
2010134536.tif 000011
【図１０】
2010134536.tif 000012