一种拟态WAF的执行体自愈方法转让专利

申请号 : CN202011238258.7

文献号 : CN112383527B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈双喜吴春明曲振青王文海

申请人 : 浙江大学

摘要 :

本发明公开了一种拟态WAF的执行体自愈方法,本方法通过拟态WAF执行体的异常检测、异常执行体定位、异常执行体模块排查、异常执行体自愈修复:含恢复机制、修复模块重检测来完成拟态WAF执行体的自愈过程。本发明综合考虑了执行体的工作效率与正确性,运行自动检测排查以及自愈机制,确保执行体在出现了异常以后能够及时自动运行检测机制并进行自行恢复增强,如果多次运行自愈机制以后仍然存在异常,将进行下线清洗工作,本发明大大降低了拟态WAF的维护费用,能广泛应用于拟态WAF体系之中。

权利要求 :

1.一种拟态WAF的执行体自愈方法,其特征在于,包括以下步骤:(1)执行体的异常检测,当执行体的规则匹配模块的结果与裁决结果不一致时,认为执行体发生了异常,设每个执行体i异常的次数为 Bi,Bi的初始值为0,根据裁决结果与每个执行体的规则匹配模块的结果比较,存在差异的执行体对应的Bi +1;

(2)设每个执行体的异常率为Di,Ai表示执行体i被选中的次数,其计算公式为Di=Bi/Ai,当裁决结果产生后,更新每个执行体的异常率,当某个执行体异常率高于某个阈值时,认为该执行体发生异常,完成异常执行体的定位工作;

(3)异常执行体模块排查,通过分别排查,自动排查出具体异常发生的模块;待排查的模块包含:执行体微容器数据库、执行体微容器黑白名单集合及规则定义集合、协议解析模块、动作执行模块以及日志模块,具体为:(3.1)执行体微容器数据库异常排查,对异常执行体的微容器中的镜像数据库与执行体基于的服务器中的完全数据库执行相同的增删改查操作,比对两者操作结果;

(3.2)执行体微容器黑白名单集合及规则定义集合排查,通过将异常执行体的黑白名单集合与其它非异常执行体的黑白名单集合进行比对,规则定义集合排查则通过发起同种攻击,比对目前异常执行体与非异常执行体的判定结果实现;

(3.3)协议解析模块异常排查,通过使用相同流量经过异常执行体与其它非异常执行体,解析得到的解析协议结果进行比对,假设共与k个非异常执行体进行了相同流量的解析结果比对,解析结果比对计数器的值设为α,每次有一个非异常执行体与异常执行体结果不匹配时计数器的值更新为α+1,设定阈值δ,当α超过阈值δ,认为协议解析模块发生异常;

(3.4)动作执行模块排查:使用相同流量分别经过异常执行体与非异常执行体,比对动作执行模块作出的动作;假设共对k’个非异常执行体与异常执行体进行比对,计数器的值设为α’,每次有一个非异常执行体与异常执行体动作不一致时计数器的值更新为α’+1,设定阈值δ’,当α’大于阈值δ’,认为动作执行模块发生异常;

(3.5)日志模块异常排查:使用相同流量分别经过异常执行体与非异常执行体,比对日志模块记录的日志;假设共对k’’个非异常执行体与异常执行体进行比对,计数器的值设为α’’,每次有一个非异常执行体与异常执行体记录的日志不一致时计数器的值更新为α’’+

1,设定阈值δ’’,当α’’大于阈值δ’’,认为日志模块发生异常;

(4)异常执行体自愈修复,具体为:(4.1)自愈修复微容器数据库,如果检测到数据库存在数据不一致性,直接进行完全数据库的镜像操作,丢弃之前的镜像数据库;

(4.2)自愈修复执行体微容器黑白名单集合,通过拷贝其余非异常执行体的黑白名单集合实现;

(4.3)规则定义集合、协议解析模块、动作执行模块以及日志模块异常修复则需要下线操作,修复后再重新上线;

(5)修复模块重检测:对步骤(4)修复后的异常执行体发起相同的攻击,比对其规则匹配模块的结果与裁决结果,若比对结果一致则自愈完成,否则重复以上步骤(3)(4)的过~

程,如重复2‑3次后仍自愈失败,则下线排查。

2.如权利要求1所述拟态WAF的执行体自愈方法,其特征在于,所述步骤(3.1)中,如最终排查数据库异常失效,直接执行从服务器中的完全数据库进行WAF数据库的重新镜像。

说明书 :

一种拟态WAF的执行体自愈方法

技术领域

[0001] 本发明属于网络安全拟态防御技术领域,尤其涉及一种拟态WAF的执行体自愈方法。

背景技术

[0002] 随着网络的普及深入,2019年全球的互联网普及率超过了55%,但与此同时也带来了严重的网络安全隐患。维护网络安全应用的成本随着网络应用的增加、网络的普及程
度增加、网络性能要求提高而逐渐提升。维护网络应用安全的设备性能更高的同时,也需要
更高的设备维护成本,因此降低网络安全应用设备维护的需求亟不可待。
[0003] 拟态防御WAF系统能够构建“自主可控、安全可信”的防护系统,逆转网络安全领域的“易攻难守”的局面,完成“服务提供与安全防护”的自然结合、“安全性与开放性”的完美
融合、“高可靠与高可信”的自然结合、“内生安全机制与传统防御手段”的完美融合,拟态
WAF技术是下一代的WAF,具有多样性、动态性、冗余性等的特点,通过多个执行体的异构以
及选择算法来完成拟态WAF的动态性特点,却也意味着拟态WAF需要更高的运营成本,拟态
WAF执行体出现异常以后需要相对较高的代价进行修复,目前的WAF执行体的修复方式主要
是通过人工下线进行处理修复后重新上线,维护修复成本大,且会影响整个WAF系统的运
行,而WAF系统的暂时停止运行将带来安全威胁以及相应损失。

发明内容

[0004] 本发明的目的在于针对现有技术的不足,提供一种拟态WAF的执行体自愈方法。
[0005] 本发明的目的是通过以下技术方案来实现的:一种拟态WAF的执行体自愈方法,包括以下步骤:
[0006] (1)拟态WAF执行体的异常检测,当WAF执行体的规则匹配模块结果与裁决结果不一致时,这时认为执行体发生了异常,设每个WAF执行体i异常的次数为Bi,Bi的初始值为0,
根据裁决结果与每个WAF执行体结果比较,存在差异的异构体对应的Bi+1。
[0007] (2)设每个执行体的异常率为Di,Ai表示执行体i被选中的次数,其计算公式为Di=Bi/Ai,当拟态裁决结果产生后,更新每个执行体的异常率,当某个执行体异常率高于某个阈
值时,认为该执行体发生异常,完成异常执行体的定位工作。
[0008] (3)异常执行体模块排查,通过分别排查,自动排查出具体异常的发生模块。排查模块包含:执行体微容器数据库、执行体微容器黑白名单集合及规则定义集合、协议解析模
块、动作执行模块以及日志模块,具体为:
[0009] (3.1)执行体微容器数据库异常排查,对异常执行体的微容器中的镜像数据库与执行体基于的服务器中的完全数据库执行相同的增删改查操作,比对两者操作结果。
[0010] (3.2)执行体微容器黑白名单集合及规则定义集合排查,通过异常执行体的黑白名单与规则集合与其它非异常执行体的黑白名单进行比对,规则定义集合排查则通过发起
同种攻击,比对目前异常执行体与非异常执行体的判定结果实现。
[0011] (3.3)协议解析模块异常排查,通过使用相同流量经过目前异常执行体与其它非异常执行体解析得到的解析协议结果进行比对,假设共与k个非异常执行体进行了相同流
量的解析结果比对,解析结果比对计数器设为α,不匹配时计数器α+1,设定阈值δ,当α超过
阈值δ,认为协议解析模块发生异常。
[0012] (3.4)动作执行模块以及日志模块异常排查通过与步骤(3.3)相似的步骤与非异常执行体的计算判定结果进行比对实现。
[0013] (4)异常执行体自愈修复,具体为:
[0014] (4.1)自愈修复微容器数据库,如果检测到数据库存在数据不一致性,直接进行完全数据库的部分镜像操作,丢弃之前的镜像数据库。
[0015] (4.2)自愈修复执行体微容器黑白名单集合,通过拷贝其余非异常执行体的黑白名单集合实现。
[0016] (4.3)规则定义集合、协议解析模块、动作执行模块以及日志模块异常修复则需要下线操作,修复后再重新上线。
[0017] (5)修复模块重检测:对步骤(4)修复后的异常执行体发起相同的攻击,比对其规则匹配模块结果与裁决结果,若比对结果一致则自愈完成,否则重复以上步骤(3)~(4)的
过程,如重复2‑3次后仍自愈失败,则下线排查。
[0018] 进一步地,所述步骤(3.1)中,如最终排查数据库异常失效,直接执行从服务器中的完全数据库进行WAF数据库的重新镜像。
[0019] 本发明的有益效果是:本发明通过拟态WAF执行体的异常检测、异常执行体定位、异常执行体模块排查、异常执行体自愈修复、修复模块重检测来完成拟态WAF执行体的自愈
过程,这一自愈过程基本无需人工参与,大大减少了修复成本。

附图说明

[0020] 图1是拟态WAF的执行体自愈流程图。

具体实施方式

[0021] 如图1所示,本发明一种拟态WAF的执行体自愈方法,主要是通过拟态WAF执行体的异常检测、异常执行体定位、异常执行体模块排查、异常执行体自愈修复、修复模块重检测
来完成拟态WAF执行体的自愈过程,包括以下步骤:
[0022] (1)拟态WAF执行体的异常检测:当WAF执行体的规则匹配模块结果与裁决结果不一致时,这时认为执行体发生了异常,设每个WAF执行体i异常的次数为Bi(1≤i≤M),Bi的初
始值为0,根据裁决结果与每个WAF执行体结果比较,存在差异的异构执行体对应的Bi+1。
[0023] (2)设每个执行体的异常率为Di(1≤i≤M),Ai(1≤i≤M)表示执行体i被选中的次数,其计算公式为Di=Bi/Ai;当拟态裁决结果产生后,更新每个执行体的异常率,当某个执
行体异常率高于设定的阈值时,认为该执行体发生异常,完成异常执行体的定位工作。
[0024] (3)异常执行体模块排查:假设异常执行体为第W个执行体,1≤W≤M,通过分别排查异常执行体各模块,自动排查出具体异常的发生模块;排查模块包含:执行体微容器数据
库、执行体微容器黑白名单集合、执行体微容器规则定义集合、协议解析模块、动作执行模
块以及日志模块,具体为:
[0025] (3.1)执行体微容器数据库异常排查:对执行体W的微容器中的镜像数据库dW与执行体W基于所在服务器e中的完全数据库D执行相同的增删改查操作,比对两者操作结果;如
操作结果不一致,认为执行体微容器数据库异常;需要说明:本步骤的排查能够排查出大部
分数据库不一致性异常,如最终排查数据库异常失效,可以直接执行从服务器e中的完全数
据库D进行WAF数据库的重新镜像。
[0026] (3.2)执行体微容器黑白名单集合排查:通过异常执行体W的黑白名单与规则集合与其它非异常执行体的黑白名单进行比对实现执行体微容器黑白名单集合排查;排查结果
为不一致,认为执行体微容器黑白名单集合异常。
[0027] (3.3)执行体微容器规则定义集合排查:通过对异常执行体和非异常执行体发起同种攻击,比对目前异常执行体与非异常执行体的判定结果实现规则定义集合排查;排查
结果为不一致,认为执行体微容器黑白名单集合及规则定义集合异常。
[0028] (3.4)协议解析模块异常排查:使用相同流量分别经过异常执行体W与非异常执行体解析得到解析协议结果并进行比对;假设共对k个非异常执行体与异常执行体W进行了相
同流量的解析结果比对,解析结果比对计数器设为α,不匹配时计数器α+1,设定阈值δ,当α
大于阈值δ,认为协议解析模块发生异常。
[0029] (3.5)动作执行模块排查:通过与步骤(3.4)相似的步骤与非异常执行体的计算判定结果进行比对实现,具体为:使用相同流量分别经过异常执行体W与非异常执行体,比对
动作执行模块作出的动作;假设共对k个非异常执行体与异常执行体W进行比对,计数器设
为α,动作不一致时计数器α+1,设定阈值δ,当α大于阈值δ,认为动作执行模块发生异常。
[0030] (3.6)日志模块异常排查:通过与步骤(3.4)相似的步骤与非异常执行体的计算判定结果进行比对实现,具体为:使用相同流量分别经过异常执行体W与非异常执行体,比对
日志模块记录的日志;假设共对k个非异常执行体与异常执行体W进行比对,计数器设为α,
记录的日志不一致时计数器α+1,设定阈值δ,当α大于阈值δ,认为日志模块发生异常。
[0031] (4)异常执行体自愈修复,具体为:
[0032] (4.1)自愈修复微容器数据库:如果检测到数据库存在大量的数据不一致性,直接进行完全数据库的部分镜像操作,丢弃之前的镜像数据库。
[0033] (4.2)自愈修复执行体微容器黑白名单集合:通过拷贝其它非异常执行体的黑白名单集合实现。
[0034] (4.3)执行体微容器规则定义集合、协议解析模块、动作执行模块、日志模块的异常修复则需要进行执行体下线操作,维护管理人员人工排查修复后再重新上线。
[0035] (5)修复模块重检测:对步骤(4)修复后的异常执行体W发起相同的攻击比对其执行体内WAF的规则匹配模块结果与执行体WAF裁决结果,若比对结果一致则自愈完成,否则
重复以上步骤(3)‑(4)的过程,如重复2‑3次后,仍自愈失败,则下线执行体进行排查。