[发明专利]基于自动机的物联网设备流量建模、检测方法和装置有效
申请号: | 202110064051.0 | 申请日: | 2021-01-18 |
公开(公告)号: | CN112737865B | 公开(公告)日: | 2022-05-03 |
发明(设计)人: | 杨家海;段晨鑫;王之梁;张辉 | 申请(专利权)人: | 清华大学 |
主分类号: | H04L41/14 | 分类号: | H04L41/14;H04L9/40;H04L41/06 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙) 11201 | 代理人: | 韩海花 |
地址: | 10008*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 自动机 联网 设备 流量 建模 检测 方法 装置 | ||
1.一种基于自动机的物联网设备流量建模方法,其特征在于,包括以下步骤:
采集待监控的物联网设备在各个工作状态的正常流量,生成原始流量集合;
对所述原始流量集合中每条通信数据流进行汇编,生成多棵流树,并对所述多棵流树进行合并,生成联合流树,其中,对所述原始流量集合中每条通信数据流进行汇编,生成多棵流树,包括:获取每条通信数据流的标识符,在流树的根节点标注所述每条通信数据流的标识符;获取每条通信数据流的通信报文的长度与方向二元组,在流树的非根节点标注所述每条通信数据流的通信报文的长度与方向二元组;在流树的边上标注两个连续的报文序列的出现次数,以及将所述通信数据流中相同的前缀序列合并为相同的节点表示,生成所述多棵流树;
对所述多棵流树进行合并,生成联合流树,包括:计算不同流树之间的相似性度量值;若所述相似性度量值小于预设阈值,则将所述相似性度量值对应的两棵流树进行合并,生成所述联合流树,其中,所述计算不同流树之间的相似性度量值包括:将一棵流树上的报文视为一个离散随机变量,以频率估计概率的方式计算出其概率分布,由Hellinger距离计算不同流树之间的相似性度量值,Hellinger距离的定义如下:
对所述联合流树中的通信数据流进行缩减处理后,将所述联合流树中表示通信数据流的数据结构转换为自动机模型,其中,对所述联合流树中的通信数据流进行缩减处理,包括:从所述联合流树中获取节点报文比超过预设阈值的第一流树;其中,通过将所述联合流树中节点的数量除以每个节点所表示的具有不同长度和方向元组的报文的数量获取每棵流树的所述节点报文比;将所述第一流树转换为报文序列图;其中,在所述报文序列图中,所述第一流树的根节点与节点中的流标识符被保留,所有具有相同的长度方向元组的报文均用同一节点表示,任意两个连续报文对应的节点之间会添加一条有向边;
对所述联合流树中的通信数据流进行缩减处理,还包括:从所述联合流树中获取具有不同长度和方向元组的报文的数量大于预设阈值的第二流树;将具有不同长度和方向元组的报文的比例大于预设阈值的报文作为信标报文,并将所述信标报文用单独节点表示,根据其他节点在报文序列中前后最近的一个信标报文确定其上下文,对于具有相同方向和上下文但长度不同的报文聚合为同一类报文,并用一个表示长度在一定范围之内且具有特定方向的报文集合的节点来表示,将所述联合流树组织为一个报文序列图;
所述将所述联合流树中表示通信数据流的数据结构转换为自动机模型,包括:将所述联合流树中所有的节点转换为状态集合,其中,具有流标识符标注的节点是自动机模型的起始状态,节点上的不同形式的报文元组构成了自动机的符号集合;对于原数据结构每两个被有向边连接的节点,前驱节点对应的状态与后继节点的符号映射到后继节点对应的状态转移关系被添加到状态转移函数中;所有在原通信流中作为最后一个出现的报文所对应的状态被标注为接收状态,构成了自动机模型的接收状态集合。
2.一种应用由权利要求1所述的方法所转换的自动机模型的物联网设备流量检测方法,其特征在于,在获取所述自动机模型之后,还包括:
获取物联网设备的待检测流量;
若匹配不到所述待检测流量的自动机模型,则确定所述待检测流量异常。
3.如权利要求2所述的方法,其特征在于,还包括:
在确定异常后,发送告警信息。
4.一种应用由 权利要求1所述的方法所转换的自动机模型的物联网设备流量检测方法,其特征在于,在获取所述自动机模型之后,还包括:
在物联网设备接收通信数据流时,生成对应的抽象事件;
若连续两次抽象事件在所述原始流量集合中不存在,则确定所述通信数据流异常。
5.一种基于自动机的物联网设备流量建模装置,其特征在于,包括:
采集模块,用于采集待监控的物联网设备在各个工作状态的正常流量,生成原始流量集合;
生成模块,用于对所述原始流量集合中每条通信数据流进行汇编,生成多棵流树,并对所述多棵流树进行合并,生成联合流树,其中,对所述原始流量集合中每条通信数据流进行汇编,生成多棵流树,包括:获取每条通信数据流的标识符,在流树的根节点标注所述每条通信数据流的标识符;获取每条通信数据流的通信报文的长度与方向二元组,在流树的非根节点标注所述每条通信数据流的通信报文的长度与方向二元组;在流树的边上标注两个连续的报文序列的次数,以及所述通信数据流中相同的前缀序列被合并为相同的节点表示,生成所述多棵流树;
对所述多棵流树进行合并,生成联合流树,包括:计算不同流树之间的相似性度量值;若所述相似性度量值小于预设阈值,则将所述相似性度量值对应的两棵流树进行合并,生成所述联合流树,其中,所述计算不同流树之间的相似性度量值包括:将一棵流树上的报文视为一个离散随机变量,以频率估计概率的方式计算出其概率分布,由Hellinger距离计算不同流树之间的相似性度量值,Hellinger距离的定义如下:
转换模块,用于对所述联合流树中的通信数据流进行缩减处理后,将所述联合流树中表示通信数据流的数据结构转换为自动机模型,其中,对所述联合流树中的通信数据流进行缩减处理,包括:从所述联合流树中获取节点报文比超过预设阈值的第一流树;其中,通过将所述联合流树中节点的数量除以每个节点所表示的具有不同长度和方向元组的报文的数量获取每棵流树的所述节点报文比;将所述第一流树转换为报文序列图;其中,在所述报文序列图中,所述第一流树的根节点与节点中的流标识符被保留,所有具有相同的长度方向元组的报文均用同一节点表示,任意两个连续报文对应的节点之间会添加一条有向边;
对所述联合流树中的通信数据流进行缩减处理,还包括:从所述联合流树中获取具有不同长度和方向元组的报文的数量大于预设阈值的第二流树;将具有不同长度和方向元组的报文的比例大于预设阈值的报文作为信标报文,并将所述信标报文用单独节点表示,根据其他节点在报文序列中前后最近的一个信标报文确定其上下文,对于具有相同方向和上下文但长度不同的报文聚合为同一类报文,并用一个表示长度在一定范围之内且具有特定方向的报文集合的节点来表示,将所述联合流树组织为一个报文序列图;
所述将所述联合流树中表示通信数据流的数据结构转换为自动机模型,包括:将所述联合流树中所有的节点转换为状态集合,其中,具有流标识符标注的节点是自动机模型的起始状态,节点上的不同形式的报文元组构成了自动机的符号集合;对于原数据结构每两个被有向边连接的节点,前驱节点对应的状态与后继节点的符号映射到后继节点对应的状态转移关系被添加到状态转移函数中;所有在原通信流中作为最后一个出现的报文所对应的状态被标注为接收状态,构成了自动机模型的接收状态集合。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110064051.0/1.html,转载请声明来源钻瓜专利网。