OWASP十大开源软件风险总结

01已知漏洞

已知漏洞通常是由软件开发人员和维护人员在无意中引入的,然后再由社区中的安全研究人员公开披露。组织可以采取行动来降低"具有已知漏洞的OSS组件"的风险,例如扫描他们所有OSS组件中的漏洞,根据已知利用率、利用概率、可达性分析等方法对发现结果进行优先排序。

02合法包妥协

恶意行为者发现,从合法包上下手,可以影响到下游消费者的价值,其无论是对组织,还是对个人都能造成极大的影响。恶意行为者可以使用多种方法来完成此类攻击,例如劫持项目维护人员的帐户或利用存储库中的漏洞。当然,恶意行为者也可以自愿变成维护者,一如XZ Utils事件中所发生的情况,即有人在很长一段时间内冒充合法贡献者,然后在不被他人怀疑的情况下,这些不法者从代码中嵌入了后门。那该如何预防呢?我们可以使用新兴的资源和指导,比如使用微软的安全供应链消费框架(S2C2F)等。

03名称混淆攻击

攻击者会创建名称和合法OSS包一样的恶意组件,而这些组件会在无意中被受害者下载。此类攻击也出现在了CNCF软件供应链攻击目录中,包括打字错误和品牌劫持。当这些"做过手脚"的软件包被带到组织的IT环境中,它们可能会影响系统和数据的机密性、完整性和可用性(CIA)。

04不可维护的软件

与专有软件不同,开放源码软件通常没有"供应商",因此OSS维护人员按原样提供软件,这意味着不能保证软件会得到维护、更新或持续使用。Synopsys的OSS报告等报告表明,85%代码库中的OSS组件已经过时四年多,而且两年内没有任何新的迭代。而根据年度NVD指标,考虑到软件老化迅速,新的漏洞正在不断冒出,这对使用"不常更新OSS组件的现代应用程序"来说不是好兆头。OSS主要由无偿志愿者所提供,因此软件组件可能没有被积极开发或维护,以至于缺陷修复等环节是相对缺失的。此外,造成OSS无法维护的另一个关键因素是,几乎25%的OSS项目只有一个开发者贡献代码,94%的项目由10个或更少的开发者在维护。显然,如果一个项目只有一个维护人员,风险是显而易见的。考虑到60-80%的现代代码库是由OSS组成的,因此可以说,我们最关键的系统,都是在维护程度最低的软件上运行,这意味着我们随时可能面临重大的系统风险。应对该风险的建议包括检查项目的活跃性和健康状况,如维护者和贡献者的数量、发布频率,以及补救(MTTR)漏洞的时间等。

相关推荐
彭波3968 分钟前
.NET Framework 3.5问题修复教程!可以离线修复
windows·安全·电脑·.net·开源软件
黄焖鸡能干四碗2 小时前
网络安全建设实施方案(Word文件参考下载)
大数据·网络·人工智能·安全·web安全·制造
hzhsec2 小时前
MSF-CobaltStrike实现内网socks代理转发上线
服务器·网络·安全·网络安全
xixixi777773 小时前
2026 年 03 月 20 日 AI+通信+安全行业日报(来更新啦)
大数据·人工智能·安全·ai·大模型·通信
SuperEugene5 小时前
TypeScript+Vue 实战:告别 any 滥用,统一接口 / Props / 表单类型,实现类型安全|编码语法规范篇
开发语言·前端·javascript·vue.js·安全·typescript
always_TT5 小时前
字符串输入:gets vs fgets(安全问题)
数据库·安全
努力的lpp6 小时前
2024小迪安全课程第三节复习笔记
笔记·安全
新手88606 小时前
Oracle VirtualBox虚拟机安装 和 安装 window11版本虚拟机 及 启用EFI和硬盘无法使用 问题
服务器·windows·计算机网络·安全·虚拟机
ALex_zry7 小时前
Docker Compose 配置文件完全指南:从基础到生产级安全实践
服务器·安全·docker
EnCi Zheng8 小时前
J7A-已有数据表如何安全添加新字段 [特殊字符]️
数据库·安全·oracle