360发布“BMW病毒”技术分析报告
来源:中国电子政务网 更新时间:2011-09-02

BMW病毒是360安全中心最新捕获的一款高危病毒,该病毒能够连环感染BIOS(主板芯片程序)、MBR(硬盘主引导区)和Windows系统文件,使受害电脑无论重装系统、格式化硬盘,还是换掉硬盘都无法彻底清除病毒。

病毒传播途径

捆绑游戏外挂,欺骗用户关闭安全软件后实施攻击。

病毒中招现象

一、Windows系统启动前,电脑屏幕显示"Find it OK!"字样;

二、杀毒软件反复提示“硬盘引导区病毒”却无法彻底清除;

三、浏览器主页被篡改为http://10554.new93.com/index.htm

病毒防治方案

用户电脑在正常开启360安全卫士的情况下,能够防御BMW病毒,使其无法感染主板BIOS芯片和硬盘MBR

如果有网民电脑因关闭安全软件而被BMW病毒感染,可下载使用360BMW病毒专杀工具”,能够检测病毒并阻止BIOS病毒代码回写MBR,再配合360系统急救箱进行修复,可有效防范此类病毒反复发作。下载地址:http://bbs.360.cn/4005462/251088932.html

以下为BMW病毒的技术分析

BMW病毒主体分为BIOSMBRWindows三个部分,攻击流程如下图:

一、BMW病毒BIOS部分

增加了ISA模块BIOS部分,名为HOOK.ROM,作用主要是检测MBR部分是否被恢复。如果发现MBR部分已被修复,就将BIOS内的病毒代码约 14个扇区写入MBR中,导致用户反复格式化、高格低格,或重新分区都无效。

二、BMW病毒MBR部分

MBR部分病毒代码执行后,会从第2个扇区开始读6个扇区的病毒代码到0X7C00处,然后跳至该处执行,然后读取第7个扇区中的备份 MBR到内存中,验证扇区的有效性;

通过验证后,读取分区表中的引导扇区所在的扇区到 0X7C00处,验证引导分区的有效性;

通过验证后,判断引导分区的类型,目前该病毒支持NTFS FAT32,根据不同的分区类型进行不同的处理,再经过解析文件系统找到文件所在扇区,找到相应的Windows系统文件读取PE信息判断其是否被感染过。(XP/2003系统为Winlogon.exeWin7/Vista系统为Wininit.exe

如果Windows系统文件已被感染,则在屏幕上显示"Find it OK!",然后调入原始MBR,跳到原始MBR处执行;如果Windows系统文件没有被感染,则进行PE感染写扇区,之后在屏幕上显示"Find it OK!",然后调入原始MBR,跳到原始MBR处执行。

三、BMW病毒Windows部分(WinlogonWininit文件执行感染)

Winlogon.exe为例进行说明:

由于病毒修改了该文件入口点,当文件执行时首先执行加密过的病毒代码,运行时动态解码。

病毒代码解密后加载指定文件,创建病毒调用CreateThread创建线程,同时跳回原始入口点执行。

在病毒线程里先Sleep10秒,然后调用URLDownloadToFileA从黑客服务器下载一个Downloader到本地,验证文件下载成功后,调用WinExec执行,从而下载运行多种恶意程序;该病毒还会下载驱动,命名为c:\my.sys,由之前的病毒代码通过一系列服务函数来创建加载驱动,完成后该病毒线程进入无限Sleep状态。