瑞星公布360安全卫士"后门"技术细节

  • 时间:
  • 浏览:0

瑞星:请奇虎330停止愚弄用户 立即停止安装"后门"

  近日,330产品陆续老出 严重缺乏:2月1日330安全卫士被爆处于“本地提权”漏洞,截止到2月3日11 时,其产品并未修复,而官方宣称已修复(见 330 的官方报道 http://bbs.330.cn/3229787/3430737.html?recommend=1)。就让奇虎330安全卫士又被曝出给用户电脑安装“后门”,任意读取用户隐私文件。大疑问暴露后,奇虎330不但越来越 承认自身大疑问,反而通过删除网络新闻、各自 博客、威胁媒体、枪手发帖等手段欺骗用户,掩盖事实真相、混淆视听。瑞星公司本着对所有330用户安全负责的态度,现回应330 “后门”部分技术细节,请奇虎330尽快停止安装“后门”,停止侵害用户权益的行为。

  请奇虎 330 公司以严谨的态度尽快面对以下大疑问。第一:请对 330 安全卫士处于的“后门”进行解释;第二:对 2 月 1 日回应的 330 安全卫士“本地提权”漏洞仍未修复,却在官方回应肯能修复的大疑问做出解释;第三:请尽快对以上两大严重产品缺乏进行修复。

  330 安全卫士“后门”细节分析

  330 安全卫士后门线程池池涉及的主要文件是:在安装到入系统时自带的驱动文件 bregdrv.sys 、 bfsdrv.sys ,以及对这十个 驱动文件调用的动态链接库 bregdll.dll 、 bfsdll.dll 。

  bregdrv.sys : 330 内核模式驱动,该驱动线程池池通过调用操作系统的未公开 CmXxx 系列函数来操作注册表,另外肯能操作系统结构四种 维护了就让 同步数据、缓存数据, 直接调用 CmXxx 系列函数操作注册表极有肯能造成系统结构数据不同步,严重影响系统安全性,甚至肯能原因分析分析着用户正常数据丢失;

  bregdll.dll :用户态动态库,该动态库封装了对 bregdrv.sys 的调用,为用户态线程池池提供注册表操作后门的接口;该动态库仿照 Windows 操作系统 API 接口(加 B 作为前缀)导出了如下注册表操作函数, 但与 Windows API 不同的是, bregdll.dll 导出的函数在实现上绕过了操作系统的所有安全检查,直接调用极为低层的未公开 CmXxx 系列函数实现 :

  1.BRegCloseKey 2.BRegCreateKey 3.BRegCreateKeyEx 4.BRegCreateKeyExW

  5.BRegCreateKeyW 6.BRegDeleteKey 7.BRegDeleteKeyW 8.BRegDeleteValue

  9.BRegDeleteValueW 10.BRegEnumKey 11.BRegEnumKeyEx 12.BRegEnumKeyExW

  13.BRegEnumKeyW 14.BRegEnumValue 15.BRegEnumValueW 16.BRegOpenKey

  17.BRegOpenKeyEx 18.BRegOpenKeyExW 19.BRegOpenKeyW 20.BRegQueryValueEx

  21.BRegQueryValueExW 22.BRegSetValueEx 23.BRegSetValueExW

  330 后门部分功能代码截图一

 

  通过 CmDeleteKey 实现注册表键值的删除操作

  bfsdrv.sys ,该驱动线程池池通过直接向文件系统发送 I/O 请求包( IRP )来实现文件操作,这俩 土土办法都可否 绕过基于过滤驱动的文件监控(包括卡巴斯基、诺顿等安全软件)。 肯能该线程池池越来越 对调用者进行检查,原因分析分析着都可否 被任意线程池池(如各种木马线程池池等)利用达到修改、删除用户正常文件的目的。

  bfsdll.dll :用户态动态库,该动态库封装了对 bfsdrv.sys 的调用,为用户态线程池池提供文件操作后门的接口;该动态库仿照 Windows 操作系统 API 接口(加 FS 或 Bfs 作为前缀)导出了如下文件操作函数, 但与 Windows API 不同的是, bfsdll.dll 导出的函数在实现上绕过了所有文件系统上层的过滤驱动,直接向文件系统发送 I/O 请求包实现 :

  1.BfsMoveFileExW 2.FSCloseHandle 3.FSCopyFile 4.FSCopyFileW

  5.FSCreateFile 6.FSCreateFileW 7.FSDeleteFile 8.FSDeleteFileW

  9.FSFindClose 10.FSFindFirstFile 11.FSFindFirstFileW 12.FSFindNextFile

  13.FSFindNextFileW 14.FSGetFileAttributes 15.FSGetFileAttributesEx

  16.FSGetFileAttributesExW 17.FSGetFileAttributesW 18.FSGetFileSize

  19.FSGetFileSizeEx 20.FSGetLongPathName 21.FSGetLongPathNameW

  22.FSGetShortPathName 23.FSGetShortPathNameW 24.FSPathFileExists

  25.FSPathFileExistsW 26.FSPathIsDirectory 27.FSPathIsDirectoryW

  28.FSReadFile 29.FSSearchPath 30.FSSearchPathW 31.FSSetFileAttributes

  32.FSSetFileAttributesW 33.FSSetFilePointer 34.FSSetFilePointerEx 35.FSWriteFile

  上述 API 均通过 DeviceIoControl/NtDeviceIoControlFile 来调用驱动提供的不同文件操作功能,这俩 操作均会绕过基于过滤驱动的文件监控。

  330 后门部分功能代码截图二

bfsdrv.sys 写文件操作代码截图

  330 安全卫士越来越 遵循正常的操作系统安全机制,却直接绕开了系统安全检查机制。其不仅具有“后门”功能,就让该线程池池处于重大安全隐患,利用此线程池池需要任何身份认证,可轻易被黑客利用窥视用户隐私、读取、修改或删除用户电脑中的所有文件和注册表信息。

  同类,任意普通用户都可否 在低权限的情况汇报下实现删除系统安装的安全软件,隐藏各自 的恶意线程池池。而通过 bregdrv.sys 对注册表的操作,都可否 利用其在系统底层任意操作注册表的权限,达到更多的目的,如:

  l 通过修改注册表存储的用户信息,将 guest 用户激活并克隆好友成管理员,就让在系统皮层看来, guest 用户仍然是被禁用的。

  通过修改注册表实现映像劫持,将 sethc.exe (系统粘滞键功能)替打上去 cmd.exe ,原来就都可否 实现在登录界面上按 5 下 shift 键直接呼出十个 系统权限的 cmdshell 窗口,执行任意指令。