摘要:在NIST零信任架构中,企业收集有关资产、网络基础设施和访问会话的当前状态,通过安全态势分析为动态自适应安全访问提供决策依据,并按照统一的安全策略要求,部署适当的安全控制来改善网络安全状况。为了应对网络安全态势的变化,研究适用于零信任架构的安全控制自动化方法,本文对安全基线、安全控制管理、安全内容自动化等领域的典型技术进行了研究和介绍,为零信任架构的安全控制自动化提供参考。
关键字:零信任;态势评估;安全自动化;检查清单
一、零信任的安全控制
在传统的网络安全解决方案中,各种安全产品为企业网络提供了不同层次、不同强度的安全控制能力,形成了烟囱式的网络安全防护体系,如终端安全中的漏洞/补丁管理、反病毒系统,网络安全中的网络防火墙、入侵检测系统,数据安全中的文件加密、数据溯源等。零信任安全架构通过身份、环境、动态权限等层面的安全定义,缓解身份滥用、高风险终端、非授权访问等安全风险,建立端到端的动态访问控制机制,极大收缩攻击面,为网络基础设施和信息安全建设提供新的理论和实践支撑。
在零信任体系架构下,复杂多变的业务环境、多样化的用户设备类型和数量都增加了数据暴露的风险,创建和保持安全策略的一致性成为了非常困难的事情。在访问控制策略中,通过实时地识别威胁、自动调整访问授权,以响应不断变化的风险因素,是零信任访问控制的主要目标。但除此之外,还要考虑企业IT环境中安全控制的组成、分布和协同管理,以满足零信任架构中不同企业规模、资源分布以及敏感性要求。
在《服务访问过程的持续保护指导》中,ITU-T定义了针对服务访问过程的持续保护参考框架,将动态保护指令(如切断/恢复访问连接、合规修复等)纳入零信任的安全控制中,不同的动态保护指令由处于不同位置的PEP组件来解释执行。但由于安全控制组件的复杂多样性,零信任解决方案如何为不同的安全控制组件提供统一的管控机制,并提高控制部署效率,是当前需要关注并解决的重要问题。
在持续自适应风险与信任评估(CARTA)中,Gartner提出了一个自适应安全防护框架,提供覆盖业务访问流程的安全评估与控制能力,其中集成了威胁情报、行为特征分析、大数据、人工智能、态势评估等技术。CARTA是一个动态权衡的过程,能利用各种安全数据,对访问行为、API调用、网络活动等进行持续评估,动态做出安全决策,包括允许/阻断访问,或是介于允许和阻断之间的某种动作(如继续评估、允许但只读、允许并记录等)。
在NIST提出的零信任架构中,安全控制组件要实现对应用、服务、数据的持续保护,也需要围绕用户访问过程,持续监控和访问相关的所有实体,分析影响访问安全的态势变化,以便对用户的访问行为、系统的安全防护措施做出及时有效的控制和部署。
二、安全内容自动化协议
安全内容自动化协议(SCAP,Security Content Automation Protocol)是NIST为实现安全控制自动化提出的一套协议/规范框架,其目的是实现系统安全管理的标准化,促进安全产品的互操作性,其内容覆盖自动化配置、漏洞和补丁检查、安全控制合规和安全测量等领域。
SCAP期望通过一系列的标准化格式,实现软件缺陷和安全配置的标准化,解决人机之间安全内容传递、交互的标准化问题,包括:
● 实现高层政策法规(如FISMA,ISO27000系列)的落地实施;
● 对信息安全内容及其要素的标准化(如漏洞的统一命名及严重性度量);
● 复杂系统配置的自动化核查及处理。
1
SCAP协议框架
SCAP框架包含协议(Protocol)与内容(Content)两个层面:协议是指SCAP所包含的一系列标准(称为SCAP元素),用于规范元素(Element)之间的协同交互方式;按照协议约定,通过元素所描述的具体数据,即为内容。例如,联邦桌面核心配置(FDCC,Federal Desktop Core Configuration)、美国政府配置基线(USGCB,United States Government Configuration Baseline)等检查清单和数据格式均为SCAP内容。
2
SCAP元素
为实现安全工具数据交换的标准化,SCAP(当前版本v1.3)在其设计发展过程中,吸纳了许多已有的工业标准,包括数据输入/输出格式、数据处理方法等,如CVE。按照不同元素/协议的功能,SCAP元素可以分为语言类、枚举类和度量类3种类型。SCAP的典型元素如图1所示。
● 语言描述类,用来描述评估内容和评估方法的标准,包括XCCDF、OVAL、OCIL等;
● 命名枚举类,用于描述对评估对象或配置项命名格式,并提供遵循这些命名的库,包括CVE、CCE、CPE等;
● 评分度量类,提供了对评估结果进行量化评分的度量方法,包括CVSS、CCSS和CMSS。
图1 SCAP的元素组成
(1)描述语言类
开放式漏洞与评估语言(OVAL,Open Vulnerability and Assessment Language)是一种基于XML的用来定义检查项、漏洞等技术细节的描述语言,用于分析各种操作系统的系统状态、漏洞、配置、补丁等情况,也可以用于描述测试报告。
可扩展配置检查清单描述格式(XCCDF,Extensible Configuration Checklist Description Format,NISTIR 7275)是一种基于XML的安全检查单、安全基线描述语言,其设计目标是能够支持与多种基础配置检查技术的交互,默认的检查描述技术为OVAL。
开放式检查清单交互语言(OCIL,Open Checklist Interactive Language,NISTIR 7692)用来处理安全检查中需要人工(非自动化)交互才能完成的检查项,可以弥补OVAL的不足。
图2 XCCDF、OVAL与OCIL的关系
资产标识(AI,Asset Identification,NISTIR 7693)为企业资产提供唯一标识符的创建和识别方法。
软件标识符(SWID,Software Identification,ISO/IEC 19770-2:2015)提供了一种透明的安装软件追踪方法,可以帮助组织跟踪它们在托管设备中安装的软件信息,包括与软件特定版本相关的详细描述。
资产报告格式(ARF,Asset Reporting Format,NISTIR 7694)提供了与资产和资产报告相关的数据模型(包括报告与资产的关系),方便资产信息的跨企业自动化交互。
安全自动化数据的信任模型(TMSAD,Trust Model for Security Automation Data,NISTIR 7802)提供了适用于安全自动化相关标准(如SCAP)的通用信任模型,通过安全自动化领域的相关XML以及已有的相关标准,来表示数字签名、哈希、密钥、以及身份信息等,保护安全自动化数据的完整性、真实性和不可否认性。
(2)命名枚举类
命名枚举类,用于描述对评估对象或配置项命名格式,主要包括CVE、CCE、CPE等。
通用漏洞披露(CVE,Common Vulnerabilities and Exposures,ITU-T X.1520)规范了漏洞编号、描述和参考资料3种基本信息,以及CVE数据库之间的兼容性要求。
通用平台列表(CPE,Common Platform Enumeration)是描述和标识计算机资产(包括应用软件、操作系统和硬件设备)类的通用方法(当前版本2.3),包含以下相关标准:
● 命名规范(Naming Specification,NISTIR 7695),定义规范化的命名(WFN,Well-formed Name)结构、URI绑定格式及转换方法;
● 名称匹配规范(Name Matching Specification,NISTIR 7696),定义了WFN的比较方法;
● 字典规范(Dictionary Specification,NISTIR 7697),定义了CPE字典的概念,即CPE命名和元数据的存储库,以及如何使用该字典;
● 适用性语言规范(Applicability Language specification,NISTIR 7698)定义了用WFN组合来表达适用范围的方法。
通用配置列表(CCE,Common Configuration Enumeration)为安全相关的软件配置项提供唯一标识符,以便在不同的安全工具中精确地交换配置信息。
(3)评分度量类
SCAP的评分度量算法主要源自现有的漏洞评分算法,对漏洞、配置项、软件特性误用等安全内容的严重程度进行量化度量,主要包括通用漏洞评分系统(CVSS,Common Vulnerabilities Scoring System)、通用配置评分系统(CCSS,Common Configuration Scoring System)和通用误用评分系统(CMSS,Common Misuse Scoring System)。
CVSS评分指标由基准指标组、时间指标组和环境指标组3部分构成,其中基准指标组包含3个指标集:可利用性指标(主要考虑与攻击成功直接相关的那些漏洞特性)、影响性指标(从机密性、完整性和可用性方面,衡量漏洞被成功利用后对目标产生的直接最坏影响)和范围指标(主要考虑漏洞是否会影响其安全范围以外的资源);时间指标主要反映漏洞利用技术和工具的进展情况、漏洞解决办法和补丁发布情况,以及漏洞相关资料的可信度;环境指标是基准评分的变形,根据受影响的IT资产对企业组织的重要性,根据已有的安全控制措施,从机密性、完整性和可用性方面修正CVSS评分。
CVSS能够针对上述各项评估指标给出相应的量化数据,属于定量的严重性评估方法。在评估漏洞严重性时,使用者只需提供相应指标的评标值,CVSS算法根据该指标配置自动计算漏洞评分(值域[0,10.0])。
CCSS和CMSS作为对CVSS的有效补充,主要解决软件安全配置和特性误用的脆弱性评估问题。这三种脆弱性评分系统采用了相同/相近的理念、维度和算法来分析、计算软件的脆弱性分值和等级。表1汇总对比了CVSS(v2.0)、CCSS和CMSS的指标情况。
对于基准指标,上述三个规范使用相同的6个指标和计算公式,但CCSS和CMSS对每个指标的含义进行了调整,以符合其涵盖的软件缺陷类型。特别是,CCSS区分了配置缺陷的利用方式:主动利用或被动利用。主动利用是指攻击者执行某些操作,以利用该缺陷,而被动利用指的是通过该配置项缺陷使授权机制失效。例如,能够阻止审核日志生成安全事件的配置项。CCCS出于利用难易程度的差异,才将基准指标的可利用性分为主动或被动。
在时间和环境指标方面,CMSS和CCSS虽然参考了CVSS,但仍存在较大差异。CVSS中的时间指标主要考虑漏洞利用工具的研制进展、补救措施(例如补丁),以及漏洞存在的可信度。然而CMSS和CCSS所针对的软件缺陷,可以在不使用Exploit代码的情况下利用,而且CMSS缺陷和大多数CCSS缺陷并不存在完整的补救措施,所以CMSS和CCSS的时间指标集与CVSS大不相同。
CMSS和CCSS的环境指标比CVSS要复杂得多。除了沿用CVSS的3个指标“潜在附带损害”、“目标分布(更名为本地发生率)”和“安全需求”之外,CMSS和CCSS还额外增加了两个指标:目标价值(反映攻击者如何看待该环境中的目标价值),补救级别(反映环境中补救措施的有效性)。
表1 CVSS、CCSS和CMSS指标汇总
指标组 | CVSS指标(V2.0) | CCSS/CMSS指标 |
基准指标 | 访问向量 | 访问向量 |
访问复杂性 | 访问复杂性 | |
认证 | 认证 | |
机密性影响 | 机密性影响 | |
完整性影响 | 完整性影响 | |
可用性影响 | 可用性影响 | |
时间指标 | 可利用性 | 一般利用级别 |
修复级别 | 一般修复级别 | |
报告可信度 | / | |
环境指标 | 潜在附带损害 | 潜在附带损害 |
目标分布 | 本地发生率 | |
机密性需求 | 机密性需求 | |
完整性需求 | 完整性需求 | |
可用性需求 | 可用性需求 | |
/ | 目标价值 | |
/ | 补救级别 |
3
SCAP内容
SCAP内容是指按照SACP相关协议创建,用于各种安全检查的配置文件和数据,这些内容主要来自各官方组织、机构所制定的顶层安全策略。
(1)安全技术实现指南
安全技术实现指南(STIG,Security Technical Implementation Guide),由美国国防信息系统局(DISA)制定,用于指导组织对计算机进行配置及管理,保证设备的硬件和软件尽可能的安全,从而保护美国国防部(DoD)的IT网络和系统。
STIG是对国防部机构内部部署的IT产品的安全要求,连接到国防部系统或网络的组织必须符合STIG标准,包括国防机构、连接到国防部系统的国防承包商以及其他组织机构。到目前为止,DISA已经发布了数百个STIG,涵盖网络、操作系统、网络设备、软件等一系列软硬件设备安全配置。
(2)美国政府配置基线
美国政府配置基线(USGCB,United States Government Configuration Baseline)是美国联邦政府组织制定的安全配置,用于指导各政府机构对桌面系统等进行安全配置。USGCB起源于联邦桌面核心配置(FDCC,Federal Desktop Core Configuration),是在美国政府支持下建立的桌面系统(Windows XP、Windows Vista等)相关安全基线要求规范,并通过自动化的工具进行检查。
FDCC基于国家漏洞数据库(NVD,National Vulnerability Database)、国家检查清单计划(NCP,National Checklist Program)等内容进行基线安全核查。NVD和NCP为自动化漏洞管理、安全评估和合规性检查提供数据支撑,包含安全核查清单、软件漏洞、配置错误以及量化影响等。
(3)CIS安全基线
互联网安全中心(CIS,Center for Internet Security)提供了针对各种软硬件系统的基线检查清单,并针对不同基线提供了与CIS Control之间的映射。CIS基线涵盖的内容包含了目前主流的软硬件系统,如:
● 操作系统。Linux、Windows、Unix、IBM;
● 服务器软件。Web、虚拟化服务器、数据库、DNS、认证;
● 云服务。Alibaba、AWS、Google、Azure、Oracle;
● 移动设备。Android、IOS;
● 网络设备。Cisco、Checkpoint、Juniper、Palo Alto;
● 桌面软件。Chrome、MS Office、IE、Firefox、Safari。
三、安全控制的自动化
SCAP协议为安全工具的内容交互提供了丰富的数据描述格式,也为安全控制的自动化奠定了基础。在零信任架构中,网络安全控制应根据网络安全态势、用户访问上下文的变化,对用户行为、设备资源进行动态有效地控制,以确保安全策略的有效实施。
在“权说安全”公众号中,《零信任态势评估:CIS安全控制内容与实施》一文曾介绍了CIS安全控制(CIS Control)的相关内容。需要说明的是,CIS安全控制是CIS为企业网络安全所提出的控制措施,这些措施能够有效提高企业网络安全状况,但其庞大复杂的控制清单和内容并不适合在零信任的安全访问过程中实施,如何利用SCAP将相应(或类似的)安全控制转化为轻量化的零信任安全控制,并通过动态策略实现安全控制自动化是未来零信任实施方案需要关注的一个问题。