usb設(shè)備無簽名引發的(de)拒(jù)絕訪問問題
問題描述:
平台:win2ksp4,usb設備在管理員(yuán)帳戶下(xià)安裝後,不插入設備,切換到user用戶下,再插入設備,係統(tǒng)自動(dòng)尋找驅動,可最(zuì)後出現拒絕訪(fǎng)問(wèn)的錯誤提(tí)示框,已經(jīng)在策(cè)略(gpedit.msc)裏給user用戶指派了安裝設備權限。如果(guǒ)設(shè)備第一次是在管理員帳戶使(shǐ)用下,則切換到(dào)user權限(xiàn)用戶(hù)下可以(yǐ)正常使用。
問(wèn)題分析:
經過多方(fāng)麵(miàn)、多角度(dù)反複(fù)分(fèn)析(xī),結論如(rú)下:
要在user下第一次可使(shǐ)用,必須要有(yǒu)正確的驅(qū)動簽名。
理由:
Aladdinetoken在user帳戶下第一次使(shǐ)用,係統自動安裝驅動(dòng),以下(xià)鍵KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\Vid_0529&Pid_0600\5&1f8fd7d0&0&1及其很多子鍵得以正確創建(jiàn),當注(zhù)釋其(qí)inf文件(jiàn)中簽名(míng)行CatalogFile
[Version]
Signature=$CHICAGO$
Class=USB
ClassGuid={36FC9E60-C465-11CF-8056-444553540000}
DriverVer=01/04/2006,3.65.24.0
Provider=%MFGNAME%
;CatalogFile=aksup.cat
出(chū)現與(yǔ)我同樣錯誤,拒絕訪問。並且(qiě)管理員賬(zhàng)戶(hù)下也可以安(ān)裝。
從安裝日誌setapi.log文件來(lái)看,以下為安(ān)裝(zhuāng)日誌(zhì)內容:
正在從c:\winnt\inf\oem11.inf安裝區段(duàn)DriverInstall.NT。此(cǐ)時切換到管理員賬戶下(xià)也(yě)能成(chéng)功安裝。
為USBToken安裝了一個未簽署或簽章無效(xiào)的驅動程(chéng)式(c:\winnt\inf\oem11.inf)。錯誤(wù)0x800b0003:所指(zhǐ)定的信任提供者不支援或不(bú)認得指定給此主題的表單。
正在將(jiāng)檔(dàng)案C:\a\etoken\aksup.sys複(fú)製到C:\WINNT\System32\Drivers\aksup.sys。
為USBToken安(ān)裝了(le)一個(gè)未簽署或簽章無效的驅動程式(C:\a\etoken\aksup.sys)。錯(cuò)誤0x800b0003:所指(zhǐ)定的信(xìn)任提供者不(bú)支援或不(bú)認得指定給此主題的(de)表單。
裝置(zhì)安裝功能:DIF_REGISTER_COINSTALLERS。
已登錄輔助安裝(zhuāng)程式。
裝置安裝功能:DIF_INSTALLINTERFACES。
正在從c:\winnt\inf\oem11.inf安(ān)裝區段DriverInstall.NT.Interfaces。
已(yǐ)安(ān)裝介(jiè)麵。
裝置安裝功能:DIF_INSTALLDEVICE。
正在進行USB\VID_0529&PID_0600\5&1F8FD7D0&0&1的(de)完整安裝。
正在處理(lǐ)服務(wù)新增/刪除(chú)區段DriverInstall.NT.Services。
錯誤5:存取被拒。
裝置(zhì)安裝完(wán)成,含有錯誤錯誤5:存取被拒(jù)。
已經完成預設安裝程式(shì),錯(cuò)誤:錯誤5:存(cún)取(qǔ)被拒。
已設定選取的驅動程式。
正在安裝USB\VID_0529&PID_0600\5&1F8FD7D0&0&1的NULL驅動程式。
裝(zhuāng)置(zhì)安裝完成(chéng),含有錯誤(wù)錯誤5:存取(qǔ)被拒(jù)。
錯誤日誌與我的雷(léi)同。注意看稍前(qián)的日誌中提到未簽署或(huò)簽章無效的驅(qū)動程式。
另外aladdin的二個(gè)驅動文件都有簽(qiān)名,並且有二個inf文件,一個驅動安(ān)裝在USB設備類下(xià),一個在(zài)smartcardreader設備類下,而我們的二(èr)個(gè)驅動隻一個有(yǒu)簽名,並都安裝在smartcardreader設(shè)備類(lèi)下。aladdin的分開方式(shì)感覺(jiào)更好。
至於(yú)采(cǎi)用強製操(cāo)作注冊表,寫好必要的(de)鍵值方法會失敗,原因:
其一:user賬戶下很難通過(guò)常規或非常規方法提升進程權限為system,至(zhì)少我(wǒ)還沒找到(dào)。rootkit的手段都無(wú)法湊效。users下不(bú)能加載自己的驅動和服務。
其二:一(yī)些注冊鍵值很難找到(dào)規律。這(zhè)一串(USB\VID_0529&PID_0600\5&1F8FD7D0&0&1)倒是發現可以通過進(jìn)程的參數得到:
安裝設備驅動時,係統會啟動rundll32進程,參數如(rú)下(xià):
C:\WINNT\system32\rundll32.exenewdev.dll,DevInstallUSB\Vid_096e&Pid_0401\5&1f8fd7d0&0&1USB\VID_0529&PID_0600\5&1F8FD7D0&0&1,co-install中即可容(róng)易得到。
關鍵詞:usb設備無(wú)簽(qiān)名
閱讀本文後您有什麽感想(xiǎng)? 已有 人給出評價!
- 0
- 0
- 0
- 0
- 0
- 0