专利名称::程序状况检测方法和系统的制作方法
技术领域:
:本发明涉及网络安全
技术领域:
,具体涉及一种程序状况检测方法和系统。
背景技术:
:恶意程序是一个概括性的术语,指任何故意创建用来执行未经授权并通常是有害行为的软件程序。计算机病毒、后门程序、键盘记录器、密码盗取者、Word和Excel宏病毒、引导区病毒、脚本病毒(batch,windowsshell,java等)、木马、犯罪软件、间谋软件和广告软件等等,都是一些可以称之为恶意程序的例子。现今全球恶意程序数量呈几何级增长,为了适应恶意程序的更新速度,以快速地识别和查杀恶意程序,目前普遍利用主动防御技术查杀恶意程序。主动防御技术是基于程序的行为进行自主分析判断的实时防护技术,其从最原始的定义出发,直接将程序的行为作为判断恶意程序的依据,进而衍生出通过在本地使用特征库、在本地设置行为阈值以及在本地启发式杀毒等方式来判别、拦截恶意程序的行为,从而在一定程度上达到保护客户端设备的目的。但是,为了尽可能减小对程序性能的影响,主动防御技术只对程序的exe文件进行检测,而不检查程序加载的动态链接库(DynamicLinkLibrary,DLL)文件。因此,一些恶意程序就利用这一点,通过DLL劫持技术将该恶意程序的DLL文件与可信任的白名单中的程序(例如操作系统自带的程序)打包在一起,当用户选择执行该白名单中的程序时,其中的恶意程序的DLL文件就会被加载,从而使主动防御技术不能成功拦截该恶意程序。
发明内容鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的程序状况检测系统和相应的程序状况检测方法。依据本发明的一个方面,提供了一种程序状况检测方法,包括当检测到待执行程序创建进程时,获取所述待执行程序的特征信息;将所述待执行程序的特征信息上传至服务器,由服务器将所述待执行程序的特征信息与预先设置的云端鉴别条件进行匹配,得到匹配结果;接收所述服务器返回的匹配结果,并依据所述匹配结果确定所述待执行程序是否存在被劫持的DLL文件;服务器定期检测所述云端鉴别条件是否满足升级条件,若满足,则服务器获取新的鉴别条件,并通过重新加载所述新的鉴别条件完成所述云端鉴别条件的升级更新;其中,所述升级条件在服务器中进行配置。本发明实施例中,程序状况检测方法还包括若存在,则通过服务器对所述被劫持的DLL文件进行查杀;依据服务器查杀结果对所述待执行程序执行相应的操作。本发明实施例中,匹配结果为所述待执行程序需要检查的DLL文件信息,所述依据所述匹配结果确定所述待执行程序是否存在被劫持的DLL文件,包括判断指定目录下是否存在所述需要检查的DLL文件信息,若存在,则确定所述待执行程序存在被劫持的DLL文件;其中,所述被劫持的DLL文件为指定目录下存在的DLL文件,所述指定目录为当前目录或者指定的相对目录。本发明实施例中,云端鉴别条件中包括多个特定程序匹配条件和满足该特定程序匹配条件后需要检查的特定DLL文件信息。本发明实施例中,由服务器将所述待执行程序的特征信息与预先设置的云端鉴别条件进行匹配,得到匹配结果,包括通过服务器将所述待执行程序的特征信息与所述特定程序匹配条件进行匹配;通过服务器获取满足相匹配的特定程序匹配条件后需要检查的特定DLL文件信将所述特定DLL文件信息作为所述待执行程序需要检查的DLL文件信息。本发明实施例中,特定程序匹配条件包括以下信息中的至少一种文件名称信息、文件大小信息、文件特征值信息、文件图标信息、产品名称信息、内部名称信息、原始文件名信息,以及进程的命令行信息、进程路径信息和父进程路径信息;待执行程序的特征信息包括以下信息中的至少一种待执行程序的文件名称信息、文件大小信息、文件特征值信息、文件图标信息、产品名称信息、内部名称信息、原始文件名信息,以及待执行程序创建的进程的命令行信息、进程路径信息和父进程路径信息。本发明实施例中,在通过服务器对所述被劫持的DLL文件进行查杀之前,还包括获取所述待执行程序对应的EXE文件;将所述待执行程序对应的EXE文件的信息和所述被劫持的DLL文件的信息上传至服务器;所述通过服务器对所述被劫持的DLL文件进行查杀,包括通过服务器获取所述EXE文件的等级和所述被劫持的DLL文件的等级,所述等级包括安全等级、未知等级、可疑/高度可疑等级、以及恶意等级;依据所述EXE文件的等级和所述被劫持的DLL文件的等级对所述被劫持的DLL文件进行查杀。本发明实施例中,被劫持的DLL文件为一个或多个,依据服务器查杀结果对所述待执行程序执行相应的操作,包括当所述EXE文件的等级和所述被劫持的DLL文件的等级中至少一个为恶意等级时,拦截所述待执行程序的执行;当所述EXE文件的等级和所述被劫持的DLL文件的等级均为安全等级时,允许所述待执行程序的执行;当所述EXE文件的等级和所述被劫持的DLL文件的等级中没有恶意等级,并且至少一个被劫持的DLL文件的等级高于所述EXE文件的等级时,获取其中最高的等级,将所述EXE文件的等级修改为所述最高的等级,允许所述待执行程序的执行,并拦截待执行程序执行后发起的可疑操作。本发明实施例中,可疑操作为以下任意一种文件操作、注册表操作、进程操作和网络操作。本发明实施例中,待执行程序为白名单中的程序。本发明实施例中,云端鉴别条件存储在服务器中。依据本发明的另一方面,提供了一种程序状况检测系统,包括客户端和服务器,其中,客户端包括特征信息获取模块,适于当检测到待执行程序创建进程时,获取所述待执行程序的特征信息;特征信息上传模块,适于将所述待执行程序的特征信息上传至服务器;所述服务器包括匹配模块,适于将所述待执行程序的特征信息与预先设置的云端鉴别条件进行匹配,得到匹配结果;升级模块,适于定期检测所述云端鉴别条件是否满足升级条件,若满足,则获取新的鉴别条件,并通过重新加载所述新的鉴别条件完成所述云端鉴别条件的升级更新;其中,所述升级条件在服务器中进行配置;所述客户端还包括确定模块,适于接收所述服务器返回的匹配结果,并依据所述匹配结果确定所述待执行程序是否存在被劫持的DLL文件。本发明实施例中,服务器还包括查杀模块,适于当客户端的确定模块的检查结果为存在时,对所述被劫持的DLL文件进行查杀;客户端还包括处理模块,适于依据服务器查杀结果对所述待执行程序执行相应的操作。本发明实施例中,匹配结果为所述待执行程序需要检查的DLL文件信息,确定模块包括判断子模块,适于判断指定目录下是否存在所述需要检查的DLL文件信息,若存在,则确定所述待执打程序存在被劫持的DLL文件;其中,所述被劫持的DLL文件为指定目录下存在的DLL文件,所述指定目录为当前目录或者指定的相对目录。本发明实施例中,云端鉴别条件中包括多个特定程序匹配条件和满足该特定程序匹配条件后需要检查的特定DLL文件信息。本发明实施例中,匹配模块包括匹配子模块,适于将所述待执行程序的特征信息与所述特定程序匹配条件进行匹配;特定DLL文件信息获取子模块,适于获取满足相匹配的特定程序匹配条件后需要检查的特定DLL文件信息;确定子模块,适于将所述特定DLL文件信息作为所述待执行程序需要检查的DLL文件信息。本发明实施例中,特定程序匹配条件包括以下信息中的至少一种文件名称信息、文件大小信息、文件特征值信息、文件图标信息、产品名称信息、内部名称信息、原始文件名信息,以及进程的命令行信息、进程路径信息和父进程路径信息;待执行程序的特征信息包括以下信息中的至少一种待执行程序的文件名称信息、文件大小信息、文件特征值信息、文件图标信息、产品名称信息、内部名称信息、原始文件名信息,以及待执行程序创建的进程的命令行信息、进程路径信息和父进程路径信息。本发明实施例中,客户端还包括文件获取模块,适于在服务器的查杀模块对所述被劫持的DLL文件进行查杀之前,获取所述待执行程序对应的EXE文件;文件信息上传模块,适于将所述待执行程序对应的EXE文件的信息和所述被劫持的DLL文件的信息上传至服务器;查杀模块包括等级查询子模块,适于查询所述EXE文件的等级和所述被劫持的DLL文件的等级,所述等级包括安全等级、未知等级、可疑/高度可疑等级、以及恶意等级;查杀子模块,适于依据所述EXE文件的等级和所述被劫持的DLL文件的等级对所述被劫持的DLL文件进行查杀。本发明实施例中,被劫持的DLL文件为一个或多个,处理模块包括程序拦截子模块,适于当所述EXE文件的等级和所述被劫持的DLL文件的等级中至少一个为恶意等级时,拦截所述待执行程序的执行;执行子模块,适于当所述EXE文件的等级和所述被劫持的DLL文件的等级均为安全等级时,允许所述待执行程序的执行;可疑操作拦截子模块,适于当所述EXE文件的等级和所述被劫持的DLL文件的等级中没有恶意等级,并且至少一个被劫持的DLL文件的等级高于所述EXE文件的等级时,获取其中最高的等级,将所述EXE文件的等级修改为所述最高的等级,允许所述待执行程序的执行,并拦截待执行程序执行后发起的可疑操作。本发明实施例中,可疑操作为以下任意一种文件操作、注册表操作、进程操作和网络操作。本发明实施例中,待执行程序为白名单中的程序。本发明实施例中,云端鉴别条件存储在服务器中。根据本发明的程序状况检测方法和系统可以在检测到待执行程序创建进程时,通过服务器预先设置的云端鉴别条件检查所述待执行程序是否存在被劫持的DLL文件,如果待执行程序存在被劫持的DLL文件,则通过服务器对所述被劫持的DLL文件进行查杀,然后依据服务器查杀结果对所述待执行程序执行相应的操作。由此解决了恶意程序利用可信的白名单中的程序加载恶意DLL文件而导致主动防御无法正常拦截恶意程序的问题,取得了更加有效地拦截恶意程序的有益效果。其次,本发明的云端鉴别条件保存在服务器中,当满足升级条件时,可以立刻全网升级,升级速度较快,不需要客户端升级文件即可生效,对于突发的恶意程序有很好的拦截效果,从而避免用户的损失。上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中图I示出了根据本发明一个实施例的程序状况检测方法的流程图2示出了根据本发明一个实施例的程序状况检测方法的流程图3示出了根据本发明一个实施例的程序状况检测方法的流程图4示出了根据本发明实施例所述的云端鉴别条件的示意图5示出了根据本发明一个实施例的程序状况检测系统的结构框图;以及图6示出了根据本发明一个实施例的程序状况检测系统的结构框图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。本发明可以应用于计算机系统/服务器,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与计算机系统/服务器一起使用的众所周知的计算系统、环境和/或配置的例子包括但不限于个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。计算机系统/服务器可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。实施例一参照图1,示出了根据本发明一个实施例的程序状况检测方法的流程图,该方法具体可以包括步骤S101,当检测到待执行程序创建进程时,获取所述待执行程序的特征信息。步骤S102,将所述待执行程序的特征信息上传至服务器,由服务器将所述待执行程序的特征信息与预先设置的云端鉴别条件进行匹配,得到匹配结果。步骤S103,接收所述服务器返回的匹配结果,并依据所述匹配结果确定所述待执行程序是否存在被劫持的DLL文件。对于本实施例提出的程序状况检测方法的具体过程,将在下面的实施例中详细介绍。通过上述步骤SlOl-步骤S103可以利用服务器中的云端鉴别条件检测待执行程序是否存在被劫持的DLL文件,后续可以通过检测结果对待执行程序进行处理。如果检测到待执行程序存在被劫持的DLL文件,则后续可以通过服务器对被劫持的DLL文件进行查杀,然后依据服务器查杀结果对所述待执行程序执行相应的操作。由此解决了恶意程序利用可信的白名单中的程序加载恶意DLL文件而导致主动防御无法正常拦截恶意程序的问题,能够更加有效地拦截恶意程序。实施例二参照图2,示出了根据本发明一个实施例的程序状况检测方法的流程图。为了适应恶意程序的更新速度,以快速地识别和查杀恶意程序,目前普遍利用主动防御技术查杀恶意程序。主动防御技术是基于程序的行为进行自主分析判断的实时防护技术,通过在系统的关键位置设置拦截点对系统的关键位置进行保护。当有程序执行修改这些关键位置的行为(例如写入注册表、创建计划任务、修改浏览器首页、修改默认浏览器和注册浏览器插件等行为)时,就会对该程序进行拦截,拦截后需要判断此次修改行为是否为恶意的,通常对行为的判断是通过判断执行此次修改行为的程序是否安全来实现的,如果程序是恶意的,则说明该修改行为是恶意的,因此需要拦截该程序的执行。一般来说,主动防御技术通过对程序的文件进行检查,以检测程序的安全性。但是在检查程序文件时,需要计算文件的哈希值,还需要访问网络,这些都是比较耗费时间的操作,并且一般的程序会加载几十个甚至上百个DLL文件,即使使用缓存技术进行优化,还是会明显延长程序的启动时间。因此,为了尽可能减小对程序性能的影响,主动防御技术只对程序的EXE文件进行检测,而不检查程序加载的DLL文件。因此,一些恶意程序就利用这一点,通过DLL劫持技术将该恶意程序的DLL文件与可信任的白名单中的程序(例如操作系统自带的程序)打包在一起,当用户选择执行该白名单中的程序时,其中的恶意程序的DLL文件就会被加载,从而使主动防御技术不能成功拦截该恶意程序。为了防止恶意程序利用可信任的白名单中的程序突破主动防御而成功执行,本发明实施例提出了一种程序状况检测方法,具体的,该程序状况检测方法包括以下步骤步骤S201,当检测到待执行程序创建进程时,通过服务器预先设置的云端鉴别条件检查所述待执行程序是否存在被劫持的DLL文件。需要说明的是,该步骤S201为检查所述待执行程序是否存在被劫持的DLL文件的过程,相对于上述实施例一来说,该步骤S201可以包括上述实施例一中的步骤SlOl-步骤S103。步骤S202,若存在,则通过服务器对所述被劫持的DLL文件进行查杀。步骤S203,依据服务器查杀结果对所述待执行程序执行相应的操作。通过上述步骤S201-步骤S203可以在待执行程序存在被劫持的DLL文件时,进一步通过服务器对这些被劫持的DLL文件进行查杀,然后依据服务器查杀结果对所述待执行程序执行相应的操作。对于具体的处理过程,将在下面的实施例中详细介绍。本发明实施例提出的程序状况检测方法通过对待执行程序中被劫持的DLL文件进行检查,能够解决恶意程序利用可信任的白名单中的程序加载恶意DLL文件而导致主动防御无法正常拦截恶意程序的问题,取得了更加有效地拦截恶意程序的有益效果。实施例三下面,对于具体的程序状况检测方法进行详细描述。参照图3,示出了根据本发明一个实施例的程序状况检测方法的流程图,所述方法包括步骤S301,当检测到待执行程序创建进程时,通过服务器预先设置的云端鉴别条件检查所述待执行程序是否存在被劫持的DLL文件。本发明实施例主要是在待执行程序创建进程时,增加对DLL文件的查询过程,需要检查待执行程序是否存在被劫持的DLL文件,如果存在,则说明该待执行程序有可能被恶意程序利用,因此要进一步检查这些被劫持的DLL文件是否安全。在本实施例中,通过服务器预先设置的云端鉴别条件检查所述待执行程序是否存在被劫持的DLL文件。云端鉴别条件存储在服务器中,在云端鉴别条件中包括多个特定程序匹配条件和满足该特定程序匹配条件后需要检查的特定DLL文件信息,本实施例就是要将待执行程序的一些特征信息与云端鉴别条件进行匹配,然后再依据匹配结果进行判断。对于具体的匹配过程,是在服务器中执行的。具体的,该步骤S301可以包括以下子步骤子步骤al,获取所述待执行程序的特征信息。其中,待执行程序的特征信息可以包括以下信息中的至少一种待执行程序的文件名称信息、文件大小信息、文件特征值信息、文件图标信息、产品名称信息、内部名称信息、原始文件名信息,以及待执行程序创建的进程的命令行信息、进程路径信息和父进程路径信息。当然,所述待执行程序的特征信息还可以包括其他信息,本实施例对此并不加以限制。子步骤a2,将所述待执行程序的特征信息上传至服务器。由于本实施例需要通过预先设置的云端鉴别条件检查所述待执行程序是否存在被劫持的DLL文件,云端鉴别条件存储在服务器中,因此在获取到待执行程序的特征信息之后,首先需要将这些特征信息上传至服务器,由服务器将待执行程序的特征信息与云端鉴别条件进行匹配。子步骤a3,通过服务器将所述待执行程序的特征信息与所述云端鉴别条件进行匹配,获得所述待执行程序需要检查的DLL文件信息,将所述需要检查的DLL文件信息作为匹配结果;下面,具体介绍一下与云端鉴别条件进行匹配的过程。由上述描述可知,在云端鉴别条件中包括多个特定程序匹配条件和满足该特定程序匹配条件后需要检查的特定DLL文件信息,在本发明实施例中,可以将待执行程序的特征信息与特定程序匹配条件进行匹配,从而获得需要检查的DLL文件信息。由于特定程序匹配条件需要与待执行程序的特征信息进行匹配,因此,在所述特定程序匹配条件中也可以包括一些与程序的特征信息相对应的信息,通过这些信息即可找到与待执行程序的特征信息相匹配的特定程序匹配条件。在本实施例中,所述特定程序匹配条件可以包括以下信息中的至少一种文件名称信息、文件大小信息、文件特征值信息、文件图标信息、产品名称信息、内部名称信息、原始文件名信息,以及进程的命令行信息、进程路径信息和父进程路径信息。当然,所述特定程序匹配条件还可以包括其他信息,本实施例对此并不加以限制。具体的,通过服务器针对特定程序匹配条件的处理过程可以包括(i)将所述待执行程序的特征信息与所述特定程序匹配条件进行匹配;(ii)获取满足相匹配的特定程序匹配条件后需要检查的特定DLL文件信息;(iii)将所述特定DLL文件信息作为所述待执行程序需要检查的DLL文件信息。具体的,可以通过以下实例进行说明。如图4所示,是本发明实施例所述的云端鉴别条件的示意图。从图中可以看出,在该云端鉴别条件中包括条件和返回值两个部分,其中条件一列中包含了多个表达式,这些表达式即为本发明实施例所述的特定程序匹配条件,返回值一列包含了多个字符串,这些字符串中指定了满足对应的特定程序匹配条件后需要检查的特定DLL文件信息。在条件一列的表达式中可以包括产品名称信息(h1.GEN)、文件大小信息(h1.DSI)、内部名称信息(h1.1TN)、原始文件名信息(1^.(幻、进程路径信息(1^.051')、父进程路径信息(h1.SRC)、进程命令行信息(h1.CLE)等信息(图3是云端鉴别条件的部分截图,其中有些信息在图3中没有显示),这些信息适于与待执行程序的特征信息进行匹配。在返回值一列的字符串中“DLL:”后指定了满足对应的特定程序匹配条件后需要检查的特定DLL文件信息,在本实施例中,所述DLL文件信息可以为DLL文件的名称。另外,在返回值一列的字符串中,可以指定多个需要检查的特定DLL文件信息,每个DLL文件信息之间以逗号相隔。例如,获取到当前待执行程序的特征信息为产品名称信息“金山重装高手”,然后将该产品名称信息与云端鉴别条件进行匹配,经过判断,特定程序匹配条件中的“(h1.GEN:like,金山重装高手)”是与产品名称信息“金山重装高手”相匹配的条件,因此,可以从该条件对应的返回值“(return_extinfo:〈hips>DLL:kdump.dll,irrlicht.dll〈/hips>)”中获取需要检查的DLL文件名称为“kdump.dll”和“irrlicht.dll”。需要说明的是,本实施例所述的云端鉴别条件还可以包括其他的信息,例如是否生效、条件序号、应用比例等,本领域技术人员根据实际情况进行相应处理即可,本实施例对此并不加以限制。子步骤a4,接收服务器下发的所述待执行程序需要检查的DLL文件信息。服务器依据云端鉴别条件获取到所述待执行程序需要检查的DLL文件信息之后,需要将所述需要检查的DLL文件信息下发至客户端,然后客户端进一步对这些需要检查的DLL文件信息进行判断,以确定出所述待执行程序被劫持的DLL文件。子步骤a5,判断指定目录下是否存在所述需要检查的DLL文件信息,若存在,则确定所述待执行程序存在被劫持的DLL文件。一般来说,DLL文件会存储在系统目录中,如果在程序执行时需要调用某些DLL文件,则将这些DLL文件存储在指定目录下,因此存储在指定目录下的DLL文件即为该程序所调用的DLL文件。在本实施例中,所述指定目录可以为当前目录或者指定的相对目录。所以,客户端在接收到服务器下发的待执行程序需要检查的DLL文件信息之后,还需要进一步判断指定目录下是否存在所述需要检查的DLL文件信息。如果指定目录下存在所述需要检查的DLL文件信息,说明所述待执行程序存在被劫持的DLL文件,并且所述被劫持的DLL文件即为指定目录下存在的DLL文件,需要对这些被劫持的DLL文件进行查杀;如果指定目录下不存在所述需要检查的DLL文件信息,说明这些DLL文件不会被待执行程序加载,因此不需要对其进行查杀。例如,仍然以上述举例进行说明,如果服务器下发给客户端的待执行程序需要检查的DLL文件信息为DLL文件名称“kdump.dll”和“irrlicht.dll”,则判断指定目录下是否存在这些DLL文件名称。例如,判断出指定目录下存在其中的一个DLL文件名称为“kdump.dll",则将DLL文件“kdump.dll”作为待执行程序被劫持的DLL文件。需要说明的是,对应于上述实施例一,本实施例中的子步骤al为上述实施例一中的步骤SlOl的具体过程,子步骤a2-子步骤a3为上述实施例一中的步骤S102的具体过程,子步骤a4_子步骤a5为上述实施例一中的步骤S103的具体过程,本实施例在此不再详细论述。步骤S302,获取所述待执行程序对应的EXE文件。步骤S303,若指定目录下存在所述需要检查的DLL文件信息,则将所述待执行程序对应的EXE文件的信息和所述被劫持的DLL文件的信息上传至服务器。其中,上传的文件的信息可以包括文件的哈希值、文件路径等信息,本发明实施例对此并不加以限制。由于现有的主动防御只对程序的EXE文件进行检查,而不检查程序的DLL文件,如果恶意程序利用可信的白名单中的程序加载恶意DLL文件,则恶意程序就能绕过主动防御的拦截而成功执行。因此,本发明实施例提出不仅对程序的EXE文件进行检查,对程序的DLL文件也进行检查,但是并不是对所有的DLL文件进行检查,而是通过与云端鉴别条件匹配,确定出程序中被劫持的DLL文件,然后对这些被劫持的DLL文件进行查杀。具体的,对文件进行查杀的过程由服务器执行,因此,如果在步骤S201中判断出待执行程序中存在被劫持的DLL文件,并且确定出了被劫持的DLL文件,则将所述待执行程序对应的EXE文件的信息和所述被劫持的DLL文件的信息均上传至服务器,通过服务器对这些文件进行查杀;如果判断出待执行程序中不存在被劫持的DLL文件,则说明该待执行程序没有被恶意程序利用,此时只需要将待执行程序对应的EXE文件的信息上传至服务器即可。例如,在步骤S301中判断出待执行程序被劫持的DLL文件为“kdump.dll”,则将DLL文件“kdump.dll”的信息和产品名称信息为“金山重装高手”的待执行程序对应的EXE文件的信息上传至服务器。步骤S304,通过服务器对所述被劫持的DLL文件进行查杀。服务器在接收到客户端上传的待执行程序对应的EXE文件的信息和所述被劫持的DLL文件的信息之后,即依据所述文件信息对相应的文件进行查杀。该步骤S304具体可以包括子步骤bI,通过服务器获取所述EXE文件的等级和所述被劫持的DLL文件的等级。在本实施例中,所述等级包括安全等级、未知等级、可疑/高度可疑等级、以及恶意等级。对于等级的设置,可以设置等级为10-29时为安全等级(该等级的文件为白文件),等级为30-49时为未知等级(该等级的文件为灰文件),等级为50-69时为可疑/高度可疑等级(该等级的文件为可疑文件),等级大于或等于70时为恶意等级(该等级的文件为恶意文件)。当然,还可以设置所述等级为其他形式,本发明对此并不加以限制。子步骤b2,依据所述EXE文件的等级和所述被劫持的DLL文件的等级对所述被劫持的DLL文件进行查杀。具体的,可以通过用于查杀可移植执行体(PortableExecute,PE)类型文件的云查杀引擎,或者人工智能引擎(QihooVirtualMachine,QVM)对所述EXE文件和被劫持的DLL文件进行查杀。其中,PE类型文件通常指Windows操作系统上的程序文件,常见的PE类型文件包括EXE、DLL、OCX、SYS、COM等类型文件。杀毒引擎可以根据对文件等级的识别结果,按照杀毒引擎中保存的黑名单,和/或白名单对相应文件进行查杀。对于具体的查杀过程,本领域技术人员根据实际经验进行相应处理即可,本实施例在此不再详细论述。步骤S305,依据服务器查杀结果对所述待执行程序执行相应的操作。服务器在获取到EXE文件和被劫持的DLL文件的等级之后,将获取到的等级下发给客户端,客户端依据服务器查杀结果对所述待执行程序执行相应的操作。具体的,该步骤S305可以包括以下子步骤子步骤Cl,当所述EXE文件的等级和所述被劫持的DLL文件的等级中至少一个为恶意等级时,拦截所述待执行程序的执行。在本实施例中,所述被劫持的DLL文件为一个或多个,如果获取到的EXE文件的等级和被劫持的DLL文件的等级中存在恶意等级,则说明该待执行程序是有风险的,此时需要拦截所述待执行程序的执行。子步骤c2,当所述EXE文件的等级和所述被劫持的DLL文件的等级均为安全等级时,允许所述待执行程序的执行。子步骤c3,当所述EXE文件的等级和所述被劫持的DLL文件的等级中没有恶意等级,并且至少一个被劫持的DLL文件的等级高于所述EXE文件的等级时,获取其中最高的等级,将所述EXE文件的等级修改为所述最高的等级,允许所述待执行程序的执行,并拦截待执行程序执行后发起的可疑操作。如果EXE文件的等级和被劫持的DLL文件的等级不满足上述子步骤cl和子步骤c2中的两种情况,则将EXE文件的等级修改为所述最高的等级,并且可以允许所述待执行程序的执行,此时由于待执行程序的EXE文件可能也存在风险,因此当待执行程序执行后发起可疑操作时,可以对这些可疑的操作进行拦截。例如,在步骤S301中确定出待执行程序被劫持的DLL文件为“kdump.dll”,通过服务器获取到待执行程序的EXE文件的等级为安全等级,“kdump.dll”的等级为可疑/高度可疑等级,其中最高的文件等级为可疑/高度可疑等级,此时,即将所述EXE文件的等级修改为可疑/高度可疑等级。并且,由于EXE文件的等级被修改了,因此后续当该待执行程序执行某些可疑的操作时,即可通过EXE文件的等级判断该程序是否安全,如果EXE文件是可疑的,则可以对这些可疑操作进行拦截。其中,可疑的操作可以为以下任意一种文件操作、注册表操作、进程操作和网络操作。例如,对于文件操作可以为对windows操作系统相关的文件,或者一些装载量比较大的应用软件(如qq、阿里旺旺等),或者桌面的快捷方式等的操作;对于注册表的操作可以是程序写入注册表自动加载,以及破坏注册表等;对于进程操作可以是进程之间相互注入(一个进程在另一个进程中插入并执行一些代码)、进程远线程操作、结束进程(例如有些恶意程序结束掉QQ进程,重新登录会截取到密码,或者进程后续的一些操作)等;对于网络操作可以是安装驱动或服务、全局钩子注入,记录键盘操作、修改浏览器中网页内容等。当然,还可以包括其他一些操作,本发明实施例对此并不加以限制。需要说明的是,本实施例主要是针对恶意程序利用可信任的白名单中的程序加载恶意DLL文件的情况进行处理,因此,EXE文件的等级应为安全等级,如果有DLL文件的等级高于该EXE文件的等级,则修改EXE文件的等级。步骤S306,服务器定期检测所述云端鉴别条件是否满足升级条件,若满足,则服务器获取新的鉴别条件,并通过重新加载所述新的鉴别条件完成所述云端鉴别条件的升级更新。本实施例中的云端鉴别条件是需要定期升级更新的。具体的,可以在服务器中配置升级条件,服务器定期检测所述云端鉴别条件是否满足升级条件,当满足时,服务器直接获取新的云端鉴别条件,并用新的云端鉴别条件替换原有的云端鉴别条件,从而对原有的云端鉴别条件进行升级更新。其中,升级条件可以根据本地鉴别条件的文件版本来判断,比如有更新的版本时则升级,也可以指定当本地版本满足某个条件时升级为一个指定版本,本发明实施例对此并不加以限制。例如,如果发现了新的被利用的程序(QQ游戏),但是云端鉴别条件中不存在该程序,则可以在云端鉴别条件中增加一个特定程序匹配条件,其中包括该程序的特征信息(“QQ游戏”)以及满足该特定程序匹配条件后需要检查的DLL文件信息。当然,还可以采用其他的方式对云端鉴别条件进行升级更新,本实施例对此并不加以限制。由于云端鉴别条件保存在服务器中,因此当满足升级条件时,不需要客户端升级文件即可生效,因此可以立刻全网升级,升级速度较快,对于突发的恶意程序有很好的拦截效果,从而避免用户的损失。最后,需要说明的是,本发明实施例主要是针对恶意程序利用可信任的白名单中的程序加载恶意DLL文件的情况进行处理。如果待执行程序是可信任的白名单中的程序,此时主动防御技术只检查程序的EXE文件,将会判断该程序是安全的,从而允许其执行,但是如果恶意程序利用该白名单中的程序加载恶意DLL文件,则该恶意程序也会成功执行。因此,对于这种情况,本发明实施例通过在检测到待执行程序创建进程时,通过服务器预先设置的云端鉴别条件检查所述待执行程序是否存在被劫持的DLL文件,如果待执行程序存在被劫持的DLL文件,则通过服务器对所述被劫持的DLL文件进行查杀,然后依据服务器查杀结果对所述待执行程序执行相应的操作。由此解决了恶意程序利用可信的白名单中的程序加载恶意DLL文件而导致主动防御无法正常拦截恶意程序的问题,取得了更加有效地拦截恶意程序的有益效果。需要说明的是,对于前述的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请所必需的。实施例四参照图5,示出了根据本发明一个实施例的程序状况检测系统的结构框图,所述系统包括客户端501和服务器502。其中,客户端包括特征信息获取模块5011、特征信息上传模块5012和确定模块5013,所述服务器包括匹配模块5021。特征信息获取模块5011,适于当检测到待执行程序创建进程时,获取所述待执行程序的特征信息;特征信息上传模块5012,适于将所述待执行程序的特征信息上传至服务器;匹配模块5021,适于将所述待执行程序的特征信息与预先设置的云端鉴别条件进行匹配,得到匹配结果;确定模块5013,适于接收所述服务器返回的匹配结果,并依据所述匹配结果确定所述待执行程序是否存在被劫持的DLL文件。通过上述各个模块可以利用服务器中的云端鉴别条件检测待执行程序是否存在被劫持的DLL文件,如果检测到待执行程序存在被劫持的DLL文件,则后续可以通过服务器对被劫持的DLL文件进行查杀,然后依据服务器查杀结果对所述待执行程序执行相应的操作。从而能够解决恶意程序利用可信的白名单中的程序加载恶意DLL文件而导致主动防御无法正常拦截恶意程序的问题,更加有效地拦截恶意程序。实施例五参照图6,示出了根据本发明一个实施例的程序状况检测系统的结构框图,所述系统包括客户端601和服务器602。其中,客户端601包括检查模块6011、EXE文件获取模块6012、上传模块6013和处理模块6014;服务器602包括DLL文件信息获取模块6021、查杀模块6022和升级模块6023。检查模块6011,适于当检测到待执行程序创建进程时,通过服务器预先设置的云端鉴别条件检查所述待执行程序是否存在被劫持的DLL文件;需要说明的是,上述检查模块主要是适于检查所述待执行程序是否存在被劫持的DLL文件,相对于上述实施例四来说,该检查模块的功能可以对应于上述实施例四中的特征信息获取模块5011、特征信息上传模块5012、匹配模块5021和确定模块5013几个模块实现的功能。其中,所述待执行程序为白名单中的程序,所述云端鉴别条件存储服务器中。所述检查模块6011包括特征信息获取子模块,适于获取所述待执行程序的特征信息;其中,所述待执行程序的特征信息可以包括以下信息中的至少一种待执行程序的文件名称信息、文件大小信息、文件特征值信息、文件图标信息、产品名称信息、内部名称信息、原始文件名信息,以及待执行程序创建的进程的命令行信息、进程路径信息和父进程路径信息。特征信息上传子模块,适于将所述待执行程序的特征信息上传至服务器。所述服务器602包括DLL文件信息获取模块6021,适于通过将所述待执行程序的特征信息与所述云端鉴别条件进行匹配,获得所述待执行程序需要检查的DLL文件信息,将所述需要检查的DLL文件信息作为匹配结果;其中,所述云端鉴别条件中包括多个特定程序匹配条件和满足该特定程序匹配条件后需要检查的特定DLL文件信息。所述DLL文件信息获取模块包括匹配子模块,适于将所述待执行程序的特征信息与所述特定程序匹配条件进行匹配;所述特定程序匹配条件可以包括以下信息中的至少一种文件名称信息、文件大小信息、文件特征值信息、文件图标信息、产品名称信息、内部名称信息、原始文件名信息,以及进程的命令行信息、进程路径信息和父进程路径信息。特定DLL文件信息获取子模块,适于获取满足相匹配的特定程序匹配条件后需要检查的特定DLL文件信息;确定子模块,适于将所述特定DLL文件信息作为所述待执行程序需要检查的DLL文件信息。所述检查模块6011还包括接收子模块,适于接收服务器下发的所述待执行程序需要检查的DLL文件信息;判断子模块,适于判断指定目录下是否存在所述需要检查的DLL文件信息,若存在,则确定所述待执打程序存在被劫持的DLL文件;其中,所述被劫持的DLL文件为指定目录下存在的DLL文件,所述指定目录为当前目录或者指定的相对目录。需要说明的是,对应于上述实施例四,本实施例中的特征信息获取子模块可以为上述实施例四中的特征信息获取模块中包括的子模块,特征信息上传子模块可以为上述实施例四中的特征信息上传模块中包括的子模块,DLL文件信息获取子模块可以为上述实施例四中的匹配模块中包括的子模块,接收子模块和判断子模块可以为上述实施例四中的确定模块中包括的子模块,本实施例在此不再详细论述。所述客户端601还包括文件获取模块6012,适于在服务器的查杀模块对所述被劫持的DLL文件进行查杀之前,获取所述待执行程序对应的EXE文件;文件信息上传模块6013,适于将所述待执行程序对应的EXE文件的信息和所述被劫持的DLL文件的信息上传至服务器;所述服务器602还包括,适于当客户端的确定模块的检查结果为存在时,对所述被劫持的DLL文件进行查杀;所述查杀模块6022包括等级查询子模块,适于查询所述EXE文件的等级和所述被劫持的DLL文件的等级,所述等级包括安全等级、未知等级、可疑/高度可疑等级、以及恶意等级;查杀子模块,适于依据所述EXE文件的等级和所述被劫持的DLL文件的等级对所述被劫持的DLL文件进行查杀。所述客户端还包括处理模块6014,适于依据服务器查杀结果对所述待执行程序执行相应的操作;其中,所述被劫持的DLL文件为一个或多个,所述处理模块6014包括程序拦截子模块,适于当所述EXE文件的等级和所述被劫持的DLL文件的等级中至少一个为恶意等级时,拦截所述待执行程序的执行;执行子模块,适于当所述EXE文件的等级和所述被劫持的DLL文件的等级均为安全等级时,允许所述待执行程序的执行;可疑操作拦截子模块,适于当所述EXE文件的等级和所述被劫持的DLL文件的等级中没有恶意等级,并且至少一个被劫持的DLL文件的等级高于所述EXE文件的等级时,获取其中最高的等级,将所述EXE文件的等级修改为所述最高的等级,允许所述待执行程序的执行,并拦截待执行程序执行后发起的可疑操作。其中,所述可疑操作可以为以下任意一种文件操作、注册表操作、进程操作和网络操作,当然,所述可疑操作还可以为其他的一些操作,本发明实施例对此并不加以限制。所述服务器602还包括升级模块6023,适于定期检测所述云端鉴别条件是否满足升级条件,若满足,则获取新的鉴别条件,并通过重新加载所述新的鉴别条件完成所述云端鉴别条件的升级更新;其中,所述升级条件在服务器中进行配置。本发明实施例的程序状况检测系统可以依据云端鉴别条件检查待执行程序是否存在被劫持的DLL文件,并且对待执行程序被劫持的DLL文件进行查杀,然后依据服务器查杀结果对待执行程序执行相应的操作。由此解决了恶意程序利用可信的白名单中的程序加载恶意DLL文件而导致主动防御无法正常拦截恶意程序的问题,取得了更加有效地拦截恶意程序的有益效果。其次,本发明实施例的云端鉴别条件保存在服务器中,当满足升级条件时,不需要客户端升级文件即可生效,因此可以立刻全网升级,升级速度较快,对于突发的恶意程序有很好的拦截效果,从而避免用户的损失。对于上述程序状况检测系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见图I、图2和图3所示方法实施例的部分说明即可。本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。本领域技术人员易于想到的是上述各个实施例的任意组合应用都是可行的,故上述各个实施例之间的任意组合都是本申请的实施方案,但是由于篇幅限制,本说明书在此就不一一详述了。在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的程序状况检测系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。本文公开了Al、一种程序状况检测方法,包括当检测到待执行程序创建进程时,获取所述待执行程序的特征信息;将所述待执行程序的特征信息上传至服务器,由服务器将所述待执行程序的特征信息与预先设置的云端鉴别条件进行匹配,得到匹配结果;接收所述服务器返回的匹配结果,并依据所述匹配结果确定所述待执行程序是否存在被劫持的DLL文件;服务器定期检测所述云端鉴别条件是否满足升级条件,若满足,则服务器获取新的鉴别条件,并通过重新加载所述新的鉴别条件完成所述云端鉴别条件的升级更新;其中,所述升级条件在服务器中进行配置。A2、根据Al所述的方法,还包括若存在,则通过服务器对所述被劫持的DLL文件进行查杀;依据服务器查杀结果对所述待执行程序执行相应的操作。A3、根据Al所述的方法,所述匹配结果为所述待执行程序需要检查的DLL文件信息,所述依据所述匹配结果确定所述待执行程序是否存在被劫持的DLL文件,包括判断指定目录下是否存在所述需要检查的DLL文件信息,若存在,则确定所述待执行程序存在被劫持的DLL文件;其中,所述被劫持的DLL文件为指定目录下存在的DLL文件,所述指定目录为当前目录或者指定的相对目录。A4、根据A3所述的方法,所述云端鉴别条件中包括多个特定程序匹配条件和满足该特定程序匹配条件后需要检查的特定DLL文件信息。A5、根据A4所述的方法,所述由服务器将所述待执行程序的特征信息与预先设置的云端鉴别条件进行匹配,得到匹配结果,包括通过服务器将所述待执行程序的特征信息与所述特定程序匹配条件进行匹配;通过服务器获取满足相匹配的特定程序匹配条件后需要检查的特定DLL文件信息;将所述特定DLL文件信息作为所述待执行程序需要检查的DLL文件信息。A6、根据A5所述的方法,所述特定程序匹配条件包括以下信息中的至少一种文件名称信息、文件大小信息、文件特征值信息、文件图标信息、产品名称信息、内部名称信息、原始文件名信息,以及进程的命令行信息、进程路径信息和父进程路径信息;所述待执行程序的特征信息包括以下信息中的至少一种待执行程序的文件名称信息、文件大小信息、文件特征值信息、文件图标信息、产品名称信息、内部名称信息、原始文件名信息,以及待执行程序创建的进程的命令行信息、进程路径信息和父进程路径信息。A7、根据A2所述的方法,在通过服务器对所述被劫持的DLL文件进行查杀之前,还包括获取所述待执行程序对应的EXE文件;将所述待执行程序对应的EXE文件的信息和所述被劫持的DLL文件的信息上传至服务器;所述通过服务器对所述被劫持的DLL文件进行查杀,包括通过服务器获取所述EXE文件的等级和所述被劫持的DLL文件的等级,所述等级包括安全等级、未知等级、可疑/高度可疑等级、以及恶意等级;依据所述EXE文件的等级和所述被劫持的DLL文件的等级对所述被劫持的DLL文件进行查杀。A8、根据A7所述的方法,所述被劫持的DLL文件为一个或多个,所述依据服务器查杀结果对所述待执行程序执行相应的操作,包括当所述EXE文件的等级和所述被劫持的DLL文件的等级中至少一个为恶意等级时,拦截所述待执行程序的执行;当所述EXE文件的等级和所述被劫持的DLL文件的等级均为安全等级时,允许所述待执行程序的执行;当所述EXE文件的等级和所述被劫持的DLL文件的等级中没有恶意等级,并且至少一个被劫持的DLL文件的等级高于所述EXE文件的等级时,获取其中最高的等级,将所述EXE文件的等级修改为所述最高的等级,允许所述待执行程序的执行,并拦截待执行程序执行后发起的可疑操作。A9、根据AS所述的方法,所述可疑操作为以下任意一种文件操作、注册表操作、进程操作和网络操作。A10、根据Al所述的方法,所述待执行程序为白名单中的程序。AU、根据Al所述的方法,所述云端鉴别条件存储在服务器中。本文公开了A12、一种程序状况检测系统,包括客户端和服务器,其中,客户端包括特征信息获取模块,适于当检测到待执行程序创建进程时,获取所述待执行程序的特征信息;特征信息上传模块,适于将所述待执行程序的特征信息上传至服务器;所述服务器包括匹配模块,适于将所述待执行程序的特征信息与预先设置的云端鉴别条件进行匹配,得到匹配结果;升级模块,适于定期检测所述云端鉴别条件是否满足升级条件,若满足,则获取新的鉴别条件,并通过重新加载所述新的鉴别条件完成所述云端鉴别条件的升级更新;其中,所述升级条件在服务器中进行配置;所述客户端还包括确定模块,适于接收所述服务器返回的匹配结果,并依据所述匹配结果确定所述待执行程序是否存在被劫持的DLL文件。A13、根据A12所述的系统,所述服务器还包括查杀模块,适于当客户端的确定模块的检查结果为存在时,对所述被劫持的DLL文件进行查杀;所述客户端还包括处理模块,适于依据服务器查杀结果对所述待执行程序执行相应的操作。A14、根据A12所述的系统,所述匹配结果为所述待执行程序需要检查的DLL文件信息,所述确定模块包括判断子模块,适于判断指定目录下是否存在所述需要检查的DLL文件信息,若存在,则确定所述待执行程序存在被劫持的DLL文件;其中,所述被劫持的DLL文件为指定目录下存在的DLL文件,所述指定目录为当前目录或者指定的相对目录。A15、根据A14所述的系统,所述云端鉴别条件中包括多个特定程序匹配条件和满足该特定程序匹配条件后需要检查的特定DLL文件信息。A16、根据A15所述的系统,所述匹配模块包括匹配子模块,适于将所述待执行程序的特征信息与所述特定程序匹配条件进行匹配;特定DLL文件信息获取子模块,适于获取满足相匹配的特定程序匹配条件后需要检查的特定DLL文件信息;确定子模块,适于将所述特定DLL文件信息作为所述待执行程序需要检查的DLL文件信息。A17、根据A16所述的系统,所述特定程序匹配条件包括以下信息中的至少一种文件名称信息、文件大小信息、文件特征值信息、文件图标信息、产品名称信息、内部名称信息、原始文件名信息,以及进程的命令行信息、进程路径信息和父进程路径信息;所述待执行程序的特征信息包括以下信息中的至少一种待执行程序的文件名称信息、文件大小信息、文件特征值信息、文件图标信息、产品名称信息、内部名称信息、原始文件名信息,以及待执行程序创建的进程的命令行信息、进程路径信息和父进程路径信息。A18、根据A13所述的系统,所述客户端还包括文件获取模块,适于在服务器的查杀模块对所述被劫持的DLL文件进行查杀之前,获取所述待执行程序对应的EXE文件;文件信息上传模块,适于将所述待执行程序对应的EXE文件的信息和所述被劫持的DLL文件的信息上传至服务器;所述查杀模块包括等级查询子模块,适于查询所述EXE文件的等级和所述被劫持的DLL文件的等级,所述等级包括安全等级、未知等级、可疑/高度可疑等级、以及恶意等级;查杀子模块,适于依据所述EXE文件的等级和所述被劫持的DLL文件的等级对所述被劫持的DLL文件进行查杀。A19、根据A18所述的系统,所述被劫持的DLL文件为一个或多个,所述处理模块包括程序拦截子模块,适于当所述EXE文件的等级和所述被劫持的DLL文件的等级中至少一个为恶意等级时,拦截所述待执行程序的执行;执行子模块,适于当所述EXE文件的等级和所述被劫持的DLL文件的等级均为安全等级时,允许所述待执行程序的执行;可疑操作拦截子模块,适于当所述EXE文件的等级和所述被劫持的DLL文件的等级中没有恶意等级,并且至少一个被劫持的DLL文件的等级高于所述EXE文件的等级时,获取其中最高的等级,将所述EXE文件的等级修改为所述最高的等级,允许所述待执行程序的执行,并拦截待执行程序执行后发起的可疑操作。A20、根据A19所述的系统,所述可疑操作为以下任意一种文件操作、注册表操作、进程操作和网络操作。A21、根据A12所述的系统,所述待执行程序为白名单中的程序。A22、根据A12所述的系统,所述云端鉴别条件存储在服务器中。权利要求1.一种程序状况检测方法,包括当检测到待执行程序创建进程时,获取所述待执行程序的特征信息;将所述待执行程序的特征信息上传至服务器,由服务器将所述待执行程序的特征信息与预先设置的云端鉴别条件进行匹配,得到匹配结果;接收所述服务器返回的匹配结果,并依据所述匹配结果确定所述待执行程序是否存在被劫持的DLL文件;服务器定期检测所述云端鉴别条件是否满足升级条件,若满足,则服务器获取新的鉴别条件,并通过重新加载所述新的鉴别条件完成所述云端鉴别条件的升级更新;其中,所述升级条件在服务器中进行配置。2.根据权利要求I所述的方法,还包括若存在,则通过服务器对所述被劫持的DLL文件进行查杀;依据服务器查杀结果对所述待执行程序执行相应的操作。3.根据权利要求I所述的方法,所述匹配结果为所述待执行程序需要检查的DLL文件信息,所述依据所述匹配结果确定所述待执行程序是否存在被劫持的DLL文件,包括判断指定目录下是否存在所述需要检查的DLL文件信息,若存在,则确定所述待执行程序存在被劫持的DLL文件;其中,所述被劫持的DLL文件为指定目录下存在的DLL文件,所述指定目录为当前目录或者指定的相对目录。4.根据权利要求3所述的方法,所述云端鉴别条件中包括多个特定程序匹配条件和满足该特定程序匹配条件后需要检查的特定DLL文件信息。5.根据权利要求4所述的方法,所述由服务器将所述待执行程序的特征信息与预先设置的云端鉴别条件进行匹配,得到匹配结果,包括通过服务器将所述待执行程序的特征信息与所述特定程序匹配条件进行匹配;通过服务器获取满足相匹配的特定程序匹配条件后需要检查的特定DLL文件信息;将所述特定DLL文件信息作为所述待执行程序需要检查的DLL文件信息。6.根据权利要求5所述的方法,所述特定程序匹配条件包括以下信息中的至少一种文件名称信息、文件大小信息、文件特征值信息、文件图标信息、产品名称信息、内部名称信息、原始文件名信息,以及进程的命令行信息、进程路径信息和父进程路径信息;所述待执行程序的特征信息包括以下信息中的至少一种待执行程序的文件名称信息、文件大小信息、文件特征值信息、文件图标信息、产品名称信息、内部名称信息、原始文件名信息,以及待执行程序创建的进程的命令行信息、进程路径信息和父进程路径信息。7.根据权利要求2所述的方法,在通过服务器对所述被劫持的DLL文件进行查杀之前,还包括获取所述待执行程序对应的EXE文件;将所述待执行程序对应的EXE文件的信息和所述被劫持的DLL文件的信息上传至服务器;所述通过服务器对所述被劫持的DLL文件进行查杀,包括通过服务器获取所述EXE文件的等级和所述被劫持的DLL文件的等级,所述等级包括安全等级、未知等级、可疑/高度可疑等级、以及恶意等级;依据所述EXE文件的等级和所述被劫持的DLL文件的等级对所述被劫持的DLL文件进行查杀。8.根据权利要求7所述的方法,所述被劫持的DLL文件为一个或多个,所述依据服务器查杀结果对所述待执行程序执行相应的操作,包括当所述EXE文件的等级和所述被劫持的DLL文件的等级中至少一个为恶意等级时,拦截所述待执行程序的执行;当所述EXE文件的等级和所述被劫持的DLL文件的等级均为安全等级时,允许所述待执行程序的执行;当所述EXE文件的等级和所述被劫持的DLL文件的等级中没有恶意等级,并且至少一个被劫持的DLL文件的等级高于所述EXE文件的等级时,获取其中最高的等级,将所述EXE文件的等级修改为所述最高的等级,允许所述待执行程序的执行,并拦截待执行程序执行后发起的可疑操作。9.根据权利要求8所述的方法,所述可疑操作为以下任意一种文件操作、注册表操作、进程操作和网络操作。10.根据权利要求I所述的方法,所述待执行程序为白名单中的程序。11.根据权利要求I所述的方法,所述云端鉴别条件存储在服务器中。12.—种程序状况检测系统,包括客户端和服务器,其中,客户端包括特征信息获取模块,适于当检测到待执行程序创建进程时,获取所述待执行程序的特征信息;特征信息上传模块,适于将所述待执行程序的特征信息上传至服务器;所述服务器包括匹配模块,适于将所述待执行程序的特征信息与预先设置的云端鉴别条件进行匹配,得到匹配结果;升级模块,适于定期检测所述云端鉴别条件是否满足升级条件,若满足,则获取新的鉴别条件,并通过重新加载所述新的鉴别条件完成所述云端鉴别条件的升级更新;其中,所述升级条件在服务器中进行配置;所述客户端还包括确定模块,适于接收所述服务器返回的匹配结果,并依据所述匹配结果确定所述待执行程序是否存在被劫持的DLL文件。13.根据权利要求12所述的系统,所述服务器还包括查杀模块,适于当客户端的确定模块的检查结果为存在时,对所述被劫持的DLL文件进行查杀;所述客户端还包括处理模块,适于依据服务器查杀结果对所述待执行程序执行相应的操作。14.根据权利要求12所述的系统,所述匹配结果为所述待执行程序需要检查的DLL文件信息,所述确定模块包括判断子模块,适于判断指定目录下是否存在所述需要检查的DLL文件信息,若存在,则确定所述待执打程序存在被劫持的DLL文件;其中,所述被劫持的DLL文件为指定目录下存在的DLL文件,所述指定目录为当前目录或者指定的相对目录。15.根据权利要求14所述的系统,所述云端鉴别条件中包括多个特定程序匹配条件和满足该特定程序匹配条件后需要检查的特定DLL文件信息。16.根据权利要求15所述的系统,所述匹配模块包括匹配子模块,适于将所述待执行程序的特征信息与所述特定程序匹配条件进行匹配;特定DLL文件信息获取子模块,适于获取满足相匹配的特定程序匹配条件后需要检查的特定DLL文件信息;确定子模块,适于将所述特定DLL文件信息作为所述待执行程序需要检查的DLL文件信息。17.根据权利要求16所述的系统,所述特定程序匹配条件包括以下信息中的至少一种文件名称信息、文件大小信息、文件特征值信息、文件图标信息、产品名称信息、内部名称信息、原始文件名信息,以及进程的命令行信息、进程路径信息和父进程路径信息;所述待执行程序的特征信息包括以下信息中的至少一种待执行程序的文件名称信息、文件大小信息、文件特征值信息、文件图标信息、产品名称信息、内部名称信息、原始文件名信息,以及待执行程序创建的进程的命令行信息、进程路径信息和父进程路径信息。18.根据权利要求13所述的系统,所述客户端还包括文件获取模块,适于在服务器的查杀模块对所述被劫持的DLL文件进行查杀之前,获取所述待执行程序对应的EXE文件;文件信息上传模块,适于将所述待执行程序对应的EXE文件的信息和所述被劫持的DLL文件的信息上传至服务器;所述查杀模块包括等级查询子模块,适于查询所述EXE文件的等级和所述被劫持的DLL文件的等级,所述等级包括安全等级、未知等级、可疑/高度可疑等级、以及恶意等级;查杀子模块,适于依据所述EXE文件的等级和所述被劫持的DLL文件的等级对所述被劫持的DLL文件进行查杀。19.根据权利要求18所述的系统,所述被劫持的DLL文件为一个或多个,所述处理模块包括程序拦截子模块,适于当所述EXE文件的等级和所述被劫持的DLL文件的等级中至少一个为恶意等级时,拦截所述待执行程序的执行;执行子模块,适于当所述EXE文件的等级和所述被劫持的DLL文件的等级均为安全等级时,允许所述待执行程序的执行;可疑操作拦截子模块,适于当所述EXE文件的等级和所述被劫持的DLL文件的等级中没有恶意等级,并且至少一个被劫持的DLL文件的等级高于所述EXE文件的等级时,获取其中最高的等级,将所述EXE文件的等级修改为所述最高的等级,允许所述待执行程序的执行,并拦截待执行程序执行后发起的可疑操作。20.根据权利要求12所述的系统,所述待执行程序为白名单中的程序。全文摘要本发明实施例公开了一种程序状况检测方法和系统,以解决恶意程序利用可信的白名单中的程序加载恶意DLL文件而导致主动防御无法正常拦截恶意程序的问题。其中,该系统包括客户端和服务器,其中,客户端包括特征信息获取模块;特征信息上传模块;所述服务器包括匹配模块;升级模块,适于定期检测所述云端鉴别条件是否满足升级条件,若满足,则获取新的鉴别条件,并通过重新加载所述新的鉴别条件完成云端鉴别条件的升级更新;其中,升级条件在服务器中进行配置;客户端还包括确定模块,适于接收所述服务器返回的匹配结果,并依据所述匹配结果确定所述待执行程序是否存在被劫持的DLL文件。本发明实施例能够更加有效地拦截恶意程序。文档编号G06F21/56GK102982281SQ20121044928公开日2013年3月20日申请日期2012年11月9日优先权日2012年11月9日发明者张晓霖,郑文彬申请人:北京奇虎科技有限公司,奇智软件(北京)有限公司