物联网操作系统安全白皮书 (2022年) 中国通信标准化协会 2022年9月 ————————————————————————— 版权说明 ————————————————————————— 本白皮书版权属于中国通信标准化协会,并受法律保护。转载、摘编或利用其它方式使用本白皮书文字或者观点的,应注明“来源:中国通信标准化协会”。违反上述声明者,本协会将追究其相关法律责任。 前言 物联网操作系统是指运行在物联网感知控制域中各类终端上的系统软件,主要实现对物理世界对象的本地化感知、协同和操控,并为物联网其他域提供远程管理和服务接口,是感知控制域中各类终端的主要功能的载体。因此物联网操作系统的稳定和安全是物联网终端以及物联网整体系统的安全基础。目前,物联网操作系统种类繁多,但普遍存在安全能力参差不齐,安全设计缺失或不规范,安全防护能力不足等问题,导致物联网终端设备成为了物联网系统中的安全薄弱环节。 在深入分析物联网操作系统所面临的主要安全问题和风险的基础上,本白皮书旨在指出能有效保护物联网操作系统的安全机制、安全体系以及安全技术,推动适合于物联网设备及操作系统的安全技术的研发和应用。希望能够为产业在规划设计物联网操作系统安全能力时提供参考和指引。 本白皮书由中国通信标准化协会(CCSA)网络与信息安全(TC8)安全基础工作组(WG4)牵头,参与编写单位包括:大唐高鸿信安(浙江)信息科技有限公司、中国网络安全审查技术与认证中心、中国移动通信有限公司研究院、中移物联网有限公司、中兴通讯股份有限公司、公安部第三研究所、元心信息科技集团有限公司、北京邮电大学、北京梆梆安全科技有限公司、北京豆荚科技有限公司、电子科技大学、安谋科技(中国)有限公司、美的集团股份有限公司、杭州安恒信息技术股份有限公司、南京翼辉信息技术有限公司、烽火通信科技股份有限公司、深圳大学、绿盟科技集团股份有限公司、意法半导体(中国)投资有限公司。主要参与编写人员:王亚鑫、王伟、王雷、王聪、王羲文、卢延波、卢佐华、申永波、田丽丹、李东宏、李蒙、李孝成、刘尚焱、刘军、刘海洁、刘国锋、刘伟丽、许睿、牟飞、陈丽蓉、陈珊、何申、何狄凡、吴国燕、杨辉、杨坤、杨明、杨新苗、余希希、张亮亮、邹仕洪、罗蕾、国炜、郑驰、郝卓航、奚智、徐祥智、袁森、阎军智、黄静、蒋学鑫、彭凯、粟栗、路晔绵、魏凡星。 目录 1.物联网操作系统概述1 1.1.物联网及物联网操作系统1 1.1.1.物联网简介及发展趋势1 1.1.2.物联网操作系统简介及架构1 1.1.3.物联网操作系统特点2 1.1.4.物联网操作系统发展趋势3 1.2.典型物联网操作系统安全架构3 2.物联网操作系统安全分析6 2.1.物联网操作系统安全发展态势6 2.2.物联网操作系统典型安全问题8 2.3.典型物联网场景中的安全风险剖析10 2.3.1.工业控制10 2.3.2.智能家居11 2.3.3.智能表计12 2.3.4.车联网13 2.3.5.视频网14 3.物联网操作系统关键安全技术15 3.1.身份鉴别技术15 3.2.访问控制技术17 3.3.密码技术18 3.4.物联网通信安全技术20 3.5.可信计算及可信执行环境技术22 3.6.日志审计及安全态势感知技术25 3.7.系统升级安全技术28 3.8.资源竞争安全技术29 4.物联网操作系统全生命周期中的安全指导30 4.1.安全设计30 4.2.安全实现31 4.3.安全测试32 4.4.安全运维34 5.物联网操作系统安全技术应用实例35 5.1.工业安全容器35 5.2.平台安全架构36 5.2.1.PSA简介36 5.2.2.TF-M简介37 5.3.嵌入式防火墙38 5.4.轻量级传输层安全协议39 6.建议及展望41 缩略语列表42 参考文献45 1.物联网操作系统概述 1.1.物联网及物联网操作系统 1.1.1.物联网简介及发展趋势 物联网是“通过感知设备,按照既定协议,连接物、人、系统和信息资源,对物理和虚拟世界的信息进行处理并做出反应的智能服务系统”。其中,“物”指物理实体。国际标准ISO/IEC22417:2017《Internetofthings(IoT)-IoTusecases》中提出物联网的应用场景包括交通、家居、公共建筑、办公、工业、农业、渔业、穿戴、机车、智慧城市等。 全球物联网连接数保持高速增长,2020年全球物联网总连接数达到131亿,预计到2025年,连接规模将达到246亿,全球物联网行业正处于高速发展期。我国物联网连接数在全球占比超过30%,产业规模突破1.7万亿元[1],呈现出良好的增长态势。 2021年,工信部发布《物联网新型基础设施建设三年行动计划》,明确提出“融合应用发展行动”,在社会治理领域,将感知终端纳入公共基础设施建设,加快构建智慧城市、数字乡村。各地政府将其纳入新阶段发展重点,物联网投资将持续加大,外部政策为其快速发展注入了新动力。 1.1.2.物联网操作系统简介及架构 物联网操作系统是支持物联网技术大规模发展的核心基础软件,包括操作系统内核、外围组件和服务、物联网安全框架等,以支持构成具有低功耗、安全通信属性的物联网软件平台。物联网操作系统的内核通常具备任务管理、中断管理、异常处理、时钟管理、存储管理、同步与通信等功能。物联网操作系统向下协调和控制各种软件硬件资源,向上提供统一的应用编程接口,降低物联网应用开发的复杂度、成本和时间。物联网操作系统的架构如图1所示。 由于物联网操作系统具有不同的架构和安全机制,因此在安全性、AI支持、实时性、资源要求等方面具有较大的差异。如工业控制的物联网操作系统必须满足强实时性要求,而用于智能家居终端设备的物联网操作系统的实时性要求则不高。 图1物联网操作系统架构示意图 1.1.3.物联网操作系统特点 近些年,随着设备形态多样化发展,特别是人机交互方式的更迭,传统操作系统逐步从企业商用操作系统、个人计算机操作系统演进到移动设备操作系统。 企业商用机领域的大型机、小型机的操作系统以类UNIX系统为主,而人机交互方式以键盘为主。如果对于磁盘I/O要求较高,那么Linux是首选服务器操作系统。 个人计算机中微软的Windows占据主流,苹果的macOS独树一帜,Linux各种发行版后来居上。人机交互方式演进为鼠标、键盘为主。图形用户界面友好,窗口制作优美,操作简单易学。 移动设备的操作系统目前以谷歌Android系统和苹果iOS系统为主。由于设备多是便携的小尺寸手持形态,人机交互方式取消了键盘,演进为完全基于触摸屏的交互设计。 相比传统操作系统,物联网操作系统通常具备如下的特性[2]: 1、可裁剪伸缩性:根据不同的硬件能力和应用场景,需要对物联网操作系统进行剪裁与配置,以灵活的配置来满足不同的需求。操作系统要实现上述的灵活配置,需要采用“组件化、模块化”的思想,如可伸缩的开放式架构、组件的模块化设计以及任务调度分层化管理等。 2、低功耗节能性:由于部署的位置、空间、热环境等方面的限制,低功耗成为物联网设备及操作系统的一个非常关键的指标。在物联网操作系统整体架构设计的时候,加入一些休眠模式、节能模式、降频模式等逻辑判断,以支持足够 的电源续航能力。 3、安全性:作为物联网基础软件的操作系统,尤其需要重视信息安全性,具备防御外部入侵和避免非授权访问的能力。其次需要重视功能安全性,避免因软件功能缺陷而导致安全风险。 4、实时性:物联网应用领域中大部分设备都要求实时性,不论是数据采集、信息交互还是操作控制。实时操作系统(RTOS)是指当外界事件或数据产生时,能够实时采集并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,调度一切可利用的资源完成实时任务,并控制所有实时任务协调一致运行的操作系统。 5、泛在通信性:由于物联网设备的部署场景千差万别,可能采用的通信制式五花八门,因此作为物联网基础软件的操作系统,就要求内置各种近距离和远距离的通信协议,既能支持GPRS/HSPA/4G/5G/NB-IoT等蜂窝无线通信功能,也能支持WiFi/ZigBee/NFC/RFID等近场通信功能。 6、云端连接性:物联网设备完成数据采集后,海量数据通常需要云端进行存储与分析。因此,云端连接性是物联网操作系统的基础功能。通过内置云平台连接中间件,物联网操作系统可以极大的简化物联网应用的开发。 1.1.4.物联网操作系统发展趋势 由于物联网应用场景的多样性,使得物联网终端复杂多样,为了满足不同应用的需求,物联网操作系统产品种类十分丰富。目前物联网操作系统呈现出三种主要的形态[3]。一是以谷歌AndroidWear、苹果watchOS为代表的操作系统,通过对智能手机操作系统或PC操作系统进行裁剪以适配物联网需求,但往往难以满足物联网级别的功耗和可靠性要求。二是在传统嵌入式RTOS上增加物联网通信功能,如FreeRTOS、RT-Thread等,此类操作系统具有功耗低、可靠性高等特点,但缺乏良好的应用生态。三是物联网专用操作系统,具备可伸缩、易扩展、强实时性、高可靠性等特点,可以更好地适配各类物联网的应用需求,如阿里巴巴AliOSThings、中国移动OneOS等。 物联网操作系统发展成熟仍需要时间,一是由于新型物联网操作系统对主流应用软件的兼容性问题,二是物联网操作系统作为系统软件,涉及到整个生态的建设,而生态建设、应用研发适配以及开发者培育都需要时间。 1.2.典型物联网操作系统安全架构 安全的物联网操作系统需要从系统设计、实现、使用和管理各个阶段入手,遵循一套完善的系统安全策略。物联网操作系统内核中存在错误或设计缺陷,应用部分采取再多缓解措施也难以保障系统的安全性。通过微内核设计来减少内核 的复杂度、利用安全核来提供整个物联网操作系统安全性,成为提升物联网操作系统安全性的一个趋势。 当前,物联网操作系统主要分为两大类。一类主要面向资源受限的物联网设备,系统架构多采用可配置、高度模块化的设计,编译后的内核通常小于10KB,这类物联网操作系统普遍没有用户空间的概念,功能较为单一,常见的有µC/OS、FreeRTOS、Contiki、MbedOS、QNX®Neutrino®RTOS、Zephyr、ThreadX、LiteOS、AliOSThings等。另一类则面向资源丰富的物联网设备,多采用UNIX或类UNIX内核,除了提供进程调度、进程间通信等基础服务外还提供文件系统、设备驱动、虚拟内存管理、网络协议栈等复杂的服务,这类物联网操作系统功能繁多,运行环境复杂,安全问题突出,常见的有Linux、QNX、Android、鸿蒙OS等。 1、资源受限型物联网操作系统 资源受限型物联网操作系统典型架构如图2所示,主要包括硬件层、内核层、服务层/框架层、应用层。受限于硬件性能,该类物联网操作系统安全功能较为薄弱,如何在安全与可用性之间取得平衡是这类物联网操作系统设计的重点。轻量化的操作系统安全技术是当前的主要方向,例如:Arm在Armv8-M中引入了TrustZone-M技术,并提供了TF-M固件安全解决方案;翼辉提供了嵌入式防火墙,能有效防御常见的网络攻击;OneOS提供了轻量级TLS,可利用极低的资源消耗实现数据加密和安全通信服务;LiteOS提供了LMS(LiteMemorySanitizer)服务,能够实时检测内存操作的合法性。 图2典型资源受限型物联网操作系统及安全架构 2、资源丰富型物联网操作系统 资源丰富型物联网操作系统典型架构如图3所示,主要包括硬件资源层、内核层、系统组件/服务/工具层、文件系统、应用层。这类物联网操作系统多采用UNIX或类UNIX内核。考虑到物联网设备的使用环境、使用方式存在较大差异,传统计算机操作系统所采用的安全模型、安全机制并不一定适用于物联网操作系统。因此,物联网操作系统在设计开发时需要结合物联网设备特性选择合适的安 全模型和安全机制来