获奖惊悚电视片Mr.
Robot(黑客军团)第二季一开始的场景就让网络安全行业不寒而栗。该剧以让人不安的逼真细节,描绘了黑客在无形之中潜入智能家庭系统,将家庭 IoT
技术变成对付家中住客的工具。电视和立体音响开始胡乱地开启关闭;淋浴水毫无预兆地从沸腾温度降到极其冰冷;空调将室内降低到北极温度,迫使住客不得不离开家中。整个剧中最让人惶恐的不是这种类型的网络攻击或许会发生,而是已经变成现实。
最近,Check Point 在 LG 智能家庭基础设施中发现了名为 HomeHack 漏洞,导致可能发生严重的用户帐号接管问题。如果攻击者利用这个漏洞,就可以登录到 LG 用户的 SmartThinQ 家用设备帐号,并且远程控制连接于该帐号的设备。
攻击者利用 HomeHack 漏洞可停止冰箱的工作、打开烤箱、访问扫地机器人上的摄像机将其变成家庭间谍,甚至可以使得洗碗机不断出水,让厨房变成戏水池。
此漏洞可能已经广泛传播:2016 年上半年,LG Hom-Bot 扫地机器人的销售量已超过 40 万台。
2017 年 7 月 31 日,我们向 LG 通告这一漏洞,LG 也作出了负责任的响应,在 9 月底发布了已修补此漏洞的新版本,以阻止黑客可能利用其 SmartThinQ 应用程序和设备中存在的问题。
LG 是一家领先的工业、企业和家用 IoT 设备供应商。LG 公司于 2011 年推出了 SmartThinQ 系列家用设备,用户可以通过应用程序进行远程控制,随时随地监控和维护家中环境。这些智能设备包括常用的洗碗机、冰箱、微波炉、烘干机和扫地机器人。
侵犯隐匿 - 黑入 Hom-Bot
LG 的 SmartThinQ 设备之一是 Hom-Bot 扫地机器人。LG 公司将其定位为真空吸尘器和监控警卫的混合体,带有
HomeGuard 安全功能,可以在检测到移动物体时发出警报。该功能的设计目的是让用户可以打开位于 Hom-Bot
扫地机器人顶部的内置摄像头,为智能手机应用程序发送实时视频流。
观看攻击过程演示 - 单击此处
然而,如果帐号被黑客接管,该摄像头就会成为攻击者监视受害者家庭的作恶工具,而且后者毫不知情,最为明显的负面后果就是侵犯他人隐私和危害人员安全。
我们发现 HomeHack 漏洞存在于用户在 LG SmartThinQ 应用程序上登录帐号的过程之中。
首先,攻击者需要在客户端重新编译 LG 应用程序,以绕过安全保护。这使得设备与 LG
服务器之间的通信可以被拦截。然后,意图不轨的攻击者创建一个假 LG
帐号以开始登录流程。通过操纵登录流程并输入受害者而非攻击者的电子邮件地址,就可能黑入受害者帐号并控制该用户拥有的所有 LG SmartThinQ
设备,包括 Hom-Bot 扫地机器人、冰箱、烤箱、洗碗机、洗衣机、烘干机及空调。
此漏洞凸显出智能家用设备遭到攻击的可能性,此类攻击可能是为了窥探家中的住客和用户以及窃取数据,或者是利用这些设备作为中转站实施进一步攻击,如发送垃圾邮件、拒绝服务攻击(如 2016 年出现的大规模 Mirai 僵尸网络攻击)或传播恶意软件。
随着越来越多的智能设备应用到家庭中,黑客开始将攻击重心从单个设备转移到控制设备网络的应用程序上。这使得犯罪分子有更多机会利用软件缺陷,入侵用户的家庭网络并访问其敏感数据。
因此,使用 IoT 设备时,用户需要了解安全和隐私风险。另外,IoT 制造商在设计软件和设备时,就必须注重通过实施强大的安全措施保护智能设备免受攻击,而不是在事后再增加安全防护措施。
防御 HomeHack
为保护用户设备,LG SmartThinQ 移动应用程序和设备的用户应确保从 LG 网站更新到最新软件版本。Check Point 还建议消费者采取以下步骤保护其智能设备和家庭 Wi-Fi 网络,避免可能的网络入侵和远程设备接管:
1.将 LG SmartThinQ 应用程序更新至最新版本 (V1.9.23):您可以通过 Google Play 商店、Apple 的 App Store 或 LG SmartThinQ 应用程序设置更新该应用程序。
2.将智能家用物理设备更新至最新版本:您可以在 SmartThinQ 应用程序控制台下单击该智能家用产品进行更新(如果有更新可用,您将收到弹窗提醒)
HomeHack 技术细节:
在揭露此漏洞的过程中,我们研究了 LG 的手机应用程序和后端平台。为了能够使用调试工具,我们使用了已 Root 的设备。起初,我们遇到了 Root 检测功能,如果检测到手机已 Root,LG 应用程序就会立即关闭。
第一步是要绕过这种反 Root 机制。我们使用 ADB(安卓调试桥)工具提取出应用程序并对其进行反编译。在研究代码时,我们发现了负责 Root 检测的两个函数:
如您所见,两个函数均调用 finish 代码执行 onDestory 方法,也正是该方法关闭了应用程序。
为了绕过此限制,我们只是删除了“finish”调用并重新编译该应用程序。
在绕过 Root 检测后,我们设置了一个代理以允许我们拦截应用程序的流量。起初,我们遇到一个 SSL Pining 机制,使得我们无法拦截和调查应用程序流量。
于是我们返回代码中,以了解 LG 如何实施此 SSL Pinning 机制:
我们对此函数进行修补并重新编译了应用程序,这次添加了调试功能。消除所有障碍后,我们成功实现了流量拦截。
下一步是创建一个 LG 帐号并登录应用程序。通过分析登录过程,我们发现其中包含以下请求:
1.身份验证请求 - 验证用户凭证。
2.签名请求 - 根据身份验证请求的用户名创建一个签名。
3.令牌请求 - 使用签名响应作为表头,并将用户名作为参数来获取用户帐号的访问令牌。
4.登录请求 - 发送访问令牌以登录应用程序。
我们发现在步骤 1 和步骤 2-3 之间没有直接的依赖关系。这意味着攻击者可以使用其用户名顺利通过步骤 1,然后在步骤 2 和 3 中修改为受害者的用户名。步骤 4 将允许攻击者完成登录程序后转至受害者的帐号。
如前文所述,通过利用 HomeHack 漏洞,攻击者可以接管受害者帐户并控制其 LG 智能设备。
漏洞发现的始源:
在调查伊始,我们原计划是研究 Hom-Bot 本身并搜寻设备本身存在的漏洞。为寻找 UART(通用异步接收器/发送器)连接,我们对 Hom-Bot 进行了拆卸。
这让我们得以访问文件系统。UART 连接可以在标签控制台附近的摄像机顶部找到。通过连接到 UART,我们成功操纵 U-Boot 并获得对文件系统的访问。
在调试主进程时,我们尝试找到负责 Hom-Bot 与 SmartThinQ 移动应用程序之间通信的代码。
当时我们是要调查 SmartThinQ 应用程序,却最终发现了会将 Hom-Bot 变成家中间谍的 HomeHack 漏洞。
要了解有关 IoT 安全及如何保护家庭网络的详细信息,请单击此处。
原文发布时间为:2017年11月6日
本文作者:Roman Zaikin , Dikla Barda