一、引言
众所周知,网络安全风险评估从设备识别开始,所以能否对物联网设备进行精准的识别对物联网安全研究有着重要意义。在我的上一篇《物联网资产识别方法研究综述》中已经介绍了物联网资产的相关识别方法。在文章的最后提到了以一种基于机器学习与人工标记相结合的方法对物联网资产精确识别。如果采用机器学习的方法来解决识别,那么描绘物联网资产的特征就变得尤为重要。接下来本文就来介绍开放HTTP服务的物联网设备的特征。
在介绍物联网设备特征之前,需要先了解什么是Banner?Banner就是一个网络服务的元数据,其中包含的信息可以由服务开发者进行自定义。比如:对于HTTP协议而言,Banner就是HTTP协议应答的Headers和Body,对于FTP协议,Banner就是欢迎字符串和运行某些命令的返回结果等。任何服务都可以设置Banner,内容会根据生成Banner的人和服务类型有所差异。所以利用Banner差异就可以提取到服务所对应的资产的一些特征。
二、使用HTTP协议的物联网设备特征
1web首页为登录页面
开放HTTP服务的物联网设备大多有web页面,其功能除了对设备信息的展示外,同时也便于管理人员对设备的控制和管理。比如:路由器的服务页面可以用于配置路由器的网络和控制策略;摄像头的服务页面可以快速查看实时影像和历史记录,或者控制摄像头转向等。物联网设备web首页往往是登录页面,认证通过后才可以进行相应的控制页面。所以相对与网站类web服务,这属于物联网设备的一个特征。
图1.物联网设备登陆页面示例
2 多使用嵌入式操作系统和轻量的web服务器
物联网系统的控制操作、数据处理操作,都是通过嵌入式的技术去实现的,可以说物联网就是嵌入式产品的网络化。比如路由器操作系统:DD-WRT、Tomato、Gargoyle与OpenWRT等等。
图2.使用OpenWrt的路由器页面
考虑到嵌入式系统的性能限制,如果需要开发web服务,多数都会采用轻量的web服务器,下面就介绍几种物联网设备(嵌入式)常用的轻量web服务器:
LibHTTPD是一个开源轻量级嵌入式web server,是提供一个专门针对高性能网站安全、快速、兼容性好并且灵活的webserver环境。具有非常低的内存开销,CPU占用率低,效能好,以及丰富的模块等特点。
Shttpd是另一个开源的轻量级的web server,具有比thttpd更丰富的功能特性,支持CGI、SSL、cookie、MD5认证, 还能嵌入(embedded)到现有的软件里。
thttpd是一款比较精巧的开源web服务器。它的初衷是提供一款简单、小巧、易移植、快速和安全的HTTP服务器。thttpd至少和主流的web server一样快,在高负载下更快,因为其资源占用小的缘故。
Boa是一种非常小巧的web服务器,其可执行代码只有大约60KB左右。作为一种单任务web服务器,Boa只能依次完成用户的请求,而不会fork进程来处理并发连接请求。但Boa支持CGI,能够为CGI程序fork出一个进程来执行。
mini_httpd是一个小型的开源HTTP服务器,它的性能不强,但非常适合于中小访问量的站点。Mini_httpd和Thttpd都是ACME Labs 开发的软件,功能没有Thttpd强。
AppWeb 是下一代嵌入式web服务器,它的最初设计理念就是安全性AppWeb是一个快速、低内存使用量、标准库、方便的服务器。与其它嵌入式web服务器相比,AppWeb最大特点就是功能丰富和高度的安全保障。
GoAhead WebServer是为嵌入式实时操作系统(RTOS)量身定制的web服务器。GoAhead WebServer是跨平台的服务器软件,可以稳定地运行在Windows、Linux和MacOS操作系统之上。
3HTML页面长度相对较短,且不会有大量中文字符
上文介绍了物联网设备页面主要功能就是设备状态显示和控制,所以大部分的物联网设备网页整体的文本长度相对于服务性网站要短的多。下表就是抽取10万个物联网设备和网站类的网页进行长度对比情况,从网页长度均值来,二者大约相差3000个字节长度。
表1.物联网设备和其他网站类服务网页文本长度
网页长度 | 物联网设备 | 网站类服务 |
---|---|---|
均值 | 4722.24 | 7712.41 |
标准差 | 14044.62 | 16197.68 |
除了页面文本长度外,物联网设备页面同样不会有过多的描述信息,所以中文的字符相对传统的网站服务类的数量也会少的多,下表是抽取部分国内的物联网设备和网站,统计了中文字符数的平均值,可以看出二者中文字符均值相差还是比较多的。如果抽取全球的资产数据,相信这个差距肯定会更大。
表2.物联网设备和其他网站类服务中文字符数量
中文字符数 | 物联网设备 | 网站类服务 |
---|---|---|
均值 | 39.04 | 341.24 |
标准差 | 134.33 | 785.5 |
4结构化特征
结构化特征就是指用结构化数据表示的物联网设备特征,能够用数据或统一的结构加以表示,我们称之为结构化数据,如数字、符号。传统的关系数据模型、行数据,存储于数据库,可用二维表结构表示。HTTP服务的物联网设备特征主要出现在HTTP响应首部字段,主要包括:Server、Location、WWW-Authenticate。
该字段用于描述客户端当前服务器上安装的HTTP服务器应用程序的信息。物联网设备厂商或是开发者会写入一些设备相关信息,比如厂商服务名称或设备类型等。下图中的Netwave IP Camera就是Netwave的IP摄像头的特征。
图3.Server字段中的物联网特征示例
该字段配合3XX的状态码响应,作用是告诉客户端重定向至指定URI,几乎所有的浏览器接收到包含首部字段的Location响应后,都会强制性尝试对重定向资源的访问。重定向的URI中就可能包含设备的特征,下图为重定向的链接中包含的“/hp/device/this.LCDispatcher”就是惠普打印机的一个特征。
图4.Location字段中的物联网设备特征示例
WWW-Authenticate是早期的一种简单的,有效的用户身份认证技术。很多网站验证都采用这种简单的验证方式来完成对客户端请求的数据的合法性进行验证。尤其在物联网等嵌入式设备,此方法使用较多。下图中Basic realm="Broadcom Home Gateway Reference Design"就是博通的家庭网关设备特征。
图5.WWW-Authenticate字段中的物联网设备特征示例
Title元素可定义HTML文档的标题。浏览器会以特殊的方式来使用标题,并且通常把它放置在浏览器窗口的标题栏或状态栏上。同样,当把文档加入用户的链接列表或者收藏夹或书签列表时,标题将成为该文档链接的默认名称。Title标签是 HTML<head> 标签中唯一要求包含的标签字段。所以出现在该字段的特征被归为结构化的特征。下图为TP-Link Archer C5路由器的特征。
图6.Title字段中的物联网设备特征示例
5半结构化特征
半结构化特征是结构化特征的一种形式,它并不像结构化特征具有固定的数据模型结构,但他包含相关标记来分隔语义元素以及对记录和字段进行分层,因此也被称为自描述的结构。比如:XML、HTML文档就属于半结构化数据。所以在HTTP服务的物联网设备特征中,半结构化的特征主要包括标签文本和标签属性。
标签文本即为HTML标签中的文本值,下图中的“AC720 ProSAFE Dual Band Wireless AC Access Point”是NETGEARWAC720 无线路由器的一个特征。
图7.标签文本中的物联网设备特征示例
HTML标签属性包括class、id、name、style等,下图中的路径"/luci-static/netgear/logo.png"就包含了NETGEAR的设备特征。
图8.标签属性中的物联网设备特征示例
6非结构化特征
顾名思义就是没有固定结构的数据特征。比如文档、图片、视频/音频等都属于非结构化数据。开放HTTP服务设备的非结构化的特征主要存在于前端JS或CSS中,比图JS代码编写过程中会命名一些和设备特征相关的变量名称,下图即为JS代码中提取的摄像头设备的特征举例。
图9.JS代码中的物联网设备特征示例
对已经标记的物联网资产进行统计,其中指纹出现在结构化特征的占比最多,而结构化特征的字段数量排名依次是Title、WWW-Authenticate、Server、Location。具体的分布情况见下图。
图10.已识别物联网设备特征分布情况
三、总结
本文介绍了开放HTTP服务的物联网设备的一些特征,当然其中也有物联网设备的负特征,笔者认为识别的本质就是在目标数据集中找出我们想要的东西,但我们不想要特征可以会缩小数据集范围,同样有助于达到识别的目的。本文提到特征都来源于真实物联网设备标记过程中的探索与实践,遂成此文,如有不足之处,也希望各位不吝赐教。
感兴趣的读者欢迎点击阅读资产系列相关文章:
《只要运营功夫深,大海也能捞到针——IPv6地址扫描实践分享》
https://blog.shodan.io/what-is-a-banner/
https://blog.csdn.net/newnewman80/article/details/8809560
关于格物实验室
格物实验室专注于工业互联网、物联网和车联网三大业务场景的安全研究。 致力于以场景为导向,智能设备为中心的漏洞挖掘、研究与安全分析,关注物联网资产、漏洞、威胁分析。目前已发布多篇研究报告,包括《物联网安全白皮书》、《物联网安全年报2017》、《物联网安全年报2018》、《物联网安全年报2019》、《国内物联网资产的暴露情况分析》、《智能设备安全分析手册》等。与产品团队联合推出绿盟物联网安全风控平台,定位运营商行业物联网卡的风险管控;推出固件安全检测平台,以便快速发现设备中可能存在的漏洞,以避免因弱口令、溢出等漏洞引起设备控制权限的泄露。
内容编辑: 桑鸿庆 责任编辑:肖晴 王星凯
本公众号原创文章仅代表作者观点,不代表绿盟科技立场。所有原创内容版权均属绿盟科技研究通讯。未经授权,严禁任何媒体以及微信公众号复制、转载、摘编或以其他方式使用,转载须注明来自绿盟科技研究通讯并附上本文链接。