bat漏洞的检测方法以及装置制造方法

文档序号:6636622阅读:317来源:国知局
bat漏洞的检测方法以及装置制造方法
【专利摘要】本发明公开了一种bat漏洞的检测方法以及装置,涉及信息安全领域,主要目的在于快速、精确地检测出bat脚本中的bat漏洞,从而能够保护计算机系统的安全。本发明的主要技术方案为:构造运行bat脚本的bat虚拟机;将bat脚本在bat虚拟机上运行,记录bat脚本运行过程中的过程行为;将过程行为与预定恶意行为规则库进行匹配,预定恶意行为规则库中包含了已知的恶意行为脚本的判断规则;若匹配成功,则确定bat脚本为bat漏洞。本发明主要应用于检测bat漏洞的过程中。
【专利说明】bat漏洞的检测方法以及装置

【技术领域】
[0001]本发明涉及一种信息安全领域,特别是涉及一种bat漏洞的检测方法及装置。

【背景技术】
[0002]随着计算机技术的不断发展,人类社会的信息化程度越来越高,整个社会对计算机信息的依赖程度也越来越高。与此同时,计算机文件中的漏洞也在不断的增长,而bat漏洞成为信息安全领域最严重的威胁之一。bat漏洞存在于批处理文件中,批处理文件也称为脚本,是无格式的文本文件,若批处理文件中存在bat漏洞会威胁计算机系统的安全。
[0003]为了能够将bat中隐藏的漏洞检测出来,以便进行及时的修复,人们想出各种各样的方案。目前常用的技术方案为:依靠人的经验进行判断,该种判断方法不能快速、精确地检测出bat漏洞,从而危害计算机系统的安全。


【发明内容】

[0004]有鉴于此,本发明实施例提供一种bat漏洞的检测方法及装置,主要目的在于快速、精确地检测出bat脚本中的bat漏洞,从而能够保护计算机系统的安全。
[0005]依据本发明一个方面,提供了一种bat漏洞的检测方法,包括:
[0006]构造运行bat脚本的bat虚拟机;
[0007]将所述bat脚本在所述bat虚拟机上运行,记录所述bat脚本运行过程中的过程行为;
[0008]将所述过程行为与预定恶意行为规则库进行匹配,所述预定恶意行为规则库中包含了已知的恶意行为脚本的判断规则;
[0009]若匹配成功,则确定所述bat脚本为bat漏洞。
[0010]根据本发明的另一个方面,提供了一种bat漏洞的检测装置,包括:
[0011]构造单元,用于构造运行bat脚本的bat虚拟机;
[0012]操作单元,用于将所述bat脚本在所述构造单元构造的bat虚拟机上运行,记录所述bat脚本运行过程中的过程行为;
[0013]匹配单元,用于将所述操作单元记录的过程行为与预定恶意行为规则库进行匹配,所述预定恶意行为规则库中包含了已知的恶意行为脚本的判断规则;
[0014]确定单元,用于当所述匹配单元匹配成功时,确定所述bat脚本为bat漏洞。
[0015]借由上述技术方案,本发明提供的bat漏洞的检测方法以及装置,当对bat漏洞进行检测的时候,先构造能运行bat脚本的bat虚拟机,bat漏洞的检测是基于该bat虚拟机实现的;在将检测的bat脚本在该bat虚拟机上运行,并且记录bat脚本在运行过程中的过程行为,将记录下来的过程行为与预定恶意行为规则库进行匹配,若能够匹配成功,那么该bat脚本为bat漏洞,整个过程按照规则流程自动执行,与现有技术中依靠人的经验进行判断bat脚本中是否存在bat漏洞相比快速、准确。
[0016]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。

【专利附图】

【附图说明】
[0017]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0018]图1示出了本发明实施例提供的一种bat漏洞的检测方法的流程图;
[0019]图2示出了本发明实施例提供的构建bat虚拟机的方法流程图;
[0020]图3示出了本发明实施例提供的一种操作bat虚拟机的方法流程图;
[0021]图4示出了本发明实施例提供的另一种bat漏洞的检测方法的流程图;
[0022]图5示出了本发明实施例提供的一种bat漏洞的检测装置的组成框图;
[0023]图6示出了本发明实施例提供的另一种bat漏洞的检测装置的组成框图;
[0024]图7示出了本发明实施例提供的另一种bat漏洞的检测装置的组成框图;
[0025]图8示出了本发明实施例提供的另一种bat漏洞的检测装置的组成框图;

【具体实施方式】
[0026]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0027]本发明实施例提供的一种bat漏洞的检测方法,如图1所示,该方法包括:
[0028]101、构造运行bat脚本的bat虚拟机。
[0029]在设置检测方法时,一般不能以正常运行的bat脚本为测试用例,需要根据构建一个与正常运行的bat脚本一样的运行环境,并在此基础上进行训练测试。这样就需要构造运行bat脚本的bat虚拟机。该虚拟机的构造包括bat脚本运行环境的构造以及解析bat脚本模块的构造等。
[0030]102、将bat脚本在bat虚拟机上运行,记录bat脚本运行过程中的过程行为。
[0031]检测的bat脚本在bat虚拟机上运行时,记录其运行的整个过程行为,该整个过程行为包括添加或者删除、访问某个文件传输协议(File Transfer Protoco I,FTP)、下载以及标识文件等等,具体的对运行过程中的实际操作不进行限定。
[0032]103、将过程行为与预定恶意行为规则库进行匹配,预定恶意行为规则库中包含了已知的恶意行为脚本的判断规则。
[0033]预定恶意行为规则库为已知的预定恶意行为规则库,该预定恶意行为规则库记录了已知的bat脚本的恶意行为,该恶意行为规则库中的内容根据经验设定。将过程行为与预定恶意行为规则库进行匹配,首先根据过程行为依次遍历该预定恶意行为规则库中的规贝U,若过程行为能匹配该预定恶意行为规则库中的其中一条规则,则执行104,若匹配不成功,贝1J检测的bat脚本为无恶意脚本。
[0034]104、若匹配成功,则确定bat脚本为bat漏洞。
[0035]本发明实施例中,当对bat漏洞进行检测的时候,先构造能运行bat脚本的bat虚拟机,bat漏洞的检测是基于该bat虚拟机实现的;在将检测的bat脚本在该bat虚拟机上运行,并且记录bat脚本在运行过程中的过程行为,将记录下来的过程行为与预定恶意行为规则库进行匹配,若能够匹配成功,那么该bat脚本为bat漏洞,整个过程按照规则流程自动执行,与现有技术中依靠人的经验进行判断bat脚本中是否存在bat漏洞相比快速、准确。
[0036]基于上述方法,bat虚拟机的构造包括bat脚本运行环境的构造以及解析bat脚本模块的构造等。在构造bat脚本虚拟机时可以通过但不局限于以下的方法实现,如图2所示,构造bat脚本虚拟机的方法包括:
[0037]201、构造bat脚本解析器,bat脚本解析器用于对检测的bat脚本进行解析,获取bat脚本的执行序列。
[0038]由于bat脚本的构成没有固定的格式,每一行可视为一条命令。因此在对检测的bat脚本进行分析时,可以通过bat脚本解析器对检测的bat脚本进行分析,得到一行一行的命令,将分析得到的结果存储在列表中;也可以将分析得到的结果存储在链表中,具体的,本发明实施例不进行限制。
[0039]本发明实施例以通过bat脚本解析器对检测的bat脚本进行分析,将分析得到的结果存储在列表中为例进行具体的阐述。将分析结果存储在列表后,获取bat脚本的执行序列。该执行序列保存在执行序列日志中,该执行序列日志为在bat脚本解析器对检测的bat脚本进行解析时产生的,其记录了执行序列的执行顺序。
[0040]202、建立执行序列执行的环境模拟,环境模拟至少包括:文件系统、注册表系统、进程系统以及网络。
[0041]在通过bat脚本解析器对检测的bat脚本进行分析,获取bat脚本的执行序列之后,需要建立执行序列的执行环境。该执行环境为可变更的执行环境,其包含的内容可根据用户的需求自行变更,具体的执行环境中包含的内容,本发明实施例对此不进行限制。
[0042]进一步的,在获取执行序列的执行顺序后,将检测的bat脚本在bat虚拟机按照该执行序列的执行顺序运行,基于bat脚本虚拟机,并在bat虚拟机上运行该bat脚本实现对bat漏洞的检测,同时记录bat脚本运行过程中的整个过程行为。具体的,本发明实施例提供一种操作bat虚拟机的方法,如图3所示,该方法包括:
[0043]301、依次运行bat脚本的执行序列。
[0044]bat脚本的语法比较简单,可按照执行序列的执行顺序,逐行依次运行该bat脚本,能提升运行bat脚本的速度,同时在bat虚拟机中不存在多线程的运行方式,从而提高了运行bat脚本的稳定性,保护了计算机系统的安全。
[0045]302、记录执行序列在运行过程中的过程行为。
[0046]bat虚拟机在运行bat脚本是在模拟环境中虚拟执行,示例性的,格式化C盘时,bat虚拟机不会格式化存储在本地的C盘,而是格式化环境模拟中的文件系统中的C盘;想要删除C盘中的某个文件时,bat虚拟机不会删除存储在本地C盘中的该文件,而是在环境模拟中的文件系统下,标识该文件已被删除。记录环境模拟中的bat脚本在bat虚拟机的过程行为,例如,bat虚拟机运行bat脚本时,若访问模拟环境中的文件系统,并启动了该文件系统的目录,则该行为为恶意行为,判断该bat脚本存在bat漏洞;若访问模拟环境中的文件系统,除标识了需删除的文件之外,无其他任何的恶意的行为,判断为该bat脚本为正常脚本。
[0047]进一步的,在执行步骤103将过程行为与预定恶意行为规则库进行匹配,本发明实施例还提供一种bat漏洞的检测方法,如图4所示,该方法包括:
[0048]401、获取预定恶意行为规则库中的规则。
[0049]该预定恶意行为规则库为如前的预定恶意行为规则库,关于预定恶意行为规则库的相关描述,此处将不再对此进行赘述。
[0050]402、利用该规则对过程行为进行分析。
[0051]获取预定恶意行为规则库中的规则,bat虚拟机在模拟环境中虚拟运行bat脚本时,根据运行过程中是否出现恶意行为,并与该预定恶意行为规则库中的规则进行匹配,若匹配了预定恶意脚本规则库其中的一条规则,则执行403。
[0052]403、若得到分析结果,则确定检测的bat脚本为bat漏洞。
[0053]当bat虚拟机在模拟环境中虚拟运行bat脚本,并出现恶意行为时,判断该bat脚本为bat漏洞;在确定检测的bat脚本为bat漏洞之后,bat虚拟机会继续按照执行序列的执行顺序,依次执行对后续bat脚本的检测,而不是当检测的bat脚本出现恶意行为时,终止对后续脚本的检测,该种运行方式能大大提高bat虚拟机检测bat漏洞的稳定性。
[0054]基于上述方法实施例,本发明实施例提供一种bat漏洞的检测装置,如图5所示,该装置包括:
[0055]构造单元51,用于构造运行bat脚本的bat虚拟机;
[0056]操作单元52,用于将bat脚本在构造单元51构造的bat虚拟机上运行,记录bat脚本运行过程中的过程行为,bat脚本在bat虚拟机上运行时,记录其运行的整个过程行为,该整个过程行为包括添加或者删除、访问某个文件传输协议(File Transfer Protocol,FTP)、下载以及标识文件等等,具体的对运行过程中的实际操作不进行限定;
[0057]匹配单元53,用于将操作单元52记录的过程行为与预定恶意行为
[0058]规则库进行匹配,预定恶意行为规则库中包含了已知的恶意行为脚本的判断规贝U,预定恶意行为规则库为已知的预定恶意行为规则库,该预定恶意行为规则库记录了已知的bat脚本的恶意行为,该恶意行为规则库中的内容根据经验设定;
[0059]确定单元54,用于当匹配单元53匹配成功时,确定bat脚本为bat漏洞。
[0060]进一步的,如图6所示,该构造单元51,包括:
[0061]构造模块511,用于构造bat脚本解析器,bat脚本解析器用于对检测的bat脚本进行解析,获取bat脚本的执行序列,其中由于bat脚本的构成没有固定的格式,每一行可视为一条命令。因此在对检测的bat脚本进行分析时,可以通过bat脚本解析器对检测的bat脚本进行分析,得到一行一行的命令,将分析得到的结果存储在列表中;也可以将分析得到的结果存储在链表中,具体的,本发明实施例不进行限制;
[0062]建立模块512,用于建立构造模块511获取的执行序列执行的环境模拟,环境模拟至少包括:文件系统、注册表系统、进程系统以及网络。
[0063]进一步的,如图7所示,该操作单元52,包括:
[0064]运行模块521,用于依次运行bat脚本的执行序列,其中,bat脚本的语法比较简单,可按照执行序列的执行顺序,逐行依次运行该bat脚本,能提升运行bat脚本的速度,同时在bat虚拟机中不存在多线程的运行方式,从而提高了运行bat脚本的稳定性,保护了计算机系统的安全;
[0065]记录模块522,用于记录执行序列在运行模块521在运行过程中的过程行为。
[0066]进一步的,如图8所示,该匹配单元53,包括:
[0067]获取模块531,用于获取预定恶意行为规则库中的规则;
[0068]分析模块532,用于利用获取模块531获取的规则对过程行为进行分析,其中,获取预定恶意行为规则库中的规则,bat虚拟机在模拟环境中虚拟运行bat脚本时,根据运行过程中是否出现恶意行为,并与该预定恶意行为规则库中的规则进行匹配,若匹配了预定恶意脚本规则库其中的一条规则,则高bat脚本存在bat漏洞;
[0069]确定模块533,用于当分析模块532得到分析结果,确定检测的bat脚本为bat漏洞,其中,当bat虚拟机在模拟环境中虚拟运行bat脚本,并出现恶意行为时,判断该bat脚本为bat漏洞;在确定检测的bat脚本为bat漏洞之后,bat虚拟机会继续按照执行序列的执行顺序,依次执行对后续的bat脚本的检测,而不是当检测的bat脚本出现恶意行为时,终止对后续脚本的检测,该种执行方式能大大提高bat虚拟机检测bat漏洞的稳定性。
[0070]本发明实施例中,当对bat漏洞进行检测的时候,先构造能运行bat脚本的bat虚拟机,bat漏洞的检测是基于该bat虚拟机实现的;在将检测的bat脚本在该bat虚拟机上运行,并且记录bat脚本在运行过程中的过程行为,将记录下来的过程行为与预定恶意行为规则库进行匹配,若能够匹配成功,那么该bat脚本为bat漏洞,整个过程按照规则流程自动执行,与现有技术中依靠人的经验进行判断bat脚本中是否存在bat漏洞相比快速、准确。
[0071]进一步的,由于bat脚本的语法比较简单,可按照执行序列的执行顺序,逐行依次运行该bat脚本,能提升运行bat脚本的速度,同时在bat虚拟机中不存在多线程的运行方式,从而提高了运行bat脚本的稳定性,保护了计算机系统的安全。
[0072]进一步的,在确定检测的bat脚本为bat漏洞之后,bat虚拟机会继续按照执行序列的执行顺序,依次执行对后续bat脚本的检测,而不是当检测的bat脚本出现恶意行为时,终止对后续脚本的检测,该种运行方式能大大提高bat虚拟机检测bat漏洞的稳定性。
[0073]在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0074]可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。
[0075]所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0076]在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0077]在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0078]类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循【具体实施方式】的权利要求书由此明确地并入该【具体实施方式】,其中每个权利要求本身都作为本发明的单独实施例。
[0079]本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0080]此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0081 ] 本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的信息查询的方法以及服务器中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0082] 应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
【权利要求】
1.一种bat漏洞的检测方法,其特征在于,包括: 构造运行bat脚本的bat虚拟机; 将所述bat脚本在所述bat虚拟机上运行,记录所述bat脚本运行过程中的过程行为;将所述过程行为与预定恶意行为规则库进行匹配,所述预定恶意行为规则库中包含了已知的恶意行为脚本的判断规则; 若匹配成功,则确定所述bat脚本为bat漏洞。
2.根据权利要求1所述的方法,其特征在于,所述构造运行bat脚本的bat虚拟机,包括: 构造bat脚本解析器,所述bat脚本解析器用于对检测的bat脚本进行解析,获取bat脚本的执行序列; 建立所述执行序列执行的环境模拟,所述环境模拟至少包括:文件系统、注册表系统、进程系统以及网络。
3.根据权利要求1所述的方法,其特征在于,将所述bat脚本在所述bat虚拟机上运行,记录所述bat脚本运行过程中的过程行为,包括: 依次运行所述bat脚本的执行序列; 记录所述执行序列在运行过程中的过程行为。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述将所述过程行为与预定恶意行为规则库进行匹配,包括: 获取所述预定恶意行为规则库中的规则; 利用所述规则对所述过程行为进行分析; 若得到分析结果,则确定检测的bat脚本为bat漏洞。
5.一种bat漏洞的检测装置,其特征在于,包括: 构造单元,用于构造运行bat脚本的bat虚拟机; 操作单元,用于将所述bat脚本在所述构造单元构造的bat虚拟机上运行,记录所述bat脚本运行过程中的过程行为; 匹配单元,用于将所述操作单元记录的过程行为与预定恶意行为规则库进行匹配,所述预定恶意行为规则库中包含了已知的恶意行为脚本的判断规则; 确定单元,用于当所述匹配单元匹配成功时,确定所述bat脚本为bat漏洞。
6.根据权利要求5所述的装置,其特征在于,所述构造单元包括: 构造模块,用于构造bat脚本解析器,所述bat脚本解析器用于对检测的bat脚本进行解析,获取bat脚本的执行序列; 建立模块,用于建立所述构造模块获取的执行序列执行的环境模拟,所述环境模拟至少包括:文件系统、注册表系统、进程系统以及网络。
7.根据权利要求5所述的装置,其特征在于,所述操作单元包括: 运行模块,用于依次运行所述bat脚本的执行序列; 记录模块,用于记录所述执行序列在所述运行模块在运行过程中的过程行为。
8.根据权利要求5-7中任一项所述的装置,其特征在于,所述匹配单元包括: 获取模块,用于获取所述预定恶意行为规则库中的规则; 分析模块,用于利用所述获取模块获取的规则对所述过程行为进行分析;确定模块,用于当所述分析模块得到分析结果,确定检测的bat脚本为bat漏洞。
【文档编号】G06F21/57GK104462985SQ201410712527
【公开日】2015年3月25日 申请日期:2014年11月28日 优先权日:2014年11月28日
【发明者】唐海, 陈卓, 邢超, 杨康 申请人:北京奇虎科技有限公司, 奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1