设备主机安全注意事项

使用设备主机会产生安全问题,原因如下:

  • 在运行 Windows XP 的计算机上托管的设备在所有网络上发送通知。
  • 托管在运行 Windows XP 的计算机上的设备允许控制来自所有网络的设备。

这会增加家庭使用者的风险,因为设备(如媒体播放器、桥接照明或 HVAC 系统托管在运行 Windows XP 的计算机上)是可见的,可以从家庭外部的控制点进行控制。

创建托管设备时,需要考虑一些安全问题。

  • 为了减少基于 UPnP 的设备发现和攻击的范围,所有 SSDP 消息的 TTL 为 1。 这意味着只有同一网络上的控制点才能发现已注册的设备。 可以在注册表中配置更高的 TTL。
  • 注册非正在运行的设备需要向 COM 预注册设备.dll,这需要管理员权限。
  • 注册正在运行的设备需要管理员、本地服务或本地系统权限。
  • 启动设备主机时,它将作为 LocalService 运行。 这使设备能够生成审核并读取 HKEY_LOCAL_MACHINE 注册表项。 设备有权访问 HKEY_CURRENT_USER。 LocalService 帐户可以使用已向其授予 LocalService 访问权限的资源,以及授予对 AuthenticatedUser 访问权限的资源。 设备具有受限的文件系统访问权限。
  • 必须更新文件系统 ACL 以允许 LocalService 访问资源目录。
  • 如果设备必须具有更多安全访问权限,则可以为设备创建自己的进程,并使用 IUPnPRegistrar::RegisterRunningDevice 对其进行注册。