APP下载

云的等级保护*

2021-05-20赵尚伟陆宝华

信息安全与通信保密 2021年5期
关键词:用户组租户算力

赵尚伟,陆宝华

(1.太极计算机股份有限公司,北京 100000;2.雄安新区管理委员会,河北 雄安 071000)

0 引 言

“云怎么分等级?”这是一位院士在一次网络安全大会上提出的问题。

笔者试图就这个问题进行分析。

云:是利用虚拟机技术,通过软件定义并根据用户的计算任务来分配算力,为用户提供按需服务的计算资源的集合。而这个集合往往是由成百上千台甚至是更多物理计算资源组成(一般为PC 服务器)。

等级保护:1994 年第一次提出等级保护,是指对信息和信息系统分等级进行保护。等级的划分是依据GB/T 22240—2008《信息安全技术 信息系统安全等级保护定级指南》[1]来进行的。

对于云来说,可以为用户提供IAAS(基础设施即服务)、PAAS(平台即服务)和SAAS(软件即服务)服务。无论何种服务,云和用户之间,都是建立由云提供给用户的服务,只是这种服务,用户主导权的大小是不一样的,对于IAAS来说,云仅仅给用户提供基础设施和所有的物理算力资源;而对PAAS 来说,云不仅提供基础的物理算力资源,同时还提供系统平台软件,仅应用程序是由用户自己部署;对于SAAS 来说,云给用户提供完全的服务,用户可以直接使用。

1 动态信息系统

云无论给用户提供何种服务,当云将某些算力提供给用户之后,在用户使用这些算力的过程中,这些算力与用户的终端设备,就构成一个动态信息系统,如图1 所示。对于这个信息系统,它的安全等级可以依据GB/T 22240—2008 给出的方法进行确定。

图1 动态信息系统的生成

因此,信息系统可以按照等级保护的各类标准进行保护。但必须清楚的是,算力资源是动态分配出来的,在某一个时段,这个算力资源是属于这个信息系统的,而在下一个时段,这个算力资源可能属于其他的信息系统。

对于信息系统,1994 年,中华人民共和国国务院令第147 号发布的《中华人民共和国计算机信息系统安全保护条例》给出的定义是:“由计算机及相关和相配套的设备、设施(包含网络)按照一定的应用目标和规则,对信息进行采集、加工、存储、传输处理的人机系统。”当时的专家们很严谨地给信息系统进行准确的定义,具有以下几层含义:一是计算机及相关和相配套的设备、设施(包含网络),这是构成信息系统的物理资源;二是一定的应用目标和规则,说明一定具有特定的应用,没有特定应用,无论网络规模有多大,都不是信息系统,而是基础信息网络;三是对这个应用下的信息进行各类处理;四是包括使用这个系统的管理、运行、编写和维护系统的人。

云中心所提供的算力资源与相关的租户和租户的授权用户,以及相关的、相配套的设备、设施(包含网络)构成了一个独立的、动态的信息系统。

2 动态信息系统与信息系统之间的差别

动态的信息系统与传统的信息系统存在以下几个差别:

差别一:传统的信息系统安全责任完全由这个信息系统的运维者负责,责任边界是清晰的,而对于动态的信息系统来说,安全责任则必须由云中心与租户共同承担。

差别二:传统的信息系统提供核心算力的物理服务器,是该用户组独享的。而云给这个用户组提供的算力资源则是要与其他的用户分时共享,也就是说,这个算力资源组在为当前用户组提供服务之后,还可能为其他用户组提供服务。这个差别提示我们,当前用户组使用的内存资源,在当前用户组撤消后,其他的用户组仍然要使用这个内存资源。而当前用户在使用内存时的数据包括用户业务数据和SSF数据(包括用户登录信息数据、授权数据、审计数据等与安全相关的数据),在这段内存中并没有真正的消除。下一个用户如果存在恶意,使用一些数据恢复工具就可以把这段内存中的数据恢复并读出,导致前一个用户的数据泄露。

差别三:传统的信息系统是以物理服务器作为核心的算力资源,此时服务器与用户之间通过网络进行有效联结,这种联结通道和边界是清晰的,而在云环境下,由于使用虚拟计算资源,往往可以在一台物理机上虚拟出若干个虚拟机,会共享CPU、共享内存和总线等一些资源,就难免出现不同虚拟机之间通信的暗通道,即东西向流量问题。虽然我们可以利用指针等技术,将内存进行分段,但其可靠性不强。以前发生的缓存区溢出漏洞,其机理与之相同。

差别四:传统的信息系统不存在算力核心资源在计算的过程中发生迁移的问题,而在云所提供的算力核心资源中,这种迁移是有可能发生的。

差别五:在传统的信息系统中,数据在外存储器中的存储过程,用户组是可以完全控制的,一般与这个用户组无关的人员,除非获得特别许可或者是通过入侵的手段,才有可能获得外部存储器中数据的控制权。但在云环境下,就会存在以下一些情况,导致在外部存储器中的数据,在用户未授权的情况下被迁移,甚至被复制。例如,当云的外部存储器容量不够用时,一些云系统会将部分用户的冷数据、温数据向其他的存储池中迁移;云的维护人员可能在未授权情况之下,利用工作和管理上的漏洞,对这些数据进行复制甚至是克隆。

3 解决方法

云平台等级保护解决方法主要针对云环境的差异分析和对策,从云租户安全责任划分、剩余信息保护、虚拟机隔离防护等方面进行考虑。

3.1 云租户的安全责任划分

解决上述差别一,需要清晰地划分出关于云与租户之间的安全责任,实际上有相应的国家标准(参考GB/T 31167—2014 和 GB/T 31168—2014),在此,我们还可以考虑比IAAS、PAAS、SAAS 服务更细的安全责任划分。

云平台必然要涉及以下的几个层面,如图2所示:

图2 云计算中心分层

机房环境层:包括接地、防雷、消防、电磁防护、温湿度控制、防水、人员的管控、鼠害、有害气体防护等,除此之外,还要考虑供电保护。这些安全责任,由云中心负责,租户可以提出特殊的安全需求。

物理算力资源层:服务器或者小型机,这些是物理计算设备,形成核心的算力资源。任何物理设备自身也存在安全风险,例如BIOS 安全问题。

公共外部存储资源层:包括磁性介质、光介质。

虚拟化工具层:Hypervisor 是虚拟必备的系统工具软件,这个层要保证各虚拟机之间隔离的基础。对于云中心来说,隔离的任务包括应用(不同租户)之间的隔离;独立应用(一个租户)内,不同用户之间的隔离;系统与应用之间的隔离。虚拟机之间防止东西向流量是最基本的隔离。

操作系统及数据库等系统软件层:系统软件中的安全子系统提供了最基本的用户授权访问机制,系统软件的安全等级决定着信息系统安全等级的基础,同时系统软件也提供了对应用程序安全机制的基础保证。

应用程序层:应用程序是实现用户信息使命的关键,在这一层里必须要考虑相应的安全机制。操作系统、数据库和应用程序共同构成完整的计算环境,这个计算环境必须解决主体对客体操作的“正确授权”问题。

网络层:网络层不仅解决用户与云之间的网络通信连接问题,同时也要解决在云内的多个虚拟机之间的连接。网络连接中存在很多安全问题,例如,信道安全、网络边界安全、节点安全等。

数据层:数据对于用户来说,是最重要的资源,无论是从资产属性还是从生产要素属性上来看,其重要性不言而喻。从授权的角度来看,用户数据授权访问的权利和责任是云租户的,但是,云要对租户的授权机制给予保证。

对于信息系统来说,安全任务有基本两项,一项是数据保护,核心是基础;另一项是系统所提供服务功能的保护。由于云具有大冗余的基础,所以服务功能的保护是容易实现的,当遭到拒绝服务攻击时,需另当别论。

最核心的安全任务是保护数据。我们要解决的是“保证正确授权操作”的问题。授权操作是在计算环境中,由系统软件和应用程序共同实现,如何授权、是否正确,则应该由租户根据策略来决定。而其他的层面,都需要对这个授权机制提供相应保证。

安全责任的划分应该遵循一个基本原则,除开机房(云中心负责全责)和数据(用户负责正确授权访问、云提供保证机制),其他各层的安全责任,应该是谁提供谁负责。

3.2 剩余信息保护问题

剩余信息主要包括硬盘的存储空间和应用程序在内存中遗留信息,鉴于云平台内存共享的特性,增加了对剩余信息保护难度。剩余信息保护需要遵循GB/T 22239—2008《信息安全技术 信息系统安全等级保护基本要求》[2]中技术和管理要求。

3.2.1 要求

在传统的信息系统中,差别二剩余信息保护的问题也是存在的,为此,国家的等级保护标准中明确规定,要解决剩余信息保护的问题(也称客体重用),这一点对需要机密性保护的数据来说,是非常重要的。需要机密性保护的数据包括所有的安全功能数据(SSF 数据,也有标准中称之为TSF 数据)和一些标记为保密保护要求较高的数据。

但是,在传统的信息系统中,由于大家认为设备和人员都是内部的,基本上没有对剩余信息进行保护。在云环境下,这个问题变得突出,由于内存具有共享特性,在没有相应防范措施的情况下,可能会导致严重的机密性数据泄露,甚至是更严重的安全问题出现。

剩余信息保护解决方法也要考虑分等级。对于二级以下信息系统,应该考虑从安全属性上进行分析,同时TSF 数据是需要保护的,在当前用户退出后,下一个使用用户不可以用任何方法获知当前用户的所有登录信息。对于用户数据如果是安全等级为一级的,则可以不必要考虑。而对于完整性保护,则完全不需要剩余信息保护。

而对于三级以上,需要机密性保护的数据,则一定要做好剩余信息保护,要比二级的强度更高。

3.2.2 解决方案

在信息系统中,数据保护极为重要,特别是标记为机密性三级以上的数据和TSF 数据,绝对不可以泄露。建设云平台,必须要考虑到这一点,我们现在对云的管控水平还处于低水平和粗放阶段。

在云管中心,要增加对动态信息系统的安全等级识别能力。这种识别可以是预先登记的,也可以通过对数据标签的识别来确定,凡处理标记为机密性三级的数据,其相关的信息系统安全等级必然是机密性三级。

对于不同安全等级的信息系统和标记为机密性三级以上的数据及访问该数据的主体进行识别。动态信息系统为三级的应用,对标记为机密性三级的数据所使用过的内存,在当前用户退出后,该内存区域必须进行全0 全1 的多次覆盖,以确保在分配给新用户之前,这段内存中所保留的数据痕迹全部清除且不能被恢复。

3.3 隔离问题

对于差别三,云的隔离机制,这里要求的隔离包括:系统与应用的隔离、应用与用户的隔离、用户与用户的隔离、不同应用之间的隔离和虚拟机之间的隔离。

在传统的信息系统中,除了虚拟机的隔离,其他的隔离方法一般是利用内存的指针对内存划区进行隔离。只是这种隔离可靠性较低,例如缓存区溢出的漏洞就能破坏这种隔离。

3.3.1 虚拟机之间的隔离

针对虚拟机之间的隔离,目前已经有了一些技术和产品,但是,是否完全可靠,同时对资源的消耗等问题,是接下来要考虑的。简单介绍两种方案,一种方案是在每台物理机中,抽出一台虚拟机,将其定义为防火墙,所有在这台物理机上的流量,必须通过这个虚拟防火墙,安全策略由这个防火墙进行管控。另一种方案是在每台虚拟机上安装相应的Againt 工具,所有的系统操作都要通过这个代理工具。

这两种方案在实际操作中还存在着一些问题,其根本问题在于这两种方案都没有和等级保护思想结合起来。对于安全要求较低的信息系统,没有必要配置高强度的隔离,从而减少系统开销、增强应用效率;对于安全要求较高的信息系统,安全是第一位的,牺牲一些系统开销则是必要的。对于一个云平台来说,如果我们不按照等级保护思想,对动态的信息系统加以分析,就可能带来系统安全性差,开销重的后果。

因此云的管理中心需要对动态的信息系统进行识别,对于安全要求较高的信息系统,要实现强度足够的隔离,而对于大量的、对安全要求不高的信息系统,则可以降低系统的开销,更加方便于应用。

3.3.2 其他的隔离

对于其他的隔离机制问题,仍然可以采用内存划区管理的方法来解决,需要特别说明的是,对于云来说,虽然面向的可能是一个用户团队,但是这个团队在云上可能具有多个应用系统,不同的应用系统,每个主体的权限是不一样的,就算是同一个主体,在不同应用中扮演的角色不同,其权限也是不同的,所以应用之间的隔离是必须的。

3.4 计算任务的迁移问题

对于差别四,要考虑到两大类的迁移,一个是计算任务的迁移;另一个是数据从原来的存储容器中,向其他的容器迁移。

在迁移过程中,可能会发生计算任务、数据丢失的问题,说到底是虚拟机发生变化的问题,分配给某一虚拟机的CPU 及内存资源发生了变更,可能是扩大或者缩小,还有可能是发生完全的迁移。

提出的要求是在云上,计算资源是与计算任务相匹配的,当云管中心发现资源有变动时,就可能发生计算任务的迁移问题。在计算任务迁移过程中,要保证计算任务、相关主体和相关数据不丢失。

最保险的办法是在计算任务结束之前,相关的虚拟机资源不作大的变更,如果确实需要变更,也应该仅仅是在原来的物理主机上进行扩大或者缩小,尽可能不进行跨物理机的变更,更不要实现跨网的变更。

对于数据从容器中迁移,建议一定要做到源数据与元数据的同时迁移,保证迁移后的关联并未发生改变。

3.5 云内部的管理问题

对于差别五,提出以下要求:

(1)云管中心的运维人员,必须从后台通过堡垒机,登录到云中。

(2)不允许云管人员进入用户的应用系统中。

(3)不允许在未经许可的情况下,查看各类用户数据。

(4)机房要有视频监控设备,并且没有死角。

(5)机柜上要有监控功能,同时还要有相关的日志审计数据。

最好的方法是一旦虚拟机分配出去后,所有对这台虚拟机的管理权和控制权完全交给用户,减轻云平台责任的同时使用户放心很多。突出说明一个维护问题,特别是各类补丁的升级问题,应该建立一个好的机制,云平台向各虚拟机的管理维护人员推送相关的补丁程序,由各管理维护人员自行进行升级,并将升级证明回送给云平台的管理人员。

4 结 语

在云计算高速发展和应用普及的同时,也面临着安全问题所带来的挑战。对于云计算的安全防护问题并没有真正解决好,还需要在不断发展中进行完善,“保证正确的授权操作”是我们要牢牢记住的纲。

猜你喜欢

用户组租户算力
算力网络中基于算力标识的算力服务需求匹配
中国电信董事长柯瑞文:算力成为数字经济的主要生产力
“东数西算”背景下算力服务对算力经济发展影响分析
文件共享安全管理方案探讨
基于SiteAI算力终端的交通态势感知系统
基于多租户隔离的云安全建设
青云QingCloud发布资源协作功能实现资源共享与权限控制
基于MVC模式的多租户portlet应用研究*
ASP.NET中细分新闻类网站的用户对页面的操作权限
企业多租户云存储平台的设计与实现