USB 安全、授权、USB/IP 与产品加固

USB 安全、授权、USB/IP 与产品加固

1. 威胁

USB设备可提供恶意:

  • descriptors;
  • class protocol;
  • HID输入;
  • network interface;
  • storage内容;
  • firmware updater;
  • composite interfaces;
    -PD/Type-C行为。

物理接入不应等同信任。

2. Authorization

Sysfs:

1
2
/sys/bus/usb/devices/usbN/authorized_default
/sys/bus/usb/devices/X-Y/authorized

可默认不授权新设备,再由策略daemon按port/VID/PID/class批准。VID/PID可伪造,不能作为高安全唯一身份。

3. USBGuard/LSM

用户态USBGuard可建立设备策略;结合lockdown、SELinux/AppArmor和udev权限限制usbfs、serial、storage及HID设备节点。

4. usbfs

/dev/bus/usb/* ioctl允许control/bulk传输、claim interface和reset。权限过宽可绕过高层daemon策略或攻击firmware。

5. Gadget安全

ConfigFS可改变设备身份和functions。限制写权限,量产仅暴露必要ACM/FunctionFS/UVC等。ADB、RNDIS/ECM、可写Mass Storage均扩大攻击面。

6. USB/IP

usbip/

  • stub导出物理USB device;
  • VHCI在客户端导入;
  • VUDC导出gadget controller。

USB/IP把USB信任边界扩展到网络。原生协议不应被视为提供强认证/机密性,应置于受控网络/VPN并限制daemon权限。

7. Type-C/PD

限制source功率、电压和role swap;不可信充电器不应自动获得data role。可采用charge-only策略或数据授权。

8. DMA

USB device一般通过Host controller DMA,外设本身不像PCIe直接DMA主内存,但恶意数据仍可攻击HCD/class parser。IOMMU可限制controller DMA故障影响,但不能替代协议安全。

本树RK3588 USB controller DT节点未声明iommus属性,不能假定xHCI/DWC3 DMA已受IOMMU隔离;应以运行时IOMMU group、boot log和最终DTB核实。

9. 固件

USB设备firmware loader会从 /lib/firmware下载blob。使用只读、签名/校验、版本受控的镜像。

10. 裁剪

产品禁用不需要的:

  • USB/IP;
  • VHCI/VUDC;
  • legacy class;
  • generic USB serial;
  • Gadget functions;
  • usbtest;
  • debugfs/verbose logs;
    -自动授权。

11. Cables与阻断器

Charge-only cable/data blocker只能作为物理策略补充;Type-C PD、Alt Mode和e-marker仍需考虑。

12. 审计

记录最终 .config、DTB、allowed classes、port策略、Gadget配置、PD PDO和firmware hash,并对插拔/畸形descriptor/fuzz进行回归。

文章互动

阅读 --

留言

0 条留言

正在加载留言…