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

文档序号:29474893发布日期:2022-04-02 06:45阅读:来源:国知局

技术特征:
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加一,直到所有的模式被处理完毕;步骤五:组合所述rete树结构的beta节点,具体包括以下步骤:根据所述模式i,将所述模式i的beta节点记为节点beta(i);当i=2时,使节点beta(2)的左输入节点为节点alpha(1)且右输入节点为节点alpha(2);当i>2时,使节点beta(i)的左输入节点为节点beta(i-1)且右输入节点为节点alpha(i),并将所述节点beta(i)的两个父节点的内存表内联成为所述节点beta(i)的内存表;步骤六:重复所述步骤五直到所有的beta节点都被处理完毕;步骤七:将动作封装成叶节点作为所述节点beta(i)的输出节点;步骤八:将最终得到的所述rete树结构作为rete规则树。9.根据权利要求8所述的方法,其特征在于,所述s4中,若所述匹配的结果不相同,执行以下步骤:步骤a:将所述事实/业务数据传递到alpha节点,检测所述事实/业务数据是否与当前的alpha节点对应的模式相匹配,若是,则把符合当前的alpha节点对应的模式的结果输出到外部进行存储;若否,则将所述事实/业务数据传递到下一个alpha节点并重复本步骤,若均无匹配,则执行步骤b和步骤c;步骤b:将所述事实/业务数据传递到beta节点左端,再将所述事实/业务数据封装成仅包含一个事实/业务数据的列表,并将所述列表作为token;步骤c:将所述事实/业务数据传递到beta节点的右端以及left存储区中的token进行匹配;若匹配成功,则把符合当前的beta节点对应的模式的结果输出到外部进行存储;若匹配不成功,则将所述事实/业务数据加入到token中,再将token传递到下一个节点并重复执行本步骤;步骤d:当所述token被传递到最终的节点上,则把符合所述最终的节点对应的模式的结果输出到外部进行存储。10.根据权利要求1所述的方法,其特征在于,所述相应的处理资源包括所有请求的url。11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被计算机处理器执行时实施权利要求1至10中任一项所述的方法。12.一种基于网络流量元数据的复杂事件处理系统,其特征在于,包括:
网络元数据解析模块:配置用于采集交换机镜像端口的网络流量元数据保存为pcap包,调用解析指令解析所述pcap包的详细信息获得解析结果,再将所述解析结果保存到kafka消息队列中作为数据源;规则设计模块:配置用于通过具有可视化/图形化的界面的规则设计器,并基于算子模型预先设计复杂事件的处理规则,其中,复杂事件的所述处理规则和相应的处理资源按照权限进行分配,同时使用ai模型对所述分配的结果进行测试,将所述测试的结果保存为规则文本;规则树构建模块:配置用于将所述规则文本中的复杂事件的所述处理规则分解为若干个最小的规则匹配项,将一个最小的规则匹配项作为一个模式,再将一个所述模式作为一个类型节点来构建rete树结构,从而以rete树结构来储存所述规则文本得到rete规则树,再根据权限将所述rete规则树保存到规则数据库当中;元数据规则匹配模块:配置用于从所述kafka消息队列中获取所述数据源并在内存中将所述数据源存储为事实/业务数据,从所述rete规则树的根节点开始将每个所述类型节点对应的模式与所述事实/业务数据进行匹配,若所述匹配的结果为相同,则把符合所述类型节点对应的模式的结果输出到外部进行存储。

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


技术研发人员:孙俊虎 闫印强 赵威
受保护的技术使用者:长扬科技(北京)有限公司
技术研发日:2021.11.26
技术公布日:2022/4/1
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1