CN104834861B - 木马的查杀方法和装置 - Google Patents
木马的查杀方法和装置 Download PDFInfo
- Publication number
- CN104834861B CN104834861B CN201510240003.7A CN201510240003A CN104834861B CN 104834861 B CN104834861 B CN 104834861B CN 201510240003 A CN201510240003 A CN 201510240003A CN 104834861 B CN104834861 B CN 104834861B
- Authority
- CN
- China
- Prior art keywords
- physical sector
- boot record
- master boot
- wooden horse
- disk
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/564—Static detection by virus signature recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
Abstract
本发明涉及一种木马的查杀方法和装置。所述方法包括以下步骤:获取木马查杀指令;根据所述木马查杀指令检测磁盘驱动是否被挂钩;若检测到磁盘驱动被挂钩,则清除挂钩;读取磁盘的第一物理扇区的主引导记录;判断所述第一物理扇区的主引导记录是否符合预设的病毒特征,若是,则判断磁盘的第二物理扇区上的数据是否为正常的主引导记录,若是,则判断第一物理扇区的分区表是否正常,若是,将所述第二物理扇区上的主引导记录覆盖第一物理扇区的起始处,重启系统以清除木马;否则结束。上述木马的查杀方法和装置,检测到磁盘驱动被挂钩后,清除挂钩,实现了对Bootkit木马的查杀。
Description
技术领域
本发明涉及计算机安全领域,特别是涉及一种木马的查杀方法和装置。
背景技术
木马是一种计算机病毒,即计算机恶意程序,能危害计算机安全。木马种类很多,其中,“暗云”是一个迄今为止最复杂的木马之一,感染了数以百万的计算机,暗云木马能长期地潜伏在用户的计算机系统中,暗云木马使用了Bootkit技术,直接感染磁盘的引导区,感染后即使重装系统格式化硬盘也无法清除该木马。Bootkit是更高级的Rootkit,该概念最早于2005年被eEye Digtal公司在他们的BootRoot项目中提及,该项目通过感染MBR(Master Boot Record,磁盘主引记录)的方式,实现绕过内核检查和启动隐身。暗云木马具有以下特点:
第一,隐蔽性非常高,通过Hook磁盘驱动实现对已感染的MBR进行保护,防止被杀毒软件检测和清除,并且使用对象劫持技术躲避安全人员的手工检测,隐蔽性极高,传统的杀毒软件都无法检测和查杀该木马。
第二,木马以轻量级的身躯隐藏于磁盘最前端的30个扇区中,这些常驻与系统中代码并没有传统木马的功能,这些代码的功能仅仅是到执行的服务器(云端)下载其他功能代码到内存中直接执行,这些功能模块每次开机由隐藏的模块从云端下载。因此该木马体积小巧,且云端控制性强。
第三,Ring 3与Ring 0的通信方式。微软正统的通信方式是Ring 0代码创建驱动设备,Ring 3代码通过打开Ring 0创建的设备实现相互之间的通信。常见的木马使用的通信方式是在Ring 0对指定的API函数进行Hook,而暗云木马是通过注册回调的方式来实现。
第四,操作系统全量兼容。一份BootKit同时兼容x86、x64两种版本的操作系统,且能够兼容xp、win7等目前主流的操作系统版本,因此影响范围十分广泛。
第五,有效对抗杀软。由于该木马的主体在内核中运行,且启动时间比传统的杀毒软件都早,因此大部分的杀毒软件无法拦截和检测该木马的恶意行为。该木马能够在内核中直接结束部分杀毒软件进程,同时可以向任意杀毒软件进程插入APC(Asynchronousprocedure call,异步调用程序)执行。插入的APC代码不稳定,且会关闭杀毒软件的设备句柄,会导致杀毒软件崩溃或退出,大大减少了被检测的机率。
传统的木马查杀是在用户主动触发杀毒软件进行扫描时,检查MBR是否是正常系统的引导记录来发现风险和处理,然而,对于已经Hook了磁盘驱动来保护自身的Bootkit木马,在检查MBR时,会被木马监控到,并欺骗,读取到的MBR是木马伪造的完全正常的内容,因此无法检查出木马。
发明内容
基于此,有必要针对传统的杀毒软件无法检查出Bootkit木马的问题,提供一种木马查杀方法,能检测出Bootkit木马,并查杀。
一种木马的查杀方法,包括以下步骤:
获取木马查杀指令;
根据所述木马查杀指令检测磁盘驱动是否被挂钩;
若检测到磁盘驱动被挂钩,则清除挂钩;
读取磁盘的第一物理扇区的主引导记录;
判断所述第一物理扇区的主引导记录是否符合预设的病毒特征,若是,则判断磁盘的第二物理扇区上的数据是否为正常的主引导记录,若是,则判断第一物理扇区的分区表是否正常,若是,将所述第二物理扇区上的主引导记录覆盖第一物理扇区的起始处,重启系统以清除木马;否则结束。
一种木马的查杀装置,包括:
指令获取模块,用于获取木马查杀指令;
挂钩检测模块,用于根据所述木马查杀指令检测磁盘驱动是否被挂钩;
清除模块,用于若检测到磁盘驱动被挂钩,则清除挂钩;
读取模块,用于读取磁盘的第一物理扇区的主引导记录;
判断模块,用于判断所述第一物理扇区的主引导记录是否符合预设的病毒特征,若是,则进一步判断磁盘的第二物理扇区上的数据是否为正常的主引导记录,若是,则再判断第一物理扇区的分区表是否正常;
拷贝模块,用于当判断出所述第一物理扇区的主引导记录符合预设的病毒特征、磁盘的第二物理扇区上的数据为正常的主引导记录且第一物理扇区的分区表正常时,将所述第二物理扇区上的主引导记录覆盖第一物理扇区的起始处;
重启模块,用于重启系统以清除木马。
上述木马的查杀方法和装置,检测到磁盘驱动被挂钩后,清除挂钩,然后读取第一物理扇区上的主引导记录,判断该主引导记录符合预设的病毒特征,则判定中毒,然后判断第二物理扇区上的主引导记录正常且分区表正常,则将第二物理扇区上的主引导记录覆盖到第一物理扇区的起始处,然后重启系统清除木马,实现了对Bootkit木马的查杀。
附图说明
图1A中的终端的内部结构框图;
图1B为一个实施例中服务器的内部结构框图;
图2为一个实施例中木马的查杀方法的流程图;
图3为杀毒软件菜单界面示意图;
图4为显示Rootkit病毒检测的界面;
图5为木马扫描界面提供扫描结果的示意图;
图6为木马清除需重启计算机的提示界面示意图;
图7为一个实施例中若检测到磁盘驱动被挂钩,清除挂钩的具体步骤的流程图;
图8为另一个实施例中木马的查杀方法的流程图;
图9为一个实施例中木马的查杀装置的结构框图;
图10为另一个实施例中木马的查杀装置的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1A中的终端的内部结构框图。如图1A所示,该终端包括通过系统总线连接的处理器、存储介质、内存、网络接口、显示屏和输入装置。其中,终端的存储介质存储有操作系统,还包括一种木马的查杀装置,该木马的查杀装置用于实现一种木马的查杀方法。该处理器用于提供计算和控制能力,支撑整个终端的运行。终端中的内存为存储介质中的木马的查杀装置的运行提供环境,网络接口用于与服务器进行网络通信,如发送病毒数据更新请求至服务器,接收服务器返回的病毒数据等。终端的显示屏可以是液晶显示屏或者电子墨水显示屏等,输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,也可以是外接的键盘、触控板或鼠标等。该终端可以是手机、平板电脑、台式计算机、笔记本电脑或者个人数字助理等。本领域技术人员可以理解,图1A中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的终端的限定,具体的终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
图1B为一个实施例中服务器的内部结构框图。如图1B所示,该服务器包括通过系统总线连接的处理器、存储介质、内存和网络接口。其中,该服务器的存储介质存储有操作系统、数据库和木马的查杀装置,数据库中存储有计算机病毒数据,该木马的查杀装置用于实现适用于服务器的一种木马的查杀方法。该服务器的处理器用于提供计算和控制能力,支撑整个服务器的运行。该服务器的内存为存储介质中的木马的查杀装置的运行提供环境。该服务器的网络接口用于据以与外部的终端通过网络连接通信,比如接收终端发送的病毒更新请求以及向终端返回新的病毒数据等。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。本领域技术人员可以理解,图1B中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的服务器的限定,具体的服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
图2为一个实施例中木马的查杀方法的流程图。如图2所示,一种木马的查杀方法,以终端角度描述,包括以下步骤:
步骤202,获取木马查杀指令。
具体的,用户启动杀毒软件后,进入菜单界面,如图3所示,在菜单界面提供有提供首页体检、病毒查杀、清理垃圾、电脑加速、工具箱等功能入口,获取对病毒查杀功能入口的触发操作,进入病毒查杀功能界面,在病毒查杀功能界面中提供有杀毒按钮入口,显示有距离上次杀毒的时间,如距上次杀毒已有5天等。获取对杀毒按钮入口的触发操作,产生木马查杀指令,即获取木马查杀指令。
步骤204,根据该木马查杀指令检测磁盘驱动是否被挂钩,若是,则执行步骤206,若否,则执行步骤208。
因Bootkit木马在系统引导时先于杀毒软件被加载,其Hook了底层的磁盘驱动,截获所有的硬盘读写请求,将对硬盘第一个物理扇区的读写请求,转移到第二个物理扇区,而第二个物理扇区存放的是该类木马在感染机器时,备份的系统原有的正常MBR(主引导记录)。当读取第一物理扇区的MBR时,被转移读取到第二物理扇区中备份的MBR,读取的内容正常,无法发现中毒环境,为此需要检测磁盘驱动是否被Hook。
Hook,即挂钩,是Windows中提供的一种用以替换DOS下“中断”的系统机制。在对特定的系统事件进行Hook后,一旦发生Hook事件,对该事件进行Hook的程序就会受到系统的通知,该程序就能在第一时间对该事件做出响应。Bootkit木马通过Hook了磁盘驱动来保护自身,为此需检测磁盘驱动是否被Hook,若被Hook,则需要清除Hook。Bootkit可为BIOS(基本输入输出系统)Rootkit,VBootkit,SMM Rootkit等。
步骤206,清除挂钩,然后执行步骤208。
图4为显示Rootkit病毒检测的界面。如图4所示,在清除Hook后,开始扫描检测,在界面上显示正在杀毒,以及扫描时间、扫描项、扫描统计和状态。扫描时间为统计扫描所用时间。扫描项可包括系统敏感设置(共扫描91项)、启动项检查(共扫描1项)、重启移动启动项(共扫描1项)、账号盗号木马检测(共扫描1项)、系统关键路径(共扫描678项)、恶评插件(共扫描570项)、Rootkit病毒检测(共扫描1项)、系统启动项(共扫描1项)等。扫描统计为统计扫描项数。图4中提供了暂停和取消杀毒控件。
步骤208,读取磁盘的第一物理扇区的主引导记录。
主引导记录(MBR)是对IBM兼容机的硬盘或可移动磁盘分区时,在驱动器最前端的一段引导扇区。
步骤210,判断该第一物理扇区的主引导记录是否符合预设的病毒特征,若是,则执行步骤212,否则结束。
首先,终端上的杀毒软件从服务器下载预设的病毒特征。该预设的病毒特征用于表征中毒环境。将第一物理扇区的主引导记录与预设的病毒特征进行比较,若第一物理扇区的主引导记录符合预设的病毒特征,则认为已经中毒,需要清理。
步骤212,判断磁盘的第二物理扇区上的数据是否为正常的主引导记录,若是,则执行步骤214,否则结束。
具体的,正常的主引导记录是指能引导机器加载系统的。
步骤214,判断第一物理扇区的分区表是否正常,若是,执行步骤216,否则结束。
具体的,第一物理扇区的分区表正常是指能加载系统。分区表是将大表的数据分成成为分区的许多小的子集,若硬盘丢失了分区表,数据将无法按顺序读取和写入。分区表信息保存在磁盘的第一物理扇区中的64个字节中,每个分区项占用16个字节,这16个字节中存有活动状态标志、文件系统标识、起止柱面号、磁头号、扇区号、隐含扇区数目、分区总扇区数目等内容。
步骤216,将第二物理扇区上的主引导记录覆盖第一物理扇区的起始处,重启系统以清除木马,然后结束。
具体的,将第二物理扇区上的主引导记录,即截取前面448个字节(除分区表外的所有内容),覆盖到磁盘的第一物理扇区的起始处。
上述木马的查杀方法,检测到磁盘驱动被挂钩后,清除挂钩,然后读取第一物理扇区上的主引导记录,判断该主引导记录符合预设的病毒特征,则判定中毒,然后判断第二物理扇区上的主引导记录正常且分区表正常,则将第二物理扇区上的主引导记录覆盖到第一物理扇区的起始处,然后重启系统清除木马,实现了对Bootkit木马的查杀。
在一个实施例中,上述木马的查杀方法还包括:在判断出该第一物理扇区的主引导记录符合预设的病毒特征时,在木马扫描界面提供包含病毒描述和处理方式的提示信息,并提供立即处理入口;获取立即处理入口的触发指令,根据该触发指令判断磁盘的第二物理上的数据是否为正常的主引导记录。
图5为木马扫描界面提供扫描结果的示意图;图6为木马清除需重启计算机的提示界面示意图。如图5所示,在木马扫描界面提供了Rootkit病毒检测,发现驱动级病毒,并对该驱动级病毒进行了描述,以及提供了立即处理入口。病毒描述可为硬盘主引导区内代码异常,通常是病毒木马篡改导致,建议立即处理。风险可为发现硬盘主引导区被修改。获取对立即处理入口的触发指令,杀毒软件根据该触发指令判断磁盘的第二物理上的数据是否为正常的主引导记录,若为正常的主引导记录,再判断第一物理扇区的分区表是否正常,若分区表正常,则将第二物理扇区上的主引导记录覆盖第一物理扇区的起始处。如图6所示,以弹窗形式显示“部分风险项需要重启计算机才能彻底清除,现在重启”,并提供“稍后手动重启”和“立即重启”入口,还显示了扫描文件数量和扫描时间。如扫描文件7315个,扫描时间为00:00:41。
图7为一个实施例中若检测到磁盘驱动被挂钩,则清除挂钩的具体步骤的流程图。如图7所示,在一个实施例中,若检测到磁盘驱动被挂钩,则清除挂钩的步骤包括:
步骤702,获取磁盘上的文件。
具体的,打开磁盘上的一个文件。
步骤704,通过该文件查找所属的虚拟设备。
虚拟设备是指硬件设备的驱动等。
步骤706,获取虚拟设备所属的驱动。
获取虚拟设备的虚拟设备栈底中的虚拟设备,取得该虚拟设备所属的驱动名。
步骤708,通过该驱动获取真实的磁盘驱动指针。
通过驱动名获取真实的磁盘驱动指针。
步骤710,遍历虚拟设备栈。
步骤712,检测到虚拟设备栈中的虚拟设备所属的驱动指针与对应的真实的磁盘驱动指针不同,则判定该虚拟设备所属的磁盘驱动被挂钩。
步骤714,将检测到的虚拟设备所属的假的驱动指针恢复成真实的磁盘驱动指针,清除挂钩。
通过原子操作指令,将检测到的虚拟设备所属的假的驱动指针恢复成真实的磁盘驱动指针,安全的摘除木马设置的Hook点。
不同的操作系统磁盘驱动名不同,Bootkit木马对磁盘驱动的Hook点不一样,通过上述方式检测磁盘驱动被挂钩,可以针对不同的操作系统中磁盘驱动被Bootkit木马Hook点的情况进行检测,提高了磁盘驱动被挂钩检测的使用范围。
图8为另一个实施例中木马的查杀方法的流程图。如图8所示,一种木马的查杀方法,包括:
步骤802,获取木马查杀指令。
具体的,用户启动杀毒软件后,进入菜单界面,如图3所示,在菜单界面提供有提供首页体检、病毒查杀、清理垃圾、电脑加速、工具箱等功能入口,获取对病毒查杀功能入口的触发操作,进入病毒查杀功能界面,在病毒查杀功能界面中提供有杀毒按钮入口,显示有距离上次杀毒的时间,如距上次杀毒已有5天等。获取对杀毒按钮入口的触发操作,产生木马查杀指令,即获取木马查杀指令。
步骤804,根据该木马查杀指令检测磁盘驱动是否被挂钩,若是,则执行步骤806,若否,则执行步骤808。
步骤806,清除挂钩,然后执行步骤808。
步骤808,读取磁盘的第一物理扇区的主引导记录。
主引导记录是对IBM兼容机的硬盘或可移动磁盘分区时,在驱动器最前端的一段引导扇区。
步骤810,判断该第一物理扇区的主引导记录是否符合预设的病毒特征,若是,则执行步骤812,否则结束。
首先,终端上的杀毒软件从服务器下载预设的病毒特征。该预设的病毒特征用于表征中毒环境。将第一物理扇区的主引导记录与预设的病毒特征进行比较,若第一物理扇区的主引导记录符合预设的病毒特征,则认为已经中毒,需要清理。
步骤812,判断磁盘的第二物理扇区上的数据是否为正常的主引导记录,若是,则执行步骤814,否则结束。
具体的,正常的主引导记录是指能引导机器加载系统的。
步骤814,检测第二物理扇区上的主引导记录的结束标志位是否为预定结束标志位,若是,执行步骤816,若否,执行步骤820。
步骤816,判断第一物理扇区的分区表是否正常,若是,执行步骤818,否则结束。
具体的,第一物理扇区的分区表正常是指能加载系统。分区表是将大表的数据分成成为分区的许多小的子集,若硬盘丢失了分区表,数据将无法按顺序读取和写入。分区表信息保存在磁盘的第一物理扇区中的64个字节中,每个分区项占用16个字节,这16个字节中存有活动状态标志、文件系统标识、起止柱面号、磁头号、扇区号、隐含扇区数目、分区总扇区数目等内容。
步骤818,将第二物理扇区上的主引导记录覆盖第一物理扇区的起始处,重启系统以清除木马,然后结束。
具体的,将第二物理扇区上的主引导记录,即截取前面448个字节(除分区表外的所有内容),覆盖到磁盘的第一物理扇区的起始处。
步骤820,对检测的虚拟设备所属的假的驱动指针不做恢复处理。
具体的,假的驱动指针是指检测的虚拟设备所属的驱动与真实的磁盘驱动指针不同时,所检测的虚拟设备所属的驱动。
上述木马的查杀方法,检测到磁盘驱动被挂钩后,清除挂钩,然后读取第一物理扇区上的主引导记录,判断该主引导记录符合预设的病毒特征,则判定中毒,然后判断第二物理扇区上的主引导记录正常且分区表正常,则将第二物理扇区上的主引导记录覆盖到第一物理扇区的起始处,然后重启系统清除木马,实现了对Bootkit木马的查杀。
图9为一个实施例中木马的查杀装置的结构框图。如图9所示,一种木马的查杀装置,包括指令获取模块910、挂钩检测模块920、清除模块930、读取模块940、判断模块950、拷贝模块960和重启模块970。其中:
指令获取模块910用于获取木马查杀指令。
具体的,用户启动杀毒软件后,进入菜单界面,如图3所示,在菜单界面提供有提供首页体检、病毒查杀、清理垃圾、电脑加速、工具箱等功能入口,获取对病毒查杀功能入口的触发操作,进入病毒查杀功能界面,在病毒查杀功能界面中提供有杀毒按钮入口,显示有距离上次杀毒的时间,如距上次杀毒已有5天等。获取对杀毒按钮入口的触发操作,产生木马查杀指令,即获取木马查杀指令。
挂钩检测模块920用于根据该木马查杀指令检测磁盘驱动是否被挂钩。
因Bootkit木马在系统引导时先于杀毒软件被加载,其Hook了底层的磁盘驱动,截获所有的硬盘读写请求,将对硬盘第一个物理扇区的读写请求,转移到第二个物理扇区,而第二个物理扇区存放的是该类木马在感染机器时,备份的系统原有的正常MBR(主引导记录)。当读取第一物理扇区的MBR时,被转移读取到第二物理扇区中备份的MBR,读取的内容正常,无法发现中毒环境,为此需要检测磁盘驱动是否被Hook。
清除模块930用于若检测到磁盘驱动被挂钩,则清除挂钩。
图4为显示Rootkit病毒检测的界面。如图4所示,在清除Hook后,开始扫描检测,在界面上显示正在杀毒,以及扫描时间、扫描项、扫描统计和状态。扫描时间为统计扫描所用时间。扫描项可包括系统敏感设置(共扫描91项)、启动项检查(共扫描1项)、重启移动启动项(共扫描1项)、账号盗号木马检测(共扫描1项)、系统关键路径(共扫描678项)、恶评插件(共扫描570项)、Rootkit病毒检测(共扫描1项)、系统启动项(共扫描1项)等。扫描统计为统计扫描项数。图4中提供了暂停和取消杀毒控件。
读取模块940用于读取磁盘的第一物理扇区的主引导记录。
此外,读取模块940还用于若检测到磁盘驱动未被挂钩,则直接读取磁盘的第一物理扇区的主引导记录。
主引导记录(MBR)是对IBM兼容机的硬盘或可移动磁盘分区时,在驱动器最前端的一段引导扇区。
判断模块950用于判断该第一物理扇区的主引导记录是否符合预设的病毒特征,若是,则进一步判断磁盘的第二物理扇区上的数据是否为正常的主引导记录,若是,则再判断第一物理扇区的分区表是否正常。
首先,终端上的杀毒软件从服务器下载预设的病毒特征。该预设的病毒特征用于表征中毒环境。将第一物理扇区的主引导记录与预设的病毒特征进行比较,若第一物理扇区的主引导记录符合预设的病毒特征,则认为已经中毒,需要清理。
第一物理扇区的分区表正常是指能加载系统。分区表是将大表的数据分成成为分区的许多小的子集,若硬盘丢失了分区表,数据将无法按顺序读取和写入。
拷贝模块960用于当判断出该第一物理扇区的主引导记录符合预设的病毒特征、磁盘的第二物理扇区上的数据为正常的主引导记录且第一物理扇区的分区表正常时,将该第二物理扇区上的主引导记录覆盖第一物理扇区的起始处。
具体的,将第二物理扇区上的主引导记录,即截取前面448个字节(除分区表外的所有内容),覆盖到磁盘的第一物理扇区的起始处。
重启模块970用于重启系统以清除木马。
上述木马的查杀装置,检测到磁盘驱动被挂钩后,清除挂钩,然后读取第一物理扇区上的主引导记录,判断该主引导记录符合预设的病毒特征,则判定中毒,然后判断第二物理扇区上的主引导记录正常且分区表正常,则将第二物理扇区上的主引导记录覆盖到第一物理扇区的起始处,然后重启系统清除木马,实现了对Bootkit木马的查杀。
进一步的,挂钩检测模块920还用于获取磁盘上的文件,通过该文件查找所属的虚拟设备,并获取该虚拟设备所属的驱动,再通过该驱动获取真实的磁盘驱动指针,遍历虚拟设备栈,以及检测到虚拟设备栈中的虚拟设备所属的驱动指针与对应的真实的磁盘驱动指针不同,则判定该虚拟设备所属的磁盘驱动被挂钩。
该清除模块930还用于将检测到的虚拟设备所属的假的驱动指针恢复成真实的磁盘驱动指针,清除挂钩。
通过原子操作指令,将检测到的虚拟设备所属的假的驱动指针恢复成真实的磁盘驱动指针,安全的摘除木马设置的Hook点。
不同的操作系统磁盘驱动名不同,Bootkit木马对磁盘驱动的Hook点不一样,通过上述方式检测磁盘驱动被挂钩,可以针对不同的操作系统中磁盘驱动被Bootkit木马Hook点的情况进行检测,提高了磁盘驱动被挂钩检测的使用范围。
图10为另一个实施例中木马的查杀装置的结构框图。如图10所示,一种木马的查杀装置,除了包括指令获取模块910、挂钩检测模块920、清除模块930、读取模块940、判断模块950、拷贝模块960和重启模块970,还包括标志位检测模块980和提供模块990。其中:
标志位检测模块980用于在判断出磁盘的第二物理扇区上的数据为正常的主引导记录之后,检测该第二物理扇区上的主引导记录的结束标志位是否为预定结束标志位。
判断模块950还用于若检测到该第二物理扇区上的主引导记录的结束标志位为预定结束标志位,判断第一物理扇区的分区表是否正常。
清除模块930还用于若检测到该第二物理扇区上的主引导记录的结束标志位不为预定结束标志位,则对检测的虚拟设备所属的假的驱动指针不做恢复处理。
提供模块990用于在判断出该第一物理扇区的主引导记录符合预设的病毒特征时,在木马扫描界面提供包含病毒描述和处理方式的提示信息,并提供立即处理入口。
指令获取模块910还用于获取立即处理入口的触发指令。
判断模块950还用于根据该触发指令判断磁盘的第二物理上的数据是否为正常的主引导记录。
在其他实施例中,木马的查杀装置,可包括指令获取模块910、挂钩检测模块920、清除模块930、读取模块940、判断模块950、拷贝模块960、重启模块970,还可包括标志位检测模块980或提供模块990。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种木马的查杀方法,包括以下步骤:
获取木马查杀指令;
根据所述木马查杀指令检测磁盘驱动是否被挂钩;
若检测到磁盘驱动被挂钩,则清除挂钩;
读取磁盘的第一物理扇区的主引导记录;
判断所述第一物理扇区的主引导记录是否符合预设的病毒特征;
若所述第一物理扇区的主引导记录符合预设的病毒特征,则判断磁盘的第二物理扇区上的数据是否为正常的主引导记录;
若所述磁盘的第二物理扇区上的数据为正常的主引导记录,则检测所述第二物理扇区上的主引导记录的结束标志位是否为预定结束标志位;
若所述第二物理扇区上的主引导记录的结束标志位为预定结束标志位,则判断第一物理扇区的分区表是否正常;
若所述第一物理扇区的分区表正常,将所述第二物理扇区上的主引导记录覆盖第一物理扇区的起始处,重启系统以清除木马;
若所述第一物理扇区的分区表不正常,则结束。
2.根据权利要求1所述的方法,其特征在于,所述若检测到磁盘驱动被挂钩,则清除挂钩的步骤包括:
获取磁盘上的文件;
通过所述文件查找所属的虚拟设备;
获取所述虚拟设备所属的驱动;
通过所述驱动获取真实的磁盘驱动指针;
遍历虚拟设备栈;
检测到虚拟设备栈中的虚拟设备所属的驱动指针与对应的真实的磁盘驱动指针不同,则判定所述虚拟设备所属的磁盘驱动被挂钩;
将检测到的虚拟设备所属的假的驱动指针恢复成真实的磁盘驱动指针,清除挂钩。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若检测到所述第二物理扇区上的主引导记录的结束标志位不为预定结束标志位,则对检测的虚拟设备所属的假的驱动指针不做恢复处理。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若检测到磁盘驱动未被挂钩,则直接执行读取磁盘的第一物理扇区的主引导记录的步骤。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在判断出所述第一物理扇区的主引导记录符合预设的病毒特征时,在木马扫描界面提供包含病毒描述和处理方式的提示信息,并提供立即处理入口;
获取立即处理入口的触发指令,根据所述触发指令判断磁盘的第二物理上的数据是否为正常的主引导记录。
6.一种木马的查杀装置,其特征在于,包括:
指令获取模块,用于获取木马查杀指令;
挂钩检测模块,用于根据所述木马查杀指令检测磁盘驱动是否被挂钩;
清除模块,用于若检测到磁盘驱动被挂钩,则清除挂钩;
读取模块,用于读取磁盘的第一物理扇区的主引导记录;
判断模块,用于判断所述第一物理扇区的主引导记录是否符合预设的病毒特征,若是,则进一步判断磁盘的第二物理扇区上的数据是否为正常的主引导记录,若是,则检测所述第二物理扇区上的主引导记录的结束标志位是否为预定结束标志位,若是,则再判断第一物理扇区的分区表是否正常;
拷贝模块,用于当判断出所述第一物理扇区的主引导记录符合预设的病毒特征、磁盘的第二物理扇区上的数据为正常的主引导记录且第一物理扇区的分区表正常时,将所述第二物理扇区上的主引导记录覆盖第一物理扇区的起始处;
重启模块,用于重启系统以清除木马。
7.根据权利要求6所述的装置,其特征在于,所述挂钩检测模块还用于获取磁盘上的文件,通过所述文件查找所属的虚拟设备,并获取所述虚拟设备所属的驱动,再通过所述驱动获取真实的磁盘驱动指针,遍历虚拟设备栈,以及检测到虚拟设备栈中的虚拟设备所属的驱动指针与对应的真实的磁盘驱动指针不同,则判定所述虚拟设备所属的磁盘驱动被挂钩;
所述清除模块还用于将检测到的虚拟设备所属的假的驱动指针恢复成真实的磁盘驱动指针,清除挂钩。
8.根据权利要求6所述的装置,其特征在于,所述清除模块还用于若检测到所述第二物理扇区上的主引导记录的结束标志位不为预定结束标志位,则对检测的虚拟设备所属的假的驱动指针不做恢复处理。
9.根据权利要求6所述的装置,其特征在于,所述读取模块还用于若检测到磁盘驱动未被挂钩,则直接读取磁盘的第一物理扇区的主引导记录。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括:
提供模块,用于在判断出所述第一物理扇区的主引导记录符合预设的病毒特征时,在木马扫描界面提供包含病毒描述和处理方式的提示信息,并提供立即处理入口;
所述指令获取模块还用于获取立即处理入口的触发指令;
所述判断模块还用于根据所述触发指令判断磁盘的第二物理上的数据是否为正常的主引导记录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510240003.7A CN104834861B (zh) | 2015-05-12 | 2015-05-12 | 木马的查杀方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510240003.7A CN104834861B (zh) | 2015-05-12 | 2015-05-12 | 木马的查杀方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104834861A CN104834861A (zh) | 2015-08-12 |
CN104834861B true CN104834861B (zh) | 2018-10-02 |
Family
ID=53812743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510240003.7A Active CN104834861B (zh) | 2015-05-12 | 2015-05-12 | 木马的查杀方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104834861B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112257067B (zh) * | 2020-11-02 | 2023-01-06 | 上海小麦互动企业发展有限公司 | 一种基于arm云游戏木马病毒服务器检测装置 |
CN115828246B (zh) * | 2023-01-09 | 2023-05-16 | 中国人民解放军61660部队 | 一种离线恶意程序及行为监测方法、装置、介质及设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101483658A (zh) * | 2009-01-09 | 2009-07-15 | 招商银行股份有限公司 | 浏览器输入内容保护的系统和方法 |
CN102339371A (zh) * | 2011-09-14 | 2012-02-01 | 奇智软件(北京)有限公司 | 一种检测恶意程序的方法、装置及虚拟机 |
CN102867141A (zh) * | 2012-09-29 | 2013-01-09 | 北京奇虎科技有限公司 | 对主引导记录恶意程序进行处理的方法及装置 |
CN102902921A (zh) * | 2012-09-18 | 2013-01-30 | 北京奇虎科技有限公司 | 一种检测和清除计算机病毒的方法和装置 |
CN103390130A (zh) * | 2013-07-18 | 2013-11-13 | 北京奇虎科技有限公司 | 基于云安全的恶意程序查杀的方法、装置和服务器 |
-
2015
- 2015-05-12 CN CN201510240003.7A patent/CN104834861B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101483658A (zh) * | 2009-01-09 | 2009-07-15 | 招商银行股份有限公司 | 浏览器输入内容保护的系统和方法 |
CN102339371A (zh) * | 2011-09-14 | 2012-02-01 | 奇智软件(北京)有限公司 | 一种检测恶意程序的方法、装置及虚拟机 |
CN102902921A (zh) * | 2012-09-18 | 2013-01-30 | 北京奇虎科技有限公司 | 一种检测和清除计算机病毒的方法和装置 |
CN102867141A (zh) * | 2012-09-29 | 2013-01-09 | 北京奇虎科技有限公司 | 对主引导记录恶意程序进行处理的方法及装置 |
CN103390130A (zh) * | 2013-07-18 | 2013-11-13 | 北京奇虎科技有限公司 | 基于云安全的恶意程序查杀的方法、装置和服务器 |
Non-Patent Citations (2)
Title |
---|
在SSD硬盘上对"鬼影"病毒的测试分析;肖佳 等;《警察技术》;20121231;全文 * |
暗云木马为什么没法清除;不祥;《URL:https://zhidao.baidu.com/question/199964739408451445.html?qbl=relate_question_3&word=%B9%D2%B9%B3%20%B4%C5%C5%CC%C7%FD%B6%AF%20MBR%20%C4%BE%C2%ED%20%C7%E5%B3%FD》;20150205;文档第1页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104834861A (zh) | 2015-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8397297B2 (en) | Method and apparatus for removing harmful software | |
US10460099B2 (en) | System and method of detecting malicious code in files | |
US10083294B2 (en) | Systems and methods for detecting return-oriented programming (ROP) exploits | |
US8646080B2 (en) | Method and apparatus for removing harmful software | |
JP6829718B2 (ja) | 複数のソフトウェアエンティティにわたって悪意あるビヘイビアを追跡するためのシステムおよび方法 | |
US8510838B1 (en) | Malware protection using file input/output virtualization | |
JP6706273B2 (ja) | インタープリタ仮想マシンを用いた挙動マルウェア検出 | |
US9355246B1 (en) | Tuning sandbox behavior based on static characteristics of malware | |
US7908653B2 (en) | Method of improving computer security through sandboxing | |
US6907396B1 (en) | Detecting computer viruses or malicious software by patching instructions into an emulator | |
CN104008340B (zh) | 病毒查杀方法及装置 | |
US8904537B2 (en) | Malware detection | |
US7665139B1 (en) | Method and apparatus to detect and prevent malicious changes to tokens | |
US20160224789A1 (en) | System and method for hypervisor-based security | |
US20070250927A1 (en) | Application protection | |
US8495741B1 (en) | Remediating malware infections through obfuscation | |
EP1828902A2 (en) | System and method for identifying and removing malware on a computer system | |
US20120096550A1 (en) | Providing security for a virtual machine by selectively triggering a host security scan | |
US9202053B1 (en) | MBR infection detection using emulation | |
CN104834861B (zh) | 木马的查杀方法和装置 | |
US8938807B1 (en) | Malware removal without virus pattern | |
US7281271B1 (en) | Exception handling validation system and method | |
JP5955475B1 (ja) | プログラム、情報処理装置、及び情報処理方法 | |
Nasim et al. | Uncovering self code modification in Android | |
US20220035920A1 (en) | Systems and methods for automatically generating malware countermeasures |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |