无论是专有的还是外包的,软件开发在安全方面都已发展成为一个微妙的问题。潜伏在库或框架中的一行错误代码可能会使整个组织环境遭受攻击。毫不奇怪,威胁行为者越来越多地利用软件供应链漏洞来渗透企业网络。
Sonatype 最近的一份报告发现,仅 2023 年就记录了 24.5 万个恶意应用程序包。这使得 2022 年的统计数字增加了两倍,自 2019 年以来所有年份的数字总和增加了一倍。据报道,这些事件去年给企业造成了惊人的458 亿美元损失,预计到 2026 年全球经济影响将达到 800 亿美元。
渠道依赖
软件供应链曾经是从开发到部署的线性路径,现在已成为互连组件的融合。组织越来越依赖第三方代码、开源库和外部工具。这些依赖性为网络犯罪分子引入了潜在的切入点。
攻击者经常以软件存储库或分发渠道为目标,将恶意代码注入到应用程序中,以便稍后进行后门访问。不安全的编码实践、未修补的依赖项和过时的库会造成漏洞,从而加剧这种利用。
与整个供应链中的多个供应商合作会增加攻击面。每个供应商可能有不同的安全实践,这使得在整个软件生命周期中保持一致的DevSecOps 标准具有挑战性。
旧版软件组件或系统可能缺乏关键的安全更新和补丁。因此,使用过时技术的公司面临着更大的剥削风险。
如何降低风险
随着软件供应链攻击在整个企业范围内不断升级,CISO 应确保其应用程序开发和交付实践能够应对这些新挑战。这可能需要重新评估和强化 CI/CD 管道中每个阶段的安全性。听起来令人畏惧,但旧的政策和控制措施可能不再符合上述统计数据所示的当前威胁范围。
让我们看看在组织的软件开发过程中建立弹性的方法。
- 安全编码实践:将安全性纳入从开始到部署的软件开发生命周期 (SDLC)。使用静态和动态代码分析工具,培训开发人员进行威胁建模,并执行漏洞评估,以在软件工程工作流程的早期识别和修复弱点。
- 依赖关系管理:维护组织内使用的软件依赖关系和库的清单。定期更新和修补这些实体以解决已知的安全缺陷。自动依赖性扫描工具可以简化此过程。
- 供应商管理:优先考虑具有良好安全记录的第三方承包商。建立严格的供应商评估标准,包括安全标准、合规性要求和事件响应能力。将供应商的历史 DNS 记录与与软件供应链攻击和漏洞相关的已知危害指标 (IOC)进行交叉引用。此外,定期评估和审核供应商,以确保他们始终遵守既定的安全实践。
- 软件物料清单 (SBOM):创建和维护全面的 SBOM,详细说明代码库中使用的所有组件,包括开源库、框架和模块及其版本和补丁状态。该清单提供了识别和修复软件供应链中的漏洞所需的可见性。
- 防篡改分发渠道:应用程序在传输过程中特别容易受到滥用。使用端到端加密、数字证书和安全协议来保护软件包在发送给目标受众的过程中免遭拦截或未经授权的更改。
- 网络分段:隔离开发、构建和部署环境,以限制某一区域违规的潜在影响。防火墙、虚拟局域网 (VLAN) 和软件定义网络 (SDN) 工具可以促进分段并遏制威胁行为者在妥协场景中的横向移动。
- 多重身份验证:此技术使攻击者更难获得对开发人员工作站的未经授权的访问。 MFA 仅在整个软件供应链(包括远程员工的设备和供应商系统)中使用时才有效。
- 细粒度访问控制:根据用户角色和职责指定权限和特权。建议对高风险操作实施额外的身份验证因素,例如访问生产环境或部署软件更新。
- 威胁情报:订阅威胁情报源以主动应对新出现的风险。此策略与漏洞管理程序配合使用,该程序根据严重性确定修复工作的优先级。
- 事件响应计划:制定路线图,概述如何识别、遏制软件供应链攻击并从中恢复。该计划应包括用于通知利益相关者和受影响用户的通信协议。
服务器、桌面和移动应用程序是当今任何组织基础设施的粘合剂。除了这 10 个技巧之外,在开发人员中推广安全意识文化也很重要。这将使软件供应链安全成为一项协作工作,每个团队成员都发挥着重要作用。
发表评论
您还未登录,请先登录。
登录