漏洞的防御方法和装置与流程

文档序号:12720947阅读:244来源:国知局
漏洞的防御方法和装置与流程

本发明涉及漏洞防御领域,具体而言,涉及一种漏洞的防御方法和装置。



背景技术:

一般情况下,某应用被发现漏洞,此漏洞往往是由于应用本身甚至是运行次应用的操作系统在设计逻辑或者代码本身存在安全问题,导致漏洞产生。现有的技术方案为了修复此应用的漏洞,需要漏洞修复的开发人员拥有应用本身的源代码或操作系统的源代码。

针对上述的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种漏洞的防御方法和装置,以至少解决需要源码才能修复漏洞的技术问题。

根据本发明实施例的一个方面,提供了一种漏洞的防御方法,包括:获取目标应用的加固程序和漏洞防御程序,其中,所述加固程序用于对所述目标应用进行加固,所述漏洞防御程序用于对所述目标应用中的漏洞进行防御;将所述漏洞防御程序集成到所述加固程序中,得到集成后的加固程序;利用所述集成后的加固程序对上述目标应用进行加固,得到加固后的目标应用,其中,在所述加固后的目标应用运行时,所述加固程序、所述目标应用和所述漏洞防御程序运行在相同的进程中;运行所述加固后的目标应用,以触发所述漏洞防御程序对所述目标应用进行漏洞防御。

根据本发明实施例的另一方面,还提供了一种漏洞的防御装置,包括:获取单元,用于获取目标应用的加固程序和漏洞防御程序,其中,所述加固程序用于对所述目标应用进行加固,所述漏洞防御程序用于对所述目标应用中的漏洞进行防御;集成单元,用于将所述漏洞防御程序集成到所述加固程序中,得到集成后的加固程序;加固单元,用于利用所述集成后的加固程序对上述目标应用进行加固,得到加固后的目标应用,其中,在所述加固后的目标应用运行时,所述加固程序、所述目标应用和所述漏洞防御程序运行在相同的进程中;运行单元,用于运行所述加固后的目标应用,以触发所述漏洞防御程序对所述目标应用进行漏洞防御。

在本发明实施例中,采用获取目标应用的加固程序和漏洞防御程序,其中,所述加固程序用于对所述目标应用进行加固,所述漏洞防御程序用于对所述目标应用中的漏洞进行防御;将所述漏洞防御程序集成到所述加固程序中,得到集成后的加固程序;利用所述集成后的加固程序对上述目标应用进行加固,得到加固后的目标应用,其中,在所述加固后的目标应用运行时,所述加固程序、所述目标应用和所述漏洞防御程序运行在相同的进程中;运行所述加固后的目标应用,以触发所述漏洞防御程序对所述目标应用进行漏洞防御,通过将漏洞防御程序集成在目标应用的加固程序中,达到了使漏洞防御程序与目标程序运行在同一进程中,并对目标应用进行有效的漏洞防御的目的,从而实现了不需要获取源码即可修复漏洞的技术效果,进而解决了需要源码才能修复漏洞的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的硬件环境的架构图;

图2是根据本发明实施例的一种可选的漏洞的防御方法的流程图;

图3是根据本发明实施例的一种可选的加载网页漏洞的防御方法的流程图;

图4是根据本发明实施例的一种可选的漏洞的防御装置的示意图;

图5是根据本发明实施例的终端的示意图。

具体实施方式

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

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

实施例1

根据本发明实施例,提供了一种可以通过本申请装置实施例执行的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

根据本发明实施例,提供了一种漏洞的防御方法。

可选地,在本实施例中,上述漏洞的防御方法可以应用于如图1所示的终端102和服务器104所构成的硬件环境中。如图1所示,终端102通过网络与服务器104进行连接,上述网络包括但不限于:移动通信网络、广域网、城域网或局域网,终端102可以是手机终端,也可以是PC终端、笔记本终端或平板电脑终端。

图1中示出的硬件环境系统的主要工作原理是:

以终端102为手机为例,通过手机上预先安装的加固工具对目标应用进行加固,以使加固后的目标应用具备漏洞防御功能。具体地,加固工具可以从手机中获取目标应用的加固程序和漏洞防御程序,也可以通过网络从服务器104中获取目标应用的加固程序和漏洞防御程序,并将漏洞防御程序集成到加固程序中,得到集成后的加固程序。利用集成后的加固程序对手机中的目标应用进行加固,从而得到加固后的目标应用。加固后的目标应用在运行时,会触发漏洞防御程序对目标应用进行漏洞防御,并且,加固程序、目标应用以及漏洞防御程序都运行在手机的同一个进程中,以使漏洞防御程序对目标应用进行有效的漏洞防御。

可选地,在漏洞防御程序对目标应用进行漏洞防御时,手机还可以通过网络与服务器104进行连接和交互,通过服务器中的云端下发指令,控制漏洞防御程序是否执行漏洞防御,或者进行防御的漏洞类型,或者在发现漏洞之后,对漏洞的处理方式,从而漏洞防御更加灵活。

图2是根据本发明实施例的一种可选的漏洞的防御方法的流程图,以下结合图2对本发明实施例所提供的漏洞的防御方法做具体介绍,如图2所示,该漏洞的防御方法主要包括如下步骤S202至步骤S208:

步骤S202,获取目标应用的加固程序和漏洞防御程序,其中,加固程序用于对目标应用进行加固,漏洞防御程序用于对目标应用中的漏洞进行防御。

在本发明实施例中,加固程序主要是通过对目标应用的APK(Android Package,是一种Android操作系统上的应用程序安装文件格式)进行加壳处理,把原来的DEX(Android平台上可执行文件的类型)文件隐藏起来,通过在加固的程序中集成反注入、反调试等安全性功能,使得加固后的目标应用的APK具备反编译,反调试,反篡改等功能,同时通过加固程序加固后的目标应用与未加固的目标应用具有完全相同的功能。上述漏洞防御程序可以用目标应用中的漏洞进行防御。

步骤S204,将漏洞防御程序集成到加固程序中,得到集成后的加固程序。

在本发明实施例中,将能够对目标应用中的漏洞进行防御的漏洞防御程序集成到加固程序中,得到集成了漏洞防御程序的加固程序。

步骤S206,利用集成后的加固程序对上述目标应用进行加固,得到加固后的目标应用,其中,在加固后的目标应用运行时,加固程序、目标应用和漏洞防御程序运行在相同的进程中。

在本发明实施例中,利用上述集成了漏洞防御程序的加固程序对目标应用进行加固,得到加固后的目标应用,加固后的目标应用与未加固的目标应用具有完全相同的功能,同时,加固后的目标应用能够对目标应用中的漏洞进行防御。加固后的目标应用在运行时,加固程序、目标应用和漏洞防御程序运行在同一个进程中,因此,漏洞防御程序与目标应用程序具有相同的权限,从而使漏洞防御程序对目标应用进行有效的漏洞防御。

步骤S208,运行加固后的目标应用,以触发漏洞防御程序对目标应用进行漏洞防御。

在本发明实施例中,在得到上述加固后的目标应用之后,通过运行加固后的目标应用,触发集成在加固程序中的漏洞防御程序,从而使漏洞防御程序对目标应用进行漏洞防御。

在本发明实施例中,采用获取目标应用的加固程序和漏洞防御程序,其中,加固程序用于对目标应用进行加固,漏洞防御程序用于对目标应用中的漏洞进行防御;将漏洞防御程序集成到加固程序中,得到集成后的加固程序;利用集成后的加固程序对上述目标应用进行加固,得到加固后的目标应用,其中,在加固后的目标应用运行时,加固程序、目标应用和漏洞防御程序运行在相同的进程中;运行加固后的目标应用,以触发漏洞防御程序对目标应用进行漏洞防御,通过将漏洞防御程序集成在目标应用的加固程序中,达到了使漏洞防御程序与目标程序运行在同一进程中,并对目标应用进行有效的漏洞防御的目的,从而实现了不需要获取源码即可修复漏洞的技术效果,进而解决了需要源码才能修复漏洞的技术问题。

可选地,运行加固后的目标应用,以触发漏洞防御程序对目标应用进行漏洞防御包括:触发漏洞防御程序对目标应用的目标对象进行监控;判断与目标对象相关的待执行操作是否存在威胁;在判断出与目标对象相关的待执行操作存在威胁时,终止执行与目标对象相关的待执行操作。

作为本发明实施例的一种可选地实施方式,在运行加固后的目标应用时,触发集成在加固程序中的漏洞防御程序,从而对目标程序进行有效地漏洞防御。在目标程序中存在漏洞时,通过目标程序中的漏洞对目标应用中的目标对象执行一定的操作,能够对应用程序造成安全威胁。漏洞防御程序在目标应用运行时对目标应用中的目标对象进行监控,通过判断与目标对象相关的待执行的操作是否存在威胁,来确定是否执行待执行的操作,如果待执行操作具备威胁,则终止执行待执行操作,如果待执行操作不具备威胁,则允许执行待执行操作。

可选地,判断与目标对象相关的待执行操作是否存在威胁包括:获取目标应用在调用目标对象时的参数,其中,目标应用执行与参数相关的待执行操作;向云端发送参数;接收云端发送的第一指令,其中,第一指令用于指示参数与云端的数据库中预先存储的漏洞样本一致,其中,在参数与云端的数据库中预先存储的漏洞样本一致时,确定与目标对象相关的待执行操作存在威胁。

作为本发明实施例的一种可选地实施方式,可以通过云端来判断与目标对象相关的待执行操作是否存在威胁,具体地,在目标应用运行时,通过漏洞防御程序对目标对象进行监控,从而获取目标应用在调用目标对象时的参数,该参数与目标应用所要执行待执行操作有关。通过漏洞防御程序将该参数发送给云端,由云端判断与该参数有关的待执行操作是否具备威胁,可选地,云端可以将该参数与存储在云端的数据库中的漏洞数据样本进行比对,如果比对一致,则云端下发第一指令,指示与该参数有关的待执行操作具备威胁,本地接收到云端下发的第一指令即可确定待执行操作具备威胁。

可选地,判断与目标对象相关的待执行操作是否存在威胁包括:获取目标应用在调用目标对象时的参数,其中,目标应用执行与参数相关的待执行操作;将参数与漏洞防御程序的数据库中预先存储的漏洞样本进行比对;若比对出数据库中存储有参数,则确定与目标对象相关的待执行操作存在威胁。

作为本发明实施例的一种可选地实施方式,在未通过网络与云端进行连接时,还可以在本地直接判断待执行操作是否存在威胁,具体地,在目标应用运行时,通过漏洞防御程序对目标对象进行监控,从而获取目标应用在调用目标对象时的参数,该参数与目标应用所要执行待执行操作有关。将该参数与预先存储在漏洞防御程序的数据库中的漏洞数据样本进行比对,如果该参数与漏洞数据样本中的数据比对一致,则确定待执行操作具备威胁。

可选地,触发漏洞防御程序对目标应用的目标对象进行监控包括:触发漏洞防御程序的HOOK程序钩取参数,以对目标对象进行监控。

作为本发明实施例的一种可选地实施方式,在漏洞防御程序中包括有HOOK程序,在触发漏洞防御程序对目标应用进行漏洞防御时,HOOK程序通过钩取目标应用调用目标对象时的参数,实现对目标对象的监控。

可选地,在触发漏洞防御程序对目标应用进行漏洞防御之前,方法还包括:接收云端下发的第二指令,其中,第二指令用于指示漏洞防御程序执行目标方案进行漏洞防御;根据第二指令指示漏洞防御程序按照目标方案对目标应用进行漏洞防御。

作为本发明实施例的一种可选地实施方式,可以通过云端对漏洞防御程序进行控制,从而灵活地对目标应用进行漏洞进行防御。具体地,触发漏洞防御程序对目标应用进行漏洞防制之前,云端下发第二指令,第二指令中包括进行漏洞防御的目标方案,根据第二指令所指示的目标方案,控制漏洞防御程序对目标程序进行漏洞防御。

可选地,目标方案包括待防御漏洞的类型,根据第二指令指示漏洞防御程序按照目标方案对目标应用进行漏洞防御包括:根据第二指令指示漏洞防御程序按照待防御漏洞的类型对目标应用进行漏洞防御。

作为本发明实施例的一种可选地实施方式,目标方案可以用于指示进行漏洞防御的漏洞类型,云端通过下发第二指令指示要防御的漏洞的类型,并控制漏洞防御程序按照漏洞的类型对目标应用进行防御。

可选地,目标方案包括漏洞处理方式,在根据第二指令指示漏洞防御程序按照待防御漏洞的类型对目标应用进行漏洞防御之后,方法还包括:在检测到目标应用具有漏洞后,按照漏洞处理方式对检测到的漏洞进行处理,其中,漏洞处理方式与待防御漏洞的类型相匹配。

作为本发明实施例的一种可选地实施方式,目标方案还可以用于指示对进行漏洞防御的处理方式。具体地,云端下发第二指令,指示要防御的漏洞类型以及处理该类型的漏洞所采取的方式,控制漏洞防御程序按照云端下发的第二指令所指示的漏洞的类型对目标应用进行防御,并在检测出目标应用具有漏洞之后,按照批二指令指示的处理方式,对检测到的漏洞进行处理。

可选地,目标方案包括关闭/开启指令,根据第二指令指示漏洞防御程序按照目标方案对目标应用进行漏洞防御包括:在目标方案为关闭指令时,根据第二指令指示漏洞防御程序停止对目标应用进行漏洞防御;或者在目标方案为开启指令时,根据第二指令指示漏洞防御程序开启对目标应用进行漏洞防御。

作为本发明实施例的一种可选地实施方式,目标方案还可以包括开启或者关闭指令。具体地,云端通过下发第二指令指示停止或者开启对目标应用的漏洞防御。如果第二指令指示停止对目标应用的漏洞防御,则控制漏洞防御程序停止对目标程序进行漏洞防御,如果第二指令指示停开启对目标应用的漏洞防御,则控制漏洞防御程序开启对目标应用的漏洞防御。

图3是根据本发明实施例的一种可选的加载网页漏洞的防御方法的流程图,加载网页漏洞是攻击者利用WebView(Android系统用于加载网页的控件)在APP中展示WEB页面的功能,利用WebView加载恶意的URL来执行钓鱼等恶意操作。在该实施例中,采用云端对获取的参数进行比对的方式,从而判断出待执行操作是存在威胁,如图3所示,该方法包括如下步骤:

步骤S301,开始。在开始之前,通过加固工具加载加固程序对目标应用进行加固,在加固程序中集成了漏洞防御程序。加固后的目标应用在运行时,触发漏洞防御程序对目标应用进行漏洞防御。

步骤S302,采用HOOK技术对加载URL的接口进行监控。上述漏洞防御程序中包括HOOK程序,在触发漏洞防御程序对目标应用进行漏洞防御之后,HOOK程序对目标应用中加载展示页面的接口进行监控,从而获取URL的具体内容。

步骤S303,将获取到的URL发送到云端。云端中存储有大量的URL样本数据,将获取到的URL发送至云端,通过云端将URL与样本数据进行比对,以判断出该URL是否合法。

步骤S304,判断是否进行漏洞防御。在本发明实施例中,云端接收到URL之后,判断当前是否开启对该漏洞的漏洞防御功能,如果当前开启漏洞防御,则通过云端进行比对,如果不开启漏洞防御,则云端不进行比对,直接跳转到步骤S307。

步骤S305,如果进行漏洞防御,则获取云端的URL样本;如果不进行漏洞防御,则跳转至步骤S307。在云端判断出当前要对该漏洞进行漏洞防御之后,获取存储在云端的样本数据,以将URL与样本数据进行比对。

步骤S306,通过比对判断URL是否合法,如果URL合法,则跳转到步骤S307,如果URL不合法,则跳转到步骤S308。在本发明实施例中,样本数据中的URL为合法的URL,因此,如果比对结果为该URL与样本数据中的某个URL一致,则表明该URL合法,继续执行步骤S307,如果比对结果为该URL与样本数据均不一致,则表明该URL不合法,直接跳转至步骤S308。

步骤S307,允许加载该URL。在该步骤中,如果云端判断出不对该漏洞进行防御,或者经过比对该URL合法,则通过下发指令指示允许加载该URL。

频骤S308,不允许加载该URL。如果通过比对判断出该URL不合法,则云端下发指令指示不允许加载该URL。

作为本发明的一种可选的实施方式,在加固程序中还可以集成数据上报程序,该数据上报程序用于搜集漏洞防御的相关数据,如:何种目标应用存在较多的漏洞,目标应用存在何种漏洞,或者漏洞相关的待执行操作及相关参数的特点等。将搜集到的数据发送给云端,由云端对数据进行分析,可选地,通过机器学习的方法,对数据进行学习,从而对漏洞防御程序、漏洞防御方案进行优化和改进。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。

实施例2

根据本发明实施例,还提供了一种用于实施上述漏洞防御方法的漏洞防御装置,该漏洞防御装置主要用于执行本发明实施例上述内容所提供的漏洞防御方法,以下对本发明实施例所提供的漏洞防御装置做具体介绍:

图4是根据本发明实施例的一种可选的漏洞防御装置的示意图,如图4所示,该漏洞防御装置主要包括:

获取单元410用于获取目标应用的加固程序和漏洞防御程序,其中,加固程序用于对目标应用进行加固,漏洞防御程序用于对目标应用中的漏洞进行防御。

在本发明实施例中,加固程序主要是通过对目标应用的APK(Android Package,是一种Android操作系统上的应用程序安装文件格式)进行加壳处理,把原来的DEX(Android平台上可执行文件的类型)文件隐藏起来,通过在加固的程序中集成反注入、反调试等安全性功能,使得加固后的目标应用的APK具备反编译,反调试,反篡改等功能,同时通过加固程序加固后的目标应用与未加固的目标应用具有完全相同的功能。上述漏洞防御程序可以用目标应用中的漏洞进行防御。

集成单元420用于将漏洞防御程序集成到加固程序中,得到集成后的加固程序。

在本发明实施例中,集成单元将能够对目标应用中的漏洞进行防御的漏洞防御程序集成到加固程序中,得到集成了漏洞防御程序的加固程序。

加固单元430,用于利用集成后的加固程序对上述目标应用进行加固,得到加固后的目标应用,其中,在加固后的目标应用运行时,加固程序、目标应用和漏洞防御程序运行在相同的进程中。

在本发明实施例中,加固单元利用上述集成了漏洞防御程序的加固程序对目标应用进行加固,得到加固后的目标应用,加固后的目标应用与未加固的目标应用具有完全相同的功能,同时,加固后的目标应用能够对目应用中的漏洞进行防御。加固后的目标应用在运行时,加固程序、目标应用和漏洞防御程序运行在同一个进程中,因此,漏洞防御程序与目标应用程序具有相同的权限,从而使漏洞防御程序对目标应用进行有效的漏洞防御。

运行单元440用于运行加固后的目标应用,以触发漏洞防御程序对目标应用进行漏洞防御。

在本发明实施例中,在得到上述加固后的目标应用之后,运行单元通过运行加固后的目标应用,触发集成在加固程序中的漏洞防御程序,从而使漏洞防御程序对目标应用进行漏洞防御。

在本发明实施例中,采用获取目标应用的加固程序和漏洞防御程序,其中,加固程序用于对目标应用进行加固,漏洞防御程序用于对目标应用中的漏洞进行防御;将漏洞防御程序集成到加固程序中,得到集成后的加固程序;利用集成后的加固程序对上述目标应用进行加固,得到加固后的目标应用,其中,在加固后的目标应用运行时,加固程序、目标应用和漏洞防御程序运行在相同的进程中;运行加固后的目标应用,以触发漏洞防御程序对目标应用进行漏洞防御,通过将漏洞防御程序集成在目标应用的加固程序中,达到了使漏洞防御程序与目标程序运行在同一进程中,并对目标应用进行有效的漏洞防御的目的,从而实现了不需要获取源码即可修复漏洞的技术效果,进而解决了需要源码才能修复漏洞的技术问题。

可选地,运行单元包括:触发模块,用于触发漏洞防御程序对目标应用的目标对象进行监控;判断模块,用于判断与目标对象相关的待执行操作是否存在威胁;终止模块,用于在判断出与目标对象相关的待执行操作存在威胁时,终止执行与目标对象相关的待执行操作。

作为本发明实施例的一种可选地实施方式,在运行加固后的目标应用时,触发模块触发集成在加固程序中的漏洞防御程序,从而对目标程序进行有效地漏洞防御。在目标程序中存在漏洞时,通过目标程序中的漏洞对目标应用中的目标对象执行一定的操作,能够对应用程序造成安全威胁。漏洞防御程序在目标应用运行时对目标应用中的目标对象进行监控,判断模块通过判断与目标对象相关的待执行的操作是否存在威胁,来确定是否执行待执行的操作,如果待执行操作具备威胁,则终止模块终止执行待执行操作,如果待执行操作不具备威胁,则允许执行待执行操作。

可选地,判断模块包括:第一获取子模块,用于获取目标应用在调用目标对象时的参数,其中,目标应用执行与参数相关的待执行操作;发送子模块,用于向云端发送参数;接收子模块,用于接收云端发送的第一指令,其中,第一指令用于指示参数与云端的数据库中预先存储的漏洞样本一致,其中,在参数与云端的数据库中预先存储的漏洞样本一致时,确定与目标对象相关的待执行操作存在威胁。

作为本发明实施例的一种可选地实施方式,可以通过云端来判断与目标对象相关的待执行操作是否存在威胁,具体地,在目标应用运行时,通过漏洞防御程序对目标对象进行监控,从而第一获取子模块获取目标应用在调用目标对象时的参数,该参数与目标应用所要执行待执行操作有关。发送子模块将该参数发送给云端,由云端判断与该参数有关的待执行操作是否具备威胁,可选地,云端可以将该参数与存储在云端的数据库中的漏洞数据样本进行比对,如果比对一致,则云端下发第一指令,指示与该参数有关的待执行操作具备威胁,接收子模块接收到云端下发的第一指令即可确定待执行操作具备威胁。

可选地,判断模块包括:第二获取子模块,用于获取目标应用在调用目标对象时的参数,其中,目标应用执行与参数相关的待执行操作;比对子模块将参数与漏洞防御程序的数据库中预先存储的漏洞样本进行比对;确定子模块,用于若比对出数据库中存储有参数,则确定与目标对象相关的待执行操作存在威胁。

作为本发明实施例的一种可选地实施方式,在未通过网络与云端进行连接时,还可以在本地直接判断待执行操作是否存在威胁,具体地,在目标应用运行时,通过漏洞防御程序对目标对象进行监控,从而第二获取子模块获取目标应用在调用目标对象时的参数,该参数与目标应用所要执行待执行操作有关。比对子模块将该参数与预先存储在漏洞防御程序的数据库中的漏洞数据样本进行比对,如果该参数与漏洞数据样本中的数据比对一致,则确定子模块确定该待执行操作具备威胁。

可选地,触发模块包括:触发子模块,用于触发漏洞防御程序的HOOK程序钩取参数,以对目标对象进行监控。

作为本发明实施例的一种可选地实施方式,在漏洞防御程序中包括有HOOK程序,在触发子模块触发漏洞防御程序对目标应用进行漏洞防御时,HOOK程序通过钩取目标应用调用目标对象时的参数,实现对目标对象的监控。

可选地,装置还包括:接收单元,用于在触发漏洞防御程序对目标应用进行漏洞防御之前,接收云端下发的第二指令,其中,第二指令用于指示漏洞防御程序执行目标方案进行漏洞防御;防御单元,用于根据第二指令指示漏洞防御程序按照目标方案对目标应用进行漏洞防御。

作为本发明实施例的一种可选地实施方式,可以通过云端对漏洞防御程序进行控制,从而灵活地对目标应用进行漏洞进行防御。具体地,触发漏洞防御程序对目标应用进行漏洞防制之前,云端下发第二指令,第二指令中包括进行漏洞防御的目标方案,根据第二指令所指示的目标方案,控制漏洞防御程序对目标程序进行漏洞防御。

可选地,目标方案包括待防御漏洞的类型,防御单元包括:第一防御模块,用于根据第二指令指示漏洞防御程序按照待防御漏洞的类型对目标应用进行漏洞防御。

作为本发明实施例的一种可选地实施方式,目标方案可以用于指示进行漏洞防御的漏洞类型,云端通过下发第二指令指示要防御的漏洞的类型,并控制漏洞防御程序按照漏洞的类型对目标应用进行防御。

可选地,目标方案包括漏洞处理方式,防御单元还包括:第二防御模块,用于在根据第二指令指示漏洞防御程序按照待防御漏洞的类型对目标应用进行漏洞防御之后,如果检测到目标应用程序具有漏洞,则按照漏洞处理方式对检测到的漏洞进行处理,其中,漏洞处理方式与待防御漏洞的类型相匹配。

作为本发明实施例的一种可选地实施方式,目标方案还可以用于指示对进行漏洞防御的处理方式。具体地,云端下发第二指令,指示要防御的漏洞类型以及处理该类型的漏洞所采取的方式,控制漏洞防御程序按照云端下发的第二指令所指示的漏洞的类型对目标应用进行防御,并在检测出目标应用具有漏洞之后,按照批二指令指示的处理方式,对检测到的漏洞进行处理。

可选地,目标方案包括关闭/开启指令,防御单元包括:第三防御模块,用于在目标方案为关闭指令时,根据第二指令指示漏洞防御程序停止对目标应用进行漏洞防御;或者第四防御模块,用于在目标方案为开启指令时,根据第二指令指示漏洞防御程序开启对目标应用进行漏洞防御。

作为本发明实施例的一种可选地实施方式,目标方案还可以包括开启或者关闭指令。具体地,云端通过下发第二指令指示停止或者开启对目标应用的漏洞防御。如果第二指令指示停止对目标应用的漏洞防御,则控制漏洞防御程序停止对目标程序进行漏洞防御,如果第二指令指示停开启对目标应用的漏洞防御,则控制漏洞防御程序开启对目标应用的漏洞防御。

实施例3

根据本发明实施例,还提供了一种用于实施上述漏洞的防御方法的终端,如图5所示,该终端主要包括处理器501、存储器502和网络接口503,其中:

存储器502主要用于存储目标应用、加固程序、漏洞防御程序以加固后的目标应用。

网络接口503主要用于与云端进行网络通信,以获取加固程序、漏洞防御程序或者进行漏洞防御的目标方案。

处理器501主要用于执行如下操作:

获取目标应用的加固程序和漏洞防御程序,其中,加固程序用于对目标应用进行加固,漏洞防御程序用于对目标应用中的漏洞进行防御;将漏洞防御程序集成到加固程序中,得到集成后的加固程序;利用集成后的加固程序对上述目标应用进行加固,得到加固后的目标应用,其中,在加固后的目标应用运行时,加固程序、目标应用和漏洞防御程序运行在相同的进程中;运行加固后的目标应用,以触发漏洞防御程序对目标应用进行漏洞防御。

处理器501还用于触发漏洞防御程序对目标应用的目标对象进行监控;判断与目标对象相关的待执行操作是否存在威胁;在判断出与目标对象相关的待执行操作存在威胁时,终止执行与目标对象相关的待执行操作。

处理器501还用于获取目标应用在调用目标对象时的参数,其中,目标应用执行与参数相关的待执行操作;向云端发送参数;接收云端发送的第一指令,其中,第一指令用于指示参数与云端的数据库中预先存储的漏洞样本一致,其中,在参数与云端的数据库中预先存储的漏洞样本一致时,确定与目标对象相关的待执行操作存在威胁。

处理器501还用于获取目标应用在调用目标对象时的参数,其中,目标应用执行与参数相关的待执行操作;将参数与漏洞防御程序的数据库中预先存储的漏洞样本进行比对;若比对出数据库中存储有参数,则确定与目标对象相关的待执行操作存在威胁。

处理器501还用于触发漏洞防御程序的HOOK程序钩取参数,以对目标对象进行监控。

处理器501还用于接收云端下发的第二指令,其中,第二指令用于指示漏洞防御程序执行目标方案进行漏洞防御;根据第二指令指示漏洞防御程序按照目标方案对目标应用进行漏洞防御。

处理器501还用于根据第二指令指示漏洞防御程序按照待防御漏洞的类型对目标应用进行漏洞防御。

处理器501还用于在检测到目标应用具有漏洞后,按照漏洞处理方式对检测到的漏洞进行处理,其中,漏洞处理方式与待防御漏洞的类型相匹配。

处理器501还用于在目标方案为关闭指令时,根据第二指令指示漏洞防御程序停止对目标应用进行漏洞防御;或者在目标方案为开启指令时,根据第二指令指示漏洞防御程序开启对目标应用进行漏洞防御。

可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。

实施例4

本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于存储本发明实施例的漏洞防御方法的程序代码。

可选地,在本实施例中,上述存储介质可以位于移动通信网络、广域网、城域网或局域网的网络中的多个网络设备中的至少一个网络设备。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:

S1,获取目标应用的加固程序和漏洞防御程序,其中,加固程序用于对目标应用进行加固,漏洞防御程序用于对目标应用中的漏洞进行防御;

S2,将漏洞防御程序集成到加固程序中,得到集成后的加固程序;

S3,利用集成后的加固程序对上述目标应用进行加固,得到加固后的目标应用,其中,在加固后的目标应用运行时,加固程序、目标应用和漏洞防御程序运行在相同的进程中。

S3,运行加固后的目标应用,以触发漏洞防御程序对目标应用进行漏洞防御。

可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行触发漏洞防御程序对目标应用的目标对象进行监控;判断与目标对象相关的待执行操作是否存在威胁;在判断出与目标对象相关的待执行操作存在威胁时,终止执行与目标对象相关的待执行操作。

可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行获取目标应用在调用目标对象时的参数,其中,目标应用执行与参数相关的待执行操作;向云端发送参数;接收云端发送的第一指令,其中,第一指令用于指示参数与云端的数据库中预先存储的漏洞样本一致,其中,在参数与云端的数据库中预先存储的漏洞样本一致时,确定与目标对象相关的待执行操作存在威胁。

可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行获取目标应用在调用目标对象时的参数,其中,目标应用执行与参数相关的待执行操作;将参数与漏洞防御程序的数据库中预先存储的漏洞样本进行比对;若比对出数据库中存储有参数,则确定与目标对象相关的待执行操作存在威胁。

可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行触发漏洞防御程序的HOOK程序钩取参数,以对目标对象进行监控。

可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行接收云端下发的第二指令,其中,第二指令用于指示漏洞防御程序执行目标方案进行漏洞防御;根据第二指令指示漏洞防御程序按照目标方案对目标应用进行漏洞防御。

可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行根据第二指令指示漏洞防御程序按照待防御漏洞的类型对目标应用进行漏洞防御。

可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行在检测到目标应用具有漏洞后,按照漏洞处理方式对检测到的漏洞进行处理,其中,漏洞处理方式与待防御漏洞的类型相匹配。

可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行在目标方案为关闭指令时,根据第二指令指示漏洞防御程序停止对目标应用进行漏洞防御;或者在目标方案为开启指令时,根据第二指令指示漏洞防御程序开启对目标应用进行漏洞防御。

可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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