降低软件供应链安全风险的10个方法

中科天齐软件源代码安全检测中心

共 2028字,需浏览 5分钟

 ·

2023-06-05 13:56

尽管软件供应链攻击不断增加,但开源软件的使用率提高了80%。根据Gartner 2022年的研究,全球近45%的公司将成为软件供应攻击的受害者。在应用程序中使用开源代码可能会面临威胁,如包含恶意代码的代码库、安全漏洞和过期许可等。

一些关键供应链攻击趋势包括:

第三方代码或组件带有已知漏洞,可以通过公共漏洞和暴露(CVE)列表公开跟踪。

未知漏洞构成了更严重的威胁,因为可能需要数年时间才能发现可以利用的安全漏洞。这种威胁通常被称为0day问题,对于这类问题需要立即响应。

实施供应链攻击并不仅仅可能是一行糟糕的代码。有时,加密、配置错误和敏感数据管理不善等非代码问题也可能构成威胁。

将恶意代码注入易受攻击的库或存储库可使攻击者获得后门访问权限。

常见漏洞和攻击媒介

  • 通过商业或开源框架和库的第三方依赖项
  • 通过面向公众的分发系统轻松访问软件环境
  • 对攻击者同样开放的公共代码存储库
  • 由于密钥被盗或证书过期而无法进行代码签名

开发人员可采取降低供应链风险的10个步骤

以下是一些发现代码中的安全漏洞和其他错误配置可参考的技术手段。

1. 识别并映射软件组件和依赖关系

如今,开发人员将开源和第三方代码与自己的代码结合使用。在这种情况下,建立一个强大的第三方或供应商风险管理系统很重要。这个系统有助于了解第三方环境:使用了哪些组件、访问权限以及针对它们可以采取的安全手段。

2. 监控软件依赖关系中的漏洞并应用安全补丁

当将代码众包给开源社区时,有可能通过第三方依赖继承漏洞。使用带有漏洞的依赖关系已被OWASP列为十大安全风险之一。要管理这种情况,需要实施有效的监控实践。

供应商通常会发布已知漏洞的补丁,以消除其代码库中的安全风险。自动执行补丁管理以跟踪缺失的补丁并将补丁部署到软件中。

3. 仅对软件组件使用可信来源

由于开源软件是免费且广泛可用的,黑客可以很容易地访问这些第三方软件包,寻找漏洞并加以利用。因此,在为应用程序使用外部代码时,在添加这些组件并允许它们访问敏感数据之前进行评估。

4. 实施强大的访问控制、身份验证和授权

任何网络安全攻击的主要目标都是访问机密信息和资源,保护这些数据至关重要。这可以通过几个框架实现可靠的授权和身份验证实践来实现这一点。

为开发人员建立身份访问管理 (IAM) 实践将能够监控所有用户帐户并有效地将风险暴露降低。

通过双因素身份验证添加分层安全措施使黑客难以访问敏感数据。除了密码之外,还可以通过短信或其他代码生成应用程序进行实时身份验证。

PAM(特权访问管理)是另一个监控框架,用于监控访问关键业务信息的帐户。

零信任身份验证,其中每个请求都受到怀疑处理,并遵循彻底的身份验证过程。

5. 定期进行安全测试和漏洞评估

在漏洞造成损害之前发现它们是保护应用程序免受供应链风险影响的关键。通过在软件开发过程的不同阶段运行多个测试和评估来做到这一点。要检测漏洞,可以运行测试,包括:

SAST(静态应用程序安全测试)——从内部代码评估应用程序的白盒测试。

DAST(动态应用程序安全测试)——从外部评估应用程序的黑盒测试。

6. 实施代码签名和验证,确保代码真实性

通过为软件组件实现数字签名,可以确保标记代码库中的任何偏差或更改。分配数字签名的过程称为代码签名。它验证源代码的真实性,保证没有漏洞被忽视。

7. 实施安全编码实践,并定期对开发人员进行安全编码原则培训

员工是抵御任何网络安全威胁的重要防御手段。企业有责任定义和执行严格的编码实践。对员工进行网络犯罪意识培训,以防止网络钓鱼、点击劫持和社会工程攻击等创造性攻击。

8. 建立 SDLC 流程,包括安全要求、测试和风险评估

随着安全性在企业优先级列表中的上升,DevOps演变为DevSecOps,其中安全性是SDLC流程每个阶段的一部分。通过足够的依赖关系可见性来识别和消除威胁,这样每个人都知道依赖关系和相关的漏洞。以下是一些方法:

  • 在开发过程中实施SAST和DAST测试
  • 在提交代码之前扫描代码以清除其漏洞
  • 使用AI/ML工具自动化安全、监控和警报机制
  • 更加关注多云应用程序的机密管理

9. 考虑使用 SCA 工具来检测和管理软件依赖关系

SCA会通读应用程序中使用的开放源代码包,并突出显示所有漏洞。SCA不仅仅可用来检测开源代码,还可以使用这些工具来验证基础设施作为代码(IaC)的风险偏好,并创建SBOM。

10. 制定事件响应和灾难恢复计划

尽管采取网络安全手段很重要,但还必须定义事件响应工作流以应对攻击的可能性。该计划应包括对发生网络攻击的取证分析以及使系统恢复到默认模式的过程。


来源:

https://spectralops.io/blog/10-steps-to-take-now-to-reduce-supply-chain-risks/

浏览 38
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报