础滨驱动的设计应用
风险管理需要公司了解业务的威胁是什么,并弄清楚如何应对它们。
软件供应链风险管理是风险管理的一个越来越重要的部分,即管理您的公司在构建、购买、部署和维护软件的风险。
现在,所有的公司都是软件公司:他们要么将软件构建为其产物和服务的一部分;要么购买软件并使用它来运营业务。软件是所有其他关键基础设施的关键,因此它带有重大风险,必须进行管理,就像任何其他风险一样。
对于许多公司而言,了解如何使用开源组件是实现软件供应链风险管理非常关键的第一步。
绝大多数软件应用程序都是由成百上千个开源软件组件组成的,这些组件又是由一点点代码组合在一起。换句话说,开发人员通过使用开源组件获取大量功能,然后通过编写使用这些组件的代码来实现特定的应用程序。
虽然以这种方式创建应用程序比从头开始构建所有内容更快、更容易,但它确实带来了一些与风险相关的重要问题:您正在使用哪些组件? 它们工作正常吗? 他们有安全漏洞吗? 他们是如何被测试的? 组件许可证是否与您的应用程序许可证兼容? 如果您在组件中发现问题,组件的维护人员是否有可能修复它?
理论上,手动跟踪开源组件是可能的,但工作量则非常巨大。
像 Black Duck? 软件组成分析 (SCA)这类解决方案可以自动执行许多涉及管理开源组件的任务,包括发现、关联已知漏洞和许可证以及确定是否符合安全策略。
开源组件只是更大供应链的一部分。 比如一家烤面包机制造商, 他们购买第三方组件,也可能会创建一些自己的组件,然后将所有部件组装成他们的产物:烤面包机。他们供应链的一部分是其购买的组件、制造它们的公司以及使用的任何子组件。但在供应链中同样重要的是分销商、运输公司和零售店。
软件供应链包括进入软件的一切,直到用户接触到它。
降低风险需要一种整体的安全方法。您可以很好地管理应用程序中的开源组件,但如果您将其部署在不安全的容器上,后果不堪设想。
掌握整个软件供应链使您有机会均衡应用适当的流程和工具,从而从整体上降低风险。
管理应用程序的软件供应链具有挑战性但又是非常必要的一个很好的入门方法是简单地了解您的应用程序中的内容。您可以使用 Black Duck 等 SCA 解决方案来组装软件物料清单。然而,一个好的 SCA 解决方案不仅仅只识别开源组件。它可以报告与您使用的组件相关的已知漏洞,让您快速查看哪些组件可能会暴露您的应用程序中的安全漏洞。此外,SCA 解决方案可以识别哪些许可证与哪些组件配套,并且可以快速让您知道您使用的组件是否具有许可证,以与您希望销售和部署软件的方式兼容。
供应链一直延伸到用户接触到您的应用程序,因此请确保您了解的范围和广度。 然后制定计划以全面降低风险。
应用程序开发和应用程序安全正在融合。
有效的风险管理要求安全是整个应用程序供应链的一部分。如果您还没有开始管理软件供应链风险,请考虑将 SCA 或 SAST 纳入您的流程。如果您已经开始,请确保您正在考虑供应链的整个范围并扩展您的活动以获得更好的覆盖范围。
获取更多对于Black Duck? 软件组成分析的信息。