1. 概述
目前
SCA(软件成分分析)在2016-2018年Gartner发布的DevSecOps中均有出现。但每年的关注点不同,在2016年的报告中,强调的是DevSecOps的安全测试和RASP(运行时应用安全保护);2017年时侧重面向开源软件(Open Source Software)进行安全扫描和软件成份分析;2018年继续强调针对开源软件的软件成份分析。
软件成分分析(SCA,Software Composition Analysis)专门用于分析开发人员使用的各种源码、模块、框架和库,以识别和清点开源软件(OSS)的组件及其构成和依赖关系,并识别已知的安全漏洞或者潜在的许可证授权问题,把这些风险排查在应用系统投产之前,也适用于应用系统运行中的诊断分析。
2. 关键评估指标
Gartner给出了SCA关键评估指标,包括:
1) 是否具备漏洞和配置扫描功能?
2) 能否将开源组件指纹与CVE关联?
3) 能否与SAST/DAST/IAST扫描集成?
Gartner给客户的建议则包括:
1) 不要轻易让SCA的使用者(一般是开发人员)切换工具;
2) 需要提供API以便使用者进行自动化集成;
3) 确保能够检查到开源软件的许可证问题;
4) SCA的测试过程要无缝集成到 DevSecOps流程中;
另外,在Gartner的2018年应用安全的Hype Cycle中,SCA相较于之前更加成熟,但仍处于成熟早期的阶段,属于应用安全测试的范畴,可以综合使用静态测试、动态测试、交互测试等手段。
SCA与SAST各有其负责的流程,SAST负责对自编的源代码进行安全检测。