(57)【要約】【課題】  ウイルス対策が施されていないコンピュータにＵＳＢメモリ等を接続し、ファイルのやりとりを行う場合にウイルスの拡散を防止する【解決手段】  コンピュータに着脱可能な記憶装置を接続してウイルス防止プログラムを起動し、コンピュータを、フック手段から制御が受け渡されるとＡＰＩ実行手段による処理対象のファイルを入力する入力手段、処理対象ファイルがウイルスに感染しているか否かを検知する検知手段、感染している場合、ＡＰＩ実行手段による処理が失敗したことをＡＰ実行手段に出力し、感染していない場合、処理対象ファイルを暗号化・復号化手段に出力する判定手段、処理対象ファイルを入力して当該処理対象のファイルを暗号化又は復号化する手段、暗号化又は復号化された処理対象のファイルを入力してＡＰＩ実行手段へ出力する出力手段として機能させる。【選択図】  図１
2010097550.tif 000002
【特許請求の範囲】
【請求項１】
所定のアプリケーションプログラムを実行するＡＰ実行手段と、所定のアプリケーションプログラムインタフェースを実行するＡＰＩ実行手段と、前記ＡＰ実行手段が前記ＡＰＩ実行手段を呼び出すと、前記ＡＰＩ実行手段による処理が行われる前に、他の処理を実行可能に制御するフック手段とを備えたコンピュータに着脱可能な記憶装置に格納されるウイルス防止プログラムであって、
前記コンピュータに前記記憶装置を接続すると、前記コンピュータが当該ウイルス防止プログラムを起動し、
前記コンピュータを、
前記フック手段から制御が受け渡されると、前記ＡＰＩ実行手段による処理対象のファイルを入力するファイル入力手段、
前記ファイル入力手段により入力された前記処理対象ファイルが、コンピュータウイルスに感染しているか否かを検知するウイルス検知手段、
前記処理対象ファイルが、ウイルスに感染している場合、前記ＡＰＩ実行手段による処理が失敗したことを前記ＡＰ実行手段に出力し、ウイルスに感染していない場合、前記処理対象のファイルを暗号化・復号化手段に出力する判定手段、
前記判定手段から前記処理対象のファイルを入力すると、当該処理対象のファイルを暗号化又は復号化する前記暗号化・復号化手段、及び、
前記暗号化・復号化手段から暗号化又は復号化された前記処理対象のファイルを入力すると、当該処理対象のファイルを前記ＡＰＩ実行手段へ出力するファイル出力手段
として機能させるためのウイルス防止プログラム。
【請求項２】
前記処理対象のファイルが前記コンピュータにおけるファイル記憶手段に記憶されており、前記ＡＰＩ実行手段により実行されるアプリケーションプログラムインタフェースが、ファイルの書き込み処理を行うものである場合、
前記ファイル入力手段により、前記処理対象のファイルが前記ファイル記憶手段から入力され、
前記ウイルス検知手段により、前記処理対象ファイルがコンピュータウイルスに感染しているか否かが検知され、
前記判定手段により、感染していると判定された場合、前記ＡＰＩ実行手段による処理が失敗したことが前記ＡＰ実行手段に出力され、感染していないと判定された場合、前記処理対象のファイルが前記暗号化・復号化手段に出力され、
前記暗号化・復号化手段により、前記処理対象のファイルが暗号化され、
前記ファイル出力手段により、暗号化された処理対象のファイルが前記ＡＰＩ実行手段へ出力され、
前記ＡＰＩ実行手段により、前記暗号化された処理対象のファイルが前記記憶装置に書き込まれる
ことを特徴とする請求項１記載のウイルス防止プログラム。
【請求項３】
前記処理対象のファイルが前記記憶装置に記憶されており、前記ＡＰＩ実行手段により実行されるアプリケーションプログラムインタフェースが、ファイルの読み込み処理を行うものである場合、
前記ファイル入力手段により、前記処理対象のファイルが前記記憶装置から入力され、
前記暗号化・復号化手段により、前記処理対象のファイルが暗号化されているか否かが確認され、暗号化されている場合は、復号化され、
前記ウイルス検知手段により、前記処理対象ファイルがコンピュータウイルスに感染しているか否かが検知され、
前記判定手段により、感染していると判定された場合、前記ＡＰＩ実行手段による処理が失敗したことが前記ＡＰ実行手段に出力され、感染していないと判定された場合、前記処理対象のファイルが前記ファイル出力手段に出力され、
前記ファイル出力手段により、前記処理対象のファイルが前記ＡＰＩ実行手段へ出力され、
前記ＡＰＩ実行手段により、前記処理対象のファイルが前記コンピュータにおけるファイル記憶手段に記憶される
ことを特徴とする請求項１記載のウイルス防止プログラム。
【請求項４】
前記コンピュータを、
入力された所定の識別情報にもとづき認証処理を行い、認証に成功した場合にのみ、前記ファイル入力手段、前記ウイルス検知手段、前記判定手段、前記暗号化・復号化手段、及びファイル出力手段による各機能を有効にする認証手段
として機能させるための請求項１〜３のいずれかに記載のウイルス防止プログラム。
【請求項５】
前記コンピュータを、
前記暗号化・復号化手段により、前記処理対象のファイルが暗号化されているか否かが確認され、暗号化されている場合、前記ＡＰＩ実行手段を呼び出した前記ＡＰ実行手段が所定のアプリケーションプログラムを実行するものか否かを判定して、判定結果を前記暗号化・復号化手段に出力するアプリケーション確認手段として機能させ、
前記暗号化・復号化手段に、前記判定の結果、前記ＡＰ実行手段が所定のアプリケーションプログラムを実行するものである場合にのみ、前記処理対象のファイルを復号化させる
ことを実行させるための請求項３記載のウイルス防止プログラム。
【請求項６】
請求項１〜５のいずれかに記載のウイルス防止プログラムを格納した、コンピュータに着脱可能な記憶装置。
【請求項７】
請求項１〜５のいずれかに記載のウイルス防止プログラムを格納し、生体認証機能を備えた、コンピュータに着脱可能な記憶装置。
【請求項８】
所定のアプリケーションプログラムを実行するＡＰ実行手段と、所定のアプリケーションプログラムインタフェースを実行するＡＰＩ実行手段と、前記ＡＰ実行手段が前記ＡＰＩ実行手段を呼び出すと、前記ＡＰＩ実行手段による処理が行われる前に、他の処理の実行を制御するフック手段とを備えたコンピュータに、着脱可能な記憶装置を接続し、
前記コンピュータが、前記記憶装置に格納されているウイルス防止プログラムを起動して、ウイルス防止プログラム実行手段を生成し、
前記ウイルス防止プログラム実行手段が、
前記フック手段から制御が受け渡されると、前記ＡＰＩ実行手段による処理対象のファイルを入力し、
入力された前記処理対象ファイルがコンピュータウイルスに感染しているか否かを検知し、
感染している場合、前記ＡＰＩ実行手段による処理が失敗したことを前記ＡＰ実行手段に出力し、感染していない場合、前記処理対象のファイルを暗号化又は復号化して、前記ＡＰＩ実行手段へ出力する
ことを特徴とするウイルス防止方法。
【請求項９】
前記処理対象のファイルが前記コンピュータにおけるファイル記憶手段に記憶されており、前記ＡＰＩ実行手段により実行されるアプリケーションプログラムインタフェースが、ファイルの書き込み処理を行うものである場合、
前記ウイルス防止プログラム実行手段が、
前記処理対象のファイルを前記ファイル記憶手段から入力して、当該処理対象のファイルがコンピュータウイルスに感染しているか否かを検知し、
感染している場合、前記ＡＰＩ実行手段による処理が失敗したことを前記ＡＰ実行手段に出力し、感染していない場合、前記処理対象のファイルを暗号化して前記ＡＰＩ実行手段へ出力し、
前記ＡＰＩ実行手段により、前記暗号化された処理対象のファイルが前記記憶装置に書き込まれる
ことを特徴とする請求項８記載のウイルス防止方法。
【請求項１０】
前記処理対象のファイルが前記記憶装置に記憶されており、前記ＡＰＩ実行手段により実行されるアプリケーションプログラムインタフェースが、ファイルの読み込み処理を行うものである場合、
前記ウイルス防止プログラム実行手段が、
前記処理対象のファイルを前記記憶装置から入力し、
前記処理対象のファイルが暗号化されているか否かを検知して、暗号化されている場合は、当該処理対象のファイルを復号化し、
前記処理対象ファイルがコンピュータウイルスに感染しているか否かを検知し、
感染している場合、前記ＡＰＩ実行手段による処理が失敗したことを前記ＡＰ実行手段に出力し、感染していない場合、前記処理対象のファイルを前記ＡＰＩ実行手段へ出力し、
前記ＡＰＩ実行手段により、前記処理対象のファイルが前記コンピュータにおけるファイル記憶手段に記憶される
ことを特徴とする請求項８記載のウイルス防止方法。
【請求項１１】
前記コンピュータに前記記憶装置を接続して、前記コンピュータが前記ウイルス防止プログラムを起動すると、
前記ウイルス防止プログラム実行手段が、
入力された所定の識別情報にもとづき認証処理を実行し、認証に成功した場合にのみ、前記処理対象のファイルの入力以降の処理を実行する
ことを特徴とする請求項８〜１０のいずれかに記載のウイルス防止方法。
【請求項１２】
前記ウイルス防止プログラム実行手段が、
前記処理対象のファイルが暗号化されている場合、前記ＡＰＩ実行手段を呼び出した前記ＡＰ実行手段が、所定のアプリケーションプログラムを実行するものか否かを判定し、所定のアプリケーションプログラムを実行するものである場合にのみ、前記処理対象のファイルを復号化する
ことを特徴とする請求項１０記載のウイルス防止方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＵＳＢメモリなどの記憶装置に格納する情報を保護する技術に関する。
【背景技術】
【０００２】
近年、コンピュータウイルスと呼ばれるソフトウェアが蔓延し、社会問題となっている。このソフトウェア技術は、実行可能なプログラムファイルや、マクロとよばれるコンピュータの操作をおこなう記述が含まれたファイル内に、ウイルスの作成者が意図した操作を行わせるプログラムコードを埋め込むことにより、コンピュータの利用者が意図していない操作を勝手に行ってしまうというものである。
【０００３】
このようなコンピュータウイルスを検知するための技術としては、従来、主として次のような二種類の方法があった。
まず、第一の方法として、特許文献１に記載の発明のように、コンピュータに保存されている全てのファイルについて、コンピュータウイルスが埋め込まれていないかを検索する方法があった。
しかし、この方法では、例えばコンピュータに１００万個のファイルが存在する場合には、１００万個のファイルを全てチェックするため、ウイルスの存否の検知に多くの時間とＣＰＵ能力が必要になるという問題があった。
【０００４】
第二の方法としては、オペレーティングシステム（以下、ＯＳと称する場合がある。）におけるファイルアクセスを行うファイルシステム内に、フィルタードライバとよばれるプログラムを事前に埋め込み、全てのプログラムのファイルアクセス操作を監視して、ウイルスに感染したファイルへの操作が行われていないかをチェックする方法があった。
この方法は、第一の方法のように全てのファイルをチェックすることを行わず、ファイルアクセスがあったときにだけ、そのファイルがウイルスに感染していないかをチェックするものであるため、検知時間は高速である。
【０００５】
しかし、ウインドウズ（登録商標）ＯＳの場合、このようなファイルアクセス操作の監視は、カーネルモードにおけるドライバで実現する必要があるが、カーネルモードによる操作は管理者権限のある者でなければ行うことができない。このため、第二の方法では、このようなドライバをＯＳの管理者権限のある者が、予めコンピュータにインストールしておかなければならず、利便性に欠けるという問題があった。
【０００６】
一方、最近では、コンピュータに保存されているファイルをＵＳＢメモリなどの記憶装置に複製することが頻繁に行われている。
このような複製にあたり、コンピュータのウイルスチェック機能が脆弱で、ファイルがウイルスに感染していると、この感染したファイルがＵＳＢメモリに保存されてしまうという問題があった。そして、このＵＳＢメモリが他のコンピュータに接続され、感染したファイルが使用されると、感染が他のコンピュータに拡散してしまうという問題があった。
【０００７】
ここで、ＵＳＢメモリなどの記憶装置に関連する、ウイルス防止技術としては、例えば特許文献２に記載のウイルス防疫装置を挙げることができる。
この技術ではＵＳＢメモリなどの記憶装置にウイルス防止プログラムに格納し、ＵＳＢメモリをコンピュータに接続したときに、このウイルス防止プログラムをコンピュータに伝送して起動させる構成となっている。
これによって、ＯＳと独立的にウイルス防止プログラムを駆動することができ、コンピュータへの導入時におけるウイルスの影響を最小化することが可能とされている。
【０００８】
【特許文献１】特開２００６−５２２９６０号公報
【特許文献２】特開２００８−５１９３６９号公報
【特許文献３】特開平１１−１１９９９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献２に記載のウイルス防疫装置は、ウイルス防止プログラムをコンピュータで実行できるものの、ウイルスに感染しているファイルが、コンピュータからＵＳＢメモリに書き込まれる場合や、ＵＳＢメモリからコンピュータに読み込まれる場合に、これらを防止するものではない。
【００１０】
そこで、本発明者は鋭意検討し、コンピュータがＵＳＢメモリの書き込み又は読み出しを行う場合に、ＡＰＩ（アプリケーションプログラムインタフェース）フック技術を利用して、これらの処理が実行される直前に、処理対象のファイルがウイルスに感染していないかを確認し、感染していない場合にのみ、処理を続行させることで、コンピュータとＵＳＢメモリ間でウイルスに感染したファイルの拡散を防止できること、また管理者権限を必要とすることなくウイルスの拡散を防止できることを見いだし、本発明を完成させた。
【００１１】
ここで、ＡＰＩフックとは、アプリケーションプログラム（以下、ＡＰと称する場合がある。）がアプリケーションプログラムインタフェース（以下、ＡＰＩと称する場合がある。）を呼び出す際に、ＡＰＩによる処理が行われる前にその制御を受け取り、各種処理を行うことを可能とした後、ＡＰＩに制御を返却するものである。
本発明では、このＡＰＩフック技術をＵＳＢメモリへの書き込みやＵＳＢメモリからの読み込み処理が行われる際に用いて処理対象ファイルのウイルス検知を行うことで、ＵＳＢメモリのデータに高い安全性を確保できるとともに、これを管理者権限の必要なく実現することが可能となっている。
【００１２】
すなわち、上述した通り、ファイルシステム内に、ウイルス検知プログラムを導入し、これによってＵＳＢメモリへの書き込みファイル等がウイルスに感染していないかどうかをチェックする方法では、管理者権限が必要となるため、利便性が悪いという問題があった。
これに対し、ＡＰＩフックを利用した本発明では、管理者権限を必要とすることなく、処理対象ファイルがウイルスに感染していないかどうかをチェックすることができ、利便性を向上させることが可能となっている。
【００１３】
なお、ＡＰＩフック技術自体は公知の技術であり、特許文献３には、フック方式を用いたコンピュータウイルス自動検知システムが記載されている。
このコンピュータウイルス自動検知システムによれば、ファイル転送プログラムによるファイル受信命令を横取りすることで、ネットワークを介して計算機システムに転送されるファイルにコンピュータウイルスが感染しているか否かを確認し、感染していない場合に当該ファイルをファイル転送プログラムに送出して記憶装置へ転送する構成となっている。
【００１４】
しかし、このようなシステムを用いても、ウイルスに感染したファイルが、コンピュータからＵＳＢメモリに書き込まれる場合や、ＵＳＢメモリからコンピュータに読み取られる場合に、これらを防止することはできない。
また、当該システムでは、ファイル転送プログラム自体が、既にウイルスに感染している場合には、ウイルスの拡散を防止できないという問題があった。
【００１５】
本発明は、上記の事情にかんがみなされたものであり、ＵＳＢメモリなどの記憶装置の書き込みや読み込みが行われる際に、ＡＰＩフックを利用して、処理対象ファイルのウイルス検知及び暗号化を行うことで、ＵＳＢメモリに格納するデータやＵＳＢメモリから読み込まれるデータの安全を確保することが可能なウイルス防止プログラム、コンピュータに着脱可能な記憶装置、及びウイルス防止方法の提供を目的とする。
【課題を解決するための手段】
【００１６】
上記目的を達成するため、本発明のウイルス防止プログラムは、所定のアプリケーションプログラムを実行するＡＰ実行手段と、所定のアプリケーションプログラムインタフェースを実行するＡＰＩ実行手段と、ＡＰ実行手段がＡＰＩ実行手段を呼び出すと、ＡＰＩ実行手段による処理が行われる前に、他の処理を実行可能に制御するフック手段とを備えたコンピュータに着脱可能な記憶装置に格納されるウイルス防止プログラムであって、コンピュータに記憶装置を接続すると、コンピュータが当該ウイルス防止プログラムを起動し、コンピュータを、フック手段から制御が受け渡されると、ＡＰＩ実行手段による処理対象のファイルを入力するファイル入力手段、ファイル入力手段により入力された処理対象ファイルが、コンピュータウイルスに感染しているか否かを検知するウイルス検知手段、処理対象ファイルが、ウイルスに感染している場合、ＡＰＩ実行手段による処理が失敗したことをＡＰ実行手段に出力し、ウイルスに感染していない場合、処理対象のファイルを暗号化・復号化手段に出力する判定手段、判定手段から処理対象のファイルを入力すると、当該処理対象のファイルを暗号化又は復号化する暗号化・復号化手段、及び、暗号化・復号化手段から暗号化又は復号化された処理対象のファイルを入力すると、当該処理対象のファイルをＡＰＩ実行手段へ出力するファイル出力手段として機能させる構成としてある。
【００１７】
また、本発明のコンピュータに着脱可能でウイルス防止機能を備えた記憶装置は、上記のウイルス防止プログラムを格納した構成としてある。また、さらに生体認証機能を備えた構成としてある。
【００１８】
また、本発明のウイルス防止方法は、所定のアプリケーションプログラムを実行するＡＰ実行手段と、所定のアプリケーションプログラムインタフェースを実行するＡＰＩ実行手段と、ＡＰ実行手段がＡＰＩ実行手段を呼び出すと、ＡＰＩ実行手段による処理が行われる前に、他の処理の実行を制御するフック手段とを備えたコンピュータに、着脱可能な記憶装置を接続し、コンピュータが、記憶装置に格納されているウイルス防止プログラムを起動して、ウイルス防止プログラム実行手段を生成し、ウイルス防止プログラム実行手段が、フック手段から制御が受け渡されると、ＡＰＩ実行手段による処理対象のファイルを入力し、入力された処理対象ファイルがコンピュータウイルスに感染しているか否かを検知し、感染している場合、ＡＰＩ実行手段による処理が失敗したことをＡＰ実行手段に出力し、感染していない場合、処理対象のファイルを暗号化又は復号化して、ＡＰＩ実行手段へ出力する方法としてある。
【発明の効果】
【００１９】
本発明によれば、事前のウイルス防止プログラムのコンピュータへのインストールや、そのメンテナンスを必要とすることなく、ＵＳＢメモリなどの記憶装置へのウイルスに感染したファイルの書き込みや、記憶装置からの読み出しを防止することが可能となる。
また、感染していないファイルをＵＳＢメモリへ書き込む場合、これを暗号化して書き込むため、記憶装置への格納情報をより安全に保護することが可能となる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明のウイルス防止プログラム、コンピュータに着脱可能な記憶装置、及びウイルス防止方法の好ましい実施形態について、図面を参照しつつ説明する。
なお、以下の実施形態に示す本発明のコンピュータに着脱可能な記憶装置は、コンピュータに接続されると、当該記憶装置に格納されている本発明のウイルス防止プログラムが起動され、このウイルス防止プログラムがコンピュータにより実行されるようになっている。コンピュータのＣＰＵは、ウイルス防止プログラムにもとづいてコンピュータの各構成要素に指令を送り、当該コンピュータの動作に必要となる所定の処理、例えば、ファイル入力処理、ウイルス検知処理、ウイルス感染の有無判定処理、暗号化・復号化処理、及びファイル出力処理等を行わせる。このように、本発明のコンピュータに着脱可能な記憶装置に接続されたコンピュータにおける各処理，動作は、本発明のウイルス防止プログラムとコンピュータとが協働した具体的手段により実現できるものである。
【００２１】
［第一実施形態］
まず、本発明の第一実施形態の構成について、図１及び図２を参照して説明する。図１は、本実施形態のウイルス防止プログラムを格納した着脱可能な記憶装置をコンピュータに接続した、当該コンピュータに形成される構成を示すブロック図において、記憶装置にファイルを書き込む流れを示した図である。図２は、本実施形態のウイルス防止プログラムを格納した着脱可能な記憶装置をコンピュータに接続した、当該コンピュータに形成される構成を示すブロック図において、記憶装置からファイルを読み出す流れを示した図である。
【００２２】
本実施形態のコンピュータに着脱可能な記憶装置は、図１及び図２におけるＵＳＢメモリ１０であり、このＵＳＢメモリ１０にウイルス防止プログラム１１、ウイルス検知プログラム１２、及び暗号化・復号化プログラム１３が格納されている。なお、本発明のコンピュータに着脱可能な記憶装置は、ＵＳＢメモリに限定されるものではなく、リムーバルハードディスクなどのその他の記憶装置を用いることもできる。
【００２３】
これらの図において、ＵＳＢメモリ１０は、ＰＣ２０に接続されている。
ＰＣ２０は、ウインドウズ（登録商標）などのＡＰＩフック機能を備えたＯＳがインストールされている汎用のパーソナルコンピュータやサーバなどの情報処理装置である。
【００２４】
ＵＳＢメモリ１０がＰＣ２０に接続されると、ＰＣ２０によりウイルス防止プログラム１１が起動され、ＰＣ２０内において、当該ＰＣ２０のＣＰＵ及びメモリによりウイルス防止プログラム実行手段２１が形成される。また、同様にウイルス検知プログラム１２が起動されると、ＰＣ２０内にウイルス検知プログラム実行手段２１ｂ−１が形成され、暗号化・復号化プログラム１３が起動されると、ＰＣ２０内に暗号化・復号化プログラム実行手段２１ｄ−１が形成される。
【００２５】
ウイルス防止プログラム実行手段２１は、ファイル入力手段２１ａ、ウイルス検知手段２１ｂ、判定手段２１ｃ、暗号化・復号化手段２１ｄ、及びファイル出力手段２１ｅを備えている。
【００２６】
ファイル入力手段２１ａは、処理対象ファイルを入力し、ＡＰＩフック２４から入力したＡＰＩの種類にもとづいて、対応する手段に処理対象ファイルを出力する。
すなわち、ＡＰＩの種類が書き込みを示すものである場合、ファイル入力手段２１ａは、図１に示すように処理対象ファイルをＰＣ２０におけるファイル記憶手段２２から入力してウイルス検知手段２１ｂに出力する。
また、ＡＰＩの種類が読み込みを示すものである場合、ファイル入力手段２１ａは、図２に示すように処理対象ファイルをＵＳＢメモリ１０（におけるファイル記憶手段１４）から入力して暗号化・復号化手段２１ｄに出力する。
【００２７】
ウイルス検知手段２１ｂは、ウイルス検知プログラム実行手段２１ｂ−１に、処理対象ファイルがウイルスに感染しているか否かを検出させる。なお、ウイルス検知プログラム実行手段２１ｂ−１は、任意のものを用いることができる。
【００２８】
判定手段２１ｃは、ウイルス検知プログラム実行手段２１ｂ−１により、処理対象ファイルにウイルスが検出された場合、当該ファイルはウイルスに感染しており、汚染されていると判定する。そして、ＡＰＩ２５の処理が失敗したことを示す情報をＡＰ２３へ通知する。
一方、処理対象ファイルにウイルスが検出されなかった場合、判定手段２１ｃは、当該ファイルはウイルスに感染しておらず、汚染されていないと判定する。そして、処理対象ファイルを暗号化・復号化手段２１ｄに出力する。
【００２９】
暗号化・復号化手段２１ｄは、暗号化・復号化プログラム実行手段２１ｄ−１に、処理対象ファイルの暗号化又は復号化処理を行わせる。
すなわち、ＡＰＩの種類が書き込みを示すものである場合、暗号化・復号化手段２１ｄは、図１に示すように処理対象ファイルを判定手段２１ｃから入力して暗号化・復号化プログラム実行手段２１ｄ−１により暗号化し、暗号化した処理対象ファイルをファイル出力手段２１ｅに出力する。
【００３０】
このように処理対象ファイルにウイルスが感染していないことを確認した後に、さらに処理対象ファイルの暗号化を行うことで、当該ファイルが第三者によりＵＳＢメモリ１０から取り出され、ファイル交換ソフトなどによって他のコンピュータに拡散しても、処理対象ファイルにおける情報は知られることがない。
このため、ＵＳＢメモリ１０に格納する情報を保護するにあたり、その安全性をより向上させることが可能となっている。
【００３１】
また、ＡＰＩの種類が読み込みを示すものである場合、暗号化・復号化手段２１ｄは、図２に示すように処理対象ファイルをファイル入力手段２１ａから入力し、処理対象ファイルが暗号化されているものであるか否かを判定する。
そして、暗号化されている場合は、暗号化・復号化プログラム実行手段２１ｄ−１により復号化し、復号化した処理対象ファイルをウイルス検知手段２１ｂに出力する。
なお、暗号化・復号化プログラム実行手段２１ｄ−１は、任意のものを用いることができる。
【００３２】
ファイル出力手段２１ｅは、入力した処理対象ファイルを、ＡＰＩフック２４から入力したＡＰＩの種類にもとづいて、対応する手段に出力する。
すなわち、ＡＰＩの種類が書き込みを示すものである場合、ファイル出力手段２１ｅは、図１に示すように暗号化・復号化手段２１ｄから暗号化された処理対象ファイルを入力してＰＣ２０におけるＡＰＩ２５に出力する。そして、この処理対象ファイルは、ＡＰＩ２５によりＵＳＢメモリ１０（におけるファイル記憶手段１４）に書き込まれる。
【００３３】
また、ＡＰＩの種類が読み込みを示すものである場合、ファイル出力手段２１ｅは、図２に示すように処理対象ファイルを判定手段２１ｃから入力してＡＰＩ２５に出力する。そして、この処理対象ファイルは、ＡＰＩ２５によりＰＣ２０におけるファイル記憶手段２２に保存される。
【００３４】
ファイル記憶手段２２は、ＡＰ２３により使用されるファイルなどを記憶する、ＰＣ２０におけるメモリやハードディスクなどの記憶装置であり、ＰＣ２０に外部接続されたものでも良い。このファイル記憶手段２２に記憶される、ＡＰ２３により使用されるファイルは、ＡＰＩ２５による処理対象のファイルである。
【００３５】
ＡＰ２３は、ＰＣ２０において実行されるアプリケーションプログラムを実行する実行手段である。このアプリケーションプログラムは、例えばワードなどの一般的なアプリケーションプログラムの他、特許請求の範囲及び明細書において、エクスプローラなど、ＯＳの一部のプログラムも含むものとして用いている。
【００３６】
ＡＰＩフック２４としては、ウインドウズなどのＯＳに組み込まれているフック手段を用いることができる。ＡＰＩフック２４は、ＡＰ２３から呼び出されたＡＰＩ２５による処理が行われる前に、別個の処理を行うことを可能とするものである。この別個の処理が行われると、ＡＰＩフック２４は、ＡＰＩ２５に制御を渡し、ＡＰＩ２５による処理が実行される。
ＡＰＩ２５は、ＡＰ２３により呼び出される各種関数などのプログラム（アプリケーションプログラムインタフェース）を実行する実行手段である。ＡＰＩ２５は、ＡＰ２３により呼び出されると、対応する所定の処理を実行する。
【００３７】
次に、本実施形態のウイルス防止プログラム１１にもとづき実行されるＰＣ２０の処理手順について、図３〜図５を参照して説明する。図３は、本実施形態のウイルス防止プログラムを格納した着脱可能な記憶装置をコンピュータに接続し、ＡＰＩフックが行われるまでの処理手順を示すフローチャートである。図４は、本実施形態のウイルス防止プログラムを格納した着脱可能な記憶装置をコンピュータに接続し、ＡＰＩフックが行われた後、記憶装置へのファイルの書き込みが行われるまでの処理手順を示すフローチャートである。図５は、本実施形態のウイルス防止プログラムを格納した着脱可能な記憶装置をコンピュータに接続し、ＡＰＩフックが行われた後、記憶装置からのファイルの読み出しが行われるまでの処理手順を示すフローチャートである。
【００３８】
まず、ＵＳＢメモリ１０をＰＣ２０に接続すると（ステップ１０）、ＰＣ２０によりＵＳＢメモリ１０に格納されているウイルス防止プログラム１１が起動される（ステップ１１）。
次に、ＡＰＩフック２４による処理が開始され（ステップ１２）、ＡＰ２３からＡＰＩ２５が呼び出されると（ステップ１３）、フック対象のＡＰＩであるか否かが判定される（ステップ１４）。
【００３９】
ＡＰＩ２５がファイル書き込みを行うＡＰＩである場合、当該ファイル書き込みＡＰＩ２５がフックされて（ステップ１５）、制御がＡＰＩフック２４によりウイルス防止プログラム実行手段２１へ受け渡される。
また、ＡＰＩ２５がファイル読み込みを行うＡＰＩである場合、当該ファイル読み込みＡＰＩ２５がフックされて（ステップ１６）、制御がＡＰＩフック２４によりウイルス防止プログラム実行手段２１へ受け渡される。
【００４０】
次に、ＡＰＩ２５がファイル書き込みを行うＡＰＩである場合、ウイルス防止プログラム実行手段２１にＰＣ２０のファイル記憶手段２２から処理対象ファイルが入力される（ステップ３０）。
そして、処理対象ファイルがウイルスに感染しているか否かが検知される（ステップ３１）。
【００４１】
処理対象ファイルにウイルスが検出され、感染していると判定された場合（ステップ３２のＹＥＳ）、ウイルス防止プログラム実行手段２１からＡＰ２３に対して、ＡＰＩ２５の処理が失敗したことを示す情報などを通知する（ステップ３３）。
これによって、ＡＰ２３に、ＡＰＩ２５が何らかの理由（例えばアクセス権がないなど）により、処理が失敗したと認識させることができ、ＡＰ２３を終了させることなくウイルスの入ったファイルを書き込むことだけを防止することが可能となる。
【００４２】
処理対象ファイルにウイルスが検出されず、感染していないと判定された場合（ステップ３２のＮＯ）、ウイルス防止プログラム実行手段２１は暗号化・復号化プログラム実行手段２１ｄ−１により処理対象ファイルを暗号化し（ステップ３４）、暗号化した処理対象ファイルをＡＰＩ２５に出力する（ステップ３５）。
そして、ＡＰＩ２５は処理対象ファイルをＵＳＢメモリ１０に書き込む（ステップ３６）。
【００４３】
次に、ＡＰＩ２５がファイル読み込みを行うＡＰＩである場合、ウイルス防止プログラム実行手段２１にＵＳＢメモリ１０のファイル記憶手段１４から処理対象ファイルが入力される（ステップ５０）。
そして、処理対象ファイルが暗号化されているか否かが判定される（ステップ５１）。
【００４４】
そして、暗号化されている場合には（ステップ５２のＹＥＳ）、復号化処理が行われる（ステップ５３）。
次に、復号化された処理対象ファイル又は暗号化されていない処理対象ファイルが、ウイルスに感染しているか否かが検知される（ステップ５４）。
【００４５】
処理対象ファイルにウイルスが検出され、感染していると判定された場合（ステップ５５のＹＥＳ）、ウイルス防止プログラム実行手段２１からＡＰ２３に対して、ＡＰＩ２５の処理が失敗したことを示す情報などを通知する（ステップ５６）。
【００４６】
処理対象ファイルにウイルスが検出されず、感染していないと判定された場合（ステップ５５のＮＯ）、ウイルス防止プログラム実行手段２１は処理対象ファイルをＡＰＩ２５に出力し（ステップ５７）、ＡＰＩ２５により処理対象ファイルがＰＣ２０のファイル記憶手段２２に保存される（ステップ５８）。
【００４７】
なお、ＰＣ２０のファイル記憶手段２２に保存された処理対象ファイルは、例えば開いていたものを閉じるタイミングなど、所定のタイミングで自動的に消去することが好ましい。また、この処理対象ファイルを、ＰＣ２０のファイル記憶手段２２ではなく、ＵＳＢメモリ１０におけるファイル記憶手段１４に保存することも好ましい。
このようにすれば、復号化された処理対象ファイルが使用後にＰＣ２０に残存することがなく、ＵＳＢメモリ１０からＰＣ２０への情報漏洩のリスクを軽減することが可能となる。
【００４８】
以上説明したように、本実施形態のウイルス防止プログラム、コンピュータに着脱可能な記憶装置、及びウイルス防止方法によれば、事前のウイルス防止プログラムのコンピュータへのインストールや、そのメンテナンスを必要とすることなく、ＵＳＢメモリなどの記憶装置へのウイルスに感染したファイルの書き込みや、記憶装置からの読み出しを防止することができる。
このため、ウイルス防止プログラムがインストールされていないコンピュータに、ウイルスに感染したファイルが存在している場合に、本発明の記憶装置を接続し、この感染したファイルを記憶装置に書き込もうとしても、これを防止することが可能である。
また、感染していないファイルをＵＳＢメモリへ書き込む場合、これを暗号化して書き込むため、記憶装置への格納情報をより安全に保護することが可能となっている。
【００４９】
［第二実施形態］
次に、本発明の第二実施形態の構成について、図６及び図７を参照して説明する。図６は、本実施形態のウイルス防止プログラムを格納した着脱可能な記憶装置をコンピュータに接続した、当該コンピュータに形成される構成を示すブロック図において、記憶装置にファイルを書き込む流れを示した図である。図７は、本実施形態のウイルス防止プログラムを格納した着脱可能な記憶装置をコンピュータに接続した、当該コンピュータに形成される構成を示すブロック図において、記憶装置からファイルを読み出す流れを示した図である。
【００５０】
本実施形態は、ウイルス防止プログラム１１がＰＣ２０により実行されると、ＰＣ２０に生成するウイルス防止プログラム実行手段２１に、ユーザ認証手段２１ｆが構成される点で第一実施形態と異なる。その他の点については、第一実施形態と同様である。
【００５１】
このユーザ認証手段２１ｆは、ユーザにより入力されたＩＤ及びパスワードや、生体認証情報にもとづいて、ユーザ認証処理を実行する。そして、認証に成功した場合にのみ、ウイルス防止プログラム実行手段２１におけるその他の構成による各処理を実行可能とし、認証に失敗した場合は、ＵＳＢメモリ１０の使用を不可として、情報の書き込みや読み出しなどのいずれの処理も実行しない。
【００５２】
このユーザ認証処理は従来公知の方法を用いることができ、例えばＵＳＢメモリ１０をＰＣ２０に接続した際に、ＰＣ２０の表示部にＩＤ及びパスワード入力画面を表示させ、入力された情報がＵＳＢメモリ１０内に予め格納されているＩＤ及びパスワードと一致するか否かを判定することにより行うことができる。
また、例えば指紋認証などの各種生体認証機能を備えたＵＳＢメモリ１０を使用し、入力されたユーザの生体情報がＵＳＢメモリ１０に予め格納されている生体情報と一致するか否かを判定することにより行うこともできる。
【００５３】
次に、本実施形態のウイルス防止プログラム１１にもとづき実行されるＰＣ２０の処理手順について、図８を参照して説明する。図８は、本実施形態のウイルス防止プログラムを格納した着脱可能な記憶装置をコンピュータに接続し、ＡＰＩフックが行われるまでの処理手順を示すフローチャートである。
【００５４】
まず、ＵＳＢメモリ１０をＰＣ２０に接続すると（ステップ７０）、ＰＣ２０によりＵＳＢメモリ１０に格納されているウイルス防止プログラム１１が起動される（ステップ７１）。
次に、ユーザ認証が実行され（ステップ７２）、認証に失敗した場合（ステップ７３のＮＯ）、ウイルス防止プログラム実行手段２１におけるその他の構成による処理は実行されず、ＵＳＢメモリ１０の読み書きを行うことはできない。ＰＣ２０に構成されたウイルス防止プログラム実行手段２１、ウイルス検知プログラム実行手段２１ｂ−１、及び暗号化・復号化プログラム実行手段２１ｄ−１は所定のタイミングでＰＣ２０から削除される。
【００５５】
認証に成功した場合は（ステップ７３のＹＥＳ）、次に、ＡＰＩフック２４による処理が開始され（ステップ７４）、以降、第一実施形態と同様の処理が実行される。
【００５６】
次に、図９及び図１０を参照して、第一実施形態のユーザ認証機能のないＵＳＢメモリ１０を用いた場合と、第二実施形態のユーザ認証機能のあるＵＳＢメモリ１０を用いた場合の、ファイルの書き込み及び読み出しにおけるウイルス防止について説明する。
【００５７】
まず、図９に示すように、ＵＳＢメモリ１０にユーザ認証機能が備えられていない場合、ＰＣ２０からウイルスに感染したファイルをＵＳＢメモリ１０に移動又は複製しようとすると、本発明のウイルス防止プログラムが起動していなければ、当該感染ファイルはＵＳＢメモリ１０に書き込まれてしまう。
【００５８】
一方、本発明のウイルス防止プログラムが起動していれば、当該感染ファイルがＵＳＢメモリ１０に書き込まれることを防止することができる。
また、ウイルスに感染していない正常なファイルは、本発明のウイルス防止プログラムが起動していても、ＵＳＢメモリ１０に暗号化された上で、正常に書き込まれる。
【００５９】
また、ＵＳＢメモリ１０からウイルスに感染したファイルをＰＣ２０に移動又は複製し、読み込もうとする場合も同様に、本発明のウイルス防止プログラムが起動していなければ、当該感染ファイルはＰＣ２０に保存されてしまう。
一方、本発明のウイルス防止プログラムが起動していれば、当該感染ファイルがＰＣ２０に保存されるのを防止することができる。
また、ウイルスに感染していない正常なファイルは、暗号化されていれば復号化されて、暗号化されていなければそのまま、ＰＣ２０に保存される。
【００６０】
このように、ユーザ認証機能を備えていないＵＳＢメモリ１０を使用する場合、本発明のウイルス防止プログラムが起動していなければ、ウイルスに感染したファイルのやりとりが可能である。したがって、ＰＣ２０が起動している間は当該プログラムを停止や終了等させることなく、起動させた状態にしておくことが望ましい。
【００６１】
次に、図１０に示すように、ＵＳＢメモリ１０にユーザ認証機能が備えられている場合、ユーザ認証が成功したときには、既に本発明のウイルス防止プログラムが起動され、ＰＣ２０にウイルス防止プログラム実行手段２１、ウイルス検知プログラム実行手段２１ｂ−１、及び暗号化・復号化プログラム実行手段２１ｄ−１が構成されている。
【００６２】
このため、ウイルスに感染したファイルは、ウイルス防止プログラム実行手段２１によりウイルスが感染しているものと判定されて、ＵＳＢメモリ１０に書き込まれない。
また、ウイルスに感染していない正常なファイルは、暗号化された上で、ＵＳＢメモリ１０正常に書き込まれる。
【００６３】
また、ＵＳＢメモリ１０からウイルスに感染したファイルをＰＣ２０に移動又は複製し、読み込もうとする場合も同様に、認証に成功したときには既に本発明のウイルス防止プログラムが起動しているため、当該感染ファイルがＰＣ２０に保存されるのを防止することができる。
また、ウイルスに感染していない正常なファイルは、本発明のウイルス防止プログラムにより、暗号化されていれば復号化されて、暗号化されていなければそのまま、ＰＣ２０に保存される。
【００６４】
このように、ユーザ認証機能を備えたＵＳＢメモリ１０を使用する場合は、本発明のウイルス防止プログラムが起動していなければ、当該ＵＳＢメモリ１０メモリを使用できないため、当該プログラムをＰＣ２０が起動している間ずっと起動させておく必要はなく、ＰＣ２０からＵＳＢメモリ１０へのアクセスが必要になったときに随時起動すれば良い。
【００６５】
［第三実施形態］
次に、本発明の第三実施形態の構成について、図１１を参照して説明する。図１１は、本実施形態のウイルス防止プログラムを格納した着脱可能な記憶装置をコンピュータに接続した、当該コンピュータに形成される構成を示すブロック図において、記憶装置からファイルを読み出す流れを示した図である。
【００６６】
本実施形態は、処理対象ファイルが暗号化されている場合に、暗号化・復号化プログラム２３により復号化を行う前に、ＡＰＩ２５を呼び出したＡＰ２３が所定のものであるか否かを判定する点で第二実施形態と異なる。その他の点については、第二実施形態と同様である。
【００６７】
すなわち、本実施形態では、ＵＳＢメモリ１０がＰＣ２０に接続され、ウイルス防止プログラム１１が起動されると、アプリケーション確認手段２１ｇを備えたウイルス防止プログラム実行手段２１がＰＣ２０内に生成される。
アプリケーション確認手段２１ｇは、暗号化・復号化手段２１ｄにより処理対象ファイルが暗号化されていると判定されると、この暗号化・復号化手段２１ｄにより呼び出され、ＡＰＩフック２４から入力したＡＰ２３の種類を示す情報にもとづいて、当該ＡＰ２３が、予め指定された所定のアプリケーションプログラムを実行するものであるか否かを判定し、その判定結果を暗号化・復号化手段２１ｄに返却する。
【００６８】
暗号化・復号化手段２１ｄは、アプリケーション確認手段２１ｇによる判定の結果、ＡＰ２３が、予め指定された所定のアプリケーションプログラムを実行するものである場合に、処理対象ファイルを復号化し、ＡＰ２３が、予め指定された所定のアプリケーションプログラムを示すものでない場合には、処理対象ファイルを復号化することなく、処理を終了する。
【００６９】
次に、本実施形態のウイルス防止プログラム１１にもとづき実行されるＰＣ２０の処理手順について、図１２を参照して説明する。図１２は、本実施形態のウイルス防止プログラムを格納した着脱可能な記憶装置をコンピュータに接続し、ＡＰＩフックが行われた後、記憶装置からのファイルの読み出しが行われるまでの処理手順を示すフローチャートである。
【００７０】
まず、ＵＳＢメモリ１０のファイル記憶手段１４から処理対象ファイルがウイルス防止プログラム実行手段２１に入力されると（ステップ９０）、処理対象ファイルが暗号化されているか否かが判定される（ステップ９１）。
【００７１】
そして、暗号化されている場合には（ステップ９２のＹＥＳ）、ＡＰＩ２５を呼び出したＡＰ２３が、所定のアプリケーションプログラムを実行するものであるか否かが判定される（ステップ９３）。
ＡＰ２３が予め指定された所定のアプリケーションプログラムであるか否かは、ＡＰＩフック２４から入力されたＡＰ２３の種類を示す情報にもとづき判定することができる。
【００７２】
そして、判定の結果、ＡＰ２３が予め指定された所定のアプリケーションプログラムである場合は（ステップ９４のＹＥＳ）、処理対象ファイルの復号化処理が行われ（ステップ９５）、ＡＰ２３が予め指定された所定のアプリケーションプログラムでない場合は（ステップ９４のＮＯ）、処理が終了する。これら以外の処理手順については、第二実施形態におけるものと同様のものとすることができる。
【００７３】
このように本実施形態のウイルス防止プログラム、コンピュータに着脱可能な記憶装置、及びウイルス防止方法によれば、処理対象ファイルの復号化を、ＡＰＩ２５が一定のアプリケーションプログラムから呼び出されている場合にのみ行わせることが可能であり、第三者が特殊なプログラムを用いて処理対象ファイルを復号化しようとしてもこれを防止することが可能となっている。
【００７４】
本発明は、以上の実施形態に限定されるものではなく、本発明の範囲内において、種々の変更実施が可能であることは言うまでもない。
例えば、第一実施形態の構成にアプリケーション確認手段２１ｇを加えるなど適宜変更することが可能である。
【産業上の利用可能性】
【００７５】
本発明は、ウイルス対策が施されていないコンピュータなどにＵＳＢメモリ１０を接続してファイルのやりとりを行う場合に、ウイルスの拡散を防止することができ、好適に利用することが可能である。
【図面の簡単な説明】
【００７６】
【図１】本発明の第一実施形態のウイルス防止プログラムを格納した着脱可能な記憶装置をコンピュータに接続した、当該コンピュータに形成される構成を示すブロック図において、記憶装置にファイルを書き込む流れを示した図である。
【図２】本発明の第一実施形態のウイルス防止プログラムを格納した着脱可能な記憶装置をコンピュータに接続した、当該コンピュータに形成される構成を示すブロック図において、記憶装置からファイルを読み出す流れを示した図である。
【図３】本発明の第一実施形態のウイルス防止プログラムを格納した着脱可能な記憶装置をコンピュータに接続し、ＡＰＩフックが行われるまでの処理手順を示すフローチャートである。
【図４】本発明の第一実施形態のウイルス防止プログラムを格納した着脱可能な記憶装置をコンピュータに接続し、ＡＰＩフックが行われた後、記憶装置へのファイルの書き込みが行われるまでの処理手順を示すフローチャートである。
【図５】本発明の第一実施形態のウイルス防止プログラムを格納した着脱可能な記憶装置をコンピュータに接続し、ＡＰＩフックが行われた後、記憶装置からのファイルの読み出しが行われるまでの処理手順を示すフローチャートである。
【図６】本発明の第二実施形態のウイルス防止プログラムを格納した着脱可能な記憶装置をコンピュータに接続した、当該コンピュータに形成される構成を示すブロック図において、記憶装置にファイルを書き込む流れを示した図である。
【図７】本発明の第二実施形態のウイルス防止プログラムを格納した着脱可能な記憶装置をコンピュータに接続した、当該コンピュータに形成される構成を示すブロック図において、記憶装置からファイルを読み出す流れを示した図である。
【図８】本発明の第二実施形態のウイルス防止プログラムを格納した着脱可能な記憶装置をコンピュータに接続し、ＡＰＩフックが行われるまでの処理手順を示すフローチャートである。
【図９】本発明の第一実施形態の着脱可能な記憶装置をコンピュータに接続したときの、記憶装置へのファイルの書き込み及び記憶装置からのファイルの読み出しにおけるウイルス防止を示す概念図である。
【図１０】本発明の第二実施形態の着脱可能な記憶装置をコンピュータに接続したときの、記憶装置へのファイルの書き込み及び記憶装置からのファイルの読み出しにおけるウイルス防止を示す概念図である。
【図１１】本発明の第三実施形態のウイルス防止プログラムを格納した着脱可能な記憶装置をコンピュータに接続した、当該コンピュータに形成される構成を示すブロック図において、記憶装置からファイルを読み出す流れを示した図である。
【図１２】本発明の第三実施形態のウイルス防止プログラムを格納した着脱可能な記憶装置をコンピュータに接続し、ＡＰＩフックが行われた後、記憶装置からのファイルの読み出しが行われるまでの処理手順を示すフローチャートである。
【符号の説明】
【００７７】
１０  ＵＳＢメモリ（記憶装置）
１１  ウイルス防止プログラム
１２  ウイルス検知プログラム
１３  暗号化・復号化プログラム
１４  ファイル記憶手段
２０  ＰＣ（コンピュータ）
２１  ウイルス防止プログラム実行手段
２１ａ  ファイル入力手段
２１ｂ  ウイルス検知手段
２１ｂ−１  ウイルス検知プログラム実行手段
２１ｃ  判定手段
２１ｄ  暗号化・復号化手段
２１ｄ−１  暗号化・復号化プログラム実行手段
２１ｅ  ファイル出力手段
２１ｆ  ユーザ認証手段
２１ｇ  アプリケーション確認手段
２２  ファイル記憶手段
２３  ＡＰ（アプリケーションプログラム）
２４  ＡＰＩフック
２５  ＡＰＩ（アプリケーションプログラムインタフェース）
【図１】
2010097550.tif 000003
【図２】
2010097550.tif 000004
【図３】
2010097550.tif 000005
【図４】
2010097550.tif 000006
【図５】
2010097550.tif 000007
【図６】
2010097550.tif 000008
【図７】
2010097550.tif 000009
【図８】
2010097550.tif 000010
【図９】
2010097550.tif 000011
【図１０】
2010097550.tif 000012
【図１１】
2010097550.tif 000013
【図１２】
2010097550.tif 000014