一种深度威胁识别实时引擎的实现方法及系统技术方案

技术编号:22642671 阅读:37 留言:0更新日期:2019-11-26 16:23
本发明专利技术公开了一种深度威胁识别实时引擎的实现方法及系统,此方法包括:解析业务规则,所述业务规则为一中缀表达式;将所述中缀表达式转换为逆波兰式,将所述逆波兰式的元素存储于数组中;接收待处理的特征向量,针对所述特征向量循环执行以下内容直至从堆栈中弹出最后一个数据并将此数据作为对所述特征向量的处理结果:从所述数据组中获取一元素,如果此元素为变量,从所述特征向量中查找到此变量的值,将此值压入堆栈,如果此元素为常量,将此常量压入所述堆栈,如果此元素为运算符,从所述堆栈弹出两个运算数据,对所述两个运算数据进行所述运算符对应的运算,将运算得到的结果压入所述堆栈。本发明专利技术可以提高规则引擎的处理效率。

Implementation method and system of a real-time engine for deep threat identification

The invention discloses an implementation method and system of a real-time engine for deep threat identification, the method comprises: parsing a business rule, wherein the business rule is a infix expression; converting the infix expression to an inverse Polish expression, storing the elements of the inverse Polish expression in an array; receiving the feature vector to be processed, executing the following contents for the feature vector loop until Pop the last data from the stack as the result of processing the feature vector: get an element from the data group, if the element is a variable, find the value of the variable from the feature vector, push the value into the stack, if the element is a constant, push the constant into the stack, if the element is an operator, pop the stack Two operation data, performing the operation corresponding to the operator on the two operation data, and pushing the result of the operation into the stack. The invention can improve the processing efficiency of the rule engine.

【技术实现步骤摘要】
一种深度威胁识别实时引擎的实现方法及系统
本专利技术涉及互联网
,尤其涉及一种深度威胁识别实时引擎的实现方法及系统。
技术介绍
深度威胁识别系统-实时引擎(advancedthreatdetection–realtimeengine,简称Atd-rte)Atd-rt的主要工作有两方面,第一是特征向量计算,主要是根据输入日志来计算特征向量,此特征向量一般为用户特征向量。第二是规则引擎,通过业务规则判断一个客户(可以用一个IP地址标识一个客户)是否有威胁行为。例如,一个ip的特征向量如下:{"domain.pv":1.3461538461538463,"clientIP.pv":120.0,"clientIP.uriStaticCount":0.0,"clientIP.requestPath.most":0.175,"clientIP.requestPath.uniq":100.0,"clientIP.requestPath.mrr":0.2857142857142857,"clientIP.requestPath.mstr":"/hehetest","clientIP":"220.8.2.1"}业务规则如下:clientIP.pv>100andclientIP.pv>domain.pv*2and(clientIP.uriStaticCount/clientIP.pv<0.4orclientIP.requestPath.uniq<domain.requestPath.uniq)通过规则引擎可以通过上述业务规则和上述ip的特征向量判断出这个ip是否执行危险行为。现有的规则引擎使用以下方法进行处理:解析业务规则,将业务规则中的变量替换为所述IP特征向量中此变量对应的具体值,获得一个不含有变量的中缀表达式,计算这个中缀表达式的值,将计算得到的中缀表达式的值作为计算结果。上述使用中缀表达式的计算方式需要耗费较多的计算量,尤其是在业务规则较多并且需处理的IP特征向量为大型数据时,如何提高规则引擎的处理效率是需要解决的技术问题。
技术实现思路
为了解决上述技术问题,本专利技术提供了一种深度威胁识别实时引擎的实现方法及系统。本专利技术提供的一种深度威胁识别实时引擎的实现方法,包括:解析业务规则,所述业务规则为一中缀表达式;将所述中缀表达式转换为逆波兰式,将所述逆波兰式的元素存储于数组中;接收待处理的特征向量,针对所述特征向量循环执行以下内容直至从堆栈中弹出最后一个数据并将此数据作为对所述特征向量的处理结果:从所述数据组中获取一元素,如果此元素为变量,从所述特征向量中查找到此变量的值,将此值压入堆栈,如果此元素为常量,将此常量压入所述堆栈,如果此元素为运算符,从所述堆栈弹出两个运算数据,对所述两个运算数据进行所述运算符对应的运算,将运算得到的结果压入所述堆栈。本专利技术提供的另一种深度威胁识别实时引擎的实现方法,包括:解析业务规则,所述业务规则为一中缀表达式;将所述中缀表达式转换为逆波兰式,将所述逆波兰式的元素存储于数组中;接收待处理的N个特征向量,N为大于1的整数;针对每个特征向量循环执行以下内容直至从堆栈中弹出最后一个数据并将此数据作为对所述特征向量的处理结果:从所述数据组中获取一元素,如果此元素为变量,从所述特征向量中查找到此变量的值,将此值压入堆栈,如果此元素为常量,将此常量压入所述堆栈,如果此元素为运算符,从所述堆栈弹出两个运算数据,对所述两个运算数据进行所述运算符对应的运算,将运算得到的结果压入所述堆栈。本专利技术提供的另一种深度威胁识别实时引擎的实现方法,包括:接收待处理的N个特征向量,N为大于1的整数;解析业务规则,所述业务规则为一中缀表达式;将所述中缀表达式转换为逆波兰式,将所述逆波兰式的元素存储于数组中;针对每个特征向量循环执行以下内容直至从堆栈中弹出最后一个数据并将此数据作为对所述特征向量的处理结果:从所述数据组中获取一元素,如果此元素为变量,从所述特征向量中查找到此变量的值,将此值压入堆栈,如果此元素为常量,将此常量压入所述堆栈,如果此元素为运算符,从所述堆栈弹出两个运算数据,对所述两个运算数据进行所述运算符对应的运算,将运算得到的结果压入所述堆栈。本专利技术提供的另一种深度威胁识别实时引擎的实现方法,包括:接收待处理的N个特征向量和一个业务规则,N为大于1的整数,所述业务规则为一中缀表达式;解析所述业务规则;将所述中缀表达式转换为逆波兰式,将所述逆波兰式的元素存储于数组中;针对每个特征向量循环执行以下内容直至从堆栈中弹出最后一个数据并将此数据作为对所述特征向量的处理结果:从所述数据组中获取一元素,如果此元素为变量,从所述特征向量中查找到此变量的值,将此值压入堆栈,如果此元素为常量,将此常量压入所述堆栈,如果此元素为运算符,从所述堆栈弹出两个运算数据,对所述两个运算数据进行所述运算符对应的运算,将运算得到的结果压入所述堆栈。本专利技术提供的另一种深度威胁识别实时引擎的实现方法,包括:接收待处理的N个特征向量和M个业务规则,N和M均为大于1的整数,所述业务规则为一中缀表达式;针对每个业务规则执行以下操作:解析所述业务规则;将所述中缀表达式转换为逆波兰式,将所述逆波兰式的元素存储于数组中;针对每个特征向量循环执行以下内容直至从堆栈中弹出最后一个数据并将此数据作为使用所述业务规则对所述特征向量的处理结果:从所述数据组中获取一元素,如果此元素为变量,从所述特征向量中查找到此变量的值,将此值压入堆栈,如果此元素为常量,将此常量压入所述堆栈,如果此元素为运算符,从所述堆栈弹出两个运算数据,对所述两个运算数据进行所述运算符对应的运算,将运算得到的结果压入所述堆栈。本专利技术提供的一种深度威胁识别实时引擎的实现系统,包括:解析模块,用于解析业务规则,所述业务规则为一中缀表达式;转换模块,将所述中缀表达式转换为逆波兰式,将所述逆波兰式的元素存储于数组中;接收模块,用于接收待处理的特征向量;处理模块,针对所述特征向量循环执行以下内容直至从堆栈中弹出最后一个数据并将此数据作为对所述特征向量的处理结果:从所述数据组中获取一元素,如果此元素为变量,从所述特征向量中查找到此变量的值,将此值压入堆栈,如果此元素为常量,将此常量压入所述堆栈,如果此元素为运算符,从所述堆栈弹出两个运算数据,对所述两个运算数据进行所述运算符对应的运算,将运算得到的结果压入所述堆栈。本专利技术提供的另一种深度威胁识别实时引擎的实现系统,包括:解析模块,用于解析业务规则,所述业务规则为一中缀表达式;转换模块,用于将所述中缀表达式转换为逆波兰式,将所述逆波兰式的元素存储于数组中;接收模块,用于接收待处理的N个特征向量,N为大于1的整数;处理模块,用于本文档来自技高网
...

【技术保护点】
1.一种深度威胁识别实时引擎的实现方法,其特征在于,包括:/n解析业务规则,所述业务规则为一中缀表达式;/n将所述中缀表达式转换为逆波兰式,将所述逆波兰式的元素存储于数组中;/n接收待处理的特征向量,针对所述特征向量循环执行以下内容直至从堆栈中弹出最后一个数据并将此数据作为对所述特征向量的处理结果:从所述数据组中获取一元素,如果此元素为变量,从所述特征向量中查找到此变量的值,将此值压入堆栈,如果此元素为常量,将此常量压入所述堆栈,如果此元素为运算符,从所述堆栈弹出两个运算数据,对所述两个运算数据进行所述运算符对应的运算,将运算得到的结果压入所述堆栈。/n

【技术特征摘要】
1.一种深度威胁识别实时引擎的实现方法,其特征在于,包括:
解析业务规则,所述业务规则为一中缀表达式;
将所述中缀表达式转换为逆波兰式,将所述逆波兰式的元素存储于数组中;
接收待处理的特征向量,针对所述特征向量循环执行以下内容直至从堆栈中弹出最后一个数据并将此数据作为对所述特征向量的处理结果:从所述数据组中获取一元素,如果此元素为变量,从所述特征向量中查找到此变量的值,将此值压入堆栈,如果此元素为常量,将此常量压入所述堆栈,如果此元素为运算符,从所述堆栈弹出两个运算数据,对所述两个运算数据进行所述运算符对应的运算,将运算得到的结果压入所述堆栈。


2.一种深度威胁识别实时引擎的实现方法,其特征在于,包括:
解析业务规则,所述业务规则为一中缀表达式;
将所述中缀表达式转换为逆波兰式,将所述逆波兰式的元素存储于数组中;
接收待处理的N个特征向量,N为大于1的整数;
针对每个特征向量循环执行以下内容直至从堆栈中弹出最后一个数据并将此数据作为对所述特征向量的处理结果:从所述数据组中获取一元素,如果此元素为变量,从所述特征向量中查找到此变量的值,将此值压入堆栈,如果此元素为常量,将此常量压入所述堆栈,如果此元素为运算符,从所述堆栈弹出两个运算数据,对所述两个运算数据进行所述运算符对应的运算,将运算得到的结果压入所述堆栈。


3.一种深度威胁识别实时引擎的实现方法,其特征在于,包括:
接收待处理的N个特征向量,N为大于1的整数;
解析业务规则,所述业务规则为一中缀表达式;
将所述中缀表达式转换为逆波兰式,将所述逆波兰式的元素存储于数组中;
针对每个特征向量循环执行以下内容直至从堆栈中弹出最后一个数据并将此数据作为对所述特征向量的处理结果:从所述数据组中获取一元素,如果此元素为变量,从所述特征向量中查找到此变量的值,将此值压入堆栈,如果此元素为常量,将此常量压入所述堆栈,如果此元素为运算符,从所述堆栈弹出两个运算数据,对所述两个运算数据进行所述运算符对应的运算,将运算得到的结果压入所述堆栈。


4.一种深度威胁识别实时引擎的实现方法,其特征在于,包括:
接收待处理的N个特征向量和一个业务规则,N为大于1的整数,所述业务规则为一中缀表达式;
解析所述业务规则;
将所述中缀表达式转换为逆波兰式,将所述逆波兰式的元素存储于数组中;
针对每个特征向量循环执行以下内容直至从堆栈中弹出最后一个数据并将此数据作为对所述特征向量的处理结果:从所述数据组中获取一元素,如果此元素为变量,从所述特征向量中查找到此变量的值,将此值压入堆栈,如果此元素为常量,将此常量压入所述堆栈,如果此元素为运算符,从所述堆栈弹出两个运算数据,对所述两个运算数据进行所述运算符对应的运算,将运算得到的结果压入所述堆栈。


5.一种深度威胁识别实时引擎的实现方法,其特征在于,包括:
接收待处理的N个特征向量和M个业务规则,N和M均为大于1的整数,所述业务规则...

【专利技术属性】
技术研发人员:汪海丛磊
申请(专利权)人:北京数安鑫云信息技术有限公司
类型:发明
国别省市:北京;11

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

1