第四章 新技术、新产品
物联网安全技术分析
  文/谭喆     深圳力维智联技术有限公司
  随着5G技术的发展和IPv6的普及,物联网产业也迎来了高速发展期,各行各业的物联网应用已呈井喷之势,特别是工业和电力领域,依托物联网技术和设备对传统工业和电力设施进行智能化、信息化改造已被写入了政府决议,工业物联网、泛在电力物联网、AIOT等新兴词汇已成为投资市场耳熟能详的新宠。可以说,物联网技术已成为中国产业升级的重要手段。
  然而,任何信息技术都有其固有的安全问题。自从信息技术诞生以来,安全问题就像悬在头顶上的达摩克里斯之剑无时无刻不在威胁着信息产业方方面面的利益。物联网领域亦不能免俗,且由于自身固有的设备数量、种类、体系结构、操作系统、接入组网、互联协议等短板因素,物联网领域已成为安全问题泛滥的重灾区。本文旨在分析物联网的各种安全问题以及其防御技术。
  一、物联网技术及其安全问题
  1.设备数量众多
  由于物联设备大多是传感采集类设备,因此其部署数量相当庞大。特别是在城市级组网环境下其测点数量都是千万级别的。这么大的设备数量自然会成为恶意程序寄生的温床。且由于大多数物联网设备本身不存在防护体系,系统简单划一,一旦其组网的防御被突破,千千万万的设备会瞬间被挟持成为"肉鸡",不但"失身"而且被"诱骗"发动DDOS攻击,其攻击力和破坏力令人不寒而栗。
  2.设备种类繁杂
  物联网领域的另一个突出特点就是设备种类异常繁杂,制造厂商众多。在各行各业各个领域都有物联网的身影存在,通信、安防、工业、电力、能源、动力环境、应急、医疗等各个领域已然成为物联网产业和技术发展的根据地,且呈星火燎原之势不可阻挡。而物联网定义的门槛又特别低,一个小小的烟感也可以被看成物联网设备。设备种类的繁杂为安全防护带来了巨大困难,几乎每一种设备都有其固有的安全漏洞,因此针对每一种设备进行安全防护的定制量相当巨大。
  3.体系结构宽泛
  物联网设备几乎涵盖了所有的处理器体系架构,从ARM、MIPS、PowerPC、Alpha、UltraSPRA到X86/X64,乃至种类数量更为庞大的单片机系统。每种体系架构都有其适配的操作系统和启动特点,也就是说每种体系架构都有恶意程序的寄生环境。一般来说,物联网设备设计简单功能单一,其处理器架构以RISC(精简指令集)体系为主,已足以支撑上层操作系统机器指令执行效率的要求。但随着近年来"软件定义"概念的提出和落地,软件定义物联网逐渐成为业内共识,其宗旨就是在通用计算环境(基于X86/X64体系结构和通用操作系统)下运行由软件定义的物联网业务,因此CISC(复杂指令集)的处理器在物联网领域占据越来越大的份额,由体系结构带来的安全问题更加严重。
  某些恶意程序并不谋求全系列体系架构的兼容,而仅仅是针对特定体系架构的设备进行攻击,其手段巧妙,攻击精准,设备被首次攻击后基本没有免疫能力。更为严重的是,这些体系架构的处理器也频频爆出自身的漏洞。例如2017年爆发的"永恒之蓝(EternalBlue)"系列漏洞,就是利用了基于X86的Windows系统的SMB漏洞获取系统的最高权限。黑客利用这种漏洞开发了Wannacry勒索病毒。而2018年的"熔断(Meltdown)"和"幽灵(Spectre)"则剑指更底层的X86 CPU的分支预测执行机制,利用这种机制进行侧信道攻击以获取内存中的数据,这种方法的前两种变体被称为"Meltdown",第三种变体被称为"Spectre"。作为物联网厂商在遭遇底层攻击时基本没有防御手段,只能成为被挟持和索取的对象,也只能成为DDOS攻击的帮凶。
  4.操作系统各异
  与体系结构对应,物联网设备的操作系统种类也异常繁杂,大一点的设备厂商基本上都会提供经过自己定制修改的操作系统。不过这些操作系统大多以Linux为蓝本,并在此基础上修修补补,而其修补的内容页不外乎系统瘦身,例如删减通信协议栈驱动、删减文件系统和磁盘驱动、精简一些非必要的内核组件和服务等,但是对于包括系统调用、线程调度、内存分配、IO管理等内核核心机制则并没有本质上的改变。这种不变一方面为恶意程序提供了宽广的寄生空间,另一方面也为抵御恶意程序提供了通用化的运行机制。
  5.接入方式多样
  物联网设备的接入组网方式也是多样的,大致可分为有线通信方式和无线通信方式两类,其中无线通信又可分为近距离通信、远距离蜂窝通信和远距离非蜂窝通信三种接入方式,其具体的通信协议如表1所示。

表1  物联网设备接入方式
  无论采用何种方式,其最终会通过Ethernet进行汇聚,这是因为Ethernet是通信组网体系结构中规模最庞大、质量最稳定、应用场景最多的物联网组网方式。在大多数环境下的物联网一般为园区局域网,其出入口会部署安全网关或防火墙设备。在运行商环境下,由于物联设备更多地承担测点数据上报的任务,因此在现行IPv4体系下多采用私网穿透的手段,而在IPv6的环境中则每一个设备都会具有唯一IP地址。对于不支持TCPIP的物联设备一般会通过边缘网关做代理,再通过TCPIP接入Ethernet。
  由于Ethernet广泛的使用场景,其必然成为网络攻击的普适性载体(这并不意味着其他组网接入方式不发生网络攻击),绝大多数的DDOS攻击都是发生在Ethernet环境下的。目前攻击手段层出不穷,但抵御手段却相形见绌后知后觉,且一般以流量引流和封闭入口为主,多少有些被动挨打的意味,溯源攻击的反击手段少之又少。
  6.互联协议林立
  物联网设备成规模体系的比较少,多见于通信、视频监控等行业。视频监控企业集中,行业协会权威,引领的GB28181、Onvif、H.323、H.245等互联互通协议已成为行业内默认标准,并依赖于SIP/RTSP/RTP/RTCP等存在多年的RFC标准,但更多的物联网设备功能简单,南北向协议的定义各自为政。且由于物联设备接入方式多样,同时要考虑功耗、自持力、自维护等问题,其应用层协议更加简单和轻量化,交互过程亦更加简洁,这就为那些瞄准数据安全、协议安全的恶意程序提供了可乘之机。

表2  物联网应用层协议比较
  2015年12月23日,乌克兰Kyivoblenergo电厂所辖的三个供电区停电,所有报修和求助电话均无法接听。事后查明,这是由恶意代码黑色能量(BlackEnergy)引发的攻击,事先通过邮件传播到电厂内网。BlackEnergy代码疑似由俄罗斯黑客组织研发,专门用于攻击数据采集与监视控制(SCADA,Supervisory Control And Data Acquisition)系统。同时,在这次攻击中攻击者对报修系统发动了DDOS攻击,成功阻塞了电厂的应急响应能力。这是一次典型的针对电力物联网的攻击事件,攻击者采用了代码植入和DDOS联合攻击的方式造成了可怕的后果。以史为鉴,警钟在耳,我们更应该加倍重视物联网的安全问题。
  二、物联网安全技术
  物联网安全是个全栈的行为,是"服、用、云、管、边、端"全生态统一协作联合布防才能生效的课题,仅仅从物联网设备端采取严防死守的策略并不能阻抗已经渗透到各个角落的APT攻击。因此我们可以从物联设备启动、Rootkit注入保护、DDOS攻击防御、设备安全准入、数据和协议安全等几个方面综合考查物联网安全的应对之策。除此之外,还要保证物联网管控平台、云平台、互联互通接口、物联网业务系统等基础设施的安全。
  1.基于可信计算的安全启动技术
  可信计算是由TCG(Trusted Computing Group,可信计算组织)推动和开发的安全计算技术,在计算和通信领域中广泛应用基于硬件安全模块的可信计算平台以提高整个系统和应用软件的安全性与完整性。作为一门新兴技术,其主要目标包括计算平台的完整性、平台的远程证明、数据存储的安全性、数字知识产权保护。
  作为高级可持续威胁(APT),如果不是潜伏在系统的最深层,如果不是先于操作系统加载,如果不能在启动过程中制衡保护软件实现对自己"免杀",那实在不好意思称自己是"合格的APT"。对于这样心高气傲神通广大的威胁代码,唯一的办法就是先于它掌控系统的运行权。可信计算技术就是这场"运行权战争"中的"定海神针",采用层层度量的方式校验每一个启动步骤的完整性和正确性,通过信任链的可传导性来保证计算平台的完整性。
  度量是一级级从底层向上逐级度量的,通常是以先启动的软硬件代码(例如安全芯片)作为信任根,并以此为标准对后一级启动的软硬件进行度量,如此实现信任链的向后传递,以保证系统计算环境可信。整个过程遵循"先度量再执行"的策略,例如在Windows系统启动时,可以以BIOS中的某段代码为核心信任根模块(可信根),对启动链上的BIOS/UEFI、WinLoader、操作系统镜像文件等进行逐级静态度量(如图1所示)。

图1  操作系统启动的信任链
  可信根作为整个系统信任链的最底端必须绝对可信,因此可信根一般是通过厂家在安全芯片中直接植入算法和密钥实现的,具有不可覆盖性,因此这部分代码也被称为可信软件基(TSB,Trusted Software Base)。
  ARM作为老牌的处理平台厂商亦针对消费类物联设备的安全保密与可信计算提出了TrustZone技术。该技术本质上是一种硬件平台结构和安全框架,将片上系统的软硬件资源分为安全世界与非安全世界(类似X86系统下的0环和3环),通过访问权限的差异性来保证资源的安全性,非安全世界和安全世界通信需要通过中间的Monitor Mode进行转换(如图2所示)。

图2  TrustZone架构视图
  2.Rootkit防御技术
  Rootkit是系统安全领域老生常谈的一个话题,无论采用哪种处理器架构,也无论在什么操作系统中,Rootkit都鬼影相随。所谓Rootkit,就是系统中以隐藏自身、控制设备和获取隐私信息为目的的恶意代码。物联网设备"中的招"十有八九就是以获取信息和控制设备为特征的Rootkit恶意进程/代码模块,因此对于Rootkit的防御就显得尤为重要。
  Rootkit的执行特征如下:
  (1)将恶意代码放置在内存的数据区,通过堆栈溢出等手段在数据区执行这些代码。
  (2)通过远程线程、默认加载等方式将恶意代码模块加载到应用进程中,即"模块注入"。
  (3)通过挂钩操作系统的重要方法(例如系统调用或中断响应例程等)来获取自己渴求的数据。
  (4)通过过滤型驱动挂钩网络协议栈,以获取重要网络流量并对数据包进行篡改。
  (5)通过挂钩重要可执行模块的EAT/IAT(导出/导入地址表)的方式改变进程执行流程。
  从上述Rootkit的运行特征可以反向推导出防范抵御Rootkit攻击的手段。Windows系统在抵御Rootkit方面走在了前面,由于Windows系统的运行环境和计算资源都比较宽松,因此拥有更多的机制和手段保障安全性。而对于物联网的系统,由于其功耗、计算资源等方面的限制,操作系统一般比较精简,因此有针对性地制定Rootkit防御机制就更显必要。
  (1)物联网设备通信模块短小精悍,一般不存在协议栈的说法,因此通过过滤型驱动截取网络数据包的方式在物联网设备中不会存在。
  (2)物联网系统不存在远程线程、默认加载等复杂的应用机制,因此无需考虑模块注入问题。
  (3)堆栈溢出在物联网系统中是比较常见的,因此可以采用类似Win7的数据执行保护(DEP)机制阻止恶意代码在内存数据区被执行。
  (4)物联网系统同样也存在中断响应例程、系统调用服务例程等重要的方法,依然需要防止这些重要部位被挂钩。可以采用类似Windows的PatchGuard机制防止这些重要部位被改写。
  (5)可采用内核进程签名校验的机制阻断不明进程的安装和运行。
  3.抗DDOS攻击技术
  DDOS攻击也是网络安全领域亘古不变的话题,无论物联网还是视联网,只要还支持TCPIP协议就面临被DDOS攻击的危险。DDOS是一种攻击大类,核心思想是通过车轮战使目标系统疲于应付而无法正常运行其他进程,它包括细分的多种攻击手段,常见的有以下几种:
  (1)SYN Flood。通过伪造大量不存在的IP地址,在极短时间内向服务器不间断发送SYN包,服务器回复确认包SYN/ACK,并等待客户端永远都不会响应的确认回复。如此服务器需要不断重发SYN/ACK直至超时,这些伪造的SYN包将长时间占用未连接队列,正常的SYN请求被丢弃,导致目标系统运行缓慢甚至瘫痪。这是利用TCP传输特性制造的"车轮战"。
  (2)ICMP Flood
  极短时间内向目标主机不断请求ICMP 回应,导致目标系统负担过重而不能处理正常的IO业务。这是利用ICMP协议制造的"车轮战"。
  (3)UDP Flood
  极短时间内向目标主机发送大量UDP 报文,致使目标系统负担过重而不能处理正常的IO业务。这是利用UDP协议制造的"车轮战"。
  (4)ARP Flood
  攻击者可以在极短时间内发送大量ARP请求包以阻塞正常网络宽带,使局域网中有限的网络资源被无用的广播信息所占用而造成网络拥堵。这是利用ARP包制造的"车流战",瘫痪的是承载网络。
  除了上述几种利用二三四层协议营造的DDOS攻击外,应用层、会话层协议亦可以制造DDOS攻击的效果,例如通过短时间超大量的HTTP请求使WEB服务器崩溃、在短时间内通过超大量的流媒体会话协议使视频服务器崩溃等等,这些攻击手段都迎合了DDOS攻击的本意,即极限施压使之疲于应付而崩溃。
  一般情况下DDOS攻击的抵御是通过引流的办法,即首先需要防护系统判断发生了DDOS攻击,再启动流量引流机制,将DDOS攻击包引导到攻击缓冲区域进行消化。由于物联网领域设备数量庞大,尤其要注意防DDOS攻击的问题。
  (1)在IPv4环境下多采用私网穿透的方式与外部系统进行通信。由于私网穿透通信的单向性,外部系统主动发起DDOS攻击的可能性较低,特别是在部署了对称性NAT服务的时候,从外向内通信的限制非常严格,也能在一定程度上阻断DDOS攻击流。
  (2)物联网与互联网之间也会存在网络隔离设备,例如安全接入平台或网闸,其安全级别可以自主设置。虽然其通信效率较低,但能够对网络包进行深度检测(DPI),也能在一定程度上阻抗DDOS攻击流。
  4.物联网设备指纹技术
  设备指纹是近年来新兴的物联网设备接入准入技术。其核心原理是通过设备的操作系统、厂商ID、MAC地址、端口号、IP地址、协议报文种类等属性生成一系列固定的且与每个设备相关的私有信息,以达到识别设备的唯一性。物联网平台通过设备指纹库识别设备,对于非指纹库内的设备可进行阻断和报警。传统识别设备唯一性的方法是通过ID,但这种方式存在相当大的可仿冒性和可替换性,且由于设备ID一般处于OSI协议栈的高层,仿冒的门槛也更低。而通过设备指纹标识设备的唯一性却具有很低的可仿冒性和可替换性。
  (1)设备的操作系统会带有一定的标识,例如版本号、厂商ID等,对于这些属性的仿冒并不容易,可能要通过Patch的手段改动内核态变量。
  (2)MAC地址、IP地址、端口号等属性具有设备的唯一性,虽然也具有仿冒性,但仿冒这些联合的属性也并不容易。
  (3)协议报文虽然遵循一定的标准,但每个厂商的设备协议的报文头或报文体多少会有些私有信息存在,例如SIP协议头域中的User-Agent属性就会附带厂商信息。再比如协议交互的时间间隔、回复特征等这些更加细微的区别也是设备指纹的重要组成部分。
  因此,通过设备指纹鉴定设备的唯一性、检测设备在线、设备私接、设备仿冒具有很高的不可仿冒性和不可替代性。
  设备指纹生成包括主动探测和被动监听两种方式。
  (1)主动探测方式的主要思想是主动向物联设备发送ICMP、UDP包,或者主动建立TCP连接,甚至主动发起一些应用层以上的协议来探测设备的回复信息(例如ICMP echo reply、ICMP端口不可达、HTTP Response等报文),根据这些报文来识别设备的特殊属性。有的厂家也会支持一些私有协议专门用以标识设备的不可仿冒性。
  (2)被动监听方式的主要思想是通过网络探针监听设备的交互报文,并将这些报文旁路到采集端进行分析,通过源端口、源地址、MAC信息、报文特征等信息判别设备的不可替换性。

图3  一种基于OSI协议栈指纹回声的物甄别系统
  设备指纹已在视频监控领域有了较为广泛的应用。但在物联网其他领域,由于协议报文种类的繁杂性,且许多设备并不处于TCPIP网络中,因此尚无太多的应用场景。
  5.数据安全技术
  物联网数据安全包括数据本身的安全和协议安全两重内涵。但无论是哪种内涵,其本质都是对数据和协议报文的加解密,当然也包括协议的证书认证机制。在安防领域,公安部早已制定了GB35114标准,并根据密级高低划分了ABC三个等级,分别对协议报文进行认证加密、对视频NAL进行认证以及对视频内容本身加解密。
  国家强制性标准的加持是对数据安全的最强注脚。

上一篇:毫米波成像技术在人体安检领域的应用探讨    下一篇:基于公安大数据的城市公共交通安全实战平台建设