(第1の実施形態)
以下、本発明の第1の実施形態に係る制御システム1を、図1〜4を参照して説明する。
制御システム1は、USB(Universal Serial Bus)メモリ10と、制御装置20と、を備えている。
制御装置20は、例えば、パーソナルコンピュータであり、制御部210と、記憶部220と、入力部230と、表示部240と、通信部250と、を備えている。
制御部210は、制御装置20の制御を行う。制御部210は、図示しないCPU(Central Processing Unit)、ROM(Read only Memory)およびRAM(Random Access Memory)を備えている。
CPUは、ROMに格納されたプログラム(例えば、後述する図3,4に示す処理を実現するプログラム)を実行する。
また、制御部210は、CPUがROMに格納されたプログラムを実行することにより、ファイルシステム211の機能を実現する。
ファイルシステム211は、USBメモリ10から送信されたバイナリデータ(0および1から構成されるデータ)に含まれる記憶内容情報が、通信部250を介して受信されると、受信された記憶内容情報からファイル情報を生成する。
USBメモリ10から送信されるバイナリデータは、図2(a)に示すように、USBメモリ10が内蔵するフラッシュメモリ130に記憶されているデータである。具体的には、バイナリデータは、内容データの記憶領域、ファイル名および内容データを含む。なお、ファイル名とは、ファイルの名称を示すデータであり、内容データとは、ファイルの内容を構成するデータである。この内容データおよびファイル名が、ファイルを構成する。
また、バイナリデータうち、内容データの記憶領域およびファイル名が記憶内容情報である。この記憶内容情報は、どのファイル名のファイルがどの記憶領域に記憶されているかを示す情報である。
記憶内容情報が通信部250を介して制御装置20で受信されると、ファイルシステム211は、記憶内容情報からファイル情報を生成する。このファイル情報は、図2(b)に示すように、ファイルの保存場所(ファイルがどのディレクトリに保存されているか)およびファイル名とから構成される情報であり、どのファイル名のファイルが、どのディレクトリに保存されているかを示す情報である。
図1に示す記憶部220は、例えば、ハードディスク装置であり、制御部210による制御で使用する情報等を記憶する。記憶部220は、OS部221と、ファイル情報記憶部222と、アプリケーション部223と、を備えている。
OS部221は、制御装置20の全体を管理するオペレーションシステム(OS)を記憶する。OS部221は、例えば、Windows(登録商標)等のOSを記憶する。
ファイル情報記憶部222は、ファイルシステム211で生成されたファイル情報を記憶する。
アプリケーション部223は、制御装置20で使用するアプリケーションを記憶する。このアプリケーションは、ファイル情報記憶部222に記憶されたファイル情報を用いて、ファイルの保存場所を表示部240に階層構造形式で表現するものが例示される。
入力部230は、各種情報の入力や各種指示の入力を受け付ける。入力部230は、例えば、キーボードである。
表示部240は、各種情報の表示を行う。表示部240は、例えば、液晶ディスプレイである。
通信部250は、外部装置であるUSBメモリ10が有する通信部140と、USB規格による通信を行う。
バスラインBLは、制御部210と、記憶部220と、入力部230と、表示部240と、通信部250と、を相互に接続する。
USBメモリ10は、制御部110と、フラッシュメモリインターフェイス120と、フラッシュメモリ130と、通信部140と、を備えている。
制御部110は、USBメモリ10の制御を行う。制御部110は、図示しないCPU、ROMおよびRAMを備えている。
CPUは、ROMに格納されたプログラム(例えば、後述する図3,4に示す処理を実現するプログラム)を実行する。
また、制御部110は、CPUがROMに格納されたプログラムを実行することにより、ファイルシステム111と、検索部112と、阻止部113と、の機能を実現する。
ファイルシステム111は、フラッシュメモリ130から取得したバイナリデータに含まれる記憶内容情報(図2(a)参照)から、ファイル情報(図2(b)参照)を生成する。このファイルシステム111は、フラッシュメモリ130に記憶されるバイナリデータが変更される度に(フラッシュメモリ130へのバイナリデータの新たな記憶、フラッシュメモリ130からのバイナリデータの消去またはフラッシュメモリ130に記憶されているバイナリデータの更新が行われる度に)、フラッシュメモリ130からバイナリデータ(記憶内容情報)を取得し、ファイル情報を生成する。よって、ファイルシステム111により生成されるファイル情報は、フラッシュメモリ130の最新の状態を反映させたものとなっている。
検索部112は、ファイルシステム111により生成されたファイル情報(ファイル情報記憶部132に記憶されるファイル情報)と、ファイル設定部133に記憶されたファイル名とを比較して、自動実行ファイルが、フラッシュメモリ130に記憶されているか否かを判定する。
自動実行ファイルとは、フラッシュメモリ130に記憶されたファイルであり、制御装置20とUSBメモリ10とが通信可能であるときに、制御装置20に内容を読み込ませて、その内容により、制御装置20に、フラッシュメモリ130に記憶された特定の内容データをプログラムとして実行させる指示を行うファイルである。この自動実行ファイルには、内容として、制御装置20に取得させてプログラムとして実行させる内容データを含んだファイルの名称(ファイル名)が、記述されている。
阻止部113は、自動実行ファイル(例えば、図2(a)に示すファイル名「autorun.inf」のファイル)が、フラッシュメモリ130に記憶されている場合、この自動実行ファイルのファイル名を、制御装置20が自動実行ファイルと認識できないファイル名(例えば、図2(c)に示すように、「example.inf」)に変更する。つまり、阻止部113は、制御装置20が、USBメモリ10に接続され通信可能な場合に、自動実行ファイルの内容を通信によって読み込むことを阻止する。
これにより、USBメモリ10と通信可能であるときに、制御装置20が、USBメモリ10から特定の内容データを取得して自動実行することを阻止できる。従って、フラッシュメモリ130にウイルスデータが記憶されており、更に、フラッシュメモリ130に記憶された自動実行ファイル(例えば、「autorun.inf」)の内容に、ウイルスデータを含んだファイルのファイル名が記述されていたとしても、制御装置20が、USBメモリ10からウイルスデータを取得して自動実行すること、即ち、ウイルスに感染することを阻止できる。
図1に示すフラッシュメモリインターフェイス120は、制御装置20とのUSB規格による通信に使用するデータ(ファイル)を記憶したフラッシュメモリ130へのアクセスを行う。
フラッシュメモリ130は、不揮発性のメモリであり、情報部131と、ファイル情報記憶部132と、ファイル設定部133と、を備えている。
情報部131は、図2(a)に示すバイナリデータを記憶する。
ファイル情報記憶部132は、ファイルシステム111で生成されたファイル情報(図2(b)参照)を記憶する。
ファイル設定部133は、ファイル情報記憶部132に記憶されたファイル情報を用いて検索部112が自動実行ファイルを検索する際に、検索対象とするファイル名、即ち、自動実行ファイルのファイル名が記憶される。制御装置20のOS部221に記憶されたOSが、例えば、Windows(登録商標)である場合、ファイル設定部133には、Windows(登録商標)によって自動実行ファイルとして規定されているファイルのファイル名「autorun.inf」が記憶される。
ファイル設定部133に記憶されるファイル名は、制御装置20とUSBメモリ10とが通信可能であるときに、ユーザが、制御装置20の入力部230を用いて任意に設定することができる。具体的には、制御装置20の入力部230で検索対象となるファイル名をユーザが入力すると、制御装置20(制御部210)は、そのファイル名を、通信部250を介してUSBメモリ10へ送信する。USBメモリ10(制御部110)は、通信部140を介して検索対象となるファイルのファイル名を受信すると、そのファイル名をファイル設定部133に設定(記憶)する。
通信部140は、制御装置20の通信部250と接続された場合、制御装置20と、USB規格による通信を行う。
バスラインBLは、制御部110と、フラッシュメモリインターフェイス120と、通信部140と、を相互に接続する。
上述したUSBメモリ10に記憶されたファイルを制御装置20で例えば取得する等で、起動状態となった制御装置20にUSBメモリ10がUSB接続されると、図3および図4に示す動作が実行される。
この動作では、まず、制御装置20の制御部210(CPU)は、USBメモリ10へ、通信部250を介して、通信開始の要求を行う(ステップS1)。
この要求を、通信部140を介して受信すると、USBメモリ10の制御部110(CPU)は、通信開始の初期化、具体的には、ファイルシステム111、検索部112、阻止部113およびフラッシュメモリインターフェイス120の起動を行う(ステップS21)。
次に、USBメモリ10の制御部110(検索部112)は、ファイル情報記憶部132に記憶されたファイル情報(図2(b)参照)に、ファイル設定部133に設定(記憶)された検索対象のファイルの名称(ファイル名)が存在するか否かを検索して(ステップS22)、自動実行ファイルが、情報部131に記憶されているか否かを判定する(ステップS23)。
USBメモリ10の制御部110(検索部112)は、検索対象のファイル名がファイル情報に存在すると判定すると(ステップS23:Yes)、自動実行ファイル(例えば「autorun.inf」、図2(a)参照)が、情報部131に記憶されているので、ステップS24へ移行する。
USBメモリ10の制御部110(阻止部113)は、ステップS22で検索されたファイル名を、例えば図2(c)に示すように、制御装置20が自動実行ファイルと認識できないファイル名、例えば「example.inf」に変更する(ステップS24)。
よって、ステップS24によれば、制御装置20が、USBメモリ10から特定の内容データを取得してプログラムとして自動実行することを阻止できる。
ステップS24の実行後、USBメモリ10の制御部110(ファイルシステム111)は、ファイル情報の更新の準備として、情報部131から記憶内容情報を取得する(ステップS25)。
その後、USBメモリ10の制御部110(ファイルシステム111)は、取得した記憶内容情報(図2(a)参照)を変換してファイル情報を生成し、ファイル情報記憶部132に記憶されたファイル情報を更新する(ステップS26)。その後、制御部110(ファイルシステム111)は、ステップS27へ移行する。
一方で、ステップS23で、USBメモリ10の制御部110(検索部112)は、検索対象のファイル名がファイル情報に存在しないと判定すると(ステップS23:No)、情報部131には自動実行ファイルが記憶されていないので、上述したステップS24〜S26をスキップして、ステップS27へ移行する。
ステップS27では、USBメモリ10の制御部110(CPU)は、通信開始を許可する応答を、通信部140を介して制御装置20へ送信する(ステップS27)。
この応答を、通信部250を介して受信すると、制御装置20の制御部210(CPU)は、USBメモリ10を認識する(ステップS2)。これにより、USBメモリ10と制御装置20とのデータ(ファイル)の送受信が可能となる(通信が可能となる)。ステップS2の実行後、制御部210(CPU)は、図4に示すステップS3へ移行する。
ステップS3では、制御装置20の制御部210(CPU)は、USBメモリ10(CPU)と通信を行い、OS部221に記憶されたOSにて規定されている自動実行ファイルのファイル名を用いて、これと一致するファイル名を、情報部131に記憶されたバイナリデータ、即ち、ファイル情報記憶部132に記憶されたファイル情報から検索する(ステップS3)。
このとき、制御装置20の制御部210(CPU)は、自動実行ファイルのファイル名を検索できない。これは、自動実行ファイルが情報部131に記憶されている場合、USBメモリ10の阻止部113が、ステップS24(図3参照)で、自動実行ファイルのファイル名を、制御装置20が自動実行ファイルとして認識できないファイル名に変更しているからである。
よって、フラッシュメモリ130にウイルスデータが記憶されており、更に、フラッシュメモリ130に記憶された自動実行ファイル(例えば、「autorun.inf」)の内容に、ウイルスデータを含んだファイルのファイル名が記述されていたとしても、制御装置20が、USBメモリ10と通信可能になったときに、USBメモリ10からウイルスデータを取得して自動実行することを阻止できる。これにより、制御装置20がUSBメモリ10を介してウイルスに感染することを阻止することができる。
ステップS3の実行後、制御装置20の制御部210(CPU)は、USBメモリ10に記憶されたファイルの一覧を把握するため、記憶内容情報(図2(a)参照)の送信を、通信部250を介して、USBメモリ10に要求する(ステップS4)。
この要求を、通信部140を介して受信すると、USBメモリ10の制御部110(CPU)は、情報部131から記憶内容情報を取得し、通信部140を介して、制御装置20へ送信する(ステップS28)。
記憶内容情報を、通信部250を介して受信すると(ステップS5)、制御装置20の制御部210(ファイルシステム211)は、取得した記憶内容情報を変換してファイル情報(図2(b)参照)を生成し、ファイル情報記憶部222に記憶する(ステップS6)。
ステップS6の実行後、制御装置20の制御部210(CPU)は、USBメモリ10(情報部131)に記憶されたファイル(図2(a)参照)へのアクセス指示があったか否か、具体的には、ファイルの閲覧指示があったか否かを判定する(ステップS7)。
制御装置20の制御部210(CPU)は、ファイルへのアクセス指示があった場合には(ステップS7:Yes)、アクセスが指示されたファイルに対応する内容データの送信を、通信部250を介して、USBメモリ10へ要求する(ステップS8)。
この要求を、通信部140を介して受信すると、USBメモリ10の制御部110(CPU)は、情報部131から該当する内容データを取得し、通信部140を介して、制御装置20へ送信する(ステップS29)。
制御装置20の制御部210(CPU)は、通信部250を介して内容データを受信すると、その内容データへアクセスする(ステップS9)。このアクセスにより、内容データが実行され、内容データが例えば、表示部240に表示される。ステップS9の実行後、制御部210(CPU)は、ステップS10へ移行する。
一方で、制御装置20の制御部210(CPU)は、ファイルへのアクセス指示がない場合には(ステップS7:No)、ステップS10へ移行する。
ステップS10では、制御装置20の制御部210(CPU)は、ファイルの記憶指示があったか否かを判定する(ステップS10)。
制御装置20の制御部210(CPU)は、記憶指示があった場合には(ステップS10:Yes)、ファイル(ファイル名および内容データ)を、通信部250を介して、USBメモリ10へ送信する(ステップS11)。
USBメモリ10の制御部110(CPU)は、通信部140を介してファイルを受信すると(ステップS30)、受信したファイル(ファイル名および内容データ)を情報部131に記憶する(ステップS31)。
その後、USBメモリ10の制御部110(CPU)は、ファイル情報記憶部132に記憶されたファイル情報、および制御装置20のファイル情報記憶部222に記憶されたファイル情報を、情報部131の最新の状態を反映させたものとするため、情報部131から記憶内容情報(図2(a)参照)を取得する(ステップS32)。
そして、USBメモリ10の制御部110(CPU)は、取得した記憶内容情報を、通信部140を介して制御装置20へ送信する(ステップS33)。また、制御部110(ファイルシステム111)は、取得した記憶内容情報を変換してファイル情報を生成し、生成したファイル情報へ、ファイル情報記憶部132に記憶されたファイル情報を更新する(ステップS34)。
USBメモリ10から記憶内容情報が送信されると、制御装置20の制御部210(CPU)は、その記憶内容情報を、通信部250を介して受信する(ステップS12)。そして、制御部210(CPU)は、受信した記憶内容情報を変換してファイル情報を生成し、生成したファイル情報へ、ファイル情報記憶部222に記憶されたファイル情報を更新する(ステップS13)。
その後、制御装置20の制御部210(CPU)は、USBメモリ10との通信終了の指示があったか否かを判定する(ステップS14)。
一方で、制御装置20の制御部210(CPU)は、ステップS10で、ファイルの記憶指示がなかった場合にも(ステップS10:No)、ステップS14の判定を行う。
ステップS14で、制御装置20の制御部210(CPU)は、通信終了の指示がない場合(ステップS14:No)、ステップS7へ戻る。
一方で、制御装置20の制御部210(CPU)は、通信終了の指示があった場合(ステップS14:Yes)、通信終了の要求を、通信部250を介してUSBメモリ10へ送信する(ステップS15)。
この要求を、通信部140を介して受信すると、USBメモリ10の制御部110(CPU)は、終了処理、具体的には、ファイルシステム111、検索部112、阻止部113およびフラッシュメモリインターフェイス120の終了を行う(ステップS35)。その後、制御部110(CPU)は、制御装置20との通信を終了する。
また、制御装置20の制御部210(CPU)は、ステップS15の実行後、ファイル情報記憶部222の内容をクリア(消去)する(ステップS16)。その後、制御部210(CPU)は、USBメモリ10との通信を終了する。
上述した通り、第1の実施形態に係る制御システム1のUSBメモリ10は、自動実行ファイルが情報部131に記憶されている場合、この自動実行ファイルのファイル名を、制御装置20が自動実行ファイルと認識できないファイル名に変更する。つまり、USBメモリ10は、制御装置20が、USBメモリ10と通信可能になった場合、自動実行ファイルの内容を通信によって読み込むことを阻止する。
これにより、制御装置20が、USBメモリ10と通信可能になった場合に、USBメモリ10から特定の内容データを取得して自動実行することを阻止できる。従って、フラッシュメモリ130にウイルスデータが記憶されており、更に、フラッシュメモリ130に記憶された自動実行ファイル(例えば、「autorun.inf」)の内容に、ウイルスデータを含んだファイルのファイル名が記述されていたとしても、制御装置20が、USBメモリ10と通信可能になった場合に、USBメモリ10からウイルスデータを取得して自動実行することを阻止できる。よって、制御装置20がUSBメモリ10を介してウイルスに感染することを阻止することができる。
USBメモリ10では、上述の通り、特定の内容データの制御装置20での自動実行を阻止する。しかし、USBメモリ10は、その他の機能、具体的には、ファイルの記憶、記憶されたファイルの転送、記憶されたファイルの消去等といった従来のUSBメモリで可能な機能は当然に備えている。よって、USBメモリ10は、制御装置20での自動実行を阻止することを除いては、従来のUSBメモリと同じように使用することができる。
(第2の実施形態)
次に、本発明の第2の実施形態に係る制御システム2を、図5〜8を参照して説明する。制御システム2は、第1の実施形態に係る制御システム1の構成および動作(処理)の一部を変更したものである。よって、制御システム2では、制御システム1と同一の構成・同一の動作(処理)については同一の番号を付して、その説明を省略する。
制御システム2は、アクセスポイント30と、制御装置40と、ハードディスク装置50と、を備えている。
アクセスポイント30は、制御装置40とWifi(Wireless fidelity)通信を行うと共に、ハードディスク装置50に記憶されたバイナリデータへのアクセス等を行う。
アクセスポイント30は、第1の実施形態のUSBメモリ10と同一の制御部110の他に、記憶部310と、ストレージインターフェイス320と、通信インターフェイス330と、Wifi用通信部340と、を備えている。
ここで、制御部110の検索部112は、ファイルシステム111により生成されたファイル情報(ファイル情報記憶部132に記憶されるファイル情報)を参照して、自動実行ファイルが、ハードディスク装置50のHD(Hard disk)部510に記憶されているか否かを判定する。
自動実行ファイルとは、HD部510に記憶されたファイルであり、制御装置40とアクセスポイント30とが通信可能であるときに(HD部510に記憶されたファイルが使用可能であるときに)、制御装置40に内容を読み込ませて、その内容により、制御装置40に、HD部510に記憶された特定の内容データをプログラムとして実行させる指示を行うファイルである。この自動実行ファイルには、内容として、制御装置40に取得させてプログラムとして実行させる内容データを含んだファイルの名称(ファイル名)が、記述されている。
阻止部113は、自動実行ファイル(例えば、図2(a)に示すファイル名「autorun.inf」のファイル)が、ハードディスク装置50のHD部510に記憶されている場合、この自動実行ファイルのファイル名を、制御装置40が自動実行ファイルと認識できないファイル名(例えば、図2(c)に示すように、「example.inf」)に変更する。つまり、阻止部113は、制御装置40が、アクセスポイント30と通信可能な場合に、自動実行ファイルの内容を通信によって読み込むことを阻止する。
これにより、制御装置40が、アクセスポイント30と通信可能なときに、HD部510から特定の内容データを取得して自動実行することを阻止できる。従って、HD部510にウイルスデータが記憶されており、更に、HD部510に記憶された自動実行ファイル(例えば、「autorun.inf」)の内容に、ウイルスデータを含んだファイルのファイル名の記述があったとしても、制御装置40が、アクセスポイント30と通信可能になったときに、HD部510からウイルスデータを取得して自動実行することを阻止できる。
記憶部310は、ハードディスク装置やフラッシュメモリであり、USBメモリ10と同一のファイル情報記憶部132およびファイル設定部133を備えている。
ストレージインターフェイス320は、ハードディスク装置50のストレージインターフェイス520と、USB規格による通信を行うインターフェイスである。ストレージインターフェイス320は、USBケーブル600を介して、ハードディスク装置50のストレージインターフェイス520と接続される。
通信インターフェイス330は、インターネット通信網等のネットワーク網と通信を行う。
Wifi用通信部340は、制御装置40のWifi用通信部410と、Wifi規格による無線通信を行う。
制御装置40は、アクセスポイント30とWifi通信を行う。
制御装置40は、第1の実施形態の制御装置20と同一の制御部210、記憶部220、入力部230および表示部240の他に、Wifi用通信部410を備えている。
Wifi用通信部410は、アクセスポイント30のWifi用通信部340と、Wifi規格による無線通信を行う。
ハードディスク装置50は、アクセスポイント30から送信されたファイルを記憶すると共に、アクセスポイント30の命令に対応して、記憶したファイルの消去や書き換えを行う。
ハードディスク装置50は、HD(Hard disk)部510と、ストレージインターフェイス部520と、を備えている。
HD部510は、ハードディスクであり、アクセスポイント30から送信されたファイルと、ファイルの記憶領域と、から構成されるバイナリデータを記憶する。
ストレージインターフェイス520は、アクセスポイント30のストレージインターフェイス320と、USB規格による通信を行う。ストレージインターフェイス520は、USBケーブル600を介して、アクセスポイント30のストレージインターフェイス320と接続される。
USBケーブル600は、アクセスポイント30のストレージインターフェイス320と、ハードディスク装置50のストレージインターフェイス520と、を接続する。
上述したアクセスポイント30でファイル情報を生成・記憶する動作は、図6に示す通りとなる。この動作は、ハードディスク装置50のストレージインターフェイス520が、起動状態のアクセスポイント30のストレージインターフェイス320に、USBケーブル600を介して接続された場合に実行される。
まず、アクセスポイント30の制御部110(CPU)は、ハードディスク装置50のHD部510に記憶されたバイナリデータに含まれる記憶内容情報を、ストレージインターフェイス320を介して取得する(ステップS17)。
その後、アクセスポイント30の制御部110(ファイルシステム111)は、ハードディスク装置50から取得した記憶内容情報(図2(a)参照)を変換し、ファイル情報(図2(b)参照)を生成する(ステップS18)。
そして、アクセスポイント30の制御部110(ファイルシステム111)は、生成したファイル情報を、ファイル情報記憶部132に記憶して(ステップS19)、接続時の動作を終了する。
次に、アクセスポイント30のストレージインターフェイス320とハードディスク装置50のストレージインターフェイス520とがUSBケーブル600で接続され、更に、起動状態の制御装置40から起動状態のアクセスポイント30へのWifi通信による通信開始の要求が可能となった場合における制御システム2の動作は、図7および図8に示す通りとなる。
この制御システム2の動作については、前述の通り、制御システム1と同一の動作(処理)については同一の番号を付すと共に、その説明を省略する。
アクセスポイント30の制御部110(CPU)は、Wifi用通信部340を介して、制御装置40から通信開始の要求を受信すると、通信開始の初期化、具体的には、ファイルシステム111、検索部112、阻止部113およびストレージインターフェイス320の起動を行う(ステップS71)。
その後、アクセスポイント30の制御部110(検索部112)は、ファイル情報記憶部132に記憶されたファイル情報(図2(b)参照)に、ファイル設定部133に設定(記憶)された検索対象のファイルの名称(ファイル名)が存在するか否かを検索して(ステップS72)、自動実行ファイルが、ハードディスク装置50のHD部510に記憶されているか否かを判定する(ステップS23)。
アクセスポイント30の制御部110(検索部112)は、ファイル情報に検索対象のファイル名が存在すると判定すると(ステップS23:Yes)、自動実行ファイル(例えば「autorun.inf」)が、ハードディスク装置50のHD部510に記憶されているので、ステップS73へ移行する。
アクセスポイント30の制御部110(阻止部113)は、ステップS72で検索されたファイル名を、例えば、図2(c)に示すように、制御装置40が認識できないファイル名(例えば、「example.inf」)へ変更する処理を実行する(ステップS73)。
これにより、ハードディスク装置50では、自動実行ファイル(例えば「autorun.inf」)のファイル名が、例えば「example.inf」というファイル名へ変更される処理が行われる(ステップS91)。
ステップS73によって、制御装置40が、アクセスポイント30を認識し通信可能になった場合(HD部510に記憶されたファイルが使用可能になった場合)、HD部510に記憶された特定の内容データを取得してプログラムとして自動実行することを阻止できる。
ハードディスク装置50で、ステップS91の処理が終了すると、アクセスポイント30の制御部110(ファイルシステム111)は、ハードディスク装置50のHD部510から、バイナリデータに含まれる記憶内容情報を、ストレージインターフェイス320を介して取得する(ステップS74)
その後、アクセスポイント30の制御部110(ファイルシステム111)は、ステップS26を実行し、ステップS27へ移行する。
一方で、ステップS23で、アクセスポイント30の制御部110(検索部112)は、ファイル情報に検索対象のファイルのファイル名が存在しないと判定すると(ステップS23:No)、ハードディスク装置50のHD部510には自動実行ファイルが記憶されていないので、上述したステップS73,S74,S26をスキップして、ステップS27へ移行する。
アクセスポイント30の制御部110(CPU)でステップS27が実行され、アクセスポイント30から送信された通信許可応答を、Wifi用通信部410を介して受信すると、制御装置40の制御部210(CPU)は、アクセスポイント30を認識する(ステップS51)。これにより、アクセスポイント30と制御装置40とのデータ(ファイル)の送受信が可能となる(通信が可能となる)。ステップS51の実行後、制御部210(CPU)は、図8に示すステップS3へ移行する。
ステップS3では、制御装置40の制御部210(CPU)は、アクセスポイント30(CPU)と通信を行い、OS部221に記憶されたOSにて規定されている自動実行ファイルのファイル名を用いて、これと一致するファイル名を、ハードディスク装置50のHD部510に記憶されたバイナリデータ、即ち、ファイル情報記憶部132に記憶されたファイル情報から検索する(ステップS3)。
このとき、制御装置40の制御部210(CPU)は、自動実行ファイルのファイル名を検索できない。これは、自動実行ファイルがHD部510に記憶されている場合、アクセスポイント30の阻止部113が、ステップS73(図7参照)で、自動実行ファイルのファイル名を、制御装置40が自動実行ファイルとして認識できないファイル名に変更しているからである。
よって、ハードディスク装置50のHD部510にウイルスデータが記憶されており、更に、HD部510に記憶された自動実行ファイル(例えば、「autorun.inf」)の内容に、ウイルスデータを含むファイルの名称(ファイル名)が記述されていたとしても、制御装置40が、アクセスポイント30を認識して通信可能になったときに、HD部510からウイルスデータを取得して自動実行することを阻止できる。これにより、制御装置40がアクセスポイント30を介してウイルスに感染することを阻止することができる。
ステップS3の実行後、制御装置40の制御部210(CPU)で、ステップS4が実行され、制御装置40から送信された記憶内容情報の要求を、Wifi用通信部340を介して受信すると、アクセスポイント30の制御部110(CPU)は、ハードディスク装置50のHD部510から、バイナリデータに含まれる記憶内容情報を、ストレージインターフェイス320を介して取得する(ステップS75)。
その後、アクセスポイント30の制御部110(CPU)は、ステップS28を実行する。
すると、制御装置40の制御部210は、ステップS5およびステップS6を実行する。
ステップS6の実行後、制御装置40の制御部210(CPU)は、ステップS7を実行し、ステップS7でYesと判定すると、アクセスが指示されたファイルに対応する内容データの送信を、Wifi用通信部410を介して、アクセスポイント30へ要求する(ステップS8)。
この要求を、Wifi用通信部340を介して受信すると、アクセスポイント30の制御部110(CPU)は、ハードディスク装置50のHD部510から、該当する内容データを取得し(ステップ76)、Wifi用通信部340を介して、制御装置40へ送信する(ステップS29)。
すると、制御装置40の制御部210は、ステップS9を実行し、ステップS10へ移行する。
一方で、制御装置40の制御部210は、ステップS7でNoと判定した場合も、ステップS10へ移行する。
ステップS10では、制御装置40の制御部210(CPU)は、ファイルの記憶指示があったか否かを判定し(ステップS10)、記憶指示があった場合には(ステップS10:Yes)、ファイルを、Wifi用通信部410を介してアクセスポイント30へ送信する(ステップS11)。
アクセスポイント30の制御部110(CPU)は、Wifi用通信部340を介してファイルを受信すると(ステップS30)、受信したファイルを記憶させる処理を実行する(ステップS77)。
具体的には、ステップS77では、アクセスポイント30の制御部110(CPU)は、受信したファイルを、ストレージインターフェイス320を介して、ハードディスク装置50のストレージインターフェイス520へ送信する。これにより、ハードディスク装置50のHD部510には、制御装置40から送信されたファイルが記憶される(ステップS92)。
その後、アクセスポイント30の制御部110(CPU)は、ファイル情報記憶部132に記憶されたファイル情報、および制御装置40のファイル情報記憶部222に記憶されたファイル情報を、ハードディスク装置50(詳細には、HD部510)の最新の状態を反映させたものとするため、HD部510から記憶内容情報(図2(a)参照)を取得する(ステップS78)。
そして、アクセスポイント30の制御部110は、取得した記憶内容情報を、Wifi用通信部340を介して制御装置40へ送信し(ステップS33)、取得した記憶内容情報を変換してファイル情報(図2(b)参照)を生成して、生成したファイル情報に、ファイル情報記憶部132に記憶されたファイル情報を更新する(ステップS34)。
制御装置40の制御部210は、Wifi用通信部410を介して、記憶内容情報を受信すると(ステップS12)、ステップS13を実行し、ステップS14へ移行する。
一方で、制御装置40の制御部210(CPU)は、ステップS10でNoと判定した場合にも、ステップS14へ移行する。
制御装置40の制御部210(CPU)は、ステップS14でNoと判定すると、ステップS7へ戻り、ステップS14でYesと判定すると、ステップS15へ移行する。
ステップS15では、制御装置40の制御部210(CPU)は、通信終了の要求を、Wifi用通信部410を介して、アクセスポイント30へ送信する(ステップS15)。その後、制御装置40の制御部210(CPU)は、ステップS16を実行して、アクセスポイント30との通信を終了する。
制御装置40からの通信終了の要求を、Wifi用通信部340を介して受信すると、アクセスポイント30の制御部110(CPU)は、終了処理を実行して(ステップS35)、制御装置40との通信を終了する。
上述した通り、第2の実施形態に係る制御システム2のアクセスポイント30は、自動実行ファイルが、ハードディスク装置50のHD部510に記憶されている場合、この自動実行ファイルのファイル名を、制御装置40が自動実行ファイルと認識できないファイル名に変更する。つまり、アクセスポイント30は、制御装置40が、アクセスポイント30と通信可能になったときに、自動実行ファイルの内容を通信によって読み込むことを阻止する。
これにより、制御装置40が、アクセスポイント30と通信可能になったときに、ハードディスク装置50のHD部510から特定の内容データを取得して自動実行することを阻止できる。従って、HD部510にウイルスデータが記憶されており、更に、HD部510に記憶された自動実行ファイル(例えば、「autorun.inf」)の内容に、ウイルスデータを含んだファイルのファイル名が記述されていたとしても、制御装置40が、アクセスポイント30と通信可能になったときに、HD部510からウイルスデータを取得して自動実行することを阻止できる。よって、制御装置40がアクセスポイント30を介してウイルスに感染することを阻止することができる。
アクセスポイント30では、上述の通り、特定の内容データの制御装置40での自動実行を阻止する。しかし、アクセスポイント30は、その他の機能、具体的には、インターネットやイントラネットとの通信を媒介するといった従来のアクセスポイントで可能な機能は当然に備えている。よって、アクセスポイント30は、制御装置40での自動実行を阻止することを除いては、従来のアクセスポイントと同じように使用することができる。
以上、本発明の実施形態を説明したが、この発明は上記の実施形態に限定されず、種々の変形および応用が可能である。
例えば、上述した各実施形態では、自動実行ファイルが記憶部131あるいはHD部510に記憶されている場合、自動実行ファイルのファイル名を、制御装置20あるいは制御装置40が自動実行ファイルと認識できないファイル名に変更したが(図3のステップS24あるいは図7のステップS73参照)、これに限られるものではない。
即ち、自動実行ファイルが記憶部131あるいはHD部510に記憶されている場合、自動実行ファイルのファイル名の変更に代えて、図3のステップS24あるいは図7のステップS73で、自動実行ファイルを削除する構成としてもよい。この構成によっても、制御装置20あるいは制御装置40が、情報部131あるいはHD部510に記憶された自動実行ファイルの内容を通信によって読み込むことを阻止することができる。
また、上述した実施形態では、制御装置20あるいは制御装置40の制御部210は、図4あるいは図7のステップS3で、OS部221に記憶されたOSにて規定されている自動実行ファイルのファイル名を、ファイル情報記憶部132に記憶されたファイル情報から検索したが、これに限られるものではない。
即ち、制御部210は、ファイル情報記憶部132に記憶されたファイル情報ではなく、制御装置20あるいは制御装置40のファイル情報記憶部222に記憶されたファイル情報から、OS部221に記憶されたOSにて規定されている自動実行ファイルのファイル名を検索する構成としてもよい。
この構成の場合には、制御装置20あるいは制御装置40の制御部210は、ステップS3の検索の前に、ステップS4〜S6を実行する。そして、制御部210は、ファイル情報を生成した後に、そのファイル情報から、OS部221に記憶されたOSにて規定されている自動実行ファイルのファイル名を検索する構成とすればよい。
なお、上記実施形態において、制御システム1(USBメモリ10および制御装置20)および制御システム2(アクセスポイント30および制御装置40)を制御するプログラムは、フレキシブルディスク、CD−ROM(Compact Disc Read−Only Memory)、DVD(Digital Versatile Disc)、MO(Magneto−Optical Disc)等のコンピュータが読み取り可能な記録媒体に格納して配布し、そのプログラムを、コンピュータ等にインストールすることにより、図3〜図4および図6〜図8に示す動作を実行する制御システムを構成することとしてもよい。
また、上述のプログラムをインターネット等の通信ネットワーク上の所定のサーバ装置が有するディスク装置等に格納しておき、例えば、搬送波に重畳させて、ダウンロード等するようにしてもよい。
また、上述の図3〜図4および図6〜図8に示す処理を、各OS(Operating System)が分担して実現する場合、又は、OSとアプリケーションとの協働により実現する場合等には、OS以外の部分のみを媒体に格納して配布してもよく、また、ダウンロード等してもよい。
本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施形態及び変形が可能とされるものである。また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。すなわち、本発明の範囲は、上述した実施形態ではなく、請求の範囲によって示される。そして、請求の範囲内およびそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。