摘要: 之前的文章《Web安全之SAST和DAST(静态和动态应用程序安全测试)详解》讲解了SAST和DAST,《Web安全之IAST(交互式应用程序安全测试)详解》讲解了IAST,本文再讲解一个安全测试技术SCA。什么是SCA? SCA(Software Com...
之前的文章《Web安全之SAST和DAST(静态和动态应用程序安全测试)详解》讲解了SAST和DAST,《Web安全之IAST(交互式应用程序安全测试)详解》讲解了IAST,本文再讲解一个安全测试技术SCA。
什么是SCA?
SCA(Software Composition Analysis),软件成分分析,是一种用于测试软件组件的质量和可靠性的方法。通过对软件组件进行详细的分析,找出其中的缺陷和问题,以便在软件发布之前进行修复。
当下软件开发中,需要依赖大量的三方库、组件,也会使用大量的开源代码片段。例如容器化会使用开源的基础镜像或者商业公司维护的免费镜像,数据库可能会使用开源的MySQL、MongoDB、PostgreSQL等,代码中会使用大量的三方包等等。所以依赖的三方库和组件的安全威胁越来越大,这些安全威胁也被越来越多的企业所重视。使用SCA技术对应用程序进行安全检测,是实现安全管理的方法之一。
SCA原理
SCA是一种通用的分析方法,可以对任何语言程开发的应用序进行分析。SCA分析过程一般是先对目标源代码或二进制文件进行解压,从解压后的文件中提取特征并对特征进行识别和分析,获取各个部分之间的关系,从而获得应用程序的画像(组件名称、版本号、开发语言等),进而关联出存在的已知漏洞。
小结
如果开发的应用程序中依赖了大量的三方库和组件,使用SCA技术对应用程序进行安全检测是最合适不过的。一般在软件开发生命周期的早期阶段做SCA,可以以较低成本发现和修复安全漏洞。
稿源:https://baijiahao.baidu.com/s?id=1763795192437545612