一种利用机器学习对网络设备进行分类的方法
【技术领域】
[0001]本发明涉及计算机网络信息安全领域,更具体地,涉及一种利用机器学习对网络设备进行分类的方法。
【背景技术】
[0002]在网络中,不同的设备具有不同的功能。例如可编程逻辑控制器用以控制工业控制设备、FTP服务器用于文件数据存储和传输。从网络安全角度来看,了解设备的类别有利于对网络通讯数据进行审计,为不同设备之间的通讯设定规范。例如从工程师工作站到可编程逻辑控制器之间的FTP数据包被认为非法,可能表示非法数据泄漏。从用户角度出发,可以定义一条安全规则:【工程师工作站】_>【可编程逻辑控制器】:FTP报警。也就是说安全规则不是针对于某几个特定的设备,而是针对于某些设备类别。当新的设备进入用户网络后,只要知道其类别,就可以使用已有的安全规则而无需为新设备制定/添加新的安全规则。
[0003]在某些情况下,通过设备的生产商、型号等信息,用户可以大致了解设备的类别。但是这样的信息往往不能够满足网络安全的需要。例如同样的FTP服务器,面向不同的用户(公司内部,公司外部)其需要的安全规范也必然不尽相同。究其根源,设备的类别不应该由设备软硬件决定,而应该由设备的行为所决定。即使设备的生产商不同,如果其网络行为相似,即可归为同一类别。反之,同样的设备其网络行为不同,也需分在不同类别。
【发明内容】
[0004]为了克服现有技术的不足,本发明的目的在于根据网络设备行为对其进行分类,本发明的目的通过以下技术方案实现:
[0005]一种利用机器学习对网络设备进行分类的方法,首先收集设备相关的数据包,并将其概括总结为具有一系列可以量化的属性的特征值,然后根据特征值利用机器学习方法判断设备类别,其中机器学习方法包括,监督式机器学习技术或者非监督式机器学习技术,所述监督式机器学习是指利用已知设备的类别及其网络行为作为训练数据训练分类模型;所述非监督式机器学习主要用于当用户对设备的类别不确定情况,其基于设备相关的网络数据包,计算设备行为之间的相似程度并将行为相似的设备归为一类。
[0006]优选地,所述监督式机器学习过程包括:
[0007]步骤一、训练设备分类模型
[0008](al)收集数据包并计算特征值,收集和记录在某个时间段内用户的多个设备收到或发送的数据包,对于每个设备,将设备相关的数据包概括总结为一系列可以量化的属性;
[0009](a2)分类机器学习,将不同的分类机器学习算法作为插件以建立分类模型;
[0010]步骤二、使用设备分类模型
[0011](a3)收集新设备相关数据包并计算特征值,系统收集和记录在某个时间段内与新设备相关的数据包,并利用特征值计算算法将其概括总结为一系列可以量化的属性;
[0012](a4)使用分类模型。将所述特征值代入步骤一生成的分类模型中,预测设备类别。
[0013]更优选地,步骤(al)中,对于每个设备,可以量化的数据包属性包括以下信息:
[0014]所有数据包总数、所有相通讯的节点数、与每个节点通讯量的分布、数据包的协议总数、主要使用的协议、设备型号、设备生产厂商;
[0015]如果用户没有足够多的设备——不能生成足够的有代表性数据,可以通过自举采样的技术——对某个设备相关的数据包进行采样,使用同一套数据生成多个特征值。
[0016]步骤(a2)中,分类模型的构建步骤如下:
[0017]I)利用已知类别设备的特征值构建分类模型
[0018]2)生成的分类模型存储在系统中,等待被调用。
[0019]步骤(a3)中,新设备相关数据包的可量化属性同训练设备分类模型使用的属性类型一致。
[0020]更优选地,所述分类模型为决策森林,每个决策森林由若干个决策树组成,每个决策树的构建基于所有训练数据的子集,因而每个树都不相同,最终的分类模型由所有的树共同定义。
[0021]所述决策森林的构建过程为:
[0022]i)首先利用自举采样的技术对训练数据采样,以每次的采样作为训练数据,构建一个决策树,构建过程中,可以对特征值采样;
[0023]ii)重复i)构建多个决策树;
[0024]iii)由所有的决策树构成决策森林。
[0025]每个决策树会预测新设备的类别,最终的预测结果由所有的决策树投票决定,投票的分布定义了预测的置信区间。
[0026]优选地,所述非监督式机器学习过程包括:
[0027](bl)收集数据包并计算特征值,收集和记录在某个时间段内用户的多个设备收到或发送的数据包,将与每个设备相关的数据包概括总结为一系列可以量化的属性;
[0028](b2)使用聚类机器学习算法,对设备进行分类;
[0029]所述聚类算法为基于K-means的非监督式聚类算法,所述k_means聚类算法是一种基于特征值相似度的聚类算法,k-means的结果与起始设置的中心点位置有关,可以使用不同的起始中心点多次运行聚类算法。
[0030]本发明的方法的技术优势在于通过网络设备收发的数据包分析设备的行为,进而对设备自动分类。了解设备的类别有利于对网络通讯数据进行审计。不同与传统的针对单个设备的安全规范,针对设备类别的安全规范更加简单,易于管理。同时用户易于对新加入的设备节点定义相应的安全规则。
【附图说明】
[0031]图1是本发明利用监督式机器学习对网络设备进行分类的流程图;
[0032]图2是本发明利用非监督式机器学习对网络设备进行分类的流程图。
【具体实施方式】
[0033]为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0034]如图1所示的利用监督式机器学习对网络设备进行分类的流程图,该方法包括训练设备分类模型和使用分类模型两大步骤。
[0035]训练设备分类模型的过程如图1所示,包括如下步骤:
[0036]I)收集数据包并计算特征值,收集和记录在某个时间段内用户的多个设备收到或发送的数据包。对于每个设备,系统将设备相关的数据包概括总结为一系列可以量化的属性,这些属性包括但不限于以下信息:
[0037]所有数据包总数
[0038]所有相通讯的节点数
[0039]与每个节点通讯量的分布
[0040]数据包的协议总数
[0041]主要使用的协议
[0042]设备型号
[0043]设备生产厂商
[0044]如果用户没有足够多的设备即不能生成足够的有代表性数据,则可以通过自举采样的技术,对某个设备相关的数据包进行采样,使用同一套数据包生成多个特征值。
[0045]2)分类机器学习,在计算的多种设备特征值和多种设备类别的基础上进行分类机器学习,使用不同的分类机器学习算法作为插件
以建立分类模型,存储生成的分类模型,等待被调用。
[0046]下面以决策森林为例,说明分类模型的建立。
[0047]每个决策森林由若干个决策树组成,每个决策树的构建基于所有训练数据的子集,因而每个树都不相同,最终的分类模型由所有的树共同定义。
[0048]决策森林的构件过程如下:
[0049]利用自举采样的技术对训练数据采样;
[0050]以每次的采样作为训练数据,构建一个决策树;
[0051]构建过程中,可以对特征值采样;
[0052]由所有的决策树生成决策森林。
[0053]使用设备分类模型的过程如图1所示,包括如下步骤:
[0054]I)收集新设备相关数据包并计算特征值,收集和记录在某个时间段内与某个设备相关的数据包,并利用特征值计算算法将其概括总结为一系列可以量化的属性;
[0055]2)将上述计算的特征值代入步骤一生成的分类模型中,模型预测设备类别。例如如果使用决策森林分类模型,每个决策树会预测新设备的类别,最终的预测结果由所有的决策树投票决定,投票的分布定义了预测的置信区间,例如90%【可编程逻辑控制器】,10%[FTP服务器】。
[0056]如图2所示的利用非监督式即聚类算法机器学习对网络设备进行分类的流程图,该方法包括如下步骤:
[0057]I)收集数据包并计算特征值,收集和记录在某个时间段内用户的多个设备收到或发送的数据包。对于每个设备,系统将设备相关的数据包概括总结为一系列可以量化的属性;
[0058]2)使用聚类机器学习对设备进行聚类分析,使用基于k-means的非监督式聚类机器学习算法,对设备特征值进行分类,由于k-means的结果与起始设置的中心点位置有关,可以使用不同的起始中心点多次运行聚类算法。同时,为了选择最佳的类别数量,可以选择不同的类别数量,计算准则函数值。根据准则函数的定义,类别数量越多,函数值越低。通过发现该函数的拐点,确定最佳类别数量。用户也可以手工定义初始中心点和类别数量。
[0059]3)用户确定,用户得到聚类结果后,可以对聚类的结果进行调整,同时可以为类别命名。
[0060]4)还可以根据需要,由聚类结果建立设备分类模型
[0061]从聚类算法的结果,可以进一步建立设备分类模型。该模型可以预测新添加设备的类型,或对已知设备进行预测并取得置信区间。
[0062]以上详细说明了本发明的优选实施例,但本发明并不限于这些实施例,在本发明的申请范围内可以进行各种改变。尽管上文只是详细阐述了本发明的优选实施例,但是,所属技术领域的技术人员很清楚在实质上不脱离本发明的新颖性和优点的范围内,可以对示例性实施例进行各种修改。
【主权项】
1.一种利用机器学习对网络设备进行分类的方法,其特征在于,首先收集设备相关的数据包,并将其概括总结为具有一系列可以量化的属性的特征值,然后根据特征值利用机器学习方法判断设备类别,其中机器学习方法包括,监督式机器学习技术或者非监督式机器学习技术, 所述监督式机器学习是指利用已知设备的类别及其网络行为作为训练数据训练分类模型并使用该分类模型对新添加的设备进行分类; 所述非监督式机器学习主要用于当用户对设备的类别不确定的情况,其基于设备相关的网络数据包,计算设备行为之间的相似程度并将行为相似的设备归为一类。2.根据权利要求1所述的方法,其特征在于,所述监督式机器学习过程包括: 步骤一、训练设备分类模型 (al)收集数据包并计算特征值,收集和记录在某个时间段内用户的多个设备收到或发送的数据包,对于每个设备,将设备相关的数据包概括总结为一系列可以量化的属性; (a2)分类机器学习,将不同的分类机器学习算法作为插件以建立分类模型; 步骤二、使用设备分类模型 (a3)收集新设备相关数据包并计算特征值,系统收集和记录在某个时间段内与新设备相关的数据包,并利用特征值计算算法将其概括总结为一系列可以量化的属性; (a4)使用分类模型。将所述特征值代入步骤一生成的分类模型中,预测设备类别。3.根据权利要求2所述的方法,其特征在于,步骤(al)中,对于每个设备,可以量化的数据包属性包括以下信息: 所有数据包总数、所有相通讯的节点数、与每个节点通讯量的分布、数据包的协议总数、主要使用的协议、设备型号、设备生产厂商; 如果用户没有足够多的设备——不能生成足够的有代表性数据,可以通过自举采样的技术一对某个设备相关的数据包进行采样,使用同一套数据生成多个特征值。4.根据权利要求2所述的方法,其特征在于,步骤(a2)中,分类模型的构建步骤如下: 1)利用已知类别设备的特征值构建分类模型 2)生成的分类模型存储在系统中,等待被调用。5.根据权利要求2所述的方法,其特征在于,步骤(a3)中,新设备相关数据包的可量化属性同训练设备分类模型使用的属性类型一致。6.根据权利要求2所述的方法,其特征在于,所述分类模型为决策森林,每个决策森林由若干个决策树组成,每个决策树的构建基于所有训练数据的子集,因而每个树都不相同,最终的分类模型由所有的树共同定义。7.根据权利要求6所述的方法,其特征在于,所述决策森林的构建过程为: i)首先利用自举采样的技术对训练数据采样,以每次的采样作为训练数据,构建一个决策树,构建过程中,可以对特征值采样;?)重复i)构建多个决策树;iii)由所有的决策树构成决策森林。8.根据权利要求7所述的方法,其特征在于,每个决策树会预测新设备的类别,最终的预测结果由所有的决策树投票决定,投票的分布定义了预测的置信区间。9.根据权利要求1所述的方法,其特征在于,所述非监督式机器学习过程包括: (bl)收集数据包并计算特征值,收集和记录在某个时间段内用户的多个设备收到或发送的数据包,将与每个设备相关的数据包概括总结为一系列可以量化的属性; (b2)使用聚类机器学习算法,对设备进行分类。10.根据权利要求9所述的方法,其特征在于,所述聚类算法为基于K-means的非监督式聚类算法,所述k-means聚类算法是一种基于特征值相似度的聚类算法,k-means的结果与起始设置的中心点位置有关,可以使用不同的起始中心点多次运行聚类算法。
【专利摘要】本发明公开了一种利用机器学习对网络设备进行分类的方法,利用监督式机器学习技术或者非监督式机器学习技术建立网络设备的分类模型,对网络中已知或新添加的设备进行分类。本发明的技术优势在于通过工控网络设备收发的数据包分析设备的行为,进而对设备自动分类。了解设备的类别有利于对网络通讯数据进行审计。不同与传统的针对单个设备的安全规范,针对设备类别的安全规范更加简单,易于管理。同时用户易于对新加入的设备节点定义相应的安全规则。
【IPC分类】H04L12/24, H04L12/26
【公开号】CN104883278
【申请号】CN201410510787
【发明人】徐林, 孙一桉
【申请人】北京匡恩网络科技有限责任公司
【公开日】2015年9月2日
【申请日】2014年9月28日
转载请注明原文地址:https://www.famiwei.com/read-8136299.html