软件成分分析技术介绍
1.关于软件成分分析
SCA,Software Composition Analysis,软件成本分析是一种对二进制软件的组成部分进行识别、分析和追踪的技术。在开源软件日益盛行的今天,开源安全威胁成为企业组织无法回避的话题,与此同时,应用交付规模和频率的正在快速增长,软件成分分析对于安全合规风险管控和安全态势感知都是必不可少的能力。
2.基本原理
SCA 的目标是第三方基础组件/可执行程序/源代码等类型的以二进制形式存储的文件,包括但不限于源代码片段或 Package,可执行的二进制组件/程序,基础 lib,tar/tgz 压缩文件,镜像/镜像层,广义的软件构建过程等等。因此,所有以二进制形式存储的文件皆可以是其分析目标。
SCA 的方法不局限于具体的软件开发语言技术栈,即不关注是 Java、Python、C/C++、Golang 或者是 Node,还是 Docker(OCI)Image ,或者是广义的构建过程,而是从文件层面关注目标的各组成文件本身,以及文件与文件之间的关联关系以及彼此组合成目标的过程细节。简而言之,SCA 是一种跨开发语言的二进制文件分析技术。
软件成分分析分为两种模式,静态和动态。静态模式是使用工具对目标二进制文件进行解压,识别和分析各个部分的关系;动态模式则是依赖于活动过程,在活动执行的同时收集必要的活动元数据信息,通过数据的方式对目标组件各个部分之间的关系进行标定。动态模式主要针对组件缺乏自描述信息的场景,如 tgz 文件,而静态模式比较适合有自描述信息的文件,如 docker image。

3.用户场景
3.1 软件版本收敛治理
当某个软件作为镜像交付的一部分发布到线

最低0.47元/天 解锁文章
5127





