本节主要介绍零信任的定义、抽象架构、核心关键能力,以及三大技术分支的基本介绍。零信任不信任任何人、设备、系统及环境,在零信任模式下,企业网络内外的任何人、设备和系统都需要“持续验证,永不信任”。基于零信任的理念,市场上发展出三个技术分支:软件定义边界、增强型身份管理和访问控制、微隔离。
NIST(美国国家标准与技术研究院)在《零信任架构》白皮书中指出:
零信任(Zero Trust,ZT)提供了一系列概念和思想,在假定网络环境已经被攻陷的前提下,当执行信息系统和服务中的每次访问请求时,降低其决策准确度的不确定性。零信任架构(ZTA)则是一种企业网络安全的规划,它基于零信任理念,围绕其组件关系、工作流规划与访问策略构建而成。因此,零信任企业是作为零信任架构规划的产物,是针对企业的网络基础设施(物理和虚拟的)及运营策略的改造。
国外知名IT咨询机构Gartner指出:
零信任网络访问(Zero Trust Network Access,ZTNA)也称为软件定义边界(SDP),是围绕某个应用或一组应用创建的基于身份和上下文的逻辑访问边界。应用是隐藏的,无法被发现,并且通过信任代理限制一组指定实体访问。在允许访问之前,代理会验证指定访问者的身份、上下文和策略合规性。这个机制将把应用资源从公共视野中消除,从而显著减少攻击面。
中国通信标准化协会(CCSA)的行业标准《信息安全技术 零信任参考架构》(T/CIITA 117—2021)中指出:
一组围绕资源访问控制的安全策略、技术与过程的统称,从对访问主体的不信任开始,通过持续的身份鉴别和监测评估、最小权限原则等,动态调整访问策略和权限,实施精细化的访问控制和安全防护。
需要注意,访问控制决策涉及的因素包括但不限于用户身份、设备信息、用户行为、资源状态、威胁情报、访问环境上下文信息等。
对比SDP的架构和NIST的零信任架构,SDP的控制器在功能上类似于NIST的零信任架构的策略决策点(Policy Decision Point,PDP),SDP的连接接受主机(Accepting Host,AH)功能上类似于NIST的零信任架构的策略实施点(Policy Enforcement Point,PEP)。综合SDP的架构、NIST的零信任架构的架构图,以及实践经验,我们认为目前业界对零信任架构的理解正在趋于一致,通用零信任抽象架构如图2-1所示。
其中,零信任安全控制中心组件作为SDP的Controller和NIST的PDP的抽象,零信任安全代理组件作为SDP的AH和NIST的PEP的抽象。零信任安全控制中心的核心是实现对访问请求的授权决策,以及为决策而开展的身份认证(或中继到已有认证服务)、安全监测、信任评估、策略管理、设备安全管理等功能;零信任安全代理的核心是实现对访问控制决策的执行,以及对访问主体的安全信息采集,对访问请求的转发、拦截等功能。
图2-1 通用零信任抽象架构
零信任的核心关键能力主要有以下几个方面。
(1)基础身份安全能力,对用户、设备等统一身份管理和认证能力,并持续评估身份的安全。
(2)资源隐藏能力,在正式授权前保障资源一定程度的不可见性和不可访问性。
(3)访问代理能力,接管每次访问请求,执行访问控制决策,维护安全的访问通道。
(4)动态访问控制能力,依据身份、设备、应用、网络等维度的信任评估,以及访问控制策略等,动态地调整访问控制权限,进行资源的访问授权决策。
(5)持续终端安全能力,对终端的基线检查、入侵检测等检测能力,还有防病毒、漏洞修复等持续安全防护能力。
(6)审计风控能力,对各类用户访问资源的情况进行全面的审计,如操作日志和登录/登出日志、用户日志和管理员日志,集合终端安全、威胁情报等及时发现异常行为。
2019年9月,美国国家标准与技术研究院(NIST)发布了 Zero Trust Architecture (《零信任架构》)草案;2020年2月,NIST对《零信任架构》的草案进行了修订;8月11日,《零信任架构》标准正式发布。《零信任架构》介绍了实现零信任架构的三大技术SIM:IAM(身份管理与访问控制)、SDP(软件定义边界)、MSG(微隔离)。
1.身份管理与访问控制
现代IAM系统使用身份这种唯一用户标识管理用户并将用户安全连接到IT资源,包括设备、应用、文件、网络等。通过IAM系统建立以身份为基础的安全框架,对所有用户、接入设备、访问发起应用等访问主体建立数字身份,进行身份认证,并结合认证结果,实时对访问行为的动态授权和控制。同时在访问过程中,访问主体的行为会被持续评估,一旦发现异常,通过IAM系统动态调整访问控制策略,包括降低访问等级(缩小可访问资源的范围),再次身份认证,甚至切断会话等。
IAM系统提供统一的身份管理、身份认证(支持多因素认证)、动态访问控制、行为审计、风险识别等核心能力。
2.软件定义边界
软件定义边界(SDP)是云安全联盟(CSA)于2014年提出的新一代网络安全架构。《软件定义边界(SDP)标准规范1.0》给出SDP的定义:“SDP旨在使应用程序所有者能够在需要时部署安全边界,以便将服务与不安全的网络隔离开来,SDP将物理设备替换为在应用程序所有者控制下运行的逻辑组件并仅在设备验证和身份验证后才允许访问企业应用基础架构。”
SDP架构主要包括三大组件:SDP控制器(SDP Controller)、SDP连接发起主机(Initial Host,IH)、SDP连接接受主机(Accept Host,AH)。SDP控制器确定哪些IH、AH可以相互通信,还可以将信息中继到外部认证服务。IH和AH会直接连接到SDP控制器,通过控制器与安全控制信道的交互来管理用户访问。该结构使得控制层能够与数据层保持分离,以便实现完全可扩展的安全系统。此外,所有组件都可以是冗余的,用于扩容或提高稳定运行时间。
3.微隔离
微隔离(Micro Segmentation,MSG)本质上是一种网络安全隔离技术,能够在逻辑上将数据中心划分为不同的安全段,安全段可以精确到各个工作负载(根据抽象度的不同,工作负载分为物理机、虚拟机、容器等)级别,然后为每个独立的安全段定义访问控制策略。微隔离主要聚焦在东西向流量的隔离上,一是有别于传统物理防火墙的隔离作用,二是更贴近云计算环境中的真实需求。
微隔离将网络边界安全理念发挥到极致,将网络边界分割到尽可能小,能很好地缓解传统边界安全理念下边界内过度信任带来的安全风险。
微隔离本身也在发展过程中,目前业界有很多厂商正在基于微隔离的技术思路来实现零信任理念的落地,微隔离管理中心扩展为零信任安全控制中心组件,微隔离组件扩展为零信任安全代理组件,并开发出了相关的零信任安全解决方案和产品。因此,微隔离适应一定的应用场景,其自动化、可视化、自适应等特点也能为零信任理念发展带来一些好的思路。
信任评估算法主要用来评估访问过程关键对象的安全风险,评估结果用来做资源访问的授权、阻断、二次身份挑战等。
常见的信任评估算法有基于条件、基于评分等不同方法。基于条件,满足一定的组合属性条件,才授予资源访问。基于评分,主要是对不同安全等级的资源的访问进行区别管理,如满足一定的分数或安全等级授予什么样安全等级的服务资源访问,什么样的安全等级或分支范围则要做对应的安全操作才可以访问,或者直接阻断访问。
评估可以在每次访问时单独计算,也可以基于用户或应用等的上下文历史信息综合判断。每次单独计算,如来一个新的访问校验当前相关的安全风险等级或安全条件是否满足,满足就放行,只计算当前的安全数据信息。上下文历史信息安全分析,如根据用户、设备、网络等安全风险相关历史上下文的信息判定计算当前的访问是否有权限,如可以根据用户访问时间历史数据,判定是否是异常时间点登录之类的场景,并联动访问阻断。