掌桥专利:专业的专利平台
掌桥专利
首页

一种网络防护方法、装置、设备及存储介质

文献发布时间:2023-06-29 06:30:04


一种网络防护方法、装置、设备及存储介质

技术领域

本发明涉及网络安防领域,特别涉及一种网络防护方法、装置、设备及存储介质。

背景技术

Web攻击是针对用户上网行为或网站服务器等设备进行攻击的行为,通过xss(Cross Site Scripting,跨站脚本攻击)、csrf(Cross-site request forgery,跨站请求伪造)、sql(Structured Query Language,结构化查询语言)注入等攻击方式实现如植入恶意代码,修改网站权限,获取网站用户隐私信息等恶意入侵行为,而Web应用程序的安全性是任何基于Web业务的重要组成部分,确保Web应用程序安全十分重要。

现有技术中,针对恶意的Web攻击,一般使用专门的waf(Web ApplicationFirewall,web应用防火墙)安全防护产品进行安全防护,现有的waf安全防护产品部署在被保护的服务器前端网络,恶意攻击报文会先经过waf产品,waf产品收到攻击报文后会识别各类web攻击报文的攻击特征,和内置的安全防护规则库进行匹配,一旦匹配命中规则,即认为是恶意攻击请求,触发安全防护,拦截恶意报文,保护后端网络服务器免受安全攻击。但是当攻击防护规则库过于庞大时,进行规则匹配会十分消耗资源,一旦攻击频率超过了waf安全防护产品匹配的性能上限,就会导致攻击报文漏防,带来网络安全隐患。

发明内容

有鉴于此,本发明的目的在于提供一种网络防护方法、装置、设备及存储介质,可以根据自身处理器资源占用情况开启针对当前服务器组件版本的精确匹配,利用与当前服务器组件版本对应的防护规则库对恶意攻击报文进行匹配,可以有效节省系统资源,并有效提升网络安防效率并且避免了防护性能不足时出现漏防的问题。其具体方案如下:

第一方面,本申请公开了一种网络防护方法,应用于服务器前端,包括

基于所有的防护规则库开启全匹配防护,并通过预设探测报文发送规则向服务器发送探测报文,以便服务器根据所述探测报文返回相应的响应消息,并基于所述响应消息确定所述服务器的组件版本信息;

判断自身处理器资源占用是否大于预设第一资源占用阈值;

若是,则基于所述组件版本信息开启针对所述服务器的精确匹配防护,并在接收到网络请求后,基于目标防护规则库对所述网络请求进行精确匹配,以确定匹配结果;所述目标防护规则库为与所述组件版本信息对应的规则库;

若所述匹配结果表征匹配成功,则确定所述网络请求为恶意请求,并对所述网络请求进行阻断。

可选的,所述基于所有的防护规则库开启全匹配防护,并通过预设探测报文发送规则向服务器发送探测报文之前,还包括:

生成若干探测报文,基于所述若干探测报文生成探测报文库,并基于服务器不同的组件版本信息生成若干相应的防护规则库。

可选的,所述通过预设探测报文发送规则向服务器发送探测报文,以便服务器根据所述探测报文返回相应的响应消息,并基于所述响应消息确定所述服务器的组件版本信息,包括:

基于预设探测报文发送规则向服务器发送所述探测报文库中的探测报文,以便所述服务器基于所述探测报文返回相应的响应消息;

接收所述响应消息,并根据所述响应消息中的特征信息确定所述服务器的数据库版本、系统版本、structs框架版本。

可选的,所述基于预设探测报文发送规则向服务器发送所述探测报文库中的探测报文,以便服务器基于所述探测报文返回相应的响应消息,包括:

基于一次探测发送规则向所述服务器发送单个探测报文,并判断是否能够从所述服务器基于所述单个探测报文返回的响应消息中确定所述服务器的版本信息;

若不能,则基于组合探测发送规则向所述服务器发送包含多个探测报文的组合探测报文,以便从所述服务器基于所述组合报文返回的响应消息中确定所述服务器的版本信息。

可选的,所述基于所述组件版本信息开启针对所述服务器的精确匹配防护,并在接收到网络请求后,基于目标防护规则库对所述网络请求进行精确匹配,以确定匹配结果,包括:

基于所述数据库版本、所述系统版本、所述structs框架版本确定所述目标防护规则库,并开启针对所述服务器的精确匹配防护;

判断是否接收到网络请求,若是,则基于所述目标防护规则库对所述网络请求进行精确匹配,以确定匹配结果。

可选的,所述基于所述组件版本信息开启针对所述服务器的精确匹配防护,包括:

判断自身处理器资源占用是否大于预设第二资源占用阈值;

若否,则基于所述组件版本信息开启针对所述服务器的精确匹配防护;

若是,则触发自动放行操作,并在接收到网络请求后,对所述待匹配网络请求执行自动放行操作,以缓解所述自身处理器的资源占用。

可选的,所述若所述匹配结果表征匹配成功,则确定所述网络请求为恶意请求,并对所述网络请求进行阻断之后,还包括:

收集未成功进行阻断的恶意请求,并将所述未成功进行阻断的恶意请求添加至防护规则库,以实现对所述防护规则库的更新。

第二方面,本申请公开了一种网络防护装置,包括:

版本确定模块,用于基于所有的防护规则库开启全匹配防护,并通过预设探测报文发送规则向服务器发送探测报文,以便服务器根据所述探测报文返回相应的响应消息,并基于所述响应消息确定所述服务器的组件版本信息;

阈值判断模块,用于判断自身处理器资源占用是否大于预设第一资源占用阈值;

匹配结果确定模块,用于如果自身处理器资源占用大于所述第一资源占用阈值,则基于所述组件版本信息开启针对所述服务器的精确匹配防护,并在接收到网络请求后,基于目标防护规则库对所述网络请求进行精确匹配,以确定匹配结果;所述目标防护规则库为与所述组件版本信息对应的规则库;

请求阻断模块,用于如果所述匹配结果表征匹配成功,则确定所述网络请求为恶意请求,并对所述网络请求进行阻断。

第三方面,本申请公开了一种电子设备,包括:

存储器,用于保存计算机程序;

处理器,用于执行所述计算机程序以实现如前述的网络防护方法。

第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序,所述计算机程序被处理器执行时实现如前述的网络防护方法。

本申请中,首先基于所有的防护规则库开启全匹配防护,并通过预设探测报文发送规则向服务器发送探测报文,以便服务器根据所述探测报文返回相应的响应消息,并基于所述响应消息确定所述服务器的组件版本信息,然后判断自身处理器资源占用是否大于预设第一资源占用阈值,如果自身处理器资源占用大于所述第一资源占用阈值,则基于所述组件版本信息开启针对所述服务器的精确匹配防护,并在接收到网络请求后,基于目标防护规则库对所述网络请求进行精确匹配,以确定匹配结果,所述目标防护规则库为与所述组件版本信息对应的规则库,并且若如果所述匹配结果表征匹配成功,则确定所述网络请求为恶意请求,并对所述网络请求进行阻断。由此可见,利用本申请中所述网络防护方法,可以在开启全匹配防护后向服务器发送探测报文,并根据服务器返回的响应消息确定服务器的组件版本信息,然后根据自身处理器资源占用情况选择开启针对服务器版本的精确匹配,开启精确匹配可以根据与服务器组件版本信息对应的防护规则库进行匹配防护。这样一来,利用与当前服务器组件版本对应的防护规则库对恶意攻击报文进行匹配,可以有效节省系统资源,并有效提升网络安防效率并且避免了防护性能不足时出现漏防的问题。

附图说明

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

图1为本申请提供的一种网络防护方法流程图;

图2为本申请提供的一种具体的网络防护方法流程图;

图3为本申请提供的一种报文匹配示意图;

图4为本申请提供的一种具体的网络防护方法流程图;

图5为本申请提供的一种网络防护装置结构示意图;

图6为本申请提供的一种电子设备结构图。

具体实施方式

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

现有技术中,针对恶意的Web攻击,一般使用专门的waf(Web ApplicationFirewall,web应用防火墙)安全防护产品进行安全防护,现有的waf安全防护产品部署在被保护的服务器前端网络,恶意攻击报文会先经过waf产品,waf产品收到攻击报文后会识别各类web攻击报文的攻击特征,和内置的安全防护规则库进行匹配,一旦匹配命中规则,即认为是恶意攻击请求,触发安全防护,拦截恶意报文,保护后端网络服务器免受安全攻击。但是当攻击防护规则库过于庞大时,进行规则匹配会十分消耗资源,一旦攻击频率超过了waf安全防护产品匹配的性能上限,就会导致攻击报文漏防,带来网络安全隐患。

为了克服上述技术问题,本申请提供了一种网络防护方法,可以根据自身处理器资源占用情况开启针对当前服务器组件版本的精确匹配,利用与当前服务器组件版本对应的防护规则库对恶意攻击报文进行匹配,可以有效节省系统资源,并有效提升网络安防效率并且避免了防护性能不足时出现漏防的问题。

参见图1所示,本发明实施例公开了一种网络防护方法,应用于服务器前端,包括:

步骤S11、基于所有的防护规则库开启全匹配防护,并通过预设探测报文发送规则向服务器发送探测报文,以便服务器根据所述探测报文返回相应的响应消息,并基于所述响应消息确定所述服务器的组件版本信息。

本实施例中,基于所有的防护规则库开启全匹配防护,并通过预设探测报文发送规则向服务器发送探测报文,以便服务器根据所述探测报文返回相应的响应消息,并基于所述响应消息确定所述服务器的组件版本信息。也即,在开启网络防护后,首先根据预先创建的所有防护库开启全匹配防护,也即在接收到网络请求后,在所述所有的防护库对所述网络请求进行匹配,然后再开启全匹配防护后,根据预设的探测报文发送规则向服务器逐个发送探测报文库中的单个探测报文,如果服务器基于所述单个探测报文返回的响应消息不符合要求,则向服务器发送探测报文库中的组合报文,以便服务器根据所述组合报文返回相应的响应消息,在接收到所述响应消息后,可以根据所述响应消息确定出服务器的组件版本信息,例如数据库版本、系统版本、structs框架版本。

需要进行说明的是,基于所有的防护规则库开启全匹配防护,并通过预设探测报文发送规则向服务器发送探测报文之前,还包括:生成若干探测报文,基于所述若干探测报文生成探测报文库,并基于服务器不同的组件版本信息生成若干相应的防护规则库。也即,根据本申请中的所述网络防护方法,在向服务器发送探测报文之前,会预先在waf产品的探测引擎中建立维护一个专门的探测报文库,周期按照探测报文发送规则向服务器发送探测报文,并且会收集服务器的各种组件版本信息,并按照不同的组件版本创建相应的不同的防护规则库,以便在接收到网络请求后利用创建的防护规则库对网络请求进行匹配。

步骤S12、判断自身处理器资源占用是否大于预设第一资源占用阈值。

本实施例中,在接收到服务器根据发送的探测报文返回相应的响应消息,并根据所述响应消息确定服务器的组件版本信息后,需要判断自身处理器资源占用是否达到预设的第一资源占用阈值,以便判断是否开启针对服务器版本的精确匹配防护。需要进行说明的是,所述第一资源占用阈值可以根据用户需求自行设定,也可以按照系统预设阈值进行设定,例如可以设定所述第一资源占用阈值为CPU占用达到50%。

步骤S13、如果自身处理器资源占用大于所述第一资源占用阈值,则基于所述组件版本信息开启针对所述服务器的精确匹配防护,并在接收到网络请求后,基于目标防护规则库对所述网络请求进行精确匹配,以确定匹配结果;所述目标防护规则库为与所述组件版本信息对应的规则库。

本实施例中,如果自身处理器资源占用大于所述第一资源占用阈值,则基于所述组件版本信息开启针对所述服务器的精确匹配防护,并在接收到网络请求后,基于目标防护规则库对所述网络请求进行精确匹配,以确定匹配结果。也即,如果自身处理器资源占用大于用户自行设定的第一资源占用阈值,或大于系统预设的第一资源占用阈值,则根据基于服务器返回的响应消息确定的服务器组件版本信息,利用与所述服务器组件版本信息对应的防护库开启针对所述服务器组件版本的精确匹配防护。例如,如果服务器的数据库类型为mysql,系统版本为win10,structs框架版本为structs2.4,则在收到针对该服务器的网络请求后,只利用数据库版本为mysql版本、windows系统版本不低于win10、structs框架版本不低于structs2.4版本的规则库进行匹配,其他数据库组件、windows系统版本低于win10或其他系统版本、structs框架版本低于structs2.4版本的规则库则不再进行匹配,如果服务器的数据库类型为pg数据库,系统版本为linux7.5,structs框架版本为structs2.5,则只利用数据库版本为pg、linux系统版本不低于linux7.5、structs框架版本不低于2.5版本的规则库进行匹配,其他sql组件、windows、linux版本低于linux7.5、structs框架版本低于structs2.5版本的规则库则不再进行匹配。这样一来,可以降低需要进行匹配的规则数量,有效节省系统资源。

步骤S14、如果所述匹配结果表征匹配成功,则确定所述网络请求为恶意请求,并对所述网络请求进行阻断。

本实施例中,如果所述匹配结果表征匹配成功,则确定所述网络请求为恶意请求,并对所述网络请求进行阻断。也即,如果接收到的网络请求与防护规则库匹配成功,则表征所述网络请求为发起恶意攻击的请求,可以对所述网络请求进行阻断,以实现对服务器的防护。

由此可见,本实施例中首先基于所有的防护规则库开启全匹配防护,并通过预设探测报文发送规则向服务器发送探测报文,以便服务器根据所述探测报文返回相应的响应消息,并基于所述响应消息确定所述服务器的组件版本信息,然后判断自身处理器资源占用是否大于预设第一资源占用阈值,如果自身处理器资源占用大于所述第一资源占用阈值,则基于所述组件版本信息开启针对所述服务器的精确匹配防护,并在接收到网络请求后,基于目标防护规则库对所述网络请求进行精确匹配,以确定匹配结果,所述目标防护规则库为与所述组件版本信息对应的规则库,并且如果所述匹配结果表征匹配成功,则确定所述网络请求为恶意请求,并对所述网络请求进行阻断。由此可见,利用本申请中所述网络防护方法,可以在开启全匹配防护后向服务器发送探测报文,并根据服务器返回的响应消息确定服务器的组件版本信息,然后根据自身处理器资源占用情况选择开启针对服务器版本的精确匹配,开启精确匹配可以根据与服务器组件版本信息对应的防护规则库进行匹配防护。这样一来,针对被防护的对象,提前识别收集防护对象的信息特征,针对性定制防护规则进行匹配,减少需要匹配的防护规则数,可有效提升匹配性能,以解决防护性能不足时出现漏防的问题,节省系统资源并提升网络安全防护率。

基于前一实施例可知,本申请中需要根据预设的报文发送规则向服务器发送探测报文,并且需要根据服务器组件版本信息开启精确匹配,为此本实施例对如何根据预设的报文发送规则向服务器发送探测报文以及如何开启精确匹配进行了详细的描述,参见图2所示,本发明实施例公开了一种网络防护方法,包括:

步骤S21、基于所有的防护规则库开启全匹配防护,并基于预设探测报文发送规则向服务器发送所述探测报文库中的探测报文,以便所述服务器基于所述探测报文返回相应的响应消息。

本实施例中,在waf产品运行后,会先开启基于所有防护规则库的全匹配防护,并且如图3所示,根据预设的报文发送规则向服务器发送探测报文库中的探测报文,并且根据预设的报文发送规则向服务器发送探测报文具体的实施方式如下所示:基于一次探测发送规则向所述服务器发送单个探测报文,并判断是否能够从所述服务器基于所述单个探测报文返回的响应消息中确定所述服务器的版本信息;若不能,则基于组合探测发送规则向所述服务器发送包含多个探测报文的组合探测报文,以便从所述服务器基于所述组合报文返回的响应消息中确定所述服务器的版本信息。也即,根据一次探测发送规则,向服务器逐次发送单个探测报文以确定服务器当前的组件版本信息,如果根据服务器基于逐个发送的第一个探测报文返回的响应消息可以确定出服务器当前的组件版本信息,则继续根据所述一次探测发送规则,向服务器逐次发送单个探测报文以确定服务器的下一组件版本信息,如果根据一次探测发送规则,向服务器逐次发送单个探测报文不能确定服务器当前的组件版本信息,则基于组合探测发送规则,向所述服务器发送包含多个探测报文的组合探测报文,以根据服务器基于所述组合探测报文返回的响应消息来确定服务器当前的组件版本信息,如果两种方式都不能确定出服务器的组件版本信息,则返回组件版本信息为未知的响应消息。例如,waf产品根据服务器回复的响应报文判断是否匹配内置的探测报文预期,如果匹配的预期为mysql,则可以判定判断服务器的数据库为mysql,可以进一步再发送探测报文以继续探测mysql的具体版本,如果不匹配,则可进一步发送其他一次探测报文,如果一次探测报文都不匹配,则发送组合探测报文,组合探测报文中的结果都符合预期为mysql,则判定数据库就是mysql,如果组合探测报文也不符合预期,则发送下一数据库类型的探测报文,以确定服务器数据库类型,如果所有的数据库类型都不能匹配,则判定为未知类型的数据库。

步骤S22、接收所述响应消息,并根据所述响应消息中的特征信息确定服务器的数据库版本、系统版本、structs框架版本。

本实施例中,接收所述响应消息,并根据所述响应消息中的特征信息确定所述服务器的数据库版本、系统版本、structs框架版本。也即,根据服务器根据各种探测报文返回的响应消息确定出服务器的数据库版本、系统版本、structs框架版本。例如,确定出服务器的数据库版本为Oracle版本,系统版本为win11,structs框架版本为structs2.5。

步骤S23、判断自身处理器资源占用是否大于预设第一资源占用阈值。

步骤S24、如果自身处理器资源占用大于预设第一资源占用阈值,则基于所述数据库版本、所述系统版本、所述structs框架版本确定所述目标防护规则库,并开启针对所述服务器的精确匹配防护。

本实施例中,如果自身处理器资源占用大于预设第一资源占用阈值,则基于所述数据库版本、所述系统版本、所述structs框架版本确定所述目标防护规则库,并开启针对所述服务器的精确匹配防护。也即,如果自身资源处理器大于用户设定的第一资源占用阈值,或大于系统预设第一资源占用阈值,则根据服务器的数据库版本,系统版本、structs框架版本从所有的防护规则库中确定出相应的与服务器组件版本信息对应的目标防护规则库,已开启针对所述服务器的精确匹配防护。例如,根据前述实施例中服务器的数据库版本为Oracle版本,系统版本为win11,structs框架版本为structs2.5的服务器组件版本信息,则选择目标防护规则库为数据库版本为Oracle版本、windows系统版本不低于win11、structs框架版本不低于structs2.5版本的规则库进行匹配。

步骤S25、判断是否接收到网络请求,若是,则基于所述目标防护规则库对所述网络请求进行精确匹配,以确定匹配结果。

本实施例中,判断是否接收到网络请求,若是,则基于所述目标防护规则库对所述网络请求进行精确匹配,以确定匹配结果。也即,根据与服务器组件版本信息对应的目标防护规则库对接收到的网络请求进行匹配,以确定基于所述网络请求的匹配结果,如果所述网络请求在所述目标防护规则库匹配成功,则表征所述网络请求为恶意请求,如果没有匹配成功,则表征所述网络请求为正常的网络请求。这样一来,可以减少需要匹配的防护规则数量,有效提高了本申请中网络防护方法的处理效率。

步骤S26、若所述匹配结果表征匹配成功,则确定所述网络请求为恶意请求,并对所述网络请求进行阻断。

需要进行说明的是,关于步骤S23、步骤S26更加详细的描述可以参考前述实施例,在此不再进行赘述。

由此可见,本实施例中首先基于所有的防护规则库开启全匹配防护,并基于预设探测报文发送规则向服务器发送所述探测报文库中的探测报文,以便所述服务器基于所述探测报文返回相应的响应消息,并接收所述响应消息,并根据所述响应消息中的特征信息确定服务器的数据库版本、系统版本、structs框架版本,然后判断自身处理器资源占用是否大于预设第一资源占用阈值,如果自身处理器资源占用大于预设第一资源占用阈值,则基于所述数据库版本、所述系统版本、所述structs框架版本确定所述目标防护规则库,并开启针对所述服务器的精确匹配防护,最后判断是否接收到网络请求,若是,则基于所述目标防护规则库对所述网络请求进行精确匹配,以确定匹配结果,若所述匹配结果表征匹配成功,则确定所述网络请求为恶意请求,并对所述网络请求进行阻断。这样一来,可以根据一次探测发送规则以及组合探测发送规则向服务器发送探测报文,可以使服务器组件版本信息的确定更加精确,并且可以根据与服务器组件版本信息对应的目标防护规则库对接收到的网络请求进行匹配,减少了需要匹配的防护规则数量,有效提高了本申请中网络防护方法的处理效率。

基于前述实施例可知,本申请中需要判断服务器的处理器资源占用是否达到预设阈值,并且判断服务器资源占用是否达到第一资源占用阈值后,还需要判断服务器资源占用是否达到第二资源占用阈值,为此本实施例对服务器资源占用达到第二资源占用阈值后的处理情况进行了详细的描述,参见图4所示,本发明实施例公开了一种网络防护方法,包括:

步骤S31、基于所有的防护规则库开启全匹配防护,并通过预设探测报文发送规则向服务器发送探测报文,以便服务器根据所述探测报文返回相应的响应消息,并基于所述响应消息确定所述服务器的组件版本信息。

步骤S32、判断自身处理器资源占用是否大于预设第一资源占用阈值。

步骤S33、若是,则判断自身处理器资源占用是否大于预设第二资源占用阈值。

本实施例中,如果服务器自身资源占用大于第一资源占用阈值,则基于所述组件版本信息开启针对所述服务器的精确匹配防护,并且需要判断服务器自身资源占用是否大于第二资源占用阈值,需要进行说明的是,所述第二资源占用阈值往往用于判断服务器资源占用是否处于崩溃边缘,并且在精确匹配防护的模式下,如果资源占用过高,需要先降低服务器的资源占用,以避免服务器因资源占用过高出现崩溃的情况,这样一来,所述第二资源占用阈值一般设为100%。

步骤S34、若否,则基于所述组件版本信息开启针对所述服务器的精确匹配防护。

本实施例中,若否,则基于所述组件版本信息开启针对所述服务器的精确匹配防护。也即,如果服务器自身资源占用大于第一资源占用阈值但小于第二资源占用阈值,则基于服务器的数据库版本、系统版本、structs框架版本开启针对服务器的精确匹配防护。

步骤S35、若是,则触发自动放行操作,并在接收到网络请求后,对所述待匹配网络请求执行自动放行操作,以缓解所述自身处理器的资源占用。

本实施例中,如果服务器自身资源占用大于第二资源占用阈值,则表征服务器资源占用过高,处于崩溃边缘,为了避免增加服务器负担,需要暂时降低服务器资源占用,在接收到网络请求后,需要执行自动放行操作。

步骤S36、收集未成功进行阻断的恶意请求,并将所述未成功进行阻断的恶意请求添加至防护规则库,以实现对所述防护规则库的更新。

本实施例中,如果存在为成功进行阻断的恶意请求,需要将所述恶意请求添加至防护规则库,以实现对防护规则库的更新,并且避免当再次收到相同类型的恶意请求时,使服务器再次受到所述恶意请求的攻击。并且需要进行说明的是,对防护规则库的更新,以及对报文库的更新均在服务器占用较低时进行,而非实时更新,以避免占用服务器自身处理器资源,避免影响waf产品对服务器的保护。

需要进行说明的是,关于步骤S31、步骤S32更加详细的描述可以参考前述实施例,在此不再进行赘述。

由此可见,本实施例中首先基于所有的防护规则库开启全匹配防护,并通过预设探测报文发送规则向服务器发送探测报文,以便服务器根据所述探测报文返回相应的响应消息,并基于所述响应消息确定所述服务器的组件版本信息,然后判断自身处理器资源占用是否大于预设第一资源占用阈值,若是,则判断自身处理器资源占用是否大于预设第二资源占用阈值,若否,则基于所述组件版本信息开启针对所述服务器的精确匹配防护,若是,则触发自动放行操作,并在接收到网络请求后,对所述待匹配网络请求执行自动放行操作,以缓解所述自身处理器的资源占用,最后收集未成功进行阻断的恶意请求,并将所述未成功进行阻断的恶意请求添加至防护规则库,以实现对所述防护规则库的更新。这样一来,可以在服务器资源占用紧张时,对网络请求自动放行,以避免服务器出现崩溃的情况,并且可以将未成功进行阻断的恶意请求更新至防护规则库,提高了本申请中所述网络防护方法的可靠性。

参见图5所示,本发明实施例公开了一种网络防护装置,包括:

版本确定模块11,用于基于所有的防护规则库开启全匹配防护,并通过预设探测报文发送规则向服务器发送探测报文,以便服务器根据所述探测报文返回相应的响应消息,并基于所述响应消息确定所述服务器的组件版本信息;

阈值判断模块12,用于判断自身处理器资源占用是否大于预设第一资源占用阈值;

匹配结果确定模块13,用于如果自身处理器资源占用大于所述第一资源占用阈值,则基于所述组件版本信息开启针对所述服务器的精确匹配防护,并在接收到网络请求后,基于目标防护规则库对所述网络请求进行精确匹配,以确定匹配结果;所述目标防护规则库为与所述组件版本信息对应的规则库;

请求阻断模块14,用于如果所述匹配结果表征匹配成功,则确定所述网络请求为恶意请求,并对所述网络请求进行阻断。

由此可见,本实施例中首先基于所有的防护规则库开启全匹配防护,并通过预设探测报文发送规则向服务器发送探测报文,以便服务器根据所述探测报文返回相应的响应消息,并基于所述响应消息确定所述服务器的组件版本信息,然后判断自身处理器资源占用是否大于预设第一资源占用阈值,如果自身处理器资源占用大于所述第一资源占用阈值,则基于所述组件版本信息开启针对所述服务器的精确匹配防护,并在接收到网络请求后,基于目标防护规则库对所述网络请求进行精确匹配,以确定匹配结果,所述目标防护规则库为与所述组件版本信息对应的规则库,并且如果所述匹配结果表征匹配成功,则确定所述网络请求为恶意请求,并对所述网络请求进行阻断。由此可见,利用本申请中所述网络防护方法,可以在开启全匹配防护后向服务器发送探测报文,并根据服务器返回的响应消息确定服务器的组件版本信息,然后根据自身处理器资源占用情况选择开启针对服务器版本的精确匹配,开启精确匹配可以根据与服务器组件版本信息对应的防护规则库进行匹配防护。这样一来,利用与当前服务器组件版本对应的防护规则库对恶意攻击报文进行匹配,可以有效节省系统资源,并有效提升网络安防效率并且避免了防护性能不足时出现漏防的问题。

在一些实施例中,所述网络防护装置,还可以包括:

报文库生成模块,用于生成若干探测报文,基于所述若干探测报文生成探测报文库;

规则库生成模块,用于基于服务器不同的组件版本信息生成若干相应的防护规则库。

在一些实施例中,所述版本确定模块11,具体可以包括:

报文发送子模块,用于基于预设探测报文发送规则向服务器发送所述探测报文库中的探测报文,以便所述服务器基于所述探测报文返回相应的响应消息;

版本确定子模块,用于接收所述响应消息,并根据所述响应消息中的特征信息确定所述服务器的数据库版本、系统版本、structs框架版本。

在一些实施例中,所述报文发送子模块,具体可以包括:

单个报文发送单元,用于基于一次探测发送规则向所述服务器发送单个探测报文,并判断是否能够从所述服务器基于所述单个探测报文返回的响应消息中确定所述服务器的版本信息;

组合报文发送单元,用于如果不能确定所述服务器的版本信息,则基于组合探测发送规则向所述服务器发送包含多个探测报文的组合探测报文,以便从所述服务器基于所述组合报文返回的响应消息中确定所述服务器的版本信息。

在一些实施例中,所述匹配结果确定模块13,具体可以包括:

第一匹配防护单元,用于基于所述数据库版本、所述系统版本、所述structs框架版本确定所述目标防护规则库,并开启针对所述服务器的精确匹配防护;

匹配结果确定单元,用于判断是否接收到网络请求,若是,则基于所述目标防护规则库对所述网络请求进行精确匹配,以确定匹配结果。

在一些实施例中,所述匹配结果确定模块13,具体可以包括:

阈值判断单元,用于判断自身处理器资源占用是否大于预设第二资源占用阈值;

第二匹配防护单元,用于如果不大于所述第二资源占用阈值,则基于所述组件版本信息开启针对所述服务器的精确匹配防护;

请求放行单元,用于如果大于所述第二资源占用阈值,则触发自动放行操作,并在接收到网络请求后,对所述待匹配网络请求执行自动放行操作,以缓解所述自身处理器的资源占用。

在一些实施例中,所述网络防护装置,还可以包括:

规则库更新单元,用于收集未成功进行阻断的恶意请求,并将所述未成功进行阻断的恶意请求添加至防护规则库,以实现对所述防护规则库的更新。

进一步的,本申请实施例还公开了一种电子设备,图6是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。

图6为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的网络防护方法中的相关步骤。另外,本实施例中的电子设备20具体可以为电子计算机。

本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。

另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222等,存储方式可以是短暂存储或者永久存储。

其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的网络防护方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。

进一步的,本申请还公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的网络防护方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

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

以上对本申请所提供的技术方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

技术分类

06120116026132