作者:摩羯参议院1314 | 来源:互联网 | 2023-06-10 15:22
Burglars’IoTParadise:UnderstandingandMitigatingSecurityRisksofGeneralMessagingProtocolsonI
Burglars’ IoT Paradise: Understanding and Mitigating Security Risks of General Messaging Protocols on IoT Clouds 概要 分析了iot云平台通讯协议中的脆弱性 找到了与mqtt协议中的message、session、clientid、topic相关漏洞 设计并实现了安全加固方法 漏洞 1. 未授权的mqtt message 利用mqtt协议的Will Message和Retained Message本身的机制和缺乏未授权的缺陷和mqtt会话管理的缺陷,导致了通过以上mqtt两个功能发布的命令的延时执行,从而实现了对iot设备的未授权控制。
2. mqtt会话的管理错误 MQTT规范建议服务器授权客户端的特定操作。
问题
当设备重置为完全删除前用户在该设备上的所有权限时,在任何已建立的会话中,用户的客户端将不再被允许采取任何主动操作,例如订阅设备的主题。然而,当我们检查会话的状态管理时,我们发现MQTT规范没有为响应客户机的特权更改而更新会话状态提供指导。很可能由于缺乏指导,在现实世界的物联网系统中,会话管理,特别是当涉及到会话的订阅状态时,被发现存在隐私泄漏的缺陷。例如,只要客户建立了一个曾经订阅过某个主题的会话(例如,酒店房间中的智能演讲者的主题),即使用户不再被允许订阅该主题(例如,在退房之后),我们发现代理通过已建立的会话不断地向客户传递消息。也就是说,会话的订阅状态即使在用户失去特权之后也会持续,这使设备的恶意前使用用户能够持续地接收设备为当前用户(受害者)生成的所有消息,例如个人购买历史和习惯、健康状况和数据(例如心跳数据)等。
物联网环境中的MQTT客户机可以代表两个不同的角色,设备(当客户端通过设备的凭据进行身份验证时)和用户(当客户端通过用户的凭据进行身份验证时)。物联网云从安全角度对这两种角色进行了不同的管理:将设备作为访问的资源,以用户作为认证和授权的原则。这种差异被发现在物联网设备共享和撤销的场景中具有安全隐患。特别是,当一个设备被新用户重置时(用于移除前用户的访问),前用户(及其客户端)访问该设备的权限被撤销(即,通过设备的主题发布/接收消息)。但是,不存在撤销设备访问其主题的权限的概念。因此,一种可能的攻击是:前用户(攻击者)在他/她被允许使用设备时获得设备凭据(获取设备凭据通常很简单,例如通过流量分析或逆向工程),然后即使在新用户删除前用户之后,攻击者始终可以利用设备凭据来模拟设备并将假消息发布到设备的主题。通过获得的设备凭证,只要前用户(攻击者)在凭证到期前建立了一个会话并保持会话在线,他/她就可以始终通过该会话代表设备向设备的主题发布假消息。请注意,即使在凭据过期后,该攻击因为之前的会话没有被关掉而仍可以继续,因此无法再用于验证新客户端或建立新会话。这有着严重的安全甚至安全隐患:例如,窃贼或罪犯可以利用假消息向用户显示门已锁上或气阀虽未关上;假消息可通过触发动作物联网平台触发受害者的其他敏感设备。
3. 未验证的clientid 有些iot云平台只验证了用户,没有验证负责关联设备的clientid字段。攻击者可以通过正常的用户认证之后,对clinetid进行拒绝服务攻击,因为clientid冲突会导致设备断连。
4. 未授权的topic 有些iot云平台没有对topic进行验证授权,导致允许攻击者可以订阅他/她知道的任何MQTT topic,而topic可以通过暴破或使用一次设备进行流量分析获得。这些信息可以包括高度敏感的或私人的信息,这取决于设备,如健康统计和状况,购买偏好和历史,良好的习惯,家庭关系等。
安全改进 添加缺失的安全模型和管理关键协议实体的设计原则
管理协议标识和会话:限制MQTT客户机的ClientId
提出了一种面向消息的访问控制模型:它将消息作为资源(对象),根据主客体属性来检查主体的访问权限。