作者:Y_虞儿 | 来源:互联网 | 2023-09-17 18:56
作者:mryu1稿费:400RMB(不服你也来投稿啊!)投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿IoT是物联网的代名词,然而随着这些智能设备的安全性得到
作者: mryu1
稿费: 400RMB (不服你也来投稿啊! )
如何:向linwei#360.cn发送邮件或登录网络版在线投稿
IoT是物联网的代名词,但这些智能设备的安全性越来越受到关注。 要评估物联网设备的安全性,首先需要了解相关的各种“组件”,判断哪些部分的“组件”可能会发生哪些安全问题。
IoT基础架构分为三大类
1 .嵌入式设备
2 .软件和APP
3 .无线通信
设备
设备是任何事物互联网体系结构的关键,这里的设备是指与该体系结构相关的任何硬件设备(网关、传感器、遥控器等)。
在大多数IoT智能环境中,设备通常包括网关和操作设备。 网关充当其他设备的控制中心,而操作设备是执行实际操作的设备(例如,钥匙遥控器)或监控传感器(烟雾传感器、水浸传感器、红外线传感器等)。
设备漏洞是嵌入式设备中常见的漏洞,如访问串行端口的根权限、从闪存中提取固件等
软件和云组件
物联网设备中的软件和云组件包含以下元素:
1 .设备固件
2 .网络APP
3 .用于控制、配置和监视设备的移动APP
IoT体系结构的每个“组件”部分都有特定的漏洞。 下文将详细介绍固件部分和基于IoT的WEB和移动APP的漏洞。
无线电通讯
无线通信是IoT体系结构安全性的重要方面,基于无线通信,简单来说,任何通信都发生在设备与设备之间,或者APP应用与设备之间。 IoT常用的通信协议有WiFi、BLE、ZigBee、ZWave、6LowPAN、蜂窝数据等。
本IoT安全系列文章将介绍IoT使用的主要通信方法以及如何对其进行具体的攻击。
如何找到物联网设备的攻击面
迄今为止在日常工作中我已经完成了大量的IoT测试工作。 根据个人经验,有效地将设备安全测试放到物联网上,你需要对所给设备进行综合评估,发现所有攻击面。 评价IoT攻击面的技术与评价WEB APP、移动APP的技术相比没有太大变化,大多依然以web攻击面为中心。 例如,它是市场上常见的网关路由器组合,但这里涉及对许多IoT架构中“组件”攻击方面的分析。
常规IoT体系结构
要更快地发现IoT的攻击面,请执行以下步骤:
1 .首先了解物联网设备的整个结构,通过各种渠道或在制造商的文档信息中发现更多相关细节。
2 .为指定设备的每个体系结构组件绘制体系结构图。 对于两个“组件”之间的通信,请根据指导方针指定详细信息,如正在使用的通信协议。 如果APP应用程序使用API与云进行数据发送和接收,请在体系结构图中标记数据,并记录使用的是哪个API。
3 .完整的体系结构图准备好后,开始像攻击者一样思考。 如果必须攻击特定的“组件”,则需要决定使用什么样的技术提取什么样的辅助攻击的信息,并在表中列出IoT体系结构内的组件和所需的测试。
下表对IoT体系结构的“组件”攻击方面进行了分析。
上述分析步骤完成后,即可执行实际的测试攻击。 有明确的想法,接下来让我们来看看可以使用什么样的攻击技术。
1.IoT网关
基于硬件的攻击向量-串行通信、固件导出等……获取对固件的访问权限,并提取存储在其中的机密信息。
嗅探器向云发送的通信数据。
再现伪造通信数据并发送到云端。
2 .设备
基于硬件的攻击向量-串行通信、固件导出等……获取对固件的访问权限,并提取存储在其中的机密信息。
设备与网关之间的无线通信分析Zigbee、zWave、6LoWPAN等的攻击。
蓝牙低功耗技术(ble )攻击。
3 .移动APP
嗅探器发送和接收的数据。
再现和伪造通信数据,然后发送到云或设备。
移动APP的反向解析和敏感数据的提取。
4 .云/网络程序
常见的WEB脆弱性等…
简单的案例研究
下面是对一种货币网络设备的描述,包括网关、设备、云、移动客户端之间的通信安全、云API接口逻辑、网关和设备的绑定和解除绑定等重要操作的安全状况
通信安全性
网关-云-移动客户端:
应用上述攻击面分析模型的结果表明,被测仪器的保密性得到了很好的保护。 联合报警网关、设备、云系统、移动客户端4者之间的通信通过日志统计信息(logs.***.com
p>服务器的通信)外全部是加密通信,TCP 链接使用 TLS1.2 通信,使用 HTTPS 传输,UDP 数据使用 AES-128-ECB 加密后传输。
完整性通用得到了良好的保护。HmacSHA256,HmacSHA1,HmacMd5 的方式保护,Hmac 的 Key 来自于用户登录之后服务端下发的 token,联合报警设备的旧系统固件将数据本地明文存储在 xml 文件中,新版本中本地数据是加密存储的。虽然保证了机密性和完整性但仍存在安全问题,云端接口无法抵御重放攻击。
12POST /api/*****/version/check HTTP/1.1Host: api.******.com
api.******.com无防重放机制,通过api.******.version.check获取当前APP版本,通过更改客户端版本到较低版本,再重放该请求,可以返回需要升级的Response包。
12POST /api/*****/login HTTP/1.1Host: api.*****.com
api.*****.login通过传输用户名和加密的密码和短信验证码结合才可登录,该接口可以重放,通过分析业务安全防护逻辑可发现虽然云端有IP登录次数限制,但在次数限制内更换代理IP可以持续爆破用户名和密码。
12POST /api/*****/getit HTTP/1.1Host: api.*****.com
api.*****.getit仍可以重放,客户端退出账户,云端未将客户端sessionid做过期处理,导致云端还可以接受该sessionid并且返回相应的返回值。
类似这样的接口还很多在此不一一列举。
客户端与服务端的通信安全:
客户端逆向分析通信的系统和认证方式:
身份认证
移动客户端访问云端系统使用不同的认证方式,有 token 和 session 校验这两种。在IoT架构设计层面,云端为了验证每次移动客户端的请求都要求附带token,而每次移动客户端向云端请求token将增加云端服务的压力,故该联合网关报警产品允许单次批量获取token存储本地供请求时调用。默认每次申请10个token,将count值改为100甚至更多仍可获取相应数量的token。
交互安全
如果你接触过IoT设备,你会知道联合报警网关可搭配:烟雾探测器、水浸传感器、红外探测器等使用。实际上传感器与网关设备的绑定、解绑也存在安全问题。
射频信号重放
遥控、传感器与网关通信的频率为868MHZ,如下图所示:
抓取到的报警信号如下图所示:
休眠模式波形如下:
静默模式:
使用HackRF抓取传感器向联合报警网关发送的告警信号并重放,发现联合报警网关没有防重放机制,将抓取到的信号重放警报声马上响起。
本篇文章主要分析了IoT安全-如何发现攻击面并进行测试,后续文章我将会继续以实际案例讲解IoT安全测试方法和侧重点以及涉及到的协议分析、固件分析、防护措施等。