物联网消息协议:服务提供商面临的下一个安全挑战?

F5生态系统 | 2017年2月24日

物联网现状


Gartner预测,到2020年,全球联网设备数量将达到208亿台。物联网(IoT)联网设备数量不断增长,为服务提供商开辟新的收入来源带来了机遇。对于最终用户,IoT有望提供相关解决方案,显著提升安全、医疗、教育及众多其他领域的生产力和质量。为把握这一机遇,服务提供商必须提供出色的客户体验,同时确保数据保护、隐私和用户安全。

然而,如此庞大且种类繁多的设备也会增加网络的脆弱性,其中许多设备可能成为黑客和拒绝服务攻击的目标。物联网设备的内存、存储和计算资源通常有限。复杂且不断演进的安全算法需要以较少的CPU周期提供更高的处理能力,因此这些限制会增加支持此类算法的难度。联网设备的使用寿命也可能超过加密措施的有效期。

在2016年2月发布的《移动服务交付的未来》调查报告中,Heavy Reading高级分析师Jim Hodges指出,服务提供商最担忧的安全问题是分布式拒绝服务(DDoS)和僵尸网络攻击导致的服务中断。其次是与系统完整性相关的威胁,即外部攻击者冒充用户身份并操纵流量。

图1:服务提供商对安全问题的关注程度排名

IoT安全基于三个基本概念:身份、身份验证和授权。身份是指为客户端命名并授予权限。身份验证是指验证客户端的身份,而授权则是指管理授予客户端的权限。为了进一步支持收集设备数据并进行实时智能分析,还需要就IoT通信协议达成一致。

IoT消息协议应包括以下高级功能:

  • 消息协议验证和DDoS缓解
  • 通过转换各种IoT协议实现协议中介
  • IoT消息协议互操作性
  • IoT信令风暴的检测与防范

目前,广受欢迎的IoT消息传递协议是MQTT(消息队列遥测传输协议)。MQTT是多个垂直行业使用的主要传输协议,包括制造、运输和资产跟踪、能源以及互联家居。IBM、Microsoft、Amazon Web Services和Facebook Messenger等公司都使用MQTT来快速传递消息,并延长设备的电池续航时间。

协议安全

MQTT 基础知识

MQTT等物联网协议用于在设备之间实现安全可靠的通信。MQTT基于传输控制协议(TCP),并可通过传输层安全协议(TLS)加以保护。MQTT协议对计算能力和内存的要求较低;对于某些物联网应用,其数据包比HTTP更简单、更小。

MQTT最初于1999年为远程传感器而创建,如今已广泛应用于基于发布与订阅模型的各种IoT应用。设备或传感器会将数据“发布”到IoT平台(代理),随后IoT应用会“订阅”与其用例相关的数据。发布和订阅的数据称为“主题”,可根据用例和数据类型类别按层级结构组织。设备与平台之间的连接和通信会影响各用例所需的负载、控制和安全性。

为了让协议尽可能轻量,以适用于资源受限的IoT设备,MQTT在TCP之外仅提供最低限度的安全机制。MQTT仅建议需要更高级别身份验证的应用使用TLS协议。因此,仅依赖TCP的MQTT通信不会加密,容易遭受中间人攻击。

MQTT漏洞

MQTT协议存在多种潜在漏洞。例如,攻击者可以利用开放端口,跨网络和设备发起拒绝服务(DoS)攻击及缓冲区溢出攻击。随着连接的IoT设备数量和所支持用例的增加,“主题”结构可能会变得非常复杂,进而引发可扩展性问题。MQTT消息有效载荷采用二进制编码,相应的应用和设备类型必须能够互操作。此外,MQTT消息中的用户名和密码以明文形式发送,这也是一个问题。

虽然这并非MQTT规范的明确组成部分,但IoT平台代理支持使用SSL/TLS客户端证书进行客户端身份验证已成为惯例。正确实施SSL和TLS传输加密可以保护数据。为防范威胁,应始终对用户ID、密码及任何其他类型的凭据等敏感数据进行加密。

使用TLS、SSL及其他加密方法的缺点是可能会产生大量额外开销。不过,TLS会话恢复等技术可以抵消部分TLS连接成本。硬件加速是另一种降低加密所致空间开销的方法。对于资源受限设备上的复杂应用,经过优化的加密库会非常有用。当应用代码较大时,加密库可以减少处理所需的内存并提升性能。

MQTT架构依赖代理保持高可用性。当大量客户端尝试使用数据库查询或Web服务调用等代理服务时,使用X.509证书进行客户端身份验证可以节省代理端的资源。将MQTT与TLS等先进的安全标准结合使用,并采用X.509证书,也有助于提升安全性和性能。

端到端IoT应用安全

物联网为服务提供商带来了重要的新商机。虽然使用TLS保护MQTT消息传递协议是一项重要的安全考量,但攻击者还可能利用许多其他攻击途径。服务提供商必须通过严格的设备身份验证、授权以及由网络强制执行的通信路径访问策略,确保端到端安全。对数据进行加密以保障安全和隐私,对于服务提供商在提供优质客户体验的同时保障收入来源也至关重要。

图 2:IoT应用安全,使用SSL和TLS传输加密来保护数据。
分享

相关博客文章

F5纪念2021年世界艾滋病日
F5生态系统 | 2021/12/01

F5纪念2021年世界艾滋病日

值此世界艾滋病日,F5郑重承诺,将与员工、客户、社区和合作伙伴共同努力,消除社会对HIV感染者仍然存在的污名与偏见。

Thingbot正转变为攻击平台
F5生态系统 | 2018/11/29

Thingbot正转变为攻击平台

Lori MacVittie重点介绍了F5 Labs对2018年1月至6月全球物联网设备攻击的研究,并指出了其中令人警醒的影响。物联网设备不仅持续遭到利用,还被转变为攻击平台,这意味着攻击者可以更充分地利用这个必然增长的市场。

借助F5全新Quick Start,在AWS上快速开展业务
F5生态系统 | 2018/11/20

借助F5全新Quick Start,在AWS上快速开展业务

在AWS re:Invent开幕前,我们很高兴与大家分享F5与AWS之间全新的Quick Start集成。F5的Tom Atkins将介绍该服务如何启动、配置和运行在AWS上部署工作负载所需的计算、网络、存储及其他AWS服务。

为什么声明式模型对NetOps自动化至关重要?
F5生态系统 | 2018/04/30

为什么声明式模型对NetOps自动化至关重要?

为什么声明式模型对NetOps自动化至关重要?阅读F5博客,了解基础设施即代码如何简化网络扩展。

开源聚焦:F5基础设施即代码与多云可管理性
F5生态系统 | 2017/11/16

开源聚焦:F5基础设施即代码与多云可管理性

开源聚焦:基础设施即代码与多云。阅读博客,了解模板和Terraform如何简化F5应用服务的部署。

破解IT“无解困局”的答案:私有云
F5生态系统 | 2016/09/12

破解IT“无解困局”的答案:私有云

破解IT“无解困局”的答案:私有云。阅读F5博客,了解本地部署的敏捷性如何化解安全与速度难以兼顾的问题。