当前位置:K88软件开发文章中心编程资讯编程资讯01 → 文章内容

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

减小字体 增大字体 作者:佚名  来源:翔宇亭IT乐园  发布时间:2019-1-3 2:50:31

:2010-02-03 14:37:00

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

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

  请奇虎 360 公司以严谨的态度尽快面对以下问题。第一:请对 360 安全卫士存在的“后门”进行解释;第二:对 2 月 1 日公布的 360 安全卫士“本地提权”漏洞仍未修复,却在官方宣布已经修复的问题做出解释;第三:请尽快对以上两大严重产品缺陷进行修复。

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

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

  bregdrv.sys : 360 内核模式驱动,该驱动程序通过调用操作系统的未公开 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

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

 

  通过 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 来调用驱动提供的不同文件操作功能,这些操作均会绕过基于过滤驱动的文件监控。

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

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

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

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

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

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


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