零信任在等级保护实施中的应用

(整期优先)网络出版时间:2023-04-26
/ 3

零信任在等级保护实施中的应用

曹坚,朱光剑,杨沁晓

成都久信信息技术股份有限公司

摘要:传统信息系统的安全防护,基于网络边界为策略出发点,采用纵深防御为基础的防御体系,强调网络边界攻击行为防护,但在部署实施时因具体设备和系统的自身特性,对防御架构里所要求的单点实施措施实现相对较困难,从而易引起服务器集群内、虚拟机之间的横向攻击等。为降低内部的横向越权安全问题,本文提出结合零信任概念的等级保护架构,并讨论其中的相关组件和关键技术。

关键词:等级保护;访问控制;零信任;SDN

信息系统自诞生以来,注重数据链路的传输连通性,缺少对承载数据的安全控制及系统业务连续性的保证。为此,业界提出使用信息系统安全保护框架来对系统重要数据及所承载业务进行保护。从最初的BS7799、ISO/IEC 27000系列、NIST SP800-53,再到CC(通用准则),构建以纵深防御为基准、网络边界防护为原则的安全防护体系。我国也建立了适合我国国情的网络安全等级保护制度。基于实施安全体系所要求的一系列控制措施,信息系统的网络攻击防御和数据保护能力大幅提高,系统安全事件发生的机率有了明显下降。但随着系统内部部署设备日趋多样化,数量不断增加,操作设备人员的数量和角色的不断增多,设备间横向越权攻击的问题日益凸显,对系统的安全运行造成了较大的威胁。而互联网侧的网络攻击行为也随着网络技术的不断发展日趋多样化与复杂化,从原来的DOS、恶意代码攻击等到现在DDOS、APT。针对日益复杂的系统安全问题,Forrester分析师John Kindervag提出了零信任概念,对传统边界安全架构思想进行了重新评估和审视,其核心思想是默认情况下,企业内外部的任何人、事、物均不可信,应在授权前对任何试图接入网络和访问网络资源的人、事、物进行验证。本文将零信任概念融入等级保护架构中,以解决内部横向越权攻击问题。

1、网络安全等级保护制度实施现状

网络安全等级保护制度构建了“一个中心、三重防护”的安全体系,“一个中心”即安全管理中心,“三重防护”即安全计算环境、安全区域边界、安全通信网络。安全体系示意图如下:

计算环境包含了系统内所有的设备/应用系统,如服务器、存储设备、数据库等,区域边界为系统中不同信任等级区域间的交汇处,使用安全接入/隔离设备进行区域隔离,通信网络提供了系统与专网、互联网的连接接口。安全管理中心分别对计算环境、区域边界、通信网络进行管理,建立以计算环境安全为基础,以区域边界安全、通信网络安全为保障,以安全管理中心为核心的网络安全整体纵深防御体系。

在安全计算环境中,对网络设备、安全设备、服务器、数据库、终端和应用系统等设施设备进行用户身份鉴别、权限赋予及控制、操作/行为安全审计等。在安全区域边界中,设置访问控制规则对受控接口通信进行限制,对非法内联、非法外联行为进行检查限制,并检测、防止或限制从内部及外部发起的网络攻击行为,在关键网络节点处对恶意代码及垃圾邮件进行检测和清除。在安全通信网络中对网络区域进行划分、对重要网络区域与其他网络区域进行隔离并保证传输数据的完整性和保密性。

在大部分信息系统等级保护实施落地的时候,对系统内的设备,如网络设备、安全设备、服务器等设备的操作系统有“授予管理用户所需的最小权限,实现管理用户的权限分离”、“由授权主体配置访问控制策略,访问控制策略规定主体对客体的访问规则”、“对重要主体和客体设置安全标记,并控制主体对有安全标记信息资源的访问控制策略”等实施要求。“授予管理用户所需的最小权限,实现管理用户的权限分离”要求设备操作系统划分管理员、操作员、审计员3种角色,管理员对系统有全部的操作权限,但不能有对系统日志的查看和修改权限;操作员有对系统安全配置进行修改的权限,但不能有对系统日志的查看和修改权限以及对系统的其他权限;审计员仅能对系统日志进行查看,不能对系统日志记录进行修改,无系统的其他操作权限,以此保证单个用户不能对系统所有重要的操作对象内容有独立实施完成的能力。“由授权主体配置访问控制策略,访问控制策略规定主体对客体的访问规则”要求系统访问控制策略和访问控制规则由授权主体来设置。“对重要主体和客体设置安全标记,并控制主体对有安全标记信息资源的访问控制策略”要求设备操作系统可对系统重要数据主体和客体设置安全标记,并依据访问控制策略对有安全标记的资源进行访问。但在实际的实施过程中,网络设备、安全设备、服务器、数据库、终端使用的linux系统和windows系统中root账户和administrator账户拥有对系统所有的操作权限,包括对系统日志的查看和修改权限,无法单独设置仅能对系统日志进行查看,不能对系统日志记录进行修改,无系统的其他操作权限的账户,从操作系统层面无法实现管理用户的权限分离。由于linux系统和windows系统均是基于角色访问控制(RBAC)的操作系统,授权主体可以选择其具体的角色,但不能依据实际安全需求对所分配的角色进行权限再划分(分配),从一定程度上无法实现主体规定对客体的访问规则控制。Linux系统和windows系统的系统安全等级均为C2级,未达到B1级,不能自动对系统中的数据进行自动标记,需靠第三方软件来实现此功能。在此背景下,在服务器是由集群组成以及系统服务器管理由同一角色用户管理的情况下,用户拥有对所有服务器相同的操作权限。

可以看出,形成以上问题的原因是由于设备操作系统不同角色用户所拥有的权限相对固定且不能依据实际安全需求进行权限再分配,权限是根据划分的角色一次性永久赋予,在任何时候用户所拥有的权限都是一样的。而在不同时期,用户拥有其完成工作任务所需的最小权限是有区别的,原来赋予的权限有可能超出最小权限的限制,进而产生(横向)越权的隐患。零信任能够很好地解决这个问题。

2、零信任等级保护安全架构设计

2.1零信任原理

零信任是一种安全理念,旨在面对被视为受损的网络时,减少在信息系统和服务中执行准确的、权限最小的按请求访问决策时的不确定性[2]。其主要包含了以下原则:

(1)对单个企业资源的访问的授权基于每个连接授予的。[2]

(2)对资源的访问是由策略决定,包括客户身份、应用/服务和请求资产的可观察状态,可能还包括其他行为及环境属性。[2]

(3)所有资源身份认证和授权是动态,并且在允许访问之前严格执行。[2]

在零信任理念中,对系统内资源的访问以策略来决定的(策略是基于组织分配给主体、数据资产或应用的属性的访问规则集,这些规则和属性是根据业务流程需求和可接受的风险水平而定[2])。资源访问授权基于每个连接授予的,在授予访问权限之前评估请求者信任级别,根据信任级别高低来赋予对应的权限。单次访问结束,撤回相应的权限,下次访问时重新评估赋予。这样避免了原有系统中角色权限永久赋予存在的最小权限溢出问题。

2.2 零信任访问控制模型

基于上述原则,本文设计了基于属性的零信任访问控制模型,如上图所示:访问主体为系统资源使用用户,在每次使用数据资源时会向策略主体发起请求,由策略主体赋予单次访问权限,在访问结束后策略主体收回本次访问权限,形成单次端对端的资源访问模式。策略主体由3大部分组成:策略引擎、信任引擎和策略执行组件[1]。策略引擎是模型中进行授权决策的组件,它接收来自策略执行组件的授权请求,并和预先制定好的策略进行比较,决定请求是否被允许,并将决策结果返回策略执行组件进行强制执行【1】。策略执行组件负责启用、监控并最终结束访问主体和数据资源之间的连接。信任引擎是对访问主体的访问请求进行风险分析的系统组件,对访问请求及活动的风险进行数值评估,策略引擎基于这个风险评估结果进行进一步的授权决策,以确定是否允许此次访问请求【1】。在风险数值评估中,需要对信任的对象进行赋值,这需要设置认证系统来实现此功能。在策略引擎、信任引擎和认证系统的运行过程中,涉及了数据的存储、调用和处理,需要设置单独的数据存储系统来保证其正常运行。零信任访问控制模型各构成部分的信息如下表所示:

零信任模型主体名称

零信任模型主体构成内容

访问主体

系统资源使用用户

策略主体

策略引擎

零信任模型中进行授权决策的组件

信任引擎

对访问主体的访问请求进行风险分析的组件

策略执行组件

启用、监控并最终结束访问主体和数据资源之间的连接

认证系统

对信任对象进行认证

数据存储系统

存储、调用和处理策略引擎、信任引擎和认证系统所运行的数据

数据资源(访问客体)

系统可利用的数据与信息

2.3 零信任等级保护安全架构

利用提出的访问控制模型,本文构建了基于零信任的等级保护安全架构,如下图所示:

该架构主要包含了以下几部分:1、访问主体(用户);2、访问客体(数据资源);3、认证/授权体系(策略主体)。访问主体中,专网用户、互联网用户、内部用户统一划为访问主体,内网用户和终端不再从内网接入系统,而是与其他区域设备划为同一区域接入到安全接入/隔离设备中。访问客体(数据资源)为服务器、数据库、存储设备等,处于访问主体的对等面。认证/授权体系包含了零信任架构中的策略引擎、信任引擎、策略执行组件等。策略引擎制定访问主体对访问客体的访问策略,并依据策略返回策略执行组件进行执行。信任引擎对主体访问客体的请求进行风险分析。在风险分析的过程中进行信任度数值评估,以此判断其信任度的高低。认证系统由RADIUS、TACACS+等现有成熟的认证系统组建。在策略执行组件中,可使用SDN技术在安全接入/隔离设备和数据交换设备处分离网络设备的控制面与数据面,实现网络流量控制和访问请求的数据的过滤及安全控制【3】。数据存储系统用来存储策略引擎、信任引擎和认证系统的数据源。零信任等级保护安全架构各构成部分的信息如下表所示:

零信任等级保护模型主体名称

零信任等级保护模型与等级保护架构对应区域

与零信任模型对应部分

访问主体(专网用户/互联网用户/内网用户)

通信网络

访问主体

认证授权体系    (策略主体)

安全接入/隔离设备

区域边界

策略主体

数据交换设备

计算环境

访问客体(数据资源)

服务器/存储设备       (计算环境)

数据资源(访问客体)

在本文论述的架构中,原有的系统业务使用及数据调取方式不变。访问主体每次访问数据资源时策略主体仅赋予单次的访问权限,赋予的访问权限独立于数据资源中的其他客体所拥有的权限且权限仅为单次访问有效,访问结束后权限即撤销,这样可以有效避免横向权限攻击,能够实现等级保护中赋予最小权限、管理用户的权限分离,访问控制粒度等要求。

3、结束语

由于现有网络安全技术中对数据过滤和安全控制基于数据包结构分析(IOS七层模型数据包头结构)和数据内容分析(代码、特征比对),如使用ACL(访问控制列表)实现对数据包的过滤、对数据内容进行记录并形成状态化表项来进行用户行为判断、对数据内容与特定内容比对来消除恶意代码等,系统安全架构中仍然需要使用传统的网络安全设备(如防火墙、WAF、IPS、防病毒网关等)来实现策略执行组件连接访问主体和数据资源时请求数据和业务数据所必须的数据过滤和安全控制功能。在运行维护这些网络安全设备时,仍然需要对设备建立使用用户,为不同用户分配不同的用户角色和使用权限,甚至不同的安全设备为方便管理建立相同的角色和赋予相同的使用权限,安全设备间仍然存在发生横向越权攻击的可能性,从而影响对转发数据的正常控制与过滤。随着网络安全技术的不断发展,在策略执行组件中会有更完善的数据过滤功能和设备安全使用来弥补架构中的缺陷,如可信验证技术。可信验证是对系统中设备和应用完整性的一种验证措施,通过建立硬件可信根(如在设备中植入可信安全芯片对软件栈进行度量和验证来确保硬件设备可信)来采集系统的运行状态值,并将状态值与预设的参考值进行对比来实现对操作系统的可信(进而也可实现对承载其上的应用系统的可信验证)。对安全设备及数据交换设备用户的角色设定及权限分配可以不再基于角色的访问控制(RBAC)来实施管理,可对所有设备的管理用户赋予可自主分配的权限(基于自主访问控制DAC)进行管理维护。因硬件设备的可信安全芯片仅为单个设备的软件栈进行度量和验证,可信验证结果仅为当前设备的结果,不同设备的可信验证结果是不同的。虽然所有的安全设备及数据交换设备采取的是自主权限分配与制定访问控制规划的策略,但设备与设备间不能进行用户跨设备操作,这样可避免设备与设备之间发生(横向)越权的可能。

融入零信任概念的等级保护安全体系结构为基础的系统安全架构模型,为设备用户权限分配及最小化权限实现中存在的问题提供了新的参考解决办法。

参考文献:【1】埃文·吉尔曼. 零信任网络:在不可信网络中构建安全系统

2Scott RoseOliver BorchertStu MitchellSean Connelly. NIST Special Publication 800-207

3】高亚楠、赵帅、孙娅芳. 基于网络安全等级保护 2.0 的零信任架构研究

          【4】张宇、张妍.零信任研究综述

          【5】丁锐.基于零信任的石油网络安全架构研究

作者简介:

第一作者:曹坚,男,本科,1986.6,成都久信信息技术股份有限公司

第二作者:朱光剑

通讯作者:朱光剑,男,本科,1983.9,成都久信信息技术股份有限公司

第三作者:杨沁晓,男,本科,1981.1  成都久信信息技术股份有限公司