Q

社内情報漏えい対策の一環として,大容量データが持ち出せるデバイスをクライアント・パソコンで利用できないように設定したいと考えています。USB(ユニバーサル・シリアル・バス)メモリー・キーだけではなく,PCカードやSDカード,赤外線通信デバイスなどの他の外部接続デバイスも利用禁止にしたいのですが,可能でしょうか?

A

本誌2005年1月号「トラブル解決Q&A」において,「USBメモリー・キーの使用を禁止する方法」が紹介されました。しかし,クライアントPCから情報が漏えいする経路は,USBメモリー・キーに限りません。昨今のPCにはPCカード・スロットやSDカード・スロット,赤外線通信デバイスなど,様々な外部接続デバイスが標準装備されており,これらを介した情報漏えいも考慮する必要があります。物理的にそれら外部接続デバイスを取り外してもよいのですが手間や費用がかかります。

 そこで,これら特定のデバイスをWindows 2000/XPコンピュータにおいて利用できなくする設定方法をご紹介します。実施に当たり,デバイス・ドライバが利用するレジストリ・キーを調査する操作が必要になります。これはWindows 2000では機能上実行できません。この操作だけはWindows XPマシンを別途用意して,実施する必要があります。

ドライバを読み込めなくすればよい
 今回の設定の原理を説明しましょう。Windows OSでは,外部接続デバイスを認識して利用できる状態にする仕組みを,「デバイスが接続されたときに,対応するドライバをシステムが自動的に読み込む」ことで実現しています。そのため,システムがドライバ設定情報ファイルにアクセスできないようにすることで,特定のデバイスの利用を禁止できます。具体的には,次の2つを設定すると実現できます。

・デバイスを自動認識するように設定されているレジストリの値を変更 ・ドライバ設定情報ファイル(INF/PNF)に対する,システム・アカウント(SYSTEM)のアクセスを禁止  以降では,次の順番で具体的な手順を説明します。

(1)利用を制限したいデバイスに対応する,ドライバ設定情報ファイルおよびレジストリ・キーを探し出す(前述のようにこの作業はWindows 2000では実施できませんので,Windows XPマシンをご用意ください)。 (2)利用を制限したいデバイスに対応するレジストリの値を編集する。 (3)利用を制限したいデバイスのドライバ設定情報ファイルに対するアクセス権を変更する。

デバイスのレジストリ・キーを調べる
 最初に,利用を制限したいデバイスに対応するドライバ設定情報ファイルとレジストリ・キーを特定します。


△ 図をクリックすると拡大されます
図1●デバイス・マネージャで詳細表示を可能にするコマンド
 デバイスに対応したレジストリ・キーはコントロール・パネルのデバイス・マネージャの詳細表示機能を利用すると分かります。利用を禁止したいデバイスをコンピュータに接続した状態でコマンド・プロンプトを起動し,図1のコマンドを入力してください。

 ここで1行目の「set DEVMGR_SHOW_DETAILS=1」はデバイス・マネージャの詳細表示機能を有効にする環境変数を設定するコマンドです。2行目の「Devmgmt.msc」はデバイス・マネージャを起動するコマンドになります。


△ 図をクリックすると拡大されます
図2●詳細表示が可能になったデバイス・マネージャ
 実行すると,詳細表示化されたデバイス・マネージャが起動するので,利用を制限したいデバイスまで階層をたどり,プロパティを開きます。図2左では[PCMCIAアダプタ]でPCカードのドライバを表示させています。

 次に図2右のようにドライバのプロパティを開いて[詳細]タブを選択し,さらに項目の一覧から[サービス]を選択します。ここで表示される値が後ほど設定するレジストリ・キーになりますので,メモします。ここでは「pcmcia」になっています。


△ 図をクリックすると拡大されます
図3●ドライバ・ファイルの削除
 引き続きドライバ設定情報ファイルを調べます。デバイス・マネージャに戻り,今度は目的のデバイスを右クリックして削除してください(図3)。デバイスを削除したらコンピュータを再起動し,再びログオンします。すると,削除したデバイスがWindowsのシステムによって再インストールされますので,しばらく待ちます。

 次に,ドライバ設定情報ファイルを特定するために,%windir%\setupapi.logというファイルを開きます(%windir%はデフォルトではC:\WINDOWS)。このファイルには,時系列順にドライバ・ファイルのインストール履歴が記録されています。ファイルの最後尾から上に向かって,「.inf」の名前で検索します。見つかったINFファイルが,対象デバイスのインストール時に利用されるドライバ設定情報ファイルになります。


△ 図をクリックすると拡大されます
図4●ドライバ設定情報ファイルの特定
 図4では「c:\windows\inf\pcmcia.inf」がPCカードのドライバのインストールに利用されていることが分かります。ここで使われたファイル名とパスをメモしておきましょう。一部のデバイスでは,複数のINFファイルが利用される場合があるので注意してください。


△ 図をクリックすると拡大されます
表1●IBM ThinkPad T42におけるレジストリ・キーとドライバ設定情報ファイルの例
 参考までに,IBM ThinkPad T42に備わる主なデバイスに対応したレジストリ・キーとドライバ設定情報ファイルを表1にまとめておきました。ここで分かるように赤外線通信デバイスは4つのドライバ設定情報ファイルを利用しています。

 大半のデバイスは,どのコンピュータでも同じレジストリ・キーとドライバ設定情報ファイルを利用しているはずですが,一部デバイスはハードウエア・メーカー固有のデバイス・ドライバを利用しているため,注意が必要です。

レジストリの値を編集する
 デバイスに対応するレジストリ・キーとドライバ設定情報ファイルが確認できたら,対象マシンにおいてドライバの読み込みを禁止するよう設定していきます。


△ 図をクリックすると拡大されます
図5●デバイスに対応するレジストリ・キーを編集してドライバを読み込まないようにする
 最初に利用を制限したいデバイスに対応したレジストリの値を編集します。レジストリ・エディタを起動し,HKEY_LOCAL_MACHINE\SYSTEM\
CurrentControlSet\Servicesキーの配下から,メモを取ったレジストリ・キーを探します。図5では[Pcmcia]というキーを開いています。このキーを選択すると,[Start]という名前の値が見つかるので,値のデータを「4」に変更します。

 最後に,ドライバ設定情報ファイルに対するシステム・アカウントのアクセスを禁止します。これはNTFSアクセス権を変更して実現します。


△ 図をクリックすると拡大されます
図6●ドライバを読み込まないようにNTFSアクセス権を設定する
 メモを取ったINFファイルが存在するフォルダをエクスプローラで開きます。メモを取った拡張子INFのファイル,およびそれと同一名で拡張子がPNFのファイルの2つが見つかりますので,この2つのファイルのプロパティをそれぞれ開き,[セキュリティ]タブから,SYSTEMに対して[フルコントロール]を[拒否]に設定します。図6ではpcmcia.infというファイルに対してこのアクセス許可を設定しています。[拒否]は最も優先され,このファイルに対してSYSTEMは一切のアクセスが禁止されます。

 以上の設定を完了したら,コンピュータを再起動してください。これで,再起動後はそのコンピュータで対象デバイスが利用できなくなります。

前島 鷹賢
日本IBM テクニカル・マネジメント
オープン・システム技術 副主任ITスペシャリスト