[go: up one dir, main page]

CN102982281B - Program state testing method and system - Google Patents

Program state testing method and system Download PDF

Info

Publication number
CN102982281B
CN102982281B CN201210449282.4A CN201210449282A CN102982281B CN 102982281 B CN102982281 B CN 102982281B CN 201210449282 A CN201210449282 A CN 201210449282A CN 102982281 B CN102982281 B CN 102982281B
Authority
CN
China
Prior art keywords
program
information
file
dll file
server
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
Application number
CN201210449282.4A
Other languages
Chinese (zh)
Other versions
CN102982281A (en
Inventor
张晓霖
郑文彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qizhi Business Consulting Co ltd
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201210449282.4A priority Critical patent/CN102982281B/en
Publication of CN102982281A publication Critical patent/CN102982281A/en
Application granted granted Critical
Publication of CN102982281B publication Critical patent/CN102982281B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例公开了一种程序状况检测方法和系统,以解决恶意程序利用可信的白名单中的程序加载恶意DLL文件而导致主动防御无法正常拦截恶意程序的问题。其中,该系统包括客户端和服务器,其中,客户端包括:特征信息获取模块;特征信息上传模块;所述服务器包括:匹配模块;升级模块,适于定期检测所述云端鉴别条件是否满足升级条件,若满足,则获取新的鉴别条件,并通过重新加载所述新的鉴别条件完成云端鉴别条件的升级更新;其中,升级条件在服务器中进行配置;客户端还包括:确定模块,适于接收所述服务器返回的匹配结果,并依据所述匹配结果确定所述待执行程序是否存在被劫持的DLL文件。本发明实施例能够更加有效地拦截恶意程序。

The embodiment of the present invention discloses a program status detection method and system to solve the problem that a malicious program loads a malicious DLL file with a program in a credible white list, so that the active defense cannot normally intercept the malicious program. Wherein, the system includes a client and a server, wherein the client includes: a feature information acquisition module; a feature information upload module; the server includes: a matching module; an upgrade module, which is suitable for regularly detecting whether the cloud authentication condition meets the upgrade condition , if satisfied, then obtain a new authentication condition, and complete the upgrade update of the cloud authentication condition by reloading the new authentication condition; wherein, the upgrade condition is configured in the server; the client also includes: a determination module, suitable for receiving The matching result returned by the server, and according to the matching result, it is determined whether there is a hijacked DLL file in the program to be executed. The embodiments of the present invention can more effectively intercept malicious programs.

Description

程序状况检测方法和系统Program condition detection method and system

技术领域technical field

本发明涉及网络安全技术领域,具体涉及一种程序状况检测方法和系统。The invention relates to the technical field of network security, in particular to a program status detection method and system.

背景技术Background technique

恶意程序是一个概括性的术语,指任何故意创建用来执行未经授权并通常是有害行为的软件程序。计算机病毒、后门程序、键盘记录器、密码盗取者、Word和Excel宏病毒、引导区病毒、脚本病毒(batch,windowsshell,java等)、木马、犯罪软件、间谍软件和广告软件等等,都是一些可以称之为恶意程序的例子。Malicious program is an umbrella term for any software program intentionally created to perform unauthorized and often harmful acts. Computer viruses, backdoor programs, keyloggers, password stealers, Word and Excel macro viruses, boot sector viruses, script viruses (batch, windowsshell, java, etc.), Trojan horses, crimeware, spyware and adware, etc., are all are some examples of what could be called malicious programs.

现今全球恶意程序数量呈几何级增长,为了适应恶意程序的更新速度,以快速地识别和查杀恶意程序,目前普遍利用主动防御技术查杀恶意程序。主动防御技术是基于程序的行为进行自主分析判断的实时防护技术,其从最原始的定义出发,直接将程序的行为作为判断恶意程序的依据,进而衍生出通过在本地使用特征库、在本地设置行为阈值以及在本地启发式杀毒等方式来判别、拦截恶意程序的行为,从而在一定程度上达到保护客户端设备的目的。Nowadays, the number of malicious programs in the world is increasing geometrically. In order to adapt to the update speed of malicious programs and quickly identify and kill malicious programs, active defense technologies are generally used to kill malicious programs. Active defense technology is a real-time protection technology based on independent analysis and judgment based on the behavior of the program. Starting from the most original definition, it directly uses the behavior of the program as the basis for judging malicious programs, and then derives the local Behavior thresholds and local heuristic anti-virus methods are used to identify and block the behavior of malicious programs, so as to achieve the purpose of protecting client devices to a certain extent.

但是,为了尽可能减小对程序性能的影响,主动防御技术只对程序的exe文件进行检测,而不检查程序加载的动态链接库(DynamicLinkLibrary,DLL)文件。因此,一些恶意程序就利用这一点,通过DLL劫持技术将该恶意程序的DLL文件与可信任的白名单中的程序(例如操作系统自带的程序)打包在一起,当用户选择执行该白名单中的程序时,其中的恶意程序的DLL文件就会被加载,从而使主动防御技术不能成功拦截该恶意程序。However, in order to minimize the impact on program performance, the active defense technology only detects the exe file of the program, and does not check the dynamic link library (DynamicLinkLibrary, DLL) file loaded by the program. Therefore, some malicious programs take advantage of this, and use DLL hijacking technology to package the DLL file of the malicious program with the programs in the trusted white list (such as the programs that come with the operating system). When the user chooses to execute the white list When the program in the program is installed, the DLL file of the malicious program will be loaded, so that the active defense technology cannot successfully intercept the malicious program.

发明内容Contents of the invention

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的程序状况检测系统和相应的程序状况检测方法。In view of the above problems, the present invention is proposed to provide a program status detection system and a corresponding program status detection method that overcome the above problems or at least partially solve the above problems.

依据本发明的一个方面,提供了一种程序状况检测方法,包括:According to one aspect of the present invention, a program status detection method is provided, including:

当检测到待执行程序创建进程时,获取所述待执行程序的特征信息;When the creation process of the program to be executed is detected, the characteristic information of the program to be executed is acquired;

将所述待执行程序的特征信息上传至服务器,由服务器将所述待执行程序的特征信息与预先设置的云端鉴别条件进行匹配,得到匹配结果;uploading the feature information of the program to be executed to the server, and the server matches the feature information of the program to be executed with the pre-set cloud authentication conditions to obtain a matching result;

接收所述服务器返回的匹配结果,并依据所述匹配结果确定所述待执行程序是否存在被劫持的DLL文件;receiving the matching result returned by the server, and determining whether there is a hijacked DLL file in the program to be executed according to the matching result;

服务器定期检测所述云端鉴别条件是否满足升级条件,若满足,则服务器获取新的鉴别条件,并通过重新加载所述新的鉴别条件完成所述云端鉴别条件的升级更新;The server regularly detects whether the cloud authentication condition meets the upgrade condition, and if so, the server obtains a new authentication condition, and completes the upgrade update of the cloud authentication condition by reloading the new authentication condition;

其中,所述升级条件在服务器中进行配置。Wherein, the upgrade conditions are configured in the server.

本发明实施例中,程序状况检测方法还包括:In the embodiment of the present invention, the program status detection method further includes:

若存在,则通过服务器对所述被劫持的DLL文件进行查杀;If it exists, the hijacked DLL file is checked and killed by the server;

依据服务器查杀结果对所述待执行程序执行相应的操作。Perform corresponding operations on the program to be executed according to the server killing result.

本发明实施例中,匹配结果为所述待执行程序需要检查的DLL文件信息,In the embodiment of the present invention, the matching result is the DLL file information that the program to be executed needs to check,

所述依据所述匹配结果确定所述待执行程序是否存在被劫持的DLL文件,包括:The determining whether there is a hijacked DLL file in the program to be executed according to the matching result includes:

判断指定目录下是否存在所述需要检查的DLL文件信息,若存在,则确定所述待执行程序存在被劫持的DLL文件;其中,所述被劫持的DLL文件为指定目录下存在的DLL文件,所述指定目录为当前目录或者指定的相对目录。Judging whether there is the DLL file information that needs to be checked under the specified directory, if it exists, then determine that there is a hijacked DLL file in the program to be executed; wherein, the hijacked DLL file is a DLL file that exists under the specified directory, The specified directory is the current directory or a specified relative directory.

本发明实施例中,云端鉴别条件中包括多个特定程序匹配条件和满足该特定程序匹配条件后需要检查的特定DLL文件信息。In the embodiment of the present invention, the cloud identification conditions include a plurality of specific program matching conditions and specific DLL file information to be checked after the specific program matching conditions are met.

本发明实施例中,由服务器将所述待执行程序的特征信息与预先设置的云端鉴别条件进行匹配,得到匹配结果,包括:In the embodiment of the present invention, the server matches the feature information of the program to be executed with the pre-set cloud identification conditions to obtain the matching result, including:

通过服务器将所述待执行程序的特征信息与所述特定程序匹配条件进行匹配;matching the feature information of the program to be executed with the matching condition of the specific program through the server;

通过服务器获取满足相匹配的特定程序匹配条件后需要检查的特定DLL文件信息;Obtain the specific DLL file information that needs to be checked after the specific program matching condition is met through the server;

将所述特定DLL文件信息作为所述待执行程序需要检查的DLL文件信息。The specific DLL file information is used as the DLL file information to be checked by the program to be executed.

本发明实施例中,特定程序匹配条件包括以下信息中的至少一种:In the embodiment of the present invention, the specific program matching condition includes at least one of the following information:

文件名称信息、文件大小信息、文件特征值信息、文件图标信息、产品名称信息、内部名称信息、原始文件名信息,以及进程的命令行信息、进程路径信息和父进程路径信息;File name information, file size information, file feature value information, file icon information, product name information, internal name information, original file name information, and process command line information, process path information, and parent process path information;

待执行程序的特征信息包括以下信息中的至少一种:The characteristic information of the program to be executed includes at least one of the following information:

待执行程序的文件名称信息、文件大小信息、文件特征值信息、文件图标信息、产品名称信息、内部名称信息、原始文件名信息,以及待执行程序创建的进程的命令行信息、进程路径信息和父进程路径信息。The file name information, file size information, file feature value information, file icon information, product name information, internal name information, original file name information of the program to be executed, as well as the command line information, process path information and process path information of the process created by the program to be executed Parent process path information.

本发明实施例中,在通过服务器对所述被劫持的DLL文件进行查杀之前,还包括:In the embodiment of the present invention, before checking and killing the hijacked DLL file by the server, it also includes:

获取所述待执行程序对应的EXE文件;Obtain the EXE file corresponding to the program to be executed;

将所述待执行程序对应的EXE文件的信息和所述被劫持的DLL文件的信息上传至服务器;Upload the information of the EXE file corresponding to the program to be executed and the information of the hijacked DLL file to the server;

所述通过服务器对所述被劫持的DLL文件进行查杀,包括:Said checking and killing the hijacked DLL file through the server includes:

通过服务器获取所述EXE文件的等级和所述被劫持的DLL文件的等级,所述等级包括安全等级、未知等级、可疑/高度可疑等级、以及恶意等级;Obtain the level of the EXE file and the level of the hijacked DLL file through the server, the level includes a security level, an unknown level, a suspicious/highly suspicious level, and a malicious level;

依据所述EXE文件的等级和所述被劫持的DLL文件的等级对所述被劫持的DLL文件进行查杀。The hijacked DLL file is scanned and killed according to the level of the EXE file and the level of the hijacked DLL file.

本发明实施例中,被劫持的DLL文件为一个或多个,In the embodiment of the present invention, the hijacked DLL file is one or more,

依据服务器查杀结果对所述待执行程序执行相应的操作,包括:Perform corresponding operations on the program to be executed according to the server killing result, including:

当所述EXE文件的等级和所述被劫持的DLL文件的等级中至少一个为恶意等级时,拦截所述待执行程序的执行;When at least one of the level of the EXE file and the level of the hijacked DLL file is a malicious level, intercept the execution of the program to be executed;

当所述EXE文件的等级和所述被劫持的DLL文件的等级均为安全等级时,允许所述待执行程序的执行;When the level of the EXE file and the level of the hijacked DLL file are both security levels, the execution of the program to be executed is allowed;

当所述EXE文件的等级和所述被劫持的DLL文件的等级中没有恶意等级,并且至少一个被劫持的DLL文件的等级高于所述EXE文件的等级时,获取其中最高的等级,将所述EXE文件的等级修改为所述最高的等级,允许所述待执行程序的执行,并拦截待执行程序执行后发起的可疑操作。When there is no malicious level in the level of the EXE file and the level of the hijacked DLL file, and at least one level of the hijacked DLL file is higher than the level of the EXE file, the highest level is obtained, and the Modify the level of the EXE file to the highest level, allow the execution of the program to be executed, and intercept suspicious operations initiated after the program to be executed is executed.

本发明实施例中,可疑操作为以下任意一种:In the embodiment of the present invention, the suspicious operation is any of the following:

文件操作、注册表操作、进程操作和网络操作。File operations, registry operations, process operations, and network operations.

本发明实施例中,待执行程序为白名单中的程序。In the embodiment of the present invention, the program to be executed is a program in the white list.

本发明实施例中,云端鉴别条件存储在服务器中。In the embodiment of the present invention, the cloud authentication conditions are stored in the server.

依据本发明的另一方面,提供了一种程序状况检测系统,包括客户端和服务器,其中,According to another aspect of the present invention, a program status detection system is provided, including a client and a server, wherein,

客户端包括:Clients include:

特征信息获取模块,适于当检测到待执行程序创建进程时,获取所述待执行程序的特征信息;A feature information acquisition module, adapted to acquire feature information of the program to be executed when a creation process of the program to be executed is detected;

特征信息上传模块,适于将所述待执行程序的特征信息上传至服务器;A characteristic information uploading module, adapted to upload the characteristic information of the program to be executed to the server;

所述服务器包括:The servers include:

匹配模块,适于将所述待执行程序的特征信息与预先设置的云端鉴别条件进行匹配,得到匹配结果;The matching module is adapted to match the feature information of the program to be executed with the pre-set cloud identification conditions to obtain a matching result;

升级模块,适于定期检测所述云端鉴别条件是否满足升级条件,若满足,则获取新的鉴别条件,并通过重新加载所述新的鉴别条件完成所述云端鉴别条件的升级更新;The upgrade module is adapted to regularly detect whether the cloud authentication condition meets the upgrade condition, and if so, obtains a new authentication condition, and completes the upgrade update of the cloud authentication condition by reloading the new authentication condition;

其中,所述升级条件在服务器中进行配置;Wherein, the upgrade condition is configured in the server;

所述客户端还包括:The client also includes:

确定模块,适于接收所述服务器返回的匹配结果,并依据所述匹配结果确定所述待执行程序是否存在被劫持的DLL文件。The determining module is adapted to receive the matching result returned by the server, and determine whether there is a hijacked DLL file in the program to be executed according to the matching result.

本发明实施例中,服务器还包括:In the embodiment of the present invention, the server also includes:

查杀模块,适于当客户端的确定模块的检查结果为存在时,对所述被劫持的DLL文件进行查杀;The checking and killing module is suitable for checking and killing the hijacked DLL file when the checking result of the determination module of the client is existence;

客户端还包括:The client also includes:

处理模块,适于依据服务器查杀结果对所述待执行程序执行相应的操作。The processing module is adapted to perform a corresponding operation on the program to be executed according to the result of the killing of the server.

本发明实施例中,匹配结果为所述待执行程序需要检查的DLL文件信息,In the embodiment of the present invention, the matching result is the DLL file information that the program to be executed needs to check,

确定模块包括:Identify modules include:

判断子模块,适于判断指定目录下是否存在所述需要检查的DLL文件信息,若存在,则确定所述待执行程序存在被劫持的DLL文件;其中,所述被劫持的DLL文件为指定目录下存在的DLL文件,所述指定目录为当前目录或者指定的相对目录。The judging submodule is adapted to judge whether the DLL file information to be checked exists under the specified directory, and if it exists, it is determined that there is a hijacked DLL file in the program to be executed; wherein, the hijacked DLL file is a specified directory The DLL file exists under, and the specified directory is the current directory or a specified relative directory.

本发明实施例中,云端鉴别条件中包括多个特定程序匹配条件和满足该特定程序匹配条件后需要检查的特定DLL文件信息。In the embodiment of the present invention, the cloud identification conditions include a plurality of specific program matching conditions and specific DLL file information to be checked after the specific program matching conditions are met.

本发明实施例中,匹配模块包括:In the embodiment of the present invention, the matching module includes:

匹配子模块,适于将所述待执行程序的特征信息与所述特定程序匹配条件进行匹配;a matching submodule, adapted to match the characteristic information of the program to be executed with the specific program matching condition;

特定DLL文件信息获取子模块,适于获取满足相匹配的特定程序匹配条件后需要检查的特定DLL文件信息;The specific DLL file information acquisition sub-module is suitable for obtaining specific DLL file information that needs to be checked after matching specific program matching conditions are met;

确定子模块,适于将所述特定DLL文件信息作为所述待执行程序需要检查的DLL文件信息。The determining submodule is adapted to use the specific DLL file information as the DLL file information to be checked by the program to be executed.

本发明实施例中,特定程序匹配条件包括以下信息中的至少一种:In the embodiment of the present invention, the specific program matching condition includes at least one of the following information:

文件名称信息、文件大小信息、文件特征值信息、文件图标信息、产品名称信息、内部名称信息、原始文件名信息,以及进程的命令行信息、进程路径信息和父进程路径信息;File name information, file size information, file feature value information, file icon information, product name information, internal name information, original file name information, and process command line information, process path information, and parent process path information;

待执行程序的特征信息包括以下信息中的至少一种:The characteristic information of the program to be executed includes at least one of the following information:

待执行程序的文件名称信息、文件大小信息、文件特征值信息、文件图标信息、产品名称信息、内部名称信息、原始文件名信息,以及待执行程序创建的进程的命令行信息、进程路径信息和父进程路径信息。The file name information, file size information, file feature value information, file icon information, product name information, internal name information, original file name information of the program to be executed, as well as the command line information, process path information and process path information of the process created by the program to be executed Parent process path information.

本发明实施例中,客户端还包括:In the embodiment of the present invention, the client also includes:

文件获取模块,适于在服务器的查杀模块对所述被劫持的DLL文件进行查杀之前,获取所述待执行程序对应的EXE文件;The file acquisition module is adapted to obtain the EXE file corresponding to the program to be executed before the killing module of the server checks and kills the hijacked DLL file;

文件信息上传模块,适于将所述待执行程序对应的EXE文件的信息和所述被劫持的DLL文件的信息上传至服务器;The file information upload module is adapted to upload the information of the EXE file corresponding to the program to be executed and the information of the hijacked DLL file to the server;

查杀模块包括:The killing module includes:

等级查询子模块,适于查询所述EXE文件的等级和所述被劫持的DLL文件的等级,所述等级包括安全等级、未知等级、可疑/高度可疑等级、以及恶意等级;The level query submodule is adapted to inquire about the level of the EXE file and the level of the hijacked DLL file, and the level includes a security level, an unknown level, a suspicious/highly suspicious level, and a malicious level;

查杀子模块,适于依据所述EXE文件的等级和所述被劫持的DLL文件的等级对所述被劫持的DLL文件进行查杀。The killing sub-module is suitable for killing the hijacked DLL file according to the level of the EXE file and the level of the hijacked DLL file.

本发明实施例中,被劫持的DLL文件为一个或多个,In the embodiment of the present invention, the hijacked DLL file is one or more,

处理模块包括:Processing modules include:

程序拦截子模块,适于当所述EXE文件的等级和所述被劫持的DLL文件的等级中至少一个为恶意等级时,拦截所述待执行程序的执行;The program interception submodule is adapted to intercept the execution of the program to be executed when at least one of the level of the EXE file and the level of the hijacked DLL file is a malicious level;

执行子模块,适于当所述EXE文件的等级和所述被劫持的DLL文件的等级均为安全等级时,允许所述待执行程序的执行;An execution submodule, adapted to allow the execution of the program to be executed when the level of the EXE file and the level of the hijacked DLL file are both security levels;

可疑操作拦截子模块,适于当所述EXE文件的等级和所述被劫持的DLL文件的等级中没有恶意等级,并且至少一个被劫持的DLL文件的等级高于所述EXE文件的等级时,获取其中最高的等级,将所述EXE文件的等级修改为所述最高的等级,允许所述待执行程序的执行,并拦截待执行程序执行后发起的可疑操作。Suspicious operation intercepting submodule, suitable for when there is no malicious level in the level of the EXE file and the level of the hijacked DLL file, and at least one level of the hijacked DLL file is higher than the level of the EXE file, Obtain the highest level among them, modify the level of the EXE file to the highest level, allow the execution of the program to be executed, and intercept suspicious operations initiated after the program to be executed is executed.

本发明实施例中,可疑操作为以下任意一种:In the embodiment of the present invention, the suspicious operation is any of the following:

文件操作、注册表操作、进程操作和网络操作。File operations, registry operations, process operations, and network operations.

本发明实施例中,待执行程序为白名单中的程序。In the embodiment of the present invention, the program to be executed is a program in the white list.

本发明实施例中,云端鉴别条件存储在服务器中。In the embodiment of the present invention, the cloud authentication conditions are stored in the server.

根据本发明的程序状况检测方法和系统可以在检测到待执行程序创建进程时,通过服务器预先设置的云端鉴别条件检查所述待执行程序是否存在被劫持的DLL文件,如果待执行程序存在被劫持的DLL文件,则通过服务器对所述被劫持的DLL文件进行查杀,然后依据服务器查杀结果对所述待执行程序执行相应的操作。由此解决了恶意程序利用可信的白名单中的程序加载恶意DLL文件而导致主动防御无法正常拦截恶意程序的问题,取得了更加有效地拦截恶意程序的有益效果。According to the program status detection method and system of the present invention, when detecting the creation process of the program to be executed, it can check whether there is a hijacked DLL file in the program to be executed through the cloud authentication condition preset by the server, if the program to be executed exists and is hijacked The DLL file of the hijacked DLL file is checked and killed through the server, and then the corresponding operation is performed on the program to be executed according to the result of the server checking and killing. This solves the problem that the malicious program loads the malicious DLL file with the program in the credible white list, so that the active defense cannot normally intercept the malicious program, and achieves the beneficial effect of more effectively intercepting the malicious program.

其次,本发明的云端鉴别条件保存在服务器中,当满足升级条件时,可以立刻全网升级,升级速度较快,不需要客户端升级文件即可生效,对于突发的恶意程序有很好的拦截效果,从而避免用户的损失。Secondly, the cloud identification conditions of the present invention are stored in the server, and when the upgrade conditions are satisfied, the entire network can be upgraded immediately, the upgrade speed is fast, and the client upgrade file is not required to take effect, which is very good for sudden malicious programs. Intercept the effect, so as to avoid the loss of users.

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。The above description is only an overview of the technical solution of the present invention. In order to better understand the technical means of the present invention, it can be implemented according to the contents of the description, and in order to make the above and other purposes, features and advantages of the present invention more obvious and understandable , the specific embodiments of the present invention are enumerated below.

附图说明Description of drawings

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:Various other advantages and benefits will become apparent to those of ordinary skill in the art upon reading the following detailed description of the preferred embodiment. The drawings are only for the purpose of illustrating a preferred embodiment and are not to be considered as limiting the invention. Also throughout the drawings, the same reference numerals are used to designate the same components. In the attached picture:

图1示出了根据本发明一个实施例的程序状况检测方法的流程图;FIG. 1 shows a flowchart of a program status detection method according to an embodiment of the present invention;

图2示出了根据本发明一个实施例的程序状况检测方法的流程图;FIG. 2 shows a flowchart of a program status detection method according to an embodiment of the present invention;

图3示出了根据本发明一个实施例的程序状况检测方法的流程图;FIG. 3 shows a flowchart of a program status detection method according to an embodiment of the present invention;

图4示出了根据本发明实施例所述的云端鉴别条件的示意图;Fig. 4 shows a schematic diagram of cloud identification conditions according to an embodiment of the present invention;

图5示出了根据本发明一个实施例的程序状况检测系统的结构框图;以及FIG. 5 shows a structural block diagram of a program status detection system according to an embodiment of the present invention; and

图6示出了根据本发明一个实施例的程序状况检测系统的结构框图。Fig. 6 shows a structural block diagram of a program status detection system according to an embodiment of the present invention.

具体实施方式detailed description

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。Exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided for more thorough understanding of the present disclosure and to fully convey the scope of the present disclosure to those skilled in the art.

本发明可以应用于计算机系统/服务器,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与计算机系统/服务器一起使用的众所周知的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。The invention is applicable to computer systems/servers that are operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well-known computing systems, environments and/or configurations suitable for use with computer systems/servers include, but are not limited to: personal computer systems, server computer systems, thin clients, thick clients, handheld or laptop devices, Microprocessor-based systems, set-top boxes, programmable consumer electronics, networked personal computers, small computer systems, mainframe computer systems, and distributed cloud computing technology environments including any of the foregoing, and the like.

计算机系统/服务器可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。Computer systems/servers may be described in the general context of computer system-executable instructions, such as program modules, being executed by the computer system. Generally, program modules may include routines, programs, objects, components, logic, data structures, etc., that perform particular tasks or implement particular abstract data types. The computer system/server can be practiced in distributed cloud computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed cloud computing environment, program modules may be located in both local and remote computing system storage media including storage devices.

实施例一:Embodiment one:

参照图1,示出了根据本发明一个实施例的程序状况检测方法的流程图,该方法具体可以包括:Referring to FIG. 1 , it shows a flow chart of a program status detection method according to an embodiment of the present invention, and the method may specifically include:

步骤S101,当检测到待执行程序创建进程时,获取所述待执行程序的特征信息。Step S101, when a creation process of a program to be executed is detected, feature information of the program to be executed is acquired.

步骤S102,将所述待执行程序的特征信息上传至服务器,由服务器将所述待执行程序的特征信息与预先设置的云端鉴别条件进行匹配,得到匹配结果。Step S102, uploading the feature information of the program to be executed to the server, and the server matches the feature information of the program to be executed with the pre-set cloud identification conditions to obtain a matching result.

步骤S103,接收所述服务器返回的匹配结果,并依据所述匹配结果确定所述待执行程序是否存在被劫持的DLL文件。Step S103, receiving the matching result returned by the server, and determining whether there is a hijacked DLL file in the program to be executed according to the matching result.

对于本实施例提出的程序状况检测方法的具体过程,将在下面的实施例中详细介绍。The specific process of the program status detection method proposed in this embodiment will be described in detail in the following embodiments.

通过上述步骤S101-步骤S103可以利用服务器中的云端鉴别条件检测待执行程序是否存在被劫持的DLL文件,后续可以通过检测结果对待执行程序进行处理。如果检测到待执行程序存在被劫持的DLL文件,则后续可以通过服务器对被劫持的DLL文件进行查杀,然后依据服务器查杀结果对所述待执行程序执行相应的操作。由此解决了恶意程序利用可信的白名单中的程序加载恶意DLL文件而导致主动防御无法正常拦截恶意程序的问题,能够更加有效地拦截恶意程序。Through the above steps S101-S103, it is possible to use the cloud identification conditions in the server to detect whether there is a hijacked DLL file in the program to be executed, and then the program to be executed can be processed based on the detection results. If it is detected that there is a hijacked DLL file in the program to be executed, then the hijacked DLL file can be checked and killed through the server, and then corresponding operations are performed on the program to be executed according to the result of the server’s checking and killing. This solves the problem that malicious programs load malicious DLL files using programs in the trusted white list, resulting in the failure of active defense to intercept malicious programs, and can more effectively block malicious programs.

实施例二:Embodiment two:

参照图2,示出了根据本发明一个实施例的程序状况检测方法的流程图。Referring to FIG. 2 , it shows a flowchart of a program status detection method according to an embodiment of the present invention.

为了适应恶意程序的更新速度,以快速地识别和查杀恶意程序,目前普遍利用主动防御技术查杀恶意程序。主动防御技术是基于程序的行为进行自主分析判断的实时防护技术,通过在系统的关键位置设置拦截点对系统的关键位置进行保护。当有程序执行修改这些关键位置的行为(例如写入注册表、创建计划任务、修改浏览器首页、修改默认浏览器和注册浏览器插件等行为)时,就会对该程序进行拦截,拦截后需要判断此次修改行为是否为恶意的,通常对行为的判断是通过判断执行此次修改行为的程序是否安全来实现的,如果程序是恶意的,则说明该修改行为是恶意的,因此需要拦截该程序的执行。In order to adapt to the update speed of malicious programs and quickly identify and kill malicious programs, active defense technologies are generally used to detect and kill malicious programs. Active defense technology is a real-time protection technology that conducts independent analysis and judgment based on the behavior of the program, and protects the key positions of the system by setting interception points at key positions of the system. When a program performs behaviors that modify these key locations (such as writing to the registry, creating scheduled tasks, modifying the browser homepage, modifying the default browser, and registering browser plug-ins, etc.), the program will be intercepted. It is necessary to judge whether the modification behavior is malicious. Usually, the judgment of the behavior is realized by judging whether the program that executes the modification behavior is safe. If the program is malicious, it means that the modification behavior is malicious, so it needs to be intercepted execution of the program.

一般来说,主动防御技术通过对程序的文件进行检查,以检测程序的安全性。但是在检查程序文件时,需要计算文件的哈希值,还需要访问网络,这些都是比较耗费时间的操作,并且一般的程序会加载几十个甚至上百个DLL文件,即使使用缓存技术进行优化,还是会明显延长程序的启动时间。因此,为了尽可能减小对程序性能的影响,主动防御技术只对程序的EXE文件进行检测,而不检查程序加载的DLL文件。因此,一些恶意程序就利用这一点,通过DLL劫持技术将该恶意程序的DLL文件与可信任的白名单中的程序(例如操作系统自带的程序)打包在一起,当用户选择执行该白名单中的程序时,其中的恶意程序的DLL文件就会被加载,从而使主动防御技术不能成功拦截该恶意程序。Generally speaking, the active defense technology detects the security of the program by checking the files of the program. However, when checking the program file, it is necessary to calculate the hash value of the file and access the network. These are time-consuming operations, and the general program will load dozens or even hundreds of DLL files, even if the caching technology is used. Optimization will still significantly prolong the startup time of the program. Therefore, in order to minimize the impact on the performance of the program, the active defense technology only detects the EXE file of the program, and does not check the DLL file loaded by the program. Therefore, some malicious programs take advantage of this, and use DLL hijacking technology to package the DLL file of the malicious program with the programs in the trusted white list (such as the programs that come with the operating system). When the user chooses to execute the white list When the program in the program is installed, the DLL file of the malicious program will be loaded, so that the active defense technology cannot successfully intercept the malicious program.

为了防止恶意程序利用可信任的白名单中的程序突破主动防御而成功执行,本发明实施例提出了一种程序状况检测方法,具体的,该程序状况检测方法包括以下步骤:In order to prevent a malicious program from using a program in a trusted whitelist to break through the active defense and successfully execute, an embodiment of the present invention proposes a program status detection method. Specifically, the program status detection method includes the following steps:

步骤S201,当检测到待执行程序创建进程时,通过服务器预先设置的云端鉴别条件检查所述待执行程序是否存在被劫持的DLL文件。Step S201 , when the creation process of the program to be executed is detected, check whether there is a hijacked DLL file in the program to be executed through the cloud identification condition preset by the server.

需要说明的是,该步骤S201为检查所述待执行程序是否存在被劫持的DLL文件的过程,相对于上述实施例一来说,该步骤S201可以包括上述实施例一中的步骤S101-步骤S103。It should be noted that this step S201 is a process of checking whether there is a hijacked DLL file in the program to be executed. Compared with the first embodiment above, this step S201 may include steps S101-step S103 in the first embodiment above .

步骤S202,若存在,则通过服务器对所述被劫持的DLL文件进行查杀。Step S202, if it exists, check and kill the hijacked DLL file through the server.

步骤S203,依据服务器查杀结果对所述待执行程序执行相应的操作。Step S203, performing corresponding operations on the program to be executed according to the result of the server checking and killing.

通过上述步骤S201-步骤S203可以在待执行程序存在被劫持的DLL文件时,进一步通过服务器对这些被劫持的DLL文件进行查杀,然后依据服务器查杀结果对所述待执行程序执行相应的操作。对于具体的处理过程,将在下面的实施例中详细介绍。Through the above step S201-step S203, when there are hijacked DLL files in the program to be executed, these hijacked DLL files can be further checked and killed through the server, and then corresponding operations are performed on the program to be executed according to the result of the server’s checking and killing . The specific processing procedure will be described in detail in the following embodiments.

本发明实施例提出的程序状况检测方法通过对待执行程序中被劫持的DLL文件进行检查,能够解决恶意程序利用可信任的白名单中的程序加载恶意DLL文件而导致主动防御无法正常拦截恶意程序的问题,取得了更加有效地拦截恶意程序的有益效果。The program status detection method proposed by the embodiment of the present invention can solve the problem that a malicious program loads a malicious DLL file by using a program in a trusted white list by checking the hijacked DLL file in the program to be executed, so that the active defense cannot normally intercept the malicious program. problem, and achieved the beneficial effect of blocking malicious programs more effectively.

实施例三:Embodiment three:

下面,对于具体的程序状况检测方法进行详细描述。In the following, a specific method for detecting program status will be described in detail.

参照图3,示出了根据本发明一个实施例的程序状况检测方法的流程图,所述方法包括:Referring to FIG. 3 , it shows a flow chart of a program status detection method according to an embodiment of the present invention, the method comprising:

步骤S301,当检测到待执行程序创建进程时,通过服务器预先设置的云端鉴别条件检查所述待执行程序是否存在被劫持的DLL文件。Step S301 , when the creation process of the program to be executed is detected, check whether there is a hijacked DLL file in the program to be executed through the cloud identification condition preset by the server.

本发明实施例主要是在待执行程序创建进程时,增加对DLL文件的查询过程,需要检查待执行程序是否存在被劫持的DLL文件,如果存在,则说明该待执行程序有可能被恶意程序利用,因此要进一步检查这些被劫持的DLL文件是否安全。The embodiment of the present invention is mainly to increase the query process of the DLL file when the program to be executed is created. It is necessary to check whether the program to be executed has a hijacked DLL file. If it exists, it means that the program to be executed may be used by a malicious program. , so it is necessary to further check whether these hijacked DLL files are safe.

在本实施例中,通过服务器预先设置的云端鉴别条件检查所述待执行程序是否存在被劫持的DLL文件。In this embodiment, it is checked whether there is a hijacked DLL file in the program to be executed through the cloud authentication condition preset by the server.

云端鉴别条件存储在服务器中,在云端鉴别条件中包括多个特定程序匹配条件和满足该特定程序匹配条件后需要检查的特定DLL文件信息,本实施例就是要将待执行程序的一些特征信息与云端鉴别条件进行匹配,然后再依据匹配结果进行判断。对于具体的匹配过程,是在服务器中执行的。The cloud identification conditions are stored in the server, and the cloud identification conditions include multiple specific program matching conditions and the specific DLL file information that needs to be checked after the specific program matching conditions are met. This embodiment is to combine some characteristic information of the program to be executed with The cloud identification conditions are matched, and then judged based on the matching results. As for the specific matching process, it is executed in the server.

具体的,该步骤S301可以包括以下子步骤:Specifically, this step S301 may include the following sub-steps:

子步骤a1,获取所述待执行程序的特征信息。Sub-step a1, acquiring feature information of the program to be executed.

其中,待执行程序的特征信息可以包括以下信息中的至少一种:Wherein, the characteristic information of the program to be executed may include at least one of the following information:

待执行程序的文件名称信息、文件大小信息、文件特征值信息、文件图标信息、产品名称信息、内部名称信息、原始文件名信息,以及待执行程序创建的进程的命令行信息、进程路径信息和父进程路径信息。The file name information, file size information, file feature value information, file icon information, product name information, internal name information, original file name information of the program to be executed, as well as the command line information, process path information and process path information of the process created by the program to be executed Parent process path information.

当然,所述待执行程序的特征信息还可以包括其他信息,本实施例对此并不加以限制。Of course, the feature information of the program to be executed may also include other information, which is not limited in this embodiment.

子步骤a2,将所述待执行程序的特征信息上传至服务器。Sub-step a2, uploading the feature information of the program to be executed to the server.

由于本实施例需要通过预先设置的云端鉴别条件检查所述待执行程序是否存在被劫持的DLL文件,云端鉴别条件存储在服务器中,因此在获取到待执行程序的特征信息之后,首先需要将这些特征信息上传至服务器,由服务器将待执行程序的特征信息与云端鉴别条件进行匹配。Since this embodiment needs to check whether there is a hijacked DLL file in the program to be executed through the pre-set cloud authentication condition, the cloud authentication condition is stored in the server, so after obtaining the characteristic information of the program to be executed, firstly these The feature information is uploaded to the server, and the server matches the feature information of the program to be executed with the cloud authentication conditions.

子步骤a3,通过服务器将所述待执行程序的特征信息与所述云端鉴别条件进行匹配,获得所述待执行程序需要检查的DLL文件信息,将所述需要检查的DLL文件信息作为匹配结果;In sub-step a3, the server matches the feature information of the program to be executed with the cloud identification condition, obtains the DLL file information that needs to be checked by the program to be executed, and uses the DLL file information that needs to be checked as the matching result;

下面,具体介绍一下与云端鉴别条件进行匹配的过程。Next, the process of matching with the cloud authentication condition will be introduced in detail.

由上述描述可知,在云端鉴别条件中包括多个特定程序匹配条件和满足该特定程序匹配条件后需要检查的特定DLL文件信息,在本发明实施例中,可以将待执行程序的特征信息与特定程序匹配条件进行匹配,从而获得需要检查的DLL文件信息。It can be known from the above description that the identification conditions in the cloud include multiple specific program matching conditions and the specific DLL file information that needs to be checked after the specific program matching conditions are met. Match the program matching conditions to obtain the information of the DLL file that needs to be checked.

由于特定程序匹配条件需要与待执行程序的特征信息进行匹配,因此,在所述特定程序匹配条件中也可以包括一些与程序的特征信息相对应的信息,通过这些信息即可找到与待执行程序的特征信息相匹配的特定程序匹配条件。Since the specific program matching condition needs to be matched with the characteristic information of the program to be executed, some information corresponding to the characteristic information of the program may also be included in the specific program matching condition. The characteristic information matches the specific program matching conditions.

在本实施例中,所述特定程序匹配条件可以包括以下信息中的至少一种:In this embodiment, the specific program matching condition may include at least one of the following information:

文件名称信息、文件大小信息、文件特征值信息、文件图标信息、产品名称信息、内部名称信息、原始文件名信息,以及进程的命令行信息、进程路径信息和父进程路径信息。当然,所述特定程序匹配条件还可以包括其他信息,本实施例对此并不加以限制。File name information, file size information, file feature value information, file icon information, product name information, internal name information, original file name information, and process command line information, process path information, and parent process path information. Of course, the specific program matching condition may also include other information, which is not limited in this embodiment.

具体的,通过服务器针对特定程序匹配条件的处理过程可以包括:Specifically, the process of matching conditions for a specific program through the server may include:

(i)将所述待执行程序的特征信息与所述特定程序匹配条件进行匹配;(i) matching the feature information of the program to be executed with the specific program matching condition;

(ii)获取满足相匹配的特定程序匹配条件后需要检查的特定DLL文件信息;(ii) Obtain the specific DLL file information that needs to be checked after meeting the matching specific program matching conditions;

(iii)将所述特定DLL文件信息作为所述待执行程序需要检查的DLL文件信息。(iii) Using the specific DLL file information as the DLL file information to be checked by the program to be executed.

具体的,可以通过以下实例进行说明。Specifically, it can be illustrated by the following examples.

如图4所示,是本发明实施例所述的云端鉴别条件的示意图。As shown in FIG. 4 , it is a schematic diagram of cloud authentication conditions described in the embodiment of the present invention.

从图中可以看出,在该云端鉴别条件中包括条件和返回值两个部分,其中条件一列中包含了多个表达式,这些表达式即为本发明实施例所述的特定程序匹配条件,返回值一列包含了多个字符串,这些字符串中指定了满足对应的特定程序匹配条件后需要检查的特定DLL文件信息。As can be seen from the figure, the cloud authentication condition includes two parts, condition and return value, wherein the column of condition contains multiple expressions, and these expressions are the specific program matching conditions described in the embodiment of the present invention, The return value column contains multiple character strings, and these character strings specify specific DLL file information that needs to be checked after corresponding specific program matching conditions are met.

在条件一列的表达式中可以包括产品名称信息(hi.GEN)、文件大小信息(hi.DSI)、内部名称信息(hi.ITN)、原始文件名信息(hi.ORN)、进程路径信息(hi.DST)、父进程路径信息(hi.SRC)、进程命令行信息(hi.CLE)等信息(图3是云端鉴别条件的部分截图,其中有些信息在图3中没有显示),这些信息适于与待执行程序的特征信息进行匹配。The expression in the condition column can include product name information (hi.GEN), file size information (hi.DSI), internal name information (hi.ITN), original file name information (hi.ORN), process path information ( hi.DST), parent process path information (hi.SRC), process command line information (hi.CLE) and other information (Figure 3 is a partial screenshot of cloud authentication conditions, some of which are not shown in Figure 3), these information It is suitable for matching with the characteristic information of the program to be executed.

在返回值一列的字符串中“DLL:”后指定了满足对应的特定程序匹配条件后需要检查的特定DLL文件信息,在本实施例中,所述DLL文件信息可以为DLL文件的名称。另外,在返回值一列的字符串中,可以指定多个需要检查的特定DLL文件信息,每个DLL文件信息之间以逗号相隔。After "DLL:" in the character string in the return value column, the specific DLL file information that needs to be checked after meeting the corresponding specific program matching condition is specified. In this embodiment, the DLL file information may be the name of the DLL file. In addition, in the character string in the return value column, multiple specific DLL file information to be checked can be specified, and each DLL file information is separated by commas.

例如,获取到当前待执行程序的特征信息为产品名称信息“金山重装高手”,然后将该产品名称信息与云端鉴别条件进行匹配,经过判断,特定程序匹配条件中的“(hi.GEN:like,金山重装高手)”是与产品名称信息“金山重装高手”相匹配的条件,因此,可以从该条件对应的返回值“(return_extinfo:<hips>DLL:kdump.dll,irrlicht.dll</hips>)”中获取需要检查的DLL文件名称为“kdump.dll”和“irrlicht.dll”。For example, the feature information of the program to be executed is obtained as the product name information "Jinshan Reloading Master", and then the product name information is matched with the cloud identification condition. After judgment, the "(hi.GEN: like, Kingsoft Reloader)" is a condition that matches the product name information "Kingsoft Reinstaller", so you can get the return value corresponding to this condition" (return_extinfo:<hips>DLL:kdump.dll,irrlicht.dll </hips>)" to obtain the DLL file names to be checked are "kdump.dll" and "irrlicht.dll".

需要说明的是,本实施例所述的云端鉴别条件还可以包括其他的信息,例如是否生效、条件序号、应用比例等,本领域技术人员根据实际情况进行相应处理即可,本实施例对此并不加以限制。It should be noted that the cloud authentication conditions described in this embodiment can also include other information, such as whether it is valid, the condition number, the application ratio, etc., and those skilled in the art can perform corresponding processing according to the actual situation. Not limited.

子步骤a4,接收服务器下发的所述待执行程序需要检查的DLL文件信息。Sub-step a4, receiving the DLL file information sent by the server to be checked by the program to be executed.

服务器依据云端鉴别条件获取到所述待执行程序需要检查的DLL文件信息之后,需要将所述需要检查的DLL文件信息下发至客户端,然后客户端进一步对这些需要检查的DLL文件信息进行判断,以确定出所述待执行程序被劫持的DLL文件。After the server obtains the DLL file information that needs to be checked by the program to be executed according to the cloud authentication conditions, it needs to send the DLL file information that needs to be checked to the client, and then the client further judges the DLL file information that needs to be checked , to determine the hijacked DLL file of the program to be executed.

子步骤a5,判断指定目录下是否存在所述需要检查的DLL文件信息,若存在,则确定所述待执行程序存在被劫持的DLL文件。In sub-step a5, it is judged whether the DLL file information to be checked exists in the specified directory, and if yes, it is determined that the hijacked DLL file exists in the program to be executed.

一般来说,DLL文件会存储在系统目录中,如果在程序执行时需要调用某些DLL文件,则将这些DLL文件存储在指定目录下,因此存储在指定目录下的DLL文件即为该程序所调用的DLL文件。在本实施例中,所述指定目录可以为当前目录或者指定的相对目录。Generally speaking, DLL files will be stored in the system directory. If some DLL files need to be called when the program is executed, these DLL files will be stored in the specified directory, so the DLL files stored in the specified directory are the programs. Called DLL file. In this embodiment, the specified directory may be the current directory or a specified relative directory.

所以,客户端在接收到服务器下发的待执行程序需要检查的DLL文件信息之后,还需要进一步判断指定目录下是否存在所述需要检查的DLL文件信息。如果指定目录下存在所述需要检查的DLL文件信息,说明所述待执行程序存在被劫持的DLL文件,并且所述被劫持的DLL文件即为指定目录下存在的DLL文件,需要对这些被劫持的DLL文件进行查杀;如果指定目录下不存在所述需要检查的DLL文件信息,说明这些DLL文件不会被待执行程序加载,因此不需要对其进行查杀。Therefore, after the client receives the DLL file information that needs to be checked for the program to be executed delivered by the server, it needs to further determine whether the DLL file information that needs to be checked exists in the specified directory. If the DLL file information that needs to be checked exists in the specified directory, it means that there is a hijacked DLL file in the program to be executed, and the hijacked DLL file is the DLL file that exists in the specified directory, and these hijacked DLL files need to be checked. If there is no DLL file information that needs to be checked in the specified directory, it means that these DLL files will not be loaded by the program to be executed, so there is no need to check and kill them.

例如,仍然以上述举例进行说明,如果服务器下发给客户端的待执行程序需要检查的DLL文件信息为DLL文件名称“kdump.dll”和“irrlicht.dll”,则判断指定目录下是否存在这些DLL文件名称。For example, still using the above example for illustration, if the DLL file information of the program to be executed sent by the server to the client needs to be checked is the DLL file name "kdump.dll" and "irrlicht.dll", then determine whether these DLLs exist in the specified directory file name.

例如,判断出指定目录下存在其中的一个DLL文件名称为“kdump.dll”,则将DLL文件“kdump.dll”作为待执行程序被劫持的DLL文件。For example, if it is determined that the name of a DLL file existing in the specified directory is "kdump.dll", then the DLL file "kdump.dll" is used as the hijacked DLL file of the program to be executed.

需要说明的是,对应于上述实施例一,本实施例中的子步骤a1为上述实施例一中的步骤S101的具体过程,子步骤a2-子步骤a3为上述实施例一中的步骤S102的具体过程,子步骤a4-子步骤a5为上述实施例一中的步骤S103的具体过程,本实施例在此不再详细论述。It should be noted that, corresponding to the first embodiment above, sub-step a1 in this embodiment is the specific process of step S101 in the first embodiment above, and sub-step a2-sub-step a3 are steps of step S102 in the first embodiment above. The specific process, sub-step a4-sub-step a5 is the specific process of step S103 in the first embodiment above, and will not be discussed in detail in this embodiment.

步骤S302,获取所述待执行程序对应的EXE文件。Step S302, acquiring an EXE file corresponding to the program to be executed.

步骤S303,若指定目录下存在所述需要检查的DLL文件信息,则将所述待执行程序对应的EXE文件的信息和所述被劫持的DLL文件的信息上传至服务器。Step S303, if the information of the DLL file to be checked exists in the specified directory, upload the information of the EXE file corresponding to the program to be executed and the information of the hijacked DLL file to the server.

其中,上传的文件的信息可以包括文件的哈希值、文件路径等信息,本发明实施例对此并不加以限制。Wherein, the information of the uploaded file may include information such as a hash value of the file, a file path, etc., which is not limited in this embodiment of the present invention.

由于现有的主动防御只对程序的EXE文件进行检查,而不检查程序的DLL文件,如果恶意程序利用可信的白名单中的程序加载恶意DLL文件,则恶意程序就能绕过主动防御的拦截而成功执行。Since the existing active defense only checks the EXE file of the program and does not check the DLL file of the program, if the malicious program loads the malicious DLL file using the program in the trusted white list, the malicious program can bypass the active defense. intercepted and executed successfully.

因此,本发明实施例提出不仅对程序的EXE文件进行检查,对程序的DLL文件也进行检查,但是并不是对所有的DLL文件进行检查,而是通过与云端鉴别条件匹配,确定出程序中被劫持的DLL文件,然后对这些被劫持的DLL文件进行查杀。Therefore, the embodiment of the present invention proposes not only checking the EXE file of the program, but also checking the DLL file of the program, but not checking all the DLL files, but by matching with the cloud identification conditions, it is determined that the program is identified Hijacked DLL files, and then check and kill these hijacked DLL files.

具体的,对文件进行查杀的过程由服务器执行,因此,如果在步骤S201中判断出待执行程序中存在被劫持的DLL文件,并且确定出了被劫持的DLL文件,则将所述待执行程序对应的EXE文件的信息和所述被劫持的DLL文件的信息均上传至服务器,通过服务器对这些文件进行查杀;如果判断出待执行程序中不存在被劫持的DLL文件,则说明该待执行程序没有被恶意程序利用,此时只需要将待执行程序对应的EXE文件的信息上传至服务器即可。Specifically, the process of checking and killing the files is performed by the server. Therefore, if it is determined in step S201 that there is a hijacked DLL file in the program to be executed, and the hijacked DLL file is determined, the program to be executed will be executed. The information of the EXE file corresponding to the program and the information of the hijacked DLL file are uploaded to the server, and these files are checked and killed through the server; if it is judged that there is no hijacked DLL file in the program to be executed, it means that the The execution program is not used by malicious programs. At this time, it is only necessary to upload the information of the EXE file corresponding to the program to be executed to the server.

例如,在步骤S301中判断出待执行程序被劫持的DLL文件为“kdump.dll”,则将DLL文件“kdump.dll”的信息和产品名称信息为“金山重装高手”的待执行程序对应的EXE文件的信息上传至服务器。For example, if it is determined in step S301 that the hijacked DLL file of the program to be executed is "kdump. The information of the EXE file is uploaded to the server.

步骤S304,通过服务器对所述被劫持的DLL文件进行查杀。Step S304, checking and killing the hijacked DLL file through the server.

服务器在接收到客户端上传的待执行程序对应的EXE文件的信息和所述被劫持的DLL文件的信息之后,即依据所述文件信息对相应的文件进行查杀。After the server receives the information of the EXE file corresponding to the program to be executed uploaded by the client and the information of the hijacked DLL file, it scans and kills the corresponding file according to the file information.

该步骤S304具体可以包括:This step S304 may specifically include:

子步骤b1,通过服务器获取所述EXE文件的等级和所述被劫持的DLL文件的等级。Sub-step b1, obtain the level of the EXE file and the level of the hijacked DLL file through the server.

在本实施例中,所述等级包括安全等级、未知等级、可疑/高度可疑等级、以及恶意等级。对于等级的设置,可以设置等级为10-29时为安全等级(该等级的文件为白文件),等级为30-49时为未知等级(该等级的文件为灰文件),等级为50-69时为可疑/高度可疑等级(该等级的文件为可疑文件),等级大于或等于70时为恶意等级(该等级的文件为恶意文件)。当然,还可以设置所述等级为其他形式,本发明对此并不加以限制。In this embodiment, the levels include a safe level, an unknown level, a suspicious/highly suspicious level, and a malicious level. For level setting, you can set level 10-29 as security level (files of this level are white files), level 30-49 as unknown level (files of this level are gray files), level 50-69 Suspicious/highly suspicious level (files with this level are suspicious files), and malicious level (files with this level are malicious files) when the level is greater than or equal to 70. Of course, the levels may also be set in other forms, which are not limited in the present invention.

子步骤b2,依据所述EXE文件的等级和所述被劫持的DLL文件的等级对所述被劫持的DLL文件进行查杀。Sub-step b2, scanning and killing the hijacked DLL file according to the level of the EXE file and the level of the hijacked DLL file.

具体的,可以通过用于查杀可移植执行体(PortableExecute,PE)类型文件的云查杀引擎,或者人工智能引擎(QihooVirtualMachine,QVM)对所述EXE文件和被劫持的DLL文件进行查杀。其中,PE类型文件通常指Windows操作系统上的程序文件,常见的PE类型文件包括EXE、DLL、OCX、SYS、COM等类型文件。Specifically, the EXE file and the hijacked DLL file can be checked and killed through a cloud scanning engine for scanning and killing portable executable (PortableExecute, PE) type files, or an artificial intelligence engine (QihooVirtualMachine, QVM). Among them, the PE type file usually refers to the program file on the Windows operating system, and common PE type files include EXE, DLL, OCX, SYS, COM and other types of files.

杀毒引擎可以根据对文件等级的识别结果,按照杀毒引擎中保存的黑名单,和/或白名单对相应文件进行查杀。The antivirus engine can check and kill corresponding files according to the blacklist and/or whitelist stored in the antivirus engine according to the identification result of the file level.

对于具体的查杀过程,本领域技术人员根据实际经验进行相应处理即可,本实施例在此不再详细论述。As for the specific killing process, those skilled in the art can perform corresponding processing according to actual experience, and this embodiment will not discuss in detail here.

步骤S305,依据服务器查杀结果对所述待执行程序执行相应的操作。Step S305, perform corresponding operations on the program to be executed according to the result of checking and killing the server.

服务器在获取到EXE文件和被劫持的DLL文件的等级之后,将获取到的等级下发给客户端,客户端依据服务器查杀结果对所述待执行程序执行相应的操作。After the server acquires the levels of the EXE file and the hijacked DLL file, it sends the acquired levels to the client, and the client performs corresponding operations on the program to be executed according to the results of the server's killing.

具体的,该步骤S305可以包括以下子步骤:Specifically, this step S305 may include the following sub-steps:

子步骤c1,当所述EXE文件的等级和所述被劫持的DLL文件的等级中至少一个为恶意等级时,拦截所述待执行程序的执行。Sub-step c1, when at least one of the level of the EXE file and the level of the hijacked DLL file is a malicious level, intercept the execution of the program to be executed.

在本实施例中,所述被劫持的DLL文件为一个或多个,如果获取到的EXE文件的等级和被劫持的DLL文件的等级中存在恶意等级,则说明该待执行程序是有风险的,此时需要拦截所述待执行程序的执行。In this embodiment, the hijacked DLL file is one or more, if there is a malicious level in the level of the obtained EXE file and the level of the hijacked DLL file, it means that the program to be executed is risky , at this time, the execution of the program to be executed needs to be intercepted.

子步骤c2,当所述EXE文件的等级和所述被劫持的DLL文件的等级均为安全等级时,允许所述待执行程序的执行。Sub-step c2, when the levels of the EXE file and the level of the hijacked DLL file are both security levels, allowing the execution of the program to be executed.

子步骤c3,当所述EXE文件的等级和所述被劫持的DLL文件的等级中没有恶意等级,并且至少一个被劫持的DLL文件的等级高于所述EXE文件的等级时,获取其中最高的等级,将所述EXE文件的等级修改为所述最高的等级,允许所述待执行程序的执行,并拦截待执行程序执行后发起的可疑操作。Sub-step c3, when there is no malicious level in the level of the EXE file and the level of the hijacked DLL file, and when the level of at least one hijacked DLL file is higher than the level of the EXE file, obtain the highest level level, modifying the level of the EXE file to the highest level, allowing the execution of the program to be executed, and intercepting suspicious operations initiated after the program to be executed is executed.

如果EXE文件的等级和被劫持的DLL文件的等级不满足上述子步骤c1和子步骤c2中的两种情况,则将EXE文件的等级修改为所述最高的等级,并且可以允许所述待执行程序的执行,此时由于待执行程序的EXE文件可能也存在风险,因此当待执行程序执行后发起可疑操作时,可以对这些可疑的操作进行拦截。If the level of the EXE file and the level of the hijacked DLL file do not meet the two conditions in the above-mentioned substep c1 and substep c2, then the level of the EXE file is modified to the highest level, and the program to be executed can be allowed At this time, since the EXE file of the program to be executed may also have risks, when the program to be executed executes and initiates suspicious operations, these suspicious operations can be intercepted.

例如,在步骤S301中确定出待执行程序被劫持的DLL文件为“kdump.dll”,通过服务器获取到待执行程序的EXE文件的等级为安全等级,“kdump.dll”的等级为可疑/高度可疑等级,其中最高的文件等级为可疑/高度可疑等级,此时,即将所述EXE文件的等级修改为可疑/高度可疑等级。For example, in step S301, it is determined that the hijacked DLL file of the program to be executed is "kdump.dll", the level of the EXE file of the program to be executed obtained through the server is a security level, and the level of "kdump.dll" is suspicious/high Suspicious level, wherein the highest file level is suspicious/highly suspicious level, at this time, modify the level of the EXE file to be suspicious/highly suspicious level.

并且,由于EXE文件的等级被修改了,因此后续当该待执行程序执行某些可疑的操作时,即可通过EXE文件的等级判断该程序是否安全,如果EXE文件是可疑的,则可以对这些可疑操作进行拦截。Moreover, since the level of the EXE file has been modified, when the program to be executed subsequently performs some suspicious operations, it can be judged whether the program is safe through the level of the EXE file. If the EXE file is suspicious, you can check these Suspicious operations are intercepted.

其中,可疑的操作可以为以下任意一种:文件操作、注册表操作、进程操作和网络操作。Wherein, the suspicious operation may be any one of the following: file operation, registry operation, process operation and network operation.

例如,对于文件操作可以为对windows操作系统相关的文件,或者一些装载量比较大的应用软件(如qq、阿里旺旺等),或者桌面的快捷方式等的操作;For example, the file operation can be the file related to the windows operating system, or some application software with a relatively large load (such as QQ, Ali Wangwang, etc.), or the operation of the desktop shortcut;

对于注册表的操作可以是程序写入注册表自动加载,以及破坏注册表等;The operation of the registry can be that the program writes the registry to automatically load, and destroys the registry, etc.;

对于进程操作可以是进程之间相互注入(一个进程在另一个进程中插入并执行一些代码)、进程远线程操作、结束进程(例如有些恶意程序结束掉QQ进程,重新登录会截取到密码,或者进程后续的一些操作)等;For process operations, it can be mutual injection between processes (one process inserts and executes some code in another process), process remote thread operation, end process (for example, some malicious programs end the QQ process, and re-login will intercept the password, or Some subsequent operations of the process), etc.;

对于网络操作可以是安装驱动或服务、全局钩子注入,记录键盘操作、修改浏览器中网页内容等。For network operations, it can be installing drivers or services, global hook injection, recording keyboard operations, modifying web page content in the browser, etc.

当然,还可以包括其他一些操作,本发明实施例对此并不加以限制。Of course, some other operations may also be included, which are not limited in this embodiment of the present invention.

需要说明的是,本实施例主要是针对恶意程序利用可信任的白名单中的程序加载恶意DLL文件的情况进行处理,因此,EXE文件的等级应为安全等级,如果有DLL文件的等级高于该EXE文件的等级,则修改EXE文件的等级。It should be noted that this embodiment mainly deals with the situation that a malicious program utilizes a program in a trusted whitelist to load a malicious DLL file. Therefore, the level of the EXE file should be a security level. If there is a DLL file with a level higher than If the level of the EXE file is changed, modify the level of the EXE file.

步骤S306,服务器定期检测所述云端鉴别条件是否满足升级条件,若满足,则服务器获取新的鉴别条件,并通过重新加载所述新的鉴别条件完成所述云端鉴别条件的升级更新。In step S306, the server regularly detects whether the cloud authentication condition meets the upgrade condition, and if so, the server obtains a new authentication condition, and completes the update of the cloud authentication condition by reloading the new authentication condition.

本实施例中的云端鉴别条件是需要定期升级更新的。具体的,可以在服务器中配置升级条件,服务器定期检测所述云端鉴别条件是否满足升级条件,当满足时,服务器直接获取新的云端鉴别条件,并用新的云端鉴别条件替换原有的云端鉴别条件,从而对原有的云端鉴别条件进行升级更新。The cloud identification conditions in this embodiment need to be regularly updated. Specifically, the upgrade condition can be configured in the server, and the server periodically detects whether the cloud authentication condition meets the upgrade condition. When it is satisfied, the server directly obtains the new cloud authentication condition, and replaces the original cloud authentication condition with the new cloud authentication condition , so as to upgrade and update the original cloud identification conditions.

其中,升级条件可以根据本地鉴别条件的文件版本来判断,比如有更新的版本时则升级,也可以指定当本地版本满足某个条件时升级为一个指定版本,本发明实施例对此并不加以限制。Wherein, the upgrade condition can be judged according to the file version of the local authentication condition, such as upgrading when there is a newer version, or specifying that when the local version satisfies a certain condition, it will be upgraded to a specified version, which is not imposed in the embodiment of the present invention. limit.

例如,如果发现了新的被利用的程序(QQ游戏),但是云端鉴别条件中不存在该程序,则可以在云端鉴别条件中增加一个特定程序匹配条件,其中包括该程序的特征信息(“QQ游戏”)以及满足该特定程序匹配条件后需要检查的DLL文件信息。For example, if a new exploited program (QQ game) is found, but the program does not exist in the cloud identification condition, a specific program matching condition can be added to the cloud identification condition, which includes the characteristic information of the program ("QQ game") and the DLL file information that needs to be checked after the specific program matching condition is met.

当然,还可以采用其他的方式对云端鉴别条件进行升级更新,本实施例对此并不加以限制。Of course, other ways can also be used to upgrade and update the cloud authentication condition, which is not limited in this embodiment.

由于云端鉴别条件保存在服务器中,因此当满足升级条件时,不需要客户端升级文件即可生效,因此可以立刻全网升级,升级速度较快,对于突发的恶意程序有很好的拦截效果,从而避免用户的损失。Since the authentication conditions in the cloud are stored in the server, when the upgrade conditions are met, the client upgrade file will not be required to take effect, so the entire network can be upgraded immediately, and the upgrade speed is fast, and it has a good interception effect on sudden malicious programs. , so as to avoid the loss of users.

最后,需要说明的是,本发明实施例主要是针对恶意程序利用可信任的白名单中的程序加载恶意DLL文件的情况进行处理。如果待执行程序是可信任的白名单中的程序,此时主动防御技术只检查程序的EXE文件,将会判断该程序是安全的,从而允许其执行,但是如果恶意程序利用该白名单中的程序加载恶意DLL文件,则该恶意程序也会成功执行。Finally, it should be noted that the embodiment of the present invention mainly deals with the situation that a malicious program loads a malicious DLL file by using a program in the trusted white list. If the program to be executed is a program in the trusted white list, the active defense technology will only check the EXE file of the program at this time, and will judge that the program is safe and allow it to execute. However, if the malicious program uses the program in the white list If the program loads a malicious DLL file, the malicious program will also be executed successfully.

因此,对于这种情况,本发明实施例通过在检测到待执行程序创建进程时,通过服务器预先设置的云端鉴别条件检查所述待执行程序是否存在被劫持的DLL文件,如果待执行程序存在被劫持的DLL文件,则通过服务器对所述被劫持的DLL文件进行查杀,然后依据服务器查杀结果对所述待执行程序执行相应的操作。由此解决了恶意程序利用可信的白名单中的程序加载恶意DLL文件而导致主动防御无法正常拦截恶意程序的问题,取得了更加有效地拦截恶意程序的有益效果。Therefore, for this situation, the embodiment of the present invention checks whether there is a hijacked DLL file in the program to be executed through the cloud identification condition preset by the server when the program to be executed is detected. For the hijacked DLL file, the hijacked DLL file is checked and killed through the server, and then corresponding operations are performed on the program to be executed according to the result of the server checking and killing. This solves the problem that the malicious program loads the malicious DLL file with the program in the credible white list, so that the active defense cannot normally intercept the malicious program, and achieves the beneficial effect of more effectively intercepting the malicious program.

需要说明的是,对于前述的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请所必需的。It should be noted that, for the foregoing method embodiments, for the sake of simple description, they are expressed as a series of action combinations, but those skilled in the art should know that the present application is not limited by the described action sequence, because Depending on the application, certain steps may be performed in other orders or simultaneously. Secondly, those skilled in the art should also know that the embodiments described in the specification belong to preferred embodiments, and the actions involved are not necessarily required by this application.

实施例四:Embodiment four:

参照图5,示出了根据本发明一个实施例的程序状况检测系统的结构框图,所述系统包括客户端501和服务器502。Referring to FIG. 5 , it shows a structural block diagram of a program status detection system according to an embodiment of the present invention, and the system includes a client 501 and a server 502 .

其中,客户端包括:特征信息获取模块5011、特征信息上传模块5012和确定模块5013,所述服务器包括:匹配模块5021。Wherein, the client includes: a feature information acquiring module 5011 , a feature information uploading module 5012 and a determining module 5013 , and the server includes: a matching module 5021 .

特征信息获取模块5011,适于当检测到待执行程序创建进程时,获取所述待执行程序的特征信息;The feature information acquiring module 5011 is adapted to acquire the feature information of the program to be executed when the creation process of the program to be executed is detected;

特征信息上传模块5012,适于将所述待执行程序的特征信息上传至服务器;The characteristic information uploading module 5012 is adapted to upload the characteristic information of the program to be executed to the server;

匹配模块5021,适于将所述待执行程序的特征信息与预先设置的云端鉴别条件进行匹配,得到匹配结果;The matching module 5021 is adapted to match the feature information of the program to be executed with the pre-set cloud identification conditions to obtain a matching result;

确定模块5013,适于接收所述服务器返回的匹配结果,并依据所述匹配结果确定所述待执行程序是否存在被劫持的DLL文件。The determining module 5013 is adapted to receive the matching result returned by the server, and determine whether there is a hijacked DLL file in the program to be executed according to the matching result.

通过上述各个模块可以利用服务器中的云端鉴别条件检测待执行程序是否存在被劫持的DLL文件,如果检测到待执行程序存在被劫持的DLL文件,则后续可以通过服务器对被劫持的DLL文件进行查杀,然后依据服务器查杀结果对所述待执行程序执行相应的操作。从而能够解决恶意程序利用可信的白名单中的程序加载恶意DLL文件而导致主动防御无法正常拦截恶意程序的问题,更加有效地拦截恶意程序。Through the above modules, it is possible to use the cloud identification conditions in the server to detect whether there is a hijacked DLL file in the program to be executed. If it is detected that the program to be executed has a hijacked DLL file, then the hijacked DLL file can be checked through the server. kill, and then perform corresponding operations on the program to be executed according to the result of the server check and kill. Therefore, it can solve the problem that the malicious program loads the malicious DLL file by using the program in the trusted white list, which causes the active defense to fail to intercept the malicious program normally, and intercepts the malicious program more effectively.

实施例五:Embodiment five:

参照图6,示出了根据本发明一个实施例的程序状况检测系统的结构框图,所述系统包括客户端601和服务器602。Referring to FIG. 6 , it shows a structural block diagram of a program status detection system according to an embodiment of the present invention, and the system includes a client 601 and a server 602 .

其中,客户端601包括:检查模块6011、EXE文件获取模块6012、上传模块6013和处理模块6014;服务器602包括:DLL文件信息获取模块6021、查杀模块6022和升级模块6023。Wherein, the client 601 includes: a check module 6011, an EXE file acquisition module 6012, an upload module 6013 and a processing module 6014;

检查模块6011,适于当检测到待执行程序创建进程时,通过服务器预先设置的云端鉴别条件检查所述待执行程序是否存在被劫持的DLL文件;The checking module 6011 is adapted to check whether the program to be executed has a hijacked DLL file through the cloud identification condition preset by the server when the creation process of the program to be executed is detected;

需要说明的是,上述检查模块主要是适于检查所述待执行程序是否存在被劫持的DLL文件,相对于上述实施例四来说,该检查模块的功能可以对应于上述实施例四中的特征信息获取模块5011、特征信息上传模块5012、匹配模块5021和确定模块5013几个模块实现的功能。It should be noted that the above-mentioned checking module is mainly suitable for checking whether there is a hijacked DLL file in the program to be executed. Compared with the above-mentioned fourth embodiment, the function of the checking module can correspond to the features in the above-mentioned fourth embodiment The information acquisition module 5011, the feature information upload module 5012, the matching module 5021 and the determination module 5013 are functions realized by several modules.

其中,所述待执行程序为白名单中的程序,所述云端鉴别条件存储服务器中。Wherein, the program to be executed is a program in the white list, and the cloud authentication condition is stored in the server.

所述检查模块6011包括:The checking module 6011 includes:

特征信息获取子模块,适于获取所述待执行程序的特征信息;A feature information acquisition submodule, adapted to acquire feature information of the program to be executed;

其中,所述待执行程序的特征信息可以包括以下信息中的至少一种:Wherein, the feature information of the program to be executed may include at least one of the following information:

待执行程序的文件名称信息、文件大小信息、文件特征值信息、文件图标信息、产品名称信息、内部名称信息、原始文件名信息,以及待执行程序创建的进程的命令行信息、进程路径信息和父进程路径信息。The file name information, file size information, file feature value information, file icon information, product name information, internal name information, original file name information of the program to be executed, as well as the command line information, process path information and process path information of the process created by the program to be executed Parent process path information.

特征信息上传子模块,适于将所述待执行程序的特征信息上传至服务器。The characteristic information uploading submodule is adapted to upload the characteristic information of the program to be executed to the server.

所述服务器602包括:The server 602 includes:

DLL文件信息获取模块6021,适于通过将所述待执行程序的特征信息与所述云端鉴别条件进行匹配,获得所述待执行程序需要检查的DLL文件信息,将所述需要检查的DLL文件信息作为匹配结果;The DLL file information obtaining module 6021 is adapted to obtain the DLL file information that needs to be checked by the program to be executed by matching the characteristic information of the program to be executed with the cloud identification condition, and obtain the information of the DLL file that needs to be checked as a match result;

其中,所述云端鉴别条件中包括多个特定程序匹配条件和满足该特定程序匹配条件后需要检查的特定DLL文件信息。Wherein, the cloud authentication condition includes a plurality of specific program matching conditions and specific DLL file information to be checked after the specific program matching condition is satisfied.

所述DLL文件信息获取模块包括:The DLL file information acquisition module includes:

匹配子模块,适于将所述待执行程序的特征信息与所述特定程序匹配条件进行匹配;a matching submodule, adapted to match the characteristic information of the program to be executed with the specific program matching condition;

所述特定程序匹配条件可以包括以下信息中的至少一种:The specific program matching condition may include at least one of the following information:

文件名称信息、文件大小信息、文件特征值信息、文件图标信息、产品名称信息、内部名称信息、原始文件名信息,以及进程的命令行信息、进程路径信息和父进程路径信息。File name information, file size information, file feature value information, file icon information, product name information, internal name information, original file name information, and process command line information, process path information, and parent process path information.

特定DLL文件信息获取子模块,适于获取满足相匹配的特定程序匹配条件后需要检查的特定DLL文件信息;The specific DLL file information acquisition sub-module is suitable for obtaining specific DLL file information that needs to be checked after matching specific program matching conditions are met;

确定子模块,适于将所述特定DLL文件信息作为所述待执行程序需要检查的DLL文件信息。The determining submodule is adapted to use the specific DLL file information as the DLL file information to be checked by the program to be executed.

所述检查模块6011还包括:The checking module 6011 also includes:

接收子模块,适于接收服务器下发的所述待执行程序需要检查的DLL文件信息;The receiving sub-module is adapted to receive the DLL file information that needs to be checked by the program to be executed issued by the server;

判断子模块,适于判断指定目录下是否存在所述需要检查的DLL文件信息,若存在,则确定所述待执行程序存在被劫持的DLL文件;其中,所述被劫持的DLL文件为指定目录下存在的DLL文件,所述指定目录为当前目录或者指定的相对目录。The judging submodule is adapted to judge whether the DLL file information to be checked exists under the specified directory, and if it exists, it is determined that there is a hijacked DLL file in the program to be executed; wherein, the hijacked DLL file is a specified directory The DLL file exists under, and the specified directory is the current directory or a specified relative directory.

需要说明的是,对应于上述实施例四,本实施例中的特征信息获取子模块可以为上述实施例四中的特征信息获取模块中包括的子模块,特征信息上传子模块可以为上述实施例四中的特征信息上传模块中包括的子模块,DLL文件信息获取子模块可以为上述实施例四中的匹配模块中包括的子模块,接收子模块和判断子模块可以为上述实施例四中的确定模块中包括的子模块,本实施例在此不再详细论述。It should be noted that, corresponding to the fourth embodiment above, the characteristic information acquisition submodule in this embodiment may be a submodule included in the characteristic information acquisition module in the fourth embodiment above, and the characteristic information uploading submodule may be the submodule included in the above embodiment The submodule included in the characteristic information uploading module in the fourth, the DLL file information acquisition submodule can be the submodule included in the matching module in the above-mentioned embodiment four, and the receiving submodule and the judgment submodule can be the submodule in the above-mentioned embodiment four To determine the sub-modules included in the module, this embodiment will not discuss in detail here.

所述客户端601还包括:The client 601 also includes:

文件获取模块6012,适于在服务器的查杀模块对所述被劫持的DLL文件进行查杀之前,获取所述待执行程序对应的EXE文件;The file acquisition module 6012 is adapted to acquire the EXE file corresponding to the program to be executed before the killing module of the server checks and kills the hijacked DLL file;

文件信息上传模块6013,适于将所述待执行程序对应的EXE文件的信息和所述被劫持的DLL文件的信息上传至服务器;The file information uploading module 6013 is adapted to upload the information of the EXE file corresponding to the program to be executed and the information of the hijacked DLL file to the server;

所述服务器602还包括:The server 602 also includes:

查杀模块6022,适于当客户端的确定模块的检查结果为存在时,对所述被劫持的DLL文件进行查杀;The checking and killing module 6022 is suitable for checking and killing the hijacked DLL file when the checking result of the determining module of the client is that it exists;

所述查杀模块6022包括:The killing module 6022 includes:

等级查询子模块,适于查询所述EXE文件的等级和所述被劫持的DLL文件的等级,所述等级包括安全等级、未知等级、可疑/高度可疑等级、以及恶意等级;The level query submodule is adapted to inquire about the level of the EXE file and the level of the hijacked DLL file, and the level includes a security level, an unknown level, a suspicious/highly suspicious level, and a malicious level;

查杀子模块,适于依据所述EXE文件的等级和所述被劫持的DLL文件的等级对所述被劫持的DLL文件进行查杀。The killing sub-module is suitable for killing the hijacked DLL file according to the level of the EXE file and the level of the hijacked DLL file.

所述客户端还包括:The client also includes:

处理模块6014,适于依据服务器查杀结果对所述待执行程序执行相应的操作;The processing module 6014 is adapted to perform corresponding operations on the program to be executed according to the server killing result;

其中,所述被劫持的DLL文件为一个或多个,所述处理模块6014包括:Wherein, the hijacked DLL file is one or more, and the processing module 6014 includes:

程序拦截子模块,适于当所述EXE文件的等级和所述被劫持的DLL文件的等级中至少一个为恶意等级时,拦截所述待执行程序的执行;The program interception submodule is adapted to intercept the execution of the program to be executed when at least one of the level of the EXE file and the level of the hijacked DLL file is a malicious level;

执行子模块,适于当所述EXE文件的等级和所述被劫持的DLL文件的等级均为安全等级时,允许所述待执行程序的执行;An execution submodule, adapted to allow the execution of the program to be executed when the level of the EXE file and the level of the hijacked DLL file are both security levels;

可疑操作拦截子模块,适于当所述EXE文件的等级和所述被劫持的DLL文件的等级中没有恶意等级,并且至少一个被劫持的DLL文件的等级高于所述EXE文件的等级时,获取其中最高的等级,将所述EXE文件的等级修改为所述最高的等级,允许所述待执行程序的执行,并拦截待执行程序执行后发起的可疑操作。Suspicious operation intercepting submodule, suitable for when there is no malicious level in the level of the EXE file and the level of the hijacked DLL file, and at least one level of the hijacked DLL file is higher than the level of the EXE file, Obtain the highest level among them, modify the level of the EXE file to the highest level, allow the execution of the program to be executed, and intercept suspicious operations initiated after the program to be executed is executed.

其中,所述可疑操作可以为以下任意一种:文件操作、注册表操作、进程操作和网络操作,当然,所述可疑操作还可以为其他的一些操作,本发明实施例对此并不加以限制。Wherein, the suspicious operation may be any of the following: file operation, registry operation, process operation, and network operation. Of course, the suspicious operation may also be some other operations, which are not limited in the embodiment of the present invention .

所述服务器602还包括:The server 602 also includes:

升级模块6023,适于定期检测所述云端鉴别条件是否满足升级条件,若满足,则获取新的鉴别条件,并通过重新加载所述新的鉴别条件完成所述云端鉴别条件的升级更新;The upgrade module 6023 is adapted to regularly detect whether the cloud authentication condition satisfies the upgrade condition, and if so, obtains a new authentication condition, and completes the upgrade update of the cloud authentication condition by reloading the new authentication condition;

其中,所述升级条件在服务器中进行配置。Wherein, the upgrade conditions are configured in the server.

本发明实施例的程序状况检测系统可以依据云端鉴别条件检查待执行程序是否存在被劫持的DLL文件,并且对待执行程序被劫持的DLL文件进行查杀,然后依据服务器查杀结果对待执行程序执行相应的操作。由此解决了恶意程序利用可信的白名单中的程序加载恶意DLL文件而导致主动防御无法正常拦截恶意程序的问题,取得了更加有效地拦截恶意程序的有益效果。The program status detection system of the embodiment of the present invention can check whether there is a hijacked DLL file in the program to be executed according to the cloud identification conditions, and check and kill the hijacked DLL file of the program to be executed, and then execute the corresponding operation. This solves the problem that the malicious program loads the malicious DLL file with the program in the credible white list, so that the active defense cannot normally intercept the malicious program, and achieves the beneficial effect of more effectively intercepting the malicious program.

其次,本发明实施例的云端鉴别条件保存在服务器中,当满足升级条件时,不需要客户端升级文件即可生效,因此可以立刻全网升级,升级速度较快,对于突发的恶意程序有很好的拦截效果,从而避免用户的损失。Secondly, the cloud identification conditions in the embodiment of the present invention are stored in the server. When the upgrade conditions are met, the upgrade file can be effective without the client upgrade file. Therefore, the entire network can be upgraded immediately, and the upgrade speed is fast, which is useful for sudden malicious programs. Very good interception effect, so as to avoid the loss of users.

对于上述程序状况检测系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见图1、图2和图3所示方法实施例的部分说明即可。As for the above program status detection system embodiment, since it is basically similar to the method embodiment, the description is relatively simple. For the related parts, please refer to the partial description of the method embodiment shown in FIG. 1 , FIG. 2 and FIG. 3 .

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。Each embodiment in this specification is described in a progressive manner, each embodiment focuses on the difference from other embodiments, and the same and similar parts of each embodiment can be referred to each other.

本领域技术人员易于想到的是:上述各个实施例的任意组合应用都是可行的,故上述各个实施例之间的任意组合都是本申请的实施方案,但是由于篇幅限制,本说明书在此就不一一详述了。It is easy for those skilled in the art to think that: any combination of the above-mentioned embodiments is feasible, so any combination of the above-mentioned embodiments is the embodiment of the present application, but due to space limitations, this description will be limited here Not detailed one by one.

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。The algorithms and displays presented herein are not inherently related to any particular computer, virtual system, or other device. Various generic systems can also be used with the teachings based on this. The structure required to construct such a system is apparent from the above description. Furthermore, the present invention is not specific to any particular programming language. It should be understood that various programming languages can be used to implement the content of the present invention described herein, and the above description of specific languages is for disclosing the best mode of the present invention.

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。In the description provided herein, numerous specific details are set forth. However, it is understood that embodiments of the invention may be practiced without these specific details. In some instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure the understanding of this description.

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。Similarly, it should be appreciated that in the foregoing description of exemplary embodiments of the invention, in order to streamline this disclosure and to facilitate an understanding of one or more of the various inventive aspects, various features of the invention are sometimes grouped together in a single embodiment, figure, or its description. This method of disclosure, however, is not to be interpreted as reflecting an intention that the claimed invention requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims following the Detailed Description are hereby expressly incorporated into this Detailed Description, with each claim standing on its own as a separate embodiment of this invention.

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。Those skilled in the art can understand that the modules in the device in the embodiment can be adaptively changed and arranged in one or more devices different from the embodiment. Modules or units or components in the embodiments may be combined into one module or unit or component, and furthermore may be divided into a plurality of sub-modules or sub-units or sub-assemblies. All features disclosed in this specification (including accompanying claims, abstract and drawings), as well as any method or method so disclosed, may be used in any combination, except that at least some of such features and/or processes or units are mutually exclusive. All processes or units of equipment are combined. Each feature disclosed in this specification (including accompanying claims, abstract and drawings) may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise.

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。Furthermore, those skilled in the art will understand that although some embodiments described herein include some features included in other embodiments but not others, combinations of features from different embodiments are meant to be within the scope of the invention. and form different embodiments. For example, in the following claims, any of the claimed embodiments may be used in any combination.

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的程序状况检测系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。The various component embodiments of the present invention may be implemented in hardware, or in software modules running on one or more processors, or in a combination thereof. Those skilled in the art should understand that a microprocessor or a digital signal processor (DSP) may be used in practice to implement some or all functions of some or all components in the program status detection system according to the embodiment of the present invention. The present invention can also be implemented as an apparatus or an apparatus program (for example, a computer program and a computer program product) for performing a part or all of the methods described herein. Such a program for realizing the present invention may be stored on a computer-readable medium, or may be in the form of one or more signals. Such a signal may be downloaded from an Internet site, or provided on a carrier signal, or provided in any other form.

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。It should be noted that the above-mentioned embodiments illustrate rather than limit the invention, and that those skilled in the art will be able to design alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word "comprising" does not exclude the presence of elements or steps not listed in a claim. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The invention can be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In a unit claim enumerating several means, several of these means can be embodied by one and the same item of hardware. The use of the words first, second, and third, etc. does not indicate any order. These words can be interpreted as names.

本文公开了A1、一种程序状况检测方法,包括:当检测到待执行程序创建进程时,获取所述待执行程序的特征信息;将所述待执行程序的特征信息上传至服务器,由服务器将所述待执行程序的特征信息与预先设置的云端鉴别条件进行匹配,得到匹配结果;接收所述服务器返回的匹配结果,并依据所述匹配结果确定所述待执行程序是否存在被劫持的DLL文件;服务器定期检测所述云端鉴别条件是否满足升级条件,若满足,则服务器获取新的鉴别条件,并通过重新加载所述新的鉴别条件完成所述云端鉴别条件的升级更新;其中,所述升级条件在服务器中进行配置。A2、根据A1所述的方法,还包括:若存在,则通过服务器对所述被劫持的DLL文件进行查杀;依据服务器查杀结果对所述待执行程序执行相应的操作。A3、根据A1所述的方法,所述匹配结果为所述待执行程序需要检查的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、根据A8所述的方法,所述可疑操作为以下任意一种:文件操作、注册表操作、进程操作和网络操作。A10、根据A1所述的方法,所述待执行程序为白名单中的程序。A11、根据A1所述的方法,所述云端鉴别条件存储在服务器中。This paper discloses A1. A program status detection method, including: when detecting the creation process of the program to be executed, obtaining the characteristic information of the program to be executed; uploading the characteristic information of the program to be executed to the server, and the server will The feature information of the program to be executed is matched with the pre-set cloud identification conditions to obtain a matching result; receiving the matching result returned by the server, and determining whether the hijacked DLL file exists in the program to be executed according to the matching result ; The server regularly detects whether the cloud authentication condition meets the upgrade condition, and if so, the server obtains a new authentication condition, and completes the upgrade update of the cloud authentication condition by reloading the new authentication condition; wherein, the upgrade Conditions are configured in the server. A2. The method according to A1 further includes: if it exists, checking and killing the hijacked DLL file through the server; performing corresponding operations on the program to be executed according to the result of the server checking and killing. A3. According to the method described in A1, the matching result is the DLL file information that the program to be executed needs to check, and determining whether there is a hijacked DLL file in the program to be executed according to the matching result includes: judging Whether there is the DLL file information that needs to be checked under the designated directory, if it exists, then determine that there is a hijacked DLL file in the program to be executed; wherein, the hijacked DLL file is a DLL file that exists under the designated directory, so The specified directory is the current directory or the specified relative directory. A4. According to the method described in A3, the cloud identification conditions include a plurality of specific program matching conditions and specific DLL file information that needs to be checked after the specific program matching conditions are met. A5. According to the method described in A4, the server matches the characteristic information of the program to be executed with the pre-set cloud identification conditions to obtain the matching result, including: matching the characteristic information of the program to be executed with the server through the server The specific program matching condition is matched; the specific DLL file information to be checked after the matching specific program matching condition is obtained through the server; and the specific DLL file information is used as the DLL file information to be checked by the program to be executed. A6. According to the method described in A5, the specific program matching condition includes at least one of the following information: file name information, file size information, file feature value information, file icon information, product name information, internal name information, original File name information, and process command line information, process path information and parent process path information; the feature information of the program to be executed includes at least one of the following information: file name information, file size information, file size information of the program to be executed Feature value information, file icon information, product name information, internal name information, original file name information, command line information, process path information, and parent process path information of the process created by the program to be executed. A7. According to the method described in A2, before checking and killing the hijacked DLL file through the server, it also includes: obtaining the EXE file corresponding to the program to be executed; The information and the information of the hijacked DLL file are uploaded to the server; the described killing of the hijacked DLL file by the server includes: obtaining the level of the EXE file and the hijacked DLL file by the server The level of the hijacked DLL file is checked according to the level of the EXE file and the level of the hijacked DLL file. kill. A8. According to the method described in A7, the hijacked DLL file is one or more, and the corresponding operation is performed on the program to be executed according to the server killing result, including: when the level of the EXE file and When at least one of the levels of the hijacked DLL file is a malicious level, intercept the execution of the program to be executed; when the level of the EXE file and the level of the hijacked DLL file are both security levels, allow Execution of the program to be executed; when there is no malicious level in the level of the EXE file and the level of the hijacked DLL file, and at least one level of the hijacked DLL file is higher than the level of the EXE file, Obtain the highest level among them, modify the level of the EXE file to the highest level, allow the execution of the program to be executed, and intercept suspicious operations initiated after the program to be executed is executed. A9. According to the method described in A8, the suspicious operation is any one of the following: file operation, registry operation, process operation and network operation. A10. According to the method described in A1, the program to be executed is a program in a white list. A11. According to the method described in A1, the cloud authentication condition is stored in the server.

本文公开了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所述的系统,所述云端鉴别条件存储在服务器中。This paper discloses A12, a program status detection system, including a client and a server, wherein the client includes: a feature information acquisition module, adapted to acquire feature information of the program to be executed when the creation process of the program to be executed is detected The characteristic information uploading module is adapted to upload the characteristic information of the program to be executed to the server; the server includes: a matching module adapted to match the characteristic information of the program to be executed with the pre-set cloud identification conditions, Obtain the matching result; the upgrade module is suitable for regularly detecting whether the cloud authentication condition meets the upgrade condition, if so, obtains a new authentication condition, and completes the upgrade update of the cloud authentication condition by reloading the new authentication condition ; Wherein, the upgrade condition is configured in the server; the client also includes: a determination module, adapted to receive the matching result returned by the server, and determine whether the program to be executed is hijacked according to the matching result DLL files. A13, according to the system described in A12, the server also includes: a killing module, adapted to check and kill the hijacked DLL file when the check result of the determination module of the client is present; the client also It includes: a processing module, which is adapted to perform corresponding operations on the program to be executed according to the result of checking and killing the server. A14, according to the system described in A12, the matching result is the DLL file information that the program to be executed needs to be checked, and the determination module includes: a judging sub-module, which is suitable for judging whether there is the DLL that needs to be checked under the specified directory If the file information exists, it is determined that there is a hijacked DLL file in the program to be executed; wherein, the hijacked DLL file is a DLL file existing in a specified directory, and the specified directory is the current directory or a specified relative directory . A15. According to the system described in A14, the cloud identification conditions include a plurality of specific program matching conditions and specific DLL file information that needs to be checked after the specific program matching conditions are met. A16. According to the system described in A15, the matching module includes: a matching submodule, adapted to match the characteristic information of the program to be executed with the matching condition of the specific program; a specific DLL file information acquisition submodule, adapted to Acquire specific DLL file information that needs to be checked after matching specific program matching conditions are met; determine a submodule, and be adapted to use the specific DLL file information as the DLL file information that needs to be checked by the program to be executed. A17. According to the system described in A16, the specific program matching condition includes at least one of the following information: file name information, file size information, file feature value information, file icon information, product name information, internal name information, original File name information, and process command line information, process path information and parent process path information; the feature information of the program to be executed includes at least one of the following information: file name information, file size information, file size information of the program to be executed Feature value information, file icon information, product name information, internal name information, original file name information, command line information, process path information, and parent process path information of the process created by the program to be executed. A18. According to the system described in A13, the client also includes: a file acquisition module, adapted to acquire the EXE corresponding to the program to be executed before the killing module of the server checks and kills the hijacked DLL file File; a file information upload module, adapted to upload the information of the EXE file corresponding to the program to be executed and the information of the hijacked DLL file to the server; the killing module includes: a grade query submodule, suitable for query The level of the EXE file and the level of the hijacked DLL file, the level includes security level, unknown level, suspicious/highly suspicious level and malicious level; killing submodules, suitable for according to the level of the EXE file The level and the level of the hijacked DLL file are checked and killed for the hijacked DLL file. A19, according to the system described in A18, there are one or more hijacked DLL files, and the processing module includes: a program interception submodule, suitable for when the level of the EXE file and the hijacked DLL file When at least one of the levels is a malicious level, intercept the execution of the program to be executed; the execution submodule is adapted to allow all the levels of the EXE file and the hijacked DLL file to be a security level The execution of the program to be executed; the suspicious operation intercepting submodule is suitable for when there is no malicious level in the level of the EXE file and the level of the hijacked DLL file, and the level of at least one hijacked DLL file is higher than the level of the hijacked DLL file When the level of the EXE file is described, the highest level is obtained, the level of the EXE file is modified to the highest level, the execution of the program to be executed is allowed, and suspicious operations initiated after the program to be executed are intercepted are intercepted. A20. According to the system described in A19, the suspicious operation is any one of the following: file operation, registry operation, process operation and network operation. A21. According to the system described in A12, the program to be executed is a program in a white list. A22. According to the system described in A12, the cloud authentication condition is stored in a server.

Claims (18)

1. a program state testing method, comprising:
When pending program creation process being detected, obtain the characteristic information of described pending program;
The characteristic information of described pending program is uploaded onto the server, by server, the characteristic information of described pending program is mated with the high in the clouds discrimination condition pre-set, obtain matching result; Wherein, described high in the clouds discrimination condition comprises multiple specific program matching condition and meets the specific dll file information that needs check after this specific program matching condition; Described matching result is the dll file information that described pending program needs to check;
Receive the matching result that described server returns, and determine whether described pending program exists the dll file of being held as a hostage according to described matching result;
Described in server periodic detection, whether high in the clouds discrimination condition meets promotion condition, if meet, then server obtains new discrimination condition, and the upgrading completing described high in the clouds discrimination condition by reloading described new discrimination condition upgrades; Wherein, described promotion condition is configured in the server; Described promotion condition comprises: increased the program that there is the dll file of being held as a hostage newly and there is not specific program matching condition corresponding to this program in the discrimination condition of described high in the clouds, then the new discrimination condition corresponding to this promotion condition increases specific program matching condition corresponding to a newly-increased program relative to described high in the clouds discrimination condition.
2. method according to claim 1, also comprises:
If exist, then by server, killing is carried out to described dll file of being held as a hostage;
According to server killing result, corresponding operation is performed to described pending program.
3. method according to claim 1,
Describedly determine whether described pending program exists the dll file of being held as a hostage, and comprising according to described matching result:
Whether there is the described dll file information needing to check under judging assigned catalogue, if exist, then determine that described pending program exists the dll file of being held as a hostage; Wherein, described in the dll file of being held as a hostage be the dll file existed under assigned catalogue, the relative catalogue that described assigned catalogue is current directory or specifies.
4. method according to claim 3,
Describedly by server, the characteristic information of described pending program to be mated with the high in the clouds discrimination condition pre-set, obtains matching result, comprising:
By server, the characteristic information of described pending program is mated with described specific program matching condition;
The specific dll file information that obtained the specific program matching condition meeting and match by server after, needs check;
Described specific dll file information is needed the dll file information of inspection as described pending program.
5. method according to claim 4,
Described specific program matching condition comprises at least one in following information:
File name information, document size information, file characteristic value information, file icon information, name of product information, inner name information, raw filename information, and the order line information of process, process path information and parent process routing information;
The characteristic information of described pending program comprises at least one in following information:
The file name information of pending program, document size information, file characteristic value information, file icon information, name of product information, inner name information, raw filename information, and the order line information of the process of pending program creation, process path information and parent process routing information.
6. method according to claim 2,
Before by server killing being carried out to described dll file of being held as a hostage, also comprise:
Obtain the EXE file that described pending program is corresponding;
The information of the information of EXE file corresponding for described pending program and described dll file of being held as a hostage is uploaded onto the server;
Describedly by server, killing is carried out to described dll file of being held as a hostage, comprising:
Obtain the grade of described EXE file and the grade of described dll file of being held as a hostage by server, described grade comprises safe class, unknown grade, height suspicion level and malice grade;
According to the grade of described EXE file and the grade of described dll file of being held as a hostage, killing is carried out to described dll file of being held as a hostage.
7. method according to claim 6, described in the dll file of being held as a hostage be one or more,
Described foundation server killing result performs corresponding operation to described pending program, comprising:
When at least one is for malice grade in the grade of described EXE file and the grade of described dll file of being held as a hostage, tackle the execution of described pending program;
When the grade of described EXE file and the grade of described dll file of being held as a hostage are safe class, allow the execution of described pending program;
When there is no malice grade in the grade of described EXE file and the grade of described dll file of being held as a hostage, and during the grade of the grade of at least one dll file of being held as a hostage higher than described EXE file, obtain wherein the highest grade, grade the highest described in the grade of described EXE file is revised as, allow the execution of described pending program, and tackle the suspicious operation initiated after pending program performs.
8. method according to claim 7, described suspicious be operating as following any one:
File operation, registry operations, process operation and network operation.
9. method according to claim 1, described pending program is the program in white list.
10. method according to claim 1, described high in the clouds discrimination condition stores in the server.
11. 1 kinds of program condition detecting systems, comprise client and server, wherein,
Client comprises:
Characteristic information acquisition module, is suitable for when pending program creation process being detected, obtains the characteristic information of described pending program;
Transmission module on characteristic information, is suitable for the characteristic information of described pending program to upload onto the server;
Described server comprises:
Matching module, is suitable for the characteristic information of described pending program to mate with the high in the clouds discrimination condition pre-set, obtains matching result; Wherein, described high in the clouds discrimination condition comprises multiple specific program matching condition and meets the specific dll file information that needs check after this specific program matching condition; Described matching result is the dll file information that described pending program needs to check;
Upgraded module, is suitable for high in the clouds discrimination condition described in periodic detection and whether meets promotion condition, if meet, then obtains new discrimination condition, and the upgrading completing described high in the clouds discrimination condition by reloading described new discrimination condition upgrades; Wherein, described promotion condition is configured in the server; Described promotion condition comprises: increased the program that there is the dll file of being held as a hostage newly and there is not specific program matching condition corresponding to this program in the discrimination condition of described high in the clouds, then the new discrimination condition corresponding to this promotion condition increases specific program matching condition corresponding to a newly-increased program relative to described high in the clouds discrimination condition;
Described client also comprises:
Determination module, is suitable for receiving the matching result that described server returns, and determines whether described pending program exists the dll file of being held as a hostage according to described matching result.
12. systems according to claim 11,
Described server also comprises:
Killing module, is suitable for, when the check result of the determination module of client is for existing, carrying out killing to described dll file of being held as a hostage;
Described client also comprises:
Processing module, is suitable for performing corresponding operation according to server killing result to described pending program.
13. systems according to claim 11,
Described determination module comprises:
Judge submodule, whether there is the described dll file information needing to check under being suitable for judging assigned catalogue, if exist, then determine that described pending program exists the dll file of being held as a hostage; Wherein, described in the dll file of being held as a hostage be the dll file existed under assigned catalogue, the relative catalogue that described assigned catalogue is current directory or specifies.
14. systems according to claim 13,
Described matching module comprises:
Matched sub-block, is suitable for the characteristic information of described pending program to mate with described specific program matching condition;
Specific dll file acquisition of information submodule, the specific dll file information that after being suitable for obtaining the satisfied specific program matching condition matched, needs check;
Determine submodule, be suitable for the dll file information described specific dll file information being needed inspection as described pending program.
15. systems according to claim 14,
Described specific program matching condition comprises at least one in following information:
File name information, document size information, file characteristic value information, file icon information, name of product information, inner name information, raw filename information, and the order line information of process, process path information and parent process routing information;
The characteristic information of described pending program comprises at least one in following information:
The file name information of pending program, document size information, file characteristic value information, file icon information, name of product information, inner name information, raw filename information, and the order line information of the process of pending program creation, process path information and parent process routing information.
16. systems according to claim 12,
Described client also comprises:
File acquisition module, the killing module be suitable at server obtains the EXE file that described pending program is corresponding before carrying out killing to described dll file of being held as a hostage;
Transmission module on fileinfo, is suitable for the information of the information of EXE file corresponding for described pending program and described dll file of being held as a hostage to upload onto the server;
Described killing module comprises:
Ranked queries submodule, is suitable for inquiring about the grade of described EXE file and the grade of described dll file of being held as a hostage, and described grade comprises safe class, unknown grade, height suspicion level and malice grade;
Killing submodule, is suitable for carrying out killing according to the grade of described EXE file and the grade of described dll file of being held as a hostage to described dll file of being held as a hostage.
17. systems according to claim 16, described in the dll file of being held as a hostage be one or more,
Described processing module comprises:
Program intercepts submodule, is suitable for, when at least one is for malice grade in the grade of described EXE file and the grade of described dll file of being held as a hostage, tackling the execution of described pending program;
Implementation sub-module, is suitable for, when the grade of described EXE file and the grade of described dll file of being held as a hostage are safe class, allowing the execution of described pending program;
Suspicious operation intercepting submodule, be suitable for when there is no malice grade in the grade of described EXE file and the grade of described dll file of being held as a hostage, and during the grade of the grade of at least one dll file of being held as a hostage higher than described EXE file, obtain wherein the highest grade, grade the highest described in the grade of described EXE file is revised as, allow the execution of described pending program, and tackle the suspicious operation initiated after pending program performs.
18. systems according to claim 11, described pending program is the program in white list.
CN201210449282.4A 2012-11-09 2012-11-09 Program state testing method and system Active CN102982281B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210449282.4A CN102982281B (en) 2012-11-09 2012-11-09 Program state testing method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210449282.4A CN102982281B (en) 2012-11-09 2012-11-09 Program state testing method and system

Publications (2)

Publication Number Publication Date
CN102982281A CN102982281A (en) 2013-03-20
CN102982281B true CN102982281B (en) 2016-03-30

Family

ID=47856285

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210449282.4A Active CN102982281B (en) 2012-11-09 2012-11-09 Program state testing method and system

Country Status (1)

Country Link
CN (1) CN102982281B (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294955B (en) * 2013-06-28 2016-06-08 北京奇虎科技有限公司 Macro virus scanning and killing method and system
CN103593613A (en) * 2013-11-26 2014-02-19 北京网秦天下科技有限公司 Method, terminal, server and system for computer virus detection
CN103886042B (en) * 2014-03-10 2017-07-21 珠海市君天电子科技有限公司 A kind of method and device for recognizing dynamic link library
CN104123489A (en) * 2014-07-02 2014-10-29 珠海市君天电子科技有限公司 Method and device for monitoring executable program
CN104079673B (en) * 2014-07-30 2018-12-07 北京奇虎科技有限公司 A kind of methods, devices and systems for preventing DNS from kidnapping in application downloading
CN105631327A (en) * 2015-12-16 2016-06-01 北京奇虎科技有限公司 Virus checking and killing method and system as well as client
CN107330320B (en) * 2016-04-29 2020-06-05 腾讯科技(深圳)有限公司 Method and device for monitoring application process
CN110197005A (en) * 2019-05-07 2019-09-03 珠海格力电器股份有限公司 Automatic identification method and device for CAE model of air conditioner
CN113162936B (en) * 2021-04-25 2023-04-07 亿次网联(杭州)科技有限公司 Method and system for preventing abnormal dynamic analysis

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1838136A (en) * 2006-04-24 2006-09-27 南京树声科技有限公司 Method for searching harmful program in computer memory device
CN102081722A (en) * 2011-01-04 2011-06-01 奇智软件(北京)有限公司 A method and device for protecting a specified application program
CN102663288A (en) * 2012-03-22 2012-09-12 奇智软件(北京)有限公司 Virus killing method and device thereof
CN103001947A (en) * 2012-11-09 2013-03-27 北京奇虎科技有限公司 A program processing method and system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8387139B2 (en) * 2008-02-04 2013-02-26 Microsoft Corporation Thread scanning and patching to disable injected malware threats

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1838136A (en) * 2006-04-24 2006-09-27 南京树声科技有限公司 Method for searching harmful program in computer memory device
CN102081722A (en) * 2011-01-04 2011-06-01 奇智软件(北京)有限公司 A method and device for protecting a specified application program
CN102663288A (en) * 2012-03-22 2012-09-12 奇智软件(北京)有限公司 Virus killing method and device thereof
CN103001947A (en) * 2012-11-09 2013-03-27 北京奇虎科技有限公司 A program processing method and system

Also Published As

Publication number Publication date
CN102982281A (en) 2013-03-20

Similar Documents

Publication Publication Date Title
CN103001947B (en) A kind of program processing method and system
CN102982281B (en) Program state testing method and system
CN102999720B (en) Program identification method and system
CN102902919B (en) A kind of identifying processing methods, devices and systems of suspicious operation
US9596257B2 (en) Detection and prevention of installation of malicious mobile applications
CN103077353B (en) The method and apparatus of Initiative Defense rogue program
KR101880375B1 (en) Segregating executable files exhibiting network activity
US10528735B2 (en) Malicious code protection for computer systems based on process modification
US20230185921A1 (en) Prioritizing vulnerabilities
JP6700351B2 (en) System and method for detection of malicious code in a process&#39;s address space
KR101657191B1 (en) Software Protection Mechanism
RU2531861C1 (en) System and method of assessment of harmfullness of code executed in addressing space of confidential process
US8250569B1 (en) Systems and methods for selectively blocking application installation
US11522885B1 (en) System and method for information gain for malware detection
US20210073374A1 (en) Securing an application framework from shared library sideload vulnerabilities
CN102882875B (en) Active defense method and device
US20150089655A1 (en) System and method for detecting malware based on virtual host
CN103473501B (en) A malware tracking method based on cloud security
CN103207970B (en) Virus document scan method and device
CN102999721B (en) A kind of program processing method and system
CN103279707A (en) Method, device and system for actively defending against malicious programs
EP2754079B1 (en) Malware risk scanner
US8978139B1 (en) Method and apparatus for detecting malicious software activity based on an internet resource information database
CN102984134B (en) Safety defense system
CN102984135B (en) Security defense method, device and system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address

Address after: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee after: Beijing Qizhi Business Consulting Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Qizhi software (Beijing) Co.,Ltd.

CP03 Change of name, title or address
TR01 Transfer of patent right

Effective date of registration: 20240115

Address after: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Beijing Qizhi Business Consulting Co.,Ltd.

TR01 Transfer of patent right