查看原文
其他

详解ThroughTek P2P 供应链漏洞对数百万物联网设备的安全新风险

Nozomi Networks 代码卫士 2022-04-06

 聚焦源代码安全,网罗国内外最新资讯!

编译:奇安信代码卫士


Nozomi Networks 公司发现了影响 ThroughTek 公司软件组件的一个新漏洞。该组件是很多消费者级别摄像头和物联网设备原始设备制造商供应链的一部分。ThroughTek 称其解决方案用于数百万台联网设备中。


ThroughTek 的 P2P 软件开发包 (SDK) 用于在互联网上为音频/视频流提供远程访问权限。多家摄像头厂商都在使用 P2P,因此今天的漏洞披露是检查 CCTV 解决方案是否具有该功能的另一个原因。

使用易受攻击摄像头的风险在于越权访问机密音频/视频摄像头内容。对于关键基础设施的运营人员而言,这样做可导致敏感的业务信息、生产信息和员工信息遭暴露。

本文将说明 ThroughTek 漏洞、评估安全摄像头系统风险以及为何对未来更好的软件安全保持乐观。


物联网安全摄像头的 P2P 功能


在深入说明之前,先简要回顾下关于 Reolink 安全摄像头 P2P 实现的早期发现。我们在安全摄像头上下文中谈论 P2P,是指允许客户端通过互联网访问音频/视频流的功能。一般的P2P结构的三个组件如下:

  • NVR:连接到安全摄像头,代表生成音频/视频流的本地 P2P 服务器

  • 异地 P2P 服务器,由摄像头厂商或 P2P SDK 厂商管理。该服务器发挥中间人角色,可使客户端和 NVR建立连接。

  • 软件客户端,或者是移动应用程序或者是桌面应用程序,能从互联网访问音频/视频流。

虽然 Reolink 开发了自己的 P2P 功能,但很多安全摄像头和物联网设备制造商从第三方提供商如 ThroughTek 处获得。P2P SDK 的特别之处在于 OEM 不仅为 P2P 软件库发布许可证,还接收基础设施服务(异地P2P服务器)以认证客户端和服务器并处理音频/视频流。

ThroughTek 网站指出,其技术用于各种OEM,如 IP 摄像头制造商、婴儿和宠物监控摄像头以及机器人和电池设备。

接下来我们详细分析 ThroughTek 漏洞详情。


发现 ThroughTek P2P SDK 漏洞


研究员接收到新设备后首先做的就是在实验环境中分析其网络流量。

实验室最近收到一台 NVR,快速判断出其具有 P2P 功能。之后研究员分析了通过 P2P 连接到 NVR 的 Windows 客户端生成的网络流量,发现多个程序包连接到 iotcplatform.com,该域名由 ThroughTek 的 P2P 平台的多个客户端访问。


之后研究员开始调查客户端实现,不久意识到它潜在不同的 P2P 库中。该软件客户端实际是一个白标产品,因此需要为多个 P2P 厂商提供完整的互用性。

设置了一些断点后,研究员设法找到了一些有意思的代码,在这些地方网络的软件包 payload 被反混淆 (deobsfuscated)。之后解析代码了解其中所包含的命令类型。这里通过“反混淆”一词来说明该协议缺少安全密钥交换,依赖于基于固定密钥的混淆图式。


Reolink 和 ThroughTek 漏洞造成的后果类似:由于流量遍历互联网,因此攻击者只要能访问就能重构音频/视频流。

如下是所开发的 PoC,反混淆了网络流量的 on-the-fly 数据包。以 “XYEU” 开头的字符串是唯一识别 P2P 网络中设备的 UID。


2021年3月,研究员负责任地披露了该漏洞,ThroughTek 及时证实了该漏洞的存在,并将情况告知客户且通过增加“基于 DTLS ECDSA-PSK 的加密层” 的方式修复该漏洞。ThroughTek 网页解决了该 SDK 漏洞并建议客户启用安全功能或升级至当前版本。

该漏洞的CVSS v3 基础评分为9.1。


漏洞风险难以评估


由于多年来, ThroughTek 的 P2P 库以被多个厂商集成到很多不同设备中,因此第三方基本不可能追踪到受影响产品。这类漏洞可利用的威胁模型限制了它的实际影响。

从本质上讲,凡是能够访问 NVR 和终端用户之间网络流量的任意人员,在某些情况下还包括 P2P 第三方服务器提供商,都能够访问并查看机密音频/视频流。

实现 P2P 协议的 DLL 具有一个导出,名为 “IOTC_Get_Version”,会返回内部版本号。从如下截图可知,版本号是3.1.4.35,而这正是我们首次分析的客户端所用的版本。该版本非常老旧且使用了其它 P2P 实现也在使用的硬编码密钥。


进一步研究后发现了该库的更新版本,它具有不同的混淆图式以及不同的参数集。相比找到其中的漏洞而言,找到运行更新协议版本的设备更具有挑战,因此研究员无法对这些库执行动态分析。

总言之,虽然 ThroughTek 指出其软件用于数百万台设备且 P2P 功能广泛存在于多个厂商中,因此难以评估特定安全摄像头的风险。


具有P2P 功能的安全摄像头难以评估


一般而言,当买家查看多种不同安全摄像头的技术详情时,无法识别 P2P 提供商或找到对该协议的正确说明。以我们的经验来看,获取该信息的最佳且唯一方法是直接查看客户端/服务器实现。遗憾的是,多数买家并不具备这样的技能或意图。

因此,阻止陌生人通过互联网查看捕获的音频/视频内容的最佳方法就是禁用 P2P 功能。

研究员建议用户尽在少数情况下启用 P2P,比如供应商可提供全面的技术详情,说明产品中所使用的算法为何是安全的。其它情况包括评估摄像头厂商和厂商所在辖区的安全和隐私策略。换句话说,不要轻易从互联网查看摄像头内容,除非已经进行了全面的技术尽职调查并对厂商的安全和隐私实践没有感到不适。


希望软件供应链更安全


SolarWinds 事件发生后,大家对软件供应链的风险意识提高。全球最大的买家之一美国联邦政府将要求其供应商为其所购买的解决方案提供软件物料清单。该要求正在被越来越多的商业采购所实现,而且随着时间的流逝,将会提高所有软件的安全门槛。

同时,安全摄像头采购,尤其是关键基础设施的采购应当接受细致的安全和厂商评估。

ICS-CERT 安全公告已发布具体缓解措施并推荐了控制系统的安全最佳实践。







推荐阅读
给开发者的9个安全建议:既能保护供应链安全,也不会拖慢开发进程
穿越「攻击常态化」迷雾,这份报告直击「中国软件供应链安全」的真实面貌
治理软件供应链安全要打“团体赛” 共同建立供应链安全体系
在线阅读版:《2021中国软件供应链安全分析报告》全文
详细分析PHP源代码后门事件及其供应链安全启示




原文链接

https://www.nozominetworks.com/blog/new-iot-security-risk-throughtek-p2p-supply-chain-vulnerability/


题图:Pixabay License



本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。



奇安信代码卫士 (codesafe)

国内首个专注于软件开发安全的

产品线。

    觉得不错,就点个 “在看” 或 "” 吧~



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存