一种基于网络流量元数据的复杂事件处理方法与系统与流程

文档序号:29474893发布日期:2022-04-02 06:45阅读:231来源:国知局
一种基于网络流量元数据的复杂事件处理方法与系统与流程

1.本发明涉及网络安全技术领域,尤其是一种基于网络流量元数据的复杂事件处理方法与系统。


背景技术:

2.网络安全无论是操作系统、应用软件、网络设备、安全设备还是业务系统都普遍存在未知的漏洞,这使得在网络军火民用化、网络攻击组织化的大背景下,网络安全面临更加严峻的挑战。传统的安全监测方法大都是基于已知规则库进行监测,可检测出已知安全威胁,但对未知威胁则无能为力,且对正在发生或已造成损失的入侵行为无法做到完整的溯源取证和损失评估。
3.基于以上几点,本发明提出了一种基于flink及esper基础上的复杂事件引擎(sandbox)。本引擎既可以实现由业务专家预定义业务规则又可以集成执行机器学习、人工智能模型并且采用实时流式计算构建多元化算子能力,多方位多角度实现已知安全威胁检测及未知网络威胁感知。
4.本发明在最初计划使用flink及esper作为技术方案并进行调研的过程中,发现了其一系列的痛点问题,具体的痛点如下:
5.1.不能进行语义优化、不便于动态更新规则。安全分析场景的需求异常灵活,而其它cep引擎实现的产品会在激烈的需求变化时遇到很多问题;
6.2.高可用支持不足。其它cep引擎实现的产品缺乏一些必要算子,例如不支持“不发生算子”。一个较为常见的应用场景,某条规则指定在较长时间内没收到某台服务器的系统日志,则认为此台服务器发生了异常,需要及时通知用户。并且其它cep引擎实现的产品缺乏根据具体业务类型自定义算子的能力;
7.3.机器学习、人工智能集成不足。其它cep引擎实现的产品鲜有研究集成机器学习、人工智能模型。


技术实现要素:

8.本发明提出了一种基于网络流量元数据的复杂事件处理方法与系统,以解决上文提到的现有技术的缺陷。
9.在一个方面,本发明提出了一种基于网络流量元数据的复杂事件处理方法,该方法包括以下步骤:
10.s1:采集交换机镜像端口的网络流量元数据保存为pcap包,调用解析指令解析所述pcap包的详细信息获得解析结果,再将所述解析结果保存到kafka消息队列中作为数据源;
11.s2:通过具有可视化/图形化的界面的规则设计器,并基于算子模型预先设计复杂事件的处理规则,其中,复杂事件的所述处理规则和相应的处理资源按照权限进行分配,同时使用ai模型对所述分配的结果进行测试,将所述测试的结果保存为规则文本;
12.s3:将所述规则文本中的复杂事件的所述处理规则分解为若干个最小的规则匹配项,将一个最小的规则匹配项作为一个模式,再将一个所述模式作为一个类型节点来构建rete树结构,从而以rete树结构来储存所述规则文本得到rete规则树,再根据权限将所述rete规则树保存到规则数据库当中;
13.s4:从所述kafka消息队列中获取所述数据源并在内存中将所述数据源存储为事实/业务数据,从所述rete规则树的根节点开始将每个所述类型节点对应的模式与所述事实/业务数据进行匹配,若所述匹配的结果为相同,则把符合所述类型节点对应的模式的结果输出到外部进行存储。
14.以上方法在flink及esper的cep引擎基础上推出了一种全新的cep引擎,通过网络流量元数据回溯分析数据包特征、异常网络行为,实时检测网络攻击并发现潜伏已久的高级未知攻击。本引擎由数据源(source),复杂事件引擎(sandbox),数据下沉(sink)三部分组成。数据源(source)来源于kafka流量元数据topic,复杂事件引擎(sandbox)由动态多级规则流、自定义算子、流式统计与机器学习构成,数据下沉(sink)到kafka事件topic。本发明既可以实现由业务专家预定义业务规则又可以集成执行机器学习、人工智能模型并且采用实时流式计算构建多元化算子能力,多方位多角度实现已知安全威胁检测及未知网络威胁感知。
15.在具体的实施例中,所述采集交换机镜像端口的数据保存为pcap包的步骤包括:
16.启动主服务监听端口配置,再从数据库中查询镜像端口的配置,在各个镜像端口配置抓包程序参数并采集数据。
17.在具体的实施例中,所述调用解析指令解析所述pcap包的详细信息获得解析结果,再将所述解析结果保存到kafka消息队列中作为数据源,具体步骤包括:
18.监听所述kafka消息队列,判断是否有所述pcap包生成;
19.若是,则获取所述所述pcap包的文件名,再调用解析指令解析所述pcap包中的所述网络流量元数据并将解析结果写入kafka元数据topic;
20.若否,则继续监听所述kafka消息队列。
21.在具体的实施例中,所述算子模型具体包括:内置算子和自定义算子。
22.在具体的实施例中,所述具有可视化/图形化的界面的规则设计器包括:
23.用于通过鼠标点击来对所述处理规则进行定义的可视化/图形化的界面;
24.用于对所述处理规则进行多条件组合并以图形方式进行展示的可视化/图形化的界面。基于以上方法,利用鼠标点击即可实现复杂的业务处理规则定义,规则的多条件组合也是以图形方式展现,这样即使没有任何编程经验的普通业务人员,也可以轻松上手,完成复杂业务处理规则的定义。因为所有的业务处理规则设计器都是基于网页的,且规则的定义都是通过鼠标点击的方式完成,所以对于一个普通的使用者来说,对各种设计器的使用入门门槛极低,很容易结合业务需要定义出想要的业务处理规则。
25.在具体的实施例中,所述测试包括:快速测试、仿真测试以及rest服务测试。
26.在具体的实施例中,所述处理规则包括:向导式规则和脚本式规则。
27.在具体的实施例中,所述将一个所述模式作为一个类型节点来构建rete树结构,从而以rete树结构来储存所述规则文本得到rete规则树,具体步骤包括:
28.步骤一:创建一个rete树结构的根节点;
29.步骤二:取出所述处理规则中的一个模式记为模式i,其中i为所述模式的序号且i={1,2,3

},检查所述模式i中的参数类型,若所述参数类型是新的fact类型,则在rete树结构中加入一个类型节点;
30.步骤三:将所述模式i对应的alpha节点记为节点alpha(i),检查所述节点alpha(i)是否已存在,若存在则记录所述节点alpha(i)的位置,若不存在则将所述模式i作为一个新的alpha节点加入到所述rete树结构中,再根据所述模式i建立对应的节点alpha(i)的alpha内存表;
31.步骤四:重复所述步骤二至所述步骤三并且每次重复后i加一,直到所有的模式被处理完毕;
32.步骤五:组合所述rete树结构的beta节点,具体包括以下步骤:
33.根据所述模式i,将所述模式i的beta节点记为节点beta(i);
34.当i=2时,使节点beta(2)的左输入节点为节点alpha(1)且右输入节点为节点alpha(2);
35.当i》2时,使节点beta(i)的左输入节点为节点beta(i-1)且右输入节点为节点alpha(i),并将所述节点beta(i)的两个父节点的内存表内联成为所述节点beta(i)的内存表;
36.步骤六:重复所述步骤五直到所有的beta节点都被处理完毕;
37.步骤七:将动作封装成叶节点作为所述节点beta(i)的输出节点;
38.步骤八:将最终得到的所述rete树结构作为rete规则树。
39.在具体的实施例中,所述s4中,若所述匹配的结果不相同,执行以下步骤:
40.步骤a:将所述事实/业务数据传递到alpha节点,检测所述事实/业务数据是否与当前的alpha节点对应的模式相匹配,若是,则把符合当前的alpha节点对应的模式的结果输出到外部进行存储;
41.若否,则将所述事实/业务数据传递到下一个alpha节点并重复本步骤,若均无匹配,则执行步骤b和步骤c;
42.步骤b:将所述事实/业务数据传递到beta节点左端,再将所述事实/业务数据封装成仅包含一个事实/业务数据的列表,并将所述列表作为token;
43.步骤c:将所述事实/业务数据传递到beta节点的右端以及left存储区中的token进行匹配;
44.若匹配成功,则把符合当前的beta节点对应的模式的结果输出到外部进行存储;
45.若匹配不成功,则将所述事实/业务数据加入到token中,再将token传递到下一个节点并重复执行本步骤;
46.步骤d:当所述token被传递到最终的节点上,则把符合所述最终的节点对应的模式的结果输出到外部进行存储。
47.在具体的实施例中,所述相应的处理资源包括所有请求的url。
48.根据本发明的第二方面,提出了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机处理器执行时实施上述方法。
49.根据本发明的第三方面,提出一种基于网络流量元数据的复杂事件处理系统,该系统包括:
50.网络元数据解析模块:配置用于采集交换机镜像端口的网络流量元数据保存为pcap包,调用解析指令解析所述pcap包的详细信息获得解析结果,再将所述解析结果保存到kafka消息队列中作为数据源;
51.规则设计模块:配置用于通过具有可视化/图形化的界面的规则设计器,并基于算子模型预先设计复杂事件的处理规则,其中,复杂事件的所述处理规则和相应的处理资源按照权限进行分配,同时使用ai模型对所述分配的结果进行测试,将所述测试的结果保存为规则文本;
52.规则树构建模块:配置用于将所述规则文本中的复杂事件的所述处理规则分解为若干个最小的规则匹配项,将一个最小的规则匹配项作为一个模式,再将一个所述模式作为一个类型节点来构建rete树结构,从而以rete树结构来储存所述规则文本得到rete规则树,再根据权限将所述rete规则树保存到规则数据库当中;
53.元数据规则匹配模块:配置用于从所述kafka消息队列中获取所述数据源并在内存中将所述数据源存储为事实/业务数据,从所述rete规则树的根节点开始将每个所述类型节点对应的模式与所述事实/业务数据进行匹配,若所述匹配的结果为相同,则把符合所述类型节点对应的模式的结果输出到外部进行存储。
54.本发明采集交换机镜像端口的网络流量元数据保存为pcap包,调用解析指令解析所述pcap包的详细信息获得解析结果;通过具有可视化/图形化的界面的规则设计器,并基于算子模型预先设计复杂事件的处理规则,使用ai模型进行测试输出规则文本;利用rete树结构来储存所述规则文本得到rete规则树,再根据权限将所述rete规则树保存到规则数据库当中;从所述rete规则树的根节点开始将每个所述类型节点对应的模式与所述元数据生成的事实/业务数据进行匹配,把符合所述类型节点对应的模式的结果输出到外部进行存储。既实现了人工预定义业务规则又集成了机器学习以及人工智能模型,可从多方位多角度实现已知安全威胁检测及未知网络威胁感知。
附图说明
55.包括附图以提供对实施例的进一步理解并且附图被并入本说明书中并且构成本说明书的一部分。附图图示了实施例并且与描述一起用于解释本发明的原理。将容易认识到其它实施例和实施例的很多预期优点,因为通过引用以下详细描述,它们变得被更好地理解。通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本技术的其它特征、目的和优点将会变得更明显:
56.图1是本技术可以应用于其中的示例性系统架构图;
57.图2是本发明的一个实施例的一种基于网络流量元数据的复杂事件处理方法的流程图;
58.图3是本发明的一个具体的实施例的网络流量抓包流程图;
59.图4是本发明的一个具体的实施例的网络流量元数据解析流程图;
60.图5是本发明的一个具体的实施例的规则设计器流程图;
61.图6是本发明的一个具体的实施例的权限分配角色示意图;
62.图7是本发明的一个具体的实施例的可视化rete树图;
63.图8是本发明的一个具体的实施例的规则执行引擎流程图;
64.图9是本发明的一个具体的实施例的系统整体架构图;
65.图10是本发明的一个实施例的一种基于网络流量元数据的复杂事件处理系统的框架图;
66.图11是适于用来实现本技术实施例的电子设备的计算机系统的结构示意图。
具体实施方式
67.下面结合附图和实施例对本技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
68.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
69.图1示出了可以应用本技术实施例的一种基于网络流量元数据的复杂事件处理方法的示例性系统架构100。
70.如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
71.用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种应用,例如数据处理类应用、数据可视化类应用、网页浏览器应用等。
72.终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
73.服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上展示的网络流量元数据提供支持的后台信息处理服务器。后台信息处理服务器可以对获取的规则文本进行处理,并生成处理结果(例如rete规则树)。
74.需要说明的是,本技术实施例所提供的方法可以由服务器105执行,也可以由终端设备101、102、103执行,相应的装置一般设置于服务器105中,也可以设置于终端设备101、102、103中。
75.需要说明的是,服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
76.应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
77.根据本发明的一个实施例的一种基于网络流量元数据的复杂事件处理方法,图2示出了根据本发明的实施例的一种基于网络流量元数据的复杂事件处理方法的流程图。如图2所示,该方法包括以下步骤:
78.s1:采集交换机镜像端口的网络流量元数据保存为pcap包,调用解析指令解析所述pcap包的详细信息获得解析结果,再将所述解析结果保存到kafka消息队列中作为数据源。
79.图3示出了本发明的一个具体的实施例的网络流量抓包流程图,在本实施例中,网络流量抓包流程的具体步骤包括:
80.启动主服务监听端口配置,再从数据库中查询镜像端口的配置,若查询到镜像端口的位置,则在各个镜像端口配置抓包程序参数并采集数据,若未查询到镜像端口的位置,则继续监听端口配置。
81.图4示出了本发明的一个具体的实施例的网络流量元数据解析流程图,具体流程如下:
82.监听所述kafka消息队列,判断是否有所述pcap包生成;
83.若是,则获取所述所述pcap包的文件名,再调用解析指令解析所述pcap包中的所述网络流量元数据并将解析结果写入kafka元数据topic;
84.若否,则继续监听所述kafka消息队列;
85.其中,若调用解析指令解析所述pcap包时发生异常,则返回监听所述kafka消息队列。
86.s2:通过具有可视化/图形化的界面的规则设计器,并基于算子模型预先设计复杂事件的处理规则,其中,复杂事件的所述处理规则和相应的处理资源按照权限进行分配,同时使用ai模型对所述分配的结果进行测试,将所述测试的结果保存为规则文本。
87.在具体的实施例中,所述相应的处理资源包括所有请求的url。
88.本步骤主要是为规则设计提供图形化界面,分为设计和权限控制两部分,其中设计部分由规则设计器完成,控制部分基于权限分配来完成。
89.图5示出了本发明的一个具体的实施例的规则设计器流程图。设计部分主要是提供可视化工具设计出灵活多样的规则。所有的规则设计器皆为可视化、图形化设计器,通过鼠标点击即可实现复杂的业务规则定义,规则的多条件组合也是以图形方式展现,这样即使没有任何编程经验的普通业务人员,也可以轻松上手,完成复杂业务规则的定义。因为所有的业务规则设计器都是基于网页的,且规则的定义都是通过鼠标点击的方式完成,所以对于一个普通的使用者来说,对各种设计器的使用入门门槛极低,很容易结合业务需要定义出想要的业务规则。
90.图6示出了本发明的一个具体的实施例的权限分配角色示意图,表示用户、规则、资源这些内容按角色可控。
91.在具体的实施例中,所述具有可视化/图形化的界面的规则设计器包括:
92.用于通过鼠标点击来对所述处理规则进行定义的可视化/图形化的界面;
93.用于对所述处理规则进行多条件组合并以图形方式进行展示的可视化/图形化的界面。
94.在具体的实施例中,所述算子模型具体包括:内置算子和自定义算子。
95.在具体的实施例中,所述测试包括:快速测试、仿真测试以及rest服务测试。
96.在具体的实施例中,所述处理规则包括:向导式规则和脚本式规则。
97.s3:将所述规则文本中的复杂事件的所述处理规则分解为若干个最小的规则匹配
项,将一个最小的规则匹配项作为一个模式,再将一个所述模式作为一个类型节点来构建rete树结构,从而以rete树结构来储存所述规则文本得到rete规则树,再根据权限将所述rete规则树保存到规则数据库当中。
98.在具体的实施例中,利用模型构建引擎连接规则设计器和模型运行,把设计器设计的规则文本转化为引擎可以识别的rete树结构,根据权限保存到规则数据库当中,为模型运行引擎提供动态注入条件,所以本实施例中的rete的实现可以被分为两部分:规则编译和运行时执行;规则编译是指根据规则集生成推理网络的过程,运行时执行指将数据送入推理网络进行筛选的过程。规则编译是根据规则文件推理生成网络的过程。
99.图7示出了本发明的一个具体的实施例的可视化rete树图,下面根据图7示出的可视化rete树图来阐述本实施例中rete的规则编译过程:
100.1、根节点(701)是所有对象进入网络的入口,然后进入到类型节点packet1(702)和类型节点packet2(703);
101.2、类型节点packet1(702)和类型节点packet2(703)就是我们的fact,也就是我们规则所用到的pojo;每个fact就是一个类型节点;在类型节点进行类型检查,引擎只让匹配object类型的对象到达节点,它能够传播到alpha节点(704)、beta节点的左端输入节点(705)和beta节点(706);
102.3、alpha节点(704)用来评估字面条件,例如字面条件:protocol="modbus",当一条规则有多条字面条件,这些字面条件被链接到一起,在alpha节点(704)的条件上添加另外一条规则operate=”遥控”(707);
103.4、beta节点(706)用来对2个对象进行对比、检查。这里约定:beta节点的2个输入称为左边(join node)和右边;左边通常是一个a list of objects,右边(notnode)通常是a single object;每个bate节点都有自己的终端节点等组成;beta节点具有记忆功能;左边的输入被称为beta memory,会记住所有到达过的语义;右边的输入成为alpha memory,会记住所有到达过的对象。因此,图中beta节点(706)的左端输入节点(705)的作用是将一个single object转化为一个单对象数组(single object tuple),传播到joinnode节点;因为我们上面提到过左边输入通常是a list of objects;
104.5、通过以上所述的节点最终到达终端节点(709和710):终端节点表示单条rule匹配了所有的条件,应当注意的是:网络中有多个终端节点,当单条规则中有“or”时,也会产生多个终端节点。
105.在具体的实施例中,所述将一个所述模式作为一个类型节点来构建rete树结构,从而以rete树结构来储存所述规则文本得到rete规则树,具体步骤包括:
106.步骤一:创建一个rete树结构的根节点;
107.步骤二:取出所述处理规则中的一个模式记为模式i,其中i为所述模式的序号且i={1,2,3

},检查所述模式i中的参数类型,若所述参数类型是新的fact类型,则在rete树结构中加入一个类型节点;
108.步骤三:将所述模式i对应的alpha节点记为节点alpha(i),检查所述节点alpha(i)是否已存在,若存在则记录所述节点alpha(i)的位置,若不存在则将所述模式i作为一个新的alpha节点加入到所述rete树结构中,再根据所述模式i建立对应的节点alpha(i)的alpha内存表;
109.步骤四:重复所述步骤二至所述步骤三并且每次重复后i加一,直到所有的模式被处理完毕;
110.步骤五:组合所述rete树结构的beta节点,具体包括以下步骤:
111.根据所述模式i,将所述模式i的beta节点记为节点beta(i);
112.当i=2时,使节点beta(2)的左输入节点为节点alpha(1)且右输入节点为节点alpha(2);
113.当i》2时,使节点beta(i)的左输入节点为节点beta(i-1)且右输入节点为节点alpha(i),并将所述节点beta(i)的两个父节点的内存表内联成为所述节点beta(i)的内存表;
114.步骤六:重复所述步骤五直到所有的beta节点都被处理完毕;
115.步骤七:将动作(then部分)封装成叶节点(action节点)作为所述节点beta(i)的输出节点;
116.步骤八:将最终得到的所述rete树结构作为rete规则树。
117.在以上的步骤中,例如处理规则为:(age》10,age《20),那么age》10就是一个模式,age《20就是另一个模式。
118.s4:从所述kafka消息队列中获取所述数据源并在内存中将所述数据源存储为事实/业务数据,从所述rete规则树的根节点开始将每个所述类型节点对应的模式与所述事实/业务数据进行匹配,若所述匹配的结果为相同,则把符合所述类型节点对应的模式的结果输出到外部进行存储。
119.在具体的实施例中,所述s4中,若所述匹配的结果不相同,执行以下步骤:
120.步骤a:将所述事实/业务数据传递到alpha节点,检测所述事实/业务数据是否与当前的alpha节点对应的模式相匹配,若是,则把符合当前的alpha节点对应的模式的结果输出到外部进行存储;
121.若否,则将所述事实/业务数据传递到下一个alpha节点并重复本步骤,若均无匹配,则执行步骤b和步骤c;
122.步骤b:将所述事实/业务数据传递到beta节点左端,再将所述事实/业务数据封装成仅包含一个事实/业务数据的列表,并将所述列表作为token;
123.步骤c:将所述事实/业务数据传递到beta节点的右端以及left存储区中的token进行匹配;
124.若匹配成功,则把符合当前的beta节点对应的模式的结果输出到外部进行存储;
125.若匹配不成功,则将所述事实/业务数据加入到token中,再将token传递到下一个节点并重复执行本步骤;
126.步骤d:当所述token被传递到最终的节点上,则把符合所述最终的节点对应的模式的结果输出到外部进行存储。
127.在本实施例中,利用规则执行引擎来实现s4中的步骤,图8示出了本发明的一个具体的实施例的规则执行引擎流程图。
128.图9示出了本发明的一个具体的实施例的系统整体架构图,如图9所示以网络流量、可视化可定义规则为基础,辅助规则构建模型及规则运行模型形成一套针对网络安全的检测系统。
129.本发明中的关键词说明:
130.1、端口镜像:为了方便对一个或多个网络接口的流量进行分析,可以通过配置交换机或路由器来把一个或多个端口(vlan)的数据转发到某一个端口,即端口镜像,来实现对网络的监听。
131.2、流量元数据:从pcap包或实时网络流量中提取元数据和指纹,包括但不限于五元组,源ip、目的ip、源端口、目的端口、源mac、目的mac等。
132.3、算子模型:在实际运行环境中,网络安全和实际业务息息相关,系统内置的算法规则不满足具体业务场景,算子模型的作用就是自定义算法并执行的一种规则设计,包括内置算子和自定义算子俩种。
133.4、ai模型:为了满足网络安全监测的特定需求,允许机器学习算法工程师通过配置规则的方式即可快速验证算法模型,无需编写任何程序代码。
134.5、rete算法:是一种高效的模式匹配算法用来实现产生式规则系统,rete算法通过规则条件生成了一个网络,每个规则条件是网络中的一个节点,rete可以被分为两部分:规则编译和运行时执行。规则编译是指根据规则集生成推理网络的过程,运行时执行指将数据送入推理网络进行筛选的过程。
135.6、数据下沉sink:负责把引擎处理后的数据输出到外部系统中。
136.7、wme:working memory element内存中存储的事实或业务数据。
137.本发明的方案具有以下优点和特性:
138.1)本发明提出的方法可以在不同的环境中迁移部署,可操作性强。
139.2)本案例实验结果表明,本引擎实时性高,稳定性强。
140.3)实现了可视化定义规则,内置算子和自定义算子结合,满足各种业务场景规则定义。
141.4)实现了ai计算模型无缝集成。
142.5)本引擎完全基于网络流量元数据分析,包括信息网络和工业网络。
143.6)本引擎对计算性能有一定的要求,在集群环境下运行为佳。
144.图10示出了本发明的一个实施例的一种基于网络流量元数据的复杂事件处理系统的框架图。该系统包括网络元数据解析模块1001、规则设计模块1002、规则树构建模块1003和元数据规则匹配模块1004。
145.在具体的实施例中,网络元数据解析模块1001被配置用于采集交换机镜像端口的网络流量元数据保存为pcap包,调用解析指令解析所述pcap包的详细信息获得解析结果,再将所述解析结果保存到kafka消息队列中作为数据源;
146.规则设计模块1002被配置用于通过具有可视化/图形化的界面的规则设计器,并基于算子模型预先设计复杂事件的处理规则,其中,复杂事件的所述处理规则和相应的处理资源按照权限进行分配,同时使用ai模型对所述分配的结果进行测试,将所述测试的结果保存为规则文本;
147.规则树构建模块1003被配置用于将所述规则文本中的复杂事件的所述处理规则分解为若干个最小的规则匹配项,将一个最小的规则匹配项作为一个模式,再将一个所述模式作为一个类型节点来构建rete树结构,从而以rete树结构来储存所述规则文本得到rete规则树,再根据权限将所述rete规则树保存到规则数据库当中;
148.元数据规则匹配模块1004被配置用于从所述kafka消息队列中获取所述数据源并在内存中将所述数据源存储为事实/业务数据,从所述rete规则树的根节点开始将每个所述类型节点对应的模式与所述事实/业务数据进行匹配,若所述匹配的结果为相同,则把符合所述类型节点对应的模式的结果输出到外部进行存储。
149.本系统采集交换机镜像端口的网络流量元数据保存为pcap包,调用解析指令解析pcap包的详细信息获得解析结果;通过具有可视化/图形化的界面的规则设计器,并基于算子模型预先设计复杂事件的处理规则,使用ai模型进行测试输出规则文本;利用rete树结构来储存规则文本得到rete规则树,再根据权限将rete规则树保存到规则数据库当中;从rete规则树的根节点开始将每个类型节点对应的模式与元数据生成的事实/业务数据进行匹配,把符合类型节点对应的模式的结果输出到外部进行存储。实现了人工预定义业务规则,集成了机器学习和人工智能模型,可从多方位多角度实现已知安全威胁检测及未知网络威胁感知。
150.下面参考图11,其示出了适于用来实现本技术实施例的电子设备的计算机系统1100的结构示意图。图11示出的电子设备仅仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
151.如图11所示,计算机系统1100包括中央处理单元(cpu)1101,其可以根据存储在只读存储器(rom)1102中的程序或者从存储部分1108加载到随机访问存储器(ram)1103中的程序而执行各种适当的动作和处理。在ram 1103中,还存储有系统1100操作所需的各种程序和数据。cpu 1101、rom 1102以及ram 1103通过总线1104彼此相连。输入/输出(i/o)接口1105也连接至总线1104。
152.以下部件连接至i/o接口1105:包括键盘、鼠标等的输入部分1106;包括诸如液晶显示器(lcd)等以及扬声器等的输出部分1107;包括硬盘等的存储部分1108;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分1109。通信部分1109经由诸如因特网的网络执行通信处理。驱动器1110也根据需要连接至i/o接口1105。可拆卸介质1111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1110上,以便于从其上读出的计算机程序根据需要被安装入存储部分1108。
153.特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1109从网络上被下载和安装,和/或从可拆卸介质1111被安装。在该计算机程序被中央处理单元(cpu)1101执行时,执行本技术的方法中限定的上述功能。需要说明的是,本技术所述的计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使
用。而在本技术中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读存储介质,该计算机可读存储介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
154.可以以一种或多种程序设计语言或其组合来编写用于执行本技术的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
155.附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
156.描述于本技术实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,并且这些单元的名称在某种情况下并不构成对该单元本身的限定。
157.本发明的实施例还涉及一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机处理器执行时实施上文中的方法。该计算机程序包含用于执行流程图所示的方法的程序代码。需要说明的是,本技术的计算机可读介质可以是计算机可读信号介质或者计算机可读介质或者是上述两者的任意组合。
158.本发明采集交换机镜像端口的网络流量元数据保存为pcap包,调用解析指令解析所述pcap包的详细信息获得解析结果;通过具有可视化/图形化的界面的规则设计器,并基于算子模型预先设计复杂事件的处理规则,使用ai模型进行测试输出规则文本;利用rete树结构来储存所述规则文本得到rete规则树,再根据权限将所述rete规则树保存到规则数据库当中;从所述rete规则树的根节点开始将每个所述类型节点对应的模式与所述元数据生成的事实/业务数据进行匹配,把符合所述类型节点对应的模式的结果输出到外部进行存储。既实现了人工预定义业务规则又集成了机器学习以及人工智能模型,可从多方位多角度实现已知安全威胁检测及未知网络威胁感知。
159.以上描述仅为本技术的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本技术中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本技术中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1