木马的查杀方法和装置的制造方法_2

文档序号:8512713阅读:来源:国知局
案相关的部分结构的框图,并不构成对本申请方案所应用于其上的服务器的限定,具体的服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0039]图2为一个实施例中木马的查杀方法的流程图。如图2所示,一种木马的查杀方法,以终端角度描述,包括以下步骤:
[0040]步骤202,获取木马查杀指令。
[0041]具体的,用户启动杀毒软件后,进入菜单界面,如图3所示,在菜单界面提供有提供首页体检、病毒查杀、清理垃圾、电脑加速、工具箱等功能入口,获取对病毒查杀功能入口的触发操作,进入病毒查杀功能界面,在病毒查杀功能界面中提供有杀毒按钮入口,显示有距离上次杀毒的时间,如距上次杀毒已有5天等。获取对杀毒按钮入口的触发操作,产生木马查杀指令,即获取木马查杀指令。
[0042]步骤204,根据该木马查杀指令检测磁盘驱动是否被挂钩,若是,则执行步骤206,若否,则执行步骤208。
[0043]因Bootkit木马在系统引导时先于杀毒软件被加载,其Hook 了底层的磁盘驱动,截获所有的硬盘读写请求,将对硬盘第一个物理扇区的读写请求,转移到第二个物理扇区,而第二个物理扇区存放的是该类木马在感染机器时,备份的系统原有的正常MBR(主引导记录)。当读取第一物理扇区的MBR时,被转移读取到第二物理扇区中备份的MBR,读取的内容正常,无法发现中毒环境,为此需要检测磁盘驱动是否被Hook。
[0044]Hook,S卩挂钩,是Windows中提供的一种用以替换DOS下“中断”的系统机制。在对特定的系统事件进行Hook后,一旦发生Hook事件,对该事件进行Hook的程序就会受到系统的通知,该程序就能在第一时间对该事件做出响应。Bootkit木马通过Hook 了磁盘驱动来保护自身,为此需检测磁盘驱动是否被Hook,若被Hook,则需要清除Hook。Bootkit可为 B1S (基本输入输出系统)Rootkit,VBootkit, SMM Rootkit 等。
[0045]步骤206,清除挂钩,然后执行步骤208。
[0046]图4为显示Rootkit病毒检测的界面。如图4所示,在清除Hook后,开始扫描检测,在界面上显示正在杀毒,以及扫描时间、扫描项、扫描统计和状态。扫描时间为统计扫描所用时间。扫描项可包括系统敏感设置(共扫描91项)、启动项检查(共扫描I项)、重启移动启动项(共扫描I项)、账号盗号木马检测(共扫描I项)、系统关键路径(共扫描678项)、恶评插件(共扫描570项)、Rootkit病毒检测(共扫描I项)、系统启动项(共扫描I项)等。扫描统计为统计扫描项数。图4中提供了暂停和取消杀毒控件。
[0047]步骤208,读取磁盘的第一物理扇区的主引导记录。
[0048]主引导记录(MBR)是对IBM兼容机的硬盘或可移动磁盘分区时,在驱动器最前端的一段引导扇区。
[0049]步骤210,判断该第一物理扇区的主引导记录是否符合预设的病毒特征,若是,则执行步骤212,否则结束。
[0050]首先,终端上的杀毒软件从服务器下载预设的病毒特征。该预设的病毒特征用于表征中毒环境。将第一物理扇区的主引导记录与预设的病毒特征进行比较,若第一物理扇区的主引导记录符合预设的病毒特征,则认为已经中毒,需要清理。
[0051]步骤212,判断磁盘的第二物理扇区上的数据是否为正常的主引导记录,若是,则执行步骤214,否则结束。
[0052]具体的,正常的主引导记录是指能引导机器加载系统的。
[0053]步骤214,判断第一物理扇区的分区表是否正常,若是,执行步骤216,否则结束。
[0054]具体的,第一物理扇区的分区表正常是指能加载系统。分区表是将大表的数据分成成为分区的许多小的子集,若硬盘丢失了分区表,数据将无法按顺序读取和写入。分区表信息保存在磁盘的第一物理扇区中的64个字节中,每个分区项占用16个字节,这16个字节中存有活动状态标志、文件系统标识、起止柱面号、磁头号、扇区号、隐含扇区数目、分区总扇区数目等内容。
[0055]步骤216,将第二物理扇区上的主引导记录覆盖第一物理扇区的起始处,重启系统以清除木马,然后结束。
[0056]具体的,将第二物理扇区上的主引导记录,即截取前面448个字节(除分区表外的所有内容),覆盖到磁盘的第一物理扇区的起始处。
[0057]上述木马的查杀方法,检测到磁盘驱动被挂钩后,清除挂钩,然后读取第一物理扇区上的主引导记录,判断该主引导记录符合预设的病毒特征,则判定中毒,然后判断第二物理扇区上的主引导记录正常且分区表正常,则将第二物理扇区上的主引导记录覆盖到第一物理扇区的起始处,然后重启系统清除木马,实现了对Bootkit木马的查杀。
[0058]在一个实施例中,上述木马的查杀方法还包括:在判断出该第一物理扇区的主引导记录符合预设的病毒特征时,在木马扫描界面提供包含病毒描述和处理方式的提示信息,并提供立即处理入口 ;获取立即处理入口的触发指令,根据该触发指令判断磁盘的第二物理上的数据是否为正常的主引导记录。
[0059]图5为木马扫描界面提供扫描结果的示意图;图6为木马清除需重启计算机的提示界面示意图。如图5所示,在木马扫描界面提供了 Rootkit病毒检测,发现驱动级病毒,并对该驱动级病毒进行了描述,以及提供了立即处理入口。病毒描述可为硬盘主引导区内代码异常,通常是病毒木马篡改导致,建议立即处理。风险可为发现硬盘主引导区被修改。获取对立即处理入口的触发指令,杀毒软件根据该触发指令判断磁盘的第二物理上的数据是否为正常的主引导记录,若为正常的主引导记录,再判断第一物理扇区的分区表是否正常,若分区表正常,则将第二物理扇区上的主引导记录覆盖第一物理扇区的起始处。如图6所示,以弹窗形式显示“部分风险项需要重启计算机才能彻底清除,现在重启”,并提供“稍后手动重启”和“立即重启”入口,还显示了扫描文件数量和扫描时间。如扫描文件7315个,扫描时间为00:00:41o
[0060]图7为一个实施例中若检测到磁盘驱动被挂钩,则清除挂钩的具体步骤的流程图。如图7所示,在一个实施例中,若检测到磁盘驱动被挂钩,则清除挂钩的步骤包括:
[0061]步骤702,获取磁盘上的文件。
[0062]具体的,打开磁盘上的一个文件。
[0063]步骤704,通过该文件查找所属的虚拟设备。
[0064]虚拟设备是指硬件设备的驱动等。
[0065]步骤706,获取虚拟设备所属的驱动。
[0066]获取虚拟设备的虚拟设备栈底中的虚拟设备,取得该虚拟设备所属的驱动名。
[0067]步骤708,通过该驱动获取真实的磁盘驱动指针。
[0068]通过驱动名获取真实的磁盘驱动指针。
[0069]步骤710,遍历虚拟设备栈。
[0070]步骤712,检测到虚拟设备栈中的虚拟设备所属的驱动指针与对应的真实的磁盘驱动指针不同,则判定该虚拟设备所属的磁盘驱动被挂钩。
[0071]步骤714,将检测到的虚拟设备所属的假的驱动指针恢复成真实的磁盘驱动指针,清除挂钩。
[0072]通过原子操作指令,将检测到的虚拟设备所属的假的驱动指针恢复成真实的磁盘驱动指针,安全的摘除木马设置的Hook点。
[0073]不同的操作系统磁盘驱动名不同,Bootkit木马对磁盘驱动的Hook点不一样,通过上述方式检测磁盘驱动被挂钩,可以针对不同的操作系统中磁盘驱动被Bootkit木马Hook点的情况进行检测,提高了磁盘驱动被挂钩检测的使用范围。
[0074]图8为另一个实施例中木马的查杀方法的流程图。如图8所示,一种木马的查杀方法,包括:
[0075]步骤802,获取木马查杀指令。
[0076]具体的,用户启动杀毒软件后,进入菜单界面,如图3所示,在菜单界面提供有提供首页体检、病毒查杀、清理垃圾、电脑加速、工具箱等功能入口,获取对病毒查杀功能入口
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1