Disable Specific USB Ports / Restrict Data Transfer from USB Ports

Solution 1:

I think what you want to do is prevent the connection of USB Mass Storage Devices.

I found this answer which is untested by me and not terribly recent, but I can see that the referenced kext is still in the location described:

a quote from the Leopard security configuration guide:

48 Chapter 3 Protecting the System Through Hardware

Removing USB Support Software

Use the following instructions to remove USB mass storage device input/output support such as USB Flash drives and external USB hard drives. The removal of this kernel extension only affects USB mass storage devices. It does not affect other USB devices such as a USB printer, mouse, or keyboard. This task requires you to have administrator privileges. Important: Repeat these instructions every time a system update is installed. To remove kernel extensions for specific hardware:

  1. Open the /System/Library/Extensions folder.
  2. To remove support for USB mass storage devices, drag the following file to the Trash: IOUSBMassStorageClass.kext
  3. Open Terminal and enter the following command: $ sudo touch /System/Library/Extensions The touch command changes the modified date of the /System/Library/Extensions folder. When the folder has a new modified date, the Extension cache files (located in /System/Library/) are deleted and rebuilt by Mac OS X.
  4. Choose Finder > Secure Empty Trash to delete the file.
  5. Restart the system.

Source: https://discussions.apple.com/thread/2105022?start=0&tstart=0

Solution 2:

The following comment of mine has been deleted but I write it again because I think it can be useful for some people.

"Even though deleting the Kernel Extension does not work anymore on Mountain Lion, what still works is to open a Terminal window and issue a kextunload of the same extension: no USB mass storage volume will be mounted until the next restart."