开源审计的流程

Synopsys Editorial Staff

Sep 28, 2021 / 1 min read

Table of Contents

我们的大多数客户都了解开源软件审计不同于自动扫描。审计涉及专家顾问使用Black Duck®商业工具和我们内部开发和使用的工具分析专有代码库。

开源审计的流程

预审

通常,交易收购方希望用Black Duck对目标公司的代码进行开源软件审计;或者被收购方用Black Duck对其拥有代码进行审计。还有其他用户,比如投资者、贷方、IP保险公司等也被要求或者鼓励使用Black Duck审计,而且种情况越来越普遍。

我们会指派一名项目经理与代码所有者(通常是并购交易中的第三方)合作,深入了解代码库及其架构的组成和复杂性。很大程度上来说,工作范围是由文件数量和所用技术中开源组件的多少来决定的。例如,JavaScript往往开源文件较多,而典型的C++代码库则包含较少的开源文件。

许多客户依靠我们来满足更广泛的软件尽职调查需求,包括代码质量、应用安全及评估软件开发过程。这些领域中的每一项都是专门的,因此尽管客户可能没有察觉到,但审计师拥有不同的专业领域的知识,且不同的审计师专注于不同的服务。

审计

一旦可以访问代码,专业审计员就会开始识别开源和其它第三方组件。这是半自动的,这意味着漏洞识别依赖于一套出色的工具以及审计师的专业知识。为全面起见,Black Duck工具采用了多种技术来识别未知的开源。在许多情况下,这些工具可以明确地识别组件,但有时,由于代码中的信息有限,它们只能提供线索来支持审计员的工作。

此识别过程的结果是一个全面的软件物料清单 (SBOM)。本质上,这是代码库中开源组件的列表。我们也经常通过识别源代码中的版权声明来识别其它第三方软件。SBOM是识别开源风险的基础。只有掌握代码中的内容,才能了解相关风险。

之后,我们会列出与开源相关的三类风险:法律性、安全性和运营性。

  1. 法律风险主要是开源许可证冲突。
  2. 安全风险源于使用有已知安全漏洞的组件,通常是尚未修补的旧版本。
  3. 运营风险通常由于使用过时或未激活的组件。

我们将SBOM和风险汇总成报告,然后通过安全门户平台提供给客户。客户可以在内部与顾问共享,有时也可以与目标公司共享。

审计后

在审计结束后,我们会建议客户安排审计后的会议沟通,我们的项目经理会解析报告内容,解答客户的问题等。

有的时候,客户会要求验证所有已识别的问题得到了解决。在修复后,我们可以执行验证扫描,提供新的报告。

申请免费审计咨询服务: https://www.synopsys.com/zh-cn/software-integrity/open-source-software-audit.html

Continue Reading