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