グループ ポリシーを用いた WPD デバイスの制限について

こんにちは。Windows プラットフォーム サポートの北原です。

最近、PC からスマート フォンへのデータの書き出しを禁止したいというお問い合わせを
多くいただいております。以前の記事で、グループ ポリシーを用いたデバイスの
アクセス制御をご紹介しましたが、今回は、その中でも主にスマート フォンが使用している
Windows Portable Device (WPD) デバイスへの制限について取り上げたいと思います。

グループ ポリシーを用いたデバイスのアクセス制御について
https://blogs.technet.com/b/askcorejp/archive/2014/04/28/3516088.aspx

================
WPD の概要
================
WPDとは、Windows Vista 以降の OS に標準的に備わっている、携帯電話、デジタル カメラ、
音楽プレーヤーのようなポータブル デバイスとの通信手段を提供するドライバ ベースの
テクノロジーです。WPD は API を有しており、デバイスの状態を調べたり、デバイスを
制御する (写真を撮る、メッセージを送るなど) アプリケーションを開発することができます。
なお、Windows XP の場合、別途 Windows Media Player 10 または 11 をインストールする
必要があります。

スマート フォンや従来の携帯電話を USB で PC につないでファイルの転送をする際、通常、
「MTP モード」や「PTP モード」など、事前にモードの選択をする必要があります。
この MTP や PTP というのは WPD が使用している通信手段のことで、現在、WPD が
主に使用しているものは以下の 3 つとなります。

  • Picture Transfer Protocol (PTP) - 携帯電話やデジタル カメラなどに画像ファイルを
    転送するためのプロトコル
  • Media Transfer Protocol (MTP) - PTP を拡張し、携帯電話や音楽プレイヤーなどに
    音楽ファイルや動画ファイルも転送できるようしたプロトコル
  • Mass Storage Class (MSC) - 従来から使われている USB を介したファイルの転送技術

(参考情報) WPD Drivers
https://msdn.microsoft.com/en-us/library/windows/hardware/ff597868.aspx

この記事では Windows Vista 以降の OS で使用可能な PTP/MTP による情報の持ち出しを制限する
グループ ポリシーをご紹介します。

補足情報
---------------
MSC は USB メモリや USB ハード ディスクなどの大容量記憶デバイスを PC に接続して、
エクスプローラー上でファイルのコピーなどをする際に使われるファイル転送技術です。
一部のスマートフォンには、MTP/PTP のモード以外に、「ファイル転送モード」などの名前で
MSC によるファイルの転送を可能にしているものもあります。この MSC のモードで PC に接続した際、
マウントされたドライブを右クリックして、[ポータブル デバイスとして開く] を選ぶと、
WPD を介した MSC による通信ができるものがあり、これが WPD における 3 つ目の通信手段となります。

この WPD を介した MSC の制限には、従来の USB メモリのデバイス制御と同じグループ ポリシーを
使用します。例えばファイルの読み書きを制限したい場合は、以下のグループ ポリシーを使います。

- [コンピューターの構成]
 - [管理用テンプレート]
  - [システム]
   - [リムーバブル記憶域へのアクセス]
    - [リムーバブル ディスク: 読み取りアクセス権の拒否] および
    - [リムーバブル ディスク: 書き込みアクセス権の拒否]
    設定値: 有効

===============
PTP/MTP の制限方法について
===============
グループ ポリシーを用いて PTP/MTP による情報の持ち出しを制限する方法は 3 種類あります。
これらは Windows Vista 以降の OS で使用可能です。

  1. PTP/MTP による読み書きを制限する方法
  2. WPD デバイスのインストールを制限する方法
  3. ホワイト リストによるデバイスのインストールを制限する方法

セキュリティ的な堅牢さの面では (1) が最も弱く、(3) が最も強いのですが、それに比例して、
運用上の制限や煩雑さが増します。以下にそれぞれの特徴を紹介します。

(1) PTP/MTP による読み書きを制限する方法

接続したデバイスに対するフォルダ / ファイルの読み書きを制限するものです。この方法は、
ファイルの読み取りだけ、またはファイルの書き出しだけ、特定のユーザーだけなど、
柔軟な設定が可能で、最初に一度設定をすると運用後に設定を変える必要があまり無いため、
運用が容易です。
 
その反面、この設定をしていたとしても、PC にインストールされたスマート フォン専用の
アプリケーションによってデータの書き込みを行える場合があります。
これは独自方法 (PTP/MTP 以外) によってファイルの転送を実装しているためです。
これを回避するには、PC へのアプリケーションのインストールを制限するか、後述する
WPD デバイスのインストールそのものを制限する方法を実施する必要があります。

(2) WPD デバイスのインストールを制限する方法

デバイスを PC に接続した際の WPD デバイスのドライバーのインストールを制限するものです。
ドライバーのインストール自体が制限されているため、WPD デバイスは全く使用することが
できなくなります。なお、運用が煩雑になってしまいますが、特定メーカーの一部モデルのみ
インストールを禁止する設定も可能です。

その反面、スマート フォンの一部には、WPD デバイスとしてではなく、他のデバイスとして
認識されるものが存在し、WPD デバイスのインストール制限だけでは、デバイスが
使用できてしまう場合もあります。これを回避するには、後述するホワイト リストを使用して
制限する方法を実施する必要があります。

(3) ホワイト リストによるデバイスのインストールを制限する方法

PC への接続が許可されているデバイスのリストをあらかじめ登録し、それ以外の全てのデバイスの
インストールを禁止するというものです。許可されたデバイスのみインストールが行われるため、
WPD デバイスはもちろんのこと、未知のデバイスにも対応できます。ソフトウェア レベルで
最も堅牢な対策をしたい場合は、この方法が推奨されます。なお、許可リストには、特定の種類のデバイス、
または特定のモデルのデバイスといった単位で設定が可能です。

その反面、許可対象のデバイスが増えるにつれ定義内容も増え、運用が煩雑になることがあります。
また、デバイス検知時にインストールを制限するという性質上、既にインストール済みのデバイスに
ついては、制限を行うことができません。このため、対象の PC の不要なデバイスをあらかじめ
削除しておくなどの対処が必要です。

なお、参考情報となりますが、以下の記事に現在 PC に接続されていない WPD デバイスを devcon.exe で
削除するサンプル スクリプトが記載されております。これをベースにお好みのスクリプトを作成いただけたら
幸いです。

ハードウェア デバイスのトラブルシューティングについて
https://blogs.technet.com/b/askcorejp/archive/2014/07/03/3634044.aspx

次の項では、それぞれのグループ ポリシーの実際の設定方法についてご紹介します。

===============
設定方法
===============
前項で述べた 3 種類の方法について、それぞれ手順を説明していきます。
 

(1) PTP/MTP による読み書きを制限する方法

以下のグループ ポリシーにより設定します。
 
- [コンピューターの構成]
 - [管理用テンプレート]
  - [システム]
   - [リムーバブル記憶域へのアクセス]
    - [WPD デバイス: 読み取りアクセス権の拒否] および
    - [WPD デバイス: 書き込みアクセス権の拒否]
    設定値: 有効
 
 

 
 

補足情報
---------------
特定のユーザーだけ読み書きを制限したい場合は、以下のグループ ポリシーを代わりに使用します。

- [ユーザーの構成]
 - [管理用テンプレート]
  - [システム]
   - [リムーバブル記憶域へのアクセス]
    - [WPD デバイス: 読み取りアクセス権の拒否] および
    - [WPD デバイス: 書き込みアクセス権の拒否]
    設定値: 有効

(2) WPD デバイスのインストールを制限する方法

以下のグループ ポリシーにより設定します。
 
- [コンピューターの構成]
 - [管理用テンプレート]
  - [システム]
   - [デバイスのインストール]
    - [デバイスのインストールの制限]
     - [これらのデバイス セットアップ クラスと一致するドライバーを
      使用したデバイスのインストールを禁止する]
     設定値: 有効
     デバイス セットアップ クラス: {eec5ad98-8080-425f-922a-dabf3de3f69a}
     既にインストール済みの一致するデバイスにも適用されます。: オン
 
 
 
設定したデバイス セットアップ クラス {eec5ad98-8080-425f-922a-dabf3de3f69a} は、
WPD デバイスを意味します。以下の文書にデバイス セットアップ クラスの一覧があります。
 
(参考情報) System-Defined Device Setup Classes Available to Vendors
https://msdn.microsoft.com/en-us/library/ff553426(VS.85).aspx
 
[既にインストール済みの一致するデバイスにも適用されます。] は Windows 7 以降の機能ですが、
これにチェックを入れると、ポリシー適用以前に接続したことのある WPD デバイスに対しても
制限をかけることができます。

補足情報
---------------
特定メーカーの一部モデルのみインストールを禁止したい場合は、以下のグループ ポリシーを代わりに
使用します。

- [コンピューターの構成]
 - [管理用テンプレート]
  - [システム]
   - [デバイスのインストール]
    - [デバイスのインストールの制限]
     - [これらのデバイス セットアップ クラスと一致するドライバーを
      使用したデバイスのインストールを禁止する]
     設定値: 有効
     デバイス セットアップ クラス: 禁止したいデバイス セットアップ クラスを列挙
     既にインストール済みの一致するデバイスにも適用されます。: オン

禁止リストに登録する値については、以下のブログ記事で述べられています。
 
グループ ポリシーを用いたデバイスのアクセス制御について
https://blogs.technet.com/b/askcorejp/archive/2014/04/28/3516088.aspx

(3) ホワイト リストによるデバイスのインストールを制限する方法

以下の 3 つのグループ ポリシーを併用することにより設定が可能です。
 
- [コンピューターの構成]
 - [管理用テンプレート]
  - [システム]
   - [デバイスのインストール]
    - [デバイスのインストールの制限]
     - [他のポリシー設定で記述されていないデバイスのインストールを禁止する]
     設定値: 有効
 
 
 
- [コンピューターの構成]
 - [管理用テンプレート]
  - [システム]
   - [デバイスのインストール]
    - [デバイスのインストールの制限]
     - [これらのデバイス セットアップ クラスと一致するドライバーを
      使用したデバイスのインストールを許可する]
     設定値: 有効
     デバイス セットアップ クラス: 許可したいデバイス セットアップ クラスを列挙

 

- [コンピューターの構成]
 - [管理用テンプレート]
  - [システム]
   - [デバイスのインストール]
    - [デバイスのインストールの制限]
     - [これらのデバイス ID と一致するデバイスのインストールを許可する]
     設定値: 有効
     デバイス ID: 許可したいデバイス ID を列挙

 
 
 なお、許可リストに登録する値については、以下のブログ記事で述べられています。
 
グループ ポリシーを用いたデバイスのアクセス制御について
https://blogs.technet.com/b/askcorejp/archive/2014/04/28/3516088.aspx
 

注意
---------------
ストレージ デバイスに限らず、すべてのデバイスが対象となります。このため、USB マウスや
キーボードを使用する場合は、許可リストにマウスやキーボードも含めておくことをお勧めします。
 

===============
終わりに
===============
以上の 3 つの選択肢から、システムのセキュリティ レベルや運用のルールにあったものを
ご検討いただけたら幸いです。

スマート フォンへの情報の書き出しを完全に防ぐためには、上記のソフトウェア側の対応だけではなく、
USB の接続口をふさいだり、サーバー室にスマート フォンを持ち込ませないなどの物理的な
セキュリティ対策もあわせて実施されることを強くお勧めします。
 
今後もデバイス制御に関して、随時ブログで情報をご提供してまいります。