BMW病毒是360安全中心最新捕获的一款高危病毒,该病毒能够连环感染BIOS(主板芯片程序)、MBR(硬盘主引导区)和Windows系统文件,使受害电脑无论重装系统、格式化硬盘,还是换掉硬盘都无法彻底清除病毒。
病毒传播途径
捆绑游戏外挂,欺骗用户关闭安全软件后实施攻击。
病毒中招现象
一、Windows系统启动前,电脑屏幕显示"Find it OK!"字样;
二、杀毒软件反复提示“硬盘引导区病毒”却无法彻底清除;
三、浏览器主页被篡改为http://10554.new93.com/index.htm
病毒防治方案
用户电脑在正常开启360安全卫士的情况下,能够防御BMW病毒,使其无法感染主板BIOS芯片和硬盘MBR;
如果有网民电脑因关闭安全软件而被BMW病毒感染,可下载使用360“BMW病毒专杀工具”,能够检测病毒并阻止BIOS病毒代码回写MBR,再配合360系统急救箱进行修复,可有效防范此类病毒反复发作。下载地址:http://bbs.360.cn/4005462/251088932.html
以下为BMW病毒的技术分析
BMW病毒主体分为BIOS、MBR和Windows三个部分,攻击流程如下图:
一、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.exe,Win7/Vista系统为Wininit.exe)
如果Windows系统文件已被感染,则在屏幕上显示"Find it OK!",然后调入原始MBR,跳到原始MBR处执行;如果Windows系统文件没有被感染,则进行PE感染写扇区,之后在屏幕上显示"Find it OK!",然后调入原始MBR,跳到原始MBR处执行。
三、BMW病毒Windows部分(Winlogon和Wininit文件执行感染)
以Winlogon.exe为例进行说明:
由于病毒修改了该文件入口点,当文件执行时首先执行加密过的病毒代码,运行时动态解码。
病毒代码解密后加载指定文件,创建病毒调用CreateThread创建线程,同时跳回原始入口点执行。
在病毒线程里先Sleep10秒,然后调用URLDownloadToFileA从黑客服务器下载一个Downloader到本地,验证文件下载成功后,调用WinExec执行,从而下载运行多种恶意程序;该病毒还会下载驱动,命名为c:my.sys,由之前的病毒代码通过一系列服务函数来创建加载驱动,完成后该病毒线程进入无限Sleep状态。