2.7 网络韧性架构
网络韧性架构,即CR架构,CR是网络韧性(Cyber Resilience)的缩写,由美国国土安全部提出并写入总统策略指令(Presidential Policy Directive 21,PPD-21)。网络韧性架构提出之后,迅速获得大家认可,并在不断发展,该架构基本上将信息安全、业务连续性和企业人员组织弹性结合在了一起。网络韧性架构的目标是使整个网络始终保持提供预期结果的能力,这意味着即使在常规运行机制失败时,在遭遇安全灾难或受到攻击之后,整个网络依旧可以正常运行。最新的网络韧性架构的技术框架由NIST于2018年提供,技术点如下。
·自适应响应(Adaptive Response):通过敏捷的网络行动方案来管理风险。自适应响应包括如下几个方面:动态更改配置,如动态改变路由、IPS(Intrusion Prevention System,入侵防御系统)、防火墙、网关等参数规则;动态分配资源,如负载均衡、熔断机制、调整服务、通信优先级等;自适应管理,如根据运营、环境威胁的变化来动态调整授权和访问权限,自动关闭系统,以及对资源进行动态部署和替换。
·监控分析(Analytic Monitoring):持续和协调地监控和分析各种属性和行为。监控分析包括如下几个方面:进行监测和损失评估,如漏洞扫描、通过IDS(Intrusion Detection System,入侵检测系统)检测、恶意软件检测、开源信息监控;进行综合数据分析,如对安全意识、安全审计、日志收集等进行分析;进行取证分析,如分析员工行为、通过安全逆向技术进行取证分析等。
·协调保护(Coordinated Protection):确保保护机制以协调有效的方式运作。协调保护包括如下几个方面:纵深防御,如设计纵深防御化系统,结合网络、主机、应用层的入侵检测,以及三权分立与多因素认证功能实现对敏感和重点资产的强化保护;一致性分析,确定是否以及如何以协调一致的方式进行防护,最大限度地减少干扰、潜在的级联故障并减小覆盖差距;安全编排,使用剧本(Playbook)协调各安全组件;红蓝对抗,通过红蓝对抗来检测防护的有效性并持续改进防护措施。
·欺骗防御(Deception):误导攻击者,隐藏关键资产或将隐蔽的受污染资产暴露给对手。进行欺骗防御可以使用如下几个手段:混淆手段,如数据加密、传输加密、特征匿名、Hash加密;虚假信息,如诱饵;误导手段,如蜜罐网络;污染手段,如部署蜜签信标、延缓对手入侵时间、增加响应时间、增强入侵发现概率、浪费对手资源。
· 多样性(Diversity):使用异构性来最小化通用模式故障,尤其是使通用漏洞攻击造成的故障最小化。多样性包括如下几方面:架构多样性,如使用不同的CPU、OS(系统)、Web Server (Web服务器)、Web Framework(Web框架);设计多样性,如使用不同的编程语言;合成多样性,如使用内存地址空间随机化、编译随机化;信息多样性,如使用不同的数据源;路径多样性,如可以使用普通宽带和卫星通信,还有多种通信协议;供应链多样性,如使用不同供应商的产品。多样性可以避免单一化造成的通用漏洞带来毁灭性的打击。
·位置变换(Dynamic Positioning):分布式动态化重定位功能和系统资源。位置变换包括如下几个方面:探头(Sensor)位置变换,如更改IDS等部署位置;资源位置变换,如变换虚拟机到不同的物理设备上;资产移动,如安全移动Wi-Fi、将存储设备从一个房间移动到另一个房间;碎片化,如将数据存储在分布式数据库上;分布式化,如在不同的物理设备和组件上进行分布式处理和存储。
·动态呈现(Dynamic Representation):基于网络事件和网络行动过程呈现当前任务或业务功能状态。动态呈现包括如下几个方面:动态地图和画像,如综合的实时态势感知;动态化威胁模型,如跟踪预测即将发生的自然灾害、动态提取事件和威胁数据、促进综合的威胁态势感知;将任务依赖和状态可视化,以构建全局视角。
·非持久性(Non-Persistence):根据需要在有限的时间内生成和保留资源。非持久性包括如下几个方面:信息非持久性,如删除处理过的高价值信息、将离线审计记录到离线存储;服务非持久性,如基于时间或活跃性的会话超时;连接非持久性,如基于时间和活跃性的网络断连。
·权限限制(Privilege Restriction):根据用户和系统元素的属性以及环境因素限制权限。权限限制包括如下几方面:基于可信的权限管理,如最小权限原则;基于使用属性的限制,如基于角色的权限访问控制(RBAC)、基于属性的访问控制(ABAC);权限动态化,如基于用户的行为和环境上下文感知动态增加或降低权限。
·整治(Realignment):使系统资源与组织任务或业务功能的核心方面保持一致。整治包括如下几个方面:用途变更,如使用白名单机制阻止安装游戏等与工作无关的应用,确保特权账号不被用于无权限功能;减负,如将非必要服务外包给托管服务提供商,对外部系统服务施加要求并对其进行监督;限制,如删除或禁用不需要的功能或连接,或者添加相应的机制以降低漏洞或故障发生的可能性;替换,如替换不再支持的系统和组件以减少风险;定制化,如修改、增强或配置关键任务或业务功能的关键网络资源,以提高可信度。
·冗余(Redundancy):提供多个受保护的关键资源实例。冗余包括如下几个方面:备份和恢复的保护,保证数据和软件备份的机密性、完整性、真实性,并能够在发生破坏事件时迅速恢复;容量冗余,保持额外的信息存储、处理和通信能力;同步复制,在多个位置部署硬件、服务、备份,并使其保持同步。
·分段(Segmentation):根据关键性和可信度定义和分离系统元素。分段包括如下几个方面:预定义分段,如硬件层的Enclave、TPM(Trust Platform Module,可信平台模块)、TEE(Trusted Execution Environment,可信执行环境),系统层的虚拟化、沙箱;动态分段和隔离,如动态配置Enclave以及网络层的SDN和VPN等。
·证实可信性(Substantiated Integrity):确定关键系统元素是否已损坏。证实可信性包括如下几个方面:可信性检查,应用并验证信息、组件、服务的完整性或进行质量检查;溯源追踪,识别并跟踪数据、软件、硬件组件的来源,如代码签名、供应链追踪;行为验证,根据预定义验证系统、服务、设备的行为,如通过UEFI(Unified Extensible Firmware Interface,统一可扩展固件接口)对系统进行完整性校验、通过模糊测试(Fuzz测试)进行基于故障注入的异常处理监测。
·不可预测性(Unpredictability):随机或不可预测地进行更改。不可预测性又包括如下几个方面:时间不可预测性,如随时抽查;方式不可预测性,如轮换角色和职责。通过不可预测性活动可以检验整体的可靠性。
网络韧性架构基于入侵的不可避免性,从如何在遭到入侵后依然能够保证不至于受到毁灭性打击的角度来部署网络安全。它一方面强调系统增强自己的抗打击能力,另一方面强调系统要在遭到破坏后具备快速的恢复能力,是在原有安全容忍(Fault Tolerance)架构基础上的进一步发展。