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

相关推荐
IT新视界1 小时前
数据要素安全流通服务
安全
微信开发api-视频号协议2 小时前
Codex++安全边界探秘:从模型能力到风险防御
前端·安全·微信·企业微信
枝头玉2 小时前
新160个CrackMe048-monkeycrackme1、049-THraw-crackme8、050-daxxor逆向分析
安全·逆向·crackme·reserve
维基框架3 小时前
Claude Mythos Preview 发布后严重漏洞激增:安全还是营销?
人工智能·安全
技术不好的崎鸣同学3 小时前
[MRCTF2020]PYWebsite 思路及解法
安全·web安全
碎碎念_4923 小时前
ACL包过滤、NAT技术、广域网协议
服务器·网络·安全·acl·nat
梅羽落4 小时前
服务器安全(Windows Server+Linux)
服务器·windows·安全
byte轻骑兵4 小时前
【LE Audio】CSIP精讲[5]: 蓝牙协同设备组的安全防护体系与实战规范
算法·安全·音频·le audio·低功耗音频
有浔则灵4 小时前
网络安全核心知识梳理:从OSI模型到密码技术
网络·安全·web安全
旺旺的碎冰冰~4 小时前
安全规约的具体例子(security reduction)
安全·规约证明