物联网资产标记方法研究—基于聚类算法的物联网资产识别算法

1. 前言随着物联网设备的普及和人工智能技术的发展 , 越来越多的物联网设备及服务暴露在互联网中 , 这也导致其安全问题备受关注 。 物联网资产识别是物联网安全中必要且关键的一环 , 如果能够对暴露在外的物联网资产进行归纳梳理并分析 , 对于发现物联网设备的安全问题是具有重要意义的 。
然而物联网资产的识别具备一定的复杂性 , 首先暴露在互联网上的资产众多 , 对于大量数据的收集具备一定难度 。 此外 , 由于物联网资产的更新变化速度快 , 种类众多 , 导致物联网资产识别十分碎片化 。 对于已知类型的物联网资产往往通过专家知识进行指纹提取 , 此类方法的人工成本和时间成本都比较高 。 在探索物联网资产识别的道路上 , 我们通过研究应用聚类算法取得了不错的效果 。
2. 物联网资产识别物联网资产识别的关键在于找到物联网指纹 , 往期文章中已经介绍过物联网资产的一些特征和识别方法 。 本文的研究依然是从探测全网资产的存活端口获取响应信息(也称Banner) , 利用Banner进行物联网资产识别的方式进行研究 。
2.1 物联网资产指纹
物联网设备厂商开发出类别繁多的设备 , 不同的厂商的设备类型以及版本号类型编号等都具有一定差异 。 路由器仅按照应用类别区分就有无线路由器 , 商用路由器 , 工业路由器等多种类型 。
物联网资产标记方法研究—基于聚类算法的物联网资产识别算法文章插图
某厂商物联网产品类型
通过发送网络协议通信请求的方式探测互联网上暴露的资产 , 通过请求返回的响应信息识别设备是否为物联网设备以及对应的指纹信息 。 由于物联网设备返回的报文信息中往往包含物联网设备所属的设备类型以及品牌等信息 , 因此一旦能够通过报文响应信息提取到物联网指纹 , 就可以利用指纹作为识别物联网资产的依据 , 甚至可以得到设备类型编号等详细信息 。 如下图所示 , NETGEAR WGR614v10 作为HTTP报文响应头信息中的WWW字段内容 , 可以提取到该资产对应的品牌以及设备型号 。
HTTP/1.0 401 Unauthorized
WWW-Authenticate: Basic realm="NETGEAR WGR614v10"
Content-type: text/html

401未授权
401未授权
到本资源的访问被拒绝 , 您的客户端未提供正确的认证 。
2.2 物联网资产指纹提取
物联网资产的指纹提取往往是很复杂的 , 首先指纹所在的位置是不固定的 , 而且指纹的提取需要具备一定的专家知识 , 在人力成本和时间成本方面都比较大 。 那么物联网资产的指纹如何更加有效的提取到呢?我们研究发现在收集到的大量的Banner响应信息中 , 相同指纹的物联网资产往往在报文的结构和报文的内容上具备很高的相似性 。 如果将大量的Banner响应信息中具备高相似度的Banner响应信息进行整合 , 对于专家提取物联网资产指纹是很有意义的 , 一定程度上甚至可以替代专家 , 实现自动化的对物联网资产进行指纹提取 。
物联网资产标记方法研究—基于聚类算法的物联网资产识别算法文章插图
某物联网资产指纹
如上图 , 表示了两条具有相同指纹信息的Firewall设备的响应信息 。 在算法层面如果对相似Banner响应信息进行挖掘 , 无监督聚类方法是一个值得探索的方向 。
3. 聚类算法应用及实践对物联网资产进行算法应用之前 , 首先需要对收集的报文信息进行向量化处理 。 通过对报文中必要的属性以及标签内容等有效信息进行提取 , 然后采用TF-IDF进行文本数据向量化 , 最后通过数据降维PCA技术将向量化的文本进行降维 , 降维之后的向量作为聚类算法模型的输入进行聚类 , 向量化过程如下 。
物联网资产标记方法研究—基于聚类算法的物联网资产识别算法文章插图
资产数据向量化提取流程
聚类算法包括基于距离的K-Means聚类算法 , 基于层次划分的Hierarchical Agglomeration聚类算法 , 基于密度的EM聚类算法 , 以及DBSCAN等多种不同方式的聚类算法 , 近几年又发展出了FINCH等高效的聚类算法 。 我们在研究过程中发现使用KMeans算法和DBSCAN算法在时间开销以及聚类效果方面有一定优势 。
KMeans算法是一种基于距离计算的朴素聚类思想 , 其过程如下 。
物联网资产标记方法研究—基于聚类算法的物联网资产识别算法文章插图
DBSCAN算法是一种基于密度计算的聚类算法 , 其过程如下 。
1. 找到任意核心点 , 寻找从核心点出发的所有密度连接点