摘 要:本文介绍一种windows XP环境中,用批处理编程来完成工作站USB接口的禁用和开启的方法。它的工作原理是通过修改windows注册表和系统文件来限制系统对USB设备存储设备的使用。
国家广电总局对广播电视播出系统要求:“音频制播网上的工作站的相应外设必须摘除,并必须在BIOS中封闭,对于非网络上连接使用的USB、RS232等端口也必须封闭,以防止外来文件可能附带的病毒,对网络上的所有计算机造成感染。”
下面介绍一种通过运行批处理文件,修改windows XP下注册表信息和系统文件,限制USB存储设备的使用,对现在常用的USB接口外设,比如鼠标、键盘等的使用没有影响的方法。它的编写环境要求低,操作方法简单,可靠性高。
1 USB存储设备的禁止功能的实现
1.1 禁止电脑为USB存储设备自动分配盘符:修改注册表,定位到注册表目录树下HKEY_LOCAL_MACHINE\SYSTEM\CurrentCntrolSet\Services\USBSTOR的位置,修改项“Start”的REG_DWORD值为4,实现停止电脑盘符的自动分配功能(默认值3即启动电脑盘符的自动分配功能)。
1.2 禁止电脑为USB存储设备安装驱动:打开C盘下的系统安装目录,进入c:Windowsinf,移动usbstor.inf和usbstor.pnf这两个实现USB存储设备驱动安装功能的文件到c:Windows,因为后续可能需要重新打开USB功能,所以只是移动了它们的位置,而没有删除它们。
如上过程,既实现了USB存储设备的禁止功能,又不影响其他USB外设使用。
2 USB存储设备的开启
实现USB存储设备的开启功能,实际上是上述各步骤逆向操作过程。
2.1 开启电脑为USB存储设备自动分配盘符:修改注册表,定位到注册表目录树下HKEY_LOCAL_MACHINE \SYSTEM\CurrentCntrolSet\Services \USBSTOR的位置,修改项“Start”的REG_DWORD值为3,实现开启电脑盘符的自动分配功能。
2.2 恢复USB存储设备的驱动安装功能:打开C盘下的系统安装目录,进入c:Windowsinf,移动usbstor.inf和usbstor.pnf这两个文件到c:Windowsinf,恢复USB存储设备驱动自安装功能。
3 实现修改注册表和移动系统文件操作的批处理源程序
这里为方便播出系统管理员的使用,在程序里加入密码保护语句进行程序运行加密保护,保证该程序只有系统管理员才能使用,如下是完整文件代码:
@echo off
set /p test=请输入口令:
Cls
if "%test%"=="123" goto lable_2
::设置USB存储设备开启的密码为123
@echo USB关闭
pause
reg add "HKEY_LOCAL_MACHINE SYSTEMCurrentControlSetServices USBSTOR" /v Start /t reg_dword /d 4 /f
::禁止电脑为USB存储设备自动分配盘符
copy %Windir%infusbstor.inf %Windir%usbstor.inf /y >nul
copy %Windir%infusbstor.pnf %Windir%usbstor.pnf /y >nul
del %Windir%infusbstor.pnf /q/f >nul
del %Windir%infusbstor.inf /q/f >nul
::禁止电脑为USB存储设备安装驱动
goto exit
:lable_2
@echo USB开启
pause
reg add "HKEY_LOCAL_MACHINE SYSTEMCurrentControlSetServices USBSTOR" /v Start /t reg_dword /d 3 /f
::禁止电脑为USB存储设备自动分配盘符
copy %Windir%usbstor.inf %Windir% infusbstor.inf /y >nul
copy %Windir%usbstor.pnf %Windir%infusbstor.pnf /y >nul
del %Windir%usbstor.pnf /q/f >nul
del %Windir%usbstor.inf /q/f >nul
::禁止电脑为USB存储设备安装驱动
goto exit
:exit
@echo on
为了方便使用,可以将以上代码在Windows自带的记事本中编写,另存为一个后缀名.BAT的批处理文件,比如USBkey.bat,然后放进c:windows目录下,这样在使用时只要在“开始”菜单“运行”栏中输入“USB key”,这个批处理就开始运行。
当这个批处理运行时,首先会提示用户“请输入口令:”,要求输入开启USB存储设备管理的密码,当这里输入的不是字符为“123”的正确密码时,命令行会提示“USB现在关闭”,此时USB存储设备的使用功能被关闭,当输入口令是正确密码“123”时,命令行会提示“USB现在开启”,并且恢复USB存储设备的使用功能。在第一次运行时,应该首先输入错误的密码,用来实现对USB存储设备功能的限制。
这种用批处理管理USB存储设备使用的优劣势都很明显,优点在于:批处理程序是自己在本地机编写的,使用者完全没有使用其他不明来源软件那种安全忧患的困扰,也不存在系统兼容等问题。缺点也很明显:USB加密的方法和批处理文件的位置要严格保密,因为批处理可以在任何文字处理器中打开,密码可以很容易被有心人在源文件中找到,所以一旦使用,批处理文件隐蔽工作一定要做好。