基于分类回归决策树的路由器数据平面异常行为检测方法与流程

文档序号:12493068阅读:571来源:国知局
基于分类回归决策树的路由器数据平面异常行为检测方法与流程

本发明涉及下一代互联网安全技术领域,具体涉及一种基于分类回归决策树的路由器数据平面异常行为检测方法。



背景技术:

下一代互联网,无疑要面临万物互联的挑战。在物联网(IoT)迅速发展的同时,网络路由器的数据平面行为异常的事件时有发生,异常行为不仅仅种类繁多,而且不同的物联网应用场景可能对异常行为的判定不一致,因此下一代互联网在数据平面暴露出新的安全问题,亟待解决。而且,即使是已有的传统网络,随着网络技术的不断发展,网络规模的不断扩大、丰富,路由器数据平面的异常行为频繁发生,带来的网络安全问题给广大用户和国家带来了巨大的安全威胁,也需要一个强有力、稳定性高、可扩展的路由器数据平面异常行为的检测方法。

关于路由器数据平面的异常行为检测方法主要是依靠已有的历史数据和人为对数据进行标记来识别未知数据是否为异常行为,从而达到异常行为的检测效果。目前已有的路由器数据平面异常行为检测方法难以同时满足时效性和准确性。随着机器学习的发展,分类思想和聚类思想在路由器数据平面的异常行为检测中得到了普遍的应用。相对于分类的思想,采用聚类思想的方法不要求对已有数据进行标记,能够自学习到异常行为的特征,但是此方法运算开销较大,而且聚类对于异常行为的检测容易出现误差,难以保证路由器的安全性。而采用分类的思想,尽管要求带标记的数据,但是可以离线完成标记,不会影响路由器中异常行为的检测效率,同时计算开销低,能够达到理想的时效性要求,而且在路由器的数据平面基于分类的异常行为检测方法的精度普遍优于基于聚类的异常行为检测方法的精度。



技术实现要素:

本发明旨在至少解决上述技术问题之一。

为此,本发明的目的在于提出一种基于分类回归决策树的路由器数据平面异常行为检测方法,解决下一代互联网由于万物互联所带来的错综复杂的行为种类所导致的异常行为难以准确检测的问题。

为了实现上述目的,本发明的实施例公开了一种基于分类回归决策树的路由器数据平面异常行为检测方法,包括以下步骤:

根据本发明实施例的基于分类回归决策树的路由器数据平面异常行为检测方法,包括以下步骤:S1:根据数据传输需求和应用场景需求选择多个属性,根据所述多个属性构建已有数据规模一致的属性向量数据集合和标记数据集,所述标记数据集是根据路由器的历史运行记录进行标注的,所述标记数据集中每个标记包括正常标记或异常标记;S2:根据所述属性向量数据集合和标记数据集离线构建分类回归决策树;S3:根据所述分类回归决策树对新数据进行异常行为的检测。

能够准确检测已知的异常行为,而且能够利用缓存池的思想将介于正常行为与异常行为之外的不确定行为缓存,根据不同的应用场景需求自定义是否为异常行为,增强了下一代互联网的安全性。更重要的是,此技术相对于已有的路由器数据平面异常检测方法,具备检测误差小、扩展性强、性能稳定等优点。

另外,根据本发明上述实施例的基于分类回归决策树的路由器数据平面异常行为检测方法,还可以具有如下附加的技术特征:

进一步地,所述数据传输需求包括源地址、目的地址、源端口号、目的端口号和数据传输类型。

进一步地,所述应用场景需求包括数据类型、数据大小、数据到达和离开时间。

进一步地,步骤S1进一步包括:S101:根据历史数据日志建立长度为N+M维的属性向量v=(l1,…,lN,lN+1,…,lN+M),其中,N为所述数据传输需求的属性数量,M为所述应用场景需求的属性数量,确定每份数据的属性向量,构成与已有数据规模一致的属性向量数据集合Ω={v1,…,vn},其中n为数据集的大小;S102:根据历史路由器运行情况,人为通过二元组h=(h',h”)标记数据行为是否异常,其中h'为正常标记或者异常标记,h”表示不同异常行为对应的ID码,所述属性向量数据集合中每个属性向量分别对应一个标记,从而构成的标记数据集Θ={h1,h2,…,hn-1,hn}。

进一步地,步骤S2进一步包括:S201:根据预设的尼基值的计算方法体现数据集Ω的纯度;S202:根据数据集Ω的纯度计算所涉及的每个属性的尼基指数;S203:选取尼基指数最小的属性作为划分属性,构建所述分类回归决策树。

进一步地,在步骤S203之后还包括:S204:在构建所述分类回归决策树后,根据非叶子节点是否对所述分类回归决策树的泛化能力的增强有益来决定是否将非叶节点合并为叶子节点。

进一步地,步骤S3进一步包括:S301:提取所述新数据的各个属性值,自顶向下执行所述分类回归决策树的判定流程,以识别具有突出特征的异常行为。

进一步地,在步骤S301之后还包括:S302:对于所述分类回归决策树无法判定的未知行为进行缓存,当所述未知行为达到预定数量时进行离线训练,根据离线训练结果更新所述分类回归决策树。

本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:

图1是本发明实施例的基于分类回归决策树的路由器数据平面异常行为检测方法的流程图;

图2是本发明一个实施例中构建所述分类回归决策树后,在路由器中需要执行的路由器数据平面未知行为检测缓存处理示意图;

图3是本发明一个实施例中基于分类回归决策树的路由器数据平面异常行为检测方法的详细流程图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。

在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。

参照下面的描述和附图,将清楚本发明的实施例的这些和其它方面。在这些描述和附图中,具体公开了本发明的实施例中的一些特定实施方式,来表示实施本发明的实施例的原理的一些方式,但是应当理解,本发明的实施例的范围不受此限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。

本发明的发明人通过大量创造性研究发现:基于分类的异常行为检测的方法应用到路由器数据平面的异常行为检测中的方法有限。主要是因为传统机器学习中的分类方法主要适用于图像或者视频数据,难以在路由器数据平面找到合适的特征属性。而本方法从物联网时代错综复杂的IoT设备和各种不同数据需求的网络应用考虑,选取了恰当的数据平面中的相关属性,同时允许根据应用场景需求自定义异常行为以及相关属性。随之采用较稳定的分类回归决策树对数据平面的行为进行检测判定,同时采用缓存池的思想来保证决策树的稳定性,不仅仅能够区分明确的正常行为和异常行为,还能够根据不同的应用场景需求来处理中间行为(既不是正常行为也不是异常行为的行为)。

以下结合附图描述本发明。

图1是本发明实施例的基于分类回归决策树的路由器数据平面异常行为检测方法的流程图。如图1所示,一种基于分类回归决策树的路由器数据平面异常行为检测方法,包括以下步骤:

S1:根据数据传输需求和应用场景需求选择多个属性,根据多个属性构建已有数据规模一致的属性向量数据集合和标记数据集,标记数据集是根据路由器的历史运行记录进行标注的,标记数据集中每个标记包括正常标记或异常标记。

具体地,确定必要的N个数据传输需求属性和根据具体的应用场景需求选定可选的M个属性。在本发明的一个实施例中,数据传输需要包括源地址、目的地址、源端口号、目的端口号和数据传输类型中的一种或多种。应用场景需求对应的属性是自定义的,例如对某个应用场景选择数据类型、数据大小、数据到达和离开时间等属性。

在本发明的一个实施例中,步骤S1进一步包括:

S101:为方便分类回归决策树的创建,根据历史数据日志建立长度为N+M维的属性向量v=(l1,…,lN,lN+1,…,lN+M),其中,N为所述数据传输需求的属性数量,M为所述应用场景需求的属性数量,确定每份数据的属性向量,构成与已有数据规模一致的属性向量数据集合Ω={v1,…,vn},其中n为数据集的大小。

S102:根据历史路由器运行情况,人为标记数据行为是否异常。标记内容为二元组,h=(h',h”),其中h'只能是正常或者异常两种取值(1表示正常,0表示不正常),h”表示不同异常行为对应的ID码,h”是对h'的补充,说明具体的行为类别(比如DOS攻击、端口扫描)。h”可以为空值,随后的离线更新根据具体应用场景需求将不确定具体行为类型的对象的h'赋值以表示正常与否(自定义正常与否)。每个属性向量都对应一个标记,从而构成的标记数据集Θ={h1,h2,…,hn-1,hn}。

S2:根据属性向量数据集合和标记数据集离线构建分类回归决策树。

S201:在根据尼基指数选取分类属性前,利用尼基值来体现数据集Ω的纯度,尼基指数越小,纯度越高,尼基值的计算方法如下:

其中,pk表示第k类样本在样本集中所占的比例,tn和tu分别表示正常类别的种数和不正常类别的种数。

S202:根据以下公式计算所涉及的每个属性的尼基指数:

其中,li为某个属性,Vi表示属性li的可能取值的个数。

S203:针对整个样本数据计算所有属性的尼基指数之后,优先选取尼基指数最小的属性作为划分属性,开始构建分类回归决策树。对于分类回归决策树每个没有达到纯度要求的点依次计算各个属性的尼基指数ai={a1,a2,…,aN+M},选取尼基指数最小min{ai}的一个属性作为当前节点的划分属性:min{ai}→i。选取的划分属性为从而将该节点划分为个子节点,依次判断每个子节点的纯度(正确分类的行为所占的比例),若纯度无法提高或者纯度达到具体应用场景所需要的阈值ε(例如ε≥0.85),则停止对节点的划分;否则,按照步骤S203继续划分该节点。

S204:为了避免决策树出现过拟合情况,在决策树建立之后,根据非叶子节点是否对决策树的泛化能力的增强有益来决定是否将非叶节点合并为叶子节点。

S3:根据分类回归决策树对新数据进行异常行为的检测。

S301:提取新数据的各个属性值,自顶向下执行分类回归决策树判定流程,可直接识别一些具有突出特征的异常行为,比如端口扫描、拒绝服务攻击等常见异常行为。

S302:对于分类回归决策树无法判定的未知行为进行缓存,应用缓存池思想,当缓存属性向量(具有数据的详细信息)达到预定数量时进行离线训练,根据离线训练结果更新决策树,提高决策树的可扩展性。

图2是本发明一个实施例中构建分类回归决策树后,在路由器中需要执行的路由器数据平面未知行为检测缓存处理示意图。如图2所示,首先自顶向下执行分类回归决策树的判定流程,以识别具有突出特征的异常行为。对于未知类别行为集合放入缓存池进行存储。对于缓存池内的未知类别行为集合达到一定数量之后,离线提取数据的属性值,采用聚类的方法将未知行为划分为若干群体,确定是否存在新的异常行为,同时人为给这些群体命名新的类别,从而进行标记。随后将这些新的类别加入数据集,进而更新决策树,使决策树更加稳定、更加泛化。

为使本领域人员进一步理解本发明,将通过以下实施例进行详细说明。

如图3所示,根据历史数据日志,选定数据传输需求和应用场景需求建立的分类回归决策树,其中分类回归决策树优先选取尼基指数最小的属性作为划分属性,同一属性在同一路径中最多出现一次。

假设本实施例构建的分类回归决策树需要6个数据传输需求属性,分别为源地址、目的地址、源端口号、目的端口号、数据传输类型、数据类型,即N=6;同时需要2个应用场景需求属性,分别为数据大小、源地址与目的地址是否一致,即M=2。随后,进行数据的提取,对于大量的历史数据,提取前面提到的M+N=6+2=8个属性,从而构建长度为8的属性向量,如v=(102.51.130.23,99.6.130.4,1,4,u,v,s,0)。为了决策树的准确性,数据集不能太小,本实施例假设数据集大小n为5。属性向量提取之后,为每一个属性向量标记行为类别,比如h=(0,1)表示一个不正常行为,具体类别h”为1所对应的异常行为类别——DOS攻击。这里为不同的异常行为类别编码了各自的ID,比如2表示LandAttack,构成数据集如表1,其中u表示上传,d表示下载,v表示视频,m表示邮件,r表示请求,s表示小文件,b表示大文件。

表1训练数据集

在具备了带有标记的训练数据集之后,创建分类回归决策树。创建过程中,对于每一次节点的划分,都是选取基尼指数最小的一个属性作为该节点的划分属性。首先,基于整个数据集(举例说明时数据集大小仅仅5条记录,实际数据集的大小应该大于10000)依次计算8个属性的尼基指数,其中l8对应的尼基指数最小η(Ω,l8)=0,因此选择“源地址和目的地址是否一致”这一属性作为划分属性,由于l8的取值仅有两种可能,因此将产生两个子节点,而两个子节点刚好均达到纯度的最大值100%,必然大于阈值ε(建议取值大于0.85),因此无须继续划分,决策树训练完成。需要说明的是:本实施例中数据集比较简单,实际使用过程中数据集至少要大于10000,因此离线训练过程也要比较长,但是因为是离线训练,不会影响检测效率,实际的决策树结构也远远复杂于举例中的仅含有三个节点的决策树。

在决策树创建成功之后(按照实际可能的决策树来说明,而不是前面举例提到的仅三个节点的决策树),依次对来到的数据进行行为检测。对于一个LandAttack的异常行为的数据,在决策树中逐层下降,前2层可能无法确定是否为异常行为,当达到使用“源与目的地址是否一致”这一属性作为划分属性所在的第3层时,决策树执行属性值为“是”的分支,从而到达叶子节点,给该行为分配的二元组(0,2),其中第一项0表示是异常行为,而第二项ID码标识出了的具体的异常行为类别。后续路由器可能执行一定的行为预警或者直接采取安全措施。

对于一个正常行为,在决策树中执行若干层判断之后达到一个正常行为的叶子节点,从而分配二元组(1,0),其中第一项1表示正常行为,0无意义。

对于一个未知具体类别的行为,在决策树中执行若干层判断之后达到一个无法确定行为类别的子节点,所分配二元组为(0,0),其中第一项0表示异常行为,第二项0表示异常行为类别不明,需要进一步人为干预。也就是说,为了安全,本方法会将所有明确为正常行为之外的行为暂定为异常行为,但是对于类别不明的异常行为会进行缓存,达到一定数量后,人为干预进行标记,从而确定异常行为类别,也可能归类到正常行为。随后,利用标记好的缓存数据离线更新决策树,从而提高决策树的适应性。

本发明实施例的基于分类回归决策树的路由器数据平面异常行为检测方法,分类回归决策树根据历史数据离线进行的,不会给路由器数据平面的异常行为检测增加计算开销。而且,在完整的决策树建立之后,路由器内部只需按照决策树自顶向下执行异常行为的判定,计算开销小,而且完整的决策树能够保证较高的检测精度,所以保证效率的同时保证了精度。对于一些暂时无法判定的行为,基于缓存池的思想,当缓存到一定数量之后进行行为的分析判定,不仅仅能够有效提高决策树的健壮性,而且不会频繁地更新决策树,保证了决策树的稳定,同时还提高了决策树的可扩展性。

另外,本发明实施例的基于分类回归决策树的路由器数据平面异常行为检测方法的其它构成以及作用对于本领域的技术人员而言都是已知的,为了减少冗余,不做赘述。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同限定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1