随着信息技术,特别是物联网的迅猛发展,人们的生活、工作、学习以及通讯习惯和方式不断改变,也对传统住宅提出了新的需要,智能家居随之产生,而万物互联的时代已拉开帷幕,拥有一个智能的家已经近在咫尺。智能电视、智能扫地机器人、智能冰箱、智能音箱,甚至智能热水器、电饭煲……曾经无数次幻想到家就可以泡热水澡、可以用语音控制所有的场景,似乎在不远的将来就能实现。甚至在一些特定领域,这种家居智能化已经成为了现实。
近年来,智能化作为家电业二次崛起的风口,各企业都在努力探索智能技术及相关的模式变革,但随着智能家电的日益普及,这些分布在家庭各个角落的设备和网络在提供新型能力的同时,也增加了新的隐患,关于智能家居安全性的思考也日益受到关注。因为相比其他技术,智能家居仍然算是一项新鲜事物,有关其安全性的探索和认识尚且不足。
近日,卡巴斯基旗下的工控系统计算机应急响应小组 (ICS CERT) 研究人员接受了其公司副总裁 (VP) 的邀请,针对该副总裁家中的智能家居安全性进行了测试。好消息是想要破解其安全性并非易事,但坏消息是他们做到了。正如网络攻击经常演绎的那样,成功的破解并不需要真枪实弹的正面冲击,而只需要旁敲侧击的瓦解防御。这次也一样,ICS CERT 的研究人员并没有选择直接进入由Fibaro集团开发的智能家居控制中心 (smart Home Hub),而是利用社会工程手段从云端进入。
事实证明,卡巴斯基副总裁具有很强的安全意识。其控制中心的所有已知漏洞都已经得到了修复。而且他设置的密码非常强大,强到被研究人员列入待破译的密码名列。此外,攻击智能家居控制中心与设备通信所使用的 Z-Wave 协议(一种低带宽半双工传输协议,为高可靠性的低功耗网状网络的无线通信而设计,主要目的是在控制单元和一个或多个节点单元之间可靠地传输较短的控制信息)同样遭遇了失败,因为这需要接近目标才能实现。但是,副总裁确实为他们提供了智能家居控制中心的静态 IP 地址,以省去他们寻找它的时间。
研究人员发现,控制中心和 Fibaro 云之间经常进行通信。每当设备想要执行以某种方式连接到云的操作(例如向设备所有者发送 SMS 或电子邮件或上传备份)时,设备就会以序列号和硬件密钥作为参数向服务器发送 HTTP 请求,该请求含有序列号和硬件密钥参数。这些参数在云中进行安全检查,以确保数据库中的合规性。如果授权成功,则执行操作。密钥是受到保护的,但由于只需通过设备序列号就可以进行扫描和检查更新,而序列号又可以通过系统的 API 请求获得,这使得通过序列号从云端下载任意更新变得十分容易。
他们还发现了一个授权错误,允许他们列出任何用户的备份副本,上传备份副本,并在不具备任何系统权限的情况下下载这些备份副本。
随后,研究人员又在控制中心发现了一个 SQL 注入漏洞。使用 SQLite 和 PHP 交互的预备语句库可以消除 SQL 注入,但是控制中心并不包含这样的文件。研究人员猜测,这可能是由于可用内存量很小,以及需要为将来可能增加额外设备保留一些可用性。无法为安全功能提供足够的内存是物联网设备的常见问题。
研究人员试图通过其他方法来消除 SQLi,但最终失败了。因为引号仍然可以使用第一个参数中的反斜杠进行转义。如果有人插入了这样的反斜杠,将导致第二个参数中的字符串上下文断开,并可能导致数据库查询中的 SQL 注入。
通过识别出的该漏洞,研究人员从包含 SQLite 数据库的控制中心检索了一个备份副本。该文件包含缓存和加盐形式的控制中心密码,使用设备的家庭位置,所有者智能手机的位置,用于在 Fibaro 系统中注册的电子邮件地址,以及所有连接设备的详细信息(型号、文本格式的用户名/密码、内部网络中设备的 IP 地址等)。这就意味着任何可以访问该控制中心的攻击者也可以访问连接到控制中心的每个设备。
在这个阶段,攻击者知道如果他们可以访问控制中心他们将可以实现哪些操作,但仍然苦于没有访问权限。为了提升在系统中的权限,他们否定了暴力破解密码的想法,转而利用控制中心与 Fibaro 云之间的交互,以及上面描述的远程执行漏洞。他们创建了一个特殊的备份副本,其中放置了一个可以执行任何命令的受密码保护的 PHP 脚本。之后,他们使用相关的云功能向其同事发送了一封电子邮件和一条短信,让其同事从云端下载他们准备好的备份副本,来更新设备上的软件。
他们的同事认为这封电子邮件是一种社会工程尝试,但无论如何还是做了邮件和短信中要求其做的事情。研究人员相信,许多毫无戒心的用户都会上当。安装备份后,研究人员就获得了对控制中心及连接到它的所有设备的最高访问权限。由于自身的角色只是安全研究人员,而不是黑客,所以他们只选择更改用户闹钟的旋律,以此来证明他们做到了成功破解智能家居系统。
但是,试想一下,如果他们是真正的网络犯罪分子,他们又将做些什么。要知道,他们清楚地掌握了房子的实际位置,知道用户智能手机的地理位置(因此他们可以知道房子可能何时无人居住),而且他们还可以控制任何联网设备(可能包括警报、窗户/门/闸门开关机制、监控摄像机等)。在这种情况下,恶意行为者可能会制造非常严重的破坏,这就像是恐怖片中才会出现的场景。
与研究人员的目的不同,一个能够侵入智能家居控制中心的真正攻击者不太可能只做一些设置闹钟的恶作剧。作为此次研究的重点,智能家居控制中心的主要任务之一是整合所有 “智能物品”,以便房屋所有者可以从一个控制中心有效地管理它们。一个重要的细节是,此次研究是在一个真实且经过用户积极部署的系统中展开的,以往大多数研究都是在实验室条件下模拟进行的。
此次研究表明,尽管人们对于物联网安全性的意识不断加深,但仍然存在许多问题亟需解决。更重要的是,此次研究的设备(Fibaro 集团开发的智能家居控制中心)是大规模生产的,且部署在功能齐全的智能家居网络中。
最后,卡巴斯基研究人员表示,此次发现的所有漏洞信息都已经上报给了 Fibaro 公司,并且已经得到了修复。对于 Fibaro 处理这些问题的态度和响应速度,研究人员们也予以了高度肯定。研究人员希望通过此次实验可以帮助 Fibaro 智能家居控制中心变得更加安全,让用户也可以更放心地使用。