一、  MQTT协议简介

MQTT协议是1999年IBM公司发布的一种基于发布/订阅(Publish/Subscribe)模式的轻量级通讯协议。MQTT协议的底层构建基于TCP/IP协议,它的特点是其规范简单,非常适用于低性能、低开销和有限带宽的物联网场景。作为一种轻量级的传输协议,MQTT协议的传输过程有三方构成,分别是发布者(Publish)、代理(Broker)和订阅者(Subscribe)。如图1所示。

图1  MQTT发布订阅过程

其中,发布者和订阅者由客户端充当,而代理则又服务器端充当。

MQTT协议的报文结构组成如表1所示。

表1 MQTT报文组成结构

Fixed header 固定报头 所有控制报文都包含
Variable header 可变报头 部分控制报文包含
Payload 有效载荷 部分控制报文包含

一条控制报文分为三个部分:第一部分是固定报头,第二部分是可变报头,第三部分是有效载荷。

一条发布和订阅消息的主题部分是其主题和有效载荷部分。其中,主题位于第二部分的可变报头中。

二、MQTT服务探测

探测过程MQTT服务测绘过程如下:

  1. 搭建MQTT服务

调研市面上主流的MQTT服务器,包括 mosquitto、 EMQ X、ActiveMQ、HiveMQ等。搭建MQTT服务完成后,进行报文发布/订阅测试。

  1. 对搭建完成的MQTT服务进行探测扫描,测试扫描插件回传消息成功性及完整性。
  2. 调取国内及全球存在资产暴露情况的IP地址,存储为列表,对列表内全部的IP地址进行探测扫描。
  3. 解析扫描结果,统计各MQTT服务的状态信息。选择的统计指标为回传信息中可以反应物联网设备情况并且与端口安全性相关的端口开放状态、端口响应返回情况和端口所只用的MQTT服务版本。提取回传报文中的主题及有效载荷信息,并通过文本聚类和报文长度筛选的方法进行识别归类处理。
  4. 提取梳理有效载荷字段中的资产暴露信息。订阅存在资产暴露信息的端口,对收集到的报文信息进行二次解析。汇总整合所有的资产暴露信息,分析其中存在的安全性隐患。

三、MQTT测绘分析

202年3月对全球的的MQTT服务进行探测,本节将介绍具体的数据分析结果。

3.1  MQTT服务版本分析

探测到的MQTT服务以mosquitto为主,以下是分布排名靠前的几种MQTT服务。 除mosquitto外,也探测到了少量的EMQ X和hiveMQ服务。在所有探测到的MQTT服务中,国内使用最多的是mosquitto1.4.13版本,全球使用最多的是mosquitto1.4.15版本,具体分布如图2和3所示。

图2 国内MQTT服务版本情况

图3 全球MQTT服务版本情况

3.2  扫描端口返回分析

国内探测的58904个IP中有10323个可以识别出其主题和有效载荷信息,占比17.5%。全球探测的134886个IP中有22676个可以识别出其主题和有效载荷信息,占比16.8%。而剩余的IP端口由于连接失败、未授权、无消息回应等原因未识别到有效信息如表2和3所示。

表2 国内端口返回情况

扫描响应 个数
syn-ack 52411
no-response 5020
reset 1145
host-prohibited 273
host-unreach 35
time-exceeded 8
admin-prohibited 7
port-unreach 3
net-unreach 2

表3 全球端口返回情况

扫描响应 个数
syn-ack 119602
no-response 13058
reset 1419
host-unreach 392
admin-prohibited 286
time-exceeded 61
net-unreach 35
host-prohibited 17
port-unreach 15

3.3  主题及有效载荷包含情况分析

对可识别出主题和有效载荷的端口的报文内容进行解析和分类整理统计。其中“Topics and their most recent payloads”的服务可以获取到通信主题和消息,如图4和5所示。

图4 国内MQTT服务主题及有效载荷回传情况

图5 全球MQTT服务主题及有效载荷回传情况

通过简单文本聚类和报文长度筛选的方法提取到了一些资产暴露较严重的典型设备及厂商。以下是这些设备及厂商的资产暴露和隐私泄露情况:

  • 路由器

该厂商是一家生产制造交换机、路由器、软件、安全防火墙、无线产品、存储等全系列的网络设备产品线的网络厂商,其制造的设备被广泛的用于政府、金融、医疗、教育以及各企业场景。

探测到的资产暴露信息是该厂商的路由器服务,别字段示例:

{ “type”: “stalog”, “typeid”: 4, “code”: 0, “msg”: { “sn”: “*”, “deviceAliasName”: “****”, “list”: [ { “mac”: “*”, “userIp”: “*.*.*.*”, “ssid”: “@****, “band”: “2.4G”, “rssi”: “-56”, “channel”: “1”, “onlineTime”: “2021-03-29 08:59:12”, “rxrate”: “26M”, “activeTime”: “119923”, “osType”: “Unknown”, “hostName”: “*” }, { “mac”: “da:74:8f:b7:30:7d”, “userIp”: “192.168.120.239”, “ssid”: “@****”, “band”: “2.4G”, “rssi”: “-79”, “channel”: “1”, “onlineTime”: “2021-03-30 12:10:03”, “rxrate”: “1M”, “activeTime”: “22071”, “osType”: “Android”, “hostName”: “*” }, { “mac”: “b0:e1:7e:3a:12:98”, “userIp”: “192.168.120.192”, “ssid”: “@****”, “band”: “2.4G”, “rssi”: “-79”, “channel”: “1”, “onlineTime”: “2021-03-30 18:08:30”, “rxrate”: “5M”, “activeTime”: “565”, “osType”: “Android”, “hostName”: “*” }, { “mac”: “d4:bb:c8:33:4a:1d”, “userIp”: “192.168.120.227”, “ssid”: “@**** “, “band”: “2.4G”, “rssi”: “-67”, “channel”: “1”, “onlineTime”: “2021-03-30 18:09:25”, “rxrate”: “17M”, “activeTime”: “509”, “osType”: “Android”, “hostName”: “*” }, { “mac”: “04:d3:b5:51:39:f5”, “userIp”: “192.168.120.103”, “ssid”: “@****”, “band”: “2.4G”, “rssi”: “-78”, “channel”: “1”, “onlineTime”: “2021-03-30 18:13:18”, “rxrate”: “8M”, “activeTime”: “277”, “osType”: “Android”, “hostName”: “*” } ] } }

可以从中提取出的资产信息包括,设备的产品序列号sn、设备的厂商是名、用户的IP地址、服务集标识ssid、用户的在线时间、路由器频段band、接收的信号强度指示rssi、路由器接受速度rxrate、路由器连接的各个设备信息(包括设备的手机型号以及设备使用的操作系统)。订阅该端口的特定主题,该IP地址的1883端口发送同类型报文消息的频率为一分钟13次。在全国的58904个IP探测结果中共检测到该厂商路由器相关字段26个。

  • 智能家居设备

Hwacom是台湾的一家宽带应用集成服务提供商。探测到的是Hwacom的一款测量室内温度与湿度的家居设备。

识别字段示例:

b'{“timestamp”:1626518890771,”temperature”:41.771,”humidity”:43.405815,”status”:”monitoring”,”batteryTemperature”:25.0,”batteryLevel”:69,”upTime”:1622785035890,”wifiState”:{“ssid”:”\\”DemoRoom_NETGEAR\\””,”signalLevel”:4,”frequency”:2452,”linkSpeed”:72,”rssi”:-27},”storageState”:{“totalStorageMBytes”:5765120,”freeStorageMBytes”:4942256},”memoryUsage”:0,”cpuUsage”:0}’

可以从中提取出的信息包括,时间戳、当前室内温度、当前室内湿度、电池温度、电池电量、WiFi服务集标识ssid、信号强度signalLevel、频率frequency、连接速度linkSpeed、设备存储状态以及CPU占用状态。

订阅该端口的特定主题,该IP地址的1883端口发送同类型报文消息的频率为一分钟5次。在全国的58904个IP探测结果中共检测到Hwacom智能家居设备相关字段2个。

  • HomeAssistant

HomeAssistant是一个基于Python的开源智能家居系统。用户可以将灯具、智能媒体、智能插座、智能开关等家居设备与HomeAssistant进行整合,构建属于自己的智慧空间系统。

某厂商是国内的一家以手机、智能硬件和IoT平台为核心的互联网公司。近几年,该厂商专注于智能手机、智能家居和互联网电视等产品的研究。本次探测到的是一款使用了HomeAssistant的该厂商智能开关。

识别字段示例:

{“unit_of_measurement”:”%”,”device_class”:”battery”,”value_template”:”{{ value_json.battery }}”,”state_topic”:”zigbee2mqtt/0x04cf8cdf3c75c16e”,”json_attributes_topic”:”zigbee2mqtt/0x04cf8cdf3c75c16e”,”name”:”0x04cf8cdf3c75c16e_battery”,”unique_id”:”0x04cf8cdf3c75c16e_battery_zigbee2mqtt”,”device”:{“identifiers”:[“zigbee2mqtt_0x04cf8cdf3c75c16e”],”name”:”0x04cf8cdf3c75c16e”,”sw_version”:”Zigbee2mqtt 1.12.2″,”model”:”****”,”manufacturer”:”****”},”availability_topic”:”zigbee2mqtt/bridge/state”}

可以从中提取出的信息包括,测量单位unit_of_measurement、电量信息、设备名称、设备制造商等。同一IP端口的其他报文信息内还保持了该智能开关设备的开关记录。

  • 人脸识别终端装置

探测结果中可以提取到大量的有关人脸识别系统的信息。不同的厂商给出的具体字段略有不同,但大多都直接暴露了用户的隐私信息。以下为深圳某地人脸识别系统端口报文情况。

识别字段示例:

{\r\n”operator”:”RecPush”,\r\n”info”: {\r\n”customId”:”**”,\r\n”personId”:”5″,\r\n”RecordID”:”41″,\r\n”similarity1″:”91.199997″,\r\n”similarity2″:”0.000000″,\r\n”direction”:”unknow”,\r\n”otype”:”513″,\r\n”persionName”:”***”,\r\n”facesluiceId”:”**”,\r\n”facesluiceName”:”Face1″,\r\n”cardNum2″:”0″,\r\n”idCard”:”**”,\r\n”telnum”:”**”,\r\n”time”:”2021-07-22 11:50:08″,\r\n”temperature”: “36.1”,\r\n”temperatureAlarm”: “0”,\r\n”temperatureMode”: “0”,\r\n”pic”: “data:image/jpeg;base64,******”\r\n}\r\n}\r\n’

可以直接从报文信息中提取包括用户的身份证号、人脸匹配相似度、用户姓名、手机号、识别时间、人脸温度以及人脸识别图片在内的各项用户隐私信息。

  • GPS追踪定位装置

探测结果中同样也获取到了一些跟GPS追踪定位相关的设备信息,如智能手表、汽车定位系统等。以下是其中某一款追踪定位装置的回传信息。

识别字段示例:

b'[{“DN”:”****”,”Longitude”:”1*.44093″,”Latitude”:”**.31341″,”speed”:0,”direction”:0,”height”:126,”status”:3,”startTime”:”2021-07-17 19:18:00″,”endTime”:”2021-07-17 19:18:00″,”totalRoute”:”1150.284000″,”route”:”1150.284000″,”clearTime”:”2019-09-29 15:40:31″}]’

可以从中提取出用户的手机号以及用户所在的经度、纬度、速度、方向、海拔、定位器状态、采集时间以及用户行动路程等信息。回传频率为每个设备一分钟1次。不同时段同时在线设备数不等,一般为5-10台。

在MQTT测绘数据分析过程中,我们发现的可识别服务不止这些,考虑篇幅和数据敏感性就不一一列举。

四、总结

本文对全网的MQTT协议分析,虽然对于网络空间来说只是一个很小的视角,但可以给网络空间测绘工作带来一些启发。首先,MQTT是上世纪出现的通信协议,但因为物联网的发展,这个协议也重新活跃在大众视野,技术使用一直都有趋势性,未来会有更多的人去使用该服务。仍然有大规模的类似MQTT的消息队列服务暴露在互联网上,如果配置不当,攻击者可以获得传输的敏感数据,甚至可以修改数据、控制终端,所以更应该关注其暴露面和攻击面。另一方面,可以对网络空间中的技术更迭进行描绘,这同样有助于安全能力建设和监管。此外,现在能关注到网络空间维度还远远不够,无论是网络资源的全量,还是资产的全维都还差的很远,就好比人类从16世纪开始探索海洋,直至今日我们对海洋的了解程度还不到10%。如果只是对于目前市场状况来说,网络空间测绘可能已是“红海”,但从研究的视角往远看是大片的“蓝色”,仍需我们共同去探索。

参考文献:

网络空间测绘——MQTT服务篇相关推荐

  1. 《2021年网络空间测绘年报》解读|安全设备和数据库资产篇

    安全设备作为网络基础设施,承担着维护网络安全的重要责任.但近年来很多厂商的安全设备被曝出存在安全漏洞,如果不及时修复,将会成为攻击者的跳板,对网络发起进一步的渗透.因此,有必要对暴露在互联网上的安全设 ...

  2. 简单聊聊网络空间测绘纵横之道

    钱钟书先生的<围城>有句名言"外面的人想进去,里面的人想出来"本来是说婚姻的,但是在我看来在某些技术产品领域也比较适合,比如今天我要讲的网络空间测绘这个方向.本来是不太 ...

  3. 2021年第一季度Sumap网络空间测绘CVE漏洞趋势安全分析报告

    前言 本文主要通过网络测绘角度收集各种资产协议的版本号信息,通过比对CVE漏洞影响范围中的版本号方式,进行安全风险趋势分析,无任何实际危害互联网行为.资产在携带版本中也会存在修复补丁后版本不变的情况. ...

  4. 网络空间测绘国内外发展及现状

    网络空间测绘作为一项十分重要的基础性工作,是网络空间国防能力建设的重要部分,是大国博弈背景下,网络主权.网络边疆的重要体现,美国"智库"兰德公司也曾断言:工业时代的战略战是核战争, ...

  5. 《网络空间测绘技术与实践》正式发售,让网络空间作战“有图可依”

    近日,多位业界专家力推,由知道创宇CEO赵伟.CTO杨冀龙.CSO黑哥(周景平)等撰写的著作<网络空间测绘技术与实践>,正式出版并发售. ​ 网络空间已成为继"陆. 海.空.天& ...

  6. 《2021网络空间测绘年报》解读|公有云资产画像与风险度量

    近日,绿盟科技与中国电信联合发布<2021网络空间测绘年报>,旨在通过测绘的方法,发现物联网.公有云.工控系统.安全设备.数据库.智慧平台等关键领域资产在公网上的暴露情况,分析各个领域资产 ...

  7. 《2021网络空间测绘年报》解读|应用风险分析

    新冠疫情爆发以来,远程办公.协同办公的需求大增,大量相关服务暴露在互联网上,很多存在一个或多个安全漏洞.由于这些应用深度参与到企业生产过程中,它们的暴露风险对企业运作.业务运行有重要影响,在<2 ...

  8. Quake - 开启网络空间测绘新征程!

    将虚拟网络空间与现实物理世界相关联,绘制网络空间多维立体地图. -- 因为看见,所以安全 Quake网络空间测绘系统是360安全大脑-测绘云的核心系统,它将作为安全大脑的重要基础设施之一,成为连接现实 ...

  9. 网络空间安全竞赛服务整体解决方案

    第一章 方案背景 1.1 政策分析 近几年,随着移动互联网.大数据.云计算.人工智能等新一代信息技术的快速发展,围绕网络和数据的服务与应用呈现爆发式增长,丰富的应用场景下暴露出越来越多的网络安全风险和 ...

最新文章

  1. [转]安装和使用JD-Eclipse插件
  2. Kubernetes(六) - Secret和私有仓库认证
  3. selenium 使用js执行脚本儿链接整理
  4. Spring自定义命名空间
  5. 网络基础一(协议的概念,网络应用程序设计模式)
  6. mysql安装 demo [linux centos7] [5.7.26]
  7. Linux基础:linux网络接口
  8. python能做哪些方面的准备_学习pyhton需要做哪些准备工作
  9. POJ2752 (Seek the Name, Seek the Fame,kmp)
  10. 漏洞自动扫描神器AWVS 11安装与使用教程
  11. android投影电脑屏幕,如何在电脑上投影手机屏幕
  12. [Unity] 利用Culling Group实现LOD和剔除逻辑
  13. java one_javaone是什么意思
  14. aotorun专杀工具(U盘病毒专杀)
  15. keep-alive的用法和作用
  16. CMU-MOSEI数据集解读
  17. PTA 2022秋季C语言专题实验07
  18. 【财富空间】中国AI应用最新白皮书:金融、汽车、医疗和零售将受AI影响最大,或为参与者带来19000亿增益价值
  19. android原生界面太烦了,Android进阶(二十七)Android原生扰人烦的布局
  20. 深度分享:中国老年消费市场最新趋势/机会是什么?六位老年行业创新创业实践者精彩观点!

热门文章

  1. 开发需要了解的服务器配置
  2. harmonyos手机开发者版本,请注意!HarmonyOS 2.0手机开发者Beta版本不是公测手机系统版本!...
  3. 职业攻略:成为一名游戏代练||成为一名程序员
  4. 扰动观测器(DOB)设计
  5. BP神经网络|函数逼近
  6. 计算机考试为什么试题不能复制,3月ACCA考试开场——ACCA机考复制粘贴究竟可不可以?...
  7. w10的 Google Tensorflow Object Detection API安装
  8. 仁爱英语听力测试软件,仁爱英语七年级上册期中听力测试--资料.docx
  9. DXF笔记:MText字符串格式的解析
  10. 自定义微信公众号客服,微信客服1.0(及时通信)