(57)【要約】【課題】少ないメモリ容量でもマルウェアの検出を可能にすると共に、マルウェアを検出した場合は該マルウェアによる被害を及ぼす装置動作を制限できるマルウェア対処システム、方法及びプログラムを提供する。【解決手段】システムコールフック部で検出したシステムコールを契機に第１のマルウェア検出部が簡易的にマルウェアを検出する。第２のマルウェア検出部は、マルウェアの検出処理を実行するための追加ソフトウェア及び第２のデータベースで保存するマルウェアの検出に用いるデータである追加パターンを取得してマルウェアを詳細に検出する。マルウェアが検出されると、第３のデータベースであるセキュリティ制御データベースが変更され、セキュリティ制御部は該第３のデータベースに基づいて装置動作を制御する。【選択図】図２
2009238153.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアがマルウェアであるか否かを検査し、該マルウェアによる装置の不正動作を無効にするためのマルウェア対処システムであって、
前記検査対象となるプロセスが発行するシステムコールをトラップするシステムコールフック部と、
前記システムコールの発行を契機に、第１のデータベースを用いて前記ソフトウェアがマルウェアであるか否かを検出する第１のマルウェア検出部と、
第２のデータベースを用いて前記第１のマルウェア検出部よりも詳細に前記ソフトウェアがマルウェアであるか否かを検出する第２のマルウェア検出部と、
第３のデータベースを用いて前記システムコールによる動作を制限するセキュリティ制御部と、
前記第１のマルウェア検出部または前記第２のマルウェア検出部で前記マルウェアを検出すると、前記第３のデータベースを変更するセキュリティ制御データベース変更部と、
前記第２のマルウェア検出部に前記マルウェアの検出処理を実行させるための追加ソフトウェア及び前記第２のデータベースで保存する前記マルウェアの検出に用いるデータである追加パターンを取得する追加検出部更新部と、
を有するマルウェア対処システム。
【請求項２】
前記第１のマルウェア検出部は、
前記第１のデータベースに格納された前記マルウェアの特徴的なデータ列であるパターンデータの一部を用いて前記マルウェアを検出する請求項１記載のマルウェア対処システム。
【請求項３】
前記追加パターンは、
前記第２のデータベースに格納された前記マルウェアの特徴的なデータ列であるパターンデータ及び前記マルウェアによる装置動作の特徴を示す情報を含む請求項１または２記載のマルウェア対処システム。
【請求項４】
前記追加ソフトウェア及び前記追加パターンを分割して取得するための分割取得部を有する請求項１から３のいずれか１項記載のマルウェア対処システム。
【請求項５】
前記セキュリティ制御データベース変更部は、
前記第１のマルウェア検出部または前記第２のマルウェア検出部が、前記検査対象となるソフトウェアをマルウェアと判定した場合、該マルウェアによる被害拡散を防止するように前記第３のデータベースを変更する請求項１から４のいずれか１項記載のマルウェア対処システム。
【請求項６】
前記セキュリティ制御データベース変更部は、
前記第１のマルウェア検出部が前記検査対象となるソフトウェアをマルウェアと判定し、前記第２のマルウェア検出部が該ソフトウェアをマルウェアでないと判定した場合、前記第１のマルウェア検出部の判定結果により変更された前記第３のデータベースを該変更前の状態に戻す請求項１から５のいずれか１項記載のマルウェア対処システム。
【請求項７】
前記セキュリティ制御データベース変更部は、
前記第１のマルウェア検出部が前記検査対象となるソフトウェアをマルウェアと判定し、前記第２のマルウェア検出部が該ソフトウェアをマルウェアでないと判定した場合、該ソフトウェアがマルウェアでないことを示す符号を付与し、
前記前記第１のマルウェア検出部は、
前記検査対象となるソフトウェアを前記符号に基づいてマルウェアでないと判定する請求項１から６のいずれか１項記載のマルウェア対処システム。
【請求項８】
前記追加ソフトウェア及び前記追加パターンを保持し、前記追加検出部更新部からの要求にしたがって前記追加ソフトウェア及び前記追加パターンを提供するサーバ装置を有する請求項１から７のいずれか１項記載のマルウェア対処システム。
【請求項９】
前記検査対象となるプロセスでアクセスする制御対象オブジェクトに代わって該プロセスでアクセスさせる、前記制御対象オブジェクトを模擬するダミーオブジェクトを有し、
前記セキュリティ制御データベース変更部は、
前記システムコールが発行されると、当該プロセスで前記ダミーオブジェクトにアクセスするように設定する請求項１から８のいずれか１項記載のマルウェア対処システム。
【請求項１０】
前記検査対象となるソフトウェアに対して利用者から即時の利用指示が入力されると、前記第１のマルウェア検出部に対して該利用指示を通知する即時利用入力部を有し、
前記第１のマルウェア検出部は、
前記即時利用入力部から前記利用指示が通知されると、前記第２のマルウェア検出部による前記マルウェアの検出を実行させる請求項１から９のいずれか１項記載のマルウェア対処システム。
【請求項１１】
ソフトウェアがマルウェアであるか否かを検査し、該マルウェアによる装置の不正動作を無効にするためのマルウェア対処方法であって、
前記検査対象となるプロセスが発行するシステムコールをトラップするシステムコールフックステップと、
前記システムコールの発行を契機に、第１のデータベースを用いて前記ソフトウェアがマルウェアであるか否かを検出する第１のマルウェア検出ステップと、
第２のデータベースを用いて前記第１のマルウェア検出ステップよりも詳細に前記ソフトウェアがマルウェアであるか否かを検出する第２のマルウェア検出ステップと、
第３のデータベースを用いて前記システムコールによる動作を制限するセキュリティ制御ステップと、
前記第１のマルウェア検出ステップまたは前記第２のマルウェア検出ステップで前記マルウェアを検出すると、前記第３のデータベースを変更するセキュリティ制御データベース変更ステップと、
前記第２のマルウェア検出ステップに前記マルウェアの検出処理を実行させるための追加ソフトウェア及び前記第２のデータベースで保存する前記マルウェアの検出に用いるデータである追加パターンを取得する追加検出部更新ステップと、
を有するマルウェア対処方法。
【請求項１２】
前記第１のマルウェア検出ステップは、
前記第１のデータベースに格納された前記マルウェアの特徴的なデータ列であるパターンデータの一部を用いて前記マルウェアを検出する請求項１１記載のマルウェア対処方法。
【請求項１３】
前記追加パターンは、
前記第２のデータベースに格納された前記マルウェアの特徴的なデータ列であるパターンデータ及び前記マルウェアによる装置動作の特徴を示す情報を含む請求項１１または１２記載のマルウェア対処方法。
【請求項１４】
前記追加ソフトウェア及び前記追加パターンを分割して取得するための分割取得ステップを有する請求項１１から１３のいずれか１項記載のマルウェア対処方法。
【請求項１５】
前記セキュリティ制御データベース変更ステップは、
前記第１のマルウェア検出ステップまたは前記第２のマルウェア検出ステップで前記検査対象となるソフトウェアをマルウェアと判定した場合、該マルウェアによる被害拡散を防止するように前記第３のデータベースを変更する請求項１１から１４のいずれか１項記載のマルウェア対処方法。
【請求項１６】
前記セキュリティ制御データベース変更ステップは、
前記第１のマルウェア検出ステップで前記検査対象となるソフトウェアをマルウェアと判定し、前記第２のマルウェア検出ステップで該ソフトウェアをマルウェアでないと判定した場合、前記第１のマルウェア検出ステップの判定結果により変更された前記第３のデータベースを該変更前の状態に戻す請求項１１から１５のいずれか１項記載のマルウェア対処方法。
【請求項１７】
前記セキュリティ制御データベース変更ステップは、
前記第１のマルウェア検出ステップで前記検査対象となるソフトウェアをマルウェアと判定し、前記第２のマルウェア検出ステップで該ソフトウェアをマルウェアでないと判定した場合、該ソフトウェアがマルウェアでないことを示す符号を付与し、
前記前記第１のマルウェア検出ステップは、
前記検査対象となるソフトウェアを前記符号に基づいてマルウェアでないと判定する請求項１１から１６のいずれか１項記載のマルウェア対処方法。
【請求項１８】
サーバ装置が、前記追加検出部更新ステップで発行される要求にしたがって前記追加ソフトウェア及び前記追加パターンを提供する請求項１１から１７のいずれか１項記載のマルウェア対処方法。
【請求項１９】
前記検査対象となるプロセスでアクセスする制御対象オブジェクトに代わって該プロセスでアクセスさせる、前記制御対象オブジェクトを模擬するダミーオブジェクトを作成し、
前記セキュリティ制御データベース変更ステップは、
前記システムコールが発行されると、当該プロセスで前記ダミーオブジェクトにアクセスするように設定する請求項１１から１８のいずれか１項記載のマルウェア対処方法。
【請求項２０】
前記検査対象となるソフトウェアに対して利用者から即時の利用指示が入力されると、前記第１のマルウェア検出部に対して該利用指示を通知する即時利用入力ステップを有し、
前記第１のマルウェア検出ステップは、
前記即時利用入力部から前記利用指示が通知されると、前記第２のマルウェア検出ステップによる前記マルウェアの検出を実行させる請求項１１から１９のいずれか１項記載のマルウェア対処方法。
【請求項２１】
ソフトウェアがマルウェアであるか否かを検査し、該マルウェアによる装置の不正動作を無効にするための処理をコンピュータに実行させるためのプログラムであって、
前記検査対象となるプロセスが発行するシステムコールをトラップするシステムコールフックステップと、
前記システムコールの発行を契機に、第１のデータベースを用いて前記ソフトウェアがマルウェアであるか否かを検出する第１のマルウェア検出ステップと、
第２のデータベースを用いて前記第１のマルウェア検出ステップよりも詳細に前記ソフトウェアがマルウェアであるか否かを検出する第２のマルウェア検出ステップと、
第３のデータベースを用いて前記システムコールによる動作を制限するセキュリティ制御ステップと、
前記第１のマルウェア検出ステップまたは前記第２のマルウェア検出ステップで前記マルウェアを検出すると、前記第３のデータベースを変更するセキュリティ制御データベース変更ステップと、
前記第２のマルウェア検出ステップに前記マルウェアの検出処理を実行させるための追加ソフトウェア及び前記第２のデータベースで保存する前記マルウェアの検出に用いるデータである追加パターンを取得する追加検出部更新ステップと、
をコンピュータに実行させるためのプログラム。
【請求項２２】
前記第１のマルウェア検出ステップは、
前記第１のデータベースに格納された前記マルウェアの特徴的なデータ列であるパターンデータの一部を用いて前記マルウェアを検出する請求項２１記載のプログラム。
【請求項２３】
前記追加パターンは、
前記第２のデータベースに格納された前記マルウェアの特徴的なデータ列であるパターンデータ及び前記マルウェアによる装置動作の特徴を示す情報を含む請求項２１または２２記載のプログラム。
【請求項２４】
前記追加ソフトウェア及び前記追加パターンを分割して取得するための分割取得ステップを有する請求項２１から２３のいずれか１項記載のプログラム。
【請求項２５】
前記セキュリティ制御データベース変更ステップは、
前記第１のマルウェア検出ステップまたは前記第２のマルウェア検出ステップで前記検査対象となるソフトウェアをマルウェアと判定した場合、該マルウェアによる被害拡散を防止するように前記第３のデータベースを変更する請求項２１から２４のいずれか１項記載のプログラム。
【請求項２６】
前記セキュリティ制御データベース変更ステップは、
前記第１のマルウェア検出ステップで前記検査対象となるソフトウェアをマルウェアと判定し、前記第２のマルウェア検出ステップで該ソフトウェアをマルウェアでないと判定した場合、前記第１のマルウェア検出ステップの判定結果により変更された前記第３のデータベースを該変更前の状態に戻す請求項２１から２５のいずれか１項記載のプログラム。
【請求項２７】
前記セキュリティ制御データベース変更ステップは、
前記第１のマルウェア検出ステップで前記検査対象となるソフトウェアをマルウェアと判定し、前記第２のマルウェア検出ステップで該ソフトウェアをマルウェアでないと判定した場合、該ソフトウェアがマルウェアでないことを示す符号を付与し、
前記前記第１のマルウェア検出ステップは、
前記検査対象となるソフトウェアを前記符号に基づいてマルウェアでないと判定する請求項２１から２６のいずれか１項記載のプログラム。
【請求項２８】
前記検査対象となるプロセスでアクセスする制御対象オブジェクトに代わって該プロセスでアクセスさせる、前記制御対象オブジェクトを模擬するダミーオブジェクトを作成し、
前記セキュリティ制御データベース変更ステップは、
前記システムコールが発行されると、当該プロセスで前記ダミーオブジェクトにアクセスするように設定する請求項２１から２７のいずれか１項記載のプログラム。
【請求項２９】
前記検査対象となるソフトウェアに対して利用者から即時の利用指示が入力されると、前記第１のマルウェア検出部に対して該利用指示を通知する即時利用入力ステップを有し、
前記第１のマルウェア検出ステップは、
前記即時利用入力部から前記利用指示が通知されると、前記第２のマルウェア検出ステップによる前記マルウェアの検出を実行させる請求項２１から２８のいずれか１項記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルウェアを検出して該マルウェアによる装置の不正動作を無効にするためのマルウェア対処システム、方法及びソフトウェアに関する。
【背景技術】
【０００２】
マルウェア対処システムでは、マルウェアに含まれる特徴的なデータ列（以下、パターンデータと称す）をデータベース化し、マルウェアの感染が疑われるファイルとデータベースに格納されたパターンデータとを比較し、それらが一致しているか否かを判定することでマルウェアを検出する。
【０００３】
マルウェアの代表的な検出方法としては、マルウェアの検出に用いる検査用のソフトウェア及び上記データベースを検査対象の装置内に予め格納しておき、該装置がそれらを用いてマルウェアを検出するオフライン型の検出方法と、検査用のソフトウェア及びデータベースを予めサーバ装置に保存しておき、検査対象の装置は、検査実行時にサーバ装置から検査用のソフトウェア及びデータベースをダウンロードし、該装置がそれらを用いてマルウェアを検出するオンライン型の検出方法とがある。検査対象の装置は、マルウェアを検出すると、検出したマルウェアを削除あるいは隔離することでマルウェアによる不正な動作を無効化する。
【０００４】
また、従来のマルウェア対処システムとして、例えば、特許文献１には、携帯電話装置から検査対象のデータをウイルス検出装置に送信し、ウイルス検出装置が携帯電話装置から受信したデータのウイルス感染の有無を検査し、該検査結果を携帯電話装置に返信する構成が記載されている。
【０００５】
また、特許文献２には、サーバ装置が、移動通信端末に関する端末情報に基づいて多数のウイルスのパターンデータのなかから該移動通信端末に適合する特定のパターンデータを抽出し、抽出したパターンデータを該移動通信端末に送信し、移動通信端末はサーバ装置から送信されたパターンデータを用いて自装置のウイルス感染を検査する構成が記載されている。特許文献２に記載された構成では、端末情報に基づいて特定のパターンデータのみ移動通信端末に送信するため、移動通信端末で保持するパターンデータのデータ量を低減できる。
【０００６】
さらに、特許文献３には、コンピュータがファイルを受信すると、ホワイトリストサービスに接続して該ファイルの信頼性レベルを取得し、受信したファイルがマルウェアであるか否かを判定する構成が記載されている。特許文献３では、受信したファイルがマルウェアである場合、既定の手順にしたがって該マルウェアを処理する。ここで、既定の手順にしたがってマルウェアを処理するとは、ファイルの削除、ファイルの隔離またはファイルからのマルウェアの消去を指す。
【特許文献１】特開２００３−２５６２２９号公報
【特許文献２】特開２００３−２１６４４７号公報
【特許文献３】特開２００６−１２７４９７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上述した背景技術のマルウェア対処システムのうち、特許文献１に記載された構成では、携帯電話装置のウイルスを検出するには常にウイルス検出装置と接続している必要があり、例えばウイルス検出装置がネットワークを介して接続される場合、オフラインではマルウェアを検出できない問題がある。
【０００８】
また、特許文献２に記載された構成では、端末情報に基づいて移動通信端末で保持するパターンデータのデータ量を低減しても、ウイルスは膨大に存在するため、移動通信端末は依然として多量のパターンデータを保持する必要がある。移動通信端末は、メモリ容量が限られているため、これら多量のパターンデータを保持するのは困難である。
【０００９】
また、特許文献３に記載された構成では、マルウェアであると確定していない信頼性レベルが低いソフトウェアも隔離されることがあるため、該ソフトウェアによる動作が不能になる問題がある。マルウェア対処システムでは、被害を及ぼすソフトウェアを拒否し、被害を及ぼさないソフトウェアを許可する等、マルウェアの疑いがあるソフトウェアであっても、その受け入れ可否を柔軟に設定できことが望ましい。
【００１０】
本発明は上記したような従来の技術が有する問題点を解決するためになされたものであり、少ないメモリ容量でもマルウェアの検出を可能にすると共に、マルウェアを検出した場合は該マルウェアによる被害を及ぼす装置動作を制限できるマルウェア対処システム、方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するため本発明のマルウェア検出システムは、ソフトウェアがマルウェアであるか否かを検査し、該マルウェアによる装置の不正動作を無効にするためのマルウェア対処システムであって、
前記検査対象となるプロセスが発行するシステムコールをトラップするシステムコールフック部と、
前記システムコールの発行を契機に、第１のデータベースを用いて前記ソフトウェアがマルウェアであるか否かを検出する第１のマルウェア検出部と、
第２のデータベースを用いて前記第１のマルウェア検出部よりも詳細に前記ソフトウェアがマルウェアであるか否かを検出する第２のマルウェア検出部と、
第３のデータベースを用いて前記システムコールによる動作を制限するセキュリティ制御部と、
前記第１のマルウェア検出部または前記第２のマルウェア検出部で前記マルウェアを検出すると、前記第３のデータベースを変更するセキュリティ制御データベース変更部と、
前記第２のマルウェア検出部に前記マルウェアの検出処理を実行させるための追加ソフトウェア及び前記第２のデータベースで保存する前記マルウェアの検出に用いるデータである追加パターンを取得する追加検出部更新部と、
を有する。
【００１２】
また、本発明のマルウェア対処方法は、ソフトウェアがマルウェアであるか否かを検査し、該マルウェアによる装置の不正動作を無効にするためのマルウェア対処方法であって、
前記検査対象となるプロセスが発行するシステムコールをトラップするシステムコールフックステップと、
前記システムコールの発行を契機に、第１のデータベースを用いて前記ソフトウェアがマルウェアであるか否かを検出する第１のマルウェア検出ステップと、
第２のデータベースを用いて前記第１のマルウェア検出ステップよりも詳細に前記ソフトウェアがマルウェアであるか否かを検出する第２のマルウェア検出ステップと、
第３のデータベースを用いて前記システムコールによる動作を制限するセキュリティ制御ステップと、
前記第１のマルウェア検出ステップまたは前記第２のマルウェア検出ステップで前記マルウェアを検出すると、前記第３のデータベースを変更するセキュリティ制御データベース変更ステップと、
前記第２のマルウェア検出ステップに前記マルウェアの検出処理を実行させる追加ソフトウェア及び前記第２のデータベースで保存する前記マルウェアの検出に用いるデータである追加パターンを取得する追加検出部更新ステップと、
を有する。
【００１３】
また、本発明のプログラムは、ソフトウェアがマルウェアであるか否かを検査し、該マルウェアによる装置の不正動作を無効にするための処理をコンピュータに実行させるためのプログラムであって、
前記検査対象となるプロセスが発行するシステムコールをトラップするシステムコールフックステップと、
前記システムコールの発行を契機に、第１のデータベースを用いて前記ソフトウェアがマルウェアであるか否かを検出する第１のマルウェア検出ステップと、
第２のデータベースを用いて前記第１のマルウェア検出ステップよりも詳細に前記ソフトウェアがマルウェアであるか否かを検出する第２のマルウェア検出ステップと、
第３のデータベースを用いて前記システムコールによる動作を制限するセキュリティ制御ステップと、
前記第１のマルウェア検出ステップまたは前記第２のマルウェア検出ステップで前記マルウェアを検出すると、前記第３のデータベースを変更するセキュリティ制御データベース変更ステップと、
前記第２のマルウェア検出ステップに前記マルウェアの検出処理を実行させる追加ソフトウェア及び前記第２のデータベースで保存する前記マルウェアの検出に用いるデータである追加パターンを取得する追加検出部更新ステップと、
をコンピュータに実行させるためのものである。
【発明の効果】
【００１４】
本発明によれば、少ないメモリ容量でもマルウェアの検出を可能にすると共に、マルウェアを検出した場合は該マルウェアによる被害を及ぼす装置動作を制限できる。
【発明を実施するための最良の形態】
【００１５】
次に本発明について図面を用いて説明する。
（第１の実施の形態）
図１はマルウェア対処システムを適用する通信システムの一構成例を示すブロック図である。
【００１６】
図１に示す通信システムは、通信端末装置１及びサーバ装置２を備えた構成である。通信端末装置１とサーバ装置２とはネットワーク３を介して接続されている。
【００１７】
通信端末装置１は、演算処理を行うＣＰＵ（中央演算処理ユニット）部１０１、ＣＰＵ部１０１の演算処理で必要なプログラムやデータを一時的に保持するメモリ部１０２、電源が供給されていないときでもプログラムやデータを保存できるストレージ部１０３、ＣＰＵ部１０１に本発明のマルウェア対処方法を実行されるためのプログラムが記録された記録媒体１０７、通信端末装置１のユーザが情報や指示を入力するためのキーボード等から成る入力部１０４、ユーザにＣＰＵ部１０１の処理結果を示すための表示部１０５及びサーバ装置２や他の通信端末装置とデータを送受信するための通信部１０６を備えている。
【００１８】
ＣＰＵ部１０１は、記録媒体１０７に格納されたプログラムを読み出し、後述する本発明のマルウェア対処方法の処理を実行する。記録媒体１０７は、磁気ディスク、半導体メモリ、光ディスクあるいはその他の記録媒体であってもよい。
【００１９】
サーバ装置２は、ＣＰＵ部２０１、メモリ部２０２、ストレージ部２０３、記録媒体２０７、入力部２０４、表示部２０５及び通信部２０６を備えている。サーバ装置２は、メモリ部２０２、ストレージ部２０３及び記録媒体２０７に格納されるプログラムやデータが異なり、かつＣＰＵ部２０１の動作が異なることを除けば、通信端末装置１と同様の構成である。
【００２０】
図１に示した通信端末装置１は、後述する第１の実施の形態及び第２の実施の形態並びに第１実施例〜第４実施例で示す通信端末装置やＰＤＡの実現例を示している。
【００２１】
図２は第１の実施の形態のマルウェア対処システムの構成を示すブロック図である。
【００２２】
図２に示すように、通信端末装置１は、マルウェアの検出対象であるソフトウェア（アプリケーションプログラム等）が格納されたプログラムファイル１１３、プログラムファイル１１３に格納されたソフトウェアをプロセスとして起動するプロセス起動部１１２、プログラムファイル１１３に格納されたソフトウェアによる処理の実行対象である制御対象オブジェクト１１４、通信端末装置１のＯＳ部１１１、ＯＳ部１１１に含まれる、後述するセキュリティ制御ＤＢ（Data Base）１１１３の内容を変更するセキュリティ制御ＤＢ変更部１１５、マルウェアの有無を詳細に検査するための検査用の追加ソフトウェア（以下、単に追加ソフトウェアと称す）やパターンデータ等をダウンロードする追加検出部更新部１１６及び制御対象オブジェクト１１４のダミーである（制御対象オブジェクト１１４を模擬する）ダミーオブジェクト１１９を備えている。
【００２３】
ＯＳ部１１１は、プロセス起動部１１２で起動するソフトウェアや起動済みプロセス１１７により発行されるシステムコールをトラップするシステムコールフック部１１１１、所定の制御ルールにしたがって各プロセスの動作を制限するセキュリティ制御部１１１２、セキュリティ制御部１１１２で用いる制御ルールが格納されるセキュリティ制御ＤＢ１１１３、マルウェアを簡易な手法で検出するマルウェア検出部１１１４、マルウェアのパターンデータが格納される検出パターンＤＢ１１１５、マルウェア検出部１１１４で誤ってマルウェアであると検出されたソフトウェアあるいはマルウェア検出部１１１４で検出できないマルウェアを詳細な手法で検出するマルウェア追加検出部１１１６、マルウェアの詳細なパターンデータ等が格納される追加検出パターンＤＢ１１１７及びダミーオブジェクト１１９を作成するダミー作成部１１１８を備えている。
【００２４】
図２に示す各装置は、概略、以下のように動作する。
【００２５】
プロセス起動部１１２によってプログラムファイル１１３内の所要のプロセスの起動が要求されると、システムコールフック部１１１１は該プロセス起動時に発行されるシステムコールを検出する。
【００２６】
セキュリティ制御部１１１２は、システムコールフック部１１１１からシステムコールの検出が通知されると、セキュリティ制御ＤＢ１１１３に格納された制御ルールに基づいて起動するプロセスの動作を制限する。このとき、単純に動作を制限すると、例えば制御対象オブジェクト１１４からのデータの読み出し動作を禁止すると、動作禁止に起因するエラーが発行されるため、該当プロセスが動作不能になる可能性が高い。
【００２７】
そこで、ダミー作成部１１１８は、プロセスによりアクセスする制御対象オブジェクト１１４を模擬するダミーオブジェクト１１９を作成する。セキュリティ制御部１１１２は、起動するソフトウェアのマルウェアの検出処理が終了するまで、ダミーオブジェクト１１９に該プロセスがアクセスするよう、リンク先を書き換える。
【００２８】
一方、マルウェア検出部１１１４は、システムコールフック部１１１１から通知されるシステムコールを契機に検出パターンＤＢ１１１５に格納されたパターンデータを用いて、起動するソフトウェアがマルウェアであるか否かを検出する。マルウェア検出部１１１４は、マルウェアを検出した場合、セキュリティ制御ＤＢ変更部１１５にマルウェアの検出を通知し、セキュリティ制御ＤＢ変更部１１５は、マルウェアの被害を防止するようにセキュリティ制御ＤＢ１１１３に格納された制御ルールを変更する。さらに、マルウェア検出部１１１４は、マルウェアの検出状態を示すマルウェア検出フラグを当該ソフトウェアに付与する。
【００２９】
マルウェア検出部１１１４は、メモリ容量やパターンデータを格納するストレージ容量が比較的少ない通信端末装置１でもマルウェアを検出できるように、簡易なパターンデータを用いた検出処理（以下、簡易検出と称す）を実行する。
【００３０】
なお、マルウェアを、簡易なパターンデータ、例えばパターンデータの一部のみを用いて検出すると、パターンデータ全体を用いて検出するよりも一致する割合が増加するため、マルウェアでないソフトウェアもマルウェアと判断することが予想される。
【００３１】
そこで、本実施形態では、起動済みプロセス１１７によってシステムコールが発行された場合もマルウェア追加検出部１１１６によりマルウェアの詳細な検出を実行する。このとき、システムコールフック部１１１１は、マルウェアによる被害の拡大要因と考えられる種類のシステムコール、例えば通信関連のシステムコールやファイル制御関連のシステムコール等を検出する。
【００３２】
マルウェア追加検出部１１１６は、システムコールフック部１１１１からシステムコールの検出が通知されたマルウェア検出部１１１４によって起動される。
【００３３】
マルウェア追加検出部１１１６は、マルウェアの詳細な検出に用いる追加ソフトウェアを、追加検出部更新部１１６を介してサーバ装置２からダウンロードすると共に、マルウェアのパターンデータやマルウェアによる装置動作の特徴を示す情報を含む追加パターンを追加検出パターンＤＢ１１１７へダウンロードし、ダウンロードした追加パターンを用いてマルウェアを検出する（以下、詳細検出と称す）。
【００３４】
マルウェア追加検出部１１１６は、マルウェアを検出すると、マルウェア検出部１１１４にその旨を通知し、マルウェア検出部１１１４は、セキュリティ制御ＤＢ変更部１１５にマルウェアの検出を通知する。その後の動作はプロセスの起動時と同様である。
【００３５】
マルウェア追加検出部１１１６による詳細検出は、通信端末装置１の電池残量が多い場合、通信端末装置１がＡＣ電源に接続されている場合、通信端末装置１がオンラインで動作している場合、あるいは通信端末装置１が待機（アイドル）状態のときに実行することが考えられる。
【００３６】
さらに、プロセスの起動時にマルウェア検出部１１１４によってマルウェアと判定されたソフトウェアが、マルウェア追加検出部１１１６によってマルウェアではないと判定された場合、マルウェア検出フラグに当該ソフトウェアが非マルウェアであることを示す値が付与される。この場合、マルウェア検出部１１１４は、該マルウェア検出フラグを確認すれば、マルウェアでないソフトウェアをプロセス起動毎に誤ってマルウェアであると検出する誤検出を回避できる。
【００３７】
セキュリティＤＢ変更部１１５は、マルウェア検出部１１１４からのマルウェアの検出通知、あるいはマルウェア検出部１１１４による誤検出の通知を受け取ると、セキュリティ制御ＤＢ１１１３に格納された制御ルールを変更する。
【００３８】
次に、第１の実施の形態のマルウェア対処システムの処理手順について図３及び図４を用いて説明する。
【００３９】
図３は第１の実施の形態のマルウェア対処方法の処理手順を示すフローチャートであり、図４は図３に示したステップＡ９で実行するマルウェアの詳細検出の処理手順を示すシーケンス図である。
【００４０】
なお、以下に示すＯＳ部１１１、プロセス起動部１１２、セキュリティ制御ＤＢ変更部１１５及び追加検出部更新部１１６の処理は、図１に示した通信端末装置１が備えるＣＰＵ部１０１により実現されるものとする。
【００４１】
図３に示すように、ＯＳ部１１１は、プロセス起動部１１２からプログラムファイル１１３の起動要求が発行されると（ステップＡ１）、システムコールフック部１１１１により該プロセスの起動で発行されるシステムコールをトラップし、該システムコールの検出をマルウェア検出部１１１４へ通知する。
【００４２】
マルウェア検出部１１１４は、システムコールフック部１１１１からシステムコールの検出が通知されると、検出パターンＤＢ１１１５に格納されたマルウェアのパターンデータと起動が要求されたソフトウェアとを比較し、マルウェアの簡易検出を実行する（ステップＡ２）。
【００４３】
次に、ＯＳ部１１１は、マルウェア検出部１１１４がマルウェアを検出したか否かを判定し（ステップＡ３）、マルウェア検出部１１１４がマルウェアを検出した場合は、起動が要求されたソフトウェアのマルウェア検出フラグをＯＮ（ステップＡ４）にし、セキュリティ制御ＤＢ変更部１１５によりセキュリティ制御ＤＢ１１１３を変更すると共にダミー作成部１１１８によりダミーオブジェクト１１９を作成する（ステップＡ５）。ステップＡ４及びＡ５の処理はどちらを先に実行してもよい。ここで、セキュリティ制御ＤＢ１１１３の変更内容としては、起動が要求されたプロセスが制御対象オブジェクト１１４へアクセスする際に、該制御対象オブジェクト１１４に代わってダミーオブジェクト１１９へアクセスするように変更すること、またはアクセスを抑制することが考えられる。
【００４４】
セキュリティ制御ＤＢ１１１３の変更が終了すると、プロセス起動部１１２はセキュリティ制御部１１１２の動作制御にしたがって要求されたプロセスを起動する（ステップＡ６）。セキュリティ制御部１１１２は、セキュリティ制御ＤＢ１１１３に格納された制御ルールにしたがってアクセス制御やリソース量制御等の、通信端末装置１を安定して動作させるための制御を実行する。
【００４５】
ステップＡ３の処理でマルウェア検出部１１１４がマルウェアを検出しなかった場合、プロセス起動部１１２は、セキュリティ制御部１１１２の動作制御にしたがって要求されたプロセスを起動する（ステップＡ６）。
【００４６】
次に、ＯＳ部１１１は、プロセス起動部１１２で起動した起動済みプロセス１１７のマルウェア検出フラグがＯＮであるか否かを判定し（ステップＡ７）、マルウェア検出フラグがＯＮである場合、マルウェア追加検出部１１１６により起動済みプロセス１１７に対してマルウェアの詳細検出を実行する（ステップＡ９）。マルウェア検出フラグがＯＦＦである場合、ＯＳ部１１１は、例えば通信端末装置１が待機（アイドル）状態にあるか否かを判定し（ステップＡ８）、通信端末装置１が待機（アイドル）状態になった時点でステップＡ９の処理に移行し、マルウェアの詳細検出を実行する。
【００４７】
ＯＳ部１１１は、マルウェア追加検出部１１１６がマルウェアを検出したか否かを判定し（ステップＡ１０）、マルウェア追加検出部１１１６がマルウェアを検出した場合は起動済みプロセス１１７のマルウェア検出フラグがＯＮであるか否かを確認する（ステップＡ１４）。起動済みプロセス１１７のマルウェア検出フラグがＯＮの場合、ＯＳ部１１１はマルウェアの検出処理を終了する（ステップＡ１７）。起動済みプロセス１１７のマルウェア検出フラグがＯＦＦの場合、ＯＳ部１１１は、セキュリティ制御ＤＢ変更部１１５にセキュリティ制御ＤＢ１１１３を変更させた後（ステップＡ１６）、マルウェアの検出処理を終了する（ステップＡ１７）。
【００４８】
また、ＯＳ部１１１は、ステップＡ１０の処理にてマルウェア追加検出部１１１６がマルウェアを検出しなかった場合、起動済みプロセス１１７のマルウェア検出フラグがＯＮであるか否かを判定する（ステップＡ１５）。起動済みプロセス１１７のマルウェア検出フラグがＯＮの場合、ＯＳ部１１１はマルウェアの検出処理を終了する（ステップＡ１７）。起動済みプロセス１１７のマルウェア検出フラグがＯＦＦの場合、ＯＳ部１１１は、セキュリティ制御ＤＢ変更部１１５にセキュリティ制御ＤＢ１１１３を変更させた後（ステップＡ１６）、マルウェアの検出処理を終了する（ステップＡ１７）。
【００４９】
次に上述したステップＡ９にて実行するマルウェアの詳細検出の処理手順について図４を用いて説明する。
【００５０】
マルウェアの詳細検出を実行する場合、図４に示すように、通信端末装置１は、まずサーバ装置２にマルウェアの詳細検出で用いる追加ソフトウェアを要求する（ステップＢ１）。サーバ装置２は、該追加ソフトウェアの要求を受け取ると、通信端末装置１の種類に対応する、マルウェアの詳細検出で用いる追加ソフトウェアを送信する（ステップＢ２）。通信端末装置１の種類は、通信端末装置１による追加ソフトウェアの要求時に、該通信端末装置１の端末情報も併せて送信させることで判別できる。
【００５１】
次に、通信端末装置１は、サーバ装置２にマルウェアの詳細検出で用いる、マルウェアの追加パターンを要求する（ステップＢ３）。サーバ装置２は、該パターンデータの要求を受け取ると、マルウェアの追加パターンを通信端末装置１に送信する（ステップＢ４）。
【００５２】
本実施形態によれば、検出パターンＤＢ１１１５（第１のデータベース）を用いてソフトウェアがマルウェアであるか否かを検出するマルウェア検出部（第１のマルウェア検出部）１１１４と、追加検出パターンＤＢ（第２のデータベース）１１１７を用いてマルウェア検出部１１１４よりも詳細にソフトウェアがマルウェアであるか否かを検出するマルウェア追加検出部（第２のマルウェア検出部）１１１６とを備えることで、マルウェア検出部１１１４はメモリ容量が比較的少なくて済む簡易なパターンデータを用いてマルウェアを検出できる。そのため、通信端末装置１は、少ないメモリ容量でもマルウェアを検出することができる。
【００５３】
また、ソフトウェアの起動時は検出パターンＤＢ１１１５を用いてマルウェアを検出し、ネットワークへの接続時は追加検出パターンＤＢ１１１７を用いてマルウェアをより詳細に検出するため、通信端末装置１をスタンドアロンあるいはネットワークに接続した状態のどちらでもマルウェアを検出できる。
【００５４】
また、ソフトウェアの起動時は簡易検出のみを実行し、通信端末装置１が待機状態等にある場合にマルウェアの詳細検出を実行するため、他のプロセスの動作パフォーマンスを低下させることなくマルウェアを検出できる。そのため、電池で動作する通信端末装置１に適したマルウェア検出が実行できる。
【００５５】
また、マルウェアの疑いのあるソフトウェアが検出された場合、該ソフトウェアによるプロセスでは制御対象オブジェクト１１４に代わってダミーオブジェクト１１９へアクセスさせるため、ダミーオブジェクト１１９以外へのマルウェアの感染を防止することが可能であり、マルウェアの削除や隔離を行わずにマルウェアによる被害を及ぼす装置動作を制限できる。
【００５６】
また、セキュリティ制御部１１１２により、予め指定したプロセス以外はダミーオブジェクト１１９へのアクセスを禁止するようにセキュリティ制御ＤＢ１１１３を設定しておけば、マルウェアに感染する可能性があるダミーオブジェクト１１９を他のプロセスが誤って利用するといった事態を避けることが可能である。
【００５７】
さらに、マルウェアの疑いのあるソフトウェアが検出された場合、ダミーオジェクト１１９にアクセスするようにリンク先を書き換えることで、制御対象オブジェクト１１４へのアクセスを禁止することによる動作の停止が発生しない。そのため、検査対象のソフトウェアの動作を停止させることなく、被害が拡大しない範囲内で該ソフトウェアを実行させることができる。
（第２の実施の形態）
次に第２の実施の形態のマルウェア対処システムについて図面を用いて説明する。
【００５８】
図５は第２の実施の形態のマルウェア対処システムの構成を示すブロック図である。
【００５９】
図５に示すように、第２の実施の形態のマルウェア対処システムは、第１の実施の形態で示した通信端末装置１に分割取得部１１８を追加した構成である。
【００６０】
分割取得部１１８は、サーバ装置１に格納された、マルウェアの詳細検出で用いる追加ソフトウェアや追加パターンを、通信端末装置１のＣＰＵ能力やメモリ容量に応じて分割してダウンロードするためのものである。その他の構成は第１の実施の形態と同様であるため、その説明は省略する。
【００６１】
図６は第２の実施の形態のマルウェア対処方法の処理手順を示すフローチャートである。図７及び図８は図６に示したマルウェア対処方法に含まれる詳細検出時の処理手順を示すシーケンス図である。
【００６２】
図６に示すステップＡ１からステップＡ９までの処理は、図３に示した第１の実施の形態のステップＡ１からステップＡ９までの処理と同様である。したがって、ここではステップＡ１からステップＡ９までの処理の説明を省略する。
【００６３】
図６において、プロセス起動部１１２が起動した起動済みプロセス１１７に対してマルウェア追加検出部１１１６がマルウェアの詳細検出を開始すると、ＯＳ部１１１は、マルウェア追加検出部１１１６がマルウェアを検出したか否かを判定する（ステップＡ１０）。マルウェア追加検出部１１１６がマルウェアを検出した場合、ＯＳ部１１１は、起動済みプロセス１１７のマルウェア検出フラグがＯＮであるか否かを確認する（ステップＡ１４）。起動済みプロセス１１７のマルウェア検出フラグがＯＮの場合、ＯＳ部１１１は、分割してダウンロードした追加ソフトウェアに残りがあるか否かを判定する（ステップＡ１８）。残りの追加ソフトウェアがある場合、該追加ソフトウェアのダウンロードを分割取得部１１８に要求する（ステップＡ２０）。
【００６４】
ＯＳ部１１１は、残りの追加ソフトウェアを取得すると（ステップＡ１９）、ステップＡ９の処理に戻って起動済みプロセス１１７に対してマルウェア追加検出部１１１６によりマルウェアの詳細検出を再度実行する。
【００６５】
ステップＡ１４の処理で起動済みプロセス１１７のマルウェア検出フラグがＯＦＦである場合、ＯＳ部１１１は、セキュリティ制御ＤＢ変更部１１５にセキュリティ制御ＤＢ１１１３を変更させた後（ステップＡ１６）、分割してダウンロードした追加ソフトウェアに残りがあるか否かを判定する（ステップＡ１８）。
【００６６】
一方、ステップＡ１０の処理でマルウェア追加検出部１１１６がマルウェアを検出しなかった場合、ＯＳ部１１１は、サーバ装置２に予め格納された全ての追加パターンを用いて詳細検出を実行したか否かを判定する（ステップＡ１１）。
【００６７】
全ての追加パターンを用いたマルウェアの詳細検出が終了している場合は、起動済みプロセス１１７のマルウェア検出フラグがＯＮであるか否かを確認し（ステップＡ１５）、該マルウェア検出フラグがＯＮの場合、ＯＳ部１１１は、セキュリティ制御ＤＢ変更部１１５にセキュリティ制御ＤＢ１１１３を変更させた後（ステップＡ１６）、分割してダウンロードした追加ソフトウェアに残りがあるか否かを判定する（ステップＡ１８）。
【００６８】
ステップＡ１５の処理で起動済みプロセス１１７のマルウェア検出フラグがＯＦＦの場合、ＯＳ部１１１は、分割してダウンロードした追加ソフトウェアに残りがあるか否かを判定する（ステップＡ１８）。
【００６９】
ステップＡ１１の処理でサーバ装置２に予め格納された全ての追加パターンを用いたマルウェアの詳細検出が完了していな場合は、残りの追加パターンのダウンロードを分割取得部１１８に要求する（ステップＡ１２）。
【００７０】
ＯＳ部１１１は、残りの追加パターンを取得すると（ステップＡ１３）、ステップＡ９の処理に戻って起動済みプロセス１１７に対しマルウェア追加検出部１１１６によりマルウェアの詳細検出を再度実行する。
【００７１】
ステップＡ１８の処理で、残りの追加ソフトウェアが無い場合、マルウェアの検出処理を終了する（ステップＡ１７）。
【００７２】
次に上述したステップＡ１２にて残りの追加パターンを要求する場合の処理手順について図７を用いて説明する。
【００７３】
ステップＡ１２にて追加パターンを要求する場合、図７に示すように、通信端末装置１は、まずサーバ装置２にマルウェアの詳細検出で用いる追加パターンを要求する（ステップＣ１）。サーバ装置２は、通信端末装置１から追加パターンの要求を受け取ると、分割した追加パターンを送信する（ステップＣ２）。
【００７４】
通信端末装置１は、全ての追加パターンの取得が完了していない場合、再度サーバ装置２に追加パターンを要求し（ステップＣ３）、サーバ装置２は分割した追加パターンを通信端末装置１に送信する（ステップＣ４）。
【００７５】
通信端末装置１は、全ての追加パターンを取得した場合（ステップＣ５）、処理を処理する。
【００７６】
次に上述したステップＡ２０にて残りの追加ソフトウェアを要求する場合の処理手順について図８を用いて説明する。
【００７７】
ステップＡ２０にて追加ソフトウェアを要求する場合、図８に示すように、通信端末装置１は、まずサーバ装置２にマルウェアの詳細検出で用いる追加ソフトウェアを要求する（ステップＤ１）。サーバ装置２は、通信端末装置１から追加ソフトウェアの要求を受け取ると、分割した追加ソフトウェアを送信する（ステップＤ２）。
【００７８】
通信端末装置１は、残りの追加ソフトウェアの取得が完了していない場合、再度サーバ装置２に追加ソフトウェアを要求し（ステップＤ３）、サーバ装置２は分割した追加ソフトウェアを通信端末装置１に送信する（ステップＤ４）。
【００７９】
通信端末装置１は、全ての追加ソフトウェアを取得した場合（ステップＣ５）、処理を処理する。
【００８０】
第２の実施の形態によれば、マルウェアの詳細検出で用いる追加ソフトウェア及び追加パターンを分割して取得するため、追加ソフトウェアや追加パターンのデータ量が多く、全ての追加ソフトウェアや追加パターンを通信端末装置１に格納できない場合でも、マルウェアの詳細検出を実行できる。
（実施例）
次に本発明の実施例について図面を用いて説明する。
（第１実施例）
図９は第１実施例のマルウェア対処システムの構成を示すブロック図である。
【００８１】
図９に示すように、第１実施例は、図２や図５に示した通信端末装置１として、無線ＬＡＮに接続可能なＰＤＡ（Personal Digital Assistants）を用いる例である。
【００８２】
図９に示すように、ＰＤＡ１ａは、ＯＳ部１１１ａ、モジュール部１１８ａ、アプリケーションランチャー１１２ａ、アクセス制御ＤＢ変更部１１５ａ、詳細検出部ダウンロード部１１６ａ、プログラムファイル１１３ａ、制御対象オブジェクト１１４ａ、ハードウェア部１２０ａ及びダミーオブジェクト１１９ｂを備えている。
【００８３】
ハードウェア部１２０ａは、入力デバイス、表示デバイス、通信デバイス等のプログラムファイル１１３ａに格納されたアプリケーションプログラム（以下、単にアプリケーションと称す）によって動作する装置である。
【００８４】
制御対象オブジェクト１１４ａは、ハードウェア部１２０ａが備える各装置を動作させるデバイスドライバ及びハードウェア部１２０ａが備える各装置で用いるデータが格納されるデータファイルを備えている。
【００８５】
ダミーオブジェクト１１９ｂは、制御対象オブジェクト１１４ａが備えるデバイスドライバのダミーであるダミーデバイスドライバ及びデータファイルのダミーであるダミーデータファイルを備えている。
【００８６】
ＯＳ部１１１ａは、システムコールフック部１１１１ａを備え、例えばＬｉｎｕｘで動作する。
【００８７】
システムコールフック部１１１１ａは、アプリケーションの起動を指示するシステムコール、プログラムファイル１１３ａへのアクセス（データの読み出しや書き込み）、通信に用いるソケットの生成等、プログラムファイル１１３ａに格納されたアプリケーションのプロセスが発行する各種のシステムコールをトラップする。
【００８８】
アプリケーションランチャー１１２ａは、プログラムファイル１１３ａに格納された所要のアプリケーションを起動する。
【００８９】
モジュール部１１９ａは、アクセス制御部１１１２ａ、アクセス制御ＤＢ１１１３ａ、マルウェア簡易検出部１１１４ａ、簡易検出パターンＤＢ１１１５ａ、マルウェア詳細検出部１１１６ａ、詳細検出パターンＤＢ１１１７ａ及びダミー作成部１１１８ａを備え、システムコールフック部１１１１ａでトラップされたシステムコールをトリガにマルウェアの検出処理やマルウェアによる装置動作を制限する。
【００９０】
アクセス制御部１１１２ａは、システムコール部１１１１ａがトラップしたシステムコールを基に、アクセス制御ＤＢ１１１３ａに格納された制御ルールにしたがってアプリケーションによる制御対象オブジェクト１１４ａへのアクセスを制限する。
【００９１】
アクセス制御ＤＢ１１１３ａは、アクセス制御部１１１２ａの動作制御に用いる制御ルールを保存する。
【００９２】
簡易検出パターンＤＢ１１１５ａは、マルウェアの簡易検出で用いる、マルウェアのパターンデータを保存する。
【００９３】
マルウェア簡易検出部１１１４ａは、システムコール部１１１１ａがトラップしたシステムコールを基にマルウェアの簡易検出を実行する。
【００９４】
詳細検出パターンＤＢ１１１７ａは、マルウェアの詳細検出で用いる、追加パターンを保存する。
【００９５】
マルウェア詳細検出部１１１６ａは、詳細検出パターンＤＢ１１１７ａで保存されたマルウェアの追加パターンを用いてマルウェアの詳細検出を実行する。
【００９６】
アクセス制御ＤＢ変更部１１５ａは、マルウェアによる装置の不正動作や被害の拡大動作を制限するようにアクセス制御ＤＢ１１１３ａに格納された制御ルールを変更する。また、アクセス制御ＤＢ変更部１１５ａは、マルウェア簡易検出部１１１４ａの判定結果がマルウェア詳細検出部１１１６ａの詳細検出によって誤りであると判明した場合、アクセス制御ＤＢ１１１３ａに格納された制御ルールを変更前の状態に戻す。
【００９７】
詳細検出部ダウンロード部１１６ａは、マルウェアの詳細検出で用いる追加ソフトウェアや追加パターンをサーバ装置２ａから取得する。
【００９８】
ダミー作成部１１１８ａは、アプリケーションによるプロセスで制御対象オブジェクト１１４ａに代わってアクセスさせる、ダミーオブジェクト１１９ｂを作成する。
【００９９】
次に、図１０を用いて本実施例の動作について説明する。
【０１００】
図１０は第１実施例のマルウェア対処方法の処理手順を示すフローチャートである。図１１は図９に示した簡易検出パターンＤＢの一構成例を示す模式図であり、図１２は図９に示した詳細検出パターンＤＢの一構成例を示す模式図である。
【０１０１】
アプリケーションランチャー１１２ａは、プログラムファイル１１３ａに格納されたアプリケーションを実行領域にロードし、ｅｘｅｃシステムコールを発行することでロードしたアプリケーションを起動する（ステップＥ１）。
【０１０２】
ＯＳ部１１１ａは、システムコールフック部１１１１ａによりｅｘｅｃシステムコールをトラップし、マルウェア簡易検出部１１１４ａにｅｘｅｃシステムコールの発行を通知する。
【０１０３】
マルウェア簡易検出部１１１４ａは、ｅｘｅｃシステムコールの発行をトリガにして、起動するアプリケーションと簡易検出パターンＤＢ１１１３ａに保存されたパターンデータとを比較し（ステップＥ２）、該アプリケーションにマルウェアが存在するか否かを検出する（ステップＥ３）。このとき、マルウェア簡易検出部１１１４ａは、マルウェアを、その名称順に検出してもよく、危険度の高いものから順に検出してもよい。簡易パターンＤＢ１１１３ａは、例えば図１１に示すように、マルウェアの名称と、該マルウェアの危険度及びショートパターンとが関連付けられて保存される。なお、ショートパターンとは、マルウェアのパターンデータの一部を取り出した、該マルウェアの簡易検出で用いるパターンデータである。
【０１０４】
マルウェア簡易検出部１１１４ａは、マルウェアを検出すると、起動するアプリケーションのマルウェア検出フラグをＯＮにし（ステップＥ４）、アクセス制御ＤＢ変更部１１５ａにマルウェアの検出を通知する。
【０１０５】
アクセス制御ＤＢ変更部１１５ａは、マルウェアが検出されたアプリケーションの動作制御を行うようにアクセス制御ＤＢ１１１３ａを変更する（ステップＥ５）。ここで、動作制御とは、マルウェアによる不正動作で発行されるシステムコールの実行を制御することである。例えば、マルウェアと判定されたアプリケーションによるシステムファイルまたはその関連ファイルへの書き出し時における書き込み対象オブジェクトをダミーファイルへ変更することや通信ポートの利用制限等がある。
【０１０６】
アプリケーションランチャー１１２ａは、アクセス制御ＤＢ１１１３ａが変更されると、要求されたアプリケーションを起動する（ステップＥ６）。
【０１０７】
アプリケーションが起動すると、システムコールフック部１１１１ａは、起動済アプリケーション１１７ａのプロセスが発行するシステムコールのうち、マルウェアの不正動作に関連するもの、例えばプログラムファイル１１３ａへのアクセス（データのライトやリード）、あるいはネットワークへのアクセスに伴うソケットの生成や送信等をトラップし、マルウェア簡易検出部１１１４ａに通知する。
【０１０８】
マルウェア簡易検出部１１１４ａは、トラップされたシステムコールがマルウェアの不正動作に関係するものである場合、対応する起動済アプリケーション１１７ａのマルウェア検出フラグがＯＮであるか否かを判定し（ステップＥ７）、マルウェア検出フラグがＯＮの場合、マルウェア詳細検出部１１１６ａを起動してマルウェアの詳細検出を行う（ステップＥ９）。マルウェア検出フラグがＯＦＦである場合は、例えばＰＤＡ１ａが待機（アイドル）状態にあるか否かを判定し（ステップＥ８）、ＰＤＡ１ａが待機（アイドル）状態になった時点でステップＥ９に移行し、マルウェアの詳細検出を実行する。
【０１０９】
マルウェア詳細検出部１１１６ａは、詳細検出パターンＤＢ１１１７ａに格納された追加パターンを用いて起動済みアプリケーション１１７ａにマルウェアが存在するか否かを判定する（ステップＥ１０）。
【０１１０】
ＰＤＡ１ａのメモリ容量やストレージ容量が少なく、マルウェアの詳細検出で用いる追加ソフトウェアや追加パターンをＰＤＡ１ａで全て保存できない場合、マルウェア詳細検出部１１１６ａは該追加ソフトウェアや追加パターンをそれぞれ分割してサーバ装置２ａから取得し、詳細検出の処理を複数回に分けて実行する。その場合、ＰＤＡ１ａは、追加ソフトウェアの一部と追加パターンの一部とをサーバ装置２ａから取得し、それらをマルウェア詳細検出部１１１６ａ及び詳細検出パターンＤＢ１１１７ａに一時的に格納してマルウェアの詳細検出を行う。このとき、マルウェア詳細検出部１１１６ａは、マルウェアを、その名称順に検出してもよく、危険度の高いものから順に検出してもよい。詳細検出パターンＤＢ１１１７ａは、例えば図１２に示すように、マルウェアの名称と、該マルウェアの危険度及びロングパターンとが関連付けられて保存される。なお、ロングパターンとは、マルウェアのパターンデータそのものを指す。
【０１１１】
メモリ容量やストレージ容量に余裕がある場合、ＰＤＡ１ａは、サーバ装置２ａから取得した全ての追加ソフトウェアや追加パターンを保存してもよい。
【０１１２】
マルウェア詳細検出部１１１６ａは、マルウェアの詳細検出に用いる追加ソフトウェアをサーバ装置２ａから取得することで、パターンデータを用いた検出処理だけでなく、マルウェアによって装置が動作するパターンに基づいてマルウェアであるか否かを判断できる。
【０１１３】
ステップＥ１０の処理でマルウェアを検出した場合、マルウェア詳細検出部１１１６ａは、起動済アプリケーション１１７ａのマルウェア検出フラグがＯＮであるか否かを判定し（ステップＥ１４）、マルウェア検出フラグがＯＮの場合は、既にマルウェアによる動作を制限するようアクセス制御ＤＢ１１１３ａが変更されているため、詳細検出に用いる残りの追加ソフトウェアが存在するか否かを確認する（ステップＥ１８）。残りの追加ソフトウェアが存在する場合、マルウェア詳細検出部１１１６ａは、該追加ソフトウェアをサーバ装置２ａに要求する（ステップＥ２０）。
【０１１４】
サーバ装置２ａは、追加ソフトウェアをＰＤＡ１ａから要求されると、残りの追加ソフトウェアをＰＤＡ１ａに送信する。
【０１１５】
ＰＤＡ１ａは、サーバ装置２ａから追加ソフトウェアを取得すると（ステップＥ１９）、取得した追加ソフトウェアにしたがってマルウェアの詳細検出を再び実行する（ステップＥ９）。
【０１１６】
ステップＥ１４の処理にてマルウェア検出フラグがＯＦＦの場合、ＯＳ部１１１ａは、マルウェアが検出されたアプリケーションによる動作を制限できるようにアクセス制御ＤＢ変更部１１５ａにアクセス制御ＤＢ１１１３ａを変更させる（ステップＥ１６）。
【０１１７】
ステップＥ１０の処理にてマルウェアを検出しなかった場合、マルウェア詳細検出部１１１６ａは、追加パターンの全てを用いた詳細検出が終了しているか否かを判定する（ステップＥ１１）。
【０１１８】
追加パターンの全てを用いた詳細検出が終了している場合、マルウェア詳細検出部１１１６ａは、起動済アプリケーション１１７ａに付与されたマルウェア検出フラグがＯＮであるか否かを判定し（ステップＥ１５）、マルウェア検出フラグがＯＮの場合は、マルウェア簡易検出部１１１４ａによる簡易検出の結果が誤っていたと判断し、アクセス制御ＤＢ１１１３ａに格納された制御ルールをマルウェア簡易検出部１１１４ａによる変更前の状態に戻す（ステップＥ１６）。
【０１１９】
追加パターンの全てを用いた詳細検出が終了していない場合、マルウェア詳細検出部１１１６ａは追加パターンをサーバ装置２ａに要求する（ステップＥ１２）。マルウェア詳細検出部１１１６ａは、サーバ装置２ａから追加パターンを取得すると（ステップＥ１３）、取得した追加パターンを用いてマルウェアの詳細検出を再び実行する（ステップＥ９）。
【０１２０】
ステップＥ１５の処理にて起動済アプリケーション１１７ａのマルウェア検出フラグがＯＦＦである場合、マルウェア詳細検出部１１１６ａは、詳細検出に用いる残りの追加ソフトウェアが存在するか否かを確認する（ステップＥ１８）。
【０１２１】
残りの追加ソフトウェアが存在しない場合、モジュール１１８ａはマルウェアの検出処理を完了する（ステップＥ１７）。
（第２実施例）
次に第２実施例のマルウェア対処システムについて説明する。
【０１２２】
第２実施例のマルウェア対処システムの構成は、図９に示した第１実施例と同様であるため、その説明は省略する。
【０１２３】
第２実施例の通信端末装置は、例えばビルトインソフトウェアなど、通信端末装置を開発したメーカによって十分に検証されたアプリケーション、ＲＯＭ（リード・オンリー・メモリ）等の書き換え不能な記憶装置に書き込まれたアプリケーション、あるいはインストールされたアプリケーションの改竄の有無を検証するシステムに組み込まれたアプリケーションのように、マルウェアではないことが明らかなアプリケーションに対して、予めマルウェアではないことを示すフラグを付与する。
【０１２４】
このようなフラグを設定することで、マルウェア簡易検出部１１１４ａは、該フラグを確認するだけで、検査対象のアプリケーションをマルウェアではないと判定できる。
【０１２５】
本実施例によれば、マルウェア簡易検出部１１１４ａによるマルウェアの誤検出を低減できる。
（第３実施例）
次に第３実施例のマルウェア対処システムについて説明する。
【０１２６】
第３実施例のマルウェア対処システムの構成は、図９に示した第１実施例と同様であるため、その説明は省略する。
【０１２７】
第３実施例の通信端末装置は、マルウェア詳細検出部１１１６ａが全てのアプリケーションを検査するのではなく、マルウェア簡易検出部１１１４ａでマルウェアが検出されたアプリケーションのみを再検査する。
【０１２８】
このようにすることで、全てのアプリケーションを詳細に検査する場合と比較して、検査対象となるアプリケーション数を低減できるため、マルウェアの検査時間を低減できる。
（第４実施例）
次に第４実施例のマルウェア対処システムについて説明する。
【０１２９】
図１３は第４実施例のマルウェア対処システムの構成を示すブロック図である。
【０１３０】
図１３に示すように、第４実施例は、図９に示した第１実施例のＰＤＡ１ａに即時利用入力部１２１を追加した構成である。その他の構成は第１実施例と同様であるため、その説明は省略する。
【０１３１】
上述したように、マルウェア簡易検出部１１１４ａは、簡易なパターンデータを用いてマルウェアを検出するため、マルウェアではないアプリケーションもマルウェアであると判定する場合がある。一方、マルウェアではないアプリケーションは、アクセス制御部１１１２ａにより動作を制限されることなく、直ぐに利用できることがＰＤＡ１ａを利用するユーザにとって望ましい。
【０１３２】
例えば、ユーザが詳細検出を実行することによる電力消費等を許可し、アプリケーションの即時利用を要求した場合、即時利用入力部１２１は、マルウェア簡易検出部１１１４ｂに対してマルウェアの詳細検出を行うよう要求する。
【０１３３】
マルウェア簡易検出部１１１４ｂは、即時利用入力部１２１から即時利用が要求されると、マルウェア詳細検出部１１１６ｂを起動する。その場合、マルウェア詳細検出部１１１６ｂは、ＰＤＡ１ａのＡＣ電源への接続時や待機（アイドル）状態等を待つことなく直ちにマルウェアの詳細検出を実行する。
【０１３４】
したがって、マルウェアと疑われるアプリケーションに対するマルウェアの詳細検出を直ぐに実行し、マルウェアでないことが判明すれば、ユーザは該アプリケーションを直ぐに利用できる。
【図面の簡単な説明】
【０１３５】
【図１】マルウェア対処システムを適用する通信システムの一構成例を示すブロック図である。
【図２】第１の実施の形態のマルウェア対処システムの構成を示すブロック図である。
【図３】第１の実施の形態のマルウェア対処方法の処理手順を示すフローチャートである。
【図４】図３に示したステップＡ９で実行するマルウェアの詳細検出の処理手順を示すシーケンス図である。
【図５】第２の実施の形態のマルウェア対処システムの構成を示すブロック図である。
【図６】第２の実施の形態のマルウェア対処方法の処理手順を示すフローチャートである。
【図７】図６に示したステップＡ９で実行するマルウェアの詳細検出の処理手順を示すシーケンス図である。
【図８】図６に示したステップＡ９で実行するマルウェアの詳細検出の処理手順を示すシーケンス図である。
【図９】第１実施例のマルウェア対処システムの構成を示すブロック図である。
【図１０】第１実施例のマルウェア対処方法の処理手順を示すフローチャートである。
【図１１】図９に示した簡易検出パターンＤＢの一構成例を示す模式図である。
【図１２】図９に示した詳細検出パターンＤＢの一構成例を示す模式図である。
【図１３】第４実施例のマルウェア対処システムの構成を示すブロック図である。
【符号の説明】
【０１３６】
１    通信端末装置
２    サーバ装置
３    ネットワーク
１０１、２０１    ＣＰＵ部
１０２、２０２    メモリ部
１０３、２０３    ストレージ部
１０４、２０４    入力部
１０５、２０５    表示部
１０６、２０６    通信部
１０７、２０７    記録媒体
１１１、１１１ａ    ＯＳ部
１１２    プロセス起動部
１１２ａ    アプリケーションランチャー
１１３、１１３ａ    プログラムファイル
１１４、１１４ａ    制御対象オブジェクト
１１５    セキュリティ制御ＤＢ変更部
１１５ａ    アクセス制御ＤＢ変更部
１１６    追加検出部更新部
１１６ａ    追加検出部ダウンロード部
１１８    分割取得部
１１９、１１９ｂ    ダミーオブジェクト
１１９ａ    モジュール部
１２１    即時入力部
１１１１、１１１１ａ    システムコールフック部
１１１２    セキュリティ制御部
１１１２ａ    アクセス制御部
１１１３    セキュリティ制御ＤＢ
１１１３ａ    アクセス制御ＤＢ
１１１４    マルウェア検出部
１１１４ａ    マルウェア簡易検出部
１１１５    検出パターンＤＢ
１１１５ａ    簡易検出パターンＤＢ
１１１６    マルウェア追加検出部
１１１６ａ    マルウェア詳細検出部
１１１７    追加検出パターンＤＢ
１１１７ａ    詳細検出パターンＤＢ
１１１８、１１１８ａ    ダミー作成部
【図１】
2009238153.tif 000003
【図２】
2009238153.tif 000004
【図３】
2009238153.tif 000005
【図４】
2009238153.tif 000006
【図５】
2009238153.tif 000007
【図６】
2009238153.tif 000008
【図７】
2009238153.tif 000009
【図８】
2009238153.tif 000010
【図９】
2009238153.tif 000011
【図１０】
2009238153.tif 000012
【図１１】
2009238153.tif 000013
【図１２】
2009238153.tif 000014
【図１３】
2009238153.tif 000015