查杀引导型病毒的方法及系统转让专利

申请号 : CN201110371500.2

文献号 : CN103123674B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈志列谢君义修惠文

申请人 : 研祥智能科技股份有限公司

摘要 :

本发明涉及计算机技术领域,提供了一种查杀引导型病毒的方法,所述方法包括以下步骤:开机上电,硬件初始化设置;检测存储设备的引导扇区是否包含预设的引导型病毒的特征标识,若是,则清除引导型病毒;加载引导设备的引导扇区,引导进入操作系统。本发明在加载引导设备的引导扇区之前检测引导型病毒,使得引导型病毒的查杀更加精确有效。此外,本发明还提供了一种查杀引导型病毒的系统。

权利要求 :

1.一种查杀引导型病毒的方法,包括以下步骤:

开机上电,硬件初始化设置;

检测存储设备的引导扇区是否包含预设的引导型病毒的特征标识,若是,则清除引导型病毒,包括:获取病毒代码的存放位置和引导型病毒备份的加密后的正常引导记录数据的存放位置,获取所述病毒代码和所述备份的加密后的正常引导记录数据,根据所述病毒代码对所述加密后的正常引导记录数据进行解密,将解密后的正常引导记录数据写回存储设备的引导扇区;

加载引导设备的引导扇区,引导进入操作系统。

2.根据权利要求1所述的查杀引导型病毒的方法,其特征在于,所述存储设备包括多个存储设备;在所述硬件初始化设置的步骤之后,进一步包括:遍历存储设备,对每个存储设备,执行所述检测存储设备的引导扇区是否包含预设的引导型病毒的特征标识的步骤。

3.根据权利要求1所述的查杀引导型病毒的方法,其特征在于,所述清除引导型病毒的步骤为:获取引导型病毒备份正常引导记录数据的存放位置,从所述存放位置读取所述备份的正常引导记录数据,写入存储设备的引导扇区。

4.根据权利要求3所述的查杀引导型病毒的方法,其特征在于,所述获取引导型病毒备份正常引导记录数据的存放位置,从所述存放位置读取所述备份的正常引导记录数据,写入存储设备的引导扇区的步骤包括:若存储设备是硬盘格式存储设备,则根据存储设备的MBR获取引导型病毒备份的正常MBR数据的存放位置,从所述存放位置读取所述备份的正常MBR数据,写入所述硬盘格式存储设备的主引导扇区;

若存储设备是软盘格式存储设备,则根据所述存储设备的DBR获取引导型病毒备份的正常DBR数据的存放位置,从所述存放位置读取所述备份的正常DBR数据,写入所述软盘格式存储设备的引导扇区。

5.一种查杀引导型病毒的系统,其特征在于,包括:

初始化模块,用于在开机上电后进行硬件初始化设置;

检测模块,用于检测存储设备的引导扇区是否包含预设的引导型病毒的特征标识;

病毒清除模块,用于在所述检测模块检测到存储设备的引导扇区是否包含预设的引导型病毒的特征标识时清除引导型病毒,包括:获取病毒代码的存放位置和引导型病毒备份的加密后的正常引导记录数据的存放位置,获取所述病毒代码和所述备份的加密后的正常引导记录数据,根据所述病毒代码对所述加密后的正常引导记录数据进行解密,将解密后的正常引导记录数据写回存储设备的引导扇区;

引导模块,用于加载引导设备的引导扇区,引导进入操作系统。

6.根据权利要求5所述的查杀引导型病毒的系统,其特征在于,所述存储包括多个存储设备;所述系统还包括:遍历模块,用于遍历存储设备,对每个存储设备,通知所述检测模块检测存储设备的引导扇区是否包含预设的引导型病毒的特征标识。

7.根据权利要求6所述的查杀引导型病毒的系统,其特征在于,所述病毒清除模块还用于获取引导型病毒备份正常引导记录数据的存放位置,从所述存放位置读取所述备份的正常引导记录数据,写入存储设备的引导扇区。

8.根据权利要求7所述的查杀引导型病毒的系统,其特征在于,若存储设备是硬盘格式存储设备,所述病毒清除模块还用于根据存储设备的MBR获取引导型病毒的正常MBR数据的存放位置,从所述存放位置读取所述备份的正常MBR数据,写入所述硬盘格式存储设备的主引导扇区;

若存储设备是软盘格式存储设备,所述病毒清除模块还用于根据存储设备的DBR获取引导型病毒备份的正常DBR数据的存放位置,从所述存放位置读取所述备份的正常DBR数据,写入所述软盘格式存储设备的引导扇区。

说明书 :

查杀引导型病毒的方法及系统

【技术领域】

[0001] 本发明涉及计算机技术领域,尤其涉及一种查杀引导型病毒的方法及系统。【背景技术】
[0002] 硬盘格式存储设备的主引导扇区位于整个硬盘的0磁道0柱面1扇区即第一扇区(也叫主引导记录MBR),包括硬盘主引导记录、分区信息表和主引导记录结束标志字符;硬盘格式设备通常包括多个分区,每个分区都有一个分区引导记录(DOS Boot Record,DBR),其中MBR不属于任何一个分区。每个分区的DBR位于每个分区的第一扇区。如果计算机的系统启动程序安装在硬盘格式存储设备上,在开机上电后,会通过BIOS中断服务程序将MBR读入内存,然后通过MBR找到其中一个分区有系统启动程序,再通过该分区的DBR引导进操作系统。
[0003] 软盘(Floppy Disk Drive,FDD)格式存储设备的引导扇区也是第一扇区(FDD的DBR)。如果系统启动程序(一般是DOS系统)安装在FDD格式存储设备上,在开机上电后,会通过BIOS中断服务程序将DBR读入内存,通过DBR引导进操作系统。
[0004] 本文中所提到的引导记录数据的概念,是个广义的概念,可以是硬盘第一扇区的数据(包括但不限于硬盘主引导记录的数据);也可以是软盘引导扇区的数据。
[0005] 引导型病毒是指专门感染硬盘格式存储设备的主引导扇区或软盘格式存储设备的引导扇区的一类病毒。我们在分析引导型病毒的机理后,得到以下过程:如果存储设备感染了引导型病毒,引导型病毒会将正常的MBR或DBR数据备份到存储设备的某一个位置。如果将感染引导型病毒的存储设备作为系统启动盘使用,从感染了引导型病毒的存储设备引导,在执行BIOS中断服务器程序将MBR或DBR读入内存的阶段,病毒代码将被读入内存并执行。在执行病毒代码的过程中,引导型病毒从备份的位置将正常的MBR或DBR数据读到内存中并执行,系统正常引导进操作系统从而掩盖病毒自身。待系统引导进操作系统之后,病毒发作,致使出现类似蓝屏、定时重启等问题。【发明内容】
[0006] 基于此,有必要提供一种能防止病毒掩盖自身从而使得引导型病毒的查杀更精确有效的查杀引导型病毒的方法。
[0007] 一种查杀引导型病毒的方法,包括以下步骤:
[0008] 开机上电,硬件初始化设置;
[0009] 检测存储设备的引导扇区是否包含预设的引导型病毒的特征标识,若是,则清除引导型病毒;
[0010] 加载引导设备的引导扇区,引导进入操作系统。
[0011] 优选的,所述存储设备包括多个存储设备;在所述硬件初始化设置的步骤之后,进一步包括:
[0012] 遍历存储设备,对每个存储设备,执行所述检测存储设备的引导扇区是否包含预设的引导型病毒的特征标识的步骤。
[0013] 优选的,所述清除引导型病毒的步骤为:
[0014] 获取引导型病毒备份正常引导记录数据的存放位置,从所述存放位置读取所述备份的正常引导记录数据,写入存储设备的引导扇区。优选的,所述获取引导型病毒备份正常引导记录数据的存放位置,从所述存放位置读取所述备份的正常引导记录数据,写入存储设备的引导扇区的步骤包括:
[0015] 若存储设备是硬盘格式存储设备,则根据存储设备的MBR获取引导型病毒备份的正常MBR数据的存放位置,从所述存放位置读取所述备份的正常MBR数据,写入所述硬盘格式存储设备的主引导扇区;
[0016] 若存储设备是软盘格式存储设备,则根据所述存储设备的DBR获取引导型病毒备份的正常DBR数据的存放位置,从所述存放位置读取所述备份的正常DBR数据,写入所述软盘格式存储设备的引导扇区。
[0017] 优选的,所述清除引导型病毒的步骤为:
[0018] 获取病毒代码的存放位置和引导型病毒备份的加密后的正常引导记录数据的存放位置,获取所述病毒代码和所述备份的加密后的正常引导记录数据,根据所述病毒代码对所述加密后的正常引导记录数据进行解密,将解密后的正常引导记录数据写回存储设备的引导扇区。
[0019] 此外,还有必要提供一种能放置病毒掩盖自身从而使得引导型病毒的查杀更精确有效的查杀引导型病毒的系统。
[0020] 一种查杀引导型病毒的系统,包括:
[0021] 初始化模块,用于在开机上电后进行硬件初始化设置;
[0022] 检测模块,用于检测存储设备的引导扇区是否包含预设的引导型病毒的特征标识;
[0023] 病毒清除模块,用于在所述检测模块检测到存储设备的引导扇区是否包含预设的引导型病毒的特征标识时清除引导型病毒;
[0024] 引导模块,用于加载引导设备的引导扇区,引导进入操作系统。
[0025] 优选的,所述存储包括多个存储设备;所述系统还包括:
[0026] 遍历模块,用于遍历存储设备,对每个存储设备,通知所述检测模块检测存储设备的引导扇区是否包含预设的引导型病毒的特征标识。
[0027] 优选的,所述病毒清除模块还用于获取引导型病毒备份正常引导记录数据的存放位置,从所述存放位置读取所述备份的正常引导记录数据,写入存储设备的引导扇区。
[0028] 优选的,若存储设备是硬盘格式存储设备,所述病毒清除模块还用于根据存储设备的MBR获取引导型病毒的正常MBR数据的存放位置,从所述存放位置读取所述备份的正常MBR数据,写入所述硬盘格式存储设备的主引导扇区;
[0029] 若存储设备是软盘格式存储设备,所述病毒清除模块还用于根据存储设备的DBR获取引导型病毒备份的正常DBR数据的存放位置,从所述存放位置读取所述备份的正常DBR数据,写入所述软盘格式存储设备的引导扇区。
[0030] 优选的,所述病毒清除模块还用于获取病毒代码的存放位置和引导型病毒备份的加密后的正常引导记录数据的存放位置,获取所述病毒代码和所述备份的加密后的正常引导记录数据,根据所述病毒代码对所述加密后的正常引导记录数据进行解密,将解密后的正常引导记录数据写回存储设备的引导扇区。
[0031] 上述查找引导型病毒的方法及系统,在加载引导设备的引导扇区之前对存储设备进行检测,并在检测到引导型病毒时进行清除,由于此时引导扇区还未加载,MBR或DBR数据都还没有读入内存,引导型病毒并没有开始执行,因此引导型病毒无法返回正常的MBR或DBR,使得引导型病毒无法掩盖自身,从而能使得引导型病毒的查杀更精确有效。【附图说明】
[0032] 图1为本发明查杀引导型病毒的方法的流程示意图;
[0033] 图2为一个实施例中清除NBY病毒的方法流程图;
[0034] 图3为另一个实施例中清除CNY病毒的方法流程图;
[0035] 图4为本发明查杀引导型病毒的系统的结构示意图。【具体实施方式】
[0036] 本发明通过在加载引导设备的引导扇区之前,检测存储设备的引导扇区中是否包含预设的引导型病毒的特征标识,并在检测到引导型病毒时进行清除。由于加载引导扇区之前,引导型病毒还没有开始执行,MBR或DBR数据都还没有读入内存和执行,也就无法掩盖自身,从而使得引导型病毒的查杀更加精确有效。
[0037] 如图1所示,本发明提供的查杀引导型病毒的方法,包括以下步骤:
[0038] 步骤S10,开机上电,硬件初始化设置。
[0039] 步骤S20,检测存储设备的引导扇区是否包含预设的引导型病毒的特征标识,若是,则进入步骤S30,否则进入步骤S40。
[0040] 在一个实施例中,存储设备可包括多个存储设备,硬件初始化设置的过程之后会检测到所有的存储设备,则遍历存储设备,对每个存储设备都执行检测存储设备的引导扇区是否包含预设的引导型病毒的特征标识的步骤。
[0041] 在一个实施例中,事先可设置引导型病毒的特征标识。引导型病毒的特征标识可以用于唯一标识病毒,根据特征标识可以确定存储设备感染了哪种引导型病毒。具体的,引导型病毒的特征标识可以是特殊的固定值。例如,感染了CNY病毒(一种引导型病毒)的MBR数据中的0BH开始的一个字的数据为0678H,则该病毒的特征标识可为0678H。检测时,则检测MBR数据中的0BH开始的一个字的数据是否为0678H。
[0042] 进一步的,可将设置的引导型病毒的特征标识存储在病毒库中。
[0043] 在步骤S20中,对于每个存储设备,如果检测到存储设备的引导扇区包含病毒库中的引导型病毒的特征标识,则说明存储设备感染了引导型病毒,如果没有检测到,则说明存储设备未感染引导型病毒。
[0044] 步骤S30,清除引导型病毒。
[0045] 步骤S40,加载引导设备的引导扇区,引导进入操作系统。
[0046] 由于是在加载引导设备的引导扇区之前检测存储设备是否感染了引导型病毒,此时病毒代码并未执行,因此病毒不能掩盖自身,可以在病毒代码执行前清除引导型病毒,从而能够更加精确有效的查杀引导型病毒。
[0047] 由于引导型病毒会将正常的MBR或DBR数据备份在存储设备的某一个位置,要清除引导型病毒,必须还原正常的MBR或DBR数据。对于一些引导型病毒(例如NYB病毒,一种引导型病毒),其仅仅将正常MBR或DBR数据备份到存储设备的某一个扇区;对于其他一些引导型病毒(例如CNY病毒),其会将正常MBR或DBR数据加密后备份到存储设备的某一位置。
[0048] 在一个实施例中,清除引导型病毒的步骤为:获取引导型病毒备份的正常引导记录数据的存放位置,从该存放位置读取备份的正常引导记录数据,写入存储设备的引导扇区。具体的,可根据存储设备的引导记录(即存储设备的引导扇区,该引导记录已经染病毒)获取引导型病毒备份的引导记录的存放位置。
[0049] 在一个实施例中,如果存储设备是硬盘格式存储设备,则根据存储设备的MBR获取引导型病毒备份的正常MBR数据的存放位置,从该存放位置读取引导型病毒备份的正常MBR数据,写入硬盘格式存储设备的主引导扇区(即第1扇区)。
[0050] 在本实施例或另一个实施例中,如果存储设备是软盘格式存储设备,则根据存储设备的DBR获取引导型病毒备份的正常DBR数据的存放位置,从该存放位置读取引导型病毒备份的正常DBR数据,写入软盘格式存储设备的引导扇区。具体的,可获取软盘格式存储设备的DBR中的分区信息,根据该分区信息获取引导型病毒备份的正常DBR数据的存放位置。
[0051] 如果引导型病毒还对正常的MBR或DBR数据进行加密,则还原正常的MBR或DBR数据时,还需要对加密后的正常MBR或DBR进行解密。因此,在一个实施例中,清除存储设备中的引导型病毒的步骤为:获取病毒代码的存放位置和引导型病毒备份的加密后的正常MBR或DBR数据的存放位置,从所述存放位置读取病毒代码和引导型病毒备份的加密后的正常MBR或DBR数据,根据所述病毒代码对加密后的正常MBR或DBR数据进行解密。具体的,可分析病毒代码中的解密代码,根据分析出的解密代码对加密后的正常MBR或DBR数据进行解密,然后将解密后的正常MBR或DBR数据写回存储设备的引导扇区(第一扇区)。
[0052] 下面以两个典型的引导型病毒(NYB病毒和CNY病毒)为例来详细说明上述清除引导型病毒的具体过程。
[0053] 如果是硬盘格式存储设备感染了NYB病毒,病毒会将病毒代码放在硬盘格式存储设备的MBR位置(即第一扇区,也是主引导扇区),而将正常的MBR数据备份到硬盘格式存储设备的第17扇区。如果是软盘格式存储设备感染了NYB病毒,病毒代码会放在软盘格式存储设备的DBR位置(即第一扇区,也是引导扇区),而正常的DBR数据会根据DBR的分区信息存放在软盘格式存储设备的某个扇区中,分区信息不同则备份的位置不同。
[0054] 当从感染了NYB病毒的存储设备引导时会先执行病毒代码,执行病毒代码的过程中会将正常的MBR或DBR数据读到内存(内存地址为0:7C00),病毒代码执行完后再从该内存位置(即内存地址0:7C00)执行正常的MBR或DBR,从而掩盖病毒自身。病毒代码执行完成后病毒会常驻内存。
[0055] 本实施例中,预先设置NYB病毒的特征标识为特殊的固定值,例如感染了NYB病毒的引导扇区开始的一个字的内容为3EEBH,则NYB病毒的特征标识可设置为3EEBH,在检测到存储设备的引导扇区开始的一个字的内容为3EEBH时,则认为感染了NYB病毒。
[0056] 本实施例中,如果检测到存储设备的引导扇区包含了预设的NYB病毒的特征标识,如图2所示,清除NYB病毒的具体过程为:
[0057] 步骤S202,判断存储设备是硬盘格式存储设备还是软盘格式存储设备,如果是硬盘格式存储设备,则执行步骤S204,如果是软盘格式存储设备,则执行步骤S206。
[0058] 步骤S204,根据引导扇区中的MBR数据获取到NYB病毒备份的正常MBR数据的存放位置为第17扇区,从第17扇区读取备份的正常MBR数据,写入到硬盘格式存储设备的主引导扇区(即第一扇区)。
[0059] 本实施例中,根据分析感染了NYB病毒的MBR即可得知其备份的正常MBR数据的存放位置,将正常MBR数据写回到硬盘格式存储设备的主引导扇区,替代原有的带NYB病毒的MBR,从而将NYB病毒清除。
[0060] 步骤S206,获取软盘格式存储设备的DBR中的分区信息,根据分区信息获取NYB病毒备份的正常DBR数据的存放位置,从该存放位置读取NYB病毒备份的正常DBR数据,写入到软盘格式存储设备的引导扇区。
[0061] 本实施例中,由于DBR的分区格式不同则正常DBR数据的存放位置不同,根据感染了NYB病毒的DBR的分区信息可得到正常DBR数据存放在哪个扇区中,直接从这个扇区中读取正常DBR数据,写回到软盘格式存储设备的引导扇区。
[0062] 对于CNY病毒,其只能感染硬盘格式存储设备(包括硬盘、硬盘格式的CF卡、移动存储设备等)。如果存储设备感染了CNY病毒,病毒代码会修改正常MBR数据的前32个字节,并将正常MBR数据的前32个字节加密后和病毒代码一起存储在硬盘格式存储设备的某个位置,存储设备的大小、分区格式不同则存储的位置也不相同。感染了CNY病毒的MBR数据中记录有存储病毒代码的位置。
[0063] 当从感染了CNY病毒的存储设备引导时,会先将带CNY病毒的MBR读到内存(内地地址0:7C00),从该内存地址开始执行病毒代码,执行病毒代码的过程中将正常MBR数据的前32个字节解密后读到内存(内存地址0:7C00),最后到内存地址0:7C00的位置执行正常MBR数据。而感染了CNY病毒的MBR的前32个字节会将病毒代码读取到内存的另外的位置,从这一位置执行病毒代码,使病毒常驻内存。
[0064] 在一个实施例中,如果检测到存储设备的引导扇区包含了病毒库中的CNY病毒的特征标识,如图3所示,则清除CNY病毒的具体过程为:
[0065] 步骤S302,根据引导扇区的MBR获取病毒代码和CNY病毒备份的正常MBR数据的存放位置。
[0066] 本实施例中,由于CNY病毒只感染硬盘格式存储设备,分析感染了CNY病毒的MBR即可得知其病毒代码存放位置和CNY病毒加密的正常MBR的前32个字节的存放位置。具体的,可根据MBR的前32个字节中的某些字节(例如第18、19、21、22字节)来得知病毒代码和正常MBR的前32个字节的存放位置。
[0067] 步骤S304,从所述存放位置读取病毒代码和CNY病毒备份的加密后的正常MBR数据。
[0068] 步骤S306,根据病毒代码对备份的加密后的正常MBR数据进行解密,将解密后的正常MBR数据写回存储设备的引导扇区。
[0069] 本实施例中,分析病毒代码得到解密方式,然后对备份的正常MBR数据的前32个字节进行解密,将解密后的正常MBR数据写回到硬盘格式存储设备的主引导扇区中。
[0070] 如图4所示,在一个实施例中,一种查杀引导型病毒的系统,包括初始化模块10、检测模块20、病毒清除模块30和引导模块40,其中:
[0071] 初始化模块10用于在开机上电后进行硬件初始化设置。
[0072] 检测模块20用于检测存储设备的引导扇区是否包含预设的引导型病毒的特征标识。
[0073] 病毒清除模块30用于在检测模块20检测到存储设备的引导扇区包含预设的引导型病毒的特征标识时清除引导型病毒。
[0074] 引导模块40用于加载引导设备的引导扇区,引导进入操作系统。
[0075] 在一个实施例中,存储设备可包括多个存储设备,上述系统还包括遍历模块(图中未示出),用于遍历存储设备,对每个存储设备,则通知检测模块20检测存储设备的引导扇区是否包含预设的引导型病毒的特征标识。
[0076] 在一个实施例中,病毒清除模块30还用于获取引导型病毒备份正常引导记录数据的存放位置,从所述存放位置读取所述备份的正常引导记录数据,写入存储设备的引导扇区。
[0077] 在一个实施例中,若存储设备是硬盘格式存储设备,病毒清除模块30还用于根据存储设备的MBR获取引导型病毒的正常MBR数据的存放位置,从所述存放位置读取备份的正常MBR数据,写入硬盘格式存储设备的主引导扇区。
[0078] 在本实施例或另一个实施例中,若存储设备是软盘格式存储设备,病毒清除模块30还用于根据存储设备的DBR获取引导型病毒备份的正常DBR数据的存放位置,从所述存放位置读取备份的正常DBR数据,写入软盘格式存储设备的引导扇区。
[0079] 在一个实施例中,病毒清除模块30还用于获取病毒代码的存放位置和引导型病毒备份的加密后的正常引导记录数据的存放位置,获取病毒代码和所述备份的加密后的正常引导记录数据,根据病毒代码对加密后的正常引导记录数据进行解密,将解密后的正常引导记录数据写回存储设备的引导扇区。
[0080] 上述查杀引导型病毒的方法及系统,由于在加载引导设备的引导扇区之前对存储设备进行检测,使得引导型病毒无法掩盖自身,因此查找更加精确。而在检测到存储设备感染了引导型病毒后,通过还原正常MBR或DBR数据将病毒清除,由于此时病毒代码还未执行,因此清除更加有效。
[0081] 此外,本发明可通过BIOS实现查杀引导型病毒,不需要添加额外的硬件来备份任何存储设备的MBR或DBR数据,也不需要其他的软件辅助就可以实现查杀引导型病毒,因此不会占用额外的资源,节省了成本。而由于BIOS本身独立于操作系统,通过BIOS实现查杀与用户使用的操作系统并不相关,因此本发明不会依赖操作系统,应用更广泛。
[0082] 以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。