JDA 软件集团需要一个解决方案来确保跟踪和管理开源和商业组件,这是公司整体软件安全计划的一部分。采用Black Duck软件组成分析很好地满足了JDA的需求,帮助后者在应用生命周期中自动管理开源安全和许可证风险。
JDA背景介绍
JDA 软件集团年收入超过10亿美元,提供端到端集成性零售、全渠道和供应链计划与执行解决方案,在全球拥有4,000多家活跃客户。30年来,JDA深厚的行业与技术积累帮助客户减少成本,提高收益并且提高企业协同性,帮助客户能够始终按照对顾客的承诺进行交付。
挑战:如果找不到漏洞,那便无法修复
与许多从事构建软件业务的企业一样,JDA的100多个应用程序产品中包含了定制代码库以及商业和开源组件。包括Forrester和Gartner在内的分析师指出,超过90%的IT企业使用开源软件来处理关键任务,而且某些应用程序的构成有90%是开源组件。
尽管开源软件中的漏洞数量少于专有软件,但仅在2018年就发现了7,000多个开源漏洞。在过去的二十年中,已经涌现出超过50,000个漏洞。在2018年由Synopsys Black Duck Audit Services团队审查的代码库中,有60%包含至少一个开源漏洞。超过40%的组件包含高风险漏洞,而68%的组件包含许可证冲突。
从许可证合规性的角度来看,开源许可证是最受欢迎的许可证之一。但无论是开源许可证还是一次性许可证,除非企业意识到使用特定开源组件的权利、义务和限制,否则他们不能确保是否履行这些义务。从理论上讲,不合规的企业可能会失去其专有代码的权利,或被质疑其IP所有权。
从安全的角度来看,所有软件,无论是专有软件还是开放源代码,都有可能存在安全漏洞。只有少数开源漏洞(例如Apache Struts或OpenSSL曾被爆出的高危漏洞)可能会被广泛利用。但是,当发现这种漏洞隐患时,对开源安全管理的需求就会被热议,就像2017年Equifax数据安全漏洞一样。
美国参议院常设调查小组委员会的一份报告指出,Equifax缺乏完整的软件清单是造成其大规模安全漏洞的主要因素。
报告指出:“ Equifax缺乏全面的IT资产清单,这意味着它对所拥有的资产缺乏全面的了解。这使Equifax很难(即使不是不可能)知道其网络上是否存在漏洞。如果找不到漏洞,则无法修补。”
许多公司并未正式管理开发人员对开放源代码的使用,很少有公司能够生成准确、最新的开放源代码组件、许可证、版本及补丁状态清单(也称为物料清单或BOM)。这导致企业使自己和客户面临风险。
JDA首席架构师John Vrankovich指出:“在使用Black Duck之前,我们的开放源代码管理主要是通过电子表格,开发人员如实记录。我们提供使用许可(而非通用公共许可)的基本指南。”
John Vrankovich 表示:“我们有一百多种产品,每种产品本身都包含成百上千种不同的开源组件。十年前,我们几乎没有概念来识别和理解BOM中的开源安全漏洞。采用Black Duck增强了我们对开源安全性问题的了解。我们意识到,公司需要一种解决方案来确保跟踪和管理开源和商业组件。这是我们整体软件安全计划的一部分。”
解决方案:Black Duck软件组成分析
JDA于2015年首次应用了Black Duck代码中心。代码中心为JDA提供了软件组件选择、批准以及对开源和其它第三方软件组件的跟踪,旨在使JDA技术审查委员会(TRC)的审查流程自动化,包括从体系结构到安全和商业审查,再到所有JDA产品和发布网关的最终执行人员审查。
JDA在2017年添加了Black Duck软件组成分析(以前称为Black Duck Hub)。新思科技的Black Duck 软件组成分析是一种综合解决方案,用于管理由于在应用程序和容器中使用开源而产生的安全性问题、许可证合规性和代码质量风险,使企业可以控制整个软件供应链和整个应用程序生命周期中的开源使用。 Black Duck助力JDA可以设置和执行开源使用及安全策略,通过DevOps集成使策略执行自动化,并对修复活动进行优先级排序和跟踪。
JDA第三方产品合规性项目经理Meghan Caudill说:“我们所有的核心产品都在使用代码中心。大约三年前,当我们为新开发的SaaS本地产品JDA Luminate产品线构建CI / CD流程时,我们开始使用Black Duck 软件组成分析。我们的目标是到2020年初全面迁移到Black Duck 软件组成分析。”
效果:更完善的开源合规政策
John Vrankovich说:“借助Black Duck工具,我们能够制定更完善的开源合规性战略,以满足公司的要求和明确优先事项。我们现在能够确保发布的所有产品都不存在开源许可证风险或安全问题。我们能够跟踪和修复发现的所有问题。我们可以确保满足所有许可义务,并且仅在产品中使用经过批准的开源组件。最重要的是,我们知道正在使用什么、正在使用哪些许可证以及哪个版本;我们知道任何安全问题和组件修补程序的状态。”
John Vrankovich接着说:“ Black Duck提供了用于批准我们产品中的开源和第三方组件的全自动流程。我们为每个产品提供准确的物料清单。该清单可用于发布管理以及可能会提示任何类型的并购(M&A)流程。我们知道BOM是准确的,因此,我们对产品的安全性有了更好的了解。”
Black Duck与Jira集成,使JDA可以将其安全的SDLC完全扩展到识别和修复开源安全问题。
John Vrankovich表示:“我们在Jira上只有一个项目。无论是Black Duck还是客户发现的,或者由动态测试、静态测试、静态安全分析或渗透测试识别到的,所有安全问题都在这个Jira安全项目中体现。”
John Vrankovich介绍说:“我们在Jira管理如何解决已发现问题的工作流程。特定的应用程序团队会解决这些问题。安全工程师审查这些问题并批准对其进行补救。在发布过程中(用于发布我们软件的网关),将Jira信息用作报告,以确保发布管理团队在允许发布之前知道所有关键和高度安全问题已得到解决。”
John Vrankovich总结道:“如果是一家现代化的软件开发企业,则基本上是在遵循CI / CD流程并使用CI / CD工具。Black Duck会自动集成这些工具。使用它的开销非常低,无论是从商品成本的角度,还是手动与自动的角度来看,成本都较低。”