去年,Nozomi Networks Labs 对多个 IP 摄像机和视频监控系统进行了广泛的安全研究。这项研究导致在Axis和ThroughTek设备中发现漏洞。我们正在发布一个新漏洞(在 CVE-2022-30563 下跟踪)的详细信息,该漏洞会影响WS-UsernameToken大华公司开发的一些 IP 摄像机中开放网络视频接口论坛 (ONVIF) 身份验证机制的实施,大华是一家非常受欢迎的基于 IP 的制造商监控解决方案。攻击者可能会利用此漏洞通过嗅探先前未加密的 ONVIF 交互并在对摄像头的新请求中重放凭据来破坏网络摄像头。
在这篇博客中,我们介绍了 ONVIF 标准,概述了WS-UsernameToken身份验证机制,提供了观察到的漏洞的详细信息,并分享了最终用户可以应用的具体补救措施。
Nozomi Networks Labs 发现的一个新漏洞可能允许攻击者通过重放凭据来破坏大华 IP 摄像机。
开放网络视频接口论坛 (ONVIF)
据官方网站介绍,ONVIF 是一个开放的行业论坛,提供和推广标准化接口,以实现基于 IP 的物理安全产品的有效互操作性。符合 ONVIF 的产品可以通过与供应商无关的软件通过一组标准化的应用程序编程接口 (API) 无缝访问。API 允许用户在远程设备上执行各种操作。此类操作的示例包括观看摄像机镜头、锁定或解锁智能门、执行维护操作等。
在底层,ONVIF 请求主要是通过 HTTP 的 XML SOAP 消息传输的。图 1 是触发 IP 摄像机重启的 ONVIF 请求示例。
图 1:触发设备重启的示例 ONVIF 请求。
WS-UsernameToken验证
除了其他身份验证机制外,ONVIF 规范仍然接受WS-UsernameToken,这在OASIS 规范文档中进行了描述。WS-UsernameToken依赖于以下数据的传输来验证请求:
-
用户名 - 认证用户的用户名
-
Nonce – 由客户端生成的随机的、唯一的数字
-
Created –UtcTime发出请求的时间
-
密码 – 认证用户的密码
根据规范,“密码”不应设置为纯文本。设置密码会生成“PasswordDigest”,即根据以下算法计算的摘要:
Digest = B64ENCODE( SHA1( B64DECODE( Nonce ) + Created + Password ) )
例如,给定这些论点:
Nonce – LKqI6G/AikKCQrN0zqZFlg==Created – 2010-09-16T07:50:45ZPassword – userpassword
这是要包含在请求中以对其进行身份验证的结果摘要:
tuOSpGlFlIXsozq4HFNeeGeFLEI=
这有助于隐藏密码并为防止重放攻击提供基础。根据 ONVIF 标准,为了使 Web 服务生产者有效地阻止重放攻击,还推荐了三种应对措施(其中“推荐”应根据 RFC 2119 参数进行解释):
1. 建议 Web 服务生产者拒绝任何UsernameToken不使用 nonce 和创建时间戳的内容。2. 建议Web服务生产者提供时间戳“ freshness”限制,任何UsernameToken带有“ stale”时间戳的都被拒绝。作为准则,五分钟的值可用作检测并因此拒绝重放的最小值。3、建议将使用过的nonce缓存一段时间;至少与上面的时间戳新鲜度限制期限一样长,并且UsernameToken已经使用过的随机数(因此在缓存中)被拒绝。
规范步骤可以被认为是可选的,以减轻设备对非敏感、非状态更改请求执行验证的负担。尽管规范仅“推荐”,但设备正确验证所有这些针对安全关键请求的应对措施至关重要。事实上,在没有这些检查的情况下,可以嗅探未加密 ONVIF 交互的攻击者也可以无限期地重播新请求中的凭据到摄像头,这将被设备接受为有效的经过身份验证的请求。
大华ONVIF漏洞详情
在我们的一个研究项目中,我们购买了一台IPC-HDBW2231E-S-S2,这是一款由大华制造的球型网络摄像机。在研究提取设备指纹信息的方法时,我们从经过身份验证的管理员帐户发送了以下非状态更改GetScopeONVIF 请求(图 2)。demo_admin它返回在发现阶段使用的设备的公共范围参数以匹配探测消息。
图 2:来自用户的ONVIFGetScopes请求。demo_admin
当尝试第二次发送这个确切的请求时,设备接受了请求并再次回复了相同的响应。鉴于所需信息的非敏感性质,这是一种相当安全的行为。
但是,我们决定进一步调查这种情况,以验证它确实只适用于次要请求。因此,我们尝试伪造一个CreateUsers偷偷添加攻击者控制的管理员的请求。我们使用了与上一个请求相同的身份验证数据,来自不同的 IP 地址,并且在GetScopes请求传输大约 30 小时后。结果如下:
图 3:伪造 ONVIF“CreateUsers”请求,重放相同的身份验证数据。
如图 3 所示,设备接受了请求并创建了攻击者控制的管理员。然后,我们可以使用这个新创建的帐户以完全权限访问设备,包括观看来自摄像机的实时画面,如下所示。
图 4:通过秘密创建的攻击者控制的管理员访问摄像机镜头。
要发动这种攻击,攻击者必须能够嗅探一个通过WS-UsernameToken模式认证的未加密 ONVIF 请求。这种情况并不少见,原因如下:
-
WS-UsernameToken许多流行的 ONVIF 客户端仍然默认使用,例如ONVIF Device Manager或DSE VMS。
-
默认情况下,IPC-HDBW2231E-S-S2(与其他大华设备一样)不公开 HTTPS 服务,所有 ONVIF 交互都通过未加密的 HTTP 进行。我们希望在现实世界中,资产所有者不使用默认的 WS 凭据,而是使用 HTTPS 进行安全连接,以防止发生此类攻击。
概括
除了建筑安全之外,监控摄像头还用于许多关键基础设施领域,例如石油和天然气、电网、电信等。这些摄像头用于监控许多生产过程,为过程工程师提供远程可见性。威胁行为者,尤其是民族国家的威胁组织,可能对入侵 IP 摄像机感兴趣,以帮助收集有关目标公司设备或生产过程的情报。这些信息可以帮助在发动网络攻击之前进行侦察。随着对目标环境的更多了解,威胁参与者可以制造自定义攻击,从而在物理上破坏关键基础设施中的生产过程。
根据 Nozomi Networks Labs 的通知,该供应商发布了一个补丁来解决该漏洞。敦促用户将易受攻击的设备更新到最新的可用固件版本。至于纵深防御方法,我们还强烈建议将公共互联网上的设备暴露在最低限度,并始终通过安全协议(例如 HTTPS)访问它们,这将阻碍对该问题的任何利用。
原文连接:https://www.nozominetworks.com/blog/vulnerability-in-dahua-s-onvif-implementation-threatens-ip-camera-security/
原文始发于微信公众号(灼剑安全团队):大华ONVIF实施中的漏洞威胁IP摄像机安全
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论