一种基于文件过滤驱动框架的守护进程方法和装置与流程

文档序号:19156488发布日期:2019-11-16 00:51阅读:248来源:国知局
一种基于文件过滤驱动框架的守护进程方法和装置与流程

本发明涉及网络安全的技术领域,尤其是涉及一种基于文件过滤驱动框架的守护进程方法和装置。



背景技术:

现有技术中,为了防止应用程序被恶意退出或者暂停,通常会创建守护进程,守护进程(daemon)是一类在后台运行并且不受任何终端控制的特殊进程,用于执行特定的系统任务。多数守护进程在系统引导的时候启动,在系统关闭时终止。守护进程能够对目标应用的进程进行守护,当监测到目标应用的进程停止运行时,立即启动该目标应用的进程。但是,如果攻击者有较高的系统权限,可以将守护进程一起退出,守护进程就无法实现有效的守护。

综上所述,现有技术中守护进程的方法存在安全等级低的技术问题。



技术实现要素:

本发明的目的在于提供一种基于文件过滤驱动框架的守护进程方法和装置,以缓解了现有技术中守护进程的方法存在的安全等级低的技术问题。

第一方面,本发明实施例提供一种基于文件过滤驱动框架的守护进程方法,应用于守护驱动程序,所述方法包括:确定步骤,确定待守护应用程序;判断步骤,判断操作系统中的新增活动信号是否为对所述待守护应用程序进行限制操作的信号;过滤步骤,若是,则过滤所述新增活动信号。

在可选的实施方式中,所述判断步骤之后,还包括:若是,则将所述新增活动信号的限制操作进行记录,并通知所述待守护应用程序。

在可选的实施方式中,确定待守护应用程序,包括:建立与所述待守护应用程序的通信连接;接收待守护应用程序的进程标识。

在可选的实施方式中,判断操作系统中的新增活动信号是否为对所述待守护应用程序进行限制操作的信号,包括:判断所述新增活动信号的操作类型是否为限制操作类型;若是,则判断所述新增活动信号的操作对象的进程标识是否与所述待守护应用程序的进程标识相匹配。

在可选的实施方式中,判断所述新增活动信号的操作类型是否为限制操作类型,包括:获取所述新增活动信号的标志位;基于所述标志位的枚举类型确定所述新增活动信号的操作类型;判断所述新增活动信号的操作类型是否与所述限制操作类型相匹配。

第二方面,本发明实施例提供一种基于文件过滤驱动框架的守护进程方法,应用于待守护应用程序,所述方法包括:建立与守护驱动程序的通信连接;将所述待守护应用程序的进程标识发送至所述守护驱动程序,以使所述守护驱动程序判断操作系统中的新增活动信号是否为对所述待守护应用程序进行限制操作的信号,若是,则过滤所述新增活动信号。

第三方面,本发明实施例提供一种基于文件过滤驱动框架的守护进程装置,应用于守护驱动程序,所述装置包括:确定模块,用于确定待守护应用程序;判断模块,用于判断操作系统中的新增活动信号是否为对所述待守护应用程序进行限制操作的信号;过滤模块,若是,则过滤所述新增活动信号。

在可选的实施方式中,所述装置还包括:记录通知模块,若是,则将所述新增活动信号的限制操作进行记录,并通知所述待守护应用程序。

在可选的实施方式中,确定模块包括:通信单元,用于建立与所述待守护应用程序的通信连接;接收单元,用于接收待守护应用程序的进程标识。

第四方面,本发明实施例提供一种基于文件过滤驱动框架的守护进程装置,应用于待守护应用程序,所述装置包括:通信模块,用于建立与守护驱动程序的通信连接;发送模块,用于将所述待守护应用程序的进程标识发送至所述守护驱动程序,以使所述守护驱动程序判断操作系统中的新增活动信号是否为对所述待守护应用程序进行限制操作的信号,若是,则过滤所述新增活动信号。

本发明提供的基于文件过滤驱动框架的守护进程方法,应用于守护驱动程序,方法包括:确定步骤,确定待守护应用程序;判断步骤,判断操作系统中的新增活动信号是否为对待守护应用程序进行限制操作的信号;过滤步骤,若是,则过滤新增活动信号。

传统的守护进程方案容易出现守护程序与待守护程序一起被攻击并退出的情况,这种守护进程的方法安全等级较低,与现有技术相比,本发明提供了一种基于文件过滤驱动框架的守护进程方法,应用于守护驱动程序,该守护驱动程序能够在确定待守护应用程序后,实时判断操作系统中的新增活动信号是否为针对待守护应用程序进行的限制操作,如果确定是,那么守护驱动程序将过滤上述新增活动信号,实现了在驱动层拦截限制操作的功能,使得入侵者无法实际有效的对待守护应用程序进行操作,达到了守护待应用程序效果,从而缓解了现有技术中守护进程的方法安全等级低的技术问题。

附图说明

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

图1为本发明实施例提供的一种基于文件过滤驱动框架的守护进程方法的流程图;

图2为本发明实施例提供的另一种基于文件过滤驱动框架的守护进程方法的流程图;

图3为本发明实施例提供的一种基于文件过滤驱动框架的守护进程装置的功能模块图;

图4为本发明实施例提供的另一种基于文件过滤驱动框架的守护进程装置的功能模块图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。

蜜罐技术本质上是一种对攻击方进行欺骗的技术,主要用途是通过布置一些作为诱饵的主机、网络服务或者信息,提供一个模拟真实的操作系统环境,诱使攻击方入侵,并对操作系统环境进行监控,记录攻击方的所有行为和操作信息,从而可以对攻击行为进行捕获和分析,了解攻击方所使用的工具与方法,推测攻击意图和动机,能够让防御方清晰地了解他们所面对的安全威胁,并通过技术和管理手段来增强操作系统的安全防护能力。

但是,由于诱捕环境的需要,蜜罐环境下的操作系统往往不会打补丁,充满漏洞,攻击方很容易就可以通过漏洞提升自己到系统最高权限,一旦被攻击方发现该操作系统中的程序正在执行对环境的监控,该应用程序进程可能会遭到攻击方强制退出。

传统的守护进程方案大都在应用层实现,并不能避免被攻击方人为的退出程序,攻击方可以通过进程关系找到传统守护进程的父子进程一并退出。

为了解决进程守护的问题,本发明引入了文件过滤驱动框架,提供了一种基于文件过滤驱动框架的守护进程方法,在驱动层实现对应用层程序的守护,拦截并过滤所有退出高交互应用层程序的系统信号。

实施例一

图1是根据本发明实施例的一种基于文件过滤驱动框架的守护进程方法的流程图,应用于守护驱动程序,如图1所示,该方法包括如下步骤:

确定步骤s11,确定待守护应用程序。

本发明实施例提供一种基于文件过滤驱动框架的守护进程方法,守护驱动程序是基于文件过滤驱动框架的具体实现,即在内核中运行的驱动程序,待守护应用程序在应用层负责处理正常的业务,守护驱动程序在驱动层负责守护待守护应用程序,所以,在运行之初,守护驱动程序需要首先确定它具体的守护对象:待守护应用程序。

判断步骤s12,判断操作系统中的新增活动信号是否为对待守护应用程序进行限制操作的信号。

若是,则执行过滤步骤s13;若不是,则执行步骤s14,放行上述新增活动信号。

过滤步骤s13,过滤新增活动信号。

确定待守护应用程序之后,守护驱动程序需要实时捕获操作系统中的新增活动信号,并判断该新增活动信号是否为对待守护应用程序进行限制操作的信号。可选的,用户可以利用注册回调函数的方式来捕获操作系统中的信号量,以实现精准的信号拦截与捕获,本发明实施例不对捕获新增活动信号的方式进行具体限制,用户可以利用其它方式对新增信号进行捕获。

如果确定上述新增活动信号是对待守护应用程序进行限制操作的信号,则守护驱动程序将对上述限制操作的信号进行过滤,相当于拦截信号的功能,这样待守护应用程序并不会接收到上述限制操作的信号,也就不会进入相应的执行流程,进而实现了对待守护应用程序的守护功能,可选的,如果用户利用注册回调函数的方式来捕获操作系统中的信号量,那么可以利用回调函数的返回功能将这个限制操作的信号进行过滤。本发明实施例不对过滤信号的方式进行具体限制,用户可以利用其它方式实现过滤的功能。

传统的守护进程方案容易出现守护程序与待守护程序一起被攻击并退出的情况,这种守护进程的方法安全等级较低,与现有技术相比,本发明提供了一种基于文件过滤驱动框架的守护进程方法,应用于守护驱动程序,该守护驱动程序能够在确定待守护应用程序后,实时判断操作系统中的新增活动信号是否为针对待守护应用程序进行的限制操作,如果确定是,那么守护驱动程序将过滤上述新增活动信号,实现了在驱动层拦截限制操作的功能,使得入侵者无法实际有效的对待守护应用程序进行操作,达到了守护待应用程序效果,从而缓解了现有技术中守护进程的方法安全等级低的技术问题。

在一个可选的实施方式中,判断步骤之后,还包括如下步骤:

若是,则将新增活动信号的限制操作进行记录,并通知待守护应用程序。

具体的,在确定新增活动信号是对待守护应用程序进行限制操作的信号后,守护驱动程序还将这次操作进行记录,同时将这次操作告知待守护应用程序,待守护应用程序确定有对其进行限制操作的信号后,也可以采取一些其他应对措施。

在一个可选的实施方式中,确定待守护应用程序,包括如下步骤:

步骤s21,建立与待守护应用程序的通信连接。

具体的,守护驱动程序的启动与其他一般的程序启动不一样,守护驱动程序需要在系统中先注册成一个服务,然后启动这个服务就等于是启动这个守护驱动程序,守护驱动程序启动后,待守护应用程序就能够通过硬编码的驱动设备描述符来访问守护驱动程序,也即,守护驱动程序与待守护应用程序建立通信连接。操作系统底层提供了待守护应用程序和守护驱动程序的通信方式,通常是一些通信函数,比如i/ocontrol。

步骤s22,接收待守护应用程序的进程标识。

每个进程都有一个非负整数形式的唯一编号,即进程标识pid(processid),pid在任何时刻都是唯一的,所以为了确定守护驱动程序的守护对象,待守护应用程序需要将唯一的进程标识发送给守护驱动程序,以使守护驱动程序开启对应的进程守护。

在一个可选的实施方式中,判断操作系统中的新增活动信号是否为对待守护应用程序进行限制操作的信号,包括如下步骤:

步骤s121,判断新增活动信号的操作类型是否为限制操作类型。

具体的,每个信号都会有其具体的操作意图,当守护驱动程序获取到新增活动信号后,首先判断该信号的操作类型是否为限制操作类型,上述新增活动信号的操作类型包括但不限于:退出进程、创建进程、暂停进程、写入文件、重命名文件和删除文件,一般情况下,守护驱动程序在守护进程时,限制操作类型为退出进程,本发明实施例不对新增活动信号的限制操作类型进行限制,用户可以根据实际需要进行设定。

若是,则执行步骤s122,若不是,则放行上述新增活动信号。

步骤s122,判断新增活动信号的操作对象的进程标识是否与待守护应用程序的进程标识相匹配。

如果已经确定了新增活动信号的操作类型为限制操作类型,那么还需要进一步判断这个新增活动信号的操作对象是不是待守护应用程序,具体的,在实际应用中,首先获取到新增活动信号的操作对象的进程标识,上文中已经指出,进程标识是应用程序的唯一标识,所以只需要将新增活动信号的操作对象的进程标识与待守护应用程序的进程标识进行对比,如果两者匹配,则确定该限制操作的对象就是待守护应用程序。

下面对上述判断过程进行举例说明:假设待守护应用程序的进程标识为“123”,限制操作类型为退出进程,若新增活动信号为“terminateprocess123”,其中,“terminateprocess”就是退出进程信号,属于限制操作类型,“123”是该限制操作信号的操作对象的进程标识,由于待守护应用程序的进程标识“123”和限制操作信号的操作对象的进程标识“123”相匹配,所以确定该限制操作信号的操作对象就是待守护应用程序,那么该新增活动信号就会被过滤,反之,如果上述两者的进程标识不匹配,那么新增活动信号不会别过滤。

在一个可选的实施方式中,判断新增活动信号的操作类型是否为限制操作类型,包括如下步骤:

步骤s31,获取新增活动信号的标志位。

具体的,为了确定新增活动信号的操作类型,首先需要获取新增活动信号的标志位,标志位可以是用户自定义的,标志位可以取不同的值代表该活动信号是进程操作、文件操作或者是其他操作,例如“0s01”代表该活动信号是进程操作;“0s02”代表该活动信号是文件操作。

步骤s32,基于标志位的枚举类型确定新增活动信号的操作类型。

标志位的枚举类型也可以是用户自定义的,根据获取到的枚举类型能够确定该操作的具体操作类型,例如,进程操作包括:退出、创建和暂停等,那么上述三种操作应对应不同的枚举值,例如分别对应为“01”、“02”和“03”,如果获取到的标志位及枚举类型为“0s01”和“01”,那么就能够根据确定新增活动信号的操作类型为退出进程。

步骤s33,判断新增活动信号的操作类型是否与限制操作类型相匹配。

本发明实施例提供了一种基于文件过滤驱动框架的守护进程方法,待守护应用程序能够从驱动层获得保护,实现不执行限制操作的效果,即使具有系统权限的恶意入侵者,也无法有效传递限制操作信号,保证了操作系统的稳定运行。

实施例二

图2是根据本发明实施例的另一种基于文件过滤驱动框架的守护进程方法的流程图,应用于待守护应用程序,如图2所示,该方法包括如下步骤:

步骤s41,建立与守护驱动程序的通信连接。

具体的,为了得到守护驱动程序的进程守护,待守护应用程序首先要主动与守护驱动程序建立连接,守护驱动程序启动后,待守护应用程序能够通过硬编码的驱动设备描述符来访问守护驱动程序,也即,守护驱动程序与待守护应用程序建立通信连接。

步骤s42,将待守护应用程序的进程标识发送至守护驱动程序,以使守护驱动程序判断操作系统中的新增活动信号是否为对待守护应用程序进行限制操作的信号,若是,则过滤新增活动信号。

为了使守护驱动程序确认守护的具体对象,待守护应用程序还需要将自身的进程标识主动发送给守护驱动程序,然后,在系统运行过程中,一旦守护驱动程序检测到操作系统中存在新增活动信号时,就会判断该新增活动信号是否为对上述待守护应用程序进行限制操作的信号,该判断的过程已经在上述实施例一中进行了详细的描述,此处不再赘述,如果确定新增活动信号是对上述待守护应用程序进行限制操作的信号,守护驱动程序就会将上述新增活动信号过滤,阻止其对待守护应用程序进行限制操作。

实施例三

本发明实施例还提供了一种基于文件过滤驱动框架的守护进程装置,应用于守护驱动程序,该基于文件过滤驱动框架的守护进程装置主要用于执行上述实施例一所提供的基于文件过滤驱动框架的守护进程方法,以下对本发明实施例提供的基于文件过滤驱动框架的守护进程装置作具体介绍。

图3是根据本发明实施例的一种基于文件过滤驱动框架的守护进程装置的功能模块图,如图3所示,该装置主要包括:确定模块11,判断模块12,过滤模块13,其中:

确定模块11,用于确定待守护应用程序。

判断模块12,用于判断操作系统中的新增活动信号是否为对待守护应用程序进行限制操作的信号。

过滤模块13,若是,则过滤新增活动信号。

传统的守护进程方案容易出现守护程序与待守护程序一起被攻击并退出的情况,这种守护进程的方法安全等级较低,与现有技术相比,本发明提供了一种基于文件过滤驱动框架的守护进程装置,应用于守护驱动程序,该守护驱动程序能够在确定待守护应用程序后,实时判断操作系统中的新增活动信号是否为针对待守护应用程序进行的限制操作,如果确定是,那么守护驱动程序将过滤上述新增活动信号,实现了在驱动层拦截限制操作的功能,使得入侵者无法实际有效的对待守护应用程序进行操作,达到了守护待应用程序效果,从而缓解了现有技术中守护进程的方法安全等级低的技术问题。

可选的,装置还包括:

记录通知模块,若是,则将新增活动信号的限制操作进行记录,并通知待守护应用程序。

可选的,确定模块包括:

通信单元,用于建立与待守护应用程序的通信连接。

接收单元,用于接收待守护应用程序的进程标识。

可选的,判断模块还用于:

判断新增活动信号的操作类型是否为限制操作类型。

若是,则判断新增活动信号的操作对象的进程标识是否与待守护应用程序的进程标识相匹配。

可选的,判断模块还用于:

获取新增活动信号的标志位。

基于标志位的枚举类型确定新增活动信号的操作类型。

判断新增活动信号的操作类型是否与限制操作类型相匹配。

实施例四

本发明实施例还提供了一种基于文件过滤驱动框架的守护进程装置,应用于待守护应用程序,该基于文件过滤驱动框架的守护进程装置主要用于执行上述实施例二所提供的基于文件过滤驱动框架的守护进程方法,以下对本发明实施例提供的基于文件过滤驱动框架的守护进程装置作具体介绍。

图4是根据本发明实施例的一种基于文件过滤驱动框架的守护进程装置的功能模块图,如图4所示,该装置主要包括通信模块21,发送模块22,其中:

通信模块21,用于建立与守护驱动程序的通信连接。

发送模块22,用于将待守护应用程序的进程标识发送至守护驱动程序,以使守护驱动程序判断操作系统中的新增活动信号是否为对待守护应用程序进行限制操作的信号,若是,则过滤新增活动信号。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

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