APP下载

基于模型的零信任网络安全架构

2023-08-29范纯龙张睿航尹震宇丁国辉

小型微型计算机系统 2023年8期
关键词:细粒度访问控制信任

蒋 宁,范纯龙,张睿航,尹震宇,丁国辉

1(沈阳航空航天大学 计算机学院,沈阳 110136)

2(沈阳师范大学 软件学院,沈阳 110034)

3(中国科学院 沈阳计算技术研究所有限公司,沈阳 110168)

1 引 言

系统工程(System Engineering)是在复杂系统的工程实践中逐步形成的规范的工程管理方法.随着系统工程的发展,基于文本的系统工程逐步被基于模型的系统工程(Model-Based Systems Engineering,MBSE)所取代.INCOSE(International Council on Systems Engineering)给出MBSE的定义:支持以概念设计阶段开始,持续贯穿于系统全生命周期阶段的形式化建模应用[1].MBSE将模型驱动与系统工程相结合,以模型传递需求、以模型驱动设计,将规范化的模型作为系统协同设计的载体[2].因此MBSE具有流程可迭代、需求可追溯的显著特点.随着系统的复杂性逐渐增加,MBSE成为系统工程的有效方法和数字化设计范式,广泛应用在航空领域的复杂系统,逐步应用到其他领域的复杂系统[3].

复杂系统中软件占有的比例越来越高,软件密集型系统包括3类:物理系统(Physical Systems)、计算系统(Computational Systems)和信息物理系统(Cyber-Physical Systems,CPS).其中,CPS是以网络化为基础、计算系统和物理系统有机融合的复杂系统.CPS中信息和物理元素以复杂的方式协作提供预期的系统行为.CPS是复杂系统的未来[4],CPS中应用MBSE方法是MBSE未来的发展方向[5].本文讨论CPS中的安全问题.CPS中的安全属性有功能安全(Functional Safety)和信息安全(Security)[6],本文只讨论CPS中的信息安全属性.信息安全具有复杂系统的特性,安全生命周期中安全需求频繁变更、安全流程反复迭代,安全管理不断细化、安全机制动态调整,因此要求设计的安全架构具有需求可追溯、流程可迭代、管理细粒度、机制动态化.鉴于信息安全的以上特性,应用MBSE方法研究信息安全是MBSE的一个发展方向[7],本文遵循MBSE方法学对信息安全进行研究.

梳理相关研究,目前MBSE和信息安全相关的研究主要在两个方面:在MBSE中功能安全与信息安全一体化设计和贯穿MBSE的信息安全设计.

在MBSE中功能安全与信息安全一体化设计方面的研究有:SERGEJ等[8]提出一种早期识别功能安全和信息安全的方法;SERGEJ等[9]提出一个在设计阶段解决信息安全和功能安全一体化的方法;ASCHOT等[10]开发出一种建模语言能够将功能安全和信息安全方法链接到一致的元模型中,设计两种安全的协同目标;PAPAKONSTANTINOU等[11]提出跨学科早期设计风险评估框架(MEDRAF),给出安全相关概率估计的计算方法.

贯穿MBSE的信息安全设计方面的研究有:MAZEIKA等[12]将分类后的信息安全技术在系统模型中进行表示,使用MBSE工具开发模型,提出了MBSEsec方法,在每个安全流程阶段推荐相应的信息安全技术,并进行了研究实例的验证;MATTHEW等[13]在美国国防部防御体系结构框架(DoDAF)的信息安全属性视图基础上,提出统一体系结构框架(UAF),UAF通过定义安全目标和需求的方法集成了信息安全视图,并展示了贯穿MBSE的信息安全实现方法;POWLEY等[14]提出了一个MBSE评估本体(Evaluation Ontology),该评估本体能够在单一的集成模型中获得不同类型的信息安全评估,并将评估本体应用于车辆系统信息安全的实例中.

总览文献,对于复杂、开放和容易受到安全威胁的系统,MBSE通过对信息安全进行设计、抽象,提升了信息安全的模型化方法,但基于模型的CPS安全架构研究较少.

本文讨论CPS下的网络安全(Cyber Security)架构.网络安全保护CPS免受攻击、泄露、篡改、窃取、非授权使用和其他恶意行为的入侵.有效的CPS网络安全,需要将物理措施、管理措施、技术措施相结合.但是任何保护措施都可能遭到破坏,因此,基于静态并且仅保护系统边界的传统防御性的网络安全架构,正在向更加动态的网络安全架构演变.本文应用MBSE的设计范式,在纵深防御网络安全架构的基础上,设计了基于模型的零信任网络安全架构.

本文首先遵循MBSE方法学,给出安全架构的基本流程,然后对流程中的安全架构定义和安全架构实现两个步骤进行分析.在安全架构定义中,对纵深防御总体策略进行了详细阐述,重点讨论了零信任的微网段和基于属性的访问控制;在安全架构的实现中,以边界安全域为例,使用系统建模语言(System Modeling Language,SysML)构建了基于模型的网络安全架构模型.最后对零信任网络安全架构模型进行了验证和确认.

2 网络安全架构的基本流程

MBSE对各个领域的系统工程产生了重要影响,逐渐发展成为一门方法学,MBSE方法学的构成要素是过程、方法和工具[15].MBSE具有外部影响因素,包括环境、技术和人员.MBSE使用建模方法来分析并记录系统工程生命周期的关键方面,是一种形式化的建模方法学.结合CPS的实际需求,CPS网络安全架构中运用MBSE的方法学,从技术和管理两个角度,将网络安全架构的功能分配给各种安全保障措施,如人员、硬件、软件等[16].本文从网络安全技术的角度讨论网络安全架构.

遵循MBSE方法学的网络安全架构的基本流程的包括7个步骤[17].每个步骤的主要内容如下:

1)规划和启动.建立安全架构开发的方法、资源、进度表和其他基本资料,包括项目管理人员、客户和其他利益相关方的承诺.

2)威胁分析和风险评估.风险管理评估潜在不良事件或状况的发生概率以及后果.网络安全风险管理的重点是受保护的资产、威胁、脆弱性和利用安全控制的风险缓解策略.

3)安全需求和策略.对网络安全特征和功能定义清晰、明确、有效且可验证的需求,用于支持开发、采集、集成、测试、运行和其他活动.安全策略将安全需求转化为安全目标,并决定如何利用现有或计划的资源来实现这些安全目标,以实现可验证的安全需求.

4)定义安全架构.根据安全策略划分不同的安全域(security zone),确定每个安全域的安全边界;定义安全域的网络安全技术措施;定义用于评价安全架构的质量和策略合理性的指标;定义系统用户、安全管理人员和其他人员的角色和职责等.

5)实现安全架构.选择和配置实现安全控制的组件和流程;根据威胁的性质和受保护信息的敏感度,验证系统组件是否具有适当的信任级别;开发与安全架构相关的模型等.

6)测试和验证.安全架构完成后,进行分析和测试来验证系统是否已达到所需风险等级.

7)监控、维护和升级.在系统运行期间,监控事件日志、配置审计和脆弱性测试等功能.定期更新和重新测试,以确保网络架构仍然满足所需的风险等级.包括配置管理、软件补丁管理、安全组件管理等.

网络安全架构如图1所示.

图1 网络安全架构流程

网络安全架构的流程高度迭代,需求逐步细化.安全架构流程的每一个步骤都强制实施治理,即强制实施总体规划并验证.美国国家标准与技术研究院(National Institute of Standards and Technology,NIST)发布的NIST SP 800-100[18]提供了治理方法,通过日志审计定期监控安全特征.

3 网络安全架构的定义

3.1 网络安全架构的纵深防御策略

网络安全架构采用纵深防御(Defense in Depth,DiD)的总体策略.纵深防御是从整体角度,由外至内逐层进行防御设计[19].攻击者要获得敏感的系统内容,必须穿透每层的防御措施,各层的防御措施单独管理和动态更新.纵深防御的安全策略,如图2所示.

图2 纵深防御的安全策略

纵深防御安全策略由外而内的技术要求包括:物理和环境安全、网络和通信安全、设备和计算安全、应用和数据安全.

3.1.1 纵深防御的安全域

纵深防御中,根据不同的安全需求,将安全系统划分为不同的安全域,一个安全域是具有共同安全需求的资源的逻辑组.安全域中可再划分子域.每个安全域都有一个边界,纵深防御在边界处部署用于安全控制的保护措施.

本文以工业控制网络场景为例讨论CPS下的网络安全架构,典型的纵深防御的安全域网络拓扑结构,如图3所示.

图3 纵深防御的安全域

图3中,纵深防御的安全域由外至内划分外部安全域、边界安全域、內部安全域.边界安全域划分一个非军事区(Demilitarized Zone,DMZ)子域,DMZ中部署电子邮件服务器、Web服务器、多个代理服务器和蜜罐服务器等服务器.內部安全域又划分两个子域,制造域A和制造域B,每个制造域中又划分出子域控制域.纵深防御的每个安全域中的终端设备划分出终端安全域,终端设备上的应用划分出应用安全域,终端设备上的数据划分出数据安全域.

3.1.2 纵深防御的保护措施

纵深防御的关键是加强安全域的边界防御,需要在不同的级别上采取不同的保护措施.

边界安全域的保护措施如表1所示,主要保护措施包括边界防火墙和入侵检测系统(Intrusion Detection System,IDS).

表1 边界安全域的保护措施

内部安全域中的制造域A和B的保护措施为统一威胁管理(Unified Threat Management,UTM)防火墙,UTM防火墙是优化了硬件和软件的安全系统,集成防火墙、入侵检测系统、反病毒、虚拟专用网等多个功能.控制域中现场设备级防火墙保护PLC(Programmable logic Controller)、RTU(Remote Terminal Unit)、HMI(Human-Machine Interface).

终端安全域的保护措施包括操作系统锁定、用户账户管理、主机防火墙、主机入侵检测系统、补丁管理等.

应用安全域的保护措施包括日志审计、Web应用防火墙、XML防火墙、数据库防火墙等.

数据安全域的保护措施包括日志审计、数据加密、数据访问控制、数据泄露保护(DLP)等.

3.2 零信任架构

纵深防御总体策略的安全架构中,安全域采用的安全机制是粗粒度的、静态的,难以适应动态情况.一旦纵深防御中的某个安全域被攻击者入侵,之后攻击者可能在此安全域内进行再次攻击,资源失去应有的保护.如果根据动态情况调整不断变化的用户权限,可能造成巨大的管理负担.因此,需要对纵深防御的策略需要加强,采用细粒度的、动态的安全机制.

零信任(Zero Trust,ZT)通过动态的、细粒度的、严格的访问控制、严格的权限管理加强纵深防御架构的策略.零信任中,终端用户、应用进程以及一切想获取资源的实体都是主体.零信任的访问规则是未经充分认证,任何主体不会通过先验条件而获得信任[20].零信任优势有:可以强化身份识别和访问控制,对主体进行持续的、动态的信任评估;可以提高内部网络流量的安全性,通过隔离技术对资源进行隔离;可以对外隐藏应用程序,只有通过认证的主体才能访问应用,能够有效地抵御非法扫描[21].

3.2.1 零信任的逻辑组件

2020 年 8 月,NIST发布了《零信任架构(Zero Trust Architecture)》最终版本.NIST SP 800-207指出:零信任架构的关键是授权和访问控制,其逻辑组件,包括核心组件和外围组件[22],如图4所示.

图4 零信任逻辑组件

零信任的核心组件分为控制平面(control plane)和数据平面(data plane).零信任架构的逻辑组件间的通信在控制平面内部进行,而应用数据的通信则在数据平面进行.控制平面的组件是策略决策点(Policy Decision Point,PDP),PDP又分为策略引擎(Policy Engine,PE)和策略管理器(Policy Administrator,PA).数据平面的组件是策略执行点(Policy Enforcement Point,PEP).当主体访问资源时,由PDP和PEP共同决定是否授予主体访问权限.PEP接收访问请求,转发至PDP.PDP维护当前系统的策略,将PEP转发过来的请求与策略比较后得出访问决策,之后将访问决策返回给PEP,PEP执行访问决策.

PE是零信任组件的决策核心.PE组件负责最终决定是否要为请求访问资源的主体授予访问权限.PE使用访问策略以及来自外部组件数据作为信任算法(Trust Algorithm)的输入,用以授权、拒绝或是撤销对资源的访问.PE决策时考虑主体的安全态势和其他上下文的信息,比如时间、位置、之前行为等.信任算法根据主体的访问请求,查询主体数据库、资产数据库、资源需求数据库,分析外围组件数据输入,综合后得出授权访问或者拒绝访问的决策.

零信任外围组件数据作为信任算法输入,为PE提供威胁情报和安全态势感知.外围组件包括CDM(Continuous Diagnostics and Mitigation)系统、行业合规系统、威胁情报源、活动日志、数据访问策略、公钥基础设施、身份管理、SIEM(Security Information and Event Management)系统.

零信任的核心组件和外围组件一起实现零信任.零信任将决策不确定性最小化,能够有效保护数据资源安全[23].零信任采用细粒度的安全域和细粒度的访问控制来加强纵深防御策略.

3.2.2 零信任的细粒度安全域

在纵深防御策略中,即使划分多个安全域,但同一个安全域的系统之间的通信被认为可信.一旦攻击者能够突破安全域的边界控制,就可能攻击同一个安全域中的其他系统.

传统网络分段技术,如虚拟局域网技术,无法提供细粒度的安全域.NIST SP 800-207提出零信任中微网段(micro-segmentation)[24].局域网划分为微小的逻辑网段,将受保护的数据资源放置其中.不同的微网段具有不同的微边界,微网段将网络通信限制在必要的较小范围内,微网段实现了细粒度的安全域.例如,如图5所示,图中划分3个微网段,每个微网段的微边界部署下一代防火墙(NGFW),实现PEP的功能.

图5 微网段划分

如果微网段1被入侵,那么进一步对资源B的访问将被禁止,因为资源B处于另一个微网段2.因此,微网段能够阻止攻击者在同一个安全域中多次非授权访问.

细粒度的安全域划分是零信任架构的核心原则.系统的特殊资源被隔离在细粒度的安全域内执行访问控制.为了实现细粒度的安全域,根据特定需求可以划分基于主机的微网段.

3.2.3 零信任的细粒度访问控制

零信任通过对资源执行细粒度的访问控制来加强纵深防御策略.在零信任中,持续的认证和授权可以保证用户访问行为的安全性和可信性,使访问过程动态安全[25].

访问控制机制包括基于身份访问控制(Identity-Based Access Control,IBAC)、基于角色访问控制(Role-Based Access Control,RBAC)、基于属性访问控制(Attribute-Based Access Control,ABAC)等.IBAC使用主体身份进行访问控制,但IBAC不可扩展,不考虑上下文信息;RBAC使用主体的角色进行访问控制,但RBAC需要预先定义角色,耗时耗力.ABAC以主体的属性作为基础进行授权决策,它可以随着主体属性的变化动态地更新访问控制决策,提供一种细粒度、灵活的、动态的访问控制方法[26].ABAC在访问控制中综合考虑主体属性、资源属性和环境属性[27].主体属性包括身份、证书或令、密码或口令、角色、位置或来源;资源属性包括类别、敏感度、可发布规则、数字签名等.ABAC对多重属性定义复杂布尔规则集进行决策.

零信任应用ABAC实现细粒度的访问控制.根据ABAC的特点,结合零信任逻辑组件,本文设计的基于属性的访问控制的零信任逻辑组件,如图6所示.

图6 基于属性访问控制的零信任逻辑组件

图中,使用基于属性的访问控制管理时,当主体向PEP发出访问资源的请求时,PEP将请求转发给PDP.PDP从策略信息点(Policy Information Point,PIP)获取属性库中的属性信息.PIP能够提供属性的检索服务,为PDP提供策略评估所需的数据.PDP使用属性信息、策略信息和环境条件进行决策,并消除信息之间的冲突,将策略决策结果反馈给PEP.

遵循MBSE的方法学,零信任网络架构的设计是一个反复迭代的过程.

4 网络安全架构的建模实现与模型验证

对安全架构进行设计之后,通过对安全硬件和软件进行建模来实现安全架构.实现后须对系统进行验证,确认安全架构按设计要求发挥作用.本文以纵深防御中边界安全域为例,进行纵深防御策略中的零信任网络安全架构的模型实现.零信任在具体的功能实现时,PEP和PDP可以是物理上集中的,也可以是物理上分开的.

4.1 SysML模型

MBSE中广泛使用系统建模语言SysML进行建模[28].有研究表明,在所有的建模语言中,SysML的占有率达到60%,成为MBSE的主流建模语言[29].SysML能够对具体物理实体进行抽象,为功能、结构、行为提供模型.SysML模型包括结构模型和行为模型,块(Block)是模型中的基本单位.结构模型包括块定义图、内部块图、包图;行为模型包括用例图、状态机图、活动图和顺序图[30].

从架构模型的角度来看,SysML的模型中,内部块图(Internal Block Diagram,IBD)对架构元素的内部结构和接口进行建模.内部块图能够表示各个模型元素连接的方式,以及各个模型元素的外部接口;顺序图(Sequence diagram,SD)描述了架构元素之间的交互,体现行为的参与者,按照时间顺序对消息和事件进行建模,顺序图分为黑盒顺序图和白盒顺序图[31].本文以工业控制网络场景为例,从结构和行为两个角度进行SysML建模,开发安全架构中边界安全域的内部块图模型和ABAC的白盒顺序图模型.

4.2 边界安全域模型

目前有很多支持SysML的工具软件,例如Rhapsody、Enterprise Architect、Papyrus等[32].本文以边界安全域为例,进行基于SysML语言的建模实现,安全架构中边界安全域的内部块图模型如图7所示.

图7 边界安全域的SysML内部块图模型

图7的边界安全域的SysML内部块图模型中,零信任对纵深防御策略进行了安全增强.边界安全域构建双重防火墙和双重入侵检测模型.双重防火墙模型中,为了让授权的外部用户使用相关服务器,同时保护内部安全域的资源,建模了DMZ安全域,DMZ位于外部防火墙和内部防火墙之间.为了对双重防火墙的结构进行强化,构建了双重入侵检测系统模型.

图7中的SysML 模型中各个块的信息如表2所示.

表2 边界安全域的SysML内部块图模型中块的信息

边界安全域中的零信任通过PEP和PDP逻辑组件实现,模型中,零信任的两个逻辑功能组件PEP和PDP各自位于专用服务器中.PEP服务器与外部防火墙进行交互,进行访问控制的执行;与DMZ交换机相连,进行数据的传输和交换.细粒度的安全域使用基于主机的微网段;细粒度的访问控制使用ABAC,PIP位于PDP服务器中.

ABAC的SysML白盒顺序图如图8所示.

图8 ABAC的SysML白盒顺序图模型

图8的ABAC的SysML模型中,零信任组件包括PEP、PA、PE,主体在进行资源访问时,将请求发送道PEP,PEP与PDP中的PA和PE进行交互,PE获取PIP中的属性信息,根据信任算法计算出访问策略,并将决策返回给PEP,PEP对主体的策略为授权访问或者拒绝访问.图中的模型表明,如果PEP的策略为授权访问,那么主体可以访问资源;如果PEP的策略为拒绝访问,那么主体不能访问资源.

5 网络安全架构模型的验证与确认

MBSE对复杂系统采用正向设计、反向验证与确认的原则.验证与确认(V&V)普遍采用的主要方法有测试、演示、检验和分析[17].其中,分析方法是使用理论分析等方法来评估或预测系统行为.本文采用分析的方法来对模型进行验证与确认.

5.1 网络安全架构流程分析

根据本文采用的网络安全架构流程,分析流程中的各个步骤.网络安全架构正向设计的阶段包括规划和启动、威胁分析和风险评估、安全需求和策略、定义安全架构;实现阶段包括实现安全结构;反向验证与确认包括测试和验证、监控维护和升级.将网络安全架构流程映射到MBSE“V”形流程,分析出网络安全架构流程与MBSE“V”形模型总体对应,具有流程可迭代的特点,如图9所示.

图9 网络安全架构流程与MBSE“V”形流程的映射

5.2 边界安全域模型分析

根据本文开发的边界安全域的SysML IBD模型,分析模型中架构元素之间的接口,进而分析出边界安全域的网络拓扑,如图10所示,实现安全需求可追溯.

图10 边界安全域的网络拓扑

5.3 PEP与PDP服务器流程仿真分析

系统动力学是分析复杂系统动态行为的系统科学方法,仿真软件为Vensim[33].根据本文开发的ABAC的SysML白盒顺序图模型,以零信任的PEP和PDP服务器为例,应用系统动力学分析工具Vensim PLE进行仿真实验.主体访问资源的请求到达PEP服务器,PEP将其转发给PDP服务器,PDP服务器给出控制策略,并将新的属性信息保存在属性库中.基于Vensim的仿真如图11所示.

图11 基于Vensim的PEP和PDP服务器仿真

Vensim仿真实验中,任务持续时间为3600分钟,系统动力学方程中变量初始值如表3所示,方程如表4所示.

表3 系统动力学方程中变量初始值

表4 系统动力学方程中变量方程

表4中的方程设置为如果某个服务器队列负载超过5000,则服务率从0.95下降到0.9.Vensim仿真结果如图12所示.

图12 PEP和PDP服务器的仿真结果

仿真结果表明,在仿真截止时间时,PEP服务器队列处于低水平,说明是有效的队列服务;PDP服务器队列增长缓慢,能够有效处理PEP服务器发送的访问控制请求服务.

6 结 论

在CPS中,信息安全本质上具有复杂系统的特性,安全生命周期中安全需求频繁变更、安全流程反复迭代,安全管理不断细化、安全机制动态调整,因此安全架构遵循MBSE方法学进行设计、实现和验证.

本文设计了基于模型的零信任网络安全架构.网络安全架构总体策略是纵深防御,零信任采用细粒度的安全域和细粒度的访问控制对纵深防御进行加强.微网段构成细粒度的安全域,将网络通信限制在必要的微小网段范围;基于属性的访问控制构成细粒度的访问控制,根据主体属性的变化和环境条件动态地更新访问控制决策.

本文以网络安全架构中的边界安全域为例,实现了基于SysML语言的内部块图模型和白盒顺序图模型.采用分析的方法对网络安全架构模型进行了验证和确认.遵循MBSE方法学,以模型传递需求、以模型驱动设计,基于模型的零信任网络安全架构具有流程可迭代、需求可追溯的特点;基于模型的零信任网络安全架构具有安全域细粒度、访问控制动态性的特点.

猜你喜欢

细粒度访问控制信任
融合判别性与细粒度特征的抗遮挡红外目标跟踪算法
细粒度的流计算执行效率优化方法
基于双线性卷积网络的细粒度图像定位
嘤嘤嘤,人与人的信任在哪里……
ONVIF的全新主张:一致性及最访问控制的Profile A
支持细粒度权限控制且可搜索的PHR云服务系统
动态自适应访问控制模型
浅析云计算环境下等级保护访问控制测评技术
大数据平台访问控制方法的设计与实现
信任