(57)【特許請求の範囲】
【請求項１】
ホストコンピュータと、′
前記ホストコンピュータに脱着可能に接続されて、前記ホストコンピュータからスキャニング対象ファイルを受信し、前記スキャニング対象ファイルにマルウェアがあるかどうかをスキャニングするとともに、揮発性格納部を有する格納装置を備えたチップと、を備え、
前記ホストコンピュータは、前記スキャニング対象ファイルの大きさと、前記チップが有する格納装置の格納容量とを比較し、前記スキャニング対象ファイルが圧縮ファイルである場合には、前記スキャニング対象ファイルの大きさが前記チップが有する格納装置の格納容量と同じであるか、又はより大きい場合には、前記チップに送信するスキャニング対象ファイルの一部であって、前記揮発性格納部の格納容量より小さい容量を前記チップに送信することを特徴とするアンチマルウェアスキャニングシステム。
【請求項２】
前記格納装置は、不揮発性格納部をさらに備え、
前記チップは、前記ホストコンピュータから受信したスキャニング対象ファイルの大きさが前記揮発性格納部の格納容量より小さい場合には、前記揮発性格納部に格納し、前記ホストコンピュータから受信したスキャニング対象ファイルの大きさが前記揮発性格納部の格納容量より大きい場合には、前記不揮発性格納部に格納することを特徴とする請求項１に記載のアンチマルウェアスキャニングシステム。
【請求項３】
前記ホストコンピュータから受信したスキャニング対象ファイルが圧縮ファイルである場合には、前記チップは、前記圧縮ファイルの圧縮解除後の大きさが前記揮発性格納部の格納容量より小さい場合には、前記揮発性格納部に格納し、前記圧縮解除後の大きさが前記揮発性格納部の格納容量より大きい場合には、前記不揮発性格納部に格納することを特徴とする請求項２に記載のアンチマルウェアスキャニングシステム。
【請求項４】
ホストコンピュータのスキャニング対象ファイルにマルウェアがあるかどうかをスキャニングする方法であって、
前記ホストコンピュータが、スキャニング対象ファイルの大きさと、前記ホストコンピュータと脱着可能に接続されたチップが有する格納装置の格納容量とを比較するステップと、前記スキャニング対象ファイルが圧縮ファイルである場合には、前記スキャニング対象ファイルの大きさが前記チップが有する格納装置の格納容量と同じであるか、又はより大きい場合には、前記チップに送信するスキャニング対象ファイルの一部であって、前記格納装置の揮発性格納部の格納容量より小さい容量を前記チップに送信するステップと、
前記チップが受信したスキャニング対象ファイルをスキャニングするステップと、
を含むことを特徴とするアンチマルウェアスキャニング方法。
【請求項５】
前記格納装置は、不揮発性格納部をさらに備え、
前記スキャニングするステップは、
前記受信したスキャニング対象ファイルの大きさが、前記揮発性格納部の格納容量より小さい場合には、前記スキャニング対象ファイルを前記揮発性格納部に格納し、前記受信したスキャニング対象ファイルの大きさが、前記揮発性格納部の格納容量より大きい場合には、前記スキャニング対象ファイルを前記不揮発性格納部に格納するステップと、
前記揮発性格納部又は前記不揮発性格納部に格納されたスキャニング対象ファイルの一部をシグネチャデータと順次比較してスキャニングするステップ、
を含むことを特徴とする請求項４に記載のアンチマルウェアスキャニング方法。
【請求項６】
前記スキャニング対象ファイルが圧縮ファイルである場合において、前記圧縮ファイルの部分圧縮解除が可能であるかどうかを判断するステップと、
前記圧縮ファイルの部分圧縮解除が可能である場合に、前記圧縮ファイルを部分圧縮解除するステップと、
をさらに含み、前記送信するステップは、前記部分圧縮解除されたファイルの一部を前記チップに送信することを特徴とする請求項４に記載のアンチマルウェアスキャニング方法。
【請求項７】
前記送信するステップは、
前記圧縮ファイルの部分圧縮解除が不可能である場合に、前記圧縮ファイルを全て圧縮解除し、全てが圧縮解除されたファイルの一部を前記チップに送信することを特徴とする請求項６に記載のアンチマルウェアスキャニング方法。
【請求項８】
前記スキャニング対象ファイルの大きさと、前記チップが有する格納装置の揮発性格納部の格納容量とを比較するステップをさらに含むことを特徴とする請求項４に記載のアンチマルウェアスキャニング方法。
【請求項９】
ホストコンピュータがスキャニング対象ファイルの大きさと、前記ホストコンピュータと脱着可能に接続されたチップが有する格納装置の格納容量とを比較し、前記スキャニング対象ファイルが圧縮ファイルである場合には、前記スキャニング対象ファイルの大きさが前記チップが有する格納装置の格納容量と同じであるか、又はより大きい場合には、前記チップに送信するスキャニング対象ファイルの一部であって、前記格納装置の揮発性格納部の格納容量より小さい容量を前記チップに送信するステップと、
ホストコンピュータのスキャニング対象ファイルにマルウェアがあるかどうかを確認すべく、前記チップが受信したスキャニング対象ファイルを前記チップにスキャニングさせるステップと、
を前記ホストコンピュータに実行させることを特徴とするアンチマルウェアスキャニングプログラム。
【請求項１０】
請求項９に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アンチマルウェアスキャニングシステム及びその方法に関し、詳細には、スキャニングするリソースが制限された環境でもスキャニングを効率的に行うことのできる、アンチマルウェアスキャニングシステム及びその方法に関する。
【背景技術】
【０００２】
電子及び／又は電気デバイス（以下、デバイスとする）は、多様な用途として活用されている。例えば、ＰＣ、サーバ、携帯電話、ＰＤＡ、又はスマートフォンのようなデバイスは、本来の機能の他に金融取引、オンラインショッピング、又はインターネット電話などのような多様な種類の付加機能を支援している。しかしながら、このような付加的な機能は、ネットワークにより支援される場合が多く、かかる過程においてウイルスのような悪性マルウェアにデバイスが露出する可能性が非常に高まった。
【０００３】
しかしながら、前述のようなデバイスは、自体的にマルウェアをスキャニングできるリソースが制限されていることに対し、スキャニングするデータは、次第に大きくなっている。そのため、リソースの制限された状況において効率的にマルウェアをスキャニングできる方案が要求されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の例示的実施の形態によれば、アンチマルウェアシステムの制限されたリソース環境においてスキャニングを効率的に行うことのできる、アンチマルウェアスキャニングシステム及びその方法が提供されうる。
【０００５】
また、本発明の例示的実施の形態によれば、チップの形態で具現化されたアンチマルウェアシステムのリソースと、スキャニング対象ファイルを有したホストコンピュータ（以下、単にホストと称することがある）のリソースともが制限された環境でも、スキャニングを効率的に行うことのできるアンチマルウェアスキャニングシステムおよびその方法が提供されうる。
【０００６】
また、本発明の例示的実施の形態によれば、チップの形態で具現化されたアンチマルウェアシステムのリソースと、チップと接続するホストのリソースともが制限された環境で、容易にスキャニングできる方法を行うことのできるプログラムの記録された記録媒体が提供されうる。
【課題を解決するための手段】
【０００７】
本発明の例示的実施の形態に係るアンチマルウェアスキャニングシステムは、ホストコンピュータと、前記ホストコンピュータに脱着可能に接続されて、前記ホストコンピュータからスキャニング対象ファイルを受信し、前記スキャニング対象ファイルにマルウェアがあるかどうかをスキャニングするとともに、揮発性格納部を有する格納装置を備えたチップと、を備え、前記ホストコンピュータは、前記スキャニング対象ファイルの大きさと、前記チップが有する格納装置の格納容量とを比較し、前記スキャニング対象ファイルが圧縮ファイルである場合には、前記スキャニング対象ファイルの大きさが前記チップが有する格納装置の格納容量と同じであるか、又はより大きい場合には、前記チップに送信するスキャニング対象ファイルの一部であって、前記揮発性格納部の格納容量より小さい容量を前記チップに送信することを特徴とする。
【０００８】
本発明の例示的実施の形態に係るアンチマルウェアスキャニング方法は、ホストコンピュータのスキャニング対象ファイルにマルウェアがあるかどうかをスキャニングする方法であって、前記ホストコンピュータが、スキャニング対象ファイルの大きさと、前記ホストコンピュータと脱着可能に接続されたチップが有する格納装置の格納容量とを比較するステップと、前記スキャニング対象ファイルが圧縮ファイルである場合には、前記スキャニング対象ファイルの大きさが前記チップ格納装置の格納容量と同じであるか、又はより大きい場合には、前記チップに送信するスキャニング対象ファイルの一部であって、前記格納装置の揮発性格納部の格納容量より小さい容量を前記チップに送信するステップと、前記チップが受信したスキャニング対象ファイルをスキャニングするステップと、を含むことができる。
【０００９】
前記格納部は、揮発性格納部を備え、前記スキャニング対象ファイルの一部の大きさは、前記揮発性格納部の容量より小さいことでありうる。
【００１０】
前記スキャニングするステップは、前記受信したスキャニング対象ファイルの大きさが、前記揮発性格納部の容量より小さい場合には、前記スキャニング対象ファイルを前記揮発性格納部に格納し、前記受信したスキャニング対象ファイルの大きさが、前記揮発性格納部の容量より大きい場合には、前記スキャニング対象ファイルを前記不揮発性格納部に格納するステップと、前記揮発性格納部又は前記不揮発性格納部に格納されたスキャニング対象ファイルの一部をシグネチャデータと順次比較してスキャニングするステップと、を含むことができる。
【００１１】
本発明の例示的実施の形態に係るアンチマルウェアスキャニング方法は、前記スキャニング対象ファイルが圧縮ファイルである場合において、前記圧縮ファイルの部分圧縮解除が可能であるかどうかを判断するステップと、前記圧縮ファイルの部分圧縮解除が可能である場合に、前記圧縮ファイルを部分圧縮解除するステップと、をさらに含み、前記送信するステップは、前記部分圧縮解除されたファイルの一部を前記チップに送信することでありうる。
【００１２】
前記送信するステップは、前記圧縮ファイルの部分圧縮解除が不可能である場合に、前記圧縮ファイルを全て圧縮解除し、全てが圧縮解除されたファイルの一部を前記チップに送信することでありうる。
【００１３】
本発明の例示的実施の形態に係るアンチマルウェアスキャニング方法は、前記スキャニング対象ファイルの大きさと、前記チップが有する格納部の格納容量とを比較するステップをさらに含むことができる。
【００１４】
本発明の例示的実施の形態に係るプログラムが記録された記録媒体は、上述した方法を行うことができるプログラムを記録したコンピュータ読み取り可能な記録媒体でありうる。
【発明の効果】
【００１５】
本発明の例示的実施の形態によれば、アンチマルウェアスキャニングシステムの制限されたリソース環境においてスキャニングを効率的に行うことができる。また、チップの形態で具現化されたアンチマルウェアシステムのリソースと、チップと接続するホストのリソースともが制限された環境でもスキャニングを効率的に行うことができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の例示的実施の形態に係るアンチマルウェアスキャニングシステムの機能ブロック図である。
【図２】本発明の例示的実施の形態に係るアンチマルウェアスキャニングシステムを説明するための図である。
【図３】本発明の例示的実施の形態に係るアンチマルウェアスキャニング方法を説明するための図である。
【図４】本発明の他の実施の形態に係るアンチマルウェアスキャニングシステムを説明するための図である。
【図５】本発明の他の実施の形態に係るアンチマルウェアスキャニング方法を説明するための図である。
【図６】本発明の他の実施の形態に係るアンチマルウェアスキャニングシステムを説明するための図である。
【図７】本発明の他の実施の形態に係るアンチマルウェアスキャニング方法を説明するための図である。
【図８】本発明の他の実施の形態に係るアンチマルウェアスキャニングシステムを説明するための図である。
【図９】本発明の他の実施の形態に係るアンチマルウェアスキャニング方法を説明するための図である。
【発明を実施するための形態】
【００１７】
以上の本発明の目的、他の目的、特徴及び利点は、添付された図面と関連した以下の好ましい実施の形態により容易に理解されるはずである。しかしながら、本発明は、ここで説明される実施の形態に限定されずに他の形態で具体化されうる。むしろ、ここで紹介される実施の形態は、開示された内容が徹底かつ完全になるように、そして当業者に、本発明の思想を十分に伝達させるために提供されるものである。本明細書において、ある構成要素が他の構成要素上にあると言及される場合には、それは、他の構成要素上に直接形成されうるか、又はそれらの間に第３の構成要素が介在されうることを意味する。
【００１８】
また、あるエレメント（または構成要素）が他のエレメント（または構成要素）上で動作または実行されると言及されるとき、そのエレメント（または構成要素）は、他のエレメント（または構成要素）が動作または実行される環境で動作または実行されるか、または他のエレメント（または構成要素）と直接または間接的に相互作用により動作または実行されると理解されなければならない。
【００１９】
あるエレメント、構成要素、装置、またはシステムがプログラム若しくはソフトウェアからなる構成要素を含むと言及される場合には、明示的な言及がなくても、そのエレメント、構成要素、装置、またはシステムは、そのプログラム若しくはソフトウェアが実行または動作するのに必要なハードウェア（例えば、メモリ、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等）や他のプログラムまたはソフトウェア（例えば、運営体制やハードウェアを駆動するのに必要なドライバ等）を含むと理解されなければならない。
【００２０】
また、あるエレメント（または構成要素）が具現化されるに当たって、特別な言及がない限り、そのエレメント（または構成要素）は、ソフトウェア、ハードウェア、またはソフトウェア及びハードウェアのうち、如何なる形態によっても具現化可能であると理解されなければならない。
【００２１】
本明細書で使用された用語は、実施の形態を説明するためのものであって、本発明を限定するものではない。本明細書において、単数形は、特に言及しない限り、複数形も含む。明細書で使用される「含む」と言及された構成要素は、一つ以上の他の構成要素の存在又は追加を排除しない。
【００２２】
以下、図面を参照して本発明を詳細に説明する。以下の特定実施の形態を述べるにおいて、様々な特定の内容は、発明をさらに具体的に説明し理解を助けるために作成された。しかしながら、本発明を理解することができる程度のこの分野における知識を有した読者は、このような様々な特定の内容がなくても使用されうることを認知できる。ある場合には、発明を述べるにおいて周知で発明と大きく関連のない部分は、本発明を説明するにおいて特別な理由なしで混乱を引き起こすことを防止するために述べないことを予め言及しておく。
【００２３】
図１は、本発明の例示的実施の形態に係るアンチマルウェアスキャニングシステムの機能ブロック図である。
【００２４】
図１に示すように、本実施の形態に係るアンチマルウェアスキャニングシステムは、ホスト１００とチップ１２０とを備えることができる。一実施の形態によれば、ホスト１００とチップ１２０とは、メインボード上に装着されて互いに接続されることができる。
【００２５】
本発明の例示的実施の形態によれば、ホスト１００は、中央処理部（以下、ＣＰＵ＿ＭＡＩＮとする）１０１、メモリ（以下、メインメモリ（Ｍａｉｎ  Ｍｅｍｏｒｙ）とする）１０３、ＵＩアプリケーション部１０５、アンチマルウェアドライバ（以下、ＡＭドライバとする）１０９及び格納部１１１を備えることができる。ＵＩアプリケーション部１０５は、アンチマルウェアアプリケーション（以下、ＡＭアプリケーションとする）でありうる。シグネチャデータ１１３、１２１は、格納部１１１又は後述するチップ１２０の有する格納部１１９に格納されることができる。ここで、ＵＩアプリケーション部１０５は、格納部１１１又は別に設けられた格納部（図示せず）に格納されてから、メモリ１０３にロードされて動作できる。
【００２６】
本発明の例示的実施の形態によれば、チップ１２０は、中央処理部（以下、ＣＰＵ＿ＣＨＩＰとする）１１５、チップメモリ１１７、格納部１１９、入出力インタフェース部１２３、及びアンチマルウェアエンジン（以下、ＡＭエンジンとする）１２５を備えることができる。ＡＭエンジン１２５は、ハードウェア及び／又はソフトウェアにより具現化されることができ、ソフトウェアにより具現化される場合には、格納部１１９又は別に設けられた格納部（図示せず）に格納されてからチップメモリ１１７にロードされて動作できる。ＣＰＵ＿ＣＨＩＰ１１５は、上述したチップ１２０の構成要素の動作を全般的に制御できる。
【００２７】
本発明の例示的実施の形態によれば、チップ１２０は、脱着可能な形態でメインボード上に装着可能で、半導体設計ＩＰ用チップの形態で具現化されるか、又は通常のチップの形態で具現化が可能で、チップの形態を有するように構成されてマルウェアをスキャニングできる機能を有したことを意味する。ここで、チップ１２０は、例えば、ＳＩＭ（Ｓｕｂｓｃｒｉｂｅｒ  Ｉｄｅｎｔｉｔｙ  Ｍｏｄｕｌｅ）、ＵＳＩＭ（Ｕｎｉｖｅｒｓａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｉｄｅｎｔｉｔｙ  Ｍｏｄｕｌｅ）、ＵＩＣＣ（Ｕｎｉｖｅｒｓａｌ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ  Ｃａｒｄ）、又は金融ＩＣチップなどのようなスマートカード（Ｓｍａｒｔｃａｒｄ）でありうる。
【００２８】
チップ１２０は、ホスト１００にて使用されるか、又は動作するデータ（実行ファイル、データ、ファイル、．．．等、任意のすべてのデータ）（以下、スキャニング対象ファイルとする）をホスト１００から受信し、該受信したスキャニング対象ファイルにマルウェアが存在しているかどうかをスキャニングできる。ここで、マルウェアは、ホスト１００とチップ１２０とを備えるデバイスの動作に害を及ぼすことのできる任意のデータをすべて含む。
【００２９】
本発明の例示的実施の形態によれば、チップ１２０は、シグネチャデータ１１３、１２１とスキャニング対象ファイルとを比較して、マルウェアが存在しているかどうかを判断できる。スキャニング対象ファイルは、ホスト１００が自体的に有しているデータ又はホスト１００が外部から受信するデータでありうる。シグネチャデータ１１３、１２１は、ホスト１００又はチップ１２０に格納され、シグネチャデータ１１３、１２１がホスト１００に格納された場合、チップ１２０は、ホスト１００からシグネチャデータ１１３、１２１を受信し、受信したシグネチャデータ１１３、１２１とスキャニング対象ファイルとを比較して、スキャニング動作を行うことができる。
【００３０】
本発明の例示的実施の形態によれば、ホスト１００は、スキャニング対象ファイルの大きさをチップ１２０の有する格納容量に合うように調節してチップ１２０に送信できる。
【００３１】
例えば、ホスト１００は、スキャニング対象ファイルの大きさとチップ１２０の有する格納容量とを比較して、スキャニング対象ファイルの大きさが格納容量より小さい場合には、スキャニング対象ファイルをそのままチップ１２０に送信するが、スキャニング対象ファイルの大きさが格納容量と同じである場合、又は格納容量より大きい場合には、スキャニング対象ファイルの全てを送信せずに、スキャニング対象ファイルの一部分ずつチップ１２０に送信する。
【００３２】
スキャニング対象ファイルの一部の大きさは、チップ１２０の格納容量に応じて決定され、例えば、チップ１２０の有するチップメモリ（ＣＨＩＰ  Ｍｅｍｏｒｙ）１１７の格納容量に応じて決定することができる。好ましくは、ホスト１００が送信するスキャニング対象ファイルの一部の大きさは、チップメモリ１１７の格納容量より小さい。
【００３３】
一方、本発明の例示的実施の形態に係るホスト１００は、スキャニング対象ファイルが圧縮ファイルである場合には、圧縮解除し、該圧縮解除したファイルの一部をチップ１２０に送信できる。また、ホスト１００は、圧縮ファイルの部分圧縮解除が可能であるかどうかを判断でき、圧縮ファイルの部分圧縮解除が可能であると、圧縮ファイルを部分圧縮解除し、該部分圧縮解除したファイルの一部をチップ１２０に送信できる。一方、圧縮ファイルの部分圧縮解除が不可能であると、圧縮ファイルを全て圧縮解除し、全てが圧縮解除されたファイルの一部をチップ１２０に送信できる。
【００３４】
本発明の例示的実施の形態によれば、ホスト１００は、チップ１２０からチップ１２０の有する格納容量（例えば、チップメモリ１１７及び／又は格納部１１９の容量）を確認することができる。
【００３５】
本発明の例示的実施の形態によれば、チップ１２０は、ホスト１００から受信したスキャニング対象ファイルが自分（チップ１２０）の揮発性格納部（例えば、チップメモリ１１７）の容量より小さい場合には、揮発性格納部に格納し、ホスト１００から受信したスキャニング対象ファイルが自分（チップ１２０）の揮発性格納部の容量より大きい場合には、不揮発性格納部（例えば、格納部１１９）に格納できる。
【００３６】
また、チップ１２０は、ホスト１００から受信したスキャニング対象ファイルが圧縮ファイルである場合において、圧縮解除後の大きさが自分（チップ１２０）の有する揮発性格納部の格納容量より小さい場合には、揮発性格納部に格納し、圧縮解除後の大きさが揮発性格納部の格納容量と同一であるか、又は揮発性格納部の格納容量より大きい場合には、不揮発性格納部に格納できる。
【００３７】
ＡＭアプリケーション１０５は、スキャニング対象ファイルを、ＡＭドライバ１０９を介して入出力インタフェース部１２３に送信でき、ユーザにスキャニング結果を見せることができるし、スキャニング遂行命令を受信することのできるユーザインタフェース画面を提供することもできる。
【００３８】
本発明の例示的実施の形態によれば、ＡＭアプリケーション１０５は、ユーザインタフェース画面を介してユーザからスキャン命令を受信すると（又は格納部１１１に予め格納されたスキャニングスケジュールに従って）、スキャン用対象ファイルを所定の大きさの分だけ分割し、該分割したことを、ＡＭドライバ１０９を介して入出力インタフェース部１２３に送信できる。ここで、所定の大きさは、前述したようにチップ１２０の格納容量を勘案して決定されたものであって、ＡＭアプリケーション１０５がその大きさを決定することができるし、ＣＰＵ＿ＭＡＩＮ１０１がその大きさを決定することもできる。
【００３９】
又は、チップ１２０は、自身（チップ１２０）の格納容量を知っているので、ホスト１００から受信するスキャニング対象ファイルの大きさを決定してホスト１００に送信できる。この場合には、ホスト１００は、チップ１２０から受信したスキャニング対象ファイルの大きさに応じて、スキャニング対象ファイルをチップ１２０に送信できる。
【００４０】
図２は、本発明の例示的実施の形態に係るアンチマルウェアスキャニングシステムを説明するための図である。
【００４１】
図１と図２を参照すれば、ＡＭアプリケーション１０５は、ユーザからスキャン遂行命令を受け取るか、又は所定のスキャニングスケジュールに基づいてスキャン動作を指示できる。ＡＭアプリケーション１０５は、スキャニング対象ファイルの大きさとチップ１２０の格納容量（チップメモリ１１７及び／又は格納部１１９の格納容量）とを比較する。スキャニング対象ファイルの大きさが格納容量より小さい場合には、格納部１１１に格納されたスキャニング対象ファイルをメインメモリ（Ｍａｉｎ  Ｍｅｍｏｒｙ）１０３にロードする（１）。スキャニング対象ファイルの大きさが格納容量より大きい場合には、図４、図６、及び図８の実施の形態で後述し、本実施の形態では、スキャニング対象ファイルの大きさが格納容量より小さい場合を想定して説明する。
【００４２】
ＡＭアプリケーション１０５は、メインメモリ１０３にロードされたスキャニング対象ファイルを、ＡＭドライバ１０９を介して入出力インタフェース部１２３に送信する（２）。
【００４３】
入出力インタフェース部１２３を介して受信したスキャニング対象ファイルは、格納部１１９に格納され、仮に、スキャニング対象ファイルが圧縮ファイルである場合には、圧縮解除して格納部１１９に格納する（３）。ここで、圧縮解除動作のための構成要素は、格納部１１９に格納された所定のプログラム（図示せず）でありえ、このプログラムは、圧縮解除動作のためにチップメモリ１１７にロードされて動作できる。ＡＭエンジン１２５は、格納部１１９に格納されたスキャニング対象ファイルの一部をチップメモリ１１７にロードさせてスキャニング動作を行う（４）。スキャニング動作が完了すると、ＡＭエンジン１２５は、スキャニング結果を、入出力インタフェース部１２３を介してＡＭアプリケーション１０５に送信する。ＡＭアプリケーション１０５は、スキャニング結果をユーザに、画面（又は電子メールやメッセージでも可能である）にて通知できる。
【００４４】
図１には示されているが、図２に示されていない構成要素は、説明の便宜のために示しておらず、図２の実施の形態にも当然含まれうる。以下の実施の形態でも同じ理由で示さなかった。
【００４５】
図３は、本発明の例示的実施の形態に係るアンチマルウェアスキャニング方法を説明するための図である。
【００４６】
図１と図３とを参照して、本実施の形態に係るアンチマルウェアスキャニング方法を説明すれば、ホスト１００は、ユーザのスキャニング命令や所定のスキャニングスケジュールに応じて、スキャニング対象ファイルをメインメモリ１０３にロードした後（Ｓ３０１）、ロードしたスキャニング対象ファイルをチップ１２０に送信する（Ｓ３０３）。
【００４７】
チップ１２０は、受信したスキャニング対象ファイルをチップメモリ１１７に格納（Ｓ３０５）し、ファイル前処理動作を行う（Ｓ３０７）。ここで、ファイル前処理動作は、ファイルのタイプを識別するか、又はスキャニング対象ファイルが圧縮ファイルである場合には、圧縮解除する動作を含む。
【００４８】
ファイル前処理動作が完了すると、チップ１２０は、格納部１１９又は格納部１１１に格納されたシグネチャデータ１１３、１２１とスキャニング対象ファイルとを比較して、スキャニング対象ファイルにマルウェアがあるかどうかを判断するスキャニング動作を行う（Ｓ３０９）。
【００４９】
スキャニング動作は、ホスト１００から受信したスキャニング対象ファイルのすべてに対して行われ（Ｓ３１１：Ｎ）、スキャニングが終了すると（Ｓ３１１：Ｙ）、チップ１２０は、スキャニング結果をホスト１００に通知する（Ｓ３１３）。
【００５０】
本実施の形態のステップＳ３０５において、チップ１２０が受信したスキャニング対象ファイルをチップメモリ１１７に直に格納すると説明したが、チップ１２０は、ホスト１００から受信したスキャニング対象ファイルの大きさがチップメモリ１１７より大きい場合には、チップメモリ１１７ではない格納部１１９にスキャニング対象ファイルを格納することができる。
【００５１】
図４は、本発明の他の実施の形態に係るアンチマルウェアスキャニングシステムを説明するための図である。
【００５２】
図１と図４とを参照すれば、ＡＭアプリケーション１０５は、ユーザからスキャン遂行命令を受け取るか、又は所定のスキャニングスケジュールに基づいてスキャン動作を行うことができる。ＡＭアプリケーション１０５は、スキャニング対象ファイルの大きさとチップ１２０の格納容量（チップメモリ１１７及び／又は格納部１１９の格納容量）とを比較する。仮に、スキャニング対象ファイルの大きさが格納容量より小さい場合には、前述した図２の実施の形態によってスキャニング動作が行われうる。
【００５３】
本実施の形態は、スキャニング対象ファイルが圧縮ファイルである場合であって、その大きさがチップ１２０の格納容量と同一であるか、又は格納容量より大きい場合を想定して説明する。
【００５４】
ＡＭアプリケーション１０５は、スキャニング対象ファイルの一部をメインメモリ１０３にロードし（１）、該ロードしたスキャニング対象ファイルを、ＡＭドライバ１０９を介して入出力インタフェース部１２３に送信する（２）。ここで、スキャニング対象ファイルの一部は、圧縮ファイルを構成する複数のファイルのうちの何れか一つであって、それもやはり圧縮されたファイル（例：ａ１．ｐｄｆ（１０Ｍｂ）−圧縮状態）でありうる。
【００５５】
入出力インタフェース部１２３を介して受信したスキャニング対象ファイルは、チップメモリ１１７に格納され、仮にスキャニング対象ファイルが圧縮ファイルであると、圧縮解除されてチップメモリ１１７に格納される（３）。ここで、圧縮解除動作は、上述した図２の実施の形態と同一でありうる。また、チップメモリ１１７には、圧縮解除されたファイル（例：ａ１．ｐｄｆ（１０Ｍｂ＋ａ）−圧縮解除状態）の一部（例：ａ１．ｐｄｆの一部）が格納される（４）。
【００５６】
ＡＭエンジン１２５は、チップメモリ１１７に格納されたスキャニング対象ファイルの一部に対してスキャニング動作を行う（５）。以降の動作は、上述した図２の実施の形態と同一でありうる。
【００５７】
図５は、本発明の他の実施の形態に係るアンチマルウェアスキャニング方法を説明するための図である。
【００５８】
図１と図５を参照するものの、スキャニング対象ファイルが圧縮ファイルである場合を想定して、本実施の形態を説明する。ホスト１００は、ユーザのスキャニング命令や所定のスキャニングスケジュールに応じて圧縮されたスキャニング対象ファイルの一部を自分（ホスト１００）のメインメモリ１０３にロードした後（Ｓ５０１）、ロードしたスキャニング対象ファイルをチップ１２０に送信する（Ｓ５０３）。
【００５９】
チップ１２０は、受信したスキャニング対象ファイルをチップメモリ１１７に格納し（Ｓ５０５）、ファイル前処理動作を行う（Ｓ５０７）。ここで、ファイル前処理動作は、ファイルタイプ（圧縮ファイルなのか、部分圧縮解除が可能なファイルなのか等）を識別する動作を含む。また、ファイル前処理動作は、スキャニング対象ファイルが圧縮ファイルである場合には、圧縮解除を行う動作を含む。
【００６０】
ファイル前処理動作の結果、追加的なデータがないと圧縮解除が不可能な場合（Ｓ５０９：Ｎ）には、圧縮解除のための追加的なデータ（すなわち、対象ファイル）を要請する（Ｓ５１１）。
【００６１】
追加的なデータがなくても圧縮解除が可能な場合（Ｓ５０９：Ｙ）には、スキャニング動作を行う（Ｓ５１３）。例えば、チップ１２０は、格納部１１９又は格納部１１１に格納されたシグネチャデータ１１３、１２１とスキャニング対象ファイルとを比較して、スキャニング対象ファイルにマルウェアがあるかどうかを判断するスキャニング動作を行う（Ｓ５１３）。
【００６２】
スキャニング動作は、ホスト１００から受信したスキャニング対象ファイル全部に対して行われ（Ｓ５１５：Ｎ、Ｓ５１７）、スキャニングが終了すると（Ｓ５１５：Ｙ）、チップ１２０は、スキャニング結果をホスト１００に通知する（Ｓ５１９）。
【００６３】
本実施の形態のステップＳ５０５にて、チップ１２０は、受信したスキャニング対象ファイルをチップメモリ１１７に直に格納すると説明したが、チップ１２０は、ホスト１００から受信したスキャニング対象ファイルの大きさがチップメモリ１１７の格納容量と同一であるか、又は格納容量より大きい場合には、チップメモリ１１７でない格納部１１９にスキャニング対象ファイルを格納することができる。
【００６４】
図６は、本発明の他の実施の形態に係るアンチマルウェアスキャニングシステムを説明するための図である。
【００６５】
図１と図６とを参照すれば、ＡＭアプリケーション１０５は、ユーザからスキャン遂行命令を受け取るか、又は所定のスキャニングスケジュールに基づいてスキャン動作を行うことができる。ＡＭアプリケーション１０５は、スキャニング対象ファイルの大きさとチップ１２０の格納容量（チップメモリ１１７及び／又は格納部１１９の格納容量）とを比較する。ここで、スキャニング対象ファイルの大きさが格納容量より小さい場合には、前述した図２の実施の形態に係るスキャニング動作が行われうる。
【００６６】
本実施の形態は、スキャニング対象ファイルが圧縮ファイルである場合であって、その大きさがチップ１２０の格納容量と同一であるか、又は格納容量より大きい場合を想定して説明する。
【００６７】
ＡＭアプリケーション１０５は、スキャニング対象ファイルの一部をメインメモリ１０３にロードし（１）、ロードされたスキャニング対象ファイルを、ＡＭドライバ１０９を介して入出力インタフェース部１２３に送信する（２）。ここで、スキャニング対象ファイルの一部は、圧縮ファイルを構成する複数のファイルのうちの何れか一つ（例：ａ１．ｐｄｆ（１０Ｍｂ）の一部分（例：ａ１．ｐｄｆの一部）でありうる。
【００６８】
入出力インタフェース部１２３を介して受信したスキャニング対象ファイルは、チップメモリ１１７に格納される。
【００６９】
ＡＭエンジン１２５は、チップメモリ１１７に格納されたスキャニング対象ファイルの一部（ａ１．ｐｄｆ）に対してスキャニング動作を行う（３）。以降の動作は、上述した図２の実施の形態と同一でありうる。
【００７０】
図７は、本発明の他の実施の形態に係るアンチマルウェアスキャニング方法を説明するための図である。
【００７１】
図１と図７とを参照するものの、スキャニング対象ファイルが圧縮ファイルである場合を想定して、本実施の形態を説明する。ホスト１００は、ユーザのスキャニング命令や所定のスキャニングスケジュールに応じて、スキャニング対象ファイルから１個のファイルのみを圧縮解除して、自分（ホスト１００）のメインメモリ１０３にロードした後（Ｓ７０１）、ロードしたスキャニング対象ファイルをチップ１２０に送信する（Ｓ７０３）。
【００７２】
チップ１２０は、受信したスキャニング対象ファイルをチップメモリ１１７に格納し（Ｓ７０５）、ファイル前処理動作を行う（Ｓ７０７）。ここで、ファイル前処理動作は、ファイルのタイプを識別する動作を含むことができる。
【００７３】
ファイル前処理動作が完了すると、チップ１２０は、格納部１１９又は格納部１１１に格納されたシグネチャデータ１１３、１２１とスキャニング対象ファイルとを比較して、スキャニング対象ファイルにマルウェアがあるかどうかを判断するスキャニング動作を行う（Ｓ７０９）。
【００７４】
スキャニング動作は、チップ１２０から受信したスキャニング対象ファイル全部に対して行われ（Ｓ７１１：Ｎ、Ｓ７１３）、スキャニングが終了すると（Ｓ７１１：Ｙ）、チップ１２０は、スキャニング結果をホスト１００に通知する（Ｓ７１５）。
【００７５】
本実施の形態のステップＳ７０５にて、チップ１２０は、受信したスキャニング対象ファイルをチップメモリ１１７に直に格納すると説明したが、チップ１２０は、ホスト１００から受信したスキャニング対象ファイルの大きさがチップメモリ１１７の格納容量より大きい場合には、チップメモリ１１７でない格納部１１９にスキャニング対象ファイルを格納することができる。
【００７６】
図８は、本発明の他の実施の形態に係るアンチマルウェアスキャニングシステムを説明するための図である。
【００７７】
図１と図８とを参照すれば、ＡＭアプリケーション１０５は、ユーザからスキャン遂行命令を受け取るか、又は所定のスキャニングスケジュールに基づいてスキャン動作を行うことができる。ＡＭアプリケーション１０５は、スキャニング対象ファイルの大きさとチップ１２０の格納容量（チップメモリ１１７及び／又は格納部１１９の格納容量）とを比較する。ここで、スキャニング対象ファイルの大きさが格納容量より小さい場合には、前述した図２の実施の形態にしたがってスキャン動作が行われうる。
【００７８】
本実施の形態は、スキャニング対象ファイルが非圧縮ファイルである場合であって、その大きさがチップ１２０の格納容量と同じであるか、又は格納容量より大きい場合を想定して説明する。
【００７９】
ＡＭアプリケーション１０５は、スキャニング対象ファイルの一部（例：Ａ．ｐｄｆの一部）をメインメモリ１０３にロードし（１）、ロードしたスキャニング対象ファイルを、ＡＭドライバ１０９を介して入出力インタフェース部１２３に送信する（２）。ここで、スキャニング対象ファイルの一部は、 非圧縮ファイルを構成する複数のファイルのうちの何れか一つ（例：ａ１．ｐｄｆ（１０Ｍｂ）の一部分（例：ａ１．ｐｄｆの一部）でありうる。
【００８０】
入出力インタフェース部１２３を介して受信したスキャニング対象ファイルは、チップメモリ１１７に格納される。
【００８１】
ＡＭエンジン１２５は、チップメモリ１１７に格納されたスキャニング対象ファイルの一部（例：Ａ．ｐｄｆの一部）に対してスキャニング動作を行う（３）。以降の動作は、上述した図２の実施の形態と同一でありうる。
【００８２】
図９は、本発明の他の実施の形態に係るアンチマルウェアスキャニング方法を説明するための図である。
【００８３】
図１と図９を参照して、本実施の形態を説明すれば、ホスト１００は、ユーザのスキャニング命令や所定のスキャニングスケジュールに応じてスキャニング動作を始めることができる。ホスト１００は、チップ格納部（チップメモリ１１７及び／又は格納部１１９）の格納容量とスキャニング対象ファイルの大きさとを比較する（Ｓ９０１）。
【００８４】
比較の結果、チップ格納部（チップメモリ１１７及び／又は格納部１１９）の格納容量がスキャニング対象ファイルの大きさより大きい場合（Ｓ９０１：Ｙ）には、上述した図２の実施の形態又は図３の実施の形態に応じてスキャニング対象ファイルがチップ１２０に送信され（Ｓ９０３）、スキャニングする動作（Ｓ９０５）が行われうる。
【００８５】
一方、チップ格納部（チップメモリ１１７及び／又は格納部１１９）の格納容量がスキャニング対象ファイルの大きさと同じであるか、又は格納容量より小さい場合（Ｓ９０１：Ｎ）には、圧縮ファイルであるかどうかを判断する（Ｓ９０７）。
【００８６】
ホスト１００は、スキャニング対象ファイルが圧縮ファイルであると判断された場合（Ｓ９０７：Ｙ）には、部分圧縮解除が可能であるかどうかを直に判断する（Ｓ９０９）。仮に、部分圧縮解除が可能である場合には（Ｓ９０９：Ｙ）、図６の実施の形態又は図７の実施の形態にしたがってスキャニング対象ファイルがチップ１２０に送信され（Ｓ９１１）、スキャニング動作が行われる（Ｓ９１３）。ここで、スキャニング動作は、ホスト１００から受信したファイル全体に対して完了するまで行われうる（Ｓ９１５：Ｎ）。
【００８７】
部分圧縮解除が不可能な場合（Ｓ９０９：Ｎ）には、図４の実施の形態又は図５の実施の形態によってスキャニング対象ファイルがチップ１２０に送信されて（Ｓ９１７）、スキャニング動作が行われうる（Ｓ９１９）。スキャニング動作は、ホスト１００から受信したファイル全体に対して完了するまで行われる（Ｓ９２１：Ｎ）。
【００８８】
スキャニング対象ファイルが圧縮ファイルでない場合（Ｓ９０７：Ｎ）には、図８の実施の形態によってスキャニング対象ファイルがチップ１２０に送信されて（Ｓ９２３）、スキャニング動作が行われうる（Ｓ９２５）。そして、スキャニング動作は、ホスト１００から受信したファイル全体に対して完了するまで行われる（Ｓ９２７：Ｎ）。
【００８９】
以上、上述したスキャニング動作が完了すると、チップ１２０は、スキャニング結果をホスト１００に通知する。
【００９０】
上述した実施の形態でのアンチマルウェアスキャニングシステムは、図示の構成要素の他に多様なハードウェア及び／又はソフトウェアリソースを含むことができる。リソースは、アンチマルウェアスキャニングシステムが動作するのに必要なハードウェア資源とソフトウェア資源とを通称するものであって、ハードウェア資源にはＣＰＵやメモリが挙げられ、ソフトウェア資源には、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）が挙げられる。例えば、ＵＩアプリケーション部やウェブブラウザは、ＯＳ基盤上に動作でき、ＣＰＵの制御下にメモリにロードされて動作される。このように、任意のアプリケーションが動作又は実行されるために必要なハードウェア資源及び／又はソフトウェア資源との相互作用は、本発明が属した技術分野の者であれば、誰でも容易に理解できる技術であり、そういう技術は、本発明と相反しない範囲内で本発明の例示的実施の形態の一部として結合される。また、アンチマルウェアスキャニングシステムに含まれた構成要素が動作するとき、必要なハードウェア資源及び／又はソフトウェア資源に対する明示的又は暗示的な言及がなくても、そういう資源との相互作用が前提されることを理解できるはずである。
【００９１】
また、アンチマルウェアスキャニングシステムは、ハードウェア資源及び／又はソフトウェア資源を直接含むこともできるが、アンチマルウェアスキャニングシステムがネットワークを利用して提供されるハードウェア資源及び／又はソフトウェア資源の少なくとも一部を利用すること（例えば、ＳａａＳ（Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）やウェブハード）も構成が可能である。
【００９２】
本発明の例示的実施の形態に係る方法は、多様なコンピュータ手段により行われうるプログラム命令形態で具現化されて、コンピュータ読み取り可能な記録媒体は、プログラム命令、データファイル、データ構造などを、単独でまたは組み合わせて含むことができる。当該記録媒体に記録されるプログラム命令は、本発明のために特に設計され、構成されたものであるか、コンピュータソフトウェアの当業者にとって公知の使用可能なものでありうる。
【００９３】
また、本発明の例示的実施の形態に係るアンチマルウェアスキャニングシステムは、電気線又はケーブル、光ファイバなどの送信媒体により、又は任意のその他形態の送信により送信されるプログラムコードの形態で具現化されて通信を介して実施でき、このような送信媒体も、本発明の例示的実施の形態に該当する。
【００９４】
以上、本発明は、限定された実施の形態と図面により説明されたが、本発明は、上記の実施の形態に限定されるものではなく、本発明が属する分野における通常の知識を有した者であればこのような記載から多様な修正及び変形が可能である。したがって、本発明の範囲は、説明された実施の形態に限って決まってはならず、後述する特許請求の範囲だけでなく、この特許請求の範囲と均等なものによって決まらなければならない。
【符号の説明】
【００９５】
１００      ホスト
１０１      ＣＰＵ＿ＭＡＩＮ
１０３      メインメモリ
１０５      ＵＩアプリケーション部（ＡＭアプリケーション）
１０９      ＡＭドライバ
１１１、１１９      格納部
１１５      ＣＰＵ＿ＣＨＩＰ
１１７      チップメモリ
１２０      チップ
１２３      入出力インタフェース部
１２５      ＡＭエンジン
【図１】
0005571057.tif 000002
【図２】
0005571057.tif 000003
【図３】
0005571057.tif 000004
【図４】
0005571057.tif 000005
【図５】
0005571057.tif 000006
【図６】
0005571057.tif 000007
【図７】
0005571057.tif 000008
【図８】
0005571057.tif 000009
【図９】
0005571057.tif 000010