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

技术编号:32874499 阅读:23 留言:0更新日期:2022-04-02 12:05
本发明专利技术给出了一种基于网络流量元数据的复杂事件处理方法与系统,包括采集交换机镜像端口的网络流量元数据保存为pcap包,调用解析指令解析pcap包的详细信息获得解析结果;通过具有可视化/图形化的界面的规则设计器,并基于算子模型预先设计复杂事件的处理规则,使用AI模型进行测试输出规则文本;利用rete树结构来储存规则文本得到rete规则树,再根据权限将rete规则树保存到规则数据库当中;从rete规则树的根节点开始将每个类型节点对应的模式与元数据生成的事实/业务数据进行匹配,把符合类型节点对应的模式的结果输出到外部进行存储。实现了人工预定义业务规则,集成了机器学习和人工智能模型,可从多方位多角度实现已知安全威胁检测及未知网络威胁感知。安全威胁检测及未知网络威胁感知。安全威胁检测及未知网络威胁感知。

【技术实现步骤摘要】
一种基于网络流量元数据的复杂事件处理方法与系统


[0001]本专利技术涉及网络安全
,尤其是一种基于网络流量元数据的复杂事件处理方法与系统。

技术介绍

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

技术实现思路

[0008]本专利技术提出了一种基于网络流量元数据的复杂事件处理方法与系统,以解决上文提到的现有技术的缺陷。
[0009]在一个方面,本专利技术提出了一种基于网络流量元数据的复杂事件处理方法,该方法包括以下步骤:
[0010]S1:采集交换机镜像端口的网络流量元数据保存为pcap包,调用解析指令解析所述pcap包的详细信息获得解析结果,再将所述解析结果保存到Kafka消息队列中作为数据源;
[0011]S2:通过具有可视化/图形化的界面的规则设计器,并基于算子模型预先设计复杂事件的处理规则,其中,复杂事件的所述处理规则和相应的处理资源按照权限进行分配,同时使用AI模型对所述分配的结果进行测试,将所述测试的结果保存为规则文本;
[0012]S3:将所述规则文本中的复杂事件的所述处理规则分解为若干个最小的规则匹配项,将一个最小的规则匹配项作为一个模式,再将一个所述模式作为一个类型节点来构建rete树结构,从而以rete树结构来储存所述规则文本得到rete规则树,再根据权限将所述rete规则树保存到规则数据库当中;
[0013]S4:从所述Kafka消息队列中获取所述数据源并在内存中将所述数据源存储为事实/业务数据,从所述rete规则树的根节点开始将每个所述类型节点对应的模式与所述事实/业务数据进行匹配,若所述匹配的结果为相同,则把符合所述类型节点对应的模式的结果输出到外部进行存储。
[0014]以上方法在Flink及Esper的CEP引擎基础上推出了一种全新的CEP引擎,通过网络流量元数据回溯分析数据包特征、异常网络行为,实时检测网络攻击并发现潜伏已久的高级未知攻击。本引擎由数据源(Source),复杂事件引擎(Sandbox),数据下沉(Sink)三部分组成。数据源(Source)来源于Kafka流量元数据Topic,复杂事件引擎(Sandbox)由动态多级规则流、自定义算子、流式统计与机器学习构成,数据下沉(Sink)到Kafka事件Topic。本专利技术既可以实现由业务专家预定义业务规则又可以集成执行机器学习、人工智能模型并且采用实时流式计算构建多元化算子能力,多方位多角度实现已知安全威胁检测及未知网络威胁感知。
[0015]在具体的实施例中,所述采集交换机镜像端口的数据保存为pcap包的步骤包括:
[0016]启动主服务监听端口配置,再从数据库中查询镜像端口的配置,在各个镜像端口配置抓包程序参数并采集数据。
[0017]在具体的实施例中,所述调用解析指令解析所述pcap包的详细信息获得解析结果,再将所述解析结果保存到Kafka消息队列中作为数据源,具体步骤包括:
[0018]监听所述Kafka消息队列,判断是否有所述pcap包生成;
[0019]若是,则获取所述所述pcap包的文件名,再调用解析指令解析所述pcap包中的所述网络流量元数据并将解析结果写入Kafka元数据Topic;
[0020]若否,则继续监听所述Kafka消息队列。
[0021]在具体的实施例中,所述算子模型具体包括:内置算子和自定义算子。
[0022]在具体的实施例中,所述具有可视化/图形化的界面的规则设计器包括:
[0023]用于通过鼠标点击来对所述处理规则进行定义的可视化/图形化的界面;
[0024]用于对所述处理规则进行多条件组合并以图形方式进行展示的可视化/图形化的界面。基于以上方法,利用鼠标点击即可实现复杂的业务处理规则定义,规则的多条件组合也是以图形方式展现,这样即使没有任何编程经验的普通业务人员,也可以轻松上手,完成复杂业务处理规则的定义。因为所有的业务处理规则设计器都是基于网页的,且规则的定义都是通过鼠标点击的方式完成,所以对于一个普通的使用者来说,对各种设计器的使用入门门槛极低,很容易结合业务需要定义出想要的业务处理规则。
[0025]在具体的实施例中,所述测试包括:快速测试、仿真测试以及Rest服务测试。
[0026]在具体的实施例中,所述处理规则包括:向导式规则和脚本式规则。
[0027]在具体的实施例中,所述将一个所述模式作为一个类型节点来构建rete树结构,从而以rete树结构来储存所述规则文本得到rete规则树,具体步骤包括:
[0028]步骤一:创建一个rete树结构的根节点;
[0029]步骤二:取出所述处理规则中的一个模式记为模式i,其中i为所述模式的序号且i={1,2,3

},检查所述模式i中的参数类型,若所述参数类型是新的fact类型,则在rete树结构中加入一个类型节点;
[0030]步骤三:将所述模式i对应的Alpha节点记为节点Alpha(i),检查所述节点Alpha(i)是否已存在,若存在则记录所述节点Alpha(i)的位置,若不存在则将所述模式i作为一个新的Alpha节点加入到所述rete树结构中,再根据所述模式i建立对应的节点Alpha(i)的Alpha内存表;
[0031]步骤四:重复所述步骤二至所述步骤三并且每次重复后i加一,直到所有的模式被处理完毕;
[0032]步骤五:组合所述rete树结构的Beta节点,具体包括以下步骤:
[0本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于网络流量元数据的复杂事件处理方法,其特征在于,包括以下步骤:S1:采集交换机镜像端口的网络流量元数据保存为pcap包,调用解析指令解析所述pcap包的详细信息获得解析结果,再将所述解析结果保存到Kafka消息队列中作为数据源;S2:通过具有可视化/图形化的界面的规则设计器,并基于算子模型预先设计复杂事件的处理规则,其中,复杂事件的所述处理规则和相应的处理资源按照权限进行分配,同时使用AI模型对所述分配的结果进行测试,将所述测试的结果保存为规则文本;S3:将所述规则文本中的复杂事件的所述处理规则分解为若干个最小的规则匹配项,将一个最小的规则匹配项作为一个模式,再将一个所述模式作为一个类型节点来构建rete树结构,从而以rete树结构来储存所述规则文本得到rete规则树,再根据权限将所述rete规则树保存到规则数据库当中;S4:从所述Kafka消息队列中获取所述数据源并在内存中将所述数据源存储为事实/业务数据,从所述rete规则树的根节点开始将每个所述类型节点对应的模式与所述事实/业务数据进行匹配,若所述匹配的结果为相同,则把符合所述类型节点对应的模式的结果输出到外部进行存储。2.根据权利要求1所述的方法,其特征在于,所述采集交换机镜像端口的数据保存为pcap包的步骤包括:启动主服务监听端口配置,再从数据库中查询镜像端口的配置,在各个镜像端口配置抓包程序参数并采集数据。3.根据权利要求1所述的方法,其特征在于,所述调用解析指令解析所述pcap包的详细信息获得解析结果,再将所述解析结果保存到Kafka消息队列中作为数据源,具体步骤包括:监听所述Kafka消息队列,判断是否有所述pcap包生成;若是,则获取所述所述pcap包的文件名,再调用解析指令解析所述pcap包中的所述网络流量元数据并将解析结果写入Kafka元数据Topic;若否,则继续监听所述Kafka消息队列。4.根据权利要求1所述的方法,其特征在于,所述算子模型具体包括:内置算子和自定义算子。5.根据权利要求1所述的方法,其特征在于,所述具有可视化/图形化的界面的规则设计器包括:用于通过鼠标点击来对所述处理规则进行定义的可视化/图形化的界面;用于对所述处理规则进行多条件组合并以图形方式进行展示的可视化/图形化的界面。6.根据权利要求1所述的方法,其特征在于,所述测试包括:快速测试、仿真测试以及Rest服务测试。7.根据权利要求1所述的方法,其特征在于,所述处理规则包括:向导式规则和脚本式规则。8.根据权利要求1所述的方法,其特征在于,所述将一个所述模式作为一个类型节点来构建rete树结构,从而以rete树结构来储存所述规则文本得到rete规则树,具体步骤包括:步骤一:创建一个rete树结构的根节点;
步骤二:取出所述处理规则中的一个模式记为模式i,其中i为所述模式的序号且i={1,2,3

},检查所述模式i中的参数类型,若所述参数类型是新的fact类型,则在rete树结构中加入一个类型节点;步骤三:将所述模式i对应的Alpha节点记为节点Alpha(i),检查所述节点Alpha(i)是否已存在,若存在则记录所述节点Alpha(i)的位置,若不存在则将所述模式i作为一个新的Alpha节点加入到所述rete树结构中,再根据所述模式i建立对应的节点Alpha(i)的Alpha内存表;步骤四:重复所述步骤二至所述步骤三并且每次重复后i加一...

【专利技术属性】
技术研发人员:孙俊虎闫印强赵威
申请(专利权)人:长扬科技北京有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1