usb設(shè)備無(wú)簽名引發(fā)的拒絕訪問(wèn)問(wèn)題
問(wèn)題描述:
平臺(tái):win2ksp4,usb設(shè)備在管理員帳戶下安裝后,不插入設(shè)備,切換到user用戶下,再插入設(shè)備,系統(tǒng)自動(dòng)尋找驅(qū)動(dòng),可最后出現(xiàn)拒絕訪問(wèn)的錯(cuò)誤提示框,已經(jīng)在策略(gpedit.msc)里給user用戶指派了安裝設(shè)備權(quán)限。如果設(shè)備第一次是在管理員帳戶使用下,則切換到user權(quán)限用戶下可以正常使用。
問(wèn)題分析:
經(jīng)過(guò)多方面、多角度反復(fù)分析,結(jié)論如下:
要在user下第一次可使用,必須要有正確的驅(qū)動(dòng)簽名。
理由:
Aladdinetoken在user帳戶下第一次使用,系統(tǒng)自動(dòng)安裝驅(qū)動(dòng),以下鍵KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\Vid_0529&Pid_0600\5&1f8fd7d0&0&1及其很多子鍵得以正確創(chuàng)建,當(dāng)注釋其inf文件中簽名行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
出現(xiàn)與我同樣錯(cuò)誤,拒絕訪問(wèn)。并且管理員賬戶下也可以安裝。
從安裝日志setapi.log文件來(lái)看,以下為安裝日志內(nèi)容:
正在從c:\winnt\inf\oem11.inf安裝區(qū)段DriverInstall.NT。此時(shí)切換到管理員賬戶下也能成功安裝。
為USBToken安裝了一個(gè)未簽署或簽章無(wú)效的驅(qū)動(dòng)程式(c:\winnt\inf\oem11.inf)。錯(cuò)誤0x800b0003:所指定的信任提供者不支援或不認(rèn)得指定給此主題的表單。
正在將檔案C:\a\etoken\aksup.sys複製到C:\WINNT\System32\Drivers\aksup.sys。
為USBToken安裝了一個(gè)未簽署或簽章無(wú)效的驅(qū)動(dòng)程式(C:\a\etoken\aksup.sys)。錯(cuò)誤0x800b0003:所指定的信任提供者不支援或不認(rèn)得指定給此主題的表單。
裝置安裝功能:DIF_REGISTER_COINSTALLERS。
已登錄輔助安裝程式。
裝置安裝功能:DIF_INSTALLINTERFACES。
正在從c:\winnt\inf\oem11.inf安裝區(qū)段DriverInstall.NT.Interfaces。
已安裝介面。
裝置安裝功能:DIF_INSTALLDEVICE。
正在進(jìn)行USB\VID_0529&PID_0600\5&1F8FD7D0&0&1的完整安裝。
正在處理服務(wù)新增/刪除區(qū)段DriverInstall.NT.Services。
錯(cuò)誤5:存取被拒。
裝置安裝完成,含有錯(cuò)誤錯(cuò)誤5:存取被拒。
已經(jīng)完成預(yù)設(shè)安裝程式,錯(cuò)誤:錯(cuò)誤5:存取被拒。
已設(shè)定選取的驅(qū)動(dòng)程式。
正在安裝USB\VID_0529&PID_0600\5&1F8FD7D0&0&1的NULL驅(qū)動(dòng)程式。
裝置安裝完成,含有錯(cuò)誤錯(cuò)誤5:存取被拒。
錯(cuò)誤日志與我的雷同。注意看稍前的日志中提到未簽署或簽章無(wú)效的驅(qū)動(dòng)程式。
另外aladdin的二個(gè)驅(qū)動(dòng)文件都有簽名,并且有二個(gè)inf文件,一個(gè)驅(qū)動(dòng)安裝在USB設(shè)備類下,一個(gè)在smartcardreader設(shè)備類下,而我們的二個(gè)驅(qū)動(dòng)只一個(gè)有簽名,并都安裝在smartcardreader設(shè)備類下。aladdin的分開方式感覺(jué)更好。
至于采用強(qiáng)制操作注冊(cè)表,寫好必要的鍵值方法會(huì)失敗,原因:
其一:user賬戶下很難通過(guò)常規(guī)或非常規(guī)方法提升進(jìn)程權(quán)限為system,至少我還沒(méi)找到。rootkit的手段都無(wú)法湊效。users下不能加載自己的驅(qū)動(dòng)和服務(wù)。
其二:一些注冊(cè)鍵值很難找到規(guī)律。這一串(USB\VID_0529&PID_0600\5&1F8FD7D0&0&1)倒是發(fā)現(xiàn)可以通過(guò)進(jìn)程的參數(shù)得到:
安裝設(shè)備驅(qū)動(dòng)時(shí),系統(tǒng)會(huì)啟動(dòng)rundll32進(jìn)程,參數(shù)如下:
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中即可容易得到。
關(guān)鍵詞:usb設(shè)備無(wú)簽名
閱讀本文后您有什么感想? 已有 人給出評(píng)價(jià)!
- 0
- 0
- 0
- 0
- 0
- 0