▶ 雄安新区首席网络安全顾问 陆宝华
关于智慧城市的安全,笔者在人们提出智慧城市这个概念时就考虑过。智慧城市这个概念现在已经普遍被人们使用了,但是智慧城市的安全如何来理解,是一个非常值得研究的问题。本文的题目,叫做《关于智慧城市安全的讨论》,强调的是“讨论”两个字。也就是说,笔者并不是一个站在高处以一个教师爷的身份来告诉大家智慧城市安全如何来做,而是以一个问题请教者的身份把问题提出来,和大家一块讨论。
这个问题早在2015年时,笔者就提出过。当时是在一个讨论智慧城市安全标准的会上,一些讲了数据安全,一些讲了工控安全,还有讲病毒如何、如何,当时笔者就请教,这些安全问题与智慧城市安全是什么关系呢?可惜,当时没人能够给出一个让大家都觉得水平很高的答案。
今天笔者把这个问题再次提出来,并不是想给出一个标准答案,还是想让大家一块来想,来讨论。当然笔者是有自己的一些认识的,也应该抛砖引玉。
一、智慧城市安全的任务
什么是城市?城市是由城与市两个字构成的,“城”是指保护这个城市的墙,而“市”则是指人们交易的场所,有了城墙和交易场所,就构成了城市。
作为城市,其基本要素很多,但是这些要素,基本是服务于人类在城市中的基本活动。这些活动可以分为三大类,一类是生活,第二类是生产,第三类是城市的治理。我们在此不讨论智慧城市本身,而从讨论智慧城市的安全。
现如今城墙没有了,但是担负城墙的保护任务并没有消失,城市自然有大量的“人”的聚集,也必然有为“人”服务的各类机构和设施。人肯定是核心,围绕着人,必然也就有与这些人的相关财产。对于现实社会中的城市,其安全目标就是要保护人的生命和各类财产的安全,这是一种常态化的安全目标,当然城市是人类活动的中心,人是有思想的动物群体,群体活动也会导致社会发生各类的变化,甚至会导致政权的更迭,如中东地区的“颜色革命”。所以城市安全还要考虑到社会公众利益和社会秩序。
1、两大类安全问题
就安全而论,有两大类安全问题,(注:这里并没有指出是网络安全)一类是“天灾”,另一类是“人祸”。对应的英语也有两个单词,一个是Safety;还有一个是Security。这两个单词与天灾人祸是不是完全的对应,笔者不是搞英语的,不敢妄言。但是,笔者给这个“天灾”和“人祸”下了相应的定义:
天灾:是由自然因素或者是自我因素所导致的安全问题,对应的英文是:Safety;
人祸:是由于与他人共享资源而导致的安全问题,对应的英文是Security。
我们在以计算机作为主要连接设备的网络中,安全用的单词是Security。笔者理解的总书记所说的网络安全应该是:Cyber Space Security,而不是Network Security。
2、计算机网络的安全任务和目标
我们的计算机网络的安全任务是什么呢?这是有一个演进的过程的,一开始的计算机网络,是为了某一(或某些)特定应用目标,而构建的,一般会有明确的网络边界,甚至是这个边界就是一个物理隔离的边界。在这样的一个网络环境中,应用此系统的主体(各类人员)会共享这个网络上的数据资源,但是这些数据资源,并不是对所有主体完全开放的,有些数据只部分的为部分主体的服务,所以对数据的授权控制是非常重要的。保护数据就成了这类网络的核心保护目标。
当然,这类网络还要为应用目标所服务,所以保护这类网络的服务功能也是其保护目标。但是,由于数据出现了安全问题,服务功能也行将丧失,所以核心的保护目标是数据。
怎么保护数据呢?这就讨论到了数据的安全属性了,即所谓的C、I、A(机密性、完整性和可用性)。在这里,我们必须清楚,数据的机密性和完整性是可用性的基础,从保护数据的维度出发,只要保护了数据的机密性和完整性就可以了。这也是ISO15408在用户数据保护类中,仅提出对数据的机密保护和完整性保护的原因。数据的可用性保护的另一个基础,是系统的服务功能。对数据的安全属性的识别也是有演进过程的,一开始人们重视的只有数据的机密性,而没有考虑到其它属性。
在这里说点题外话,数据的安全属性只有这三个吗?很多搞安全的马上会说,还应该有可审计性、可控性、不可抵赖性等。在此笔者必须说明,这三个很重要,但是这并不是数据本身的安全属性,而是对使用数据的安全要求,可审计性,不可抵赖性是对主体使用数据的责任确定。而可控性则是主体对数据的控制能力,都不是数据本身的属性。
还有学者,把数据的真实性作为了数据的安全属性,并声称完整性包含在了数据的真实性当中。笔者也不同意这种说法,完整性的定义是,数据没有发生未授权的改变的属性,而真实性则是指:数据所表征的信息与事实完全相符合的属性。数据的真实性,确实是数据的属性,但是,是否列为数据的安全属性则是需要讨论的。
我们再拉回到正题上。
我们所说的有特定应用的网络是指信息系统。不过这样的说法,并不是信息系统准确的定义。信息系统的正确定义在不同的标准中,有不同的说法,但是都能归结为以下这样的要素:一是计算机的联网;二是有特定的应用目标;三是对数据进行采集、传输、存储、计算。
再说点题外话,在计算机网络中,使用“数据”的概念更为准确,而使用“信息”则没那么准确。一是从信息论的角度出发,对信息的定义目前还没有得到学术界完全同意的定义;二是虽然没有统一的定义,但是信息一定要是对某主体来说,是未知的,已经知道的东西不是信息。所以,一开始香农给信息的定义是:负熵(不确定性的减少)。而我们在计算机中的数据,则相当多数是已知的,反复使用的。
在当今的计算机网络,不仅有信息系统,还有被称之为基础信息网络的,规模相当大的公众网络,甚至是国际联网,在这样的网络环境下,网络安全的任务,不仅是要保护数据和系统的服务功能,还要考虑到我们的计算资源,不能被其他主体非法的利用,同时我们在这样的网络中的行为是要有确认的。所以计算机网络的保护目标是:
● 数据的安全
● 服务功能的保障
● 所属计算资源的保护
● 网络上行为的确认
3、智慧城市安全的任务目标
对于智慧城市来说,这些目标任务仍然非常重要,但是,这四项任务并不是智慧城市的终极任务目标,智慧城市的安全任务目标仍然是:
● 人的生命安全
● 财产安全
● 社会秩序及国家的安全
二、智慧城市安全的分析
1、一般性讨论
我们前面讨论的是,计算机连网网络的安全问题。对于智慧城市来说,计算机网络仍然是必要的条件,没有计算机网络也就不会有智慧城市。但是,计算机网络仅仅是基础之一,作为智慧城市,还必须考虑各类城市设施和要素的互联,万物互联则是另一个基础网络。
在计算机网络中,传输的是数据,而在智慧城市的网络中,传输的不仅有数据,还要考虑控制指令和控制信号。也就是说,在智慧城市的网络中,既要考虑到数据面,还必须考虑控制面。
智慧城市的模型不少,这里不准备再给出什么模型。但是,一个智慧城市至少要包含以下的三个层面,一是感知与执行层,这是直接与现实社会进行对接的层面;二是计算机网络层,这一层上会承载各类数据和信号;三是计算层面,包含了数据的存储和计算两大基本功能。计算,不一定非在计算中心来完成,可以是分布式的。在雄安新区就是端、边、云、超计算。
对于计算机网络层面上的安全、计算层面上的安全,各类资料中的讨论已经很多了,各类标准中也都规定出了对这个层面上的安全要求,笔者不准备在此浪费笔墨了。不过笔者要多说一句,对于非结构化的数据保护,可不仅仅是我们一些专家、领导所说的,“黑客入侵、病毒和个人隐私”这么一些安全风险,笔者从五个方向上对非结构化数据的保护梳理出了十一大类安全风险,而十大类风险,是在结构化保护中所没有遇到或者是不太关注的。由于文章的篇幅所限,对于非结构化数据的风险分析,在此就不讨论了。
我们重点讨论是感知和执行层面上的安全风险。
对于这个层面上的安全,与工业控制上的安全问题从本质上来说,是一致的。
对于控制来说,无非有两大类:一类是开环控制,另一大类是闭环控制。无论是何种控制,都是由感知端产生的控制量对执行端进行控制。这类控制包括对湿度、温度、压力(压强)、流量、各类动作、等等。而对于系统来说控制系统就比较多了。我们就不对这些控制系统进行具体的分析,而是从宏观来讨论控制层面上的安全,我们应该关注到的那些个点,如果这些点没有关注到,就算是对某一个具体的系统在细节上控制得再好,那么你的控制的安全问题,也很难得到真正的解决。
现在,有一个误区,我们许多控制工控安全的企业和人,往往是把计算机网络的安全理念直接搬到的工控领域,什么漏洞分析,协议分析,防火墙、审计等等。笔者不是说这些不对,不重要,应该说是非常重要的。但是我们必须清醒的看到,工业控制或者说是智慧城市的感知与执行层面上的安全,与计算机网络和计算层面上的安全是有重大的区别的,两大类安全问题都要关注。
在计算机网络中(包括计算层面)我们主要关注的是Security的问题,但是在工业控制或者说是在智慧城市的感知与执行层面上,我们不仅要关注Security的问题,对于Safety的问题,我们也必须要关注。同时还要关注,人为制造的Safety的问题。这些Safety的问题包括了各类自然因素可能导致的感知与执行部件的破坏,也包括了由于元器件本身的“失效”所导致的问题。对于Security的问题,我们要牢牢把握住“保证正确的授权操作”这个纲,这里面包含了三层意思,一是所有的操作应该是经过授权的;二所有的授权应该是正确的;三这个正确的授权是有保障机制的。对于Safety的问题,则应该是有针对性的进行防护,如防雷击,就得从接地,电源与信号线的防雷措施等入手。
2、重大的安全风险识别
(1)感知部件可以被复制
特别是RFID,无论是在线的还是离线的,RFID可以被复制,并且很容易被复制,虽然我们的一些重要的标识用途,用的是低频的RFID,但是无线总是要辐射的,辐射的信号就可能被截获并复制。
(2)无线信道容易被截获和阻塞
无论是何种无线信道,都是由元器件构成的系统,这类系统(信道)如果工作在线性区域,就是一个正常的信道,当由于某种原因(如大幅度的信号输入)就会导致系统工作到了非线性区域,而非线性区就形成的开关效应,就造成的系统的阻塞。再有无线信道是开放的,这就给入侵者增加了获取样本的机会。
(3)位置信息可能被干扰
我们目前的导航系统,其地面上的精度要靠在地面上的校正系统进行修正的,既然地面上的辐射能够帮助我们校正精度,当然也就可以来干扰和改变这种精度了。
(4)智能摄像头
智能摄像头的安全问题,相当多,网上一搜就会有成千上万的链接,这里就不多说明了。
3、信号与数据
数据和信号是有本质上的区别的。信号包括了各类提供执行端执行动作的信号和控制指令,信号是感知端或控制端产生的,而指令则是人为发出的。
从物理形态上来说,它们与数据没有什么不同,都是二进制的电脉冲的组合。但是从执行任务的性质上来说,其区别可就大了。
数据是我们存储在存储器中,经常反复使用的。而信号的重复使用,就意味着是“重放攻击”。
对于数据来说,实时性的要求一般不高,我们在计算机或者是在移动智能终端上调用一个数据,响应的速度,我们没有明确的要求,一两秒钟,甚至是再高一点,几十秒钟,我们都是可以接受的。但是,对于控制来说,往往实时性的要求是比较高的,就算是要求不太高的场景,响应速度高产生的效果也可能是更好的。如我们对火箭、导弹的调姿,我们对轨道交通设备的控制,对无人驾驶汽车的控制,对流量、温度的控制等等,这种控制对实时性的要求可能是在mS级。
三、智慧城市安全的实现
智慧城市安全体系的实现,是一个工程上的问题,工程无非分为两个维度,一是过程,二是成熟度,这在其它的安全体系建设中也是需要的,而我们恰恰是重视得不够。
工程过程要求我们要按步骤进行顺序工作,不能搞反了,并且是一个不断反馈修正的过程。美国国家安全部出台的《信息保障技术框架》(Information Assurance Technology Framework IATF)的第三章进行了详细的讨论。而我们许多搞安全的人,却忽略了这一点,一上来就告诉人家,这地方要加防火墙、那地方要加IDS,为什么加,配什么策略,在总体安全策略中它的地位如何,都没有告诉人家。这个框架中,告诉我们,我们必须从应用和数据的价值中识别相应的风险所在,根据这些风险确定我们的安全需求,根据安全需求制定相应的总的安全策略,并将这个策略分布到系统的各层面上去执行。这一点和我们国家推行的等级保护制度也是相一致的。
成熟度模型,是从软件开发的成熟度模型中演变而来的。大家可以读一读SSE—CMM类的著作或者是文章,标准什么的。去年国家出台的DMM类的标准,是借鉴了这些思想在数据安全领域的一个推广。
同时ISO15408中的第三部分,也是一个工程上的指导。
这些思想对我们搞智慧城市安全都是非常有意义的指导。
再一点,就是我们要全面的理解网络安全体系思想,不可以偏废任何一个方面,图1是笔者在结构化数据保护中,从保证正确的授权操作这一思想出发,从保护的角度上给出的信息系统安全保护的总体框架。所谓从保护的角度上,还是指对事件前的,美国人给出的PDRR模型,对于智慧城市安全来说,仍然有指导意义。即事前的保护(P);事前、事中的检查(D);事中的响应和处置(R);事后的恢复(R)。
在这个框架中,授权是安全的第一关,没有这一关,其它的安全措施是没有意义的,从图中虽然没能表示出对授权的正确性要求来,但是授权的方法是给出来了,那就是对计算机环境中的控制(以访问控制为核心的安全功能要求)措施;对计算环境、网络环境、物理环境的隔离措施;检查机制;还是就是对主体、客体(特别是客体)的隐藏措施。都是我们保护的角度给出的。有些人说,在今天的大网络环境下,访问控制没用了,这种观点是有问题的,没有访问控制来实施“主体对客体的访问进行授权”,其它的安全方法还有什么意义呢?既然无须授权,那么入侵者还需要找什么漏洞吗?
必须说明的是,这张图给出的还只是对数据及系统服务功能保护的框架,还没有包括对感知与执行层面上的安全要求。
图1 信息系统安全保护框架
总结:
智慧城市安全从任务目标上,不仅仅要保护数据,更要从保护人民的生命财产安全,维护社会的稳定与国家安全作为任务目标;
两大类安全问题在智慧城市中都必须关注,并且要处理好交织在一起的安全问题。对于Security的问题,我们要把握住“保证正确的授权操作”这个纲。而对于Safety的问题,则是要根据具体的问题进行有针对性的防护。
控制层面上存在的一些新的风险必须要关注,信号与数据是区别的。
声明:本文来自工业菜园,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。