WindowsでUSB大容量記憶装置ドライバを無効にするTech TIPS

手軽なデータ移動デバイスであるUSBメモリは、それゆえ簡単に機密情報を盗まれる心配も高い。Windows XP SP2からの新機能で、USBメモリへの書き込みを禁止することが可能になったが、OSが限られるうえに、読み取りは制限されない。必要なら、読み取りも含めて、USBメモリの使用を全面的に禁止することができる。

» 2005年10月29日 05時00分 公開
[正木理絵子デジタルアドバンテージ]
「Tech TIPS」のインデックス

連載目次

対象OS:Windows 2000/Windows XP/Windows Server 2003



解説

 大容量のデータを扱うことができるUSBメモリは、その利便性ゆえ、情報漏えいの片棒を担ぐ危険もある。これを防ぐため、ユーザーひとりひとりを管理するのは至難の業だった。

 Windows XP SP2からは、新機能としてUSBメモリへの書き込みを禁止することができるようになった(詳細は関連記事参照)。しかしこの方法は、利用できるOSが限られるうえに、USBメモリへの書き込みは禁止できるが、読み取りは制限できない。

 BIOSなどでUSBを無効にしたり、USBポートを物理的にふさいだりする方法も考えられるが、この方法では、マウスなどのUSBデバイスまで使えなくなってしまう。USBそのものの機能は生かしつつ、読み取りも含めてUSBメモリ(USBマスストレージクラス)だけを無効にする方法はないだろうか。

 これには、ドライバ情報ファイルのアクセス権やレジストリの設定を変更して、USB大容量記憶装置ドライバがインストールされないようにし、さらに、すでにインストールされているドライバを無効にすればよい。

操作方法

 USBの機能はそのままに、USBメモリの使用を完全に禁止するには、ドライバ情報ファイルからUSB大容量記憶装置ドライバがインストールされないようにする。また、すでにドライバがインストールがされている場合は、レジストリを変更してドライバを削除する。このうち後者だけ行っても、環境によってはドライバが再インストールされて有効になってしまう。これら2つの方法を組み合わせることによって、確実に禁止できる。

●USB大容量記憶装置ドライバがインストールされないようにする

 これから新たに接続されるUSBメモリの読み書きを禁止するには、USB大容量記憶装置ドライバがインストールされないようにする。具体的には、ドライバ情報ファイルのUsbStor.infとUsbStor.pnfのアクセス権を設定して、USB大容量記憶装置ドライバのインストールを拒否するようにする。ただしこの設定を行うためには、システムのブート・パーティションがNTFSでフォーマットされている必要がある。

 まず、隠しフォルダである%SystemRoot%\inf\を開いて、UsbStor.infを右クリックする。[プロパティ]−[セキュリティ]を開いて、[詳細設定](Windows 2000では[詳細])ボタンをクリックする。

UsbStor.infのアクセス権を設定する(セキュリティの詳細設定) UsbStor.infのアクセス権を設定する(セキュリティの詳細設定)
まずはUsbStor.infのアクセス権設定を行う。
  (1)[アクセス許可]タブを選ぶ。
  (2)[追加]ボタンをクリックする。

[ユーザー、コンピュータまたはグループの選択]ダイアログ(1) [ユーザー、コンピュータまたはグループの選択]ダイアログ(1)
UsbStor.infのアクセス拒否メンバーを決定するため、[詳細設定]ボタンをクリックする。
  (1)ここをクリックする。

[ユーザー、コンピュータまたはグループの選択]ダイアログ(2) [ユーザー、コンピュータまたはグループの選択]ダイアログ(2)
ユーザー一覧から、アクセスを拒否したいユーザーを選択する。
  (1)[今すぐ検索]をクリックする。
  (2)表示されるリストの中から、アクセスを拒否したいユーザーを選択する。誰がログオンしていても拒否したい場合はEveryoneを選ぶ。
  (3)[OK]ボタンを押す(「拒否は許可より優先されます」や「システムフォルダのアクセス権を変更しようとしています」といった警告が出ることがある。その場合は[はい]をクリックする)。

選択したオブジェクトの確認 選択したオブジェクトの確認
設定するユーザーがオブジェクトとしてリストされていることを確認する。
  (1)選択したメンバーが入力されていることを確認する。
  (2)[OK]ボタンを押す。

アクセス許可の設定を変更する アクセス許可の設定を変更する
[UsbStor.infのアクセス許可エントリ]ダイアログが表示されるので、各アクセス許可項目の[拒否]にチェックを入れる。
  (1)すべての[拒否]チェック・ボックスにチェックを入れる。
  (2)[OK]ボタンを押す。

 以上の操作で、最初のダイアログ([セキュリティの詳細設定]ダイアログ)が表示されるので、もう一度上記を同じ手順で[追加]ボタンをクリックし、「SYSTEM」を選択して[拒否]のチェック・ボックスすべてにチェックして、[OK]ボタンを押す。

 以上の操作で、UsbStor.infのアクセス許可エントリの設定は例えば、次のような画面になる。

セキュリティの詳細設定の完了 セキュリティの詳細設定の完了
設定完了後の画面。
  (1)拒否したいメンバーと「SYSTEM」がアクセス許可エントリの「種類」が「拒否」になっているか確認する。
  (2)[OK]ボタンを押して、閉じる。

 続いて、同様の手順を、UsbStor.pnfファイルに対しても行えば、UsbStor.infとUsbStor.pnfへのアクセス権設定で、ドライバのインストールが禁止される。

●すでにUSBにドライバがインストールされている場合

 レジストリに HKEY_LOCAL_MACHINE\SYSTEM \CurrentControlSet\Services\USBSTORキーが存在する場合は、USB大容量記憶装置ドライバがすでにインストールされている。この場合は、前記のドライバ情報ファイルのアクセス権設定に加えて、現状のレジストリを書き換えてドライバを無効にする必要がある。

 USB 記憶装置が接続されている場合は、あらかじめ、正規の手順で取り外しておく。

[注意]

レジストリに不正な値を書き込んでしまうと、システムに重大な障害を及ぼし、最悪の場合、システムの再インストールを余儀なくされることもあります。レジストリ・エディタの操作は慎重に行うとともに、あくまで御自分のリスクで設定を行ってください。何らかの障害が発生した場合でも、本Windows Server Insider編集部では責任を負いかねます。ご了承ください。


 レジストリ・エディタを起動し(regedit.exe)、HKEY_LOCAL_MACHINEのSYSTEM\CurrentControlSet\Services\USBSTORを表示する。ここで、次のDWORD型の値を次のように設定する。

値の名称 データ型
Start DWORD 4

 設定後のレジストリ・エディタの表示は次のようになる。

設定完了後のレジストリ・エディタ 設定完了後のレジストリ・エディタ
Startの値を4に設定すること。
  (1)HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTORキー。
  (2)Startをダブルクリックして値を変更する。データ欄はデフォルトでは3になっているので4へ書き換える(設定後は念のため再起動しておいたほうがよいだろう)。

 これらの設定を行っておけば、USBそのものは有効にしつつも、メモリのサービスが完全に停止することができる。設定後にUSBメモリを挿入すると、次のようなエラーが表示されるようになる。

新しいUSBメモリを差し込んだときの検出ウィザードのエラー 新しいUSBメモリを差し込んだときの検出ウィザードのエラー
新しいUSBメモリをつなぐと、改めてドライバをインストールしようとするが、ドライバ情報ファイルにアクセス権がないため、エラーとなる。

 以上、2つの設定を行えば、USBメモリの使用を完全に防ぐことができる。しかし、アクセスが拒否されてない管理者などがログオンし、新しいUSBメモリを接続すると、再びレジストリのStart値が3へ戻ってしまう。このような場合、もう一度無効にするには、上記の手順で設定をやり直さなくてはならない。

 また、アップグレードや、USB大容量記憶装置ドライバの更新をする場合は、一時的に元に戻しておかなければならない場合があるので、USB大容量記憶装置のドライバを無効化したことを忘れないよう、注意する必要がある。

■関連リンク


「Tech TIPS」のインデックス

Tech TIPS

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。