USB BitLocker Policy May Not Apply To Some Android Devices
Posted by William Diaz on November 21, 2013
During recent BitLocker piloting for USB mass storage devices we noticed that Android devices were not affected by our Bitlocker policy, which was to prevent writing of data if the device was not encrypted. Although we do not intend to enforce encryption on these devices for obvious reason, we still wanted to be able to deny write to the devices in the same manner that users could not write to their BlackBerry or iPhone devices where USB BitLocker policy was to deny write was working as expected.
After opening a case with Microsoft, the conclusion was that even though the Android devices were mass storage devices, they were presenting themselves as Windows Portable Devices:
>> [Device Install (Hardware initiated) – WpdBusEnumRoot\UMB\2&37c186b&0&STORAGE#VOLUME#_??_USBSTOR#DISK&VEN_SMI&PROD_USB_DISK&REV_1100#7&2DEFC6D0&0#]
>>> Section start 2013/11/12 14:30:18.871
ump: Creating Install Process: DrvInst.exe 14:30:18.871
ndv: Retrieving device info…
ndv: Setting device parameters…
ndv: Doing WU search last due to CM_DEVCAP_SILENTINSTALL flag.
ndv: Searching Driver Store and Device Path…
dvi: {Build Driver List} 14:30:18.949
dvi: Searching for compatible ID(s):
dvi: wpdbusenum\fs
…
dvi: DrvDate – 06/21/2006
dvi: Version – 6.1.7600.16385
inf: Searched 1 potential matches in published INF directory
inf: Searched 35 INFs in directory: ‘C:\Windows\inf’
dvi: {Build Driver List – exit(0x00000000)} 14:30:19.074
ndv: Selecting best match from Driver Store (including Device Path)…
dvi: {DIF_SELECTBESTCOMPATDRV} 14:30:19.074
dvi: Using exported function ‘WpdClassInstaller’ in module ‘C:\WINDOWS\system32\wpd_ci.dll’.
dvi: Class installer == wpd_ci.dll,WpdClassInstaller
dvi: No CoInstallers found
dvi: Class installer: Enter 14:30:19.089
dvi: Class installer: Exit
dvi: Default installer: Enter 14:30:19.089
A normal USB mass storage device, e.g. a flash drive, otherwise presents itself in manner that USB BitLocker policy could be applied to because the device is recognized as mass storage:
>>> [Device Install (Hardware initiated) – STORAGE\Volume\_??_USBSTOR#Disk&Ven_SMI&Prod_USB_DISK&Rev_1100#7&2defc6d0&0#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}]
>>> Section start 2013/11/12 14:30:16.765
ump: Creating Install Process: DrvInst.exe 14:30:16.796
ndv: Retrieving device info…
ndv: Setting device parameters…
ndv: Doing WU search last due to CM_DEVCAP_SILENTINSTALL flag.
ndv: Searching Driver Store and Device Path…
dvi: {Build Driver List} 14:30:16.812
dvi: Searching for hardware ID(s):
dvi: storage\volume
…
dvi: DrvDate – 06/21/2006
dvi: Version – 6.1.7601.17567
inf: Searched 1 potential matches in published INF directory
inf: Searched 35 INFs in directory: ‘C:\Windows\inf’
dvi: {Build Driver List – exit(0x00000000)} 14:30:16.937
ndv: Selecting best match from Driver Store (including Device Path)…
dvi: {DIF_SELECTBESTCOMPATDRV} 14:30:16.937
dvi: Using exported function ‘VolumeClassInstaller’ in module ‘C:\WINDOWS\system32\SysClass.dll’.
dvi: Class installer == SysClass.dll,VolumeClassInstaller
dvi: Using exported function ‘CriticalDeviceCoInstaller’ in module ‘C:\WINDOWS\system32\SysClass.Dll’.
dvi: CoInstaller 1 == SysClass.Dll,CriticalDeviceCoInstaller
This information is written each time you connect a USB device to a Windows computer and can be found in C:\Windows\inf\setupapi.dev.log.
The workaround is to apply a Deny Write Access to WPD devices in Computer Configuration\Administrative Templates\System\Removable Storage Access.
Leave a Reply