Black Duck® 软件组成分析 (SCA) 帮助团队管理在应用和容器中使用开源和第三方代码所带来的安全、质量和许可证合规风险。
Black Duck 比其他任何供应商都能更好地满足 Entersekt 在开源漏洞管理解决方案中所需要的功能清单。"
Philip Botha
|Entersekt 质量保证经理
Black Duck的多因子开源组件识别技术以及包含超过450万个组件的知识库,允许您全面了解任何应用程序或容器的组成。
与 Maven 和 Gradle 等构建工具集成,跟踪以 Java 和 C# 等语言构建的应用中已公开和过渡性的开源依赖关系。
将字符串、文件和目录信息映射到 Black Duck 知识库,以便在使用 C 和 C++ 等语言构建的应用中识别开源和第三方组件。
识别已编译的应用库和可执行文件中的开源。无需源代码或构建系统访问权限。
查找专有代码中复制的开源代码部分,这样复制可能会使您面临许可证违规和冲突。
Black Duck的探测技术帮助您生成基于编译构建的应用程序和容器使用到的开源、第三方和专有软件组件的完整SBOM。支持导出符合NTIA规范的SBOM的格式,如SPDX和CycloneDX,构建可信的应用程序并且追溯组件相关的安全、许可和运维风险。
Black Duck Security Advisory 可帮助您避免在开发和生产中遭到开源漏洞攻击。它们提供了确定修复漏洞优先级所需的关键数据,例如利用信息、补救指南、严重性评分和调用路径等数据。了解有关 Black Duck 漏洞数据库的更多信息。
及时。 监控并增强了数千个安全源 ,以便当天就通告大多数漏洞——在纳入国家漏洞数据库之前,提早数周发出预警。
准确。 我们的安全专家团队审查并验证漏洞数据,以确保准确报告漏洞描述、严重性、漏洞风险和受影响的版本。
可操作。 我们团队详述的修复和补救指南有助于确定漏洞的优先级,选择理想补丁或升级路径,并识别攻击或损害的证据。
自动化。 根据关键漏洞数据(如严重性、可用解决方案、可利用性、CWE 和呼叫路径分析),确定漏洞的优先级以进行修复。
Black Duck 自动化策略管理允许您预先定义开源使用、安全风险和许可证合规策略,并使用开发人员已经使用的工具在软件开发生命周期 (SDLC) 内自动执行。 详细了解我们的 DevOps 集成。
识别、避免或自动修复您编码时风险较高或违反策略的组件。
使用 Jenkins 等 CI 工具,根据违反策略的情况自动执行扫描、警报或停止构建工作。
在部署应用和容器之前对其进行检查,并在部署之后获得自动发送的安全警报。
无论您的软件是通过 Web 交付还是嵌入硬件设备,都要务必确保开源许可证合规。通过更深入地了解许可义务和归属要求,降低知识产权的成本和风险。了解有关开源许可证合规的更多信息。
Black Duck 示意图 参照我们的 知识库 中跟踪的 2,700 多个 许可证 ,确定已识别的组件具有哪一种许可,并标记具有 未知许可证的组件 ,以便对其进行审核。
义务摘要 以简明标准的术语解释许可证要求, 以便开发和法律团队可以快速评估将组件 纳入其应用的影响。
Black Duck 会自动标记 潜在的许可证冲突 , 帮助团队遵守策略执行,通知文件生成有助于他们准确 报告客户的 许可证条款。
由于人们误以为专有代码和开源代码中的漏洞可以通过相似方式进行检测和修复,开源安全性经常被忽略。现实情况是,SAST、DAST 等应用安全测试工具无法有效检测开源漏洞。输入 SCA。
软件组件分析 (SCA) 和其他应用安全工具之间的关键区别在于这些工具的分析内容以及状态。SCA 分析第三方开源代码的漏洞、许可证和操作因素,SAST 分析专有代码中的漏洞,而 DAST 则测试正在运行的应用的漏洞行为。
全面的软件安全程序都包含 SAST 和 SCA。采用此类方法的组织在整个 SDLC 中获得改进,包括:通过提前发现问题提高质量、透彻了解专有和开源代码、通过在开发过程的早期检测和修复漏洞来降低修复成本、将安全漏洞的风险降至最低,以及优化既有效又兼容敏捷开发的安全测试。
Black Duck 提供便于使用的开源集成方案,适配最流行的开发工具并提供 REST API,可以针对几乎任何商业或定制的开发环境构建自己的集成。Black Duck 提供广泛的 SDLC 集成,包括 IDE、包管理器、CI/CD、问题跟踪器和生产能力。
大多数解决方案完全依赖国家漏洞数据库 (NVD) 提供的数据。这种局限带来了一个问题,因为许多漏洞从未被记录在 NVD 中,而另有一些漏洞直到公开几周之后才被列入。Black Duck Security Advisories (BDSA) 超越 NVD,借助经由 Synopsys 网络安全研究中心 (CyRC) 研究和分析的增强型数据,保证完整性和准确性,尽早发出漏洞提醒并提供全面的见解。
大多数解决方案采用包管理器声明来识别开源组件。但如果不能扫描超过已声明范围的依赖项,您必定会错过某些开源。如果您不知道它的存在,就无法确保它是否安全和合规。
包管理器扫描会忽略开发人员未在包清单中声明的开源、C 和 C++ 等语言或内置在容器中的开源(不使用包管理器)、已修改的开源,或仍具有许可义务的部分代码片段。通过将文件系统扫描和代码片段扫描与构建过程监控相结合,Black Duck 针对包管理器未跟踪的开源组件、局部开源和可能未经修改或尚未声明的开源,以及动态和传递依赖性的组件和版本验证,提供可见性。
答案简而言之,就是实现端到端开源风险控制的广泛而强大的解决方案。像 Black Duck 这样的解决方案为整个 SDLC 的开源管理提供了全面的方法。
具体而言,在选择 SCA 解决方案时应考虑以下功能:
Black Duck 支持最常见的包管理器。Black Duck 的代码片段扫描功能覆盖了最主要和最常用的语言。专家 KnowledgeBase™ 团队持续监控并添加新语言,确保所有通用语言都得到支持。
此外,Black Duck 的专有签名扫描方法与语言无关。此扫描方法根据文件和目录布局以及独立于语言的其他元数据搜索签名。
是。某些解决方案可以在不进行任何修改的情况下,扫描二进制文件,以获取包管理器信息或直接从存储库提取的二进制文件。Black Duck 的复杂二进制扫描解决方案可以破解二进制文件,以检测修改后的二进制文件,并提供传统语言和广泛的工件支持。
Black Duck 的开源 KnowledgeBase™ 是业界最全面的开源项目、许可证和安全信息数据库,其中的信息均由 Synopsys 网络安全研究中心 (CyRC) 负责获取和管理。知识库包含 2,650 多个独立的开源许可证(GPL、LGPL、Apache 等),其中包含最常用的开源许可证的完整许可证文本以及每个许可证内嵌的数十种特性和义务。Black Duck 还纳入深度版权数据以及提取嵌入式开源许可证的功能,以实现完全开源合规性。
是。Black Duck 允许使用 Docker(和其他)容器封装和交付应用的团队确认和证明其容器中的任何开源符合使用和安全策略,没有漏洞,且已履行许可义务。开源管理包括持续监控影响现有应用和容器的新漏洞。