规则匹配方法和装置、计算机可读存储介质制造方法及图纸

技术编号:35998121 阅读:17 留言:0更新日期:2022-12-17 23:15
本公开涉及一种规则匹配方法和装置、计算机可读存储介质。该规则匹配方法包括:对规则进行读取和预处理;构建规则分解大顶堆模型;采用规则分解大顶堆模型,对流量数据和安全规则进行匹配;根据流量数据的匹配情况,更新规则分解大顶堆模型的规则权重。本公开能够对大量规则进行分解和表示以及数据与规则匹配,输出准确的安全告警事件。出准确的安全告警事件。出准确的安全告警事件。

【技术实现步骤摘要】
规则匹配方法和装置、计算机可读存储介质


[0001]本公开涉及安全领域,特别涉及一种规则匹配方法和装置、计算机可读存储介质。

技术介绍

[0002]安全事件检测是安全告警和处置的基础。安全研究人员将规则提取成正则表达式,用于匹配网络流量数据,识别和输出告警事件。相关技术目前安全事件检测的方法一般是:对于一条待检测流量,遍历所有规则分别匹配得出结果,将所命中规则的事件信息输出,这种方式不能高效地解决大规模安全规则与安全数据的匹配问题。

技术实现思路

[0003]鉴于以上技术问题中的至少一项,本公开提供了一种规则匹配方法和装置、计算机可读存储介质,能够对大量规则进行分解和表示以及数据与规则匹配,输出准确的安全告警事件。
[0004]根据本公开的一个方面,提供一种规则匹配方法,包括:
[0005]对规则进行读取和预处理;
[0006]构建规则分解大顶堆模型;
[0007]采用规则分解大顶堆模型,对流量数据和安全规则进行匹配;
[0008]根据流量数据的匹配情况,更新规则分解大顶堆模型的规则权重。
[0009]在本公开的一些实施例中,所述对规则进行读取和预处理包括:
[0010]从规则库中读取规则集合,其中,规则的属性包括规则标识、正则表达式字符串和事件类型编码,事件类型编码用于标记规则对应的事件类型;
[0011]根据事件类型编码对规则集合进行分类;
[0012]对每个事件类型编码所属规则集合初始化一个相同权值;
[0013]将每个事件类型编码所属规则集合的正则文本进行文本分词处理,去重后用特定符合连接起来,作为该所属规则集合的前置条件正则表达式。
[0014]在本公开的一些实施例中,所述构建规则分解大顶堆模型包括:
[0015]构建规则分解大顶堆模型,其中,规则分解大顶堆模型包括三层架构,其中:
[0016]第一层为模型根结点,模型根结点为输入节点,采用规则分解树对象标识;
[0017]第二层为事件类型编码结点,为每个事件类型编码创建一个事件类型编码结点,将该所属规则集合的前置条件正则表达式作为该事件类型编码结点的正则表达式;
[0018]第三层为一个由所属规则集合形成的大顶堆,所述大顶堆连接在事件类型编码结点的下游,为每个规则创建一个规则结点,通过堆排序算法根据规则的权值构建成大顶堆。
[0019]在本公开的一些实施例中,所述采用规则分解大顶堆模型,对流量数据和安全规则进行匹配包括:
[0020]从原始数据表中读取分析时间范围内的流量数据,遍历每一条流量数据;
[0021]针对每一条流量数据,使用规则分解大顶堆模型进行规则匹配。
[0022]在本公开的一些实施例中,所述针对每一条流量数据,使用规则分解大顶堆模型进行规则匹配包括:
[0023]针对每一条流量数据,将该流量数据传递到事件类型编码结点层;
[0024]遍历所有事件类型编码结点,判断流量数据是否命中一个事件类型编码结点;
[0025]在流量数据命中一个事件类型编码结点的情况下,将该流量数据传递到大顶堆根结点,以广度优先遍历的方式与大顶堆中的规则子集进行匹配;
[0026]在该流量数据命中规则子集中一个规则的情况下,终止该条数据的匹配过程,将该流量数据缓存到所命中的规则结点的匹配结果缓存中。
[0027]在本公开的一些实施例中,所述规则匹配方法还包括:
[0028]在一个规则结点的匹配结果缓存中所缓存的数据量大于预定阈值的情况下,将产生的一批安全事件数据存入时间结果数据库。
[0029]在本公开的一些实施例中,所述根据流量数据的匹配情况,更新规则分解大顶堆模型的规则权重包括:
[0030]在匹配完批量流量数据的情况下,根据该批次流量数据的匹情况更新规则分解大顶堆模型的规则权重;
[0031]利用堆排序的方式根据新权重参数重新调节大顶堆的结点排列。
[0032]在本公开的一些实施例中,所述根据该批次流量数据的匹情况更新规则分解大顶堆模型的规则权重包括:
[0033]针对每一个规则结点,根据数据命中该规则的概率、该规则的平均匹配时长、和该规则正则表达式的字符串长度,确定该规则的变化向量;
[0034]根据该规则的变化向量、所有规则的变化向量的和、更新前该规则的规则权重,确定该规则更新后的规则权重。
[0035]在本公开的一些实施例中,所述规则匹配方法还包括:
[0036]通过序列化的方式将规则分解大顶堆模型编码成二进制数据,存储到模型文件中;
[0037]在下次使用时规则集合没有变动的情况下,直接从模型文件恢复整个规则分解大顶堆模型到内存中。
[0038]根据本公开的另一方面,提供一种规则匹配装置,包括:
[0039]规则读取模块,被配置为对规则进行读取和预处理;
[0040]模型构建模块,被配置为构建规则分解大顶堆模型;
[0041]规则匹配模块,被配置为采用规则分解大顶堆模型,对流量数据和安全规则进行匹配;
[0042]权重更新模块,被配置为根据流量数据的匹配情况,更新规则分解大顶堆模型的规则权重。
[0043]在本公开的一些实施例中,规则读取模块,被配置为从规则库中读取规则集合,其中,规则的属性包括规则标识、正则表达式字符串和事件类型编码,事件类型编码用于标记规则对应的事件类型;根据事件类型编码对规则集合进行分类;对每个事件类型编码所属规则集合初始化一个相同权值;将每个事件类型编码所属规则集合的正则文本进行文本分词处理,去重后用特定符合连接起来,作为该所属规则集合的前置条件正则表达式。
[0044]在本公开的一些实施例中,模型构建模块,被配置为构建规则分解大顶堆模型,其中,规则分解大顶堆模型包括三层架构,其中:第一层为模型根结点,模型根结点为输入节点,采用规则分解树对象标识;第二层为事件类型编码结点,为每个事件类型编码创建一个事件类型编码结点,将该所属规则集合的前置条件正则表达式作为该事件类型编码结点的正则表达式;第三层为一个由所属规则集合形成的大顶堆,所述大顶堆连接在事件类型编码结点的下游,为每个规则创建一个规则结点,通过堆排序算法根据规则的权值构建成大顶堆。
[0045]在本公开的一些实施例中,规则匹配模块,被配置为从原始数据表中读取分析时间范围内的流量数据,遍历每一条流量数据;针对每一条流量数据,使用规则分解大顶堆模型进行规则匹配。
[0046]在本公开的一些实施例中,规则匹配模块,在针对每一条流量数据,使用规则分解大顶堆模型进行规则匹配的情况下,被配置为针对每一条流量数据,将该流量数据传递到事件类型编码结点层;遍历所有事件类型编码结点,判断流量数据是否命中一个事件类型编码结点;在流量数据命中一个事件类型编码结点的情况下,将该流量数据传递到大顶堆根结点,以广度优先遍历的方式与大顶堆中的规则子集进行匹配;在该流量数据命中规则子集中一个本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种规则匹配方法,包括:对规则进行读取和预处理;构建规则分解大顶堆模型;采用规则分解大顶堆模型,对流量数据和安全规则进行匹配;根据流量数据的匹配情况,更新规则分解大顶堆模型的规则权重。2.根据权利要求1所述的规则匹配方法,其中,所述对规则进行读取和预处理包括:从规则库中读取规则集合,其中,规则的属性包括规则标识、正则表达式字符串和事件类型编码,事件类型编码用于标记规则对应的事件类型;根据事件类型编码对规则集合进行分类;对每个事件类型编码所属规则集合初始化一个相同权值;将每个事件类型编码所属规则集合的正则文本进行文本分词处理,去重后用特定符合连接起来,作为该所属规则集合的前置条件正则表达式。3.根据权利要求2所述的规则匹配方法,其中,所述构建规则分解大顶堆模型包括:构建规则分解大顶堆模型,其中,规则分解大顶堆模型包括三层架构,其中:第一层为模型根结点,模型根结点为输入节点,采用规则分解树对象标识;第二层为事件类型编码结点,为每个事件类型编码创建一个事件类型编码结点,将该所属规则集合的前置条件正则表达式作为该事件类型编码结点的正则表达式;第三层为一个由所属规则集合形成的大顶堆,所述大顶堆连接在事件类型编码结点的下游,为每个规则创建一个规则结点,通过堆排序算法根据规则的权值构建成大顶堆。4.根据权利要求3所述的规则匹配方法,其中,所述采用规则分解大顶堆模型,对流量数据和安全规则进行匹配包括:从原始数据表中读取分析时间范围内的流量数据,遍历每一条流量数据;针对每一条流量数据,使用规则分解大顶堆模型进行规则匹配。5.根据权利要求4所述的规则匹配方法,其中,所述针对每一条流量数据,使用规则分解大顶堆模型进行规则匹配包括:针对每一条流量数据,将该流量数据传递到事件类型编码结点层;遍历所有事件类型编码结点,判断流量数据是否命中一个事件类型编码结点;在流量数据命中一个事件类型编码结点的情况下,将该流量数据传递到大顶堆根结点,以广度优先遍历的方式与大顶堆中的规则子集进行匹配;在该流量数据命中规则子集中一个规则的情况下,终止该条数据的匹配过程,将该流量数据缓存到所命中的规则结点的匹配结果缓存中。6.根据权利要求5所述的规则匹配方法,还包括:在一个规则结点的匹配结果缓存中所缓存的数据量大于预定阈值的情况下,将产生的一批安全事件数据存入时间结果数据库。7.根据权利要求1

6中任一项所述的规则匹配方法,其中,所述根据流量数据的匹配情况,更新规则分解大顶堆模型的规则权重包括:在匹配完批量流量数据的情况下,根据该批次流量数据的匹情况更新规则分解大顶堆模型的规则权重;利用堆排序的方式根据新权重参数重新调节大顶堆的结点排列。
8.根据权利要求7所述的规则匹配方法,其中,所述根据该批次流量数据的匹情况更新规则分解大顶堆模型的规则权重包括:针对每一个规则结点,根据数据命中该规则的概率、该规则的平均匹配时长、和该规则正则表达式的字符串长度,确定该规则的变化向量;根据该规则的变化向量、所有规则的变化向量的和、更新前该规则的规则权重,确定该规则更新后的规则权重。9.根据权利要求1

6中任一项所述的规则匹配方法,还包括:通过序列化的方式将规则分解大顶堆模型编码成二进制数据,存储到模型文件中;在下次使用时规则集合没有变动的情况下,直接从模型文件恢复整个规则分解大顶堆模型到内存中。10.一种规则匹配装置,包括:规则读取模块,被配置为对规则进行读取和预处理;模型构建模块,被配置为构建规则分解大顶堆模型;规则匹配模块,被配置为采用规则分解大顶堆模型,对流量数据和安全规则进行匹配;权重更新模块,被配置为根据...

【专利技术属性】
技术研发人员:谢泳刘亚天呼博文汪来富
申请(专利权)人:中国电信股份有限公司
类型:发明
国别省市:

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

1