200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 国内外软件成分分析SCA产品评测

国内外软件成分分析SCA产品评测

时间:2021-09-20 10:55:42

相关推荐

国内外软件成分分析SCA产品评测

1. 概述

SCA理论上来说是一种通用的分析方法,可以对任何开发语言对象进行分析,Java、C/C++、Golang、Python、JavaScript等等,它对关注的对象是从文件层面的文件内容,以及文件与文件之间的关联关系以及彼此组合成目标的过程细节。从SCA 分析的目标程序形式上分,既可以是源代码也可以是编译出来的各种类型的二进制文件,分析的数据对象对程序架构,编译方式都是不敏感的,比如:类名称、方法/函数名称、常量字符串等等,不管目标程序运行在x86平台还是ARM平台,不管是windows程序还是Linux程序,都是一样的,简而言之SCA 是一种跨开发语言的应用程序分析技术。

SCA分析过程:首先对目标源代码或二进制文件进行解压,并从文件中提取特征,再对特征进行识别和分析,获得各个部分的关系,从而获得应用程序的画像—–组件名称+版本号,进而关联出存在的已知漏洞清单。

由于SCA分析过程中不需要把目标程序运行起来,因此具有分析过程对外部依赖少,分析全面,快捷、效率高的优点。

2. 国内主要厂商信息概览

国内厂商包括∶中科天齐、北大库博、泛联新安、开源网安、啄木鸟、默安科技、悬镜安全、海云安、思客云、鸿渐科技、棱镜七彩。

3. 外国头部厂商信息概览

国外头部厂商包括∶Synopsys、Veracode、Checkmarx、HCL software、Micro Focus、Rapid7、Contrast Security、WhiteHatSecurity。

4. 业界SCA工具分析

根据Forrester最新SCA报告,Forrester通过10个维度对不同工具进行打分:

TOP 10 SCA工具中有5款支持软件包开源软件SCA检查能力(synopsys/ Sonatype/ Veracode/ Jfrog/ GitLab),其他工具只支持源代码SCA检查能力。

5款支持软件包SCA检查工具中,对C/C++、Java、.Net语言支持的比较好,但对Golang、python、JavaScript语言支持能力偏弱,比如:synopsys支持的组件对象中前面3种语言占大头90%+,相应的检测率也高,而Golang语言的组件检出率则低很多。

5. 总结

国外SCA头部厂商基本上是"一站式"供应者,提供工具种类比较齐全,每个厂商都有各个擅长的领域,并且在领域内有"拳头"产品

国内虽然还没有专业的评测机构对市面上的SCA产品做专业的评测,但是根据各个厂家对外宣称的产品信息,不管是源代码文件的SCA检测工具还是二进制文件的SCA检测工具,种类还是比较齐全。这些国内厂商都有自己的核心产品,其中背靠中科院计算技术研究所、北大、国防科技大学的中科天齐、北大库博和泛联新安在人才储备、研发实力和产品全面性方面都有着不俗的表现

目前SCA工具检测开源软件的已知漏洞是基于组件名称+版本号来关联出已知漏洞的,对部分编译场景(只有部分组件代码被编译到二进制文件中)和patch打补丁场景(漏洞已修复),误报率高。现在SCA已从主要用作对开源软件的检测向应用程序的典型编码问题检测趋势扩展,比如Veracode工具,它能提供了对诸如缓冲器溢出、命令行注入、死锁、重复释放、整形数溢出、UAF、格式化字符串漏洞,SQL注入等典型编码问题的检测能力。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。