如今是一个物联网爆炸的时代。商业层面上有各种大型工业控制系统接入互联网,消费层面上有汽车、摄像头以及各类家用电器接入互联网。而在物联网愈演愈烈的同时,网络安全问题也甚嚣尘上:乌克兰电网屡遭攻击、家用摄像头轻易被黑、特斯拉被破解、Mirai 物联网DDoS攻击。如何保证物联网的安全是个亟待解决的难题。也许软件定义访问控制可以成为救命稻草。
物联网安全的演进
IT和OT/IoT融合带来的影响
OT就是类似于工业SCADA系统,这种工业控制系统越来越多的接入互联网,通过互联网来进行操作和运维。便捷的同时也引入了很大的安全隐患。
Gartner SPA: 2020年物联网设备安装基数达到204亿
以前的传感网,可能只是散布在各个荒郊野外的传感器网络、自成网络。但是现在越来越多的物联网网关连入了互联网。比如说现在很火的智慧城市、智能家居以及智能交通。不仅仅是2B的工业物联网,还有很多2C的民用物联网也崛起了。Gartner预测2020年物联网的设备安装基数将达到204个亿,这个数量非常之大。
2016年底Mirai恶意软件发动了高达Tbps级别的DDoS攻击
上半年我们在做物联网分析报告的时候,发现了一个问题。我们扫描了很多物联网设备,有的路由器端口会输出这么一段话,意思是这个设备已经被我们感染了,我们是一个恶意软件,但是我们不会做坏事,我们只是告诉你这个设备已经被我们黑了,但是我们会阻止别的攻击进来,你要做的就是重启并且升级。这个恶意软件在2014年就出现了。我想说的是物联网的威胁不是2016年年底Mirai出现以后才有的威胁,而是早在很久之前,当你的物联网设备第一次接入互联网时就可能被攻陷了。
国家级威胁
而像OT这种工业控制系统接入互联网以后,潜在的威胁会更大。特别是国家层面的攻击,因为工业系统直接涉及到民生问题,特别是像电力系统这种关键基础设施,非常重要。例如2016年和2017年乌克兰电站遭遇的连续定向攻击。
云计算/边缘(雾)计算的兴起
物联网应用的边界延展到了云数据中心
大家都知道,物联网设备很多是计算能力受限的,所以必然的趋势就是上云。所以我们有一个假设,物联网的设备必然会接进云端。大家可以看一下现在主流的云平台,它们基本都提供了物联网平台。这是一篇文章,对比了国内主流的物联网平台。
可以看到腾讯、百度、阿里等国内主流平台都提供了IoT支持。国外的微软、AWS、谷歌等等也都大力拥抱IoT。
边缘(雾)计算的兴起,将模糊化物联网应用的服务层和感知层的边界
我们的数据接入到云端的时候,一般会有两件事儿要做。
第一,下发指令。比如说一些智能空调的定时开关。如果说指令到云端才能起作用,会引起很多延迟。特别是在工业系统中,可能毫秒延迟都不能接受。所以说延迟非常重要。如果说要花几百毫秒到云端接受指令再回来的话,这个延迟基本上不可接受。
第二,上传数据到云端做分析。在云端进行机器学习或者大数据分析的话,需要所有物联网设备时时刻刻向云上上传数据,这个数据量是非常之大的。而相当一部分数据的质量不是那么高,我们是不是可以筛选出我们需要的数据进行处理以后再传到云端呢?这就需要边缘计算,也称为雾计算,而这也是将来的趋势。
而这里问题就来了。对于安全来说,数据既会存在云端,又会存在边缘端和本地端,安全边界在哪里?就跟虚拟化一样,你可能看不到它的传统边界在哪里。
IoT安全=Security+Safety
传统的IT信息安全有CIA的传统模型,机密性、完整性和可用性。但是对于IoT安全,我们会加入一个Safety(安全性)。在一个工业控制系统中,你需要考虑到生产安全。比如我们刚才提到的乌克兰电站,你不能说断网就断网,你还需要考虑受到攻击后如何保证运营的平稳和业务的平稳。如果业务瘫痪,后果是非常严重的。
再以智能交通为例。前几天网上流传的特斯拉被破解。以前在Youtube上也有一个视频,一个实验者在高速上开了一辆Jeep,而他的朋友在家里面把他的Jeep给控制住了,可以任意刹车、加速。从这个意义上来说,当你的物联网设备连入了互联网以后,你会面临一系列的人身安全隐患。这和咱们传统的IT信息安全不太一样。对于IT信息安全来说,如果一个服务挂了,大不了重起,换一台机器。但是对于人来说,你不可能说重启一下或者是换个人。这就是问题所在。
生态角色画像
我大概罗列了一下在物联网这个生态中会存在哪些角色。因为要更好的安全防护之前,必须要了解整个生态。
物联网生态中包括哪几个角色呢?
- 用户。
为什么Mirai会有这么大危害,很简单,因为很多用户从来不升级,而且使用默认口令。这两条就能秒杀一百多万台路由器。对于这些用户来说,它没有基本的安全知识。他们当然希望重视安全,但是却没有技能,严重的依赖于厂商提供的安全方案,而且没有办法承受很高的价格,不可能给他买个IPS,买个防火墙。
- 物联网设备厂商
对于物联网的设备厂商来说,比如说海康、大华,他们对于成本非常敏感。因为他们不是IT,他们的成本不在人工,而在原料。要是给他门加一块钱或者是十快钱的安全组件,他们可能就无法接受。比如说以海康为例,可能在摄象头算No.1,对他来说加个安全组件没多大意义,只是增加成本而已。对于大华来说,既然海康不加我为什么要加。这可能就是个悖论。对于他们来说合规性可能是最好的一个安全要求。如果有个航标,可能就都会去做这个事情。而目前来说,很难看到这样的发展趋势。当然也有向好的方向发展的趋势,比如说现在海康的很多摄象头,都会要你更改默认密码,这点就非常好。
- 网络运营商
运营商可能在物联网这个东西出来以后会比较矛盾。像Mirai这种恶意攻击,很可能就造成1T或者是几个T的攻击流量,对运营商来说冲击非常大。他们会考虑如何保证合理的QoS,能不能做一些增值服务,比如说云堤那样的服务。这样的话就需要了解物联网的一些特性,虽然安全需求不是那么强,但是也有。
- 云服务商/边缘计算服务商
对于云服务提供商来说,包括边缘计算服务商,比如亚马逊,现在就把二者进行了结合。对于他们来说,更多的是把数据存储下来做一些AI分析。数据隐私是一方面,云本身的安全也是一方面。Gartner有一个判断是说云服务商最后会变成一个安全服务商,因为很多云的基础设施安全都是要云服务商去做。所以我认为在一定程度上,云服务商自身的安全能力也会相对比较高一些,但是在物联网本身应用的安全不会考虑特别多。
- 安全厂商
对于安全厂商而言,比如说绿盟科技,我们想做安全防护,比如说我们想在摄像头上做一些防护的测试。然而我们发现跟我们当时做云安全一样无从入手。因为要做到这些你需要跟上面说到的物联网设备厂商、网络服务商和云服务商做很多的集成。但其实大家的考虑重点不一样。我们会考虑信息安全,他们会考虑成本,或者是云本身的安全,或者是业务点。用户和安全厂商是非常关注物联网的安全,但是很多生态内部链是需要改变的。
SDP:Software defined perimeter 软件定义边界
SDP就是软件定义边界。它的架构其实跟SDN很像。
- SDP控制器:全局策略控制
- SDP控制器会生成管理、运营的很多安全策略。这个策略可能是主体访问客体,或者是IP访问IP等等。
- SDP网管AH:根据策略对访问进行控制
- SDP客户端IH:认证客户身份,策略加固点
Why SDP?
SDP改变了传统的网络控制模式。原来我们通过网络TCP/IP、路由去做寻址,现在我们通过身份寻址。知道是谁,我就能通过某种方式找到你。对于防护控制来说呢,原来是基于头部控制的,这个IP端口过还是不过?现在是根据你的主体和客体的资产能不能做访问,这是基于SDP控制器上的一些策略去判断的。
利弊分析
利:
- 集中控制、软件可定义的访问控制机制
- 可防护未授权的扫描、探测行为
- 可提供面向重要资产的高级别、细粒度防护
- 安全策略与物理环境解耦合
弊:
- 需要在客户端部署IH,在服务端附近部署AH,需改造IT系统
- SDP controller单点失效风险
如何进行物联网访问控制
IoT访问控制架构
整个架构大概有四层。最底下是感知层,也就是我们传统物联网的设备,也就是终端。再往上是边缘端,一般会在边缘端放一些检测设备。再往上到骨干网,在运营商那边会做很多分析的工作,这个我们接下来介绍。最上面的云端,可能是基于业务的。比如说基于云端的防护控制,这些工作会比较多一些。整个访问是通过一致的信任和控制的原则进行调整,通过动态调整的方式去做防护控制。
终端
首先来看终端。终端要回答两个问题。你是谁?在广义的软件定义防护控制里,有TPM或者Trust Zone,这种硬件方式去做可信。那么在狭义的SDP呢,也提供了IH Agent这种模式。
其实在实际环境中,像这种介绍信的方式就是一种模式。比如说谁要做什么?然后这个单位给你盖个章,表示做认证了,这其实就是一种认证的模式。
边缘安全
然后是边缘端,我们认为可能会有这种模式。比如说终端访问云端的时候,它可能会经过一个边缘结点。如果是直接访问云端可能会经过CASB gateway,但是不管怎么样,这个边缘结点必然会成为一个天然防护控制的结点。在这个结点上,你去做分析,做大数据,做各种各样的业务模型。进而生成一些策略,再做一些访问控制,我们认为这个可能是一种可行的方式。那么形态是什么呢?有可能是防火墙,有可能是一些资源池。
骨干网:IoT攻击防护
运营商其实在SDP这个模型中,是没有做任何事的。对于狭义的SDP来说,确实没有什么好做的。但是对于广义来说,我们能不能做一些事呢?其实是可以的。因为物联网在一个细分的领域中,它访问云端是有一定模式的。比如说摄像头,海康摄像头只访问海康的云端。那这样的话,我们可以通过一些分析方式去识别这些设备。如果识别设备之后,底下我们可以看到某个运营商的网络连到某一个物联网上的连接。那这样的话,我就能知道有多少设备是物联网设备。那么如果他连到别的IP,是不是是可疑的呢?我们再经过这种分析,再进行判断它连的是不是CC,它本身是不是botnet等等。如果有问题的话,我们可以联系运营商做一些防护控制。
云端防护
那么在云端呢,我们认为可能有两个层面。一个是基于资源的防护控制,比如说IaaS层面,我们会对虚机,对块存储,特别是物联网环境中会用到的L3设备。
业务层面呢,你确实要深入到物联网自身的应用。它到底在做什么事情,这个事情是不是合理的?我们现在也在做一些业务安全的工作。分析从上位机到下位机,整个操作是不是合理的。
这是我们原来做防护云的资源层面的安全问题,那么从这个角度来说,这个过程中从云到端到底哪些体现了软件定义?
如何“软件定义”
- 物联网设备性能差->弱分析、弱防护
- 物联网设备数量巨大->趋势明显、预测能力强
- 数据在云端被分析,生成自适应、全局的策略
- 威胁情报打通防护、检测、响应和预测的闭环
总结
- 软件定义的访问控制将提供一致、自适应的物联网访问上下文,改善当前物联网防护不力的困局。
- SDP是很有前景的一种访问控制技术,可以提供一种很好的重要资产的防护手段。
- 边缘和云端智能分析和威胁情报将成为“软件化”物联网各层访问控制策略的重要来源。