运行时软件组成分析

识别和管理应用程序在运行时使用的开源组件和库中的漏洞。

传统 SCA 可在构建过程中识别第三方依赖关系,这可能会导致产生海量结果。运行时 SCA 通过在执行过程中监控应用程序来确定被实际加载的库,从而优化此数据。通过区分引用的代码和使用的代码,您可以将补救重点放在构成实际风险的组件上。

主要优势

  • 操作准确性:区分处于非活动状态的依赖关系和处于活动状态的高风险库。
  • 风险优先级确定:获取更深入的漏洞上下文信息,以精简您的补救待办列表。
  • 生产洞察:使用 IAST_SCA_PROD 来监控生产环境,该变量会禁用完整的安全测试并支持库检测,从而将开销降至最低。
  • 函数级可访问性:检测在应用程序运行时是否有与 CVE 关联且存在漏洞的函数被实际执行。函数级可访问性不再仅显示某个存在漏洞的包被加载到内存中,而是提供了更有力的证据,证明存在漏洞的代码本身已被调用。这种更深层的信号有助于安全团队确定其环境中被主动执行的漏洞的优先级。
    注:
    此功能目前仅支持 Python。
  • 运行时库检测: ASoC 现在可识别并报告已检测到的运行时库中的已知 CVE,还能检测出仅在运行时导入或加载、但在标准静态依赖关系分析中无法发现的库。仅在运行时加载的依赖关系现在可以进行独立报告,从而让用户能够更好地了解仅在应用程序运行时存在的漏洞。

实施工作流程

要利用运行时 SCA,您必须部署代理程序并将其结果与标准 SCA 扫描进行关联。
  1. 部署 IAST 代理程序。

    在您的应用程序服务器上安装 IAST 代理程序。

  2. 配置环境变量。
    通过将以下变量之一添加到 IAST 配置文件中来启用运行时检测:
    变量 环境 描述
    IAST_RUNTIME_SCA 测试/登台 启用完整的 IAST 功能以及运行时库检测。
    IAST_SCA_PROD 生产 禁用标准 IAST 功能,仅保留库检测处于启用状态。
  3. 运行该应用程序。
    代理程序必须监控正在使用的应用程序,以识别已加载的库。您可通过以下方式触发此操作:
    • 运行自动功能测试或回归测试。
    • 执行动态 (DAST) 扫描。
    • 手动探索应用程序。
  4. 关联和审核结果。

    在代理程序已监控应用程序后,运行标准 SCA 扫描。 ASoC 自动将静态扫描结果与代理程序的运行时数据相关联。然后,已确认的活动库将显示在关联组中,以便于进行识别。