Anti MBR-Rootkit技术研究-基础电子_第1页
Anti MBR-Rootkit技术研究-基础电子_第2页
Anti MBR-Rootkit技术研究-基础电子_第3页
Anti MBR-Rootkit技术研究-基础电子_第4页
Anti MBR-Rootkit技术研究-基础电子_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精品文档-下载后可编辑AntiMBR-Rootkit技术研究-基础电子摘要:本文主要对磁盘主引导记录MBR和Windows操作系统的启动过程进行了阐述,对Rootkit和MBR-Rootkit技术特点进行了总结,对MBR-Rootkit结构和实例的行为特点进行了深入研究和剖析,针对WinXP操作系统的MBR-Rootkit实例,提出了检测和清除方法。

1.前言

基于Windows启动过程的Rootkit作为目前前沿的Rootkit技术,把存放地由传统的操作系统磁盘文件扩展到了硬盘主引导扇区等位置,同时将自身的启动提前到了Windows系统内核启动相同的级别,甚至还要更早的阶段。这样基于Windows启动过程的Rootkit就能较早的取得对计算机的控制权,从而实现较强的隐藏和控制功能。基于MBR的Rootkit技术是通过感染MBR实现的,这种Rootkit会在操作系统还没运行的时候先获得控制权,这种技术在磁盘中会留下感染痕迹,通常安全软件也是利用这个弱点,首先检测MBR是否被篡改了,如果是则修复这个被篡改的MBR,当修复成功后,下次计算机重启过程中Rootkit失去作用。

2.磁盘主引导记录MBR

MBR(MasterBootRecord),即主引导记录,它是由FDISK等磁盘分区命令写在硬盘0扇区的一段数据,它由主引导程序、硬盘分区表及扇区结束标志字(55AA)这3个部分组成。位于整个硬盘的0柱面0磁道1扇区,共占用63个扇区,但实际只使用1个扇区(512字节)。在总共512字节的主引导记录中,引导代码占用446字节,分区表占用64字节,结束标志55AA占用两个字节。

引导代码的作用是让硬盘具备可以引导的功能,如果引导代码丢失,分区表还在,那么这个硬盘作为从盘所有分区数据都还在,只是这个硬盘自己不能够用来启动进系统。

如果要恢复引导代码,可用DOS下命令:

FDISK/MBR;这个命令只是用来恢复引导代码,不会引起分区改变丢失数据。此外,可用工具软件如DISKGEN、WINHEX等。但分区表如果丢失,后果就是整个硬盘一个分区没有,就好象刚买来一个新硬盘没有分过区一样。是很多病毒喜欢破坏的区域。因为主引导记录MBR多只能描述4个分区项,如果想要在一个硬盘上分多于4个区,就要采用扩展MBR的办法EBR(ExtendedMBR)。MBR、EBR是分区产生的。比如MBR和EBR各都占用63个扇区,C盘占用143532个扇区等,则硬盘分区结构如表1所示:

例主引导记录(部分数据)“800101000BFEBFFC3F0000007E86BB00”,“80”是一个分区的激活标志,表示系统可引导;“010100”表示分区开始的磁头号为01,开始的扇区号为01,开始的柱面号为00;“0B”表示分区的系统类型是FAT32,其他比较常用的有04(FAT16)、07(NTFS);“FEBFFC”表示分区结束的磁头号为254,分区结束的扇区号为63、分区结束的柱面号为764;“3F000000”表示首扇区的相对扇区号为63;“7E86BB00”

表示总扇区数为12289622.

3.Windows操作系统启动过程

Windows操作系统启动过程是一个复杂的过程,可简单的分为预启动、NTLDR引导、内核装载和初始化以及用户登录五个阶段。预启动首先是通电自检,由BIOS(即基本输入输出系统)完成基本硬件配置,然后读取MBR(主引导记录)检查硬盘分区表以确定引导分区,并将引导分区上的操作系统引导扇区调入内存中执行,此处即执行NTLDR(操作系统加载器)文件。Windows2000/XP支持多重启动,在安装时会首先将已存在的其它操作系统引导扇区保存为BOOTSECT.

DOS文件,并修改系统引导扇区,以便系统启动时加载NTLDR文件,从而达到多重启动的目的。NTLDR引导过程中NTLDR把CPU从实模式转换为32位保护模式,并读取BOOT.INI文件,它的作用是使系统在启动过程中出现选择菜单,由用户选择要启动system.如果选择Windows2000/XP,NTLDR会继续引导进行以下过程;如果选择为非Windows2000/XP,NTLDR则会读取BOTSECT.DOS转入启动相应系统。内核装载和初始化由OSloader模块装载位于System32文件夹中Windows2000/XP的内核NTOSKRNL.EXE.随后,HAL(硬件抽象层)被加载,启动会话管理器Smss.exe创建系统环境变量和虚拟内存页面文件。启动过程的一个阶段是开始登录进程。由WIN32子系统启动Winlogon.exe,并由它启动LSASS.EXE(LOCALSECURITYAUTHORITY)显示登录对话框。

4.MBR-Rootkit技术

4.1Rootkit技术

Rootkit的定义是能够持久地、可靠地、并且无法检测地存在于计算机系统上的一组程序和代码,其强大的无法检测的隐藏特性,己成为研究热点,并且发展迅速。

Rootkit源于UNIX系统中的超级用户账号,UNIX系统是Rootkit工具初的攻击目标。

现在,Rootkit可用于多种操作系统,包括UNIX、Linux和Windows.Rootkit常常被恶意代码作者用于隐藏他们的代码而不被发现,它通过监听系统功能,用合法的数值代替返回的数据,从而达到隐藏目的。

4.2MBR-Rootkit技术

MBR-Rootkit技术通过感染MBR的方式把Rootkit的代码放在原来MBR的位置,然后在MBR加载到内存的时候获得控制权,然后采用运行时补丁技术修改windows启动过程的NTLDR和NDIS文件,通过逻辑修改函数的执行,把原函数的执行转向Rootkit自己的代码中,实现对该函数的劫持修改,在操作系统的启动过程中得以顺利加载并运行。

成功绕过Windows操作系统安全防御,在NDIS驱动中留下后门。由于WinXP系统的限制,一般手法改写MBR会被系统判定为非法,这种绕过Winxp的安全限制,直接改写MBR的技术一般称之为MBR-Rootkit.

MBR-Rootkit的技术特点有:

1)在操作系统启动之前完全控制机器引导过程中代码的执行;

2)Rootkit不需要文件,代码能存在于磁盘的某些扇区中,不会被当作普通文件删除;

3)Rootkit不需要注册表入口,因为它是由MBR加载的;

4)Rootkit只要控制很少的一些扇区就能隐藏自己。

典型MBR-Rootkit包括:安装程序、MBR加载程序、内核修改程序、驱动加载程序、扇区隐藏/保护程序和内核驱动程序。

安装程序:rootkit的安装程序把恶意内核驱动程序(244736字节)的内容写到磁盘的几个扇区(offset:2142830592),然后修改扇区0,扇区60,扇区61和扇区62.所隐藏扇区的内容:0扇区,MBRrootkit加载程序;61扇区,加载程序的内核部分;62扇区,原始MBR的副本。

MBR加载程序:Rootkit重写原始MBR代码,并把原始MBR的副本保存在62扇区。

Rootkit的作者大多数使用eEye研究者开发的MBR加载程序,只不过修改了源代码使Rootkit用来修改windows内核,而不是NDIS驱动程序。

内核修改程序:MBRrootkit加载程序勾住了13号中断用来控制NTLDR所加载的扇区。它修改了内核的两处区域:个是NT!IoInitSystem函数调用,第二个是内核映像的一页。在开始的时候Rootkit调用原始nt!IoInitSystem函数并且加载它自己的驱动程序。

内核驱动加载程序:Rootkit加载程序的主要部分打开“\??\PhysicalDrive0”设备,把恶意驱动程序的内容从磁盘里读取出来,Rootkit用它自己的代码把映像加载到内存里,加载程序转到入口点执行。

扇区隐藏/保护程序:为了隐藏MBR和其他扇区的真实内容,RootkitHook“\Driver\Disk”的IRP_MJ_READ请求。通常情况下,当API读取0扇区(也就是MBR)时,Rootkit修改磁盘IRP_MJ_READ调用并返回62扇区的原始MBR副本。第二个钩子(IRP_MJ_WRITE)保护自身不被删除或覆盖。

内核驱动程序:Rootkit的内核驱动程序在引导过程的一步被加载。驱动程序是rootkit的主要部分,主要负责网络通讯和隐藏被感染扇区的真实内容。

4.3MBR-Rootkit实例“鬼影病毒”

2022年3月15日,金山安全实验室捕获一种被命名为“鬼影”的电脑病毒,该病毒寄生在MBR,病毒释放的驱动程序,能够破坏大多数安全工具和系统辅助工具。当系统再次重启时,该病毒会早于操作系统内核先行加载。而当病毒成功运行后,在进程中、系统启动加载项里找不到任何异常。即使格式化重装系统,也无法将该病毒清除。2022年9月2日,捕获鬼影病毒变种,该变种会改写特定型号的主板BIOS芯片。若改写成功,鬼影病毒破坏的MBR(硬盘主引导记录)就被保护,杀毒软件修复受损MBR的操作会失败。该病毒只针对WinXP系统,尚不能破坏Vista和Win7系统。

鬼影病毒的主要代码是寄生在硬盘MBR,即使受害者格式化硬盘重装系统,鬼影病毒也无法清除。鬼影病毒是中国内地引导区者病毒,它具备“三无”特征--无文件、无系统启动项、无进程模块,而且即使用户重格式硬盘和重装系统也依然无效。

病毒作者将存放在磁盘第5扇区的病毒的主要代码插入NTLDR文件中,这样就解决了自身代码在WINDOWS下的加载问题,这一思路也为真正的BIOS病毒提供了一个非常好的实现方法。

鬼影病毒具体行为有以下几点:

1)该病毒伪装为某共享软件,欺骗用户安装。病毒文件中包含3部分文件:A、原正常的共享软件。B、“鬼影”病毒,修改系统引导区(mbr),结束杀软,AV终结者病毒。C、捆绑IE篡改器,修改用户浏览器,桌面添加多余的快捷方式。

2)“鬼影”病毒运行后,会释放2个驱动到用户电脑中,并加载。

3)驱动会修改系统的引导区(mbr),并将b驱动写入磁盘,保证病毒是优先于系统启动,且病毒文件保存在系统之外。这样进入系统后,病毒加载入内存,但找不到任何启动项、找不到病毒文件、在进程中找不到任何进程模块。

4)病毒母体自删除。

5)重启系统后,存在在引导区中的恶意代码会对windows系统的整个启动过程进行监控,发现系统加载ntldr文件时,插入恶意代码,使其加载写入引导区第五个扇区的b驱动。

6)b驱动加载起来后,会监视系统中的所有进程模块,若存在安全软件的进程,直接结束。

7)b驱动会av终结者到电脑中,并运行。

8)av终结者会修改系统文件,对安全软件进程添加大量的映像劫持,大量的盗号木马病毒。进一步盗取用户的虚拟财产。

4.4MBR-Rootkit检测

基于MBR的Rootkit技术是通过感染MBR实现的,这种Bootkit会在操作系统还没运行的时候先获得控制权,但这种技术的弱点则是在磁盘中留下了感染的痕迹,通常安全软件也是利用了这个弱点,首先去检测MBR是否被篡改,如果是则会修复这个被篡改的MBR,当修复成功以后,在下次计算机重启的过程中MBR-Rootkit就失去作用。

检测的方法基于MBR扇区的比较。用户模式用WindowsAPI函数读取一份假的MBR内容:

hFile=CreateFile(“\\PHYSICALDRIVE0″,GENERIC_READ,.

ReadFile(hFile,Buffer,512,

扫描程序的内核部分可以用”\Driver\Disk“设备的原始指针MajorFunction[IRP_MJ_READ]=CLASSPNP!

ClassReadWrite读取真实MBR的内容。

如果两份MBR的内容不一样,机器就是被感染了。

4.5鬼影病毒清除

1)使用各大电脑安全厂商推出的相应的鬼影病毒专杀工具;

2)MBR有做过备份的,直接还原MBR备份即可;

3)MBR没做过备份的,用XP系统安装盘进入故障恢复控制台,在命令提示符下输入Fixmbr,然后系统提示是否更新MBR主引导记录,选择是,并且再输入Fixboot,修复boot区引导即可;

4)DOS引导盘启动

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论