现如今,在应用程序开发过程中,开源库、第三方组件和供应商集成构成了现代应用程序的大部分,但对于每个供应链组件,潜在的安全问题都可能为攻击者打开大门。
网络安全中的供应链风险有哪些?
网络安全中的供应链风险,一方面源于对第三方供应商的依赖,另一方面也由组织自身引入的缺陷有关。当企业自身的安全性是可靠的,安全性较差的供应商也可能为攻击者渗透系统打开大门。例如,如果供应商忽略修补其软件中的已知CVE(常见漏洞和暴露),攻击者可以利用该漏洞通过与系统集成的暴露接口或API获得未经授权的访问。
直接集成到DevOps管道中的实时监控可以在威胁进入生产环境之前捕获,比如受到损害的依赖关系。当与自动化工作流程、安全检查和审计相结合时,可以更好地识别和处理供应链风险。
缓解供应链攻击的 8 个方法
1. 建立供应商安全 SLA
我们无法直接控制第三方供应商的安全性,但可以决定与哪些供应商合作,以及如何管理他们的安全实践。
首先让第三方供应商对安全负责。构建强大的合同,其中包括特定于安全的SLA——详细说明修补漏洞、加密标准和强制安全审计的期望,实现自动化的供应商风险监控解决方案。
2. 威胁建模
威胁建模通过流程发现外部依赖项、第三方集成和数据流,有助于清楚地了解攻击者可能攻击的位置。重点关注处理敏感数据的优先组件,例如支付处理器或身份验证服务,因为这些是攻击者的主要目标。此外,API是一个需要重点关注的领域。
3. 强化 CI/CD 管道
一个容易被忽视的漏洞通常是CI/CD管道本身。攻击者可以在管道的任何阶段利用漏洞插入恶意代码。通过采用不可变管道来加强安全性,其中构建构件和环境是锁定的,在部署后不能修改。使用加密签名来验证构建的完整性。
如果是在隔离的容器化环境中运行构建,则可以保证确保每个构建都在干净、独立的空间中运行。这种分离可以防止以前版本的任何遗留数据或漏洞影响当前版本,从而显著降低出现漏洞的风险。
4. 实施基础设施即代码 (IaC) 安全策略
通过像对待任何其他关键软件一样对待 IaC,来控制云基础设施。使用自动检查工具进行安全检查,并在部署之前验证配置。定期扫描可以及早发现 IaC 错误配置,从而降低不安全的基础设施进入生产环境的风险。
5. 定期进行安全审计
考虑在添加、更新或更改第三方组件和依赖项时实时进行审计,而不仅仅是按计划的时间间隔审计。对每个重大更改或更新实施自动审计,以便组织可以在漏洞引入时立即发现漏洞。
6. 依赖管理
使用工具来持续监控漏洞,尤其是持续监控那些隐藏在依赖树深处的可传递依赖。设置自动化规则,这样有助于阻止有风险或过时的软件包进入管道,从而防止它们成为软件堆栈的一部分。
7. 代码审查
以安全为中心的评审对于检查外部库和依赖项是否得到正确验证很有必要,但有其局限性。人工审查很容易错过外部组件中的细微漏洞,或者无法直接在代码库中捕获错误配置,例如硬编码密钥或 API 密钥。通过将代码安全检测工具集成到审查流程中,检测无意引入的缺陷或安全漏洞。
8. 最小权限原则
为了尽可能减少网络攻击的影响,在CI/CD管道和外部集成中严格应用最小权限原则。通过使用基于身份的控制措施,将特定服务或工作负载与唯一的最低权限联系起来,从而锁定每一层的访问。如果系统的某个部分遭到入侵,此方法将阻止权限提升。
供应链攻击是一个日益增长的威胁,管理供应链攻击的威胁不仅仅需要修补漏洞,还需要持续的警惕和自动化。随着攻击的激增,实时监控和主动安全技术和工具将成为得力助手。
参读链接:
https://spectralops.io/blog/steps-to-mitigate-supply-chain-risk-in-cybersecurity/
标签:依赖,安全,供应商,降低,漏洞,供应链,攻击者,软件 From: https://www.cnblogs.com/zktq/p/18635909