説明

USBマスストレージ通信制限方法

【課題】USBマスストレージのオートランを確実に禁止し、また、コンピュータからUSBマスストレージへのウィルスの書込みを確実に防止する、USBマスストレージ通信制限方法を提供する。
【解決手段】コンピュータ10と、コンピュータ10に接続されるUSBマスストレージ20の間の通信を行う際に、コンピュータ10によって実行されるUSBマスストレージとの通信制限方法において、上位プログラムによって実行され、コンピュータ10とUSBマスストレージ20の間の通信を確立する、USB通信確立制御ステップS130と、USBマスストレージ20から上位プログラムに送信するモードパラメータリストに、書き込み禁止フラグを付加する、書き込み制限ステップS145と、を備えるUSBマスストレージ通信制限方法とした。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、USBマスストレージへの書込みの防止及びオートランプログラムの実行を禁止するUSBマスストレージ通信制限方法に関する。
【背景技術】
【0002】
従来、ウィルスプログラムに感染したUSBメモリ等がコンピュータに接続された場合、ウィルスプログラムが自動実行(以下、オートランと言うことがある)される前に、コンピュータがウィルスプログラムを検出して自動実行しないことにより、ウィルスに感染するのを防止する方法が発明されている(特許文献1参照)。
【0003】
例えば、特許文献1に開示されている発明は、コンピュータ内にセキュリティドライバをプリインストールし、そのセキュリティドライバでウィルスを検出することによって、ウィルスの自動実行を阻止するものである。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2008−186433号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、前述した特許文献1に開示されている発明は、予めセキュリティドライバに登録された限られた種類のウィルスしか検出することができないという問題があった。つまり、前述したセキュリティドライバは、最新のウィルスプログラムには対応することができず、そのままオートランを実行してしまい、コンピュータがウィルスに感染する危険があるという問題があった。
【0006】
また、前述したセキュリティドライバは、すでにウィルスに感染しているコンピュータに、ウィルスに感染していないUSBメモリ等を接続した場合、USBメモリ等にウィルスプログラムを書き込んでしまい、USBメモリ等を媒介にして未感染のコンピュータにウィルスを感染させてしまう可能性があるという問題があった。
【0007】
本発明は、斯かる実情に鑑み、USBマスストレージのオートランを確実に禁止し、また、コンピュータからUSBマスストレージへのウィルスプログラムの書込みを確実に防止する、USBマスストレージ通信制限方法を提供しようとするものである。
【課題を解決するための手段】
【0008】
(1)本発明は、コンピュータと、該コンピュータに接続されるUSBマスストレージの間の通信を行う際に、前記コンピュータによって実行されるUSBマスストレージとの通信制限方法において、上位プログラムによって実行され、前記コンピュータと、前記USBマスストレージの間の通信を確立する、USB通信確立制御ステップと、前記上位プログラムと、前記USBマスストレージの間に介在して、前記USBマスストレージから前記上位プログラムに送信されるマスストレージ側コマンドに、書き込み禁止フラグを付加する、書き込み制限ステップと、を備えることを特徴とする、USBマスストレージ通信制限方法である。
【0009】
(2)また、本発明は、前記書き込み制限ステップは、前記上位プログラムから前記USBマスストレージに送信するコンピュータ側コマンドの種別を判定する、コマンド判定ステップと、前記コマンド判定ステップにおいて、前記コンピュータ側コマンドが、USBマスストレージへの書き込み禁止又は許可を表すコマンドの場合に、前記コンピュータ側コマンドに前記書き込み禁止フラグを付加する、書き込み禁止フラグ設定ステップと、前記コマンド判定ステップにおいて、前記コンピュータ側コマンドが、前記USBマスストレージへの書き込みを表すコマンドの場合に、前記コンピュータ側コマンドを前記USBに送信せずに、前記上位プログラムに送信する書き込みエラーステータスを生成する、書き込みエラーステータス生成ステップと、前記コマンド判定ステップにおいて、前記コンピュータ側コマンドが、前記USBマスストレージへの書き込み禁止又は許可を表すコマンド、又は前記USBマスストレージへの書き込みコマンド以外のコマンドの場合に、該コマンドをそのまま前記USBマスストレージへ送信し、該USBマスストレージの応答をそのまま前記上位プログラムへ送信する、コマンド送信ステップと、を備えることを特徴とする、(1)に記載のUSBマスストレージ通信制限方法である。
【0010】
(3)また、本発明は、前記コンピュータに接続されたUSBマスストレージにオートラン実行コマンドがあるか否かを判定するオートラン実行コマンド判定ステップと、前記オートラン実行コマンド判定ステップにおいて、前記USBマスストレージに前記オートラン実行コマンドがあると判定した場合に、前記上位プログラムにオートラン実行コマンドが存在しないという疑似データを送信する、疑似データ送信ステップと、を更に備えることを特徴とする、(1)又は(2)に記載のUSBマスストレージ通信制限方法である。
【0011】
(4)また、本発明は、前記コンピュータに接続されたUSBデバイスが前記USBマスストレージでない場合に、前記コンピュータのUSBポートの動作を無効にする、USBポート無効化ステップを、更に備えることを特徴とする、(1)乃至(3)のいずれかに記載のUSBマスストレージ通信制限方法である。
【発明の効果】
【0012】
本発明によれば、USBマスストレージのオートランを確実に禁止し、また、コンピュータからUSBマスストレージへのウィルスプログラムの書込みを確実に防止する、USBマスストレージ通信制限方法を提供できるという、優れた効果を奏し得る。
【図面の簡単な説明】
【0013】
【図1】(a)第1実施形態に係るUSBマスストレージ通信制限方法を実行するUSB動作制限プログラム100をインストールしたコンピュータ10の概略を示すブロック図であり、(b)同コンピュータ10の各プログラムの機能を示す機能ブロック図である。
【図2】同USB動作制限プログラム100による、USBマスストレージ通信制限方法の一機能であるUSBマスストレージ書込み防止処理の流れを表すフローチャートである。
【図3】同USB動作制限プログラム100による、USBマスストレージ通信制限方法の一機能であるオートラン禁止処理の流れを表すフローチャートである。
【発明を実施するための形態】
【0014】
以下、本発明の実施の形態を添付図面を参照して説明する。
【0015】
<基本構成>
【0016】
まず、図1(a)を用いて、本発明の第1実施形態に係るUSBマスストレージ通信制限方法を実行するUSB動作制限プログラム100を記憶したコンピュータ10について説明する。
【0017】
コンピュータ10は、CPU12やROM14、RAM16、HDD(ハードディスクドライブ)17などを備え、CPU12において、ROM14やHDD17等に記憶されているプログラム(ファームウェア)を実行することにより、一定の目的を達成するように機能する一般的な情報処理装置である。
【0018】
コンピュータ10のCPU12は、詳細に、コンピュータ10の全体処理を行うものである。RAM16は、CPU12の情報処理の作業領域として機能し、一時的にデータを記憶する。
【0019】
ROM14、RAM16、HDD17やUSBホストコントローラ18は、アドレスバスやデータバス(以下これらを含めて、バス11と言う)によって接続されており、互いにデータの送受信を行えるようになっている。このデータの送受信は、このバス11に接続されるCPU12の指令に基づいて行われる。
【0020】
本実施形態では、USB動作制限プログラム100は、HDD17に予めインストールされている。USB動作制限プログラム100は、USBマスストレージ20(例えば、USBメモリ)へのデータ書き込みを防止する処理やUSBマスストレージ20に記憶されているオートラン実行コマンドの自動実行を禁止する処理が任意のプログラミング言語によって記述されているものである。なお、USB動作制限プログラム100のインストールは、例えば、USB動作制限プログラム100をCD−ROMメディア(図示省略)に記憶しておき、そのCD−ROMメディアをコンピュータ10のCD−ROMドライブ(図示省略)に挿入して、USB動作制限プログラム100のインストールプログラムを実行することで実現することができる。なお、ここではHDD17にインストールする場合を示すが、ROMライターなどによって、ROM14に予めインストールしておいても好ましい。
【0021】
USBホストコントローラ18は、USBポート19を制御し、USBポート19に接続されるUSBマスストレージ20とデータの送受信を行う。また、USBホストコントローラ18は、RAM16とUSBマスストレージ20との間でデータの送受信の制御を行う。
【0022】
なお、コンピュータ10には、表示装置13(例えば、LCDなどの液晶表示装置)が接続されている。これにより、コンピュータ10は、操作画面を表示し、またコンピュータ10内部の処理状態を表示できるようになっている。
【0023】
図1(b)には、コンピュータ10の主な機能構成を示したブロック図である。これらは、HDD17等に記憶されているオペレーティングシステムプログラムやUSB動作制限プログラム100、USBポート制御プログラム等がCPU12で実行されることで実現される。
【0024】
コンピュータ10は、全体的な基本動作を行うオペレーティングシステム36と、記憶データの管理を行うファイルシステム34と、USBポート19を制御するUSBポート制御部30と、ファイルシステム34とUSBポート制御部30の間に介在するUSB動作制限部32を備える。オペレーティングシステム36、ファイルシステム34、USBポート制御部30は、汎用のプログラムで実現されており、USB動作制限部32は、USB動作制限プログラム100によって実現されている。
【0025】
<USBマスストレージ書込み防止処理>
【0026】
次に、図2を用いて、USBマスストレージ書込み防止処理について説明する。以下に説明する処理は、コンピュータ10のHDD17に記憶されているUSB動作制限プログラム100やその他の関連プログラムを実行することによって、USB動作制限プログラム100に従ってコンピュータ10のCPU12が行う処理である。このUSBマスストレージ書込み防止処理は、USBマスストレージ20(例えば、USBメモリ)がコンピュータ10のUSBポート19に接続されている間、コンピュータ10の電源の遮断がない限り繰り返される。
【0027】
まず、ステップ110では、コンピュータ10の各種デバイスの初期設定を行う。具体的には、コンピュータ10のCPU12は、ROM14やHDD17に記憶されている初期設定データを読み出し、RAM16やUSBホストコントローラ18の初期設定を行う。初期設定を行った後、ステップ120へ進む。
【0028】
ステップ120では、USBポート19に接続されたUSB対応デバイス(以下、単にUSBデバイスと言う)が、USBマスストレージ20か否かを判定する。具体的には、USBデバイスがUSBポート19に差し込まれると、USBデバイスからUSBデバイス情報(Usb Device Descriptor)がコンピュータ10に送信される。コンピュータ10は、このUSBデバイス情報の中からデバイス種別を特定するデバイスクラス(bDEVICE CLASS)を認識し、差し込まれたUSBデバイスの種別を判定する。USBデバイスがUSBマスストレージ20であると判定した場合、ステップS130に進む。なお、USBマスストレージとしては、USBメモリ、USB−CD、USB−DVD、USB−FD、USB−HDD等がある。なお、USBデバイスが非マスストレージである場合にはステップS125に進み、USBポート19を無効化する。USBポート19を無効にする方法はいくつかあるが、例えば、USBデバイスのドライバの読込みを強制的に禁止したり、USBデバイスのドライバの動作を停止したり又はUSBポート19を「Disable」に設定することにより無効化できる。
【0029】
ステップS130では、コンピュータ10とUSBマスストレージ20の間の通信を確立する。具体的には、CPU12は、USBマスストレージ20からのデバイス情報を受信し、そのデバイス情報の中のサブクラス情報(例えば、サブクラスコード)を参照してマスストレージの詳細な特定を行う。そして、コンピュータ10は、特定したUSBマスストレージに応じたプロトコルを用いてUSBマスストレージ20と通信を行う。例えば、接続されたUSBマスストレージ20がUSBメモリである場合、USBメモリのプロトコルを用いて通信を行う。
【0030】
ステップS140では、USBマスストレージ20を特定した後、上位プログラムによって、USBマスストレージ20に送信するコマンド(以下、マスストレージコマンドと言うことがある)の種類をUSB動作制限部32が判定する。USBマスストレージ20に送信するコマンドが、USBマスストレージ20へのデータ書込み禁止又は許可を確認するモードセンスコマンド(Mode Sence)であると判定した場合にはステップS150に進む。また、送信するコマンドがUSBマスストレージ20にデータを書込むライトコマンド(Write)であると判定した場合にはステップS160に進み、送信するコマンドが上述したモードセンスコマンド又はライトコマンド以外のコマンド(例えば、USBマスストレージ20に記憶されているデータを読込むコマンド等)と判定した場合にはステップS170に進む。なお、本実施形態では、上位プログラムから送信されるコマンドの種別をUSB動作制限部32が判定して、そこに上記の特定のコマンドが含まれていないか監視するようになっている。つまり、以下に示す特別な応答を除き、USBマスストレージ20からの応答信号は、定常的に監視することは行わない。
【0031】
ステップS150では、USB動作制限部32が、モードセンスコマンドをUSBマスストレージ20にそのまま送信すると共に応答監視フラグを立てて、ステップS152に進んでUSBマスストレージ20から次の応答信号が送信されるのを待つ。
【0032】
ステップS152では、USB動作制限部32が、USBマスストレージ20から送信される情報であるモードパラメータリスト(Mode Parameter List)を受信した場合、その中のモードパラメータヘッダー(Mode Parameter Header)のデバイススペシフィク・パラメータ(Device Specific Parameter)のライトプロテクトビット(Write Protect Bit)を強制的に1にセットしてから、USBマスストレージ20に情報の読み込み及び書き込みを実行する上位プログラムに、このモードパラメータリストを提供する。
【0033】
具体的に、モードセンスコマンドは、モードセンス(6)コマンドと、モードセンス(10)コマンドの2つがある。コンピュータ10が、USBマスストレージ20からモードセンス(6)コマンドに応じたモードパラメータヘッダー(6)を受け付けた場合には、モードパラメータヘッダー(6)のバイト−2(Byte−2)のビット−7(Bit−7)を1にセットする。コンピュータ10は、USBマスストレージ20からモードセンス(10)コマンドに応じたモードパラメータヘッダー(10)のバイト−3(Byte−3)のビット7(Bit−7)を1にセットする。
【0034】
上記により、USB動作制限部32は、モードパラメータヘッダーを強制的に書き換えて書込み禁止フラグをセットして、上位プログラムに提供することになる。つまり、その後、ステップS180に進んで、USBマスストレージ20の応答信号として、このモードパラメータヘッダーを上位プログラム(ファイルシステム34)に提供する。これにより、コンピュータ10のオペレーティングシステム36は、USBマスストレージ20が書込み禁止メモリであると認識(誤認)する。
【0035】
なお、コマンド判定ステップS140からUSB書き込み禁止ステップS152を含めて、書き込み制限ステップS145ということがある。
【0036】
なお、ステップS140において、上位プログラムから送信されるマスストレージコマンドが通常動作のコマンド(監視対象外信号)である場合には、ステップS170に進んで、USB動作制限部32は、コマンドをそのままUSBマスストレージ20に転送し、ステップS172において、USBマスストレージ20の応答信号を受信して、更にステップS180に進んで、この応答信号をそのまま上位プログラム(例えば、ファイルシステム34)に転送する。
【0037】
更に、ステップS140において、USB動作制限部32は、マスストレージコマンドが特定のコマンド、具体的には、ライトコマンドであると判定した場合には、ステップS160に進む。ステップ160では、USB動作制限部32は、ライトコマンドをUSBマスストレージ20に送信することなく、ライトコマンドを削除する。つまり、USB動作制限部32は、ライトコマンドに基づくUSBマスストレージ20への書込みは行わない。更に、ステップS162において、USB動作制限部32は、ファイルシステム34に提供するためのライトエラーステータスを生成する。具体的には、CPU12の指令に基づいてRAM16に一時的に保管されたマスストレージコマンドが、USB規格に基づくライトコマンド(Write Command)、フォーマットユニットコマンド(Format Unit Command)等のデータ書込みコマンドである場合、USB動作制限部32は、USBマスストレージ20にこれらのマスストレージコマンドを送信しないでブロックする。なお、USB規格のライトコマンドの中には、ライト(6)コマンド、ライト(10)コマンド、ライト(12)コマンド等の種類があるが、これらはすべてコンピュータ10からマスストレージ20に対するデータ書込みコマンドを意味している。
【0038】
このように、ライトコマンドを削除(停止)する一方、上位のファイルシステム34やオペレーティングシステム36に送信する為のライトプロテクトエラー(Write Protect Error)のステータス信号を生成する。その後、ステップS180に進んで、このライトプロテクトエラーステータス信号をコンピュータ10に提供する。
【0039】
上記の構成によって、例えば、オペレーティングシステム36は、USBマスストレージ20へのデータ書き込みが実行できないと誤認する。また、仮に、コンピュータ10がデータ書き込みを行おうとしても、USB動作制限部32により、強制的に書込みエラーとなって、USBマスストレージ20の情報を保護することができる。
【0040】
したがって、USB動作制限部32を利用したUSBマスストレージ通信制限方法は、初期設定ステップ(S110)と、コンピュータ10に接続されたUSBデバイスがUSBマスストレージ20か否かを判定するマスストレージ判定ステップ(S120)と、コンピュータ10とUSBマスストレージ20の間の通信を確立する、通信確立制御ステップ(S130)を備えている。また、USBマスストレージ通信制限方法は、コマンド判定ステップ(S140)を更に備え、コマンド判定ステップ(S140)により、ストレージコマンドがモードセンスコマンドの場合、書き込み防止フラグを設定し、上位プログラムに提供する。ストレージコマンドが書込みコマンド(ライトコマンド)の場合、書き込みエラーステータスを生成し、上位プログラムに提供する。また、ストレージコマンドがモードセンスコマンド及びライトコマンドのいずれのコマンドでもない通常動作コマンドの場合、そのマスストレージコマンドをそのままUSBマスストレージ20に送信し、USBマスストレージ20の応答をそのまま上位プログラムに提供する。したがって、コンピュータ10は、USB動作制限プログラム100をインストールして実行することにより、書込み防止装置を有しないマスストレージ内部に記憶しているデータを誤動作により破壊し、または、消失してしまうことを防止することができる。
【0041】
<USBマスストレージのオートラン禁止処理>
【0042】
次に、本発明の第2実施形態に係るコンピュータ10について説明する。この第2実施形態は、コンピュータ10に接続されたUSBマスストレージ20に記憶されているプログラムの自動実行(いわゆるオートラン)をUSB動作制限プログラム100によって確実に禁止できるところに特徴がある。なお、このコンピュータ10の内部構成は、第1実施形態と同様であるので、詳細な説明は省略する。
【0043】
まず、ステップS210では、USB動作制限部32が、コンピュータ10に接続されたUSBデバイスがUSBマスストレージか否かを判定する。具体的には、コンピュータ10に接続されたUSBデバイスから受信したUSBデバイス情報のデバイスクラスを参照し、接続されたUSBデバイスがUSBマスストレージ20か否かを判定する。USBマスストレージ20の場合はステップS212に進み、USBマスストレージでない場合はステップS214に進む。
【0044】
ステップS212では、接続されたUSBデバイスがUSBマスストレージ20である場合、USBマスストレージ20とコンピュータ10の間の通信を確立する。具体的には、コンピュータ10は、判定したマスストレージ用のプロトコルを用いて通信を行うことにより、USBマスストレージ20と通信を確立することができる。USBマスストレージ20との通信を確立した後、ステップS216に進む。
【0045】
一方、ステップS214では、USBデバイスがUSBマスストレージ20でないので、USB動作制限部32は、コンピュータ10のUSBポート19の無効化を行う。これによって、USBマスストレージ20以外のデバイスにより、USBポート19を介してコンピュータ10にウィルスが進入するのを防ぐことができる。USBポート19を無効にする方法はいくつかあるが、例えば、USBデバイスのドライバの読込みを強制的に禁止したり、USBデバイスのドライバの動作を停止したり又はUSBポート19を「Disable」に設定することにより無効化できる。
【0046】
ステップS216では、USB動作制限部32は、ステップS210で認識したUSBマスストレージ20がリムーバブルデバイスであるか否かを判定する。なお、リムーバブルデバイスとは、メディア(記憶媒体)を容易に取り外し(交換)できる記憶装置を言う。具体的には、USBマスストレージ20から受信したUSBデバイス情報を参照することにより、リムーバブルデバイスか否かを判定することができる。マスストレージがリムーバブルデバイスである場合は、ステップS220に進み、リムーバブルデバイスでない場合は、ステップS230に進む。
【0047】
ステップS220では、リムーバブルデバイスにメディアがセットされているか否かを判定する。つまり、USBポート制御部30が、リムーバルブデバイスの状態を常時監視し、リムーバブルデバイスにメディアがセットされた場合は、ステップS222に進み、メディアがセットされていない場合は、メディアがセットされるまでステップS220の処理を繰り返す(つまり、メディアがセットされるまで監視する)。なお、リムーバブルデバイスにメディアがセットされた場合とは、リムーバブルデバイスにメディアが新規にセットされた場合及びメディアが交換されてセットされた場合を含むものである。
【0048】
ステップS222では、ステップ220でリムーバブルデバイスにメディアがセットされたと判定した後、リムーバブルデバイスにセットされたメディアにオートラン実行コマンド(以下、「Autorun.Inf」ファイルと言う)があるか否かを判定する。「Autorun.Inf」ファイルがあると判定した場合、ステップS224に進む。一方、「Autorun.Inf」ファイルが無いと判定した場合は、ステップS226に進み、「Autorun.Inf」の自動実行を行わない状況によるコンピュータ10の通常動作を行う。
【0049】
ステップS224で、USB動作制限部32は、メディアにオートラン実行コマンドが記憶されているにも関わらず、「Autorun.Inf」ファイルがない旨の信号を上位のファイルシステム34に提供する。この様に、疑似データを送信することにより、上位プログラムに「Autorun.Inf」ファイルが存在しないと誤認させ、そのまま、ステップS226に進んで通常動作を行う。
【0050】
ステップS230で、USB動作制限部32は、リムーバブルデバイスでないUSBマスストレージ20(例えば、USBメモリやハードディスク等)に「Autorun.Inf」ファイルがあるか否かを判定する。「Autorun.Inf」ファイルがあると判定した場合、ステップS232に進む。また、「Autorun.Inf」ファイルが無いと判定した場合は、ステップS234に進み、「Autorun.Inf」の自動実行を行わない状況によるコンピュータ10の通常動作を行う。
【0051】
ステップS232では、USBマスストレージ20にオートラン自動実行コマンドが存在するにも関わらず、「Autorun.Inf」ファイルが無い旨の信号を上位のファイルシステム34に提供する。つまり、「Autorun.Inf」ファイルが無い旨の疑似データを送信することにより、上位プログラムに「Autorun.Inf」ファイルが存在しないと誤認させ、そのまま、ステップS234に進んで通常動作を行う。
【0052】
したがって、本方法によれば、USBマスストレージ20に「Autorun.Inf」ファイルがある場合でも、USB動作制限部32が「Autorun.Inf」ファイルが存在しないという疑似データを発生させる。これにより、USBマスストレージ20に「Autorun.Inf」ファイルがあった場合でも、上位のファイルシステム34において、「Autorun.Inf」の自動実行を確実に禁止することができる。また、コンピュータ10に接続したUSBデバイスがUSBマスストレージでない場合、USBポート19を無効化するようにしているので、USBデバイスからコンピュータ10にウィルスを移されることを確実に防止することができる。
【0053】
また、本方法では、USBポート19に接続されたUSBデバイスがUSBマスストレージ20か否かを判定し、USBマスストレージ20でないと判定した場合は、USBポート19を無効化する。これにより、USBポート19を介して、USBデバイスからコンピュータ10にウィルスが感染するのを防止することができる。
【0054】
更に、本方法では、デバイス判定ステップ(S216)において、USBポート19に接続されたUSBマスストレージ20がリムーバブルデバイスであると判定した場合でも、そのリムーバブルデバイスに接続されるメディアにオートラン実行コマンドが格納されているか否かを判定する。メディアにオートラン実行コマンドが格納されていると判定した場合は、上位プログラムにオートラン実行コマンドが格納されていないという疑似データを提供するので、メディアにオートラン実行コマンド(「Autorun.Inf」ファイル)がある場合でも、オートラン実行コマンドが無いという疑似データを上位のファイルシステム34に送信することにより、オートラン実行コマンドの自動実行を確実に禁止することができる。なお、この第2実施形態においても、例えば、ステップS212の後に、第1実施形態で説明したUSBマスストレージへの書き込み防止制御(ステップS140〜S180)を介在させることが望ましい。この様にすると、マスストレージへの書き込み禁止とオートランの実行の双方が同時に制限できるので、より安全な読み込みが可能となる。
【産業上の利用可能性】
【0055】
本発明は、USBマスストレージの通信制限を必要とする分野、特にUSBマスストレージへの書き込み防止やオートランを強制的に禁止することによる、コンピュータウィルスの感染防止の分野に利用することができる。
【符号の説明】
【0056】
10 コンピュータ
11 バス
12 CPU
13 液晶表示装置
14 ROM
16 RAM
17 HDD
18 USBホストコントローラ
19 USBポート
20 USBマスストレージ
30 USBポート制御部
32 USB動作制限部
34 ファイルシステム
36 オペレーティングシステム
100 USBマスストレージ動作制限プログラム

【特許請求の範囲】
【請求項1】
コンピュータと、該コンピュータに接続されるUSBマスストレージの間の通信を行う際に、前記コンピュータによって実行されるUSBマスストレージとの通信制限方法において、
上位プログラムによって実行され、前記コンピュータと、前記USBマスストレージの間の通信を確立する、USB通信確立制御ステップと、
前記上位プログラムと、前記USBマスストレージの間に介在して、前記USBマスストレージから前記上位プログラムに送信されるマスストレージ側コマンドに、書き込み禁止フラグを付加する、書き込み制限ステップと、
を備えることを特徴とする、USBマスストレージ通信制限方法。
【請求項2】
前記書き込み制限ステップは、
前記上位プログラムから前記USBマスストレージに送信するコンピュータ側コマンドの種別を判定する、コマンド判定ステップと、
前記コマンド判定ステップにおいて、前記コンピュータ側コマンドが、USBマスストレージへの書き込み禁止又は許可を表すコマンドの場合に、前記コンピュータ側コマンドに前記書き込み禁止フラグを付加する、書き込み禁止フラグ設定ステップと、
前記コマンド判定ステップにおいて、前記コンピュータ側コマンドが、前記USBマスストレージへの書き込みを表すコマンドの場合に、前記コンピュータ側コマンドを前記USBに送信せずに、前記上位プログラムに送信する書き込みエラーステータスを生成する、書き込みエラーステータス生成ステップと、
前記コマンド判定ステップにおいて、前記コンピュータ側コマンドが、前記USBマスストレージへの書き込み禁止又は許可を表すコマンド、又は前記USBマスストレージへの書き込みコマンド以外のコマンドの場合に、該コマンドをそのまま前記USBマスストレージに送信し、該USBマスストレージの応答をそのまま前記上位プログラムへ送信する、コマンド送信ステップと、を備えることを特徴とする、
請求項1に記載のUSBマスストレージ通信制限方法。
【請求項3】
前記コンピュータに接続されたUSBマスストレージにオートラン実行コマンドがあるか否かを判定するオートラン実行コマンド判定ステップと、
前記オートラン実行コマンド判定ステップにおいて、前記USBマスストレージに前記オートラン実行コマンドがあると判定した場合に、前記上位プログラムにオートラン実行コマンドが存在しないという疑似データを送信する、疑似データ送信ステップと、を更に備えることを特徴とする、
請求項1又は2に記載のUSBマスストレージ通信制限方法。
【請求項4】
前記コンピュータに接続されたUSBデバイスが前記USBマスストレージでない場合に、前記コンピュータのUSBポートの動作を無効にする、USBポート無効化ステップを、更に備えることを特徴とする、
請求項1乃至3のいずれか1項に記載のUSBマスストレージ通信制限方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2010−182131(P2010−182131A)
【公開日】平成22年8月19日(2010.8.19)
【国際特許分類】
【出願番号】特願2009−25624(P2009−25624)
【出願日】平成21年2月6日(2009.2.6)
【出願人】(000139366)株式会社ワイ・イー・データ (39)
【Fターム(参考)】