デバイス ホストのセキュリティに関する考慮事項
デバイス ホストを使用すると、次のような理由でセキュリティの問題が発生します。
- Windows XP を実行しているコンピューターでホストされているデバイスは、すべてのネットワークでアナウンスを送信します。
- Windows XP を実行しているコンピューターでホストされているデバイスでは、すべてのネットワークからデバイスを制御できます。
これは、メディア プレーヤーやブリッジ照明、Windows XP を実行しているコンピューターでホストされている HVAC システムなどのデバイスが表示され、自宅の外部の制御ポイントから制御できるため、家庭のコンシューマーに対するリスクを高めます。
ホストされているデバイスを作成するときは、いくつかのセキュリティの問題を考慮する必要があります。
- UPnP ベースのデバイスの検出と攻撃の範囲を減らすために、すべての SSDP メッセージの TTL は 1 です。 つまり、登録済みデバイスは、同じネットワーク上の制御ポイントによってのみ検出されます。 レジストリで高い TTL を構成できます。
- 実行中でないデバイスを登録するには、COM にデバイス .dllを事前に登録する必要があります。これには管理者特権が必要です。
- 実行中のデバイスを登録するには、管理者、ローカル サービス、またはローカル システムの特権が必要です。
- デバイス ホストが起動すると、 LocalService として実行されます。 これにより、デバイスは監査を生成し、 HKEY_LOCAL_MACHINE レジストリ キーを読み取る機能が提供されます。 デバイスは HKEY_CURRENT_USERにアクセスできます。 LocalService アカウントでは、LocalService にアクセス権が付与されているリソースと、AuthenticatedUser へのアクセスを許可するリソースを使用できます。 デバイスでファイル システムへのアクセスが制限されています。
- リソース ディレクトリへの LocalService アクセスを許可するには、ファイル システム ACL を更新する必要があります。
- デバイスにさらにセキュリティ アクセス権が必要な場合は、デバイス用に独自のプロセスを作成し、 IUPnPRegistrar::RegisterRunningDevice を使用して登録できます。