铁路云平台细粒度访问控制方案研究
2021-05-10锁向荣张悦斌
锁向荣,齐 胜,张悦斌,朱 贺
(1. 中铁信息工程集团有限公司,北京 100044;2. 中铁信(北京)网络技术研究院有限公司,北京 100044)
云计算是一种使用基于网络访问并可共享访问,可按需配置的计算资源的模式。云计算平台通过优化资源分配、提高计算效率,可大幅降低企业信息系统的总体拥有成本(TCO,Total Cost of Ownership)。当前,铁路云平台正处于快速发展阶段,铁路云平台安全也成为关注的焦点[1]。云安全联盟(CSA)在2018 年初发布的《12 大顶级云安全威胁:行业见解报告》中将数据泄露、身份、凭证和访问管理不当、账户劫持、不怀好意的内部人员等列为顶级云安全威胁,通过访问控制,可以在一定程度上防范这些威胁[2]。
访问控制是一种保护信息资源免受非授权访问的安全机制,采取某种方式准许或限制某个访问过程,进而对重要信息资产进行保护,能够有效防止外部用户的非法入侵和内部用户的违规操作,保证信息资源能够合法受控地使用。Anderson 在1972年提出访问监控器的概念之后,访问控制理论经过不断深入发展,逐渐成为网络安全的关键技术[3]。国内外学者在此基础上提出了很多访问控制模型,其主要分为3 类:(1)自主访问控制模型(DAC);(2)强制访问控制模型(MAC);(3)基于角色的访问控制(RBAC)。其中,强制访问控制模型更受学者青睐[4]。
铁路网络既有的安全措施部署较早,技术相对陈旧,部分设备日趋老化,应对新出现的多样化安全威胁防范能力不足,特别是对于云计算、大数据等新技术应用,缺乏针对性的安全防护措施[5]。为加强铁路云平台网络的安全防护,参照信息系统安全等级保护的有关要求,在铁路云平台网络安全保障体系框架下,研究铁路云平台细粒度访问控制方案。
1 铁路云平台网络安全保障体系
按照《信息安全技术 网络安全等级保护基本要求》(GB/T 22239—2019),铁路云平台网络安全保障体系以电子认证服务为基础,严格落实安全物理环境、安全通信网络、安全区域边界、安全计算环境等基础安全,由管理中心通过态势感知和集中管控,实现全方位的安全监管铁路云平台网络安全保障体系的构成如图1 所示,其中,网络安全技术保障体系包括安全管理层、基础防护层和扩展防护层、安全信任支撑层和信息技术基础设施层[6-7]。
(1)安全管理层:包括安全态势感知、集中安全管理等可视展示和管理中心。
(2)安全防护层:包括基础防护和扩展防护;基础防护涉及安全物理环境、安全通信网络、安全区域边界、安全计算环境等[8],根据等级保护相关要求进行统一防护;扩展防护对云计算安全、移动互联网安全等典型应用提供针对性防护。
(3)安全信任支撑层:主要统一身份认证服务。
(4)信息技术基础设施层:包括综合信息网、铁路客 票专网、列车调度指挥专网等。
2 铁路云平台细粒度访问控制方案
2.1 零信任访问控制策略
零信任访问控制策略的核心思想是:任何一次访问都应受到安全控制[9]。由于网络中存在大量的数 据链路,采用零信任访问控制策略时,尽可能将网络划分成多个安全区域,不同安全区域之间通过安全管控对所有通信协议的过滤,无需改变现有网络结构,通过对所有主客体的管控即可实现全局安全目标,如即时认证、全日志体系、所有主客体的基础权限和动态权限的统一分配。
本方案采用标记技术和可信技术,进一步强化零信任访问控制策略,不再局限于认证和代理,实现对铁路云平台网络空间的全局细粒度访问控制。
2.2 方案构成
在铁路云平台网络安全保障体系框架下,针对安全通信网络、安全区域边界、安全计算环境,设计细粒度访问控制方案,主要由代理程序、数据总线、网关设备、安全模块 4 个部件构成,如图2 所示。
其中,代理程序为应用提供信息传输代理服务,完成协议转换并将传输信息送入数据总线,由数据总线负责数据传输,在网关设备处进行标记的验证和释放,由安全模块进行授权访问控制。通过这 4个部件协同工作,实现铁路云平台网络空间的细粒度访问控制,为铁路云平台提供完善的安全防护。
2.3 代理程序
代理程序部署在应用服务器,或周边的物理服务器、虚拟机上,是一个用来模拟客户端的程序或服务。本地应用程序若要与远端程序进行通信,需通过代理程序来完成。代理程序按照标准通信协议,对不同应用的通信请求进行转换后,将需要与远端程序交互的信息传递给数据总线,由数据总线完成数据传输。
2.4 数据总线
数据总线是一个消息服务的程序,该程序提供多个消息接口,完成代理与代理之间的统一通信。以 Web 应用数据交换为例,异构系统之间可以通过数据总线,统一以 Web Service 方式进行标准的数据传输,实现异构系统间的数据共享与信息交换。数据总线设置有缓存区,可缓存交互的数据。当应用访问数据时,可以直接读取缓存区中的数据,从而提高系统响应速率。
2.5 网关设备
网关设备是部署在不同安全域之间的网关型防护设备,网关设备的内部结构如图3 所示,由 2 套相同配置、独立工作的网关系统构成。
这 2 套独立的网关系统分别连接 2 个不同的安全域,网关设备内部署有数据检查模块,恶意代码扫描模块和数据格式检查模块。基于“零信任”策略,数据标记检查模块检查所有数据的标记,以防止未经授权的访问信息,确保数据的完整性和保密性;恶意代码扫描模块用于识别和过滤非法添加到数据中的恶意代码;数据格式检查模块检查数据格式,以确保数据格式传输无误。由网关系统实现不同安全域之间安全的数据交换,保证数据可信,是可信计算的关键环节。
2.6 安全模块
安全模块是 1 个部署在主机上的安全组件,运行于操作系统驱动层,是采用可信计算技术实现系统可信的关键组件。通过数据报文的标记处理、访问请求的认证和权限分配、以及 I / O 的控制和监控,确保只有被安全模块授权的应用才能提供对应的 I /O 接口进行通信,来自其它应用的数据请求都会被丢弃,从而防止未授权访问。安全模块的处理流程如图4 所示。
系统内的安全模块对数据有严格的限制,只有当带有正确标记的数据经过安全模块识别确认之后,依照其标记报文中所包含的信息确认其权限范围和目标应用,从而对数据进行相应权限的操作;对于未带标记或带有错误标记的数据经过安全模块识别确认后将被抛弃。通过安全模块的处理,仅允许带有正确标记的数据进入,实现基于标记的强制访问控制,在保证数据完整性和保密性的基础上确保系统安全。
3 细粒度访问控制下的数据传输过程
利用部署在不同网络安全域之间的网关设备实现不同安全域之间的隔离和防护,兼顾隔离和防护,满足各个安全域内等保等级的边界安全需求。为了更好地兼容应用,由代理程序和安全模块为其提供基础的安全接口,对于网络中的数据通信,统一由数据总线完成同一安全域内的数据交互,但数据总线只负责传输工作,数据标志检查和数据结构检查等则由网关系统完成。
以下结合具体的数据传输过程,如图5 所示,描述各个部件的作用。
图5 数据传输过程示意
3.1 代理程序调用
代理程序部署在应用周边,与应用进行直接的通信。若应用服务器安装有安全模块,安全模块本身可以作为应用的代理,并根据应用对目标端的请求加上相应的标记信息;若应用服务器没有安装安全模块,应用通过调用最近的代理来实现添加标记的操作。从代理程序发送的数据均带有自身的安全标记,代理程序完成标记的初始化,是细粒度访问控制的依据。
3.2 数据总线传输
根据应用请求的目标端信息,代理程序将带有标记信息的数据报文传输给数据总线,数据总线根据数据报文的目标端地址进行正确的传输,此时分为 2 种情况:(1)若数据仅在本地安全域内进行传输,则数据报文通过数据总线进行传输,数据总线可以提供缓存,以便于快速调用;(2)若数据报文的目标端需要跨越安全域,此时数据总线需向部署在安全域边界上的安全网关发起请求,由其协助完成数据跨域传输。
3.3 安全网关判断
安全网关对接收到的报文进行判断,所接收报文分为 2 类请求:应用直接对安全网关的代理请求和数据总线对网关的请求。
对于应用直接对安全网关的代理请求,这类请求源于应用在本地安全域网络内没有找到对应的代理,或者采用同类调用方式的代理,只能直接通过网关进行信息请求。这类传输请求又可分为 2 种:本地安全域的传输和跨越安全域的传输;对于本地安全域的传输传输,网关会通过数据总线和目标端完成数据交换,两端的应用代理都运行于网关上;对于跨越安全域的传输请求,网关会根据具体的业务需求完成跨越安全域传输操作。
数据总线对网关的请求一般是需要跨越安全域的数据传输请求。业务数据跨越安全域的操作分为4个步骤:(1)对数据应用层还原并执行安全检查;(2)通过检查标记信息,核实数据报文是否可以通过网关设备进入对应的安全域;(3)将原始数据报文传输到目标端安全域的网关设备;(4)目标端的安全网关将数据报文进行重新组装,并打上新的标记,发送至安全域内的数据总线,由数据总线根据网络信息和标记传输给目标端。
4 关键技术
4.1 强制访问控制技术
在本方案中,网关设备是通过添加标记来实现强制访问控制,即在信息网络某一层设置标记,对这一层的信息实施强制访问控制[10]。标记由网络管理中心统一管理,标记覆盖的范围决定了强制访问控制技术的覆盖程度。标记用于标记每个资产的可被读写的权限,可根据信息资产的属性生成标记,但标记又独立于资产。在实际应用中,可仅对一部分信息采用标记和强制访问控制策略,但由此会降低系统的安全水平。由代理程序完成数据格式转换,再由数据总线统一传输数据,以实现全面的强制访问控制。
4.2 可信计算技术
可信技术基于白名单策略,其核心是在计算系统中建立强制的信任链[11]。信任链始于一个可信根,可信根工作范围决定了可信计算的安全特性,例如可信操作系统只能实现操作系统之上的可信。在本方案中,将标记信息作为唯一的可信根,以铁路云平台为覆盖范围,实现铁路云平台整体安全可信。
5 结束语
当前,铁路云平台正处于快速发展阶段。参照信息系统安全等级保护的有关要求,在铁路云平台网络安全保障体系框架下,研究铁路云平台细粒度访问控制方案。方案基于零信任访问控制策略,由代理程序、数据总线、安全网关和安全模块4 个部件协同完成安全的数据传输;详细描述细粒度访问控制下数据传输的过程,利用标记强制访问控制技术和可信计算技术,通过代理程序调用、数据总线传输、安全网关判断,实现铁路云平台各安全域内和跨域的细粒度访问控制。
该方案满足等级保护2.0 三级及以上安全防护要求,在保持原有安全部署的基础上,有效提升铁路云平台的安全防护能力,有利于推动铁路云平台应用的发展。