课题研究 物联网与工控安全 子课题05 · 第04页 / 共8页
05子课题 · 物联网平台与通信协议安全

物联网平台与通信协议安全第04页:物联网云平台与API安全

云IoT平台是亿级设备的"中枢神经系统",也是权限错误被放大亿万倍的场所。本页建立六层参考架构(接入/身份/消息/影子/规则引擎/应用API)并逐一标注攻击面;系统对照AWS IoT Core、Azure IoT Hub、阿里云、华为云与开源EMQX、Mosquitto、HiveMQ、VerneMQ的授权机制与常见误配置;深入剖析IDOR类API越权、Webhook签名缺失、CI/CD暴露(Verkada教训)三大实战风险,以及OTA升级链路与设备影子两大高危控制通道的防护要点。

云IoT平台AWS IoT CoreAzure IoT HubEMQXMosquittoIAMTopic ACL设备影子规则引擎OTAIDORWebhook签名策略即代码责任共担研究状态:研究中
所属专题未来研究方向 › 物联网与工控安全
目标受众云平台安全团队、业务研发、自建Broker运维、渗透测试与测评人员
关联页面上承第3页身份体系 → 下启第5页攻击面与案例档案

01 · 云IoT平台参考架构与信任边界

1.1 平台功能分层

无论是AWS IoT Core(2015年推出)、Azure IoT Hub(2016年)、阿里云IoT平台、华为云IoTDA,还是企业自建的开源Broker集群(EMQX、Mosquitto、HiveMQ、VerneMQ),其功能架构高度同构,可抽象为六层:

层次核心功能主要攻击面
接入层设备连接(MQTT/HTTPS/CoAP)、负载均衡、连接限额伪造设备接入、连接洪泛、协议解析缺陷
身份层设备注册、证书/令牌签发、策略绑定(如AWS IoT Policy)注册端点滥用、策略过宽(iot:*通配)
消息层Topic路由、ACL、消息队列、离线消息通配符订阅越权、Retain注入、跨租户泄露
孪生/影子层Device Shadow/孪生文档存储与同步影子覆写=设备状态欺骗、影子读=行为画像窃取
规则引擎层消息触发动作(转发至Lambda/函数计算/其他Topic/SQL动作)规则注入恶意动作、函数权限过宽横向移动
应用API层App/业务系统经HTTPS API管理设备、拉取数据API越权(IDOR)、令牌泄露、Webhook签名缺失

信任边界判断:平台内部(设备接入区)默认信任TLS通道与设备身份,任何进入消息层的实体即获得按策略放行的能力——因此身份层的策略粒度是全平台的"总闸门"。云厂商托管平台的责任共担模型中,"云本身安全"与"租户配置正确"是两件独立的事;自建Broker则连"Broker实现安全"(解析器内存安全、默认配置)都需自负。

1.2 主流平台安全机制对照

机制代表实现典型误配置
策略系统AWS IoT Policy(JSON策略,按客户端ID/Topic限定);EMQX ACL(用户名/ClientID/IP/主题四元组)策略含"*"通配资源;测试策略直接上生产;设备与策略未按型号分组
设备影子/孪生AWS Device Shadow;Azure Digital Twins;阿里云设备影子影子文档可写权限赋予低信任组件;影子无版本控制导致状态回滚欺骗
规则引擎AWS IoT Rules(SQL语法过滤转Lambda/SNS/Kinesis等);阿里云规则引擎规则转发的函数角色权限过大;SQL过滤器缺失导致敏感Topic全量外发
OTA服务AWS IoT Jobs、各云OTA组件升级包未签名或验签在云端而非设备端完成;Job可被低权限账户触发
审计日志CloudTrail类审计、Broker日志日志未覆盖身份层操作;日志留存期短于攻击发现周期

02 · 平台IAM与Topic授权:最小权限的工程化

2.1 授权模型设计原则

  • 资源-身份-动作三元组最小化:每台设备仅能PUBLISH/SUBSCRIBE自有Topic命名空间(如device/{deviceId}/up、device/{deviceId}/down),禁止使用跨设备前缀与"#"订阅;控制面Topic(OTA/重启/配置)与数据面Topic物理分离命名并独立授权。
  • 服务间调用短时令牌化:App→平台API、规则引擎→下游函数,全部使用短期令牌(STS类)而非长效AK;令牌作用域按调用路径收敛。
  • 策略即代码(Policy as Code):Topic策略纳入版本管理,变更走评审;自动化巡检"策略漂移"(实际策略偏离基线,如临时放行未回收)。
  • 共享订阅的组权限隔离:MQTT 5.0共享订阅消费组按业务系统划分,组内成员最小化;消费端退出即时回收组权限。

2.2 常见越权模式(API层)

等级模式说明与防护
高危IDOR(不安全的直接对象引用)API以设备ID为参数但仅校验"已登录"未校验"归属"(如GET /devices/{id}/shadow);防护:服务端逐请求校验资源归属,ID不可枚举(不可预测标识)
高危Webhook/回调无签名平台向业务系统推送事件若仅靠"URL保密",可被伪造事件触发业务动作;防护:HMAC签名+时间戳+重放窗口
中危分页接口数据泄露按cursor翻页接口越权拉取他户数据(cursor含排序键泄露);防护:cursor加密绑定租户上下文
中危调试端点残留Verkada事件的直接教训:暴露的Jenkins等CI/CD构建服务器成为凭据金矿;防护:CI/CD系统禁止公网可达,凭据一律短期化

03 · 开源Broker与企业自建:实现层安全

3.1 主流开源Broker安全要点

Broker背景安全要点
Eclipse Mosquitto最广泛部署的开源MQTT Broker,源自IBM捐献给Eclipse基金会(2013年),C语言实现、极简配置紧凑、默认较保守(allow_anonymous默认依构建而定,部署时显式设置);生产环境配合mosquitto-go-auth等插件对接外部认证;2.0版本(2020年12月)改进了默认行为
EMQX国产开源(EMQ公司),Erlang/OTP高并发架构,支持百万级连接与丰富插件生态(认证授权/规则引擎/桥接)功能丰富意味着配置面大:Dashboard/REST API默认口令必须首改;规则引擎SQL与桥接出方向需审计;企业版提供审计与增强认证能力
HiveMQ德国商业开源路线,企业级MQTT(含MQTT 5.0早期完整支持)企业扩展(授权、审计、凯利扩展SDK)需按授权模型评估;Control Center管理面加固
VerneMQErlang实现、支持集群与多协议桥接集群间通信与认证插件配置需审查;运维API暴露面收敛

3.2 自建平台的通用硬伤清单

  • 管理面与数据面未隔离:Dashboard/REST API与1883/8883同网段发布;应管理面独立VLAN+IP白名单+强认证(含MFA)。
  • 监听端口无收敛:默认监听0.0.0.0,含WS/WSS、管理端口;上线前端口清单评审,仅开放必要端口。
  • 集群互联无加密与身份:多节点集群同步流量(Erlang分布、Mnesia类复制)明文传输,内网横向后全集群可读——集群互联强制mTLS。
  • 无连接级限额与背压:单客户端连接数、订阅数、消息速率无上限,协议层DoS成本低;开启quotas并配流控告警。
  • 证书与配置漂移:证书到期未轮换导致服务降级到明文端口;配置管理纳入监控(到期前30天告警)。

开源≠不安全,也不等于安全:开源Broker的实现质量总体较高(Mosquitto/EMQX均有专业维护),其事故多源于"默认配置的部署者责任"——匿名访问、无ACL、明文监听三项叠加,等于把消息总线挂在公网。基线核查(第7页给出工具与清单)是自建平台上线前的强制步骤。

04 · OTA升级链路与设备影子:两大高危控制通道

4.1 OTA链路安全要求

  • 三段式防护:①下行通道TLS加密;②升级包完整性/真实性由设备端验签(验签公钥不可替换、算法不降级);③防回滚(版本单调或防回滚熔断)。任何一环缺失即可能重演"恶意固件全量推送"场景。
  • 触发权限分级:发起OTA Job的账户/服务最小化;灰度机制(按批次、按设备分组);Job执行结果强制回传审计。
  • 与固件课题的接口:固件侧验签实现审计归子课题01/04;本课题负责平台侧Job权限与分发通道安全。

4.2 设备影子的攻防语义

设备影子是"云端权威状态",攻击价值极高:

操作攻击者收益防护要点
读影子获取设备配置、运行状态、地理位置等画像数据影子读权限收敛至业务必需;敏感字段加密存储
写desired下发伪造目标状态——设备同步执行即被控制(如"开锁""上报频率""上传地址")desired写入需控制面权限+应用层确认;关键动作(门锁/支付类)双人复核或设备端二次确认
版本回滚利用无版本控制覆写旧状态造成混乱影子文档强制version字段单调递增,Broker侧拒绝旧版本写
影子枚举遍历设备ID拉取全网影子(IDOR)设备ID不可预测;API层逐租户校验;影子访问全量审计

本节参考来源(第4页)

以下均为真实可查的权威来源(标准组织、监管机构、漏洞库、厂商安全公告与主流安全媒体报道),用于支撑本页事实性表述;涉统计数字均标注原始出处。

[1]

AWS IoT Core开发者文档(策略、Device Shadow、Rules Engine、Jobs):docs.aws.amazon.com/iot/latest/developerguide;AWS责任共担模型:aws.amazon.com/compliance/shared-responsibility-model。

[2]

Microsoft Azure IoT Hub安全文档(X.509/TPM身份、Device Provisioning Service):learn.microsoft.com/azure/iot-hub。

[3]

阿里云物联网平台与华为云IoTDA产品文档(设备影子、OTA、规则引擎):aliyun.com/product/iot、huaweicloud.com/product/iothub.html。

[4]

Eclipse Mosquitto项目与文档:mosquitto.org;EMQX文档:emqx.io/docs/en/latest;HiveMQ:hivemq.com;VerneMQ:vernemq.com。

[5]

Verkada事件公开报道(2021年3月,Bloomberg等):"Hackers Breach Tens of Thousands of Security Cameras"(2021年3月9日)。

[6]

MITRE ATT&CK for ICS 与 ATT&CK 企业矩阵中"无线/协议滥用"相关技术项:attack.mitre.org(用于平台侧威胁建模对照)。

[7]

OWASP API Security Top 10(2023版,IDOR对应API1:2023):owasp.org/API-Security/editions/2023/en/0x11-t10。

终审增补 · 软件供应链、SBOM与标签治理新进展2026-09核验

D1. SBOM成为平台侧法定义务要素

云IoT平台与自建Broker同样身处软件供应链治理范畴,SBOM(软件物料清单)要求已进入多国合规框架:

框架SBOM相关要求平台侧落地动作
欧盟CRA制造商须识别并记录产品组件,支持期与漏洞管理义务覆盖全部"含数字元素产品",平台型产品适用Broker/SDK/容器镜像组件台账;出口欧盟产品自2027-12-11起满足
美国NTIA SBOM最小要素(EO 14028)定义SBOM数据字段(供应商、组件名、版本、哈希、依赖关系等)的行业基线作为SBOM编制格式基准(SPDX/CycloneDX)
ETSI EN 303 645第5.2-3条要求持续监控产品中第三方组件漏洞——SBOM是其前提与第4页"规则引擎函数依赖"审计合并执行

D2. FCC Cyber Trust Mark治理进展(2026年)

美国FCC于2024年3月通过Cyber Trust Mark规则(基于NIST IR 8425技术基线),技术准则与ETSI EN 303 645高度互认;2026年8月,FCC选定ioXt联盟为项目牵头管理方,标志该标签制度进入实质运营阶段。对出海消费IoT平台的启示:默认口令清零(第3页)、漏洞披露通道(第5页MV720路径)与SBOM(本增补D1)将成为跨境市场的"三重入场券"。

D3. 自建Broker生命周期治理补充清单

  • 版本生命周期台账:跟踪Mosquitto/EMQX等组件的支持版本与EOL日期,停止支持的版本纳入强制升级计划(衔接第3页EOL凭据吊销流程)。
  • 插件/SDK最小化:EMQX类丰富插件生态仅启用必需项,每插件独立评估(呼应第5页Kalay第三方SDK教训)。
  • 配置漂移检测:将Broker配置文件纳入版本管理,定期与基线比对(衔接第4页"策略即代码")。

增补来源

S-1

FCC《U.S. Cyber Trust Mark》官方页面:fcc.gov/CyberTrustMark;FCC 2026年8月选定ioXt为牵头管理方公告:fcc.gov/document/fcc-selects-ioxt-new-cyber-trust-mark-program-lead-administrator。

S-2

美国NTIA《Minimum Elements for a Software Bill of Materials (SBOM)》(2021年7月):ntia.gov/files/ntia/publications/sbom_minimum_elements_report.pdf。

S-3

NIST IR 8425《Profile of the IoT Core Baseline for Consumer IoT Products》(2022年11月):csrc.nist.gov/pubs/ir/8425/final。