APP下载

物联网的OT安全技术探讨*

2020-03-02武传坤王九如崔沂峰

密码学报 2020年1期
关键词:攻击者指令联网

武传坤, 王九如, 崔沂峰,2

1.临沂大学信息科学与工程学院, 临沂276000

2.临沂大学 物流学院, 临沂 276000

物联网安全技术专栏

1 引言

物联网是信息技术发展到一定阶段的产物, 是信息技术发展的第三次浪潮, 是将传统网络虚拟空间与现实物理空间相结合的一种信息处理技术.虽然对物联网没有一个严谨的定义, 但人们普遍能接受的物联网, 从其内涵上说是一个由感知层、网络传输层和处理应用层组成的应用系统[1].近年来, 物联网的发展特别迅速, 据 Gartner 预测[2], 到2020 年, 物联网设备数将超过 200 亿个.

物联网感知层的功能主要是获取环境感知信息, 这些感知信息经由网络传输层的通信网络传输到处理应用层的数据处理中心, 然后数据处理中心对这些数据进行统一处理, 用于为行业提供应用服务, 从而完成这些数据的生命周期.反过来, 从处理应用层下发的数据一般为指令, 这类数据经过网络传输层发送到感知层, 然后由感知层的相应设备进行处理.

当感知层设备获取的数据向处理层传输时, 为了保护数据不受攻击, 需要对数据进行安全保护.这种保护主要针对数据内容不被获取(机密性保护)、数据被非法修改后能识别(数据完整性保护)、数据来源的真实性(身份认证)[3]等方面.这些都是传统的信息安全保护技术.但在物联网环境中, 对信息安全和隐私保护的技术也有特殊的要求[4], 例如在互联网环境中重视程度相对不高的数据时效性或数据新鲜性[5],在物联网环境中特别重要.而且由于许多物联网设备资源受限, 因此所能支撑的安全保护技术也需要特别定制, 简单地说就是需要轻量级信息安全保护技术, 特别是轻量级安全认证技术[6], 因为安全认证一般通过协议完成, 涉及一轮甚至多轮的通信过程, 而对资源受限的物联网设备来说, 通信所消耗的功耗远大于一般密码学算法的计算过程所消耗的功耗.

除了像传统信息系统一样需要信息安全保护技术, 物联网系统还需要控制安全保护技术[7], 准确地说是操作安全技术.这类技术主要用于对控制指令的保护.当来自数据处理中心的数据传输到感知层的设备终端时, 这类数据一般为控制指令, 要求接收这类数据的设备上传数据或进行一定的物理操作, 如控制开关、启动电机、光照调节等等.对这类控制指令的安全保护除了需要传统的信息技术外, 还需要操作安全,即OT (operational technology) 安全技术.

2 操作安全的概念

信息安全也称为IT (information technology) 安全.操作安全, 即 OT 安全, 是针对信息安全 (即 IT安全) 来说的.由于操作安全主要针对物理设备的控制, 因此很容易跟控制安全混为一谈.控制安全主要指对物理设备进行控制这一过程的安全问题, 强调稳定性、实时性、健壮性、可控性.在工业控制系统中,控制安全是工业控制系统的安全重点, 因为保障系统的稳定运行是工业控制系统中最重要的因素[8].而操作安全则是在控制安全的基础上, 增加了针对非法控制攻击的防护.

网络时代给控制系统带来智能化的同时, 也带来网络安全隐患.当一个工业控制主机被黑客入侵后,系统原有的稳定性被恶意破坏, 在这种情况下, 仅仅依赖系统自有的控制技术是不够的, 还需 IT 安全和OT 安全保护, 其中IT 安全保护针对信息系统, 而OT 安全保护针对恶意操作.

OT 安全包括如下几个方面:

(1) 系统的稳定性.当控制行为通过信息传输方式进行远程连接时, 控制指令的传输以及控制行为执行反馈信息需要通过网络进行通信.这种网络通信需要满足如下性质: (a) 网络可靠性, 包括通信线路冗余, 信号冗余, 信息处理设备冗余等; (b) 通信实时性, 使得通信所造成的时延在运行的范围之内; (c) 信息抗干扰性, 不会因为偶尔的干扰影响到对信息的正确传输和解读.

(2) 系统的健壮性.控制指令如果大幅度变化, 控制系统应如何执行这些控制指令.这要根据系统的属性来确定.如果一个系统通常运行平稳, 突然需要大的变化, 则可能导致系统稳定性受影响; 但如果一个系统大幅度调整属于正常现象, 则在设备能力所能承受的范围内, 尽可能按照指令执行.

(3) 系统的可控性.一个控制系统的用户对这个系统的管控权限可能很有限, 关键的技术维护可能需要设备的生产厂商或运营厂商提供.为了减少人员交通成本, 许多系统的运维需要通过网络完成, 因此控制系统对生产厂商是开放的, 无论是否信任设备维护人员, 都不得不做这样的选择.如果用户有能力自己对系统的运维负责, 则无需给生产厂商提供通信接口和访问许可.这方面的问题就是系统可控性问题.

(4) 控制指令的合法性和真实性.控制指令的合法性可以在系统中定义, 例如需要保证控制指令对受控对象的影响在安全范围内.而控制指令的真实性看上去很像信息安全的认证性, 但在物联网环境中, 对待控制指令的真实性问题, 与传统的认证技术不完全一致.

物联网的OT 安全是传统信息系统安全技术不能覆盖的安全技术.在工业互联网系统中[9,10], OT 安全显得尤为重要, 例如国家电网[11], 这是因为工业互联网系统最关心的不是系统有没有遭受入侵, 有时也不怎么关注工业控制系统的数据被入侵者获得, 而是最关心工业控制系统是否正常工作.现有的工业控制系统中, 许多控制主机都是服役多年、配置老旧、系统没有经常更新甚至没有及时打补丁的状态, 使得这些系统很容易遭受入侵, 即使与互联网之间有物理隔离, 也存在严重的安全风险.实施上, 一些工业控制系统的主机已经被病毒感染, 但这类病毒是针对传统信息系统的病毒, 主要收集重要信息 (如银行账户、用户密码等), 不对系统造成破坏, 更不会控制终端设备, 因此在这种状态下, 工业控制系统仍能“带病工作”.

在 OT 安全方面最危险的行为是攻击者伪造的或非法篡改的控制指令被目标设备执行, 而不是攻击者对入侵设备本身的破坏, 例如使被入侵的设备宕机, 或使其失去正常工作能力.前者的攻击面可以很大,后者只针对一台设备.

3 物联网系统入侵者的攻击局限性

在分析物联网 OT 安全技术之前, 先分析一下攻击者针对物联网系统, 包括针对特定的物联网设备,如何实施非法入侵和非法控制.

首先, 攻击者需要找到攻击目标, 这个步骤称为发现.除了对一些大型的工业设施, 攻击者可能通过社会工程学等途径获取到攻击目标的一些信息外, 对一般的物联网终端设备, 攻击者发现攻击目标的步骤通常是通过网络搜索.一旦发现有物联网设备连接到互联网, 攻击者进一步获取设备的相关信息, 扫描漏洞情况, 然后利用漏洞入侵系统.这些步骤也是对一般信息系统入侵的步骤.

物联网安全保护的第一步是防止被入侵.但无论如何防护, 都不能保证不被入侵.即使在某一段时间内没有被入侵, 也不能保证将来不被入侵.而且物联网设备由于资源受限, 对抗入侵的防护能力也有限[12], 因此通过防止被入侵来达到安全保护的技术手段应作为辅助措施, 而不是主要技术手段.对一些信息价值不高的物联网设备来说, 防止被入侵非常困难, 而且被入侵也不可怕, 只要做好OT 安全防护, 入侵所造成的危害就非常有限.

一旦攻击者入侵物联网设备, 就开始实施攻击.需要注意的是, 被攻击者入侵的物联网设备通常不是物联网终端设备, 物联网系统中许多连接到互联网的设备是物联网网关设备, 而终端物联网设备通过局域网 (常用无线局域网) 与网关设备连接.攻击者入侵网关设备后, 需要进一步通过网关设备发送指令才能控制终端设备.这种攻击需要对被入侵的物联网系统架构非常了解, 即针对特定物联网系统制定专门的攻击方案.

如果攻击者入侵的设备是物联网终端设备, 也不一定能完全控制该设备.对该设备的控制程度受多种因素影响, 包括以哪种身份入侵(例如登录到哪个账户, 就会受该账户权限的影响)、设备配置参数的修改权限(例如通过特殊物理接口修改的配置, 不能通过网络接口修改)、网络控制指令是否有合法性验证(对身份的鉴别, 或对指令合法性的鉴别) 等.

如果攻击者入侵的设备是物联网网关设备, 或工业互联网系统的控制主机, 则需要通过被控制的设备发送控制指令才能达到控制终端设备的目的.这种攻击能否成功, 受如下因素的影响: (1) 发送的指令是否有安全保护 (例如加密, 或完整性保护, 或其他用于合法性验证的辅助信息), 攻击者能否启动这种安全保护 (如果安全保护过程需要外部辅助设备的支持, 如 U-key, 则攻击者很难攻击成功), 攻击指令是否合法(即使攻击者有能力通过身份认证等检验过程, 攻击者伪造的指令数据也可能因格式不符合规范或其他原因被识别为非法指令) 等; (2) 攻击行为能否在被入侵的设备中被发现.被入侵的设备通过审计分析有可能发现攻击行为异常, 从而能识别, 并采取相应措施; (3) 攻击行为是否对系统的正常工作造成影响.攻击者如果不能成功将伪造的控制指令发送给受控设备并被设备接受执行, 则不能造成攻击效果.

但是, 由于物联网设备的安全防护能力较弱, 特别是物联网设备的OT 安全防护技术目前还没有被正确认识, 因此当物联网设备遭受网络入侵后, 所造成的危害可能还很严重[13].集群安全防护技术[14]可以在一定程度上阻止入侵行为的蔓延, 但资源受限是低成本物联网终端感知节点在实现安全保护时所面临的重大挑战.

4 物联网OT安全的关键技术

物联网的 IT 技术与 OT 技术相互关联, IT 技术所处理的信息可以直接通过 OT 技术实施操作, 而OT 技术的执行结果要通过IT 技术进行反馈和处理.IT 安全问题可以直接影响到OT 安全, 同样OT 安全问题也会导致IT 系统不能正常工作.本文主要侧重论述OT 安全方面的相关问题和技术, 其中有些安全技术是与 IT 安全通用的, 但有些安全技术则是 OT 安全所特有的.对于那些典型的针对 IT 系统的安全技术, 如数据机密性、完整性和身份认证等技术, 本文不作论述, 除非直接关系到OT 安全.

物联网OT 安全的目标是保护控制指令, 因为控制指令与业务数据在安全需求上有很多不同.

4.1 控制指令类数据的安全技术特点

控制指令数据也是一种数据, 其指令内容以预先规定的数据格式为标准, 接收指令的设备将接收到的控制指令数据与预先设定的指令内容进行匹配, 如果匹配成功, 则执行该条指令; 如果匹配不成功, 则以非法指令处置.这相当于逻辑判断, 表现在执行代码上则是“if-else” 格式.

控制指令数据的安全保护与传统的信息安全保护没有本质区别, 但从重要性上来说, 数据机密性有时并不重要, 例如对开关指令来说, 无论对数据的机密性如何保护, 观察者总能猜测其为 “开” 或 “关”, 虽然这种50% 概率的猜测没有什么信息量, 但如果结合受控对象的行为, 则可以使猜测成功率达到100%.即使观察者不能成功猜测控制指令为 “开” 或 “关”, 保护这类控制指令数据的机密性, 在许多应用场景下都没有明显的实际价值.

但是, 保障指令数据的真实性, 保护指令数据不被非法篡改, 保护指令数据的时效性等, 都是非常重要的.因此控制指令数据的安全保护, 应该包括数据来源真实性、数据完整性保护、数据新鲜性保护等.身份认证技术是提供数据来源真实性的有效手段, 将身份认证与密钥管理相结合, 将依此管理下的密钥对数据进行完整性保护和数据新鲜性保护, 则可提供指令数据所需的信息安全保护.如果指令数据需要机密性保护, 则在身份认证与密钥管理阶段, 增加数据机密性保护所需密钥的管理, 在数据传输阶段将明文数据替换为密文数据, 就可达到安全保护的目的.

需要注意的是, 如果需要对指令数据提供机密性保护, 应该使用概率加密算法, 或者在加密时引入随机数, 使得观察者根据密文无法猜测指令的明文, 而且不同的密文之间也没有关联性, 这与对业务数据内容保护的目标略有区别.

根据物联网OT 安全技术的特点, 下面对物联网不同的OT 安全技术分别进行描述.

4.2 物联网系统的稳定性技术

所谓物联网系统的稳定性 (stability), 是指物联网系统中控制指令的传输和执行过程是稳定可靠的.强调物联网系统稳定性的主要是工业物联网系统, 因为作为工业物联网系统核心的工业控制系统需要稳定性保障.

系统的稳定性主要反映在控制过程的稳定性.在一个控制系统中, 控制是一个不断根据系统反馈和外在信息进行调整的过程.控制系统虽然非常复杂, 但在进行理论分析时, 常常采用最简单的线性控制系统模型[15]:

其中u(t) 是控制量, 随时间参数t 的变化而变化; a(t) 是所谓的“固有加速度”, 是许多非线性效应随时间变化的量.通常不把a(t) 写成状态变量的非线性函数.有时为了提高精度, 可能对a(t) 作一定的估值.

控制系统的稳定性与传统信息安全的概念有一定差距, 但稳定性对信息安全的可用性具有重要支撑作用.控制系统的稳定性一般作为工业控制系统技术进行研究, 相关的研究成果非常多, 本文不作深入探讨.

4.3 物联网系统的健壮性技术

物联网系统的健壮性 (robustness), 是指物联网系统对故障的容忍性.当一个物联网系统的部分设备出现故障, 或部分网络出现异常时, 如果系统还能基本正常工作, 则表明是一个健壮性比较高的物联网系统.

健壮性高的物联网系统不需要可靠性高的硬件设备, 但需要系统在架构上具有容错能力.提高系统健壮性的常用方法是使用冗余技术, 包括设备冗余、网络冗余、计算能力冗余等.但冗余的代价是成本提高.一个需要 n 个物联网设备的系统, 如果给每个系统提供一个冗余, 则需要 2n 个设备, 仅此一项就提高了一倍成本.因此设备冗余的配置需要基于整个系统的健壮性, 而不是个别设备.

网络冗余方面有大量专门的研究成果.例如通过平衡各个节点的功耗消耗, 可以延长整个物联网的生命周期[16], 或者在生命周期确定的情况下, 如何降低网络建设成本[17].有时候为了提高系统的可靠性,确保即使少数感知节点数据错误, 也能根据所有感知数据获得正确结论[18], 这类问题属于可靠性问题.

4.4 物联网系统的可控性技术

近年来, 国家非常重视信息系统和控制系统的安全可控问题.这里说的可控性不是工业控制系统中的控制能力, 而是使用者或管理者对系统安全性的控制主动性.

物联网系统既包括信息系统, 又包括控制系统, 因此安全可控问题更是物联网系统的根本问题.但安全和可控是两个不同的方面.安全主要包括信息安全(security) 和社会安全 (safety), 而可控更多地是一种面向管理的技术和策略.

对物联网设备和物联网系统, 可控性包括如下内容: (1) 硬件可控性, 即硬件的可靠性工作方式可知、可信、可管控, 确保不存在未知的暗箱操作; (2) 软件可控性, 即软件(包括操作系统) 的工作机制可知、可信、可管控, 确保不存在未知的人为设置的后门.虽然大型软件系统难免存在各类漏洞, 但只要不是人为设置的漏洞或后门, 都不算违背可控性这一属性; (3) 运行可控性, 即系统在运行阶段不会出现未授权的进程、数据、行为, 确保系统的行为符合逻辑预期; (4) 应用系统可控性, 包括系统建设、系统运维、系统使用等各个环节, 都在技术和管理方面可以管控.

在管理方面, 中央网信办发布的《网络产品和服务安全审查办法(试行)》于2017 年6 月1 日起开始实施.该《办法》的第四条规定:

网络安全审查重点审查网络产品和服务的安全性、可控性, 主要包括:

(一) 产品和服务自身的安全风险, 以及被非法控制、干扰和中断运行的风险;

(二) 产品及关键部件生产、测试、交付、技术支持过程中的供应链安全风险;

(三) 产品和服务提供者利用提供产品和服务的便利条件非法收集、存储、处理、使用用户相关信息的风险;

(四) 产品和服务提供者利用用户对产品和服务的依赖, 损害网络安全和用户利益的风险;

(五) 其他可能危害国家安全的风险.

这些规定虽然没有明确定义什么是可控性, 但从实际操作中, 可控性主要是产品、系统和运维方面的国产化.从管理方面理解, 可控性包括如下方面: (1) 尽量降低意外因素导致的系统故障, 如自然因素、误操作、事故等; (2) 尽量降低人为恶意破坏的机会, 增大对这类破坏及时发现的能力; (3) 所用技术不受知识产权的约束, 例如具有自主知识产权, 或有对有关知识产权使用的权利; (4) 对人为破坏, 一旦掌握证据,可以通过法律法规予以惩罚.

1997 年我国出台的《商用密码管理条例》明确规定: 国家任何商用密码的研制、生产和销售都必须接受专控管理.任何国外生产的商用密码产品未经许可都不允许中国市场上销售.《商用密码管理条例》的出台也表明信息安全类产品不能依赖别人, 也不可能依赖别人, 必须立足于国内自主开发.

在技术方面, 可控技术包括硬件、软件、系统等方面.在硬件方面, 有一种称为可信计算的技术与可控性直接相关.从 1999 年开始, 由Intel、IBM、HP、Microsoft 等企业发起的TCPA (trusted computing platform alliance) 组织建了一个可信计算环境, 称为 TPM (trusted platform module).TPM 是一种嵌入在主板上的安全芯片, 通过和上层软件中间件TSS (trusted software stack) 共同作用, 使得非法软件和进程不能被安装和执行, 旨在从根本上解决信息设备遭受攻击严重的问题.2003 年TCPA 重新组成了一个更加具有商业性质的组织TCG (trusted computing group), 增加了Sony、Sun 等新成员, 扩大了商业推广力度.

TPM 虽然在名称上是一种“可信计算环境”, 但这种可信是设备层面的可信, 与系统层面的可控有着本质区别.如果国内的 IT 设备也使用 TPM 这种 “可信计算环境”, 中国的安全体系就会控制在别人手上, 计算机上产生的所有信息对外国人来说将不存在秘密, 不仅没有安全, 更没有可控, 因为这种 “可信”是由TCPA 组织定义的, 而且从经济方面还要为相关专利买单.为了避免这种可信而不可控的矛盾, 国内产业界和学术界意识到必须要建立独立自主的可信计算技术体系和标准.基于国内的密码算法标准, 参考TPM 嵌入芯片技术, 完全采用我国自主研发的密码算法和引擎, 构建一个新的安全芯片架构, 称之为可信密码模块(trusted cryptography module, TCM).TCM 安全芯片在系统平台中的作用是为系统平台和软件提供基础的安全服务, 建立更为安全可靠的系统平台环境.

在软件方面, 可控性体现在访问控制方面.对系统的访问控制是一种建立在操作系统功能模块上的安全策略, 是平台、技术和策略的结合.访问控制可以从账户访问方面获得控制权.其他与之相关的控制技术还包括对账户的权限管理.

4.5 控制指令的合规性验证技术

物联网系统的安全性主要针对控制指令的传输和执行.当物联网设备接收到一个控制设备发来的控制指令后, 应该立即执行.为了避免控制指令的偶然性错误, 受控设备需要判断控制指令是否符合规则要求.简单的规则要求包括:

(1) 指令格式是否正确;

(2) 指令的某些参数值是否在允许的范围内.

这些判断可通过简单的字符串比对来实现.但也有一些更高级的合规性判断, 例如:

(3) 指令的变化曲线是否正常;

(4) 指令值与其他参数(包括环境参数) 是否匹配等.这类合规性验证需要一些高级的信息处理技术.下面作进一步描述.

(1) 指令的格式是否正常.控制指令通过网络传输协议传输时应具有一定标准格式, 以便受控设备解读识别.这是通信协议应用层的协议规范, 在此不赘述.

(2) 指令的某些参数值是否在允许的范围内.一般来说, 指令值(或指令中的某些值) 应该在一定的预设范围内, 例如最大值为 M, 最小值为 m, 则当满足 m ⩽ x ⩽ M 时, 数值 x 都为合法.当有 x < m 或x>M 的情况发生时, 则属于异常情况, 这种情况一般需要人工干预, 否则指令将不被执行.事实上, 当x接近 m 或 M 值时, x 的值已经接近正常的边沿了, 对有些应用场景来说, 需要根据指令取值范围挑战响应策略, 例如越接近正常值, 响应越及时, 越偏离正常值, 尽管仍然在正常范围内, 响应也越迟缓, 这种策略有助于在盲目操作下保护机器设备, 前提条件是应用场景允许这种延缓执行.另一种情况是当一个指令要求将某个参数值从正常值 (根据历史数据判断为正常) 突然变为异常值(也根据历史数据判断为异常), 从逻辑上判断也属于“异常”.但这种判断可能是不正确的, 因为受控设备不能理解控制主机的意图, 如果简单地判断是否“异常” 并按判断结果执行, 容易导致错误执行结果, 使得受控设备表现为“失控”.

(3) 指令的变化曲线是否正常.如果将历史指令值 (那些可以量化的值) 记录下来, 并画成一条曲线,则可以看出这条曲线的变化情况.当前指令是否沿着这条曲线的变化继续发展, 这种发展是否符合正常值等, 都是需要验证的.当然受控制的设备不会从曲线中看出规律, 但可以使用其他的数学量来刻画, 如均值、方差等.另外需要定义什么是 “正常值”, 才能让设备进行判断.一种方式是根据业务情况, 将 “正常值” 作为一个不变量写入系统, 另外一种方式是使用人工智能计算, 在执行中不断学习, 根据历史记录得到一个均值作为正常值, 而且这个均值将随着后期的记录不断调整变化.

(4) 指令值与其他参数是否匹配.如果一个温控设备在监测到周围环境温度超高, 而控制指令还要求继续升温的话, 这种指令可以初步判断为“异常”; 又如机动车传感器探测前面有障碍物, 而司机突然紧急加速的话, 也判断为 “异常” 指令.

既然不能判断一个指令是否真正有异常, 为了避免可能的情况, 可以在逻辑判断为异常指令的情况下,采取延缓措施.例如, 当一个指令让某个设备转速提升5000 转时, 如果全速执行指令, 则在1 秒钟之内能提升5000 转.但因为指令在逻辑上属于不正常情况, 但又不能不执行, 为了提高安全性, 不应该全速执行指令, 而是在第一秒内提升2500 转, 然后在下一秒提升1250 转, 然后在下一秒再提升1250 转.这样一个指令在3 秒内执行完毕.如果在此期间新的指令进行了调整, 则在该指令执行完成之前, 直接切换到对下一个指令的执行, 因为也许下一个指令就是要减速.这类高度变化的控制指令在赛车场景中常常发生, 当然赛车场景中对异常的判断也将不同.因此, 对于 “异常” 指令, 应该根据应用场景的不同予以处理, 例如设备可能对“异常” 指令迟缓执行, 或不予执行, 或切换为自动模式(如智能汽车), 没有统一的解决方案.

无论判断为正常还是异常, 都要有参考模型.例如某个参数的正常值为 d, 正常变化范围为 ∆d, 则d±∆d 为正常, 超出该范围为不正常; 或者分为不同的区间, 落入某个区间的值伴随着事件发生的概率.如果一个事件发生的概率特别小, 则被认为是异常.这里的正常和异常没有绝对界限, 而是通过不同的概率值来体现.

有些系统的正常与非正常不容易预设, 甚至是一个动态变化的状态, 这种情况下, 人工智能技术也许能起到积极的作用.通过人工智能技术, 可以在学习阶段建立起对正常和不正常的判断, 而且在随后的判断过程中, 逐步调整所参考的正常值的取值范围.

4.6 控制指令的真实性鉴别技术

对物联网设备的控制指令, 可能是正常用户发送的, 也可能是攻击者伪造的.如果对控制指令有信息安全保护, 例如对控制指令来源的认证、格式的完整性保护等技术, 则成功伪造指令的可能性非常低.

但是, 如果攻击者成功入侵一个合法的控制节点, 则可以调用该节点使用的任何密码算法和本地存储的密钥.这样, 伪造的指令无论从来源还是数据加密、数据完整性保护, 在受控设备看来都是合法的.在这种情况下, 鉴别控制指令的真实性非常困难, 因为合法用户在发送控制指令的主机上的任何操作, 入侵者都可以操作.

在假定攻击者能入侵控制主机的条件下, 要想实现真实性鉴别, 需要有另外一个控制主机本身所不能主动获取的数据、或计算过程、或通信线路或控制.除此之外, 我们还看不到另外的可能.

4.6.1 机外数据来源

主机外的数据来源就是不存在于主机软硬件的数据, 而是一种外部设备存储的数据, 或者由人工输入的数据.这种数据可以看做一个密钥(如口令), 但如果入侵者驻存在入侵设备的内存中, 并监视所有外部数据的话, 则可以获得从外部获得的数据.如果这种数据是静态的, 一旦被入侵者获得, 入侵者便可以完全掌控被入侵的主机, 于是可以成功伪造任何符合指令格式的非法控制指令, 实现对物联网设备的非法控制.因此, 使用机外数据提供安全保护时, 应满足如下条件:

(1) 独立性: 机外数据无法通过主机本身产生.如果体现在计算上, 则应该是计算不可行的;

(2) 新鲜性: 机外设备提供的数据应该具有新鲜性保护, 即一旦机外数据被使用, 则不能再次被使用;

(3) 无关性: 不同的机外数据之间没有明显的关联, 即给定一些机外数据, 不能计算未使用的合法的机外数据.

4.6.2 机外计算过程

主机之外的计算是数据安全操作常使用的方法.例如移动设备通信所使用的数据加密和身份认证过程, 都是通过插入到移动通信设备内的SIM 卡来完成的.SIM 卡是一个嵌入式硬件设备, 具有内嵌的密钥和密码算法, 移动通信设备只需要合适的通信接口, SIM 卡就可以处理所需要的计算.例如移动通信设备可以将数据传给SIM 用于加密或解密.在这种情况下, SIM 卡的操作对移动通信设备来说是一个机外计算过程, 当然SIM 卡的计算过程还伴随着SIM 卡内存储的密钥信息.

一般地, 机外计算过程是主机所不能完成的.由于很难对计算过程进行保密, 因此机外计算过程通常伴随着机外秘密存储的数据(即密钥).

4.6.3 机外通信

机外通信也是一种对主机的控制所不能完成的.这种机外通信需要满足如下条件:

(1) 必须有来自主机自身所不能产生的数据作为机外通信的数据来源;

(2) 主机之外的数据不受主机的影响;

(3) 通过主机系统不能获得主机之外的通信数据.

实现机外通信线路的方式有很多.例如如下方式可以实现机外通信: (1) 使用独立的双系统或多系统,接收端根据多个系统的通信数据综合处理后生成要处理要执行的指令数据; (2) 使用机外人工控制开关,包括需要人工确认的物理或逻辑按钮, 只有人工控制开关被启动, 来自主机的通信数据才能被正常接收.

机外通信线路不一定是一个独立的物理通信线路, 可以是同一通信线路上的一个独立控制过程, 例如人工开关和人工确认就属于这类情况.从安全方面来看, 通过增加人工控制或人工确认来提高主机遭受入侵控制后的安全性是有风险的, 因为人工控制和人工确认往往成为形式过程, 不对实际数据进行验证, 而且要通过人工识别伪造的控制指令也很困难.

5 物联网OT安全保护技术新方向

OT 安全的重点是控制指令内容的合法性和真实性.对受控设备来说, 通过系统配置, 通过参数的数值化比对, 可以判断控制指令是否合法, 但许多物联网设备没有能力判断控制指令是否真实, 因此OT 安全保护的重点, 是让物联网设备尽量减少遭受网络入侵攻击的机会.

如果物联网设备与互联网是物理隔离的, 则数据媒介 (如 U 盘) 可以间接将其与互联网相连接, 这种情况可以理解为间歇性网络连接.从这个意义上说, 完全与互联网隔离的系统几乎是不存在的.我们假设物联网设备与互联网直接相连, 而且资源可能受限, 因此抵抗网络攻击的传统技术手段很难实施.在此情况下, 针对IT 安全和OT 安全两方面的安全风险, 我们建议从网络暴露、身份认证、入侵容忍、系统冗余、设备替换等方面提出安全保护措施, 可以看到, 这些安全保护措施与传统信息系统的安全保护措施在很多方面迥然不同.

(1) 降低网络暴露.

许多物联网系统不需要全时连接网络, 例如定时抄表业务, 只需要在抄报数据时连接网络即可, 其他时间可以切断网络.为满足在非抄报数据时段有来自管理中心的特殊指令要求(特殊情况下管理中心可以在正常抄报数据之外的时间段要求数据抄报), 需要间断性地去侦听网络.如果有来自网络的特殊指令, 则接收并在验证合法后执行; 否则, 继续睡眠.例如抄表模块每 10 分钟内连接网络并侦听 10 秒钟时间, 其余9 分50 秒时间内都处于断网状态.为了能保证这种特殊指令能被接收, 发送指令的服务器需要以每5秒钟发送一次指令的频率重复发送10 分钟, 这样总能等到抄表模块醒来的时间.通过这种策略, 使得物联网设备暴露在互联网上的时间会大大减少, 从而可以减少被攻击者探测到从而发起攻击的机会.例如上述抄表模块, 暴露在互联网上的时间占正常时间的10/600 = 1.7%.如果攻击者循环扫描时, 对每个可能的互联网地址都停留1 秒钟, 则抄表模块被攻击者扫描发现的机会只有1.7%.

除了正常业务数据的通信端口需要降低暴露程度外, 还存在个别偶尔需要开放的端口, 例如用于调试和配置的通信端口, 这些通信端口更应该在不用时处于关闭状态, 而且即使需要开启, 使用完毕后也要及时关闭, 避免不必要的网络暴露带来的安全风险.

网络暴露问题需要建立合适的模型, 在网络暴露和连通性方面进行折衷.

(2) 轻量级安全认证技术.

入侵保护包括两方面: 入侵前和入侵后.入侵前的保护属于网络边界保护, 常用技术是网络防火墙; 入侵后的保护是入侵检测(IDS), 对信息系统来说是一种成熟的安全保护技术.但对资源受限的物联网系统,入侵检测几乎没有能力, 因此主要技术将在入侵前的安全保护方面.对许多物联网设备来说, 使用防火墙技术也是不现实的, 因此对边界防护的主要技术手段是身份认证.具体地, 轻量级身份认证是提升资源受限物联网设备的关键技术.

需要注意的是, 身份认证的目的是建立共享会话密钥, 从而进行保密通信, 可以有选择地提供通信数据的机密性和完整性.但物联网系统中的许多数据都是小数据, 在这种情况下, 可以将身份认证与数据保护融合在一起, 提供可认证的数据保密轻量级协议, 更具体地说, 应该设计融身份认证、数据机密性、数据完整性、数据新鲜性等安全保护于一体的轻量级数据传输协议, 这种技术才是真正适合资源受限的物联网设备的安全保护技术.

(3) 建立入侵容忍机制.

无论使用怎样的保护手段, 应该作这样的假设: 物联网设备遭受入侵攻击是必然的.在物联网设备遭受入侵者攻击并完全控制的情况下, 如何保证攻击所造成的损失最小? 首先, 攻击者获取资源受限的物联网设备内部数据的可能性不大, 而且部分秘密信息(如密钥) 也不容易获得.因此, 攻击者操作入侵设备才是入侵的真正目的, 这是OT 安全问题所特有的特征之一.因此, 建立物联网设备的入侵容忍机制, 对物联网OT 安全是非常必要的.

关于入侵容忍技术, 已有大量研究 (如文献 [5,19–23]), 但传统的入侵容忍技术主要通过提升被入侵设备的系统自身的综合防护能力来得到, 主要包括自我诊断能力、故障隔离能力和还原重构能力.但对许多物联网设备来说, 不太可能具有这些能力, 因此不能按照传统方法提供入侵容忍技术.但针对OT 安全入侵攻击的特点, 我们可以从系统架构上使系统具有入侵容忍能力, 包括资源受限的物联网设备.本文4.6节给出的几种技术方案, 都可用于入侵容忍架构方面的技术方案, 因为在物联网系统中, 靠单机实现传统的入侵容忍技术是不现实的.物联网设备的入侵容忍技术, 无论从内部机制方面, 还是从整体架构方面, 都是意义重大的课题, 有待进一步深入研究.

(4) 设置适当的系统冗余.

物联网系统通常包括大量低成本和资源有限的物联网感知终端设备, 这些设备采集的环境信息汇集到数据中心统一处理, 用于对被监控系统的监控数据.为了避免部分物联网感知终端设备因故不能正常工作,在部署这些终端设备时, 一般都多于实际需求, 即有冗余.如何设置这种冗余配置, 则是一个有待进一步研究的问题.当采集的数据代表同一数据时, 通常使用择多原理选择结果; 但当采集的数据构成一个二维或三维曲面时, 则没有真正的冗余, 而是根据所采集的离散数据所绘制的曲面与实际情况的误差问题, 理论上终端越多, 所采集的数据越能反映实际情况, 但如果模型合理, 可以通过少数几个终端数据, 就能绘制曲面, 使其与真实曲面的误差在预先定义的误差范围内.这种情况下, 如何部署冗余, 是一个有待解决的研究课题.

(5) 设备替换有备无患.

物联网系统中某些关键设备的损坏会影响到整个物联网系统的正常工作, 例如物联网网关节点.如果物联网系统对网关节点也设置了冗余, 则个别网关节点的故障不影响整个系统的正常工作, 但也需要尽快替换.

物联网设备的替换是一件很简单的事, 只需要将被替换的设备的关键参数(如密钥、计数器、身份标示、一些临时参数等) 写入替换设备即可.为此, 需要对关键设备的这些参数进行定期备份.由于这些参数涉及秘密数据, 因此如何高效、安全地备份这些重要的设备参数, 以便在设备发生故障时能尽快配置替换设备, 也是一个有待深入研究的问题.

6 结论

物联网的安全问题是关系到物联网产业健康发展的关键.虽然物联网产业在近几年得到突飞猛进的发展, 但随着产业规模的扩大和技术标准化的形成, 安全问题则逐步出现.当前在物联网安全方面的保护技术还不够成熟, 事实上无论在学术界还是产业领域, 对物联网安全技术的本质还没有梳理清楚.物联网安全涉及 IT 安全与 OT 安全, 其中 IT 安全技术与传统信息系统的安全技术也有区别, 结合物联网 OT安全性方面的需求, 而且IT 安全与OT 安全相互影响, 这也是物联网安全技术落后于产业需求的原因.

本文深入分析了物联网系统的OT 安全性, 指出了 OT 安全性与IT 安全性的一些区别, 描述了OT安全性的技术特点, 也给出了一些有待进一步研究的技术问题.希望本文的观点能为完善物联网的安全架构提供有用的参考.

猜你喜欢

攻击者指令联网
基于贝叶斯博弈的防御资源调配模型研究
“身联网”等五则
《物联网技术》简介
《物联网技术》简介
基于 Verilog HDL 的多周期 CPU 设计与实现
《单一形状固定循环指令G90车外圆仿真》教案设计
简述传感器在物联网中的应用
关于ARM+FPGA组建PLC高速指令控制器的研究
正面迎接批判
正面迎接批判