修复基本输入输出系统bios恶意程序的方法和装置制造方法

文档序号:6519261阅读:232来源:国知局
修复基本输入输出系统bios恶意程序的方法和装置制造方法【专利摘要】本发明提供了一种修复基本输入输出系统BIOS恶意程序的方法和装置。该方法包括:在操作系统下读取当前的BIOS信息,并将读取的BIOS信息进行组合生成完整的BIOS文件;检测BIOS文件中是否存在木马特征模块,当存在木马特征模块时,在BIOS文件中移除木马特征模块;将移除木马特征模块后的BIOS文件覆盖主板中的原BIOS文件。通过本发明,能够使得用户轻松的清除BIOS中的木马程序,且不需要通过寻找原BIOS文件进行重刷BIOS。【专利说明】修复基本输入输出系统BIOS恶意程序的方法和装置【
技术领域
】[0001]本发明涉及计算机【
技术领域
】,特别是涉及一种修复基本输入输出系统BIOS恶意程序的方法和装置。【
背景技术
】[0002]随着恶意程序的技术发展,其所处的位置也越来越底层,从应用层,发展到驱动层,进而进化到从MBR(MasterBootRecord,主引导记录)启动的BOOTKIT,即使重装系统也无法解决问题,但还是可以通过在DOS或WINPE下恢复MBR来解决,导致后者又进一步的进化成进驻到主板BIOS(BasiclnputOutputSystem,基本输入输出系统)中的恶意程序。除非用户重刷BIOS或更新主板,否则无法清除病毒,最为著名的就是在2012年发现的BMWBIOS病毒。[0003]这种病毒能够连环感染BIOS、MBR和Windows系统文件,使受害电脑无论重装系统、格式化硬盘,还是换掉硬盘都无法彻底清除病毒。[0004]现有技术能够提供的方法是重新刷新主板的BIOS来清除恶意程序或更换主板,但是一般用户无法实现,必须由特定的商家来进行处理,同时由于BIOS版本的多样化导致要找到原始版本的BIOS数据也存在着一定的难度,如更换主板,成本又较高。【
发明内容】[0005]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的修复基本输入输出系统BIOS恶意程序的方法和相应地装置。[0006]依据本发明的一个方面,提供一种修复基本输入输出系统BIOS恶意程序的方法,包括:[0007]在操作系统下读取当前的BIOS信息,并将读取的BIOS信息进行组合生成完整的BIOS文件;[0008]检测BIOS文件中是否存在恶意程序特征模块;[0009]当存在恶意程序特征模块时,按如下步骤对BIOS文件进行修复:[0010]在BIOS文件中移除恶意程序特征模块;[0011]将移除恶意程序特征模块后的BIOS文件覆盖主板中的原BIOS文件。[0012]可选地,在操作系统下读取当前的BIOS信息,并将读取的BIOS信息进行组合生成完整的BIOS文件,包括:[0013]通过操作系统提供的用于读取BIOS信息的函数,在内存的预设地址处读出BIOS信息;[0014]将所读出的全部BIOS信息组合成完整的BIOS文件。[0015]可选地,用于读取BIOS信息的函数为MmMap1Space函数,预设地址为物理地址OxfOOOOo[0016]可选地,检测BIOS文件中是否存在恶意程序特征模块,包括:[0017]获取BIOS的型号;[0018]根据BIOS的型号,检测BIOS文件中指定模块的模块信息中是否包含预设字符,其中,在本地存储有BIOS型号与预设字符的对应关系;[0019]如果包含预设字符,则确认该指定模块中存在恶意程序特征模块;[0020]如果不包含预设字符,则确认该指定模块中不存在恶意程序特征模块。[0021]可选地,在BIOS文件中移除恶意程序特征模块,包括:[0022]通过与BIOS的型号对应的BIOS工具提供的删除指令,删除BIOS文件中的恶意程序特征模块。[0023]可选地,删除指令为release指令。[0024]可选地,在将移除恶意程序特征模块后的BIOS文件覆盖主板中的原BIOS文件之前,还包括:[0025]对移除恶意程序特征模块后的BIOS文件进行校验;[0026]将移除恶意程序特征模块后的BIOS文件覆盖主板中的原BIOS文件,包括:[0027]如果移除恶意程序特征模块后的BIOS文件校验通过,则将移除恶意程序特征模块后的BIOS文件覆盖主板中的原BIOS文件。[0028]可选地,将移除恶意程序特征模块后的BIOS文件覆盖主板中的原BIOS文件,包括:[0029]在BIOS文件中获得用于写入BIOS文件的指定端口,通过该指定端口将移除恶意程序特征模块后的BIOS文件写入到主板中;[0030]其中,指定端口为SMIPORT端口。[0031]依据本发明的一个方面,还提供了一种修复基本输入输出系统BIOS恶意程序的装置,包括:[0032]文件生成模块,配置为在操作系统下读取当前的BIOS信息,并将读取的BIOS信息进行组合生成完整的BIOS文件;[0033]检测模块,配置为检测BIOS文件中是否存在恶意程序特征模块;[0034]删除模块,配置为当检测模块检测到存在恶意程序特征模块时,在BIOS文件中移除恶意程序特征模块;[0035]文件写入模块,配置为将移除恶意程序特征模块后的BIOS文件覆盖主板中的原BIOS文件。[0036]可选地,文件生成模块包括:[0037]信息读取单元,配置为通过操作系统提供的用于读取BIOS信息的函数,在内存的预设地址处读出BIOS信息;[0038]文件组合单元,配置为将所读出的全部BIOS信息组合成完整的BIOS文件。[0039]可选地,信息读取单元中用于读取BIOS信息的函数为MmMap1Space函数,预设地址为物理地址OxfOOOO。[0040]可选地,检测模块包括:[0041]型号获取单元,配置为获取BIOS的型号;[0042]检测单元,配置为根据BIOS的型号,检测BIOS文件中指定模块的模块信息中是否包含预设字符,其中,在本地存储有BIOS型号与预设字符的对应关系;[0043]如果包含预设字符,则确认该指定模块中存在恶意程序特征模块;[0044]如果不包含预设字符,则确认该指定模块中不存在恶意程序特征模块。[0045]可选地,删除模块还配置为通过与BIOS的型号对应的BIOS工具提供的删除指令,删除BIOS文件中的恶意程序特征模块。[0046]可选地,删除指令为release指令。[0047]可选地,该装置还包括:[0048]校验模块,配置为对移除恶意程序特征模块后的BIOS文件进行校验;[0049]相应地,文件写入模块还配置为如果校验模块校验通过,则将移除恶意程序特征模块后的BIOS文件覆盖主板中的原BIOS文件。[0050]可选地,文件写入模块还配置为在BIOS文件中获得用于写入BIOS文件的指定端口,通过该指定端口将移除恶意程序特征模块后的BIOS文件写入到主板中;[0051]其中,指定端口为SMIPORT端口。[0052]本发明提供了一种修复BIOS恶意程序的方法和装置,通过本发明,能够在操作系统下读取当前的BIOS信息,并生成完整的BIOS文件,检测BIOS文件中的木马特征模块,删除木马特征模块后,将BIOS文件覆盖原BIOS文件,可使得用户轻松的清除BIOS中的木马程序,且不需要通过寻找原BIOS文件进行重刷BIOS。[0053]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。【专利附图】【附图说明】[0054]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:[0055]图1是根据本发明一个实施例的一种修复BIOS恶意程序的方法流程图;[0056]图2是根据本发明一个实施例的一种修复BIOS恶意程序的具体方法流程图;[0057]图3是根据本发明一个实施例的一种查找木马模块的界面示意图;[0058]图4是根据本发明一个实施例的一种修复BIOS恶意程序的装置结构框图。【具体实施方式】[0059]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应该被这里阐述的实施例所限制。相反,提供这些实施例是为了能够透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。[0060]实施例一[0061]本发明实施例提供了一种修复BIOS恶意程序的方法。该方法对修复BIOS恶意程序的装置进行了改进。例如,本实施例中修复BIOS恶意程序的装置可以为安装在客户端上的恶意程序查杀工具,其中,客户端可以为PCXPersonalComputer,个人计算机),手机,手持电脑等用户终端。[0062]图1是根据本发明一个实施例的一种修复BIOS恶意程序的方法流程图,该方法包括步骤S102至S106。[0063]S102,在操作系统下读取当前的BIOS信息,并将读取的BIOS信息进行组合生成完整的BIOS文件。[0064]S104,检测BIOS文件中是否存在恶意程序特征模块,当存在恶意程序特征模块时,在BIOS文件中移除恶意程序特征模块。[0065]S106,将移除恶意程序特征模块后的BIOS文件覆盖主板中的原BIOS文件。[0066]本发明实施例提供了一种修复BIOS恶意程序的方法,通过该方法,能够在操作系统下读取当前的BIOS信息,并生成完整的BIOS文件,检测BIOS文件中的恶意程序特征模块,删除恶意程序特征模块后,将BIOS文件覆盖原BIOS文件,可使得用户轻松的清除BIOS中的恶意程序程序,且不需要通过寻找原BIOS文件进行重刷BIOS。[0067]实施例二[0068]本实施例为上述实施例一的一种具体应用场景,通过本实施例,能够更加清楚、具体地阐述本发明所提供的方法。[0069]图2是根据本发明一个实施例的一种修复BIOS恶意程序的具体方法流程图,该方法包括步骤S201至S207。在实现本实施例提供的方法时,可以通来恶意程序查杀工具来修复BIOS中的恶意程序。[0070]其中,恶意程序包括多种,包括感染性病毒、后门程序、键盘记录器、密码盗取者、Word和Excel宏病毒、引导区病毒、脚本病毒(batch、windowsshell、java等)、木马、犯罪软件、广告软件等。木马可以包括比如病毒、特洛伊木马、蠕虫、rootkit、BMWBIOS木马、间谍软件及其他类型的恶意软件。[0071]本实施例中,仅以恶意程序为木马为例进行具体介绍,本实施例只是示例性的,并不限制本发明实施例所保护的范围,[0072]首先,恶意程序查杀工具执行步骤S201,在操作系统下读取当前的BIOS信息。[0073]需要说明的是,当用户的主机上电后,首先会将主板中的BOIS信息加载到内存中,通过BIOS启动操作系统,因此,可以在操作系统启动后,即可通过操作系统提供的对内存的读写功能将全部BIOS信息读取出来。[0074]为了更好的对实施例进行说明,这里说明计算机的引导过程,通常可将其分为两个阶段:初始引导和操作系统引导。[0075]初始引导包括:在计算机开启之后,电源测试所有的必要电压电平;如果所有电压电平均相当于正常电平,则母板接收PowerGood信号。在初始状态,处理器的输入接收RESET信号,该信号保持处理器在复位状态。但在从电源接收到PowerGood信号后,RESET信号将被移除,并且处理器将开始执行它的第一指令。因此,在电源测试后,处理器始于下述状态:命令寄存器CS包含OxFFFF、命令指针(IP寄存器)包含O、数据和堆栈段寄存器包含O。在RESET被移除后,处理器执行位于OxFFFFO地址的指令,在实模式(realmode)下ROMBIOS区域位于该地址。其大小为16字节,直到在实模式下最大的可访问地址区域的末端一OxFFFFF。用于转换至实模式可执行BIOS代码的指令位于该地址。通过执行BIOS代码,计算机经历了POST(开机自检)诊断阶段。处理器、存储器和输入/输出资源被测试;[0076]接下来是系统的引导过程:[0077]以Wind0ws7系统为例,正常情况下,计算机系统的开机过程是:[0078]开机通电自检一>主板BIOS根据用户指定的启动顺序从软盘、硬盘或光驱进行启动一>系统BIOS将主引导记录MBR读入内存一>控制权交给主引导程序一>主引导程序检查分区表状态,寻找活动的分区一>主引导程序将控制权交给活动分区的引导记录,由引导记录加载操作系统启动文件。[0079]由上可知,MBR是电脑通电开机,系统自检完成后,被第一个读取到的位置,位于硬盘的O磁头O磁道I扇区,它的大小是512字节,不属于任何一个操作系统,也不能用操作系统提供的磁盘操作命令来读取。[0080]当计算机加电后,首先是启动BIOS程序,BIOS自检完毕后,找到硬盘上的主引导记录MBR,通过MBR读取DPT(DiskPartitionTable,硬盘分区表),从中找出活动的主分区,然后读取活动主分区的PBR(PartitionBootRecord,分区引导记录),通过PBR再搜寻分区内的启动管理器文件B00TMGR,在B00TMGR被找到后,控制权就交给了B00TMGR。通过B00TMGR读取\B00T\BCD文件(BCD=BootConfigurationData,启动配置数据),如果存在着多个操作系统并且选择操作系统的等待时间不为0,这时就会在显示器上显示操作系统的选择界面。[0081]如果选择启动Windows7后,B00TMGR就会去启动盘寻找WIND0WS\system32\winload,exe,然后通过winload,exe加载Windows7内核,从而启动整个Windows7系统。总之,在Windows7操作系统中,可以把这个过程简单地概括为:B10S—>MBR—>DPT—>PBR—>B00TMGR—>BCD—>Winload.exe—>内核加载一>整个windows7系统。在内核加载之后,启动整个windoWS7系统时,需要先对内核进行初始化,然后对硬盘进行初始化,而在本发明实施例中,就是在上述对内核进行初始化的环节中,加载安全驱动程序。[0082]安全驱动程序在监控到磁盘读取/写入操作之后,就可以对读取/写入的数据进行拦截,并进行安全性检测,如果发现读取/写入的数据中包含有恶意代码,就证明可能,例如,MBR区的恶意程序正在读取/写入磁盘中的恶意驱动代码,因此,就可以直接返回磁盘读取失败,使得恶意驱动代码无法被读取/写入到内存中,也就无法运行,进而,就可以阻断MBR中的恶意程序与磁盘分区中的恶意驱动程序之间的联系,这两者之间的联系被阻断之后,MBR中的恶意程序与恶意驱动程序即使依然存在,也不会对用户的计算机产生任何的危害。[0083]可选地,步骤S201具体执行时可以包括如下过程:[0084]通过操作系统提供的用于读取BIOS信息的函数,在内存的预设地址处读出BIOS信息。[0085]在本实施例中,以用户安装的操作系统为Window系统为例,则用于读取BIOS信息的函数为MmMap1Space函数。由于主板中的BOIS信息加载到内存中时,所占用的物理地址从OxfOOOO开始,所以本实施例中上述提及的读取BIOS的预设地址为内存的物理地址OxfOOOO处。[0086]在读取了当前的BIOS信息之后,继续执行S202。在步骤S202中,将读取的BIOS信息进行组合生成完整的BIOS文件。[0087]需要说明的是,在主板出厂时,其生产厂商会在主板中写入完整的BIOS文件,以使主板能够正常工作。当主板被加电后,BIOS文件则首先会分解为多个BIOS信息分别被读入到内存中,由于在本实施例中需要对整个BIOS文件进行木马扫描,因此,需将全部BIOS信息读出后组合为完整的BIOS文件,恶意程序查杀工具才能得到当前主板中的BIOS文件。[0088]在获取到了完整的BIOS文件之后,恶意程序查杀工具开始通过步骤S203和步骤S204来执行木马的检测操作。首先通过执行步骤S203来获取BIOS的型号。[0089]需要说明的是,由于全球存在多个主板生产商,因此,存在多种BIOS型号,例如:[0090]市面上较流行的BIOS主要有AwardBIOS,AMIBIOS,PhoenixB10S、InsydeBIOS坐寸ο[0091]目前,市面上的主板使用的BIOS并未进行标准统一,其使用的BIOS的型号不同,BIOS文件也不尽相同,相应地,对BIOS的编辑命令也会不同,同时,目前互联网上的木马也有可能只专门针对某个型号的BIOS才会有效。[0092]因此,获取BIOS型号,可在后续的木马特征的扫描过程中,使用与其对应的恶意程序查杀数据库即可,减少扫描工作量,提高查杀效率。同时,进行查杀木马时,也需要使用与其型号对应的BIOS工具。[0093]在获取了BIOS的型号之后,触发步骤S204,即根据上述获取到的BIOS的型号,检测BIOS文件中指定模块的模块信息中是否包含预设字符,如果是,则说明存在木马特征模块,执行步骤S205,如果不是,则说明不存在木马特征模块,操作结束。[0094]如步骤S203中所述,很多木马并不会针对所有BIOS都有效,因此,对于每种型号的BIOS的木马查杀时使用的方法并不一样,例如,BMWBIOS木马,其只会感染AWARDBIOS,且其会将木马文件置入ISA模块中。因此,我们根据BIOS的型号,只需要查杀其可能会感染的木马。[0095]本实施例中,以获取到的BIOS型号为AWARDBIOS,且查杀其是否包含BMWBIOS木马为例:[0096]这时,需要检测BIOS文件中的ISA模块信息中是否包含字符“HOOK.ROM”,如果存在,则说明当前的BIOS已感染BMWBIOS木马。[0097]本实施例还提供了图3,展示了一种查找木马模块的界面示意图。如图3所示,SP为在ISA模块信息中查找字符为“HOOK.ROM”的木马模块。[0098]需要说明的是,BMWBIOS木马通常将其伪装为HOOK.ROM模块,并置入到AWARDBIOS的ISA模块下。[0099]本实施例中,为了减少木马查杀所用的时间,在本地会预先存储一个BIOS型号与预设字符的对应关系,由于木马的名称都是固定的,所以上述的预设名称通常为木马名称。[0100]进一步地,本实施例中的预设字符除去可以是木马模块的名称之外,还可以是其他信息,例如可以为如下的一种或多种:[0101]程序文件的摘要、文件大小、签名信息、版本信息等文件的属性信息、文件所在目录、注册表中的启动位置、同目录下或指定目录下其他文件的属性等程序文件的上下文环境属性。[0102]或者,还可以是木马程序的文件名或全文对应的特征值,例如:计算出文件的全文或签名的MD5(Message-DigestAlgorithm5,数字摘要算法第五版),或者文件的全文的SHAl(SecureHashAlgorithml,安全哈希算法第一版)值。[0103]进一步地,在扫描得到木马特征模块后,还可以将木马程序的特征上报给云端服务器,或由服务器实时的获取最新的恶意程序查杀数据库,以使得用户可以通过云端服务器提供的强大恶意程序查杀数据库进行木马扫描。[0104]更进一步地,在用户无法扫描得到木马特征模块时,还可以将BIOS文件上传到云端服务器,以通过云端服务器的强大恶意程序查杀数据库对BIOS进行木马扫描,得到强大的防御支持。[0105]其中,在进行恶意程序的查杀时,查杀模块的至少一部分以及在一些情况下模块的全部都可以在执行操作系统、系统程序和应用程序的一个或多个计算机的处理器上执行,同时也可以使用多任务、多线程、在适当情况下的分布式(例如,云)处理或其他此类技术来实现模块。[0106]例如:云端服务器获得上报的扫描结果之后,根据这个扫描结果在已有的恶意程序查杀数据库中进一步分析比对,并可根据比对信息判断扫描的文件是否为恶意程序,然后将判断结果(如恶意、安全、未知、可疑)、和/或、与该扫描结果匹配的修复逻辑作为第二信息进行下发,使得本地根据第二信息判断否有异常,然后进行病毒报告。这里,云端服务器将根据比对信息与保存的云端鉴别条件来判断扫描的文件是否为恶意程序,而云端服务器保存的云端鉴别条件是可升级更新的,当满足升级条件时,不需要客户端升级文件即可生效,这样,可以立刻全网升级,升级速度较快,对于突发的恶意程序有很好的拦截效果,从而避免客户端用户的损失。具体地,可以在服务器中配置升级条件,服务器定期检测所述云端鉴别条件是否满足升级条件,当满足时,服务器直接获取新的鉴别条件,并用新的鉴别条件替换原有的云端鉴别条件,从而对原有的云端鉴别条件进行升级更新。其中,升级条件可以根据本地鉴别条件的文件版本来判断,比如有更新的版本时则升级,也可以指定当本地版本满足某个条件时升级为一个指定版本,本发明实施例对此并不加以限制。[0107]本实施例中,云端服务器也可将比对信息作为第二信息先下发,本地根据第二信息进行判断,进一步根据判断结果确定是否有异常,然后进行病毒报告。[0108]本地和云端服务器不是相互替代的关系。本实施例中,云端服务器中的判断结果包括扫描的文件是恶意、安全、未知、或可疑的文件,因此,需要预置文件的安全等级,其中,所述等级包括安全等级、未知等级、可疑/高度可疑等级、以及恶意等级。对于等级的设置,可以设置等级为10-29时为安全等级(该等级的文件为白文件),等级为30-49时为未知等级(该等级的文件为灰文件),等级为50-69时为可疑/高度可疑等级(该等级的文件为可疑文件),等级大于或等于70时为恶意等级(该等级的文件为恶意文件)。当然,还可以设置等级为其他形式,本发明对此并不加以限制。具体的,可以通过用于查杀PE(PortableExecute,可移植执行体)类型文件的云查杀引擎,或者QVM(QihooVirtualMachine,人工智能引擎)对EXE文件和被劫持的DLL文件进行查杀。其中,PE类型文件通常指Windows操作系统上的程序文件,常见的PE类型文件包括EXE、DLL、OCX、SYS、COM等类型文件。[0109]通过上述步骤S203和步骤S204检测到木马模块之后,执行步骤S205来对木马进行修复。在步骤S205中,通过与BIOS的型号对应的BIOS工具提供的删除指令,删除BIOS文件中的木马特征模块。[0110]由于目前存在多种BIOS型号,且由不同的生产商生产,标准未统一,因此,每种信号的BIOS文件都需要生产商提供的对应的BIOS工具才能进行编辑。[0111]在本实施例中,发现木马特征模块后,优选地采用与其对应的BIOS工具提供的删除命令将木马特征模块删除。[0112]例如,在本实施例中删除命令为release,具体命令格式如下:[0113]CBROM.EXE(BIOS文件名).BIN/AAARELEASE。[0114]其中,AAA代表需要删除的文件。[0115]在删除了木马模块之后,继续执行步骤S206,即对移除木马特征模块后的BIOS文件进行校验,并判断校验是否通过,如果校验通过,则执行步骤S207,如果校验未通过,则返回步骤S204,继续扫描是否存在木马。[0116]在本实施例中,对移除木马特征模块后的BIOS文件进行校验的目的是判断BIOS文件是否恢复到正常的BIOS文件,在主板出厂后,为了防止恶意程序对BIOS的修改,通过携带一个标准的校验值。当BIOS文件被修改后,则重新计算校验值时,会不同于标准的校验值,说明BIOS被修改了。[0117]可选地,对BIOS的校验可以采用数字摘要算法,例如MD5算法。[0118]S207,在BIOS文件中获得用于写入BIOS文件的指定端口,并通过上述指定端口将移除木马特征模块后的BIOS文件写入到主板中。[0119]需要说明的是,对于BIOS文件,在进行写入时,必须通过指定的端口,以AWARDBIOS为例,该指定端口可以为SMIPORT端口。[0120]当获取了对于BIOS进行写入操作的指定端口后,即可通过向该端口写入移除木马特征模块后的BIOS文件,完成BIOS文件的修复,使其恢复正常状态。[0121]本发明实施例提供了一种修复BIOS恶意程序的方法,通过该方法,能够在操作系统下读取当前的BIOS信息,并生成完整的BIOS文件,检测BIOS文件中的木马特征模块,删除木马特征模块后,将BIOS文件覆盖原BIOS文件,可使得用户轻松的清除BIOS中的木马程序,且不需要通过寻找原BIOS文件进行重刷BIOS。[0122]实施例三[0123]图4是本发明一个实施例提供的一种修复BIOS恶意程序的装置结构框图,该装置400包括:[0124]文件生成模块410,配置为在操作系统下读取当前的BIOS信息,并将读取的BIOS信息进行组合生成完整的BIOS文件;[0125]检测模块420,配置为检测BIOS文件中是否存在恶意程序特征模块;[0126]删除模块430,配置为当检测模块420检测到存在恶意程序特征模块时,在BIOS文件中移除恶意程序特征模块;[0127]文件写入模块440,配置为将移除恶意程序特征模块后的BIOS文件覆盖主板中的原BIOS文件。[0128]可选地,文件生成模块410包括:[0129]信息读取单元411,配置为通过操作系统提供的用于读取BIOS信息的函数,在内存的预设地址处读出BIOS信息;[0130]文件组合单元412,配置为将所读出的全部BIOS信息组合成完整的BIOS文件。[0131]可选地,信息读取单元411中用于读取BIOS信息的函数为MmMap1Space函数,预设地址为物理地址OxfOOOO。[0132]可选地,检测模块420包括:[0133]型号获取单元421,配置为获取BIOS的型号;[0134]检测单元422,配置为根据BIOS的型号,检测BIOS文件中指定模块的模块信息中是否包含预设字符,其中,在本地存储有BIOS型号与预设字符的对应关系;[0135]如果包含预设字符,则确认该指定模块中存在恶意程序特征模块;[0136]如果不包含预设字符,则确认该指定模块中不存在恶意程序特征模块。[0137]可选地,删除模块430还配置为通过与BIOS的型号对应的BIOS工具提供的删除指令,删除BIOS文件中的恶意程序特征模块。[0138]可选地,删除指令为release指令。[0139]可选地,该装置还包括:[0140]校验模块450,配置为对移除恶意程序特征模块后的BIOS文件进行校验;[0141]相应地,文件写入模块440还配置为如果校验模块450校验通过,则将移除恶意程序特征模块后的BIOS文件覆盖主板中的原BIOS文件。[0142]可选地,文件写入模块440还配置为在BIOS文件中获得用于写入BIOS文件的指定端口,通过该指定端口将移除恶意程序特征模块后的BIOS文件写入到主板中;[0143]其中,指定端口为SMIPORT端口。[0144]本发明实施例提供了一种修复BIOS恶意程序的装置,通过该装置,能够在操作系统下读取当前的BIOS信息,并生成完整的BIOS文件,检测BIOS文件中的恶意程序特征模块,删除恶意程序特征模块后,将BIOS文件覆盖原BIOS文件,可使得用户轻松的清除BIOS中的恶意程序,且不需要通过寻找原BIOS文件进行重刷BIOS。[0145]本发明实施例还公开了Al.—种修复基本输入输出系统BIOS恶意程序的方法,包括:[0146]在操作系统下读取当前的BIOS信息,并将读取的BIOS信息进行组合生成完整的BIOS文件;[0147]检测所述BIOS文件中是否存在恶意程序特征模块;[0148]当存在所述恶意程序特征模块时,在所述BIOS文件中移除所述恶意程序特征模块;[0149]将移除所述恶意程序特征模块后的BIOS文件覆盖主板中的原BIOS文件。[0150]A2.根据Al所述的方法,其中,所述在操作系统下读取当前的BIOS信息,并将读取的BIOS信息进行组合生成完整的BIOS文件,包括:[0151]通过所述操作系统提供的用于读取BIOS信息的函数,在内存的预设地址处读出BIOS信息;[0152]将所读出的全部BIOS信息组合成完整的BIOS文件。[0153]A3.根据A2所述的方法,其中,所述用于读取BIOS信息的函数为MmMap1Space函数,所述预设地址为物理地址OxfOOOO。[0154]A4.根据Al至A3任一项所述的方法,其中,所述检测所述BIOS文件中是否存在恶意程序特征模块,包括:[0155]获取所述BIOS的型号;[0156]根据所述BIOS的型号,检测所述BIOS文件中指定模块的模块信息中是否包含预设字符,其中,在本地存储有BIOS型号与预设字符的对应关系;[0157]如果包含所述预设字符,则确认该指定模块中存在恶意程序特征模块;[0158]如果不包含所述预设字符,则确认该指定模块中不存在恶意程序特征模块。[0159]A5.根据A4所述的方法,其中,在所述BIOS文件中移除所述恶意程序特征模块,包括:[0160]通过与所述BIOS的型号对应的BIOS工具提供的删除指令,删除所述BIOS文件中的恶意程序特征模块。[0161]A6.根据A5所述的方法,其中,所述删除指令为release指令。[0162]A7.根据Al至A6任一项所述的方法,其中,在将移除所述恶意程序特征模块后的BIOS文件覆盖主板中的原BIOS文件之前,还包括:[0163]对移除所述恶意程序特征模块后的BIOS文件进行校验;[0164]所述将移除所述恶意程序特征模块后的BIOS文件覆盖主板中的原BIOS文件,包括:[0165]如果移除所述恶意程序特征模块后的BIOS文件校验通过,则将移除所述恶意程序特征模块后的BIOS文件覆盖主板中的原BIOS文件。[0166]AS.根据A7所述的方法,其中,所述将移除所述恶意程序特征模块后的BIOS文件覆盖主板中的原BIOS文件,包括:[0167]在所述BIOS文件中获得用于写入BIOS文件的指定端口,通过该指定端口将移除所述恶意程序特征模块后的BIOS文件写入到主板中;[0168]其中,所述指定端口为SMIPORT端口。[0169]本发明实施例还公开了B9.—种修复基本输入输出系统BIOS恶意程序的装置,包括:[0170]文件生成模块,配置为在操作系统下读取当前的BIOS信息,并将读取的BIOS信息进行组合生成完整的BIOS文件;[0171]检测模块,配置为检测所述BIOS文件中是否存在恶意程序特征模块;[0172]删除模块,配置为当所述检测模块检测到存在所述恶意程序特征模块时,在所述BIOS文件中移除所述恶意程序特征模块;[0173]文件写入模块,配置为将移除所述恶意程序特征模块后的BIOS文件覆盖主板中的原BIOS文件。[0174]B10.根据B9所述的装置,其中,所述文件生成模块包括:[0175]信息读取单元,配置为通过所述操作系统提供的用于读取BIOS信息的函数,在内存的预设地址处读出BIOS信息;[0176]文件组合单元,配置为将所读出的全部BIOS信息组合成完整的BIOS文件。[0177]Bll.根据BlO所述的装置,其中,所述信息读取单元中用于读取BIOS信息的函数为MmMap1Space函数,所述预设地址为物理地址OxfOOOO。[0178]B12.根据B9至Bll任一项所述的装置,其中,所述检测模块包括:[0179]型号获取单元,配置为获取所述BIOS的型号;[0180]检测单元,配置为根据所述BIOS的型号,检测所述BIOS文件中指定模块的模块信息中是否包含预设字符,其中,在本地存储有BIOS型号与预设字符的对应关系;[0181]如果包含所述预设字符,则确认该指定模块中存在恶意程序特征模块;[0182]如果不包含所述预设字符,则确认该指定模块中不存在恶意程序特征模块。[0183]B13.根据B12所述的装置,其中,所述删除模块还配置为通过与所述BIOS的型号对应的BIOS工具提供的删除指令,删除所述BIOS文件中的恶意程序特征模块。[0184]B14.根据B13所述的装置,其中,所述删除指令为release指令。[0185]B15.根据B9至B14任一项所述的装置,其中,所述装置还包括:[0186]校验模块,配置为对移除所述恶意程序特征模块后的BIOS文件进行校验;[0187]相应地,所述文件写入模块还配置为如果所述校验模块校验通过,则将移除所述恶意程序特征模块后的BIOS文件覆盖主板中的原BIOS文件。[0188]B16.根据B15所述的装置,其中,所述文件写入模块还配置为在所述BIOS文件中获得用于写入BIOS文件的指定端口,通过该指定端口将移除所述恶意程序特征模块后的BIOS文件写入到主板中;[0189]其中,所述指定端口为SMIPORT端口。[0190]在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。[0191]类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循【具体实施方式】的权利要求书由此明确地并入该【具体实施方式】,其中每个权利要求本身都作为本发明的单独实施例。[0192]本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。[0193]此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。[0194]本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的修复BIOS恶意程序的装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。[0195]应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。[0196]至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。【权利要求】1.一种修复基本输入输出系统BIOS恶意程序的方法,包括:在操作系统下读取当前的BIOS信息,并将读取的BIOS信息进行组合生成完整的BIOS文件;检测所述BIOS文件中是否存在恶意程序特征模块;当存在所述恶意程序特征模块时,在所述BIOS文件中移除所述恶意程序特征模块;将移除所述恶意程序特征模块后的BIOS文件覆盖主板中的原BIOS文件。2.根据权利要求1所述的方法,其中,所述在操作系统下读取当前的BIOS信息,并将读取的BIOS信息进行组合生成完整的BIOS文件,包括:通过所述操作系统提供的用于读取BIOS信息的函数,在内存的预设地址处读出BIOS信息;将所读出的全部BIOS信息组合成完整的BIOS文件。3.根据权利要求2所述的方法,其中,所述用于读取BIOS信息的函数为MmMap1Space函数,所述预设地址为物理地址OxfOOOO。4.根据权利要求1至3任一项所述的方法,其中,所述检测所述BIOS文件中是否存在恶意程序特征模块,包括:获取所述BIOS的型号;根据所述BIOS的型号,检测所述BIOS文件中指定模块的模块信息中是否包含预设字符,其中,在本地存储有BIOS型号与预设字符的对应关系;如果包含所述预设字符,则确认该指定模块中存在恶意程序特征模块;如果不包含所述预设字符,则确认该指定模块中不存在恶意程序特征模块。5.根据权利要求4所述的方法,其中,在所述BIOS文件中移除所述恶意程序特征模块,包括:通过与所述BIOS的型号对应的BIOS工具提供的删除指令,删除所述BIOS文件中的恶意程序特征模块。6.根据权利要求5所述的方法,其中,所述删除指令为release指令。7.根据权利要求1至6任一项所述的方法,其中,在将移除所述恶意程序特征模块后的BIOS文件覆盖主板中的原BIOS文件之前,还包括:对移除所述恶意程序特征模块后的BIOS文件进行校验;所述将移除所述恶意程序特征模块后的BIOS文件覆盖主板中的原BIOS文件,包括:如果移除所述恶意程序特征模块后的BIOS文件校验通过,则将移除所述恶意程序特征模块后的BIOS文件覆盖主板中的原BIOS文件。8.根据权利要求7所述的方法,其中,所述将移除所述恶意程序特征模块后的BIOS文件覆盖主板中的原BIOS文件,包括:在所述BIOS文件中获得用于写入BIOS文件的指定端口,通过该指定端口将移除所述恶意程序特征模块后的BIOS文件写入到主板中;其中,所述指定端口为SMIPORT端口。9.一种修复基本输入输出系统BIOS恶意程序的装置,包括:文件生成模块,配置为在操作系统下读取当前的BIOS信息,并将读取的BIOS信息进行组合生成完整的BIOS文件;检测模块,配置为检测所述BIOS文件中是否存在恶意程序特征模块;删除模块,配置为当所述检测模块检测到存在所述恶意程序特征模块时,在所述BIOS文件中移除所述恶意程序特征模块;文件写入模块,配置为将移除所述恶意程序特征模块后的BIOS文件覆盖主板中的原BIOS文件。10.根据权利要求9所述的装置,其中,所述文件生成模块包括:信息读取单元,配置为通过所述操作系统提供的用于读取BIOS信息的函数,在内存的预设地址处读出BIOS信息;文件组合单元,配置为将所读出的全部BIOS信息组合成完整的BIOS文件。【文档编号】G06F21/50GK103632086SQ201310574966【公开日】2014年3月12日申请日期:2013年11月15日优先权日:2013年11月15日【发明者】邵坚磊申请人:北京奇虎科技有限公司,奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1