摘 要:本文介紹一種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加密的方法和批處理文件的位置要嚴格保密,因為批處理可以在任何文字處理器中打開,密碼可以很容易被有心人在源文件中找到,所以一旦使用,批處理文件隱蔽工作一定要做好。