物联网设备安全能力基线研究

图1  物联网架构

2.1  设备

随着技术与网络的发展,无论企业、政府还是个人设备,例如检测仪器、车辆和摄像头,都呈现网络化趋势。在制造或采购设备时,应考虑传感器、CPU架构、系统、组件以及安全等因素。计算机通常具备从简单微控制器到功能完善的CPU,支持ARM或Intel指令集的架构,以及拥有更强大运算能力显卡。但同时也需要功能强大的软件为其提供有力支撑。

2.2  网络

设备可以通过不同方式接入网络(互联网或本地网络)。根据数据大小、距离远近、带宽容量等的不同,可以采用不同的连接方式。

接入端通常有无线和固定两种连接方式。固定网络接入模式运营商无法从物联场景中获取信息,这是将物联网流量连接到本地私有物联网平台业务。无线接入模式运营商不仅可以获得相应信息,而且更有利于将物联网流量连接到运营商物联网平台,进行数据交换。

2.3  平台

平台是介入物联网产业垂直行业的核心。设备的连接不同于其他连接,物联网所产生的海量数据呈指数级增长,远超传统网络的数据量,需要强大的算力支撑。物联网平台的主要功能包括连接管理、设备管理和应用使能。

2.4  学习/分析

随着物联网设备和数据的增长,数据分析与流量分析的需求开始显现,这就需要相应的查询、AI算法、机器学习、深度学习等技术的支撑。我们即将迎来5G和边缘计算2.0的时代,去中心化,增强边缘计算能力的架构能够为物联网提供完善的生态系统。

2.5  应用

提供基于边缘计算能力的海量应用,将物联网技术与企业数字化转型需求紧密结合,实现普适性的智能化的解决方案集。物联网服务的各行业将自身和终端设备采集的数据,通过网络和平台传递对应行业的物联网服务器,根据其提供的高价值数据,进行产业升级、提效及智能化改造。无论采购还是制造、搭建,构建物联网应用的本质目的是企业的经济效益。

当网络和应用越来越复杂,需要由AI和自动化技术来支撑。SaaS(Software as a Service,软件即服务)已经改变了我们对网络服务的认识,随着需求和技术的不断变化,XaaS(Everything as a Service,一切即服务)应运而生,其可能成为未来的主流服务模式。

3  物联网安全

安全是物联网最重要的挑战。安全工作需要从(终端)设备安全、网络安全、数据安全、平台安全、应用安全等方面进行保障。

3.1  物理安全

传统网络设备的调试接口仅允许物理接入,没有任何限制,可以随意配置和调试,物联网终端设备亦是如此。物联网终端设备的存储、认证、加密、通信、接口都可能成为攻击者的切入点。很多厂商在物联网产品中保留了硬件调试接口。例如,路由器的Console接口,无需任何验证,接入后便可直接获取高级权限进行调试。此类接口通常具有较高权限,可能存在安全隐患。除此之外,还包括I2C、SPI、USB、SD卡等。

例如,Google Nest恒温器 [3] 进入设备固件更新(DFU)模式后,允许从USB端口插入U盘引导更新。利用此功能,攻击者将其自定义图像上传到设备ROM中,其中包括X-loader、第一阶段引导加载程序、UBoot(嵌入式系统的引导加载程序)、用于加载Linux内核的第二阶段引导加载程序以及用于将文件系统加载到内存中的Ramdisk方案。

攻击者修改了U-Boot,配置使用自定义Ramdisk(虚拟内存盘)执行内核的环境。U-Boot使用攻击者的Ramdisk引导Linux,并安装和修改Nest的现有文件系统,从而为设备提供Root访问权限。随后,将Secure Shell(SSH)工具安装到该设备中。然后,攻击者绕过网络地址转换(NAT)注入Odysseus恶意软件,使其成为家庭网络的一部分,并远程连接到攻击者的服务器。“僵尸网络”利用恒温器来控制整个家庭网络,攻击者可能会进行监视和拍摄个人照片、视频等非法行为。

3.2  口令安全

弱口令永远是网络安全中看似不重要却最为致命的问题。目前,大多数物联网终端设备都是“CPU+传感器+通信”的简单架构模式,设计上只考虑满足功能而不考虑安全因素。设备安全的关键、业务逻辑以及行为皆是基于启动引导和密钥,而黑客最常用的手段通常是暴力破解,获取设备信息、通信数据,也可能对设备进行信息替换,伪装成普通设备。

3.3  计算环境安全

该攻击面主要表现在应用程序缺陷、系统漏洞、信息泄露等方面。比如,目前物联网设备大多使用嵌入式系统,攻击者可以利用较低版本中的系统漏洞进行攻击,获取系统信息以及开放服务端口。此外,开发过程缺乏安全要求(缺乏SDL流程),没有针对输入的信息进行严格过滤、校验或转义,可能导致在调用函数时引发SQL注入或远程代码执行。

例如Edimax IP摄像机系统漏洞。该摄像头系统由三部分组成,IP摄像头、控制器(与摄像头通信的智能手机应用程序)和注册命令中继服务器。在连接到网络之前,每个摄像机都必须在注册服务器上注册。被恶意软件(如Mirai)感染的公共物联网设备充当软件Bot,向网络中的随机IPv4地址发送异步无状态的TCP SYN(TCP同步消息)探测,猜测它们的12个字符MAC地址,获取其中的确认信息,确认有效的MAC地址。按照与摄像机相同的步骤绑定并注册到服务器。而后,向命令中继服务器发送一个TCP请求,命令中继服务器随后用一个包含认证信息(用于原始摄像机)的数据包响应软件Bot。攻击者可以轻易从这些信息中提取密码,一旦获得密码,IP摄像机将被攻击者完全控制。

在特定的主机系统架构中下载并执行单独加载的恶意软件,传播并创建僵尸网络。在这种攻击中,软件Bot通过互联网连接模拟运行Linux的设备,并将其用作远程控制,包含在僵尸网络中。

随着恶意节点插入等攻击越来越普遍,物联网设备对身份管理的需求也越来越大。

3.4  安全通信

通信接口允许设备与IoT网络、云平台和移动终端等设备进行网络通信,固件或驱动程序可能成为被攻击的入口。例如,中间人攻击通常包括旁路和串接两种方式,攻击者处于通信链路的中间位置,充当数据交换角色,攻击者可以获得用户认证信息以及设备信息,之后利用重放或者无线中继方式获得设备管理权限。例如,利用中间人攻击解密TLS数据,以获取敏感信息。

3.5  云计算安全

随着云计算的发展,物联网设备逐渐实现通过连接到云来进行管理,而云服务商的漏洞、用户终端APP的漏洞以及两者间的通信数据都是攻击者可以切入的点。攻击者以此伪造数据进行重放,攻击获取设备管理员权限。

3.6  社会工程

通过提取用户的个人信息,攻击者可以在家庭网络中对用户进行预归档,从而影响物联网设备的数据保密性和完整性。

例如,车库门开启器Chamberlain MyQ漏洞。智能家电中的漏洞极易被利用,攻击者可以通过漏洞访问敏感数据,并控制门锁和传感器等物联网设备。在获得用户账户的访问权限后,攻击者不仅能够通过监视网络流量来读取车库门的状态(打开、关闭或正在移动),而且还可以打开或关闭它。通过电子邮件自动提醒车门状态变动,攻击者可以分析房屋住户进出情况。

3.7  安全管理

管理不当导致的安全问题是最大且最不可防范的问题。例如,弱口令、管理接口、设备ID泄露等,虽然反映在技术上,但无一例外都是缺少SDL流程管理所导致;产品设计阶段没有考虑到授权认证或者未对访问路径进行权限管理,任何人都能获取设备最高控制权限;开发人员为了简化测试,可能将某些特定账户的认证写入代码中,而出厂后这些账户依然留存在系统中。攻击者只要能够找到这些信息,便可轻松获取设备的管理员权限。

4  物联网设备安全防护

设备网络安全能力是计算设备自身具有的技术手段(即设备软硬件)。物联网设备网络安全基线,应该是一组通用的设备能力,以支持常规网络安全控制,保护企业设备以及设备数据、系统和生态系统。设立安全基线的目的是为我们提供一个基础参考,用于识别制造、集成或采购的新型物联网设备的网络安全能力。

集成物理或传感能力和网络接口能力的计算设备正在被快速设计、开发和部署。这些设备旨在满足客户需求,但往往缺乏对安全层面的设计和考虑,且大多与互联网相连。随着设备渐小,功能渐多,这些设备的安全问题也愈发复杂。定义物联网设备网络安全能力的基线非常有必要,在面对物联网的安全挑战时应该引起重视。

安全基线的确立基于对常见网络安全风险的管理方法和物联网设备应对风险能力的研究,并通过合作流程、结合现有观点进行提炼和验证。

此外,本文所建议的安全基线并不是绝对的,也不是唯一的。基线代表了为生成通用功能的定义而进行的协调工作,而非全面详尽的CheckList。

核心基线是默认设备最低安全水平,但设备网络安全能力通常需要从物联网设备的设计、集成或采集中添加或移除,以适应常见安全风险。核心基线并没有规定如何实现设备网络安全能力,因此采用核心基线的组织在实施方面具有很大的灵活性。下面对物联网设备网络安全能力核心基线的每个模块的要求进行详细说明。

4.1  接口逻辑访问

物联网设备可以限制本地和网络接口的逻辑访问,包括这些接口使用的协议和服务,以及授权的实体。

(1)在逻辑上或物理上禁用不需要的本地和网络接口能力。

(2)能够在逻辑上限制对每个网络接口的访问,只有授权的实体才能访问(如设备认证、用户认证)。

(3)与设备配置功能一起使用的配置,包括(但不限于)为设备锁定或禁用账户,或在多次失败的身份验证尝试后,延迟额外身份验证尝试的所有功能启用、禁用和调整阈值的能力。

限制对接口的访问可以减少设备攻击面,使攻击者拥有更少的机会进行破坏。例如,对物联网设备的无限制网络访问使攻击者能够直接与设备交互,这极大地增加了设备被攻击的可能性。对接口的访问可能会部分或完全受限于设备的状态。例如,如果一个设备没有配备适当的网络凭证,所有访问网络接口的行为都将受到限制。

4.2  设备定义

物联网设备可以在逻辑上和物理上唯一地被识别。

(1)唯一逻辑标识。

(2)授权实体可以访问设备的外部或内部位置上的唯一物理标识。唯一逻辑标识可以用来区分设备,通常用于自动化设备管理和监控。这可能要求它是不可变的,以允许使用标识符进行一致的标识。唯一逻辑标识也可用于设备身份验证,但应考虑为该目的选择适当的标识符。当唯一逻辑标识不可用时,例如在设备部署和退役阶段,或者在设备故障之后,可以使用唯一物理标识符将设备与其他设备区分开。该功能可能还需要一个附加的逻辑标识符,它不一定是唯一的,可用于更具体的目的,如设备意图信号。

4.3  设备配置

物联网设备软件的配置可以更改,且只能由授权实体执行,具体内容如下。

(1)能够更改设备的软件配置。

(2)只对授权实体进行配置更改的能力。

(3)授权实体将设备恢复到授权实体定义的安全配置能力。

一个被授权的实体可能会因为各种原因需要变更设备配置,包括网络安全、互操作性、隐私和可用性。没有设备配置能力,授权实体无法满足需求,无法将设备集成到授权实体的环境中。大多数网络安全能力至少在某种程度上取决于设备配置能力的存在与否。未经授权的实体可能会出于多种原因更改设备配置,比如获得未经授权的访问、导致设备故障或秘密监视设备的环境。当现有配置包含错误,已损坏或损毁,或不再被认为是值得信任的设备,恢复安全配置的能力是有帮助的。

4.4  数据保护

物联网设备可以保护其存储和传输的数据,防止未经授权的访问和修改,具体内容如下。

(1)能够使用可证明的安全加密模块,用于标准化加密算法(如认证加密、加密哈希、数字签名验证),以防止设备存储和传输数据的保密性和完整性受到损害。

(2)授权实体使所有实体都能访问设备上的全部数据,无论是否已授权(如通过擦除内部存储、销毁加密数据的加密密钥)。

(3)与设备配置功能一起使用的配置设置,包括但不限于授权实体配置加密使用的自身能力,例如选择密钥长度。

授权实体(如客户、管理员、用户)希望保护的数据的保密性,这样一来未经授权的实体就无法访问和滥用他们的数据。授权实体通常希望保护其数据的完整性,以免无意或有意地更改数据,而更改可能会产生各种不良后果(如向设备发出错误的命令、隐藏恶意活动)。

4.5  软件更新

物联网设备软件只能由授权实体使用安全且可配置的机制进行更新,具体内容如下。

(1)通过远程(如网络下载)和/或本地手段(如可移动媒体)更新设备软件的能力。

(2)在安装任何更新之前确认和身份验证的能力。

(3)授权实体能够将已更新的软件回滚到之前版本。

(4)将更新操作限制为仅授权实体的能力。

(5)启用或禁用更新的能力。

(6)与设备配置功能一起使用的配置设置,包括但不限于:能够配置为更新下载和安装的任意远程更新机制;当更新可用时启用或禁用通知的能力,并指定要通知的主体或内容。

更新可以消除物联网设备的漏洞,降低攻击者危害设备的可能性,纠正物联网设备的运行问题,从而提高设备的可用性、可靠性以及性能等方面的设备运行能力。一些授权实体需要具备自动更新的能力来满足其网络安全目标和需求,而另一些实体则更喜欢或需要对更新及其应用进行更直接的控制。有些组织可能希望在不影响关键应用程序或与其他系统集成的情况下提供回滚功能,而其他组织可能希望消除软件回滚到易受攻击的版本的风险。

4.6  网络安全状态监测

物联网设备可以报告其网络安全状态,并仅允许授权实体访问这些信息,具体功能如下。

(1)报告设备网络安全状态的能力。

(2)区分设备何时可能正常运行以及何时可能处于网络安全降级状态的能力。

(3)能够限制对状态指示器的访问,以控制只有经过授权的实体才能查看。

(4)能够防止任何实体(授权或未经授权)进入编辑状态,但对负责维护设备状态信息的实体除外。

(5)使状态信息在另一个设备上的服务可用的能力,例如事件/状态日志服务器。

网络安全状态监控有助于调查危害、识别滥用,并排除某些操作问题。设备如何使其他实体感知到网络安全状态会根据特定的需求和目标而定,可能包括捕获和记录信息事件持续记录、存储设备、发送信号处理外部监控系统,或通过一个接口提醒物联网设备自身。

本文讨论的网络安全能力只是一个基本参考,提供可能需要的方法,以满足共同的网络安全需求和目标。例如,图2中定义的6个部分 [4] ,可结合上述安全基线来看。