当前位置: 首页 > 图文教程 > 网络安全 > 安全基础 > 故障实例:USB设备无正确驱动签名

安全基础
可以用于交换环境下SNIFFER的几种攻击技术手段
嗅探的时候,防火墙能发现吗?
wincap and sniffer(1)
wincap and sniffer(2)
客户端登录到Win 2000域
网络故障问答集萃
软件开发项目控制浅谈(1)
软件开发项目控制浅谈(2)
软件开发项目控制浅谈(3)
软件开发项目控制浅谈(4)
用Telnet快速收发电子邮件(1)
用Telnet快速收发电子邮件(2)
Windows XP系统启动提速专题
让Google长个好“记性”
恢复EXE文件关联补完版
真真假假的安全警告
网络安全应急三观
全力打造个人网络安全
系统自动启动程序之十大藏身之所
访问权限问题问答集锦

安全基础 中的 故障实例:USB设备无正确驱动签名


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-30   浏览: 113 ::
收藏到网摘: n/a

  问题描述:  

  平台:win2ksp4,usb设备在管理员帐户下安装后,不插入设备,切换到user用户下,再插入设备,系统自动寻找驱动,可最后出现拒绝访问的错误提示框,已经在策略(gpedit.msc)里给user用户指派了安装设备权限。如果设备第一次是在管理员帐户使用下,则切换到user权限用户下可以正常使用。  

  问题分析:  

 经过多方面、多角度反复分析,结论如下:  

  要在user下第一次可使用,必须要有正确的驱动签名。  

  理由:  

  Aladdinetoken在user帐户下第一次使用,系统自动安装驱动,以下键KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\Vid_0529&Pid_0600\5&1f8fd7d0&0&1及其很多子键得以正确创建,当注释其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  

  出现与我同样错误,拒绝访问。并且管理员账户下也可以安装。  

  从安装日志setapi.log文件来看,以下为安装日志内容:  

  正在從c:\winnt\inf\oem11.inf安裝區段DriverInstall.NT。此时切换到管理员账户下也能成功安装。  

  為USBToken安裝了一個未簽署或簽章無效的驅動程式(c:\winnt\inf\oem11.inf)。錯誤0x800b0003:所指定的信任提供者不支援或不認得指定給此主題的表單。  

  正在將檔案C:\a\etoken\aksup.sys複製到C:\WINNT\System32\Drivers\aksup.sys。  

  為USBToken安裝了一個未簽署或簽章無效的驅動程式(C:\a\etoken\aksup.sys)。錯誤0x800b0003:所指定的信任提供者不支援或不認得指定給此主題的表單。  

  裝置安裝功能:DIF_REGISTER_COINSTALLERS。  

  已登錄輔助安裝程式。
 
  裝置安裝功能:DIF_INSTALLINTERFACES。  

  正在從c:\winnt\inf\oem11.inf安裝區段DriverInstall.NT.Interfaces。  

  已安裝介面。  

  裝置安裝功能:DIF_INSTALLDEVICE。  

  正在進行USB\VID_0529&PID_0600\5&1F8FD7D0&0&1的完整安裝。  

  正在處理服務新增/刪除區段DriverInstall.NT.Services。
  
  錯誤5:存取被拒。
  
  裝置安裝完成,含有錯誤錯誤5:存取被拒。  

  已經完成預設安裝程式,錯誤:錯誤5:存取被拒。  

  已設定選取的驅動程式。  

  正在安裝USB\VID_0529&PID_0600\5&1F8FD7D0&0&1的NULL驅動程式。  

  裝置安裝完成,含有錯誤錯誤5:存取被拒。  

  错误日志与我的雷同。注意看稍前的日志中提到未簽署或簽章無效的驅動程式。  

  另外aladdin的二个驱动文件都有签名,并且有二个inf文件,一个驱动安装在USB设备类下,一个在smartcardreader设备类下,而我们的二个驱动只一个有签名,并都安装在smartcardreader设备类下。aladdin的分开方式感觉更好。  

  至于采用强制操作注册表,写好必要的键值方法会失败,原因:  

  其一:user账户下很难通过常规或非常规方法提升进程权限为system,至少我还没找到。rootkit的手段都无法凑效。users下不能加载自己的驱动和服务。  

  其二:一些注册键值很难找到规律。这一串(USB\VID_0529&PID_0600\5&1F8FD7D0&0&1)倒是发现可以通过进程的参数得到:

  安装设备驱动时,系统会启动rundll32进程,参数如下:

  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中即可容易得到。