在软件领域,SBOM的作用存在分歧。一方面,它被赋予了众多功能;另一方面,在国内,这些功能的应用受到一定限制,这一点值得深入讨论。
减少代码膨胀
许多企业都遇到了代码量过大的难题。软件引用的开源组件版本杂乱无章,这让管理工作变得更加复杂。以一家大型互联网企业为例,其众多项目都存在类似问题。统一版本可以降低风险,但这并非易事。有些小项目因为特殊需求,很难迅速统一版本。每个软件都像是独立的王国,协调起来颇为棘手。
从关联SBOM的角度分析,这项技术能够在此过程中起到作用。若在公司内部得到普及,有助于整理所使用的组件版本,实现有效的规范化,进而能在一定程度上降低代码的冗余。
了解并遵循许可义务
软件公司必须重视履行许可责任。过去,有些公司因对组件许可不甚了解而遭遇诉讼,后果严重,可能需支付高额赔偿。通过SBOM,企业能全面了解组件信息,这对履行相关义务大有裨益。
在实际操作中,一些小型的软件制作团队往往忽视了这些问题。相比之下,正规的大型企业对此却非常看重。若SBOM得以广泛推广,那么与之相关的许可和义务管理将会变得更加规范。
监控组件的漏洞信息
软件组件的缺陷持续对安全构成隐患。数据表明,每年都有众多软件因此类缺陷而遭受攻击。以某金融软件为例,它就曾因一个微小的组件缺陷遭受网络攻击,造成了巨大损失。通过SBOM,我们可以迅速查明软件是否受到特定组件缺陷的威胁。
实际上,众多小型团队缺乏危机感,他们倾向于依赖运气。即便大型企业配备了专门的安全部门,也仍需此类高效工具以加强管理。
便于向客户提供SBOM报告
客户在多方面因素考量下,会要求提供安全性的相关文件,这可能是由于法律法规的规定,也可能是客户对安全性的高标准要求。对于一些处理医疗信息的软件,若不能向客户出示安全报告,将难以获得其信任。而有了软件成分清单(SBOM),生成这样的报告就变得相对简单。
现在国内众多企业并未将客户需求放在心上,觉得是否满足这些需求并不重要。他们依旧着重于软件的功能本身,却忽视了安全报告这一环节的建设。
国内实用情况
国内和国外的情况并不一样。分析国内的情况后,我们发现像监控组件的漏洞和便于向客户提交报告这样的功能还算有用。由于国内的监管还在持续进步,软件市场的整体布局和国外相比也有不小的差别。一些企业可能因为规模较小而觉得这些无关紧要,但这种想法其实很危险。
在我国网络环境中,众多软件企业的成长深受地域文化及经济状况的制约。因此,在推广SBOM的实际应用时,必须充分考量我国特有的国情因素。
SBOM与SCA及CICD
在完善的持续集成和持续部署流程里,各步骤之间联系紧密。安全组件分析(SCA)工具在安全检查阶段能够获取到构建软件物料清单(SBOM)所需的信息。一家软件开发企业在引入SCA工具后,对组件的了解达到了前所未有的深度。实际上,只需对SCA的结果进行整理,就能构建出一个初步的SBOM系统。
尽管如此,这还远远不够。许多企业虽然有了基本框架,但细节上却不够完善。当它们试图构建一个完整的SBOM系统时,会遇到不少难题。
最后有个疑问,请问贵公司对于软件成分清单(SBOM)的处理方式是怎样的?期待大家的点赞、转发文章,并在评论区积极参与讨论。