一、引言
无论在互联网还是内网场景中,对资产的准确识别一直是一个老生常谈的问题。但实际上随着物联网相关技术的不断发展,有越来越多新的设备类型出现在我们的网络中,所以说资产识别是一个进行时的问题,需要持续关注才能很好的解决。《物联网资产识别方法研究综述》和《物联网资产的6个特征》分别介绍了物联网资产相关的识别方法和开放HTTP服务的物联网资产的一些特征。本文介绍我们基于物联网资产的先验知识,做了一些物联网资产发现的实践工作。
二、暴露的物联网资产的特征
找到暴露的物联网资产不是容易的事情,原因在于互联网上的暴露资产数量巨大、类型繁多,而物联网资产碎片化程度非常严重。因而,发现物联网资产的第一步是从暴露在互联网上的各类资产中找到物联网设备的特征,形成先验知识。
2.1 暴露在互联网的各类资产类型
通过网络空间搜索引擎,我们可以快速的知道,全世界大约有多少资产和服务器暴露在互联网上。那么具体都会有什么类型的资产和服务暴露在互联网上呢?
我们具体一些例子:
- 个人/企业网站或服务
个人/企业使用公网IP部署的网站或服务。
- 电商类服务
淘宝、京东等B2B、B2C、C2C的电商网站。
- 搜索类服务
百度、谷歌、豆瓣、知乎等搜索类服务网站。
- 数据库服务
MySQL、MongoDB、ES、Redis等数据库服务。
- 网络安全设备
WAF、防火墙、VPN等网络安全设备
- IDC/家庭宽带
IDC主机和家庭宽带出口地址开放的服务
此外,物联网相关的资产有:
- 物联网/工业控制系统或服务
打印机、摄像头、智能家居等物联网设备或服务,还有工业控制系统服务
- 城市基础设施
智能交通、智慧城市、充电桩等城市基础设施系统
上述部分物联网资产可参见图1所示。
- 其他服务
图1 一些互联网上暴露资产类别
当然,上述提到的是互联网上暴露数量比较多的资产类别,但绝不仅仅是提到的这几类,这里就不一一列举了。
2.2 暴露物联网资产的特征
物联网设备和传统的PC或服务器暴露情况不太一样,因为物联网设备一般会成批量的暴露在互联网上,比如某厂商某型号的摄像头会重复部署到互联网上,这些设备Banner几乎完全一样的,所以可以利用这样聚集性的特点来发现物联网设备。
考虑到互联网上暴露的资产数量和种类繁多,所以我们首先想到的是通过一些物联网特征形成先验知识来减少处理的数据量,从而实现快速发现物联网资产。
通过分析2.1中的各类物联网资产,我们发现物联网资产的特征主要分为以下几类:
- 设备类型
物联网设备类型关键词。比如Camera、Router、Smart Home等。
- 厂商名称
物联网设备厂商列表可以通过搜索引擎上搜索获得。比如TP-Link、Broadlink等。
- Web服务器
服务类网站常用的Nginx、Apache等作为Web服务器,而物联网设备常用嵌入式web服务器,比如Boa、thttpd、GoAhead等。
- 操作系统
常见的物联网操作系统。比如OpenWRT、Android Things、ConTIk等。
- 协议
物联网设备服务常用协议类型。比如:ONVIF、UPnP、RTSP、HTTP等。
三、物联网资产发现实践
通过物联网关键词、Web服务器、操作系统、协议等特征作为先验知识来筛选数据,然后再对筛选得到高置信度物联网设备的Banner中的高频词组进行统计,通过对高频的词组对应的资产标记处理,实现快速发现物联网资产类别。
3.1 识别流程
当我们已经有了物联网设备先验知识,再从筛选后的数据中来标记物联网资产就容易多了。资产发现具体分为以下几个步骤:
- 根据不同协议采集互联网上存活的资产数据;
- 使用物联网先验知识对全部资产进行过滤,得到高置信度物联网资产数据;
- 对筛选得到的资产Banner中的词频进行统计;
- 对词频排序得到高频词列表,并将Banner含有该词汇的资产信息放到一个类别中;
- 对逐个类别进行处理,标记出物联网资产。
图2 基于物联网先验知识的资产识别流程
3.2 标记举例
使用国内开放HTTP服务的资产数据作为标记数据集,以UPnP作为物联网资产先验知识,筛选后共有5726个资产服务含有该字符串。其中含有UPnP的高频词组列表如下图所示。
图3 含有UPnP词频降序列表
其中包含Server: Linux/2.x UPnP/1.0 Avtech/1.0资产最多,那我们接下来看看这一类中是什么资产,下图给出了这个类别中的部分资产记录,从HTTP Title字段都是“::: Login :::”可以近一步确定是一类资产。
图4 包含Server: Linux/2.x UPnP/1.0 Avtech/1.0的资产列表
访问其中一个Web页面,看到了下图中的登录页面,从这个页面中的描述“Any time & Any where IP Surveillance for Your Life”就可以确定这是个网络摄像头。而且AVTECH是台湾的摄像头厂商(升泰科技),所以就可以输出一条物联网指纹,指纹:Server: Linux/2.x UPnP/1.0 Avtech/1.0 厂商:AVTECH 设备类型:网络摄像头。至此一条物联网资产标记完成。
图5 设备的服务页面
3.3 识别效果
我们尝试标记了50个物联网关键词,通过对国内的开放HTTP的资产数据分析,共发现了112条物联网指纹,13个设备类型,涉及40个厂商,当然还意外发现了若干物联网蜜罐。相对于纯人工标记的方法,基于先验知识的标记物联网资产的方法大大缩小了标记的投入产出比,物联网资产发现效果还是十分明显的。
四、总结
本文介绍了一种基于先验知识的物联网资产标记方法,从实际的标记情况来看,这种方式确实可以提升标记效率,但是该方法也有许多不足之处。其一,先验知识收集的再好,也不会覆盖全部的物联网资产,并且也不能发现新出现的物联网资产;其二,因为基于先验知的标记方法属于“Pick”模式,就是找我们关注的物联网资产,所以从全局来看,这种方法标记的覆盖度和进度都是不可知的。
针对这些问题,下一篇会介绍一种通过“涸泽而渔”思路来标记物联网资产方法,敬请期待!