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)漏洞的时间等。

相关推荐
web_learning_32126 分钟前
网络安全证书考取相关知识
安全·web安全·网络安全
木凳子a2 小时前
给儿童掏耳朵用哪个好?儿童耳勺最建议买的五个牌子
人工智能·安全·信息可视化·智能家居·健康医疗
网络研究院2 小时前
攻击者将恶意软件分解成小块并绕过您的安全网关
网络·网关·安全·攻击·技术·分块·分析
风控牛3 小时前
【chromedriver编译-绕过selenium机器人检测】
java·python·selenium·测试工具·安全·机器人·行为验证
传输大咖3 小时前
传输大咖44 | 云计算企业大数据迁移如何更安全高效?
大数据·安全·云计算·数据迁移·企业大文件传输
咸鱼菲菲3 小时前
同态加密明文矩阵乘密文向量优化:BSGS小步大步法
安全·矩阵·同态加密
世界尽头与你4 小时前
移动应用安全
安全·网络安全
huaiyanchen13 小时前
chorme浏览器 您的连接不是私密连接
安全