前言
随着组织将数据转移到云端以便于处理、存储和共享,云上数据的安全性日益重要,云安全的状况引起了美国NSA的密切关注。2024年3月7日,美国NSA发布了一系列关于云安全的战略,指导组织为其云环境保持良好的网络安全实践。这些安全实践来自于对近期网络攻击事件的观察,美国家安全局将这份“十大”策略指南称之为“改善云环境安全状况的最重要实践。网络安全和基础设施安全局(CISA)与NSA一起成为十项战略中的六项战略的合作伙伴。我们可以深入了解一下这些缓解策略,为我国安全从业人员及用户组织建设云上安全提供借鉴意义。另外,**为了提高云用户的网络安全性,文中多次提到,零信任原则将是最佳实践,这也要引起我们的高度关注。**在前文(美国家安全局发布云安全缓解策略十大要点 (上))中我们介绍了前五项措施,本文我们将会继续介绍后五项。
缓解策略6:保护CI/CD环境安全(与CISA联合)
CI/CD是DevSecOps实践的关键组成部分,它通过自动化软件的集成、测试、交付和部署,帮助组织快速响应市场变化和客户需求。CI/CD管道作为软件供应链中一个独特且独立的攻击面,需要特别的关注和保护。通过实施一系列推荐的缓解措施,组织可以提高其CI/CD环境的安全性,防止恶意网络行为者的攻击,并确保其网络安全姿态的强度。
1. CI/CD面临的安全威胁和攻击面:
CI/CD面临的威胁包括不安全的代码、管道执行中毒、不足的访问控制、系统配置不安全、第三方服务的不安全使用和秘密泄露。下图给出了CI/CD管道面临的威胁。
图:CI/CD管道面临的威胁
**不安全的代码(Insecure Code):**由授权开发者提交的代码可能包含未被检测到的安全相关漏洞。这些漏洞可能是由于开发者的疏忽或安全工具的不足而未被发现。这些代码缺陷可能包括缓冲区溢出、格式化字符串漏洞和不当的错误处理等,这些都可以被攻击者利用。
**管道执行中毒(Poisoned Pipeline Execution):**MCAs可能滥用源代码管理仓库中的权限,操纵构建过程,注入恶意代码或命令,使得在构建过程中执行恶意代码。
**不足的管道访问控制(Insufficient Pipeline Access Controls):**MCAs可能利用访问控制权限的不足,获取对源代码仓库或构建工具的未授权访问,进而向应用程序中注入恶意代码。
**不安全的系统配置(Insecure System Configuration):**CI/CD环境中可能存在各种基础设施、网络和应用程序配置的漏洞,这些漏洞可能容易受到已知的利用技术的影响。
**不安全的第三方服务使用(Usage of Insecure Third-Party Services):**外部个人或组织创建的服务可能故意或疏忽地包含安全漏洞,MCAs可以利用这些服务引入安全弱点到CI/CD管道中。
**秘密泄露(Exposure of Secrets):**CI/CD工具需要使用大量的密钥和密码来访问敏感资源,如数据库和代码库。如果这些秘密被不当管理或暴露,攻击者可能会利用它们来获取初始访问权限或执行其他恶意活动。
2. 三种潜在的CI/CD环境面临的威胁场景及其缓解措施:
下面描述了三种潜在的CI/CD环境面临的威胁场景,并为每个场景提供了相应的缓解措施:
威胁场景1:开发者凭证被盗
**描述:**恶意行为者可能通过盗取开发者的凭证(例如个人访问令牌、SSH密钥、浏览器cookie或登录密码)来访问Git仓库服务。攻击者可能会针对源代码仓库的有效账户、CI/CD服务的有效账户或托管源代码仓库的服务器的有效管理员账户。
缓解措施:
最小化长期使用凭证的使用。
对所有代码更新实施两人规则(2PR)。
保护用户账户,例如通过定期审计和使用最小权限原则。
实施网络分段和流量过滤,以限制对敏感系统的访问。
威胁场景2:供应链攻击
**描述:**应用程序库、工具或容器镜像在CI/CD管道中被供应链攻击者破坏,导致DevSecOps环境被投毒。
缓解措施:
限制使用不受信任的库和工具。
分析提交的代码,确保其安全性。
实施端点检测和响应(EDR)工具以及审计。
保持CI/CD工具和操作系统的最新状态,及时修补已知漏洞。
威胁场景3:CI/CD环境的供应链破坏
**描述:**CI/CD环境的供应链被攻击者破坏,可能导致修改CI/CD配置、向基础设施即代码(IaC)配置中注入代码、向源代码中注入恶意代码或注入恶意或易受攻击的依赖项。
缓解措施:
分析提交的代码,确保其未被篡改。
将安全扫描集成到CI/CD流程中,以便在早期阶段检测安全漏洞。
保留审计日志,以便在发生安全事件时进行调查和响应。
实施EDR工具,以监控和保护端点的安全。
对CI/CD配置添加签名并验证,确保代码的完整性和来源的真实性。
实施软件材料清单(SBOM)和软件组成分析(SCA),以跟踪和管理代码库中的第三方组件。
下图使用 Amazon Web Services (AWS) 中托管的 CI/CD 管道范例并使用常见的 AWS 服务说明了不同的攻击媒介。将安全扫描集成为 CI/CD 管道的一部分。同样,这些攻击媒介通常适用于其他 CI/CD 管道,无论是托管在云端还是本地。
图:AWS CI/CD管道中的不同攻击媒介
3. 主动缓解策略(Active hardening ):
NSA和CISA建议组织实施以下的主动缓解措施来保护CI/CD环境。其中使用零信任方法将有助于侦察和防止成功破坏环境。
身份验证和访问缓解:
使用NSA推荐的加密技术
最小化长期凭证的使用
代码更新采用两人规则(2PR)
CI/CD访问的最小权限策略
安全用户账户
安全秘密管理
网络分段和流量过滤
开发环境缓解措施:
保持软件和操作系统更新
保持CI/CD工具更新
移除不必要的应用程序
集成端点检测和响应(EDR)工具
开发过程缓解措施:
将安全扫描集成到CI/CD管道中
限制不可信库和工具
分析提交的代码
移除临时资源
保留审计日志
实施软件材料清单(SBOM)和软件成分分析(SCA)
缓解策略7:使用基础设施即代码实施安全的自动化部署实践
基础设施即代码(Infrastructure as Code,简称IaC)是一种管理IT基础设施的方法,它将基础设施的配置和部署过程自动化,并通过代码的形式来定义和管理这些资源。这种方法使得基础设施的创建、修改和销毁可以通过编程的方式进行,就像软件开发中使用版本控制系统管理代码一样。IaC的核心优势在于它提供了一种声明式的配置方法,允许开发者和运维人员使用熟悉的编程语言和工具来管理和部署基础设施。这种方法提高了部署的速度和一致性,减少了人为错误的可能性,并且通过版本控制和自动化测试,增强了安全性和合规性。
随着云计算的普及和企业对敏捷性和效率的需求增加,IaC已经成为云行业的一个重要组成部分。云服务提供商(CSPs)提供了内置的IaC服务,同时市场上也有许多开源和商业的IaC工具,这些工具可以跨云平台和本地环境使用。IaC的使用可以消除手动部署带来的错误和安全隐患,保护资源免受未监控的变更,并通过漂移检测和标签化来标准化资源,从而简化灾难恢复工作和访问控制管理。
在实施基础设施即代码(IaC)时,组织在部署前后应该考虑如下的关键步骤和最佳实践。这些考虑事项旨在确保IaC模板的安全性和有效性,以及资源的正确管理和保护。以下是详细的部署考虑事项:
图:部署注意事项
1. 部署前考虑事项:
**创建威胁模型:**在起草IaC模板之前进行威胁建模,以了解可能对IaC模板构成威胁的因素、潜在的攻击向量,以及可以实施的安全控制措施,如访问控制和版本控制。威胁建模有助于采取积极的安全措施,确保在资源上线前覆盖所有潜在的安全漏洞。
**确定适当的IaC风格:**根据组织的需求和对正在部署资源的熟悉程度,确定使用声明式还是命令式IaC模板。声明式IaC模板定义了资源的期望最终状态,而命令式IaC模板则描述了资源的具体配置步骤。
**运行静态应用安全测试:**在部署模板之前,进行静态分析以检测资源配置错误、合规性和安全漏洞。使用预设的策略作为代码标准的工具来检查常见的安全配置错误,如过度宽松的访问权限、开放的防火墙规则、不安全的协议使用和明文秘密。
**启用版本控制:**对模板文件启用版本控制,以便更容易跟踪更改,并在需要时回滚到之前的工作状态。版本控制还创建了可审计的记录,确保对基础设施资源的修改负有责任。
**集成CI/CD:**将现有的持续集成/持续交付(CI/CD)流程用于IaC模板,实现模板资源的自动化部署。确保模板经过适当的安全测试阶段,并在发现任何问题时停止部署。
2. 部署后考虑事项:
**进行动态应用安全测试:**对由IaC部署创建的资源进行动态测试,确保它们按预期运行,并妥善处理所有已识别的威胁向量。
**启用访问控制:**对IaC模板文件本身启用访问控制,限制谁可以更改IaC代码。应使用多因素认证或双人完整性检查等方法严格控制对模板的访问。
**避免手动更改:**一旦部署了IaC模板,应避免手动更新资源,以防止资源漂移。所有更新应通过模板文件进行,经过测试后重新部署。
**启用持续的日志记录和监控:**通过IaC模板部署的资源应启用日志记录,并持续监控以检测未经授权的更改。
**审计IaC模板的更改:**审计对IaC模板的更改,确保所有更改都经过适当的审查和批准。
缓解策略8:考虑混合云和多云环境带来的复杂性
混合云是指同时使用私有云和公共云服务的计算环境。私有云(也称为本地解决方案)是为单一公司提供的专用基础设施,而公共云则是为多个组织提供的共享资源。多云环境则涉及从不同的云服务提供商那里获取多个服务。组织在将基础设施部署到云上时,经常会发现自己会使用私有云、公有云、多云或者混合云这些解决方案中的一个或两个。对于组织来说,管理多个云环境和混合云可能成为一项繁重的任务。
组织在混合云和多云环境的复杂性中面临的挑战,包括不同云供应商的操作差异、数据流维护、用户访问控制、统一视图缺失、合规性挑战、云安全专业知识缺乏。下面具体给出了缓解解决这些常见复杂性问题的安全建议:
1. 操作复杂性:
公共云和私有云的差异性导致维护人员知识和技能的差距。由于单一个人或团队只维护一个环境,那么多云环境可能导致运营孤岛。可以采取的缓解措施:通过标准化云操作和使用IaC解决方案来解决操作复杂性。统一管理平台帮助从中心位置管理资源。持续进行云培训,以维持良好的安全姿态。
2. 网络保护:
在混合云和多云环境中,会存在多个资料流。组织可以采用零信任方法,最小化环境间数据流,仅允许组织策略定义的路径。网络配置错误也可能导致多个云端租户以及客户的本地环境的数据泄露。所有网络通信应使用CNSA认证算法。参考缓解策略4,如实施网络分段和加密。
3. 身份和访问管理(IAM):
身份和存储管理因云供应商不同而不尽相同,这给是混合云端和多云环境带来了挑战。在不同的环境中维护使用者身份或维护提供者之间的安全互通,同时维护最小特权原则,这个要求很高。身份服务器常被攻击者作为获取访问本地和云环境凭证的目标。对于联合身份用于混合云和多云环境,使用共同凭证访问多个账户和域的安全风险,缓解措施考虑采用云基础IDaaS解决方案,集中管理多个资源的账户。同时考虑认证机制和认证信息的存储保护,遵循NIST SP 800-63系列指南。
4. 访问管理:
云供应商使用RBAC或ABAC进行资源访问管理。云供应商特定的IAM工具并不适用于其他平台。理想情况下,访问控制策略应在多个平台上统一定义。IaC用于从中心位置创建、部署和维护多个云环境的RBAC和ABAC策略。
5. 日志和监控:
日志和监控对于跟踪网络威胁至关重要。混合云和多云环境中的威胁狩猎和用户活动跟踪可能变得困难。建议使用SIEM和SOAR技术进行集中式日志管理和实时监控。可以考虑使用机器学习异常检测用于识别与既定行为模式的偏差。
6. 灾难恢复:
云供应商有自己的内部系统灾难恢复方法,可能影响组织的恢复目标。多云计算解决方案允许在不同云环境中快速启动备份,以避免灾难恢复问题。组织应避免供应商锁定,确保多个云环境的冗余。
7. 维护合规性和治理:
确保混合云和多云环境中的合规性标准得以满足。策略即代码可以用于编写跨云端账户的安全性和合规性的最佳实践。云无关的策略即代码解决方案允许在现有云部署操作中创建政策,确保所有环境保持合规。
缓解策略9:降低云环境中托管服务提供商的风险(与CISA联合)
在云环境中使用托管服务提供商(MSP)时可能引入的风险,并提供了五种重要的考虑方面来帮助组织减轻这些风险。
1. 执行尽职调查:
云安全是所有利益相关者共同的责任,包括第三方服务如MSPs。恶意网络行为者可能会针对MSPs,利用它们来攻击客户。MSPs通常需要访问客户的敏感数据和资源,很多时候这包括特权访问权限。一旦MSPs被攻击者破坏,攻击者可能利用这些访问权限进一步侵入客户的环境。组织需要了解MSPs如何保护自己免受攻击,包括它们采取的安全措施和最佳实践。这可能涉及到对MSPs的安全政策、技术控制和操作流程的审查。组织应该审计MSPs在其云租户中的活动,确保这些活动符合预期的操作范围,并且没有可疑或不当的行为。这可能包括监控MSPs的登录、配置更改和其他关键操作。
图:MSP对组织攻击面的影响
2. 在选择MSP时考虑安全因素:
选择MSP时,组织应将安全和风险管理视为其标准的一部分。选择可提供其营运可见性的供应商,他们可以透过云原生日志记录和审核机制来管理客户环境。
3. 建立审核机制:
可以考虑使用身份识别和存取管理(IAM)系统来审核MSP和组织的云端环境。具体建议可以查看上面缓解策略2。另外云端日志管理和分析系统提供了第二个用于审核和监控MSP操作的工具。
4. 将审计整合到安全运营中:
一旦组织建立了追踪MSP服务的自行。安全团队应讲跟踪MSP服务的信息和事件纳入标准安全运营中,这包括开发描述正常活动的基线,以及开发在可疑活动发生时触发警报的分析。
5. 调整规划以纳入MSP:
组织应考虑高影响事件(如安全事件、延长中断或系统故障)对应急响应或系统恢复的影响,并在计划中适当调整。这包括了解MSP提供的协议,并考虑从MSP处获取数据或支持的需求。
缓解策略10:管理云日志以进行有效的威胁回溯
在 SolarWinds 事件期间,攻击者能够使用云 API 从目标的云环境中窃取数据,他们还能够添加凭据、对云服务进行身份验证、向应用程序添加权限以及使用特定的云 API 在整个云中横向移动,这使得他们的活动并没有记录在传统的 Web 控制台日志中。SolarWinds 事件给业界敲响了警钟:恶意的攻击者可能会以难以检测的方式利用云操作。
云日志在网络安全中非常重要性,适当的云日志记录可以帮助组织在早期发现安全威胁、后期调查安全事件以及满足合规性和审计要求。云服务提供商(CSP)需要重视安全性,以维护可靠的商业模式和帮助保护云基础设施。组织需要了解应该记录哪些日志,以及如何管理、存储和分析这些日志。
1. 云日志的多维价值:
**威胁狩猎操作:**云安全日志提供了详细的活动记录,这些记录可以用来早期发现安全威胁。通过监控安全日志,组织可以识别可疑活动。
**安全事件调查:**云安全日志能够提供有关潜在安全事件的上下文信息和根本原因。日志可以用来重建导致事件发生的事件序列,识别源头,并确定曝光的范围。这种能力对于理解安全事件的全貌和采取有效的响应措施至关重要。
**合规性和审计要求:**法规和合规要求在许多行业中都是普遍存在的,云安全日志可以帮助组织遵守这些规定。例如:HIPAA、PCI-DSS和GDPR等法规,都可能要求组织保留和审查相关的安全日志,以证明其合规性。
2. 云中应该记录的内容和云日志源:
组织在制定日志策略时需要在记录要求和资源限制之间找到平衡。组织应该根据自身的业务需求、已知威胁和相关法规来有选择性地记录和分析日志,而不是一味追求全面记录。不同的组织日志记录要求会有所不同,具体取决于业务需求、已知威胁和相关法规等因素。确定收集和分析日志的优先级必须是全面云安全计划的一部分,需要确定日志应该从哪些来源收集和从这些来源收集哪些日志类型。
为了帮助检测云网络中的威胁,组织需要为业务关键应用程序、主机、网络和云API调用启用或添加日志记录功能。
用于基础设施安全的云日志包括:
**认证和授权:**用户和服务的事件,如登录、认证和授权尝试,以及用户角色或权限的变更,包括新用户的创建。这些日志记录了谁在尝试访问系统资源,以及他们是否成功,有助于追踪潜在的安全威胁和不当行为。
**网络和安全:**与网络相关的事件,例如防火墙服务阻止传入的网络连接、网络流量、入侵检测系统事件和网络配置变更。这些日志对于监控网络活动、识别异常流量模式和响应网络攻击至关重要。
**系统和应用程序:**系统和应用程序的安全事件,如系统配置变更和安全策略违规。这类日志有助于识别可能影响系统安全的更改,并确保系统环境的完整性。
**审计和合规:**与审计和合规要求相关的事件,如数据访问、数据保护和符合监管标准的活动。这些日志对于证明组织遵守相关法律法规和行业标准是必要的。
**应用程序编程接口(API):**云平台上的事件,如资源配置、使用和成本分析以及服务配置变更。API日志提供了对云资源如何被管理和操作的深入视图,有助于发现不当的资源使用和潜在的安全问题。
**短期云资源:**资源事件,如快速启动或关闭的虚拟机、容器或其他服务。这些日志有助于追踪云资源的生命周期,识别资源滥用或未经授权的资源创建。
云事件类型包括:
用户和资源操作—用户和应用程序的事件或操作,例如用户登录、帐户创建、API 调用和配置更改,或对云资源执行的操作,例如启动可调整大小的计算能力实例、修改数据库、或删除存储资源。
安全、错误和性能事件--与安全相关的活动,例如尝试在未。经授权、更改安全设置或者检测到威胁的情况下访问资源;以及与错误和性能问题相关的事件,例如API调用失败、资源超市和服务中断。
合规性和计费活动—与成本、政策合规性相关的事件。
3. 云日志管理:
由于日志可能会产生大量数据,因此强大的日志管理策略至关重要。除了 SIEM 和 SOAR 产品之外,CSP 通常还提供日志集中服务,可以将日志发送到集中位置以进行任何相关分析。
正确管理云日志可以通过实施以下策略来防止洪水泛滥,包括:
**日志过滤:**通过设置特定的过滤条件,如日志类型、严重性级别、IP地址或关键词,来筛选出相关的日志条目。这有助于去除无关的日志信息,减少数据量,使得安全团队能够专注于重要的安全事件。
**日志抽样:**从大量的日志中抽取代表性的样本进行分析,而不是分析每一个事件。这种方法可以大幅度减少需要处理的数据量,同时仍然能够提供足够的信息来识别和响应安全威胁。
**日志聚合:**将来自多个源的日志合并到一个统一的流中,这样可以减少存储和分析的日志数据量。日志聚合有助于简化日志管理流程,并提高分析效率。
**日志压缩:**对日志数据进行压缩,以减少文件大小和传输数据量,同时也有助于实现更长时间的日志保留。日志压缩可以在不牺牲细节的情况下,优化存储资源的使用。
**日志流式传输:**实时将日志流式传输到分析工具中进行处理,而不是先将日志存储在本地。这种方法可以减少存储需求,并允许即时分析日志数据,加快对安全事件的响应速度。
**日志保留策略:**定义日志的保留期限,根据日志的类型和相关法规要求,确定哪些日志需要保留多长时间。通过合理的日志保留策略,可以减少长期存储的数据量,同时确保关键信息不会丢失。
安全日志的位置和存储方法可能因云平台和所使用的日志服务而异,但一些常见的存储选项包括:基于云的存储服务、云原生日志服务和第三方日志管理。
4.云日志分析:
在云平台中,通过遵循这些步骤,组织可以更有效地收集、管理和分析云平台中的日志:
**识别日志来源:**确定哪些云资源和服务会产生日志,包括虚拟机、数据库、网络设备和应用程序等。
**启用和配置日志记录:**根据安全需求和合规要求,启用必要的日志记录功能,并配置日志的详细级别和保留策略。
**集中日志存储:**使用云服务提供商的日志服务或第三方工具,将日志集中存储到一个或多个中心位置,以便于管理和访问。
**日志标准化和丰富:**将不同来源的日志转换为统一的格式,并添加额外的上下文信息,如时间戳、用户标识和事件类型,以便于跨不同源的日志进行分析。
**日志分析:**使用安全信息和事件管理(SIEM)系统、安全编排自动化响应(SOAR)工具或其他分析工具来处理和分析日志数据,以识别潜在的安全威胁和异常行为。
**日志相关性分析:**将来自不同源的日志进行关联分析,以识别跨多个系统和服务的复杂威胁模式。
**威胁狩猎:**主动搜索和调查可疑活动,不仅限于对已知威胁的响应,还包括对未知威胁的探索。
**支持漏洞评估和渗透测试:**使用日志帮助识别暴露的云资源和云环境中的弱点。
**创建警报和查询:**根据分析结果,设置警报机制和自定义查询,以便在特定事件或条件发生时快速响应。
5.云日志安全:
如果不实施控制措施来跟踪和记录用户行动,系统将面临被操纵、伪造或删除日志的风险。保持日志的安全性和防止篡改非常重要。未经授权的更改和删除日志,将会使得日志的记录操作无效,组织应该像对待关键应用程序一样认真对待日志的安全性。
**最佳实践:**云日志可以通过提供网络活动的可见性以及检测潜在安全威胁并发出警报来帮助保护网络。云管理员应实施以下内容作为基准:一是记录尽可能多的安全相关信息;二是实施日志管理计划;三是使用SIEM和SORA分析日志并改进威胁狩猎取证操作;四是保护日志。
附录 参考链接
[4]https://media.defense.gov/2024/Mar/07/2003407858/-1/-1/0/CSI-CloudTop10-Key-Management.PDF
[5]https://media.defense.gov/2024/Mar/07/2003407861/-1/-1/0/CSI-CloudTop10-Network-Segmentation.PDF
[6]https://media.defense.gov/2024/Mar/07/2003407862/-1/-1/0/CSI-CloudTop10-Secure-Data.PDF
[7]https://media.defense.gov/2023/Jun/28/2003249466/-1/-1/0/CSI\_DEFENDING\_CI\_CD\_ENVIRONMENTS.PDF
[8]https://media.defense.gov/2024/Mar/07/2003407857/-1/-1/0/CSI-CloudTop10-Infrastructure-as-Code.PDF
[9]https://media.defense.gov/2024/Mar/07/2003407865/-1/-1/0/CSI-CloudTop10-Hybrid-Multi-Cloud.PDF
绿盟科技天元实验室专注于新型实战化攻防对抗技术研究。
研究目标包括:漏洞利用技术、防御绕过技术、攻击隐匿技术、攻击持久化技术等蓝军技术,以及攻击技战术、攻击框架的研究。涵盖Web安全、终端安全、AD安全、云安全等多个技术领域的攻击技术研究,以及工业互联网、车联网等业务场景的攻击技术研究。通过研究攻击对抗技术,从攻击视角提供识别风险的方法和手段,为威胁对抗提供决策支撑。
M01N Team公众号
聚焦高级攻防对抗热点技术
绿盟科技蓝军技术研究战队
官方攻防交流群
网络安全一手资讯
攻防技术答疑解惑
扫码加好友即可拉群