如何用零信任保护物联网

  • A+
所属分类:安全闲碎

随着物联网行业的发展,物联网(IOT)的安全也会越来越重要。一旦出现网络攻击事件,将有可能造成物联网设备失控、采集到的信息被篡改,物联网平台中的敏感数据泄漏等严重后果。

在探讨物联网的安全建设之前,首先科普一下物联网的常见架构。

1、物联网的网络架构

有些物联网设备可以直接跟物联网应用系统通信,整个系统的网络结构比较简单。
但很多简单的物联网设备需要网关作为中转。这些物联网设备通常配置都比较低,带宽、电池、性能都有限,只能采用一些非IP的协议,没法直接在互联网中传输。这些设备可以先连接到区域内的物联网网关,网关进行协议转换后,再向上传输数据。
为了让应用系统更专注于业务逻辑的处理,物联网系统的设备管理、数据预处理等等基础服务通常会抽离出来,单独形成一个物联网平台。
物联网平台是应用系统的基础平台,负责管理物联网设备和连接,以及对采集的数据进行处理、建模。处理好的数据存在平台中,随时被应用系统调用。

如何用零信任保护物联网

2、物联网设备

物联网设备常常用于采集数据和远程控制。物联网设备的种类很多,摄像头、温度传感器、智能水表等等都是物联网设备。
物联网设备往往缺少防护能力,容易被攻击者入侵,导致整个物联网系统都受到威胁。
( 1 ) 性能捉急,很少升级补漏洞
低功耗设备充电难,所以常常为了降低消耗而牺牲安全。为了降低消耗,IOT设备会采用简单的网络协议、小型的操作系统。
安全功能被认为是最不重要的组件,通常会被砍掉。有的设备会完全不考虑以后要升级、打补丁、修复漏洞。

如何用零信任保护物联网

( 2 ) 设备类型多,难以统一管控
一个IOT项目如果涉及了多种设备、多个供应商,那么这个项目会很难进行统一的安全性要求。
例如,一个很基本的安全要求--给每个设备分配一个合法身份标识,防止黑客伪装成合法设备接入物联网平台窃取数据。
这个要求就很难实现。因为设备种类很多,没有一个统一的属性作为身份ID。除非系统集成商非常强势,否则根本无法要求设备供应商定制设备硬件,烧录一个统一的ID进去。
如何用零信任保护物联网
( 3 ) 现场设备更易受攻击
IOT设备部署在公共场所的话,很容易受到物理安全风险的影响。黑客可能会尝试通过设备接口攻入。
无线通信的IOT设备更容易被攻击。只要在网络传输覆盖范围内,理论上任何人都有可能接入网络或对网络传输的数据进行窃听。
如果IOT设备与后端业务处于直连状态,大量无人值守的接入终端会被黑客利用。攻击者可利用分散在各处的单个设备逐步渗透到整个网络中,对核心业务系统展开攻击,甚至窃取保密信息。

如何用零信任保护物联网

3、物联网网关

物联网网关最重要的作用就是协议转换。IOT设备的通信协议非常多样,碎片化严重。IOT网关统一对接各种协议的设备,把各类协议(如ZigBee、Lora、蓝牙)统一转换为标准协议(如MQTT、HTTP),与IOT平台通信的协议。网关相当于IOT设备和平台之间的桥梁。
有的IOT网关也负责边缘计算和存储,这类网关往往价格更贵。例如,安全摄像机不需要全部数据都上传,把异常情况的视频过滤出来上传就行。网关进行了预处理,就可以减少传输需求。
IOT网关是第一道安全防线。连接到网关之后,众多IOT设备不再暴露在互联网上,只有网关是暴露的。这样,恶意软件和网络攻击的首要目标就变成了网关。

如何用零信任保护物联网

4、物联网网络协议

不同的物联网设备会使用不同的网络协议。物理层和链路层的协议五花八门,有近距离的、有远距离的、有有线的、有无线的、有需要网关的、有不用网关的,非常多样。应用层最常用的物联网协议是MQTT协议,数据以JSON格式传输。
MQTT是一种轻量级的、基于代理的“发布/订阅”模式的消息传输协议。MQTT协议的特点是简洁、小巧、省流量、省电。

如何用零信任保护物联网

MQTT协议最初的目的只是传输,在安全方面比较弱。MQTT协议中包含客户端标识以及用户名和密码,客户端标识可以使用芯片的MAC地址或者芯片序列号,用来验证IOT设备的身份。MQTT协议基于TCP,以明文传输。如果不用TLS加密,很容易受到中间人攻击。但是使用TLS加密就需要耗费更多资源,设备的成本会更高。

5、物联网平台和应用

物联网平台是系统安全的中央控制点。物联网设备和身份的管理一般都在平台层。安全性是跨越整个生态系统的。控制了这层就可以轻松控制整个网络,所以这层会吸引越来越多的攻击者。
设备管理模块应该对各种设备的状态进行全天候检测、预测和评估。保证生产线和客户现场的设备高质量运行。一旦发生异常,应该及时触发报警。
身份管理模块对所有设备进行身份验证。
策略管理模块对访问权限进行配置。使平台有能力及时中断非法的连接和会话。
物联网平台和物联网应用本身所面临的安全问题与普通应用几乎一样,这里不再赘述。

如何用零信任保护物联网

6、物联网行业现状

( 1 ) 安全意识薄弱
只有特别重视安全的项目才会考虑安全性。很多传统行业缺乏网络安全意识和经验,长期忽视安全,产生了很多安全问题。知名的Shodan IoT搜索引擎发现,互联网上暴露了将近五万个MQTT服务器。其中,大约有三万台没有密码保护。

如何用零信任保护物联网

( 2 ) 法律监管正在起步
如果没有任何法规,设备制造商不会在安全性上花钱。目前,国内已经出台了物联网的等保要求。相信未来物联网行业会越来越重视安全。

如何用零信任保护物联网

7、常见的物联网攻击

近年来,针对物联网的攻击逐年增多。例如针对网络摄像头、智能门锁的攻击,造成了大量敏感数据泄露、财产损失。还有著名的物联网僵尸病毒Mirai曾导致美国、德国大面积断网。
总结近年来的安全事件,其中常见的物联网攻击类型包括:
( 1 IOT设备盗用、物理篡改
( 2 针对暴露在互联网上的设备、网关、服务器的DDoS攻击
( 3 物联网通信的拦截、窃密、重定向
( 4 身份欺骗和伪装,密码爆破,构造虚假控制报文注入
( 5 协议窃听、恶意基站中间人攻击
( 6 物联网木马、恶意软件
( 7 利用漏洞,利用不安全的OTA更新方法进行软件和固件攻击
( 8 利用过度授权,进行横向攻击

如何用零信任保护物联网

8、零信任安全方案

目前市面上专门针对物联网的零信任产品寥寥无几,不过零信任理念与物联网场景是非常契合的。做物联网项目时,可以参考零信任架构,完善系统的安全机制。
( 1 ) 身份是零信任的基础
每个设备都应该具有唯一的身份标识,以便网关或平台验证设备的身份,拦截非法设备,持续记录合法设备的行为日志。
( 1.1 MAC地址是最简单的身份标识,比较容易被仿造。
( 1.2 采集设备的更多信息如MAC、IP、系统等等,组合生成设备指纹,比单独的MAC地址更安全。
( 1.3 还可以由物联网平台为设备单独分配一个ID,烧录到设备中去。
( 1.4 很多物联网平台通信时会采用双向认证,通过在设备内部预置证书来识别设备身份。
( 2 ) 持续验证,动态授权
“持续验证”是零信任的核心理念。入侵行为是必然会发生的,所以对每个设备都应该持续评估其安全信任等级,一旦发现异常,立即进行隔离,避免出现更大损失。
( 2.1 检测设备是否有漏洞,如果设备系统版本过低,存在高危漏洞,则应该隔离该设备,直到设备升级之后,才能继续接入物联网。
( 2.2 对设备的行为规律建模,检测近期是否存在异常行为,如越权访问其他端口、异常的访问次数、异常的流量大小、异常的访问时间等等。因为物联网设备的行为相对固定,所以一旦发现异常行为,应立即告警。
( 3 ) 零信任网关减小攻击面
零信任架构中的核心部分是“安全网关”。零信任网关一般部署在网络入口,合法用户在零信任客户端登录之后,才能通过网关进入网络。
零信任网关与物联网网关的作用很类似,不过由于很多物联网设备是哑终端,没法安装零信任客户端。所以,没法把两种网关结合在一起。
一般市面上常见的物联网零信任架构是:在物联网网关上安装“零信任客户端”,在物联网平台之前部署“零信任网关”。零信任管控端负责通信过程的策略管控。

如何用零信任保护物联网

( 3.1 零信任网关只对合法客户端开放端口,未知用户无法探测到零信任网关和物联网平台的存在。(具体原理可以看看我的另一篇文章《揭秘零信任里的“隐身”黑科技》)
( 3.2 零信任网关限制合法客户端的访问权限,未授权的系统也是无法探测到的。
( 3.3 零信任网关可以“统一管控”物联网和运维人员的接入,运维人员也需要登录零信任客户端才能接入数据中心。
( 3.4 零信任网关的访问控制功能比简单的IP白名单更加灵活,更加安全。如果IOT项目比较复杂,那么IP白名单会非常难以维护。
如果IOT设备本身比较高端,可以安装零信任客户端的话,那效果会更好。零信任的保护可以覆盖整个通信过程。
( 4 ) 零信任保护MQTT服务器
在一些智能家居的场景中,MQTT服务器(MQTT代理)是暴露的,非常容易被黑客利用漏洞攻击。
这种场景下,零信任网关可以保护MQTT服务器,只允许安装了零信任客户端的用户设备访问,对其他人都是隐身的。这样可以避免被网上爬虫探测到漏洞,避免黑客入侵控制智能设备。(下图没画管控端,管控端单独部署即可)

如何用零信任保护物联网

9、总结

对物联网来说,安全是一件奢侈的事情。目前,物联网处于初级阶段,还在“造桥铺路”,顾不上“装栏杆”。但是对安全非常敏感的物联网系统应该考虑采用零信任框架,增强对物联网设备的隔离和访问控制能力。


原文来源:白话零信任

如何用零信任保护物联网

本文始发于微信公众号(网络安全应急技术国家工程实验室):如何用零信任保护物联网

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: