博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何黑掉Z-Way控制下的智能家居
阅读量:7209 次
发布时间:2019-06-29

本文共 1376 字,大约阅读时间需要 4 分钟。

Z-Wave是一种新兴的智能家居技术,里面使用了Z-Way通信协议,这种无线组网规格在欧美已经非常成熟。最近我购置了一块RaZberry板子,开始了我的家具智能化研究之旅。

什么是Z-Way

我之所以选择RaZberry板子,而不是传统的Z-Wave控制器,主要是因为它拥有对树莓派的兼容特性,让我可以通过程式化访问Z-Wave协议和通用输入输出(GPIO)设备,这对于研究我家里面的报警传感器非常有帮助。顺便提一句,Z-Way会提取Z-Wave的特性来设计REST(Representational State Transfer)API,使得该API更加易用。Z-Way项目甚至拥有基础的web界面,包括网关管理界面。

测试过程

在给RaZberry板子安装软件,并连上部分设备后,我开始观察管理设备时产生的web请求包。Z-Way使用了Angular的JS框架开发了一个API,可以应对来自web和安卓app的访问。

以下是一个我开灯的请求:

下面是响应包:

但此时,我发现了一个严重的问题,Angular的API并不需要认证。我在官网找了找,发现有用户提出了这么一个问题(FAQ):

问:HTTP/JSON的API有经过HTTP认证麽?

答:当然没有,你的内网被厂商假定为绝对安全的,自身有着第三方防火墙和密码的保护,不会有外界侵入。如果你想要用密码保护Z-Way,你可以使用ngnix或者其他反向代理服务器做额外的设置。

看来厂商早发现了这个问题,但并没有去亲自解决它。但这也说的过去,使用这些硬件的大多数都是技术极客,普通用户占少数。不过,鄙人仍然觉得这里面潜伏着危机,因为毕竟它给用户带来的是未知的恐惧。

用户的局域网可能会比较安全,但这并不意味着来自远程攻击是不可能实现的。我开始思考从局域网外攻击API接口的方法。突然,我想起了上面的应答包。注意, Z-Way的web服务器默认的CORS(跨域资源共享)头部允许任何origin来源,它会响应一个Access-Control-Allow-Origin: *,即允许所有origin来源,这显而易见将导致跨域攻击。

下面的POC将向你展示,黑客如何用恶意JS代码扫描内网主机,从而实现对Z-Wave的操作。由于这些请求是异步的,受害者并不能意识到正在发生着什么。

首先,脚本循环尝试局域网主机,向API发送POST请求。接着,它会找出返回状态码不为0的主机,确定其存活。如果受害者的控制器设备号小于99,脚本会遍历设备ID号,上限为15,尝试打开灯。这种漏洞的影响,更多地体现在解开门锁、开启车库、以及处理其他敏感设备上。

下面的测试模拟了某主机被黑的场景,返回的响应码为200时就是成功了:

攻击者可以尝试探测更多的默认内网网段,如果受害人的浏览器支持WebRTC,攻击者可以得到更多的信息。在这种情况里,我们可以发出STUN请求,确定受害人的内网IP,从而估算内网范围。

厂商要通过认证加强Razberry的安全不太容易,但用户通过其他设置做到这一点可能并不算难。此外厂商可以做出的另一个改进,则是在CORS策略中需要指定允许的origin,而非来者不拒。Z-Way请求包的这个漏洞很有意思,它揭示了自由CORS实现的风险,并展示了如何攻击他们。

作者:dawner

来源:51CTO

转载地址:http://drlum.baihongyu.com/

你可能感兴趣的文章
《现代操作系统》精读与思考笔记 第一章 引论
查看>>
System.out.print实现原理猜解
查看>>
每日英语:The Invasion of the Online Tutors
查看>>
codepage IMLangCodePages
查看>>
Leetcode: Valid Parentheses
查看>>
JavaScript Structure
查看>>
java 流媒体服务器Red5 FQA
查看>>
mysql--SQL编程(关于mysql中的日期) 学习笔记2
查看>>
jquery 请求jsp传递json数据的方法
查看>>
Repeater绑定事件ItemDataBound中获取数据库中数据
查看>>
草长莺飞,总归一字
查看>>
HDOJ 2097
查看>>
计算机学科漫谈
查看>>
mac下配置openfire
查看>>
自定义控件实现(转)
查看>>
如何确认访客所在的国家
查看>>
跟着8张思维导图学习javascript
查看>>
InnoSQL/MySQL并行复制的实现与配置
查看>>
JDBC连接MySQL数据库及演示样例
查看>>
第38周五
查看>>