物联网设备指纹库的精细化方法与流程

文档序号:22256616发布日期:2020-09-18 13:47阅读:156来源:国知局
物联网设备指纹库的精细化方法与流程

本发明涉及设备指纹技术领域,尤其涉及一种物联网设备指纹库的精细化方法。



背景技术:

针对物联网设备的识别技术能够有效把握网络空间的安全态势,有效预防网络安全事件的发生。现有物联网设备的识别技术通过分析设备协议数据包的内容,提取设备指纹对设备进行识别。设备指纹是一组用于识别物联网设备的特征集合。由于物联网设备复杂多样且设备不断更新迭代,提取成功的设备指纹会存在指纹失效现象,造成识别精准率下降。研究设备指纹验证及精细化技术,能够快速有效地过滤失效指纹。从而提升设备识别精准率,更有效地把握网络空间安全态势。

现有的物联网设备指纹的验证技术多采用人工验证的方式,人工进行设备指纹的验证和修改需要该领域的专业人员对指纹识别结果进行逐一校验,对失效指纹进行筛选过滤处理。人工的设备指纹验证和精细化方式需要验证人员有相关领域专业知识背景,且存在效率低、验证成本高的问题。此外,人工的设备指纹验证技术难以对失效指纹进行精细化处理,不能实现对失效指纹的实时更新,难以提升指纹识别的精准率。

因此,如何避免现有的物联网设备指纹库的人工验证方式的低效率、验证成本高的问题,实现对失效设备指纹的精细化处理,仍然是本领域技术人员亟待解决的问题。



技术实现要素:

本发明实施例提供一种网联网物联网设备指纹库的精细化方法,用以解决现有的物联网设备指纹库的人工验证方式的低效率、验证成本高且无法实现失效设备指纹的精细化的问题。

第一方面,本发明实施例提供一种网联网物联网设备指纹库的精细化方法,包括:

抓取预设范围内的网络节点的网络数据包放入网络数据库;

基于物联网设备指纹库确定所述网络数据包对应的待检测设备指纹和对应的待检测设备信息,所述物联网设备指纹库用于存储设备指纹和设备信息的对应关系;

验证所述待检测设备指纹对应的网络数据包对应的待检测设备信息是否满足第一精准率的要求,若不满足,则确定所述待检测设备指纹为非合格设备指纹并将所述待检测设备指纹与所述待检测设备信息从所述物联网设备指纹库中剔除;

对所述非合格设备指纹对应的网络数据包的聚类结果进行抽样和人工标注设备信息,并根据人工标注的设备信息的分布判定所述非合格设备指纹是否满足可精细化的条件,若不满足,则将所述非合格设备指纹废弃,若满足,则确定所述非合格设备指纹为待精细化设备指纹;

对所述待精细化设备指纹对应的网络数据包的聚类结果进行抽样和人工标注设备信息的结果采用自动特征提取方法进行指纹特征扩充,得到扩充后的设备指纹与所述扩充后的设备指纹对应的新的设备信息,确定所述扩充后的设备指纹在网络数据库中对应的新的网络数据包;

验证所述扩充后的设备指纹对应的所述新的网络数据包对应的所述新的设备信息是否满足第二精准率的要求,若满足,则将所述扩充后的设备指纹与所述扩充后的设备指纹对应的设备信息存入物联网设备指纹库,若不满足,则将所述扩充后的设备指纹废弃。

优选地,该方法中,所述抓取预设范围内的网络节点的网络数据包放入网络数据库,具体包括:

向预设范围内的网络地址端口发送请求数据包,抓取对应的响应数据包,对所述响应数据包进行去重处理,得到网络数据包并存入网络数据库。

优选地,该方法中,所述基于物联网设备指纹库确定所述网络数据包对应的待检测设备指纹和对应的待检测设备信息,具体包括:

利用物联网设备指纹库中的设备指纹对所述网络数据包中的内容信息进行正则匹配或者关键字匹配识别,确定所述网络数据包对应的物联网设备指纹库中的待检测设备指纹,确定物联网设备指纹库中的待检测设备指纹对应的设备信息为所述网络数据包对应的待检测设备信息。

优选地,该方法中,所述验证所述待检测设备指纹对应的网络数据包对应的待检测设备信息是否满足第一精准率的要求,具体包括:

所述待检测设备指纹fp对应的网络数据包的总数为n,将n个网络数据包对应的待检测设备信息与为所述n个网络数据包预先标注的真实设备信息进行比对,得到待检测设备信息与真实设备信息一致的网络数据包数量为m,则输出第一验证结果res1=m/n;

采用k种辅助识别方法识别出的所述n个网络数据包中的第i个网络数据包的k个设备信息中与所述待检测设备信息一致的有mi个,则输出第二验证结果其中,i为整数且1≤i≤m,mi为整数且0≤mi≤k;

对所述待检测设备指纹fp对应的n个网络数据包进行聚类分析,确定聚簇结果中最大簇中的网络数据包的个数为j,若j>n×l,则第三验证结果res3=j/n,若j≤n×l,则第三验证结果res3=j×p/n,其中,l为第一聚类阈值系数,取值范围为[0,1],p为第一惩罚因子,取值范围为[0,1];

若res1>th1,则所述待检测设备指纹对应的网络数据包对应的待检测设备信息满足第一精准率的要求;

若res1≤th1且res2×ρ+res3×(1-ρ)>th2,则所述待检测设备指纹对应的网络数据包对应的待检测设备信息满足第一精准率的要求;

若res1≤th1且res2×ρ+res3×(1-ρ)≤th2,则所述待检测设备指纹对应的网络数据包对应的待检测设备信息不满足第一精准率的要求;

其中,th1为预设第一可靠性阈值系数,th2为预设第二可靠性阈值系数,ρ为第一权值系数,取值范围为[0,1]。

优选地,该方法中,所述对所述非合格设备指纹对应的网络数据包的聚类结果进行抽样和人工标注设备信息,并根据人工标注的设备信息的分布判定所述非合格设备指纹是否满足可精细化的条件,具体包括:

对所述非合格设备指纹对应的网络数据包的聚类分析得到的所有簇按照各簇包含网络数据包个数的比例进行随机抽样,对抽样出来的x个样本网络数据包进行人工标注设备信息,统计所述x个样本网络数据包中标注相同设备品牌的样本网络数据包的个数,所述个数的最大值为y,若y/x>th3,则所述非合格设备指纹满足可精细化的条件,若y/x≤th3,则所述非合格设备指纹不满足可精细化的条件,其中,th3为预设可精细化阈值,所述设备信息包括设备品牌。

优选地,该方法中,所述对所述待精细化设备指纹对应的网络数据包的聚类结果进行抽样和人工标注设备信息的结果采用自动特征提取方法进行指纹特征扩充,得到扩充后的设备指纹与所述扩充后的设备指纹对应的设备信息,具体包括:

确定所述待精细化设备指纹对应的网络数据包的聚类结果得到的第q簇中的样本网络数据包被标注相同设备信息的个数,所述个数中最大值对应的设备信息为aq,则重新标注第q簇中所有网络数据包对应的设备信息为aq,若第t簇为所述聚类结果中的最大簇,则扩充后的设备指纹对应的新的设备信息为at,其中,q为整数且1≤q≤z,z为所述待精细化设备指纹对应的网络数据包的聚类得到的簇的总数;

所述待精细化设备指纹对应的网络数据包的个数为r,对待精细化设备指纹对应的r个网络数据包进行分词处理,去除停用词,对无效信息进行过滤,得到r个文本数据,所述无效信息包括mac地址和时间戳;

采用one-hot编码对所述r个文本数据进行二值化表示,得到r个维度为s的二进制特征向量,其中,所述二进制特征向量包含s个特征;

采用基于互信息的特征选择算法对所述r个二进制特征向量和对应于所述r个二进制特征向量的设备信息进行去除冗余特征的处理,得到r个维度为s’的降维二进制特征向量,其中,s’<s;

所述最大簇中网络数据包对应的降维二进制特征向量集合为p={p1,p2,p3,...,pu},所述聚类结果中除开所述最大簇的其他簇中网络数据包对应的降维二进制特征向量集合为p={p1,p2,p3,...,pv},其中,u和v均为整数且u+v=r,通过如下公式计算最大簇独有特征c:

c={(p1|p2|p3|...|pv)∧(p1&p2&p3&...&pu)}&(p1&p2&p3&...&pu)

将所述最大簇独有特征采用one-hot编码的映射关系转换为文本特征,将所述文本特征加入所述待精细化设备指纹得到扩充后的设备指纹。

优选地,该方法中,所述验证所述扩充后的设备指纹对应的所述新的网络数据包对应的所述新的设备信息是否满足第二精准率的要求,具体包括:

所述扩充后的设备指纹fp1对应的新的网络数据包的总数为n1,将n1个新的网络数据包对应的新的设备信息与为所述n1个新的网络数据包预先标注的真实设备信息进行比对,得到新的设备信息与真实设备信息一致的网络数据包数量为m1,则输出第一精细验证结果res’1=m1/n1;

采用k1种辅助识别方法识别出的所述n1个新的网络数据包中的第i’个新的网络数据包的k1个设备信息中与新的设备信息一致的有mi’个,则输出第二精细验证结果其中,i’为整数且1≤i’≤m1,mi’为整数且0≤mi’≤k1;

对所述扩充后的设备指纹fp1对应的n1个新的网络数据包进行聚类分析,确定聚簇结果中最大簇中的网络数据包的个数为j1,若j1>n1×l1,则第三精细验证结果res3’=j1/n1,若j1≤n1×l1,则第三精细验证结果res3’=j1×p1/n1,其中,l1为第二聚类阈值系数,取值范围为[0,1],p1为第二惩罚因子,取值范围为[0,1];

若res’1>th’1,则所述扩充后的设备指纹对应的所述新的网络数据包对应的所述新的设备信息满足第二精准率的要求;

若res’1≤th’1且res2’×ρ1+res3’×(1-ρ1)>th’2,则所述扩充后的设备指纹对应的所述新的网络数据包对应的所述新的设备信息满足第二精准率的要求;

若res’1≤th’1且res2’×ρ1+res3’×(1-ρ1)≤th’2,则所述扩充后的设备指纹对应的所述新的网络数据包对应的所述新的设备信息不满足第二精准率的要求;

其中,th’1为预设第一精细可靠性阈值系数,th’2为预设第二精细可靠性阈值系数,ρ1为第二权值系数,取值范围为[0,1]。

优选地,该方法中,所述设备信息包括设备型号、设备品牌和设备类型。

第二方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所提供的物联网设备指纹库的精细化方法的步骤。

第三方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所提供的物联网设备指纹库的精细化方法的步骤。

本发明实施例提供的方法,通过从网络中抓取的大量网络数据包对已有的物联网设备指纹库进行验证,验证由物联网设备指纹库给所述网络数据包匹配的设备信息是否满足精准率的要求,若不满足,则筛选其为非合格设备指纹,并将其从物联网设备指纹库移除,然后对非合格设备指纹进行进一步的精细化的处理,首先判断所述非合格设备指纹的对应的网络数据包的聚类结果是否达到可精细化的条件,若达到则确定所述非合格设备指纹为待精细化设备指纹,然后通过对待精细化设备指纹的聚类结果进行自动特征提取的方式进行指纹特征扩充,得到扩充后的设备指纹和扩充后的设备指纹对应的新的设备信息,再对扩充后的设备指纹对应的网络数据包匹配的设备信息进行是否满足精准率的判定,若满足,则将扩充后的设备指纹加入物联网设备指纹库。如此,本发明首先挑出了非合格设备指纹,然后对满足可精细化要求的非合格设备指纹进行指纹特征扩充,形成更精细的扩充后的设备指纹,最后将通过精准率验证的扩充后的设备指纹放入物联网设备指纹库。因此,本发明实施例实现了智能高效率的物联网设备指纹库的设备指纹的验证,降低了人工成本,同时也对失效指纹进一步处理使其成为合格指纹并加入网联网物联网设备指纹库实现了对失效指纹的更新。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的物联网设备指纹库的精细化方法的流程示意图;

图2为本发明实施例提供的物联网设备指纹精细化的框架图;

图3为本发明实施例提供的物联网设备数据生成流程图;

图4为本发明实施例提供的物联网设备指纹库的精细化装置的结构示意图;

图5为本发明实施例提供的电子设备的实体结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

现有的物联网设备指纹库的人工验证方式普遍存在低效率、验证成本高且无法实现失效设备指纹的精细化的问题。对此,本发明实施例提供了一种物联网设备指纹库的精细化方法。图1为本发明实施例提供的物联网设备指纹库的精细化方法的流程示意图,如图1所示,该方法包括:

步骤110,抓取预设范围内的网络节点的网络数据包放入网络数据库。

具体地,在网络中抓取网络数据包,这些网络数据包包括设备协议数据包,通过分析所述网络数据包中的内容可以提取设备指纹进行设备识别,而抓包也需要限定一定范围,例如限定待抓包ip地址范围和待抓包探测端口列表,然后对于该范围内的网络节点进行探测抓包,通常为了后续对物联网设备指纹库的验证更准确,抓取的网络数据包的数量巨大,会达到百万级别。

步骤120,基于物联网设备指纹库确定所述网络数据包对应的待检测设备指纹和对应的待检测设备信息,所述物联网设备指纹库用于存储设备指纹和设备信息的对应关系。

具体的,对于网络数据库中的网络数据包会提取对应于每个网络数据包的设备指纹,然后基于物联网设备指纹库查找与每个网络数据包的设备指纹相同的待检测设备指纹,并按照物联网设备指纹库存储的设备指纹与设备信息的对应关系得到待检测设备指纹对应的待检测设备信息,从而确定每个网络数据包对应的待检测设备信息。优选地,设备信息包括设备类型、设备品牌和设备型号。例如一条设备信息为<摄像头、海康、camera1200>,而抓取的设备协议包中通常会包括设备信息中的一条或者多条。此处需要说明的是物联网设备指纹库中存储的设备指纹与设备信息的对应关系中,同样的设备信息,即对应于同样的设备类型、设备品牌和设备型号的设备指纹存在一条或者多条,而一条设备指纹只能对应于一条设备信息。

步骤130,验证所述待检测设备指纹对应的网络数据包对应的待检测设备信息是否满足第一精准率的要求,若不满足,则确定所述待检测设备指纹为非合格设备指纹并将所述待检测设备指纹与所述待检测设备信息从所述物联网设备指纹库中剔除。

具体地,现在确定的待检测设备指纹可能对应于网络数据库中的多个网络数据包,而这些网络数据包都对应于该待检测设备指纹,因此也只对应于该待检测设备信息。因此,对于多个网络数据包对应于同一设备信息的情况,可以验证所述多个网络数据包中实际真正对应于该待检测设备信息的网络数据包的占比,通过该占比来判断其是否满足第一精准率的要求。而确定网络数据包的真正对应的设备信息的方法有多种,常见的有人工标注法、聚类分析法、nmap算法和are算法等,此处不作具体限定。若满足第一精准率的要求,说明该待检测设备指纹通过了验证,是合格的指纹,将其保留在物联网设备指纹数据库中,不作其他处理;若不满足第一精准率的要求,则将其认定为非合格设备指纹并将该待检测设备指纹和对应的待检测设备信息从物联网设备指纹库中移除。

步骤140,对所述非合格设备指纹对应的网络数据包的聚类结果进行抽样和人工标注设备信息,并根据人工标注的设备信息的分布判定所述非合格设备指纹是否满足可精细化的条件,若不满足,则将所述非合格设备指纹废弃,若满足,则确定所述非合格设备指纹为待精细化设备指纹。

具体地,此处对非合格设备指纹进行进一步的判断,判断其是否有资格进行进一步的精细化处理,即对其进行指纹特征的扩充使其成为合格的指纹。而此处判断的标准是对非合格设备指纹对应的网络数据包的聚类分析的结果进行抽样和标注设备信息,若人工标注的设备信息的分布满足可精细化条件,例如标注的同样的设备信息的数量在所有人工标注的数量中的占比大于一定阈值,则满足可精细化条件,则认为所述非合格设备指纹可以被进一步做指纹特征的扩充处理,确定为待精细化设备指纹,若不满足可精细化条件,则将所述非合格设备指纹废弃,即非合格设备指纹从物联网设备指纹库中移除且不会被更精细化的设备指纹所更新。

步骤150,对所述待精细化设备指纹对应的网络数据包的聚类结果进行抽样和人工标注设备信息的结果采用自动特征提取方法进行指纹特征扩充,得到扩充后的设备指纹与所述扩充后的设备指纹对应的新的设备信息,确定所述扩充后的设备指纹在网络数据库中对应的新的网络数据包。

具体地,对待精细化设备指纹对应的网络数据包的聚类结果进行抽样和人工标注设备信息,实现了对应于待精细化设备指纹的所有网络数据包对应的设备信息的标注,然后对对应于待精细化设备指纹的所有网络数据包和与其对应的设备信息采用自动特征提取方法进行指纹特征的扩充,自动特征提取方法通常会采用pca分析法、或者互信息分析法,此处不作具体限定。然后,得到扩充后的设备指纹和对应于所述扩充后的设备指纹的新的设备信息,然后,将所述扩充后的设备指纹放到网路数据库中进行匹配,找出网络数据库中对应于该扩充后的设备指纹的新的网络数据包。

步骤160,验证所述扩充后的设备指纹对应的所述新的网络数据包对应的所述新的设备信息是否满足第二精准率的要求,若满足,则将所述扩充后的设备指纹与所述扩充后的设备指纹对应的设备信息存入物联网设备指纹库,若不满足,则将所述扩充后的设备指纹废弃。

具体地,现在确定的扩充后的设备指纹可能对应于网络数据库中的多个新的网络数据包,而这些新的网络数据包都对应于该待检测设备指纹,因此也只对应于该新的设备信息。因此,对于多个新的网络数据包对应于同一新的设备信息的情况,可以验证所述多个新的网络数据包中实际真正对应于该新的设备信息的新的网络数据包的占比,通过该占比来判断其是否满足第二精准率的要求。而确定新的网络数据包的真正对应的设备信息的方法有多种,常见的有人工标注法、聚类分析法、nmap算法和are算法等,此处不作具体限定。若满足第二精准率的要求,说明该扩充后的设备指纹通过了验证,是合格的指纹,将所述扩充后的设备指纹与所述扩充后的设备指纹对应的新的设备信息存入物联网设备指纹库中,相对于替换掉原来的非合格设备指纹,对失效设备指纹进行了更新;若不满足第二精准率的要求,则将所述扩充后的设备指纹废弃,相当于彻底将非合格设备指纹从物联网设备指纹库中移除,不会再对该非合格设备指纹进行修改更新。

本发明实施例提供的方法,通过从网络中抓取的大量网络数据包对已有的物联网设备指纹库进行验证,验证由物联网设备指纹库给所述网络数据包匹配的设备信息是否满足精准率的要求,若不满足,则筛选其为非合格设备指纹,并将其从物联网设备指纹库移除,然后对非合格设备指纹进行进一步的精细化的处理,首先判断所述非合格设备指纹的对应的网络数据包的聚类结果是否达到可精细化的条件,若达到则确定所述非合格设备指纹为待精细化设备指纹,然后通过对待精细化设备指纹的聚类结果进行自动特征提取的方式进行指纹特征扩充,得到扩充后的设备指纹和扩充后的设备指纹对应的新的设备信息,再对扩充后的设备指纹对应的网络数据包匹配的设备信息进行是否满足精准率的判定,若满足,则将扩充后的设备指纹加入物联网设备指纹库。如此,本发明首先挑出了非合格设备指纹,然后对满足可精细化要求的非合格设备指纹进行指纹特征扩充,形成更精细的扩充后的设备指纹,最后将通过精准率验证的扩充后的设备指纹放入物联网设备指纹库。因此,本发明实施例实现了智能高效率的物联网设备指纹库的设备指纹的验证,降低了人工成本,同时也对失效指纹进一步处理使其成为合格指纹并加入网联网物联网设备指纹库实现了对失效指纹的更新。

基于上述实施例,该方法中,所述抓取预设范围内的网络节点的网络数据包放入网络数据库,具体包括:

向预设范围内的网络地址端口发送请求数据包,抓取对应的响应数据包,对所述响应数据包进行去重处理,得到网络数据包并存入网络数据库。

具体地,选定待识别ip地址范围和待探测端口列表,利用网络嗅探器对该范围内的网络节点进行探测抓包,具体地,从常用探测端口数据库中选取探测端口列表,随机选取ip地址集合组成的ipv4空间探测范围。采用网络嗅探器对选取得到的ipv4空间探测范围进行探测,探测过程通过构造request数据包发送给指定的ip和端口组合<ip,port>,并抓取response数据包,然后对response数据包进行去重处理。去重过程中包括数据的无效信息去除,即通过正则表达式将response数据包中的mac地址、时间戳等无效信息进行匹配标准化处理,从而提升去重效果,然后,再采用哈希算法进行去重处理,得到去重后的网络数据包。并将所述网络数据包存入网络数据库。

基于上述任一实施例,该方法中,所述基于物联网设备指纹库确定所述网络数据包对应的待检测设备指纹和对应的待检测设备信息,具体包括:

利用物联网设备指纹库中的设备指纹对所述网络数据包中的内容信息进行正则匹配或者关键字匹配识别,确定所述网络数据包对应的物联网设备指纹库中的待检测设备指纹,确定物联网设备指纹库中的待检测设备指纹对应的设备信息为所述网络数据包对应的待检测设备信息。

具体地,基于物联网设备指纹库中的设备指纹数据对网络数据包中的内容信息进行正则匹配或者关键字匹配识别,对识别成功的网络数据包打上识别结果,即对应的待检测设备指纹和所述待检测设备指纹在物联网设备指纹库中对应的设备信息(即待检测设备信息),通常,设备信息包括设备类型、设备品牌和设备型号,因此,每条网络数据包都会打上识别结果<待检测设备指纹、待检测设备信息>,优选地,识别结果为<待检测设备指纹、设备类型、设备品牌、设备型号>。

基于上述任一实施例,该方法中,所述验证所述待检测设备指纹对应的网络数据包对应的待检测设备信息是否满足第一精准率的要求,具体包括:

所述待检测设备指纹fp对应的网络数据包的总数为n,将n个网络数据包对应的待检测设备信息与为所述n个网络数据包预先标注的真实设备信息进行比对,得到待检测设备信息与真实设备信息一致的网络数据包数量为m,则输出第一验证结果res1=m/n;

采用k种辅助识别方法识别出的所述n个网络数据包中的第i个网络数据包的k个设备信息中与所述待检测设备信息一致的有mi个,则输出第二验证结果其中,i为整数且1≤i≤m,mi为整数且0≤mi≤k;

对所述待检测设备指纹fp对应的n个网络数据包进行聚类分析,确定聚簇结果中最大簇中的网络数据包的个数为j,若j>n×l,则第三验证结果res3=j/n,若j≤n×l,则第三验证结果res3=j×p/n,其中,l为第一聚类阈值系数,取值范围为[0,1],p为第一惩罚因子,取值范围为[0,1];

若res1>th1,则所述待检测设备指纹对应的网络数据包对应的待检测设备信息满足第一精准率的要求;

若res1≤th1且res2×ρ+res3×(1-ρ)>th2,则所述待检测设备指纹对应的网络数据包对应的待检测设备信息满足第一精准率的要求;

若res1≤th1且res2×ρ+res3×(1-ρ)≤th2,则所述待检测设备指纹对应的网络数据包对应的待检测设备信息不满足第一精准率的要求;

其中,th1为预设第一可靠性阈值系数,th2为预设第二可靠性阈值系数,ρ为第一权值系数,取值范围为[0,1]。

具体地,首先采用测试数据的验证方法将已有的真实标准数据的设备信息与利用物联网指纹设备库识别的网络数据包对应的设备信息的结果进行对比验证。此处需要说明的是,已有的真实标准数据的设备信息是通过人工标注网络数据包对应的设备信息得到的,由于需要专业领域的有经验的人员进行标注,人工效率低,因此,此测试数据集并不大。对于某一待检测设备指纹,前述通过物联网设备指纹库进行匹配得到的对应于该待检测设备指纹的网络数据包都对应于同一设备信息,即待检测设备信息,所述待检测设备指纹fp对应的网络数据包的总数为n,将n个网络数据包对应的待检测设备信息与为所述n个网络数据包预先标注的真实设备信息进行比对,得到待检测设备信息与真实设备信息一致的网络数据包数量为m,则输出第一验证结果res1=m/n。

然后,再采用辅助识别的验证方法利用不同的辅助识别网络数据包对应设备信息的方法对前述通过物联网设备指纹库进行匹配得到的对应于该待检测设备指纹的网络数据包都对应于同一设备信息(即待检测设备信息)进行二次识别,将多种识别手段的识别结果进行对比验证。对于某一待检测设备指纹fp对应的n个网络数据包,采用k种辅助识别方法识别出的所述n个网络数据包中的第i个网络数据包的k个设备信息中与所述待检测设备信息一致的有mi个,则输出第二验证结果其中,i为整数且1≤i≤m,mi为整数且0≤mi≤k,其中,k为正整数。常见的辅助识别方法包括nmap算法和are算法等,此处不作具体限定,用于对网络数据包对应的设备信息进行识别。

第三个,采用聚类分析的方法对该待检测设备指纹识别出的网络数据包和其对应的待检测设备信息进行聚类,基于聚类结果进行分析得到验证结果。对所述待检测设备指纹fp对应的n个网络数据包进行聚类分析,确定聚簇结果中最大簇中的网络数据包的个数为j,若j>nl×,则第三验证结果res3=j/n,若j≤n×l,则第三验证结果res3=j×p/n,其中,l为第一聚类阈值系数,取值范围为[0,1],p为第一惩罚因子,取值范围为[0,1],其中,最大簇指聚类结果得到的簇中包含网络数据包个数最大的簇。基于聚类分析的第三验证结果的值,若该值越小,说明同一设备信息的设备聚类结果分散,那么说明待检测设备指纹的识别结果有误,将不同的设备标识成了同一设备,若该值越大,说明相同的设备聚类结果相对集中,若某一簇占比很高,甚至只聚出一簇,那么该待检测设备指纹可靠性较高。

最后,采用综合前三种验证方法的交叉验证进行综合评估,综合评估的流程如下:

若res1>th1,则所述待检测设备指纹对应的网络数据包对应的待检测设备信息满足第一精准率的要求;

若res1≤th1且res2×ρ+res3×(1-ρ)>th2,则所述待检测设备指纹对应的网络数据包对应的待检测设备信息满足第一精准率的要求;

若res1≤th1且res2×ρ+res3×(1-ρ)≤th2,则所述待检测设备指纹对应的网络数据包对应的待检测设备信息不满足第一精准率的要求;

其中,th1为预设第一可靠性阈值系数,th2为预设第二可靠性阈值系数,ρ为第一权值系数,取值范围为[0,1]。

基于上述任一实施例,该方法中,所述对所述非合格设备指纹对应的网络数据包的聚类结果进行抽样和人工标注设备信息,并根据人工标注的设备信息的分布判定所述非合格设备指纹是否满足可精细化的条件,具体包括:

对所述非合格设备指纹对应的网络数据包的聚类分析得到的所有簇按照各簇包含网络数据包个数的比例进行随机抽样,对抽样出来的x个样本网络数据包进行人工标注设备信息,统计所述x个样本网络数据包中标注相同设备品牌的样本网络数据包的个数,所述个数的最大值为y,若y/x>th3,则所述非合格设备指纹满足可精细化的条件,若y/x≤th3,则所述非合格设备指纹不满足可精细化的条件,其中,th3为预设可精细化阈值,所述设备信息包括设备品牌。

具体地,例如,所述非合格设备指纹对应的网络数据包进行聚类后得到4个簇,其中,这四个簇的网络数据包的数量分别为{50,30,30,10},则按照5:3:3:1的比例对这四个簇依次进行随机抽样,例如依次抽10个、6个、6个、2个样本网络数据包出来,并对这24个样本网络数据包进行人工标注设备信息,标识完成后,针对设备品牌的占比进行判定,若数量最多的设备品牌的占比超过预设可精细化阈值,则认为该非合格设备指纹存在精细化的可能,满足可精细化的条件,若数量最多的设备品牌的占比不超过预设可精细化阈值,则所述非合格设备指纹不满足可精细化的条件。

基于上述任一实施例,该方法中,所述对所述待精细化指纹对应的网络数据包的聚类结果进行抽样和人工标注设备信息的结果采用自动特征提取方法进行指纹特征扩充,得到扩充后的设备指纹与所述扩充后的设备指纹对应的设备信息,具体包括:

确定所述待精细化指纹对应的网络数据包的聚类结果得到的第q簇中的样本网络数据包被标注相同设备信息的个数,所述个数中最大值对应的设备信息为aq,则重新标注第q簇中所有网络数据包对应的设备信息为aq,若第t簇为所述聚类结果中的最大簇,则扩充后的设备指纹对应的新的设备信息为at,其中,q为整数且1≤q≤z,z为所述待精细化指纹对应的网络数据包的聚类得到的簇的总数;

所述待精细化指纹对应的网络数据包的个数为r,对待精细化指纹对应的r个网络数据包进行分词处理,去除停用词,对无效信息进行过滤,得到r个文本数据,所述无效信息包括mac地址和时间戳;

采用one-hot编码对所述r个文本数据进行二值化表示,得到r个维度为s的二进制特征向量,其中,所述二进制特征向量包含s个特征;

采用基于互信息的特征选择算法对所述r个二进制特征向量和对应于所述r个二进制特征向量的设备信息进行去除冗余特征的处理,得到r个维度为s’的降维二进制特征向量,其中,s’<s;

所述最大簇中网络数据包对应的降维二进制特征向量集合为p={p1,p2,p3,...,pu},所述聚类结果中除开所述最大簇的其他簇中网络数据包对应的降维二进制特征向量集合为p={p1,p2,p3,...,pv},其中,u和v均为整数且u+v=r,通过如下公式计算最大簇独有特征c:

c={(p1|p2|p3|...|pv)∧(p1&p2&p3&...&pu)}&(p1&p2&p3&...&pu)

将所述最大簇独有特征采用one-hot编码的映射关系转换为文本特征,将所述文本特征加入所述待精细化指纹得到扩充后的设备指纹。

具体地,例如,所述非合格设备指纹对应的网络数据包进行聚类后得到4个簇,其中,这四个簇的网络数据包的数量分别为{50,30,30,10},则按照5:3:3:1的比例对这四个簇依次进行随机抽样,例如依次抽10个、6个、6个、2个样本网络数据包出来,并对这24个样本网络数据包进行人工标注设备信息,标识完成后,得到第q簇中抽样的样本网络数据包的人工标注设备信息中数量最多的设备信息为aq,则重新标注第q簇中所有网络数据包对应的设备信息为aq,若第t簇为所述聚类结果中的最大簇,则扩充后的设备指纹对应的新的设备信息为at,其中,q为整数且1≤q≤z,z为所述待精细化指纹对应的网络数据包的聚类得到的簇的总数;

所述待精细化指纹对应的网络数据包的个数为r,对待精细化指纹对应的r个网络数据包进行分词处理,去除停用词,且采用正则表达式对mac地址、时间戳等无效信息进行过滤去除;

采用one-hot编码对所述r个文本数据进行二值化表示,得到r个维度为s的二进制特征向量,其中,所述二进制特征向量包含s个特征,其中,所述s个特征相当于s个属性,属性值通过1和0用于表示具有或者不具有,每个网络数据包都对应于一个维度为s的二进制特征向量;

采用基于互信息的特征选择算法对所述r个二进制特征向量和对应于所述r个二进制特征向量的设备信息进行去除冗余特征的处理,得到r个维度为s’的降维二进制特征向量,其中,s’<s;所述互信息的特征选择算法使得不同二进制特征向量之间的冗余特征被去除,同时使得二进制特征向量与其对应的设备信息之间的关联性加强;

所述最大簇中网络数据包对应的降维二进制特征向量集合为p={p1,p2,p3,...,pu},所述聚类结果中除开所述最大簇的其他簇中网络数据包对应的降维二进制特征向量集合为p={p1,p2,p3,...,pv},其中,u和v均为整数且u+v=r,通过如下公式计算最大簇独有特征c:

c={(p1|p2|p3|...|pv)∧(p1&p2&p3&...&pu)}&(p1&p2&p3&...&pu)

如此得到的最大簇独有特征即最大簇区别于其他簇的特征,同时,该最大簇独有特征与扩充后的设备指纹对应的新的设备信息的关联性更强。

将所述最大簇独有特征采用one-hot编码的映射关系转换为文本特征,将所述文本特征加入所述待精细化指纹得到扩充后的设备指纹。

基于上述任一实施例,该方法中,所述验证所述扩充后的设备指纹对应的所述新的网络数据包对应的所述新的设备信息是否满足第二精准率的要求,具体包括:

所述扩充后的设备指纹fp1对应的新的网络数据包的总数为n1,将n1个新的网络数据包对应的新的设备信息与为所述n1个新的网络数据包预先标注的真实设备信息进行比对,得到新的设备信息与真实设备信息一致的网络数据包数量为m1,则输出第一精细验证结果res’1=m1/n1;

采用k1种辅助识别方法识别出的所述n1个新的网络数据包中的第i’个新的网络数据包的k1个设备信息中与新的设备信息一致的有mi’个,则输出第二精细验证结果其中,i’为整数且1≤i’≤m1,mi’为整数且0≤mi’≤k1;

对所述扩充后的设备指纹fp1对应的n1个新的网络数据包进行聚类分析,确定聚簇结果中最大簇中的网络数据包的个数为j1,若j1>n1×l1,则第三精细验证结果res3’=j1/n1,若j1≤n1×l1,则第三精细验证结果res3’=j1×p1/n1,其中,l1为第二聚类阈值系数,取值范围为[0,1],p1为第二惩罚因子,取值范围为[0,1];

若res’1>th’1,则所述扩充后的设备指纹对应的所述新的网络数据包对应的所述新的设备信息满足第二精准率的要求;

若res’1≤th’1且res2’×ρ1+res3’×(1-ρ1)>th’2,则所述扩充后的设备指纹对应的所述新的网络数据包对应的所述新的设备信息满足第二精准率的要求;

若res’1≤th’1且res2’×ρ1+res3’×(1-ρ1)≤th’2,则所述扩充后的设备指纹对应的所述新的网络数据包对应的所述新的设备信息不满足第二精准率的要求;

其中,th’1为预设第一精细可靠性阈值系数,th’2为预设第二精细可靠性阈值系数,ρ1为第二权值系数,取值范围为[0,1]。

具体地,首先采用测试数据的验证方法将已有的真实标准数据的设备信息与利用所述扩充后的设备指纹识别的新的网络数据包对应的新的设备信息的结果进行对比验证。此处需要说明的是,已有的真实标准数据的设备信息是通过人工标注网络数据包对应的设备信息得到的,由于需要专业领域的有经验的人员进行标注,人工效率低,因此,此测试数据集并不大。对于某一扩充后的设备指纹,前述通过扩充后的设备指纹在网络数据库中进行匹配得到的对应于该扩充后的设备指纹的新的网络数据包都对应于同一设备信息,即新的设备信息,所述扩充后的设备指纹fp1对应的新的网络数据包的总数为n1,将n1个新的网络数据包对应的新的设备信息与为所述n1个新的网络数据包预先标注的真实设备信息进行比对,得到新的设备信息与真实设备信息一致的新的网络数据包数量为m,则输出第一验证结果res’1=m1/n1。

然后,再采用辅助识别的验证方法利用不同的辅助识别新的网络数据包对应设备信息的方法对前述通过扩充后的设备指纹在网络数据库中进行匹配得到的对应于该扩充后的设备指纹的新的网络数据包都对应于同一设备信息(即新的设备信息)进行二次识别,将多种识别手段的识别结果进行对比验证。对于某一扩充后的设备指纹fp1对应的n1个新的网络数据包,采用k1种辅助识别方法识别出的所述n1个新的网络数据包中的第i’个新的网络数据包的k1个设备信息中与新的设备信息一致的有mi’个,则输出第二精细验证结果其中,i’为整数且1≤i’≤m1,mi’为整数且0≤mi’≤k1,其中,k1为正整数。常见的辅助识别方法包括nmap算法和are算法等,此处不作具体限定,用于对新的网络数据包对应的设备信息进行识别。

第三个,采用聚类分析的方法对该扩充后的设备指纹识别出的新的网络数据包和其对应的新的设备信息进行聚类,基于聚类结果进行分析得到验证结果。对所述待检测设备指纹fp1对应得n1个新的网络数据包进行聚类分析,确定聚簇结果中最大簇中的新的网络数据包的个数为j1,若j1>n1×l1,则第三精细验证结果res3’=j1/n1,若j1≤n1×l1,则第三精细验证结果res3’=j1×p1/n1,其中,l1为第二聚类阈值系数,取值范围为[0,1],p1为第二惩罚因子,取值范围为[0,1],其中,最大簇指聚类结果得到的簇中包含新的网络数据包个数最大的簇。基于聚类分析的第三验证结果的值,若该值越小,说明同一设备信息的设备聚类结果分散,那么说明该扩充后的设备指纹的识别结果有误,将不同的设备标识成了同一设备,若该值越大,说明相同的设备聚类结果相对集中,若某一簇占比很高,甚至只聚出一簇,那么该扩充后的设备指纹可靠性较高。

最后,采用综合前三种验证方法的交叉验证进行综合评估,综合评估的流程如下:

若res’1>th’1,则所述扩充后的设备指纹对应的所述新的网络数据包对应的所述新的设备信息满足第二精准率的要求;

若res’1≤th’1且res2’×ρ1+res3’×(1-ρ1)>th’2,则所述扩充后的设备指纹对应的所述新的网络数据包对应的所述新的设备信息满足第二精准率的要求;

若res’1≤th’1且res2’×ρ1+res3’×(1-ρ1)≤th’2,则所述扩充后的设备指纹对应的所述新的网络数据包对应的所述新的设备信息不满足第二精准率的要求;

其中,th’1为预设第一精细可靠性阈值系数,th’2为预设第二精细可靠性阈值系数,ρ1为第二权值系数,取值范围为[0,1]。

基于上述任一实施例,该方法中,所述设备信息包括设备型号、设备品牌和设备类型。

基于上述任一实施例,本发明实施例提供一种物联网设备指纹库的精细化方法,图2为本发明实施例提供的物联网设备指纹精细化的框架图。如图2所示,该方法包括如下步骤:

步骤1:首先从常用探测端口数据库中选取探测端口列表,随机选取ip地址集合组成ipv4空间探测范围。采用网络嗅探器对选取得到的ipv4空间探测范围进行探测,探测过程通过构造request数据包发送给指定的ip和端口组合<ip,port>,并抓取response数据包存入response数据库中。

步骤2:图3为本发明实施例提供的物联网设备数据生成流程图。如图2所示,首先对response数据库中的response数据包进行去重处理。去重过程中包括数据的无效信息去除,即通过正则表达式将response数据包中的mac地址,时间戳等无效信息进行匹配标准化处理,从而提升去重效果。在数据预处理完成之后,对response数据库中的数据采用哈希算法进行去重处理。完成去重过程后,设备识别模块基于设备指纹库中的指纹数据对去重后的每一条response数据进行识别,设备识别模块利用设备指纹对response数据包中的内容信息进行正则匹配或者关键字匹配识别。最后,对识别成功的response数据打上识别结果<设备类型、设备品牌、设备型号>存入物联网设备数据库。

步骤3:采用多种验证方式对物联网设备数据集中的每个节点设备进行交叉验证。多维交叉验证方式主要包括三种,分别是基于测试数据的验证方法、基于辅助识别的验证方法、基于聚类分析的验证方法。所述待检测设备指纹fp对应的网络数据包的总数为n,将n个网络数据包对应的待检测设备信息与为所述n个网络数据包预先标注的真实设备信息进行比对,得到待检测设备信息与真实设备信息一致的网络数据包数量为m,则输出第一验证结果res1=m/n;采用k种辅助识别方法识别出的所述n个网络数据包中的第i个网络数据包的k个设备信息中与所述待检测设备信息一致的有mi个,则输出第二验证结果其中,i为整数且1≤i≤m,mi为整数且0≤mi≤k;

对所述待检测设备指纹fp对应的n个网络数据包进行聚类分析,确定聚簇结果中最大簇中的网络数据包的个数为j,若j>nl×,则第三验证结果res3=j/n,若j≤n×l,则第三验证结果res3=j×p/n,其中,l为第一聚类阈值系数,取值范围为[0,1],p为第一惩罚因子,取值范围为[0,1];若res1>th1,则所述待检测设备指纹对应的网络数据包对应的待检测设备信息满足第一精准率的要求;若res1≤th1且res2×ρ+res3×(1-ρ)>th2,则所述待检测设备指纹对应的网络数据包对应的待检测设备信息满足第一精准率的要求;若res1≤th1且res2×ρ+res3×(1-ρ)≤th2,则所述待检测设备指纹对应的网络数据包对应的待检测设备信息不满足第一精准率的要求;其中,th1为预设第一可靠性阈值系数,th2为预设第二可靠性阈值系数,ρ为第一权值系数,取值范围为[0,1]。若满足第一精准率的要求,则该待检测设备指纹合格,否则不合格。

步骤4:在步骤3中已经采用聚类方式对待检测设备指纹fp识别出的所有设备response数据包进行了聚类分析,对评估非合格的指纹的数据聚类结果按照每一簇的占比进行同等比例下的抽样判定,标识其实际的<设备类型、设备品牌、设备型号>信息。例如,非合格指纹fp的响应数据包聚类结果为4个簇,每个簇的响应数据包数量分别为{50,30,30,10},则按照5:3:3:1的比例对每个簇进行随机抽样,标识设备其<设备类型、设备品牌、设备型号>信息。标识完成后,针对设备品牌的占比进行判定,若某一数量最多的设备占比超过可精细化阈值,则认为该指纹存在精细化可能,将该指纹存入待精细化指纹库中。

步骤5:对于待精细化设备指纹fp,获取步骤4中的该条指纹识别出的响应数据包集合的聚类分析结果以及抽样标定数据。在之前的抽样标定过程中,已经对每个簇的抽样标定结果进行了过滤,因此每一簇的抽样标定结果即代表了整个簇的设备产品信息。基于该标定数据集,指纹特征扩充的步骤如下:

5.1数据预处理阶段:对response数据包进行分词处理,同时去除数据中的停用词,且采用正则表达式对mac地址、时间戳等无效信息进行过滤去除。

5.2文本数值化阶段:采用one-hot编码对文本数据进行二值化表示,将文本数据转化为数值数据。

5.3共性特征过滤阶段:对不同标识设备数据之间的共性冗余特征进行过滤删除处理。完成过滤删除过程后将对应数值特征重新转化为依据one-hot编码的映射关系重新转化为文本特征。

5.4指纹特征扩充阶段:将筛选出的文本特征作为二级补充特征加入原始待精细化设备指纹中。

步骤6:完成特征扩充后的新指纹并不能立即加入精准指纹库,新指纹仅仅满足聚类数据集下的指纹特征唯一性,其在公网数据集中的精准率还需进行再次验证。再次验证过程只需重复步骤3中的指纹验证和指纹评估步骤即可,完成验证和评估步骤后,将评估合格的设备指纹放入物联网设备指纹库中,将非合格指纹进行废弃处理。

基于上述任一实施例,本发明实施例提供一种物联网设备指纹库的精细化装置,图4为本发明实施例提供的物联网设备指纹库的精细化装置的结构示意图。如图4所示,该装置包括抓取单元410、匹配单元420、第一验证单元430、待精细化单元440、扩充单元450和第二验证单元460,其中,

所述抓取单元410,用于抓取预设范围内的网络节点的网络数据包放入网络数据库;

所述匹配单元420,用于基于物联网设备指纹库确定所述网络数据包对应的待检测设备指纹和对应的待检测设备信息,所述物联网设备指纹库用于存储设备指纹和设备信息的对应关系;

所述第一验证单元430,验证所述待检测设备指纹对应的网络数据包对应的待检测设备信息是否满足第一精准率的要求,若不满足,则确定所述待检测设备指纹为非合格设备指纹并将所述待检测设备指纹与所述待检测设备信息从所述物联网设备指纹库中剔除;

所述待精细化单元440,对所述非合格设备指纹对应的网络数据包的聚类结果进行抽样和人工标注设备信息,并根据人工标注的设备信息的分布判定所述非合格设备指纹是否满足可精细化的条件,若不满足,则将所述非合格设备指纹废弃,若满足,则确定所述非合格设备指纹为待精细化设备指纹;

所述扩充单元450,对所述待精细化设备指纹对应的网络数据包的聚类结果进行抽样和人工标注设备信息的结果采用自动特征提取方法进行指纹特征扩充,得到扩充后的设备指纹与所述扩充后的设备指纹对应的新的设备信息,确定所述扩充后的设备指纹在网络数据库中对应的新的网络数据包;

所述第二验证单元460,验证所述扩充后的设备指纹对应的所述新的网络数据包对应的所述新的设备信息是否满足第二精准率的要求,若满足,则将所述扩充后的设备指纹与所述扩充后的设备指纹对应的设备信息存入物联网设备指纹库,若不满足,则将所述扩充后的设备指纹废弃。

本发明实施例提供的装置,通过从网络中抓取的大量网络数据包对已有的物联网设备指纹库进行验证,验证由物联网设备指纹库给所述网络数据包匹配的设备信息是否满足精准率的要求,若不满足,则筛选其为非合格设备指纹,并将其从物联网设备指纹库移除,然后对非合格设备指纹进行进一步的精细化的处理,首先判断所述非合格设备指纹的对应的网络数据包的聚类结果是否达到可精细化的条件,若达到则确定所述非合格设备指纹为待精细化设备指纹,然后通过对待精细化设备指纹的聚类结果进行自动特征提取的方式进行指纹特征扩充,得到扩充后的设备指纹和扩充后的设备指纹对应的新的设备信息,再对扩充后的设备指纹对应的网络数据包匹配的设备信息进行是否满足精准率的判定,若满足,则将扩充后的设备指纹加入物联网设备指纹库。如此,本发明首先挑出了非合格设备指纹,然后对满足可精细化要求的非合格设备指纹进行指纹特征扩充,形成更精细的扩充后的设备指纹,最后将通过精准率验证的扩充后的设备指纹放入物联网设备指纹库。因此,本发明实施例提供的装置实现了智能高效率的物联网设备指纹库的设备指纹的验证,降低了人工成本,同时也对失效指纹进一步处理使其成为合格指纹并加入网联网物联网设备指纹库实现了对失效指纹的更新。

基于上述任一实施例,该装置中,所述抓取单元,具体用于,

向预设范围内的网络地址端口发送请求数据包,抓取对应的响应数据包,对所述响应数据包进行去重处理,得到网络数据包并存入网络数据库。

基于上述任一实施例,该装置中,所述匹配单元,具体用于,

利用物联网设备指纹库中的设备指纹对所述网络数据包中的内容信息进行正则匹配或者关键字匹配识别,确定所述网络数据包对应的物联网设备指纹库中的待检测设备指纹,确定物联网设备指纹库中的待检测设备指纹对应的设备信息为所述网络数据包对应的待检测设备信息。

基于上述任一实施例,该装置中,所述第一验证单元,具体用于,

所述待检测设备指纹fp对应的网络数据包的总数为n,将n个网络数据包对应的待检测设备信息与为所述n个网络数据包预先标注的真实设备信息进行比对,得到待检测设备信息与真实设备信息一致的网络数据包数量为m,则输出第一验证结果res1=m/n;

采用k种辅助识别方法识别出的所述n个网络数据包中的第i个网络数据包的k个设备信息中与所述待检测设备信息一致的有mi个,则输出第二验证结果其中,i为整数且1≤i≤m,mi为整数且0≤mi≤k;

对所述待检测设备指纹fp对应的n个网络数据包进行聚类分析,确定聚簇结果中最大簇中的网络数据包的个数为j,若j>n×l,则第三验证结果res3=j/n,若j≤n×l,则第三验证结果res3=j×p/n,其中,l为第一聚类阈值系数,取值范围为[0,1],p为第一惩罚因子,取值范围为[0,1];

若res1>th1,则所述待检测设备指纹对应的网络数据包对应的待检测设备信息满足第一精准率的要求;

若res1≤th1且res2×ρ+res3×(1-ρ)>th2,则所述待检测设备指纹对应的网络数据包对应的待检测设备信息满足第一精准率的要求;

若res1≤th1且res2×ρ+res3×(1-ρ)≤th2,则所述待检测设备指纹对应的网络数据包对应的待检测设备信息不满足第一精准率的要求;

其中,th1为预设第一可靠性阈值系数,th2为预设第二可靠性阈值系数,ρ为第一权值系数,取值范围为[0,1]。

基于上述任一实施例,该装置中,所述精细化单元,具体用于,

对所述非合格设备指纹对应的网络数据包的聚类分析得到的所有簇按照各簇包含网络数据包个数的比例进行随机抽样,对抽样出来的x个样本网络数据包进行人工标注设备信息,统计所述x个样本网络数据包中标注相同设备品牌的样本网络数据包的个数,所述个数的最大值为y,若y/x>th3,则所述非合格设备指纹满足可精细化的条件,若y/x≤th3,则所述非合格设备指纹不满足可精细化的条件,其中,th3为预设可精细化阈值,所述设备信息包括设备品牌。

基于上述任一实施例,该装置中,所述扩充单元,具体用于,

确定所述待精细化设备指纹对应的网络数据包的聚类结果得到的第q簇中的样本网络数据包被标注相同设备信息的个数,所述个数中最大值对应的设备信息为aq,则重新标注第q簇中所有网络数据包对应的设备信息为aq,若第t簇为所述聚类结果中的最大簇,则扩充后的设备指纹对应的新的设备信息为at,其中,q为整数且1≤q≤z,z为所述待精细化设备指纹对应的网络数据包的聚类得到的簇的总数;

所述待精细化设备指纹对应的网络数据包的个数为r,对待精细化设备指纹对应的r个网络数据包进行分词处理,去除停用词,对无效信息进行过滤,得到r个文本数据,所述无效信息包括mac地址和时间戳;

采用one-hot编码对所述r个文本数据进行二值化表示,得到r个维度为s的二进制特征向量,其中,所述二进制特征向量包含s个特征;

采用基于互信息的特征选择算法对所述r个二进制特征向量和对应于所述r个二进制特征向量的设备信息进行去除冗余特征的处理,得到r个维度为s’的降维二进制特征向量,其中,s’<s;

所述最大簇中网络数据包对应的降维二进制特征向量集合为p={p1,p2,p3,...,pu},所述聚类结果中除开所述最大簇的其他簇中网络数据包对应的降维二进制特征向量集合为p={p1,p2,p3,...,pv},其中,u和v均为整数且u+v=r,通过如下公式计算最大簇独有特征c:

c={(p1|p2|p3|...|pv)∧(p1&p2&p3&...&pu)}&(p1&p2&p3&...&pu)

将所述最大簇独有特征采用one-hot编码的映射关系转换为文本特征,将所述文本特征加入所述待精细化设备指纹得到扩充后的设备指纹。

基于上述任一实施例,该装置中,所述第二验证单元,具体用于,

所述扩充后的设备指纹fp1对应的新的网络数据包的总数为n1,将n1个新的网络数据包对应的新的设备信息与为所述n1个新的网络数据包预先标注的真实设备信息进行比对,得到新的设备信息与真实设备信息一致的网络数据包数量为m1,则输出第一精细验证结果res’1=m1/n1;

采用k1种辅助识别方法识别出的所述n1个新的网络数据包中的第i’个新的网络数据包的k1个设备信息中与新的设备信息一致的有mi’个,则输出第二精细验证结果其中,i’为整数且1≤i’≤m1,mi’为整数且0≤mi’≤k1;

对所述扩充后的设备指纹fp1对应的n1个新的网络数据包进行聚类分析,确定聚簇结果中最大簇中的网络数据包的个数为j1,若j1>n1×l1,则第三精细验证结果res3’=j1/n1,若j1≤n1×l1,则第三精细验证结果res3’=j1×p1/n1,其中,l1为第二聚类阈值系数,取值范围为[0,1],p1为第二惩罚因子,取值范围为[0,1];

若res’1>th’1,则所述扩充后的设备指纹对应的所述新的网络数据包对应的所述新的设备信息满足第二精准率的要求;

若res’1≤th’1且res2’×ρ1+res3’×(1-ρ1)>th’2,则所述扩充后的设备指纹对应的所述新的网络数据包对应的所述新的设备信息满足第二精准率的要求;

若res’1≤th’1且res2’×ρ1+res3’×(1-ρ1)≤th’2,则所述扩充后的设备指纹对应的所述新的网络数据包对应的所述新的设备信息不满足第二精准率的要求;

其中,th’1为预设第一精细可靠性阈值系数,th’2为预设第二精细可靠性阈值系数,ρ1为第二权值系数,取值范围为[0,1]。

基于上述任一实施例,该装置中,所述设备信息包括设备型号、设备品牌和设备类型。

图5为本发明实施例提供的电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)501、通信接口(communicationsinterface)502、存储器(memory)503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信。处理器501可以调用存储在存储器503上并可在处理器501上运行的计算机程序,以执行上述各实施例提供的物联网设备指纹库的精细化方法,例如包括:抓取预设范围内的网络节点的网络数据包放入网络数据库;基于物联网设备指纹库确定所述网络数据包对应的待检测设备指纹和对应的待检测设备信息,所述物联网设备指纹库用于存储设备指纹和设备信息的对应关系验证所述待检测设备指纹对应的网络数据包对应的待检测设备信息是否满足第一精准率的要求,若不满足,则确定所述待检测设备指纹为非合格设备指纹并将所述待检测设备指纹与所述待检测设备信息从所述物联网设备指纹库中剔除;对所述非合格设备指纹对应的网络数据包的聚类结果进行抽样和人工标注设备信息,并根据人工标注的设备信息的分布判定所述非合格设备指纹是否满足可精细化的条件,若不满足,则将所述非合格设备指纹废弃,若满足,则确定所述非合格设备指纹为待精细化设备指纹;对所述待精细化设备指纹对应的网络数据包的聚类结果进行抽样和人工标注设备信息的结果采用自动特征提取方法进行指纹特征扩充,得到扩充后的设备指纹与所述扩充后的设备指纹对应的新的设备信息,确定所述扩充后的设备指纹在网络数据库中对应的新的网络数据包;验证所述扩充后的设备指纹对应的所述新的网络数据包对应的所述新的设备信息是否满足第二精准率的要求,若满足,则将所述扩充后的设备指纹与所述扩充后的设备指纹对应的设备信息存入物联网设备指纹库,若不满足,则将所述扩充后的设备指纹废弃。

此外,上述的存储器503中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的物联网设备指纹库的精细化方法,例如包括:抓取预设范围内的网络节点的网络数据包放入网络数据库;基于物联网设备指纹库确定所述网络数据包对应的待检测设备指纹和对应的待检测设备信息,所述物联网设备指纹库用于存储设备指纹和设备信息的对应关系验证所述待检测设备指纹对应的网络数据包对应的待检测设备信息是否满足第一精准率的要求,若不满足,则确定所述待检测设备指纹为非合格设备指纹并将所述待检测设备指纹与所述待检测设备信息从所述物联网设备指纹库中剔除;对所述非合格设备指纹对应的网络数据包的聚类结果进行抽样和人工标注设备信息,并根据人工标注的设备信息的分布判定所述非合格设备指纹是否满足可精细化的条件,若不满足,则将所述非合格设备指纹废弃,若满足,则确定所述非合格设备指纹为待精细化设备指纹;对所述待精细化设备指纹对应的网络数据包的聚类结果进行抽样和人工标注设备信息的结果采用自动特征提取方法进行指纹特征扩充,得到扩充后的设备指纹与所述扩充后的设备指纹对应的新的设备信息,确定所述扩充后的设备指纹在网络数据库中对应的新的网络数据包;验证所述扩充后的设备指纹对应的所述新的网络数据包对应的所述新的设备信息是否满足第二精准率的要求,若满足,则将所述扩充后的设备指纹与所述扩充后的设备指纹对应的设备信息存入物联网设备指纹库,若不满足,则将所述扩充后的设备指纹废弃。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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