# Implementing Usb Device Control Policy

> 实施 USB 设备控制策略，限制端点上未授权的可移动媒体访问，防止通过 USB 设备 进行数据泄露和引入恶意软件。适用于通过组策略、Intune 或 EDR 平台部署设备控制 以执行 USB 限制的场景。适用于涉及 USB 控制、可移动媒体策略、设备控制或 通过 USB 进行数据丢失防护的请求。

- Skill: `killvxk/implementing-usb-device-control-policy` (Agent Skill, multi-file: 8 files)
- Install (CLI): `npx skillmds@latest add killvxk/implementing-usb-device-control-policy`
- Raw SKILL.md: https://api.skillmd.com/api/skills/killvxk/implementing-usb-device-control-policy/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- License: Apache-2.0
- Author: killvxk (https://skillmd.com/u/killvxk)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/killvxk/implementing-usb-device-control-policy

---

# 实施 USB 设备控制策略

## 使用场景

在以下情况下使用本技能：
- 限制 USB 存储设备以防止数据泄露或引入恶意软件
- 通过 GPO、Intune 或 EDR 设备控制模块实施设备控制策略
- 为已授权设备创建 USB 白名单，同时阻断所有其他设备
- 满足可移动媒体控制的合规要求（PCI DSS、HIPAA）

**不适用于**基于网络的 DLP 或云存储限制。

## 前置条件

- 用于策略部署的 Active Directory GPO 或 Microsoft Intune
- 已授权 USB 设备的设备实例 ID
- 带有设备控制模块的 EDR（CrowdStrike、Microsoft Defender for Endpoint）
- 了解 USB 设备类别（大容量存储、HID、打印机等）

## 操作流程

### 步骤 1：清点当前 USB 使用情况

```powershell
# 枚举当前连接的 USB 设备
Get-PnpDevice -Class USB | Select-Object InstanceId, FriendlyName, Status

# 从注册表查询 USB 存储历史
Get-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Enum\USBSTOR\*\*" |
  Select-Object FriendlyName, ContainerID, HardwareID

# 跨设备群收集 USB 使用情况（通过 EDR 或脚本）
# CrowdStrike：调查 → USB 设备活动
# MDE：DeviceEvents | where ActionType == "UsbDriveMounted"
```

### 步骤 2：配置 GPO 设备控制

```
计算机配置 → 管理模板 → 系统 → 可移动存储访问

- 所有可移动存储类：拒绝所有访问 → 已启用
  （阻断所有可移动存储的读取和写入）

或者进行精细控制：
- CD 和 DVD：拒绝读取访问 → 已启用
- 可移动磁盘：拒绝写入访问 → 已启用（只读 USB）
- 磁带驱动器：拒绝所有访问 → 已启用
- WPD 设备：拒绝所有访问 → 已启用

允许特定已审批 USB 设备：
计算机配置 → 管理模板 → 系统 → 设备安装
  → 设备安装限制

- 防止安装其他策略设置未描述的设备 → 已启用
- 允许安装与这些设备 ID 匹配的设备 → 已启用
  添加已审批的设备 ID：USB\VID_0781&PID_5583（示例：SanDisk Cruzer）
```

### 步骤 3：通过 Microsoft Defender for Endpoint 部署

```xml
<!-- MDE 设备控制策略（XML 格式） -->
<PolicyGroups>
  <Group Id="{d9a81dc0-1234-5678-9abc-def012345678}"
    Type="Device" Name="已批准的 USB 设备">
    <MatchClause>
      <MatchType>VID_PID</MatchType>
      <MatchData>0781_5583</MatchData> <!-- SanDisk -->
    </MatchClause>
  </Group>
</PolicyGroups>

<PolicyRules>
  <Rule Id="{rule-guid}" Name="阻断未批准的 USB 存储">
    <IncludedIdList>
      <PrimaryId>RemovableMediaDevices</PrimaryId>
    </IncludedIdList>
    <ExcludedIdList>
      <GroupId>{d9a81dc0-1234-5678-9abc-def012345678}</GroupId>
    </ExcludedIdList>
    <Entry>
      <Type>Deny</Type>
      <AccessMask>63</AccessMask> <!-- 所有访问 -->
      <Options>4</Options> <!-- 显示通知 -->
    </Entry>
  </Rule>
</PolicyRules>
```

### 步骤 4：审计和监控

```
# 在 SIEM 中监控 USB 事件：
# Windows 事件 ID 6416 - 识别到新的外部设备
# Windows 事件 ID 4663 - 访问可移动媒体上的文件
# MDE：DeviceEvents where ActionType contains "Usb"

# 每月生成 USB 活动报告
# 跟踪：被阻断的尝试、已批准设备使用情况、例外请求
```

## 关键概念

| 术语 | 定义 |
|------|------|
| **VID/PID** | 供应商 ID 和产品 ID，唯一标识 USB 设备型号 |
| **设备实例 ID** | 特定物理 USB 设备的唯一标识符 |
| **设备控制** | 基于类型、供应商或序列号限制设备访问的 EDR/端点功能 |
| **USB 类** | USB 设备类别（大容量存储 08h、HID 03h、打印机 07h） |

## 工具与系统

- **Microsoft Defender 设备控制**：用于 USB 限制策略的 MDE 模块
- **CrowdStrike Falcon 设备控制**：基于 EDR 的 USB 策略执行
- **组策略（可移动存储访问）**：通过 GPO 内置的 Windows USB 限制
- **Endpoint Protector**：第三方设备控制和 DLP 解决方案

## 常见误区

- **阻断所有 USB 而不设置例外**：键盘和鼠标是 USB HID 设备。只阻断大容量存储类，不要阻断所有 USB。
- **未向用户通知策略**：未经用户通知的 USB 阻断会产生帮助台工单。显示通知说明策略。
- **忽略 USB-C 和 Thunderbolt**：现代设备使用 USB-C 进行对接、充电和存储。策略必须区分 USB 存储和 USB 外设。
- **无已批准设备流程**：有合法 USB 需求的用户（演示、现场数据收集）需要带有已批准的加密设备的例外流程。

