一种可执行文件的控制方法和装置与流程

文档序号:11156196阅读:524来源:国知局
一种可执行文件的控制方法和装置与制造工艺

本发明涉及计算机技术领域,特别涉及一种可执行文件的控制方法和装置。



背景技术:

随着科学技术的发展,计算机越来越普及,应用程序的种类越来越多,并且越来越复杂。但是,应用程序的质量良莠不齐,某些恶意的应用程序嵌入非法代码、执行文件被篡改等,对系统服务器进行恶意攻击。

目前,为了防止恶意程序的攻击,通常需要对待执行的应用程序(即,可执行文件)进行控制,以禁止执行恶意应用程序。具体地,可通过防火墙、杀毒软件等来实现对待执行的应用程序进行控制。

但是,随着恶意应用程序的复杂性越来越高,且攻击方式不断变化,防火墙、杀毒软件等也就很难实现对恶意应用程序进行控制无法有效防止恶意可执行文件的攻击。



技术实现要素:

本发明实施例提供了一种可执行文件的控制方法和装置,能更为有效地防止恶意可执行文件的攻击。

第一方面,本发明实施例提供了一种可执行文件的控制方法,该控制方法包括:确定至少一个可执行文件,并计算每一个所述可执行文件对应的标准摘要值;

在接收到待执行文件的执行请求时,判断确定的所述至少一个可执行文件中是否存在一个目标可执行文件与所述待执行文件相同;

当存在一个目标可执行文件与所述待执行文件相同时,计算所述待执行文件的访问摘要值;

根据所述目标可执行文件的标准摘要值,以及所述访问摘要值,确定是否允许执行所述待执行文件。

优选地,所述根据所述目标可执行文件的标准摘要值,以及所述访问摘要值,确定是否执行所述待执行文件,包括:

判断所述目标可执行文件的标准摘要值和所述访问摘要值是否相同,若是,则允许执行所述待执行文件;否则,禁止执行所述待执行文件。

优选地,在所述确定至少一个可执行文件,并计算每一个所述可执行文件对应的标准摘要值之后,进一步包括:

确定每一个所述可执行文件对应的文件名;

将每一个所述可执行文件对应的文件名,以及每一个所述可执行文件对应的标准摘要值进行存储;

所述判断确定的所述至少一个可执行文件中是否存在一个目标可执行文件与所述待执行文件相同,包括:

解析接收的所述执行请求,以获取所述待执行文件对应的文件名;

判断确定的所述至少一个可执行文件对应的每一个文件名中是否存在一个目标文件名与所述待执行文件对应的文件名相同。

优选地,预先设置缓存模块;

在所述待执行文件被允许执行时,利用所述缓存模块记录所述待执行文件被连续禁止执行的次数为0;

在所述待执行文件被禁止执行时,利用所述缓存模块记录所述待执行文件被连续禁止执行的次数加1。

优选地,在所述判断确定的所述至少一个可执行文件中是否存在一个目标可执行文件与所述待执行文件相同之前,还包括:

确定所述待执行文件被连续禁止执行的次数;

当所述待执行文件被连续禁止执行的次数小于预设阈值时,执行所述判断确定的所述至少一个可执行文件中是否存在一个目标可执行文件与所述待执行文件相同。

优选地,禁止修改确定的所述至少一个可执行文件、以及禁止重命名确定的所述至少一个可执行文件对应的文件名。

第二方面,本发明实施例提供了一种可执行文件的控制装置,该控制装置包括:确定单元、判断单元、计算单元和处理单元,其中,

所述确定单元,用于确定至少一个可执行文件,并计算每一个所述可执行文件对应的标准摘要值;

所述判断单元,用于在接收到待执行文件的执行请求时,判断确定的所述至少一个可执行文件中是否存在一个目标可执行文件与所述待执行文件相同;

所述计算单元,用于当存在一个目标可执行文件与所述待执行文件相同时,计算所述待执行文件的访问摘要值;

所述处理单元,用于根据所述目标可执行文件的标准摘要值,以及所述访问摘要值,确定是否允许执行所述待执行文件。

优选地,所述处理单元,用于判断所述目标可执行文件的标准摘要值和所述访问摘要值是否相同,若是,则允许执行所述待执行文件;否则,禁止执行所述待执行文件。

优选地,该可执行文件的控制装置进一步包括:命名单元和存储单元,其中,

所述命名单元,用于确定每一个所述可执行文件对应的文件名;

所述存储单元,用于将每一个所述可执行文件对应的文件名,以及每一个所述可执行文件对应的标准摘要值进行存储;

所述判断单元,用于解析接收的所述执行请求,以获取所述待执行文件对应的文件名;判断确定的所述至少一个可执行文件对应的每一个文件名中是否存在一个目标文件名与所述待执行文件对应的文件名相同。

优选地,该可执行文件的控制装置进一步包括:缓存单元,用于在所述待执行文件被允许执行时,利用所述缓存模块记录所述待执行文件被连续禁止执行的次数为0;在所述待执行文件被禁止执行时,利用所述缓存模块记录所述待执行文件被连续禁止执行的次数加1。

优选地,该可执行文件的控制装置进一步包括:筛选单元,用于确定所述待执行文件被连续禁止执行的次数;当所述待执行文件被连续禁止执行的次数小于预设阈值时,执行所述判断确定的所述至少一个可执行文件中是否存在一个目标可执行文件与所述待执行文件相同。

优选地,该可执行文件的控制装置进一步包括:禁止单元,用于禁止修改确定的所述至少一个可执行文件、以及禁止重命名确定的所述至少一个可执行文件对应的文件名。

本发明实施例提供了一种可执行文件的控制方法和装置,通过确定至少一个可执行文件,并计算每一个可执行文件对应的标准摘要值,在接收到待执行文件的执行请求时,判断确定的至少一个可执行文件中是否存在一个目标可执行文件与待执行文件相同,当存在一个目标可执行文件与待执行文件相同时,计算待执行文件的访问摘要值,根据目标可执行文件的标准摘要值,以及访问摘要值,确定是否允许执行待执行文件。由于不采用传统的防火墙、杀毒软件等对待执行文件进行控制,而是直接与可执行文件,以及可执行文件对应的摘要值进行对比,从而能够准确的判断待执行文件是可执行文件,还是恶意程序文件。因此,能更为有效地防止恶意可执行文件的攻击。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一个实施例提供的一种可执行文件的控制方法;

图2是本发明一个实施例提供的另一种可执行文件的控制方法;

图3是本发明一个实施例提供的一种可执行文件的控制装置;

图4是本发明一个实施例提供的另一种可执行文件的控制装置;

图5是本发明一个实施例提供的又一种可执行文件的控制装置;

图6是本发明一个实施例提供的再一种可执行文件的控制装置。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,本发明实施例提供了一种可执行文件的控制方法,该方法可以包括以下步骤:

步骤101:确定至少一个可执行文件,并计算每一个所述可执行文件对应的标准摘要值。

步骤102:在接收到待执行文件的执行请求时,判断确定的所述至少一个可执行文件中是否存在一个目标可执行文件与所述待执行文件相同。

步骤103:当存在一个目标可执行文件与所述待执行文件相同时,计算所述待执行文件的访问摘要值。

步骤104:根据所述目标可执行文件的标准摘要值,以及所述访问摘要值,确定是否允许执行所述待执行文件。

在上述实施例中,通过确定至少一个可执行文件,并计算每一个可执行文件对应的标准摘要值,在接收到待执行文件的执行请求时,判断确定的至少一个可执行文件中是否存在一个目标可执行文件与待执行文件相同,当存在一个目标可执行文件与待执行文件相同时,计算待执行文件的访问摘要值,根据目标可执行文件的标准摘要值,以及访问摘要值,确定是否允许执行待执行文件。由于不采用传统的防火墙、杀毒软件等对待执行文件进行控制,而是直接与可执行文件,以及可执行文件对应的摘要值进行对比,从而能够准确的判断待执行文件是可执行文件,还是恶意程序文件。因此,能更为有效地防止恶意可执行文件的攻击。

值得说明的是,可执行文件和待执行文件可以代表同一个应用程序也可以代表不同的应用程序。标准摘要值和访问摘要值可以是MD(Message-Digest Algorithm,消息摘要算法)值,也可以是RIPEMD(RACE Integrity Primitives Evaluation Message Digest,RACE原始完整性校验消息摘要)值和SHA(Secure Hash Algorithm,安全散列算法)值等等。在确定是否允许执行待执行文件后,可以发送相应的指令给服务器,使服务器完成相应的处理。

在本发明一个实施例中,为了实现防止恶意待执行文件的攻击,所述根据所述目标可执行文件的标准摘要值,以及所述访问摘要值,确定是否执行所述待执行文件,包括:

判断所述目标可执行文件的标准摘要值和所述访问摘要值是否相同,若是,则允许执行所述待执行文件;否则,禁止执行所述待执行文件。

在该实施例中,对于MD5算法具有以下优点,任意长度的原数据,算出的MD5值长度都是固定的、从原数据计算出MD5值很容易、对原数据进行任何改动,小到对1个字节的改动,所得到的MD5值都有很大区别、已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。因此,标准摘要值和访问摘要值使用MD5值。由于对原数据进行任何改动,小到对1个字节的改动,所得到的MD5值都有很大区别,所以通过判断目标可执行文件的标准摘要值和访问摘要值是否相同就可以知道待执行文件是否被改动,换句话说,判断文件包含的内容是否相同。

在本发明一个实施例中,在所述确定至少一个可执行文件,并计算每一个所述可执行文件对应的标准摘要值之后,进一步包括:

确定每一个所述可执行文件对应的文件名;

将每一个所述可执行文件对应的文件名,以及每一个所述可执行文件对应的标准摘要值进行存储;

所述判断确定的所述至少一个可执行文件中是否存在一个目标可执行文件与所述待执行文件相同,包括:

解析接收的所述执行请求,以获取所述待执行文件对应的文件名;

判断确定的所述至少一个可执行文件对应的每一个文件名中是否存在一个目标文件名与所述待执行文件对应的文件名相同。

在该实施例中,将可执行文件的文件名、以及可执行文件对应的MD5值组成策略下发到内核中,内核接收到策略以后做Hash存储,形成策略库。当要执行待执行文件时,计算其MD5值,并与下发的策略进行匹配,如果发现待执行文件的MD5值发生改变或策略库里查询不到该待执行文件的文件名,则禁止程序运行。例如,待执行文件的文件名为A,在可执行文件中有文件名为A的可执行文件,则计算待执行文件的MD5值,若待执行文件的MD5值与文件名为A的可执行文件的MD5值相同,则允许执行该待执行文件,否则禁止执行该待执行文件。

值得说明的是,待执行文件的MD5值也可以与可执行文件对应的所有MD5值进行一一对比。

在本发明一个实施例中,为了加快系统运行速度,可以预先设置缓存模块;

在所述待执行文件被允许执行时,利用所述缓存模块记录所述待执行文件被连续禁止执行的次数为0;

在所述待执行文件被禁止执行时,利用所述缓存模块记录所述待执行文件被连续禁止执行的次数加1。

在该实施例中,通过设置缓存模块可以对待执行文件的执行请求进行记录,能够通过缓存中记录加快判断速度。并且可以将缓存中的记录生成日志,用户可以通过查看日志判断被禁止执行的待执行文件是否合法,从而决定是否将该待执行文件视为可执行文件。例如,待执行文件C被禁止执行,此时记录待执行文件C为1次被禁止执行,当待执行文件C再次进行执行请求,若此次待执行文件C再次被禁止执行,则此时记录待执行文件C为2次被禁止执行,若此次待执行文件C被允许执行,则此时记录待执行文件C为0次被禁止执行。再如,待执行文件D已经连续被禁止执行4次,当待执行文件D再次进行执行请求,若此次待执行文件D再次被禁止执行,则记录待执行文件D为5次被禁止执行;若此次待执行文件D被允许执行,则此时记录待执行文件D为0次被禁止执行。

在本发明一个实施例中,在所述判断确定的所述至少一个可执行文件中是否存在一个目标可执行文件与所述待执行文件相同之前,还包括:

确定所述待执行文件被连续禁止执行的次数;

当所述待执行文件被连续禁止执行的次数小于预设阈值时,执行所述判断确定的所述至少一个可执行文件中是否存在一个目标可执行文件与所述待执行文件相同。

在该实施例中,通过缓存模块中的记录,可以确定待执行文件被连续禁止执行的次数,并且述待执行文件被连续禁止执行的次数大于预设阈值,则可能是恶意待执行文件进行攻击,就直接禁止该待执行文件执行。预设阈值可以根据用户需求自行设定。例如,预设阈值为10,在缓存中记录待执行文件B被连续禁止执行的次数为15,则认为待执行文件B为恶意攻击,直接禁止待执行文件B执行。

在本发明一个实施例中,为了保证可执行文件的安全性,该可执行文件的控制方法还可以进一步包括:

禁止修改确定的所述至少一个可执行文件、以及禁止重命名确定的所述至少一个可执行文件对应的文件名。

在该实施例中,通过禁止修改可执行文件可以有效的避免可执行文件本恶意篡改,而禁止重命名则可以有效避免判断文件名是否相同时出现误差。

如图2所示,本发明一个实施例提供了一种可执行文件的控制方法,该方法可以包括以下步骤:

步骤201:确定至少一个可执行文件,并计算每一个可执行文件对应的标准摘要值。

在该步骤中,通过扫描系统上所有执行文件,确定可执行文件,并计算每一个确定的可执行文件的MD5值。

步骤202:确定每一个可执行文件对应的文件名。

步骤203:将每一个可执行文件对应的文件名,以及每一个可执行文件对应的标准摘要值进行存储。

在该步骤中,将可执行文件的文件名、以及可执行文件对应的MD5值组成策略下发到内核中,内核接收到策略以后做Hash存储,形成策略库。

步骤204:在接收到待执行文件的执行请求时,解析接收的执行请求,以获取待执行文件对应的文件名。

步骤205:确定待执行文件被连续禁止执行的次数是否小于预设阈值,若是,则执行步骤206;否则,执行步骤210。

在该步骤中,通过缓存模块中的记录,确定待执行文件被连续禁止执行的次数,并且与预设阈值进行比较。预设阈值可以自行设定。

步骤206:判断确定的至少一个可执行文件对应的每一个文件名中是否存在一个目标文件名与待执行文件对应的文件名相同,若是,则执行步骤207,否则,执行步骤210

在该步骤中,在策略库中进行查询,是否与待执行文件对应的文件名相同的文件名,则该文件名对应的就是目标文件名。

步骤207:计算待执行文件的访问摘要值。

在该步骤中,策略库中具有与待执行文件对应的文件名相同的文件名,则需要计算待执行文件的访问摘要值进行进一步判断。

步骤208:判断目标可执行文件的标准摘要值和访问摘要值是否相同,若是,则执行步骤209;否则,执行步骤210。

在该步骤中,将计算得到的访问摘要值与策略库中和目标文件名对应的标准摘要值进行比较。

步骤209:允许执行待执行文件,并结束当前流程。

步骤210:禁止执行待执行文件。

如图3所示,本发明实施例提供了一种可执行文件的控制装置,该控制装置可以包括:确定单元301、判断单元302、计算单元303和处理单元304,其中,

所述确定单元301,用于确定至少一个可执行文件,并计算每一个所述可执行文件对应的标准摘要值;

所述判断单元302,用于在接收到待执行文件的执行请求时,判断所述确定单元301确定的所述至少一个可执行文件中是否存在一个目标可执行文件与所述待执行文件相同;

所述计算单元303,用于当存在一个目标可执行文件与所述待执行文件相同时,计算所述待执行文件的访问摘要值;

所述处理单元304,用于根据所述目标可执行文件的标准摘要值,以及所述访问摘要值,确定是否允许执行所述待执行文件。

在本发明一个实施例中,为了实现防止恶意待执行文件的攻击,所述处理单元,用于判断所述目标可执行文件的标准摘要值和所述访问摘要值是否相同,若是,则允许执行所述待执行文件;否则,禁止执行所述待执行文件。

如图4所示,在本发明一个实施例中,该可执行文件的控制装置可以进一步包括:命名单元401和存储单元402,其中,

所述命名单元401,用于确定每一个所述可执行文件对应的文件名;

所述存储单元402,用于将每一个所述可执行文件对应的文件名,以及每一个所述可执行文件对应的标准摘要值进行存储;

所述判断单元302,用于解析接收的所述执行请求,以获取所述待执行文件对应的文件名;判断确定的所述至少一个可执行文件对应的每一个文件名中是否存在一个目标文件名与所述待执行文件对应的文件名相同。

如图5所示,在本发明一个实施例中,该可执行文件的控制装置可以进一步包括:缓存单元501,用于在所述待执行文件被允许执行时,利用所述缓存模块记录所述待执行文件被连续禁止执行的次数为0;在所述待执行文件被禁止执行时,利用所述缓存模块记录所述待执行文件被连续禁止执行的次数加1。

如图6所示,在本发明一个实施例中,该可执行文件的控制装置可以进一步包括:筛选单元601,用于确定所述待执行文件被连续禁止执行的次数;当所述待执行文件被连续禁止执行的次数小于预设阈值时,执行所述判断确定的所述至少一个可执行文件中是否存在一个目标可执行文件与所述待执行文件相同。

在本发明一个实施例中,该可执行文件的控制装置可以进一步包括:禁止单元(图中未示出),用于禁止修改确定的所述至少一个可执行文件、以及禁止重命名确定的所述至少一个可执行文件对应的文件名。

上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。

综上,本发明的各实施例,至少具有如下有益效果:

1、在本发明的实施例中,通过确定至少一个可执行文件,并计算每一个可执行文件对应的标准摘要值,在接收到待执行文件的执行请求时,判断确定的至少一个可执行文件中是否存在一个目标可执行文件与待执行文件相同,当存在一个目标可执行文件与待执行文件相同时,计算待执行文件的访问摘要值,根据目标可执行文件的标准摘要值,以及访问摘要值,确定是否允许执行待执行文件。由于不采用传统的防火墙、杀毒软件等对待执行文件进行控制,而是直接与可执行文件,以及可执行文件对应的摘要值进行对比,从而能够准确的判断待执行文件是可执行文件,还是恶意程序文件。因此,能更为有效地防止恶意待执行文件的攻击。

2、在本发明的实施例中,由于使用MD5算法或其他算法,对可执行文件进行标准摘要值的计算,对可执行文件进行任何改动,小到对1个字节的改动,所得到的摘要值都有很大区别,从而能够有效避免经过篡改的可执行文件的执行。

3、在本发明的实施例中,通过设置缓存模块,记录所述待执行文件被连续禁止执行的次数,当待执行文件被连续禁止执行的次数小于预设阈值时,才继续执行后续流程;而当待执行文件被连续禁止执行的次数大于预设阈值时,直接禁止该待执行文件执行,不必进行后续计算判断等流程,从而有效的加快了运行速度。

4、在本发明的实施例中,通过禁止修改可执行文件可以有效的避免可执行文件本恶意篡改,而禁止重命名则可以有效避免判断文件名是否相同时出现误差。

需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。

最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1