在开发人员和应用程序安全团队在跟踪开源组件、代码库中的直接和传递依赖性时遇到问题后,软件组合分析(SCA)工具应运而生。依赖手动流程和电子表格效率低下、容易出错且不可扩展。软件组成分析工具的工作原理软件组成分析(SCA)工具可自动执行识别和编目开发环境中使用的开源代码的过程,并识别安全、许可和质量问题及其依赖性。这需要讨论选择软件组合分析(SCA)解决方案的最佳实践。软件组成分析(SCA)和持续监控为了有效地工作,软件组成分析(SCA)工具必须持续监控代码,因为使用开源的现代开发方法本质上是连续的。一位安全团队负责人喜欢这个功能,他说:“我们一直在开发新的应用程序,并且我们看到在没有积极开发的应用程序中有很多需要修复的错误。”这就是为什么在分析(SCA)解决方案时它是一个重要的考虑因素。开发人员和负责分析的人员必须了解开发中使用的开源组件。一家拥有数万名员工的金融服务机构的一名员工说:“这就像突然在黑暗中工作,突然之间你有了可见性。你可以准确地看到你正在使用的东西并提出建议。所以如果你能使用一些东西,还有其他选择。”一家大型金融服务组织的另一位使用软件组合分析(SCA)的用户也表达了这种观点。他们说,“我们不再盲目地使用易受攻击的组件。我们意识到我们正在推动开发人员意识到这一点,并认为我们对威胁形势有了更好的了解。我们甚至不知道哪些是Bug或漏洞,现在我们知道了它并且可以快速修复它。”低误报率误报会浪费时间并使用户在软件组合分析(SCA)工作中不知所措。相比之下,漏报将安全和权限问题引入到代码中。由于这些原因,软件组合分析(SCA)解决方案需要尽可能精确。解决方案提供商的一位高级管理人员指出了这个问题的重要性。“这有助于我们避免在现场暴露关键漏洞。它为我们节省了部署后可能进行补救活动的时间,因为如果我们在应用程序完全开发和部署后发现安全问题,就需要这样做,”他说。更改或重用将变得更加困难。”提高开发人员生产力和ROI软件组合分析(SCA)不仅仅是保护代码。它还应该是提高开发人员生产力的驱动力。这位高管还发现,在解决问题时,解决方案提高了开发人员的工作效率,因为问题已经清楚地列出来了。如果你正确看待这些数字,它可以将开发人员的工作效率提高5%到10%。他说,采用软件组合分析(SCA)技术可能需要付出代价,因为修复开发生命周期中的安全漏洞将花费大量资金。开放源代码政策软件组合分析(SCA)实践和解决方案的最终目标是对代码库的所有部分实施安全政策。因此,首选的软件组合分析(SCA)解决方案是可以实施开源代码策略的解决方案。“因为它是主动的并且具有实时数据,所以你可以立即知道应用程序的任何部分现在是否容易受到攻击,”这位高管补充道。虽然确实需要制定强有力的安全政策,但如果它们过于严格,对开发人员来说可能是危险的。对生产力产生负面影响,甚至可以完全避免。因此,如果软件组合分析(SCA)解决方案可以提供灵活的策略实施,那将很有用。软件组合分析(SCA)是一种新的缓解控制,可以发现新的漏洞类别。它有助于实施安全编码实践,这在首次推出时可能需要一些时间,但一段时间后,随着越来越多的开发人员熟悉它,成本将会降低。此外,软件组合分析(SCA)工具甚至可以继承某些组件,因为在现实世界中它不能总是花时间更新,因为它不向后兼容。有了这些功能,无需采用全有或全无的方法,它就更易于使用且更有用。许多用户希望软件组合分析(SCA)能够持续监控开发活动的可见性和意识。他们还希望软件组合分析(SCA)具有来自多个来源的高质量数据、低误报率、更高的开发人员生产力、投资回报率、灵活的政策实施、通过破坏构建、集成能力和强大的供应商支持来实施开源政策。
