共计 1591 个字符,预计需要花费 4 分钟才能阅读完成。
Apache Log4j 和 Log4Shell 两大事件的产生,将软件物料清单(Software Bill of Materials, SBOM)推向平安防护前沿,成为企业爱护其软件供应链的形式之一。往年 5 月,美国总统拜登公布行政命令,要求 IT 供应商必须提供 SBOM 才可能与美国政府进行单干。受此影响,越来越多的企业也开始将 SBOM 集成到其 DevSecOps 流程中。
那么 SBOM 是什么呢?咱们通常将 SBOM 抽象地形容为成分列表,就好比食物成分表会列举应用到的资料,咱们能够通过 SBOM 去理解应用程序、服务、包等。 严格来说,SBOM 并不是解决软件供应链平安问题的残缺解决方案,但它是爱护软件供应链的要害局部。
SBOM 在将来将作为软件开发框架(Software Development Framework, SDF)的次要组件。SBOM 通过蕴含软件组件和依赖项列表来减少软件交付的透明度,如果没有 SBOM,软件依赖项、开源或商业许可问题、已知破绽或其余潜在歹意成分的可见性就会升高。如果企业应用不含 SBOM 的软件,且不进行额定的软件尽调剖析,可能须要承当肯定的平安危险。
尽管采纳 SBOM 对进步安全性产生踊跃作用,但在 SBOM 真正发挥作用前,企业须要进行大量筹备工作。这样看来,尽管 SBOM 可能在肯定水平上保障企业的软件供应链平安,但实际起来还是存在肯定的妨碍和艰难。
抉择 SBOM 提供商须要留神什么?
企业在抉择 SBOM 提供商时要留神的次要事项包含:
- 现实状况下,供应商该当提供其交付的每一个软件的 SBOM。而软件用户将应用软件成分剖析(SCA)生成新的 SBOM 以用于提供给客户。软件供应链中最终交付时的 SBOM 该当蕴含一份全面、精确的清单,并列出所波及的组件和版本。这就意味着供应链中每个环节的软件供应商都须要提供全面的 SBOM,否则最终的 SBOM 将会不精确或不残缺。
- SBOM 存在多个规范,包含 CycloneDx、SPDX 和 SWID Tag。大多数企业都心愿 SBOM 蕴含依赖关系、列表、已知破绽(CVE-ID)和软件许可证信息,但不同的 SBOM 规范对应的格局也不同,其蕴含的信息也会有所差别,这也使得 SBOM 不容易成为一个通用的解决方案。
- DevSecOps 团队须要意识到 SBOM 自身也是一个须要爱护的数字文档。SBOM 和 组织都须要确保 SBOM 不会受到侵害。企业须要通过集成检查和数字签名来避免篡改,确保 SBOM 的完整性和真实性。许多企业在收集或保护 SBOM 方面仅仅停留在外表而未进行深入研究。尽管 SBOM 能够减少软件供应链的可见性和透明度,但与此同时也给企业带来额定挑战,因为企业须要应用新的工具和施行新的流程。
思考到这些注意事项后,如果企业没施行适当的 DevSecOps 流程,即便是最好的 SBOM 提供商也杯水车薪。通过 SBOM 来发现软件供应链中的新破绽对企业来说非常有价值,但如果企业并没有制订和执行相应的 SBOM 应用流程,那 SBOM 中的信息就只是目录中的文件毫无意义。
SLSA 与 SBOM 的关联
当然,SBOM 也不是“灵丹妙药”,它无奈涵盖软件供应链的所有畛域。因而,施行跨 CI/CD 流水线的安全监控和程序查看并在部署后阶段笼罩运行时,应用 SLSA 补充 SBOM 是必要且理智的。SLSA 为企业提供了框架和指南,以便更好地施行 SBOM 和其余安全措施。
但企业须要明确的是,SBOM 和 SLSA 的指标是保障软件供应链平安,它们是爱护软件供应链的两个组成部分而非残缺的软件供应链平安解决方案。SLSA 和 SBOM 针对的畛域和问题都不同,企业不能只是简略的将其洽购回来,就指望所有的平安问题都被完满解决。
SBOM 和 SLSA 的采纳尽管尚未成为支流,但依然是保障软件供应链平安的一个良好开端。SBOM 提供明细,SLSA 具体阐明了如何以平安的形式生成这些信息。软件公司能够利用 SBOM 与 SLSA 作为竞争劣势,也作为软件平安生产的保障。