摘 要:本文介紹一種windows XP環(huán)境中,用批處理編程來完成工作站USB接口的禁用和開啟的方法。它的工作原理是通過修改windows注冊表和系統(tǒng)文件來限制系統(tǒng)對USB設(shè)備存儲設(shè)備的使用。
國家廣電總局對廣播電視播出系統(tǒng)要求:“音頻制播網(wǎng)上的工作站的相應(yīng)外設(shè)必須摘除,并必須在BIOS中封閉,對于非網(wǎng)絡(luò)上連接使用的USB、RS232等端口也必須封閉,以防止外來文件可能附帶的病毒,對網(wǎng)絡(luò)上的所有計算機(jī)造成感染?!?/p>
下面介紹一種通過運行批處理文件,修改windows XP下注冊表信息和系統(tǒng)文件,限制USB存儲設(shè)備的使用,對現(xiàn)在常用的USB接口外設(shè),比如鼠標(biāo)、鍵盤等的使用沒有影響的方法。它的編寫環(huán)境要求低,操作方法簡單,可靠性高。
1 USB存儲設(shè)備的禁止功能的實現(xiàn)
1.1 禁止電腦為USB存儲設(shè)備自動分配盤符:修改注冊表,定位到注冊表目錄樹下HKEY_LOCAL_MACHINE\SYSTEM\CurrentCntrolSet\Services\USBSTOR的位置,修改項“Start”的REG_DWORD值為4,實現(xiàn)停止電腦盤符的自動分配功能(默認(rèn)值3即啟動電腦盤符的自動分配功能)。
1.2 禁止電腦為USB存儲設(shè)備安裝驅(qū)動:打開C盤下的系統(tǒng)安裝目錄,進(jìn)入c:Windowsinf,移動usbstor.inf和usbstor.pnf這兩個實現(xiàn)USB存儲設(shè)備驅(qū)動安裝功能的文件到c:Windows,因為后續(xù)可能需要重新打開USB功能,所以只是移動了它們的位置,而沒有刪除它們。
如上過程,既實現(xiàn)了USB存儲設(shè)備的禁止功能,又不影響其他USB外設(shè)使用。
2 USB存儲設(shè)備的開啟
實現(xiàn)USB存儲設(shè)備的開啟功能,實際上是上述各步驟逆向操作過程。
2.1 開啟電腦為USB存儲設(shè)備自動分配盤符:修改注冊表,定位到注冊表目錄樹下HKEY_LOCAL_MACHINE \SYSTEM\CurrentCntrolSet\Services \USBSTOR的位置,修改項“Start”的REG_DWORD值為3,實現(xiàn)開啟電腦盤符的自動分配功能。
2.2 恢復(fù)USB存儲設(shè)備的驅(qū)動安裝功能:打開C盤下的系統(tǒng)安裝目錄,進(jìn)入c:Windowsinf,移動usbstor.inf和usbstor.pnf這兩個文件到c:Windowsinf,恢復(fù)USB存儲設(shè)備驅(qū)動自安裝功能。
3 實現(xiàn)修改注冊表和移動系統(tǒng)文件操作的批處理源程序
這里為方便播出系統(tǒng)管理員的使用,在程序里加入密碼保護(hù)語句進(jìn)行程序運行加密保護(hù),保證該程序只有系統(tǒng)管理員才能使用,如下是完整文件代碼:
@echo off
set /p test=請輸入口令:
Cls
if "%test%"=="123" goto lable_2
::設(shè)置USB存儲設(shè)備開啟的密碼為123
@echo USB關(guān)閉
pause
reg add "HKEY_LOCAL_MACHINE SYSTEMCurrentControlSetServices USBSTOR" /v Start /t reg_dword /d 4 /f
::禁止電腦為USB存儲設(shè)備自動分配盤符
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存儲設(shè)備安裝驅(qū)動
goto exit
:lable_2
@echo USB開啟
pause
reg add "HKEY_LOCAL_MACHINE SYSTEMCurrentControlSetServices USBSTOR" /v Start /t reg_dword /d 3 /f
::禁止電腦為USB存儲設(shè)備自動分配盤符
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存儲設(shè)備安裝驅(qū)動
goto exit
:exit
@echo on
為了方便使用,可以將以上代碼在Windows自帶的記事本中編寫,另存為一個后綴名.BAT的批處理文件,比如USBkey.bat,然后放進(jìn)c:windows目錄下,這樣在使用時只要在“開始”菜單“運行”欄中輸入“USB key”,這個批處理就開始運行。
當(dāng)這個批處理運行時,首先會提示用戶“請輸入口令:”,要求輸入開啟USB存儲設(shè)備管理的密碼,當(dāng)這里輸入的不是字符為“123”的正確密碼時,命令行會提示“USB現(xiàn)在關(guān)閉”,此時USB存儲設(shè)備的使用功能被關(guān)閉,當(dāng)輸入口令是正確密碼“123”時,命令行會提示“USB現(xiàn)在開啟”,并且恢復(fù)USB存儲設(shè)備的使用功能。在第一次運行時,應(yīng)該首先輸入錯誤的密碼,用來實現(xiàn)對USB存儲設(shè)備功能的限制。
這種用批處理管理USB存儲設(shè)備使用的優(yōu)劣勢都很明顯,優(yōu)點在于:批處理程序是自己在本地機(jī)編寫的,使用者完全沒有使用其他不明來源軟件那種安全憂患的困擾,也不存在系統(tǒng)兼容等問題。缺點也很明顯:USB加密的方法和批處理文件的位置要嚴(yán)格保密,因為批處理可以在任何文字處理器中打開,密碼可以很容易被有心人在源文件中找到,所以一旦使用,批處理文件隱蔽工作一定要做好。