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

安全基础
网管技术:常见BIOS报错信息及解决方法
分布式拒绝服务(DDOS)攻击及防范研究
四种宽带接入方式及其传输速率
网管必读 解读无线网络的七大安全困惑
经验:识别系统的非法进程及剿杀
全面清除系统垃圾的方法
QQ、网游等账号防盗防骗的实用小经验
上网前保证Windows XP系统安全的办法
七种DDoS攻击技术方法简介
硬盘与内存检测 四种查毒绝招
当网站注册时输入验证码总是不正确解决方法
不让自己的秘密留在别人的电脑中
IE崩溃遭难不求人 快速简单处理方法
损招 让应用程序莫名其妙地失效
不再弹广告 破除隐身僵尸木马的隐身妖术
利用QQ传播 网络欺骗“绑架”奥运会
渗透测试的攻与守 认清网络面临的问题
手动剿杀“上兴远程控制”木马
个人电脑防黑客入侵八准则
关注Windows系统服务中的安全隐患

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-30   浏览: 40 ::
收藏到网摘: 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中即可容易得到。