米家智能家居的可行性

2018-06-11 07:12:22 +08:00
 yaaaaaang
最近家里面搞装修,想尝试一下米家全家桶(小爱+监控+各种灯+扫地机器人等),因为觉得搭建起来很方便,也很实用,但是不知道安全性怎么样,会不会很容易就被 ddos 入侵?小米会不会有后门?如果不用小米有什么其他的解决方案推荐?希望有懂的老哥来讲解讲解……
5063 次点击
所在节点    问与答
27 条回复
yaaaaaang
2018-06-11 23:11:23 +08:00
@gDD 我觉得现在也只能这样了
sobigfish
2018-06-11 23:16:11 +08:00
Homekit 的设备控制 不经过 apple 的服务器 这点很好
小米就像上面说的 id 被盗 就恐怖了
yaaaaaang
2018-06-11 23:16:38 +08:00
@sommer 我是担心现在物联网系统的安全性,像小爱同学这类的产品如果被黑客入侵了岂不变成了窃听器了?现在感觉一方面还是寄托于公司的维护,另一个方面自己也得长个心眼吧,这些东西好用是好用,但是我不想以丢掉我的安全与隐私的代价去用
yaaaaaang
2018-06-11 23:18:45 +08:00
@sobigfish 但是 homekit 贵啊😂
oIMOo
2018-06-11 23:35:27 +08:00
https://www.kaspersky.com.cn/blog/xiaomi-mi-robot-hacked/9107/

如何成功劫持小米 Mi 扫地机器人
yaaaaaang
2018-06-12 10:34:15 +08:00
@oIMOo 没有绝对安全的系统
luochen1990
2019-12-05 11:00:00 +08:00
emmmm, 感觉楼上并没有人认证回答题主的问题, 我最近正好在研究米家设备的通信协议, 顺便答一下这个题吧.

首先 DDoS 攻击, 这个其实与当前话题关系不大, 咱们暂且不讨论.

题主的核心问题是: 米家智能家居设备有没有安全隐患

我觉得这是个很值得讨论的问题, 我自己在研究通信协议之前, 对这个问题也是比较担忧的.

要回答这个问题, 我先得简单介绍一下米家设备的通信方式:

米家设备的通信网络, 在物理上, 分三种协议: WIFI 网络, Zigbee, 蓝牙

其中 Zigbee 和 蓝牙设备最终都要通过相应的网关连接到 WIFI 网络, 从而跟局域网里的其他 WIFI 设备通信, 所以可以说 WIFI 网络是主干.

所以, 这个过程中, 最关键的, 是米家设备在 WIFI 网络中所使用的 "局域网通信协议", 在 Github 上有一个项目叫 miio 就是实现了这个通信协议, 从而可以直接通过代码跟米家设备通信, 所以想详细了解这个协议的话, 就可以从这个项目入手.

这个局域网通信协议, 是基于 UDP 不可靠传输协议的, 其中的 UDP 包结构网上有[文档]( https://github.com/OpenMiHome/mihome-binary-protocol/blob/master/doc/PROTOCOL.md), 包的 Payload (也就是传输关键数据的部分) 是经过 AES 加密的, 所以对于安全性的分析, 主要就是对这个 AES 加密过程的分析以及其密钥是否安全的分析了.

关于 AES 加密本身的安全性, 咱们不用多虑, 毕竟是一个很成熟使用也很广泛的加密算法了.

那么问题主要就是这个密钥 (token) 的安全性问题.

首先我们要知道, 每个设备的 token 都是不同的, 所以即使一个 token 泄露, 也不会影响另一个设备.

然后我们知道, 设备的 token 都是会随着你的小米账号保存到小米的云端的. 所以理论上如果有小米员工, 能访问线上数据库的话, 是完全可以拿到你家里的设备的 token 的, emmm, 这里我们只能选择相信小米员工不会这么无聊了, 毕竟只要连了公网, 用哪家的设备都会面临同样的信任问题...

另外, 如果有人拿到了你的手机, 并且能解锁手机, 打开米家 App, 那么理论上也是有办法拿到 token 的 (旧版米家 App 是证实了可以拿到的).

所以说到这里的话, 我们就知道, 手机安全, 和小米账号安全, 这两件事就至关重要了, 要是这两个不能保证, 那么小米出再多安全措施也是没用的.

那么一旦设备 token 暴露会怎么样呢? 一般不会怎么样, 因为攻击者要想控制你家里的设备的话, 还得进入你家里的局域网络.

进入你家里的局域网络一般有两种方法, 一种是远程方法, 就是直接控制你家里的某个暴露到互联网的设备, 然后用它来收发 UDP 包, 实现控制.

另一种是本地方法, 就是先通过其他渠道获取你家的物理位置 (这个还是比较值得担忧的, 因为你的物理位置可能早就通过各种方式 -- 比如手机定位 -- 暴露了), 然后到你家附近, 连你家的 WIFI, 如果你家的 WIFI 密码刚好比较弱, 或者曾经告诉过某个手机安装过 WIFI 万能钥匙的亲戚 (听起来还是非常有可能的), 那么入侵者就很容易进入你家的局域网.

一旦有人持有你家里所有设备的 token, 并且成功进入你家里的局域网, 那么所有设备就沦陷了...

当然这时候也有补救办法, 只要发现时快速改掉局域网 WIFI 密码, 并且拔掉外网的网线, 就可以中断对方的控制. 之后慢慢重置家里的每一个设备, 或者更快的方法是改 WIFI 名称 (SSID), 重置后或 WIFI 变更后, 设备都会重新生成 token.

总得来说, 米家设备的安全公式:

米家设备不安全 = (小米账号不安全 | 手机不安全) * ((WIFI 不安全 * 物理位置泄露) | 公网设备不安全)

所以, 米家设备 (或者说任何品牌的智能家居设备) 安不安全, 这个答案对每个人来说都不同, 要得到答案, 就要检查上述公式里的每一项安全不安全, 对于一个啥安全都不注意的小白来说, 那用啥系统都必然是不安全的.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/462027

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX