Preventing the use of unidentified USB drives is a core media protection control under NIST SP 800‑171 Rev.2 / CMMC 2.0 Level 2 (MP.L2‑3.8.8); this post gives concrete, actionable steps you can apply on Windows and macOS to restrict, detect, and manage removable media in a small business environment so you can meet compliance and reduce exfiltration and malware risk.
Why this control matters and the risk of doing nothing
If unidentified USB devices are allowed to connect to laptops or desktops, they become an easy vector for data exfiltration and malware introduction. Small businesses commonly lose unencrypted data or have endpoints infected because employees plug in “found” or unapproved drives. From a compliance standpoint, failing to control removable media can lead to contractual breaches with government customers, failed assessments, and loss of opportunities—making an enforceable technical control essential.
Windows: Practical, enforceable configurations
Windows offers multiple layers you can use together: Group Policy (or Intune configuration profiles for Azure AD-managed systems), a registry tweak to disable the USB mass-storage driver, and vendor device‑control/DLP/EDR solutions for more granular allowlisting. Use a defense‑in‑depth approach: GPO to block general access, registry to harden the driver load, and device control to allow only pre‑approved device IDs when needed.
1) Group Policy (local or domain) — block removable storage
For domain environments, apply this via a GPO. Path: Computer Configuration → Administrative Templates → System → Removable Storage Access. Enable the policies you need, for example:
- "All Removable Storage classes: Deny all access" (blocks read/write)
- "Removable Disks: Deny execute access" (prevents running code from USB)
These settings prevent unapproved drives from being read or written and are a straightforward way to enforce MP.L2‑3.8.8 without per‑device whitelisting.
2) Disable the USBSTOR driver (quick hard block)
To stop the USB mass storage driver from loading (applies to many standard thumb drives), set the USBSTOR service start type to 4 (disabled). Use this on endpoints where no removable storage is ever required:
reg add "HKLM\SYSTEM\CurrentControlSet\Services\USBSTOR" /v Start /t REG_DWORD /d 4 /f
# To re-enable: set value to 3
Deploy via Group Policy Startup script, SCCM, or Intune Win32 app. Note: this blocks most USB storage but won’t stop specialized USB devices that present as other device classes (HID, NIC, etc.).
3) Use managed allowlist & BitLocker to enforce encrypted removable media
If you must permit company USB drives, combine a device-control solution that allows only specific vendor/product ID (VID/PID) or device serial numbers with BitLocker To Go required for writable access (GPO: Computer Configuration → Administrative Templates → Windows Components → BitLocker Drive Encryption → Removable Data Drives → "Deny write access to removable drives not protected by BitLocker"). This allows a practical exception process while meeting compliance.
macOS: recommended approaches for preventing unidentified USB drives
macOS does not provide the exact same per‑device Group Policy mechanisms as Windows, so the common, compliant approaches use MDM plus endpoint security/DLP that leverages Apple's Endpoint Security framework. For smaller shops without full MDM, use a monitored scripting approach to detect and eject unapproved volumes and rely on full disk/file encryption (FileVault) and user training.
1) MDM + enterprise DLP/EDR (recommended)
Use Jamf Pro, Jamf Protect, or another MDM together with a DLP/EDR that supports macOS device control (examples: CrowdStrike Device Control, Digital Guardian, McAfee, Symantec). Configure the product to:
- Block write access on unapproved removable media
- Allow an approved whitelist of USB serials/VID:PID
- Log attempts and raise alerts to your SIEM
This is the most reliable, auditable method for meeting MP.L2‑3.8.8 on macOS.
2) Scripted monitoring + automating ejection (practical small‑business option)
For organizations without enterprise tools, deploy a lightweight script that runs as a launch daemon to check for newly mounted external volumes, compare them to an allowlist, and eject any unauthorized ones. Example approach:
# Example (conceptual) flow:
# 1) Maintain /Library/Application Support/YourOrg/usb_whitelist.txt with allowed serials
# 2) On a schedule, script runs:
# - Enumerate connected USB devices: system_profiler SPUSBDataType or ioreg
# - Enumerate mounted volumes: diskutil list
# - If a mounted external volume isn't on the whitelist, run: diskutil unmountDisk /dev/diskN
Test thoroughly on representative hardware before wide deployment. This method provides a reasonable, documented technical control when combined with logs and an exception/approval process.
Implementation notes, logging, and practical examples for a small business
Implementation notes: maintain a documented approval workflow (who may request an approved USB, how serials get added to whitelist), test updates across device models (especially on macOS where different vendor controllers present differently), and centrally manage configuration via GPO/Intune/MDM where feasible. Example scenario: a 25‑user engineering shop allows two corporate USB drives per user. You create a GPO/enrollment profile that blocks all removable storage by default, then add the two corporate device serials to the EDR allowlist; the helpdesk manages exceptions and logs approvals in a ticketing system.
Compliance tips and best practices
- Inventory: maintain a register of approved USB devices by serial and owner. - Least privilege: deny by default, allow exceptions only for business need. - Monitor & audit: forward device control logs to your SIEM and create alerts for mount attempts of unapproved devices. - Training: educate staff on the policy, the risks of “foreign” drives, and the exception process. - Patch & backup: ensure endpoints are patched and backups exist in case a malicious device causes data loss.
Summary
Meeting MP.L2‑3.8.8 is achievable for small businesses by combining policy, endpoint configuration, and monitoring: on Windows use Group Policy and registry hardening (USBSTOR) plus device‑control/BitLocker enforcement; on macOS use MDM + DLP/EDR where possible or a carefully tested monitor-and-eject script if not. Always pair technical controls with an allowlist process, logging to support audits, and user training—without these, unidentified USB drives remain a high‑risk vector for data loss and non‑compliance.