欢迎光临散文网 会员登陆 & 注册

国外SAST产品小析

2023-03-02 09:04 作者:manok1  | 我要投稿

这里介绍13款国外SAST产品

1、Fortify SCA

全称:Fortify Static Code Analyzer

2023年2月1日 总部位于安大略省滑铁卢的信息管理解决方案提供商OpenText (纳斯达克代码:OTEX)以60亿美元收购了总部位于英国纽伯里的关键任务软件技术和服务提供商Micro Focus;美国HP_fortify,2006年进入中国市场,2011年被惠普收购。在2017年惠普把HPE出售给Micro Focus公司。

Fortify定位是安全漏洞检测,支持开发语言最多,超过30种主流开发语言,是支持开发语言最全面的静态分析工具,部分支持语言收费,部分模块收费。

对工程需要编译后进行检测,对C/C++语言较弱;是国内用户非常多的一款SAST产品。

2019年7月,Gartner 2019年应用安全测试魔力象限报告再次将Micro Focus Fortify评为“领导者”

主要单机模式安装;误报率较高,不支持增量检测。

2、Checkmarx

Checkmarx是一家以色列高科技软件公司,是世界上著名的代码安全扫描软件Checkmarx CxSAST的生产商。

2020年3月,私募公司Hellman&Friedman以11.5亿美元收购Checkmarx。

Checkmarx最大特点是不用编译即进行检测。但是Checkmarx使用 .net开发,必须安装在Windows上,所以国产服务器如果使用ARM架构则无法安装。它的规则也是类似.net语言的语法。其安装通常使用sql server数据库。

Checkmarx对C/C++语言检测支持非常弱。

3、Klocwork

美国rogue wave公司产品。军工企业使用较多。Klocwork Insight能够分析C、C++和Java代码分析。

自动产生流程图,有超过100种代码度量,包括对文件、函数和类三个方面度量。支持编译不通过也能够检测。不足是只能C/S架构部署,增量检测需要单独购买License。

4、Coverity

Synopsys公司是由一流的斯坦福大学的科学家于2002年成立,国内注册新思科技公司(武汉)。

侧重于C/C++语言的检测,支持超过70种开发语言框架,上百种编译器;

特点是误报率相对较低。不足的是除了C/C++语言之外,其它开发语言检测能力偏弱。

5、Veracode 

Veracode 成立于2006年,是一家美国网络安全技术公司。作为传统应用安全测试市场的长期强者,Veracode公司成熟的SaaS产品长期主导静态应用程序安全测试(SAST)和动态应用程序安全测试(DAST)领域。Veracode的路线图侧重于在开发人员环境中统一静态应用程序安全测试(SAST)和软件组合分析(SCA)功能。

Veracode主要特点是对二进制的静态分析,它把SCA和SAST融合,SAST代码层面的数据流和控制流,为SCA提供了更多的漏洞信息。Veracode在国内市场做的一直不是太好。没有使用过这块工具。

6、Codesonar

CodeSonar是由 Gramma Tech 公司(美国)开发的 C/C++代码静态缺陷检测工具,通过过程间分析,可以检测出导致系统崩溃、内存冲突的各种严重的错误,包括空指针引用、缓冲区溢出等软件缺陷。

主要优点也是缺点,就是专注C/C++、Java语言,其它语言不支持。

7、SonarQube

是一个在国内比较流行的静态扫描工具,运营社区版,也有商业版。

优势sonarqube能够比较好的支持CI,支持的开发语言较多,但是sonarqube主要是整合了很多开源工具,检测结果以安全编码规范问题为多,没有使用过商业版本。国内曾经出现过sonarqube后门事件,ZF发正式文件进行全市企业自行检查是否存在该问题。

8、Synk

Snyk是2015年诞生的,5年内,Snyk在开发者安全领域掀起了一场Shift Left Movement,shift left意思是把测试时间提前。Snyk是一套云原生、以开发人员为中心的工具,专为DevSecOps和云原生开发商店而构建。它以其SCA和容器安全扫描功能而闻名,它还提供SAST和API漏洞测试。

该公司发展势头很强,但是SAST没有体验过。

9、ShiftLeft

ShiftLeft公司,成立于2016年,总部位于美国加利福尼亚州圣克拉拉市。

其核心价值在于将软件组合分析(SCA)和静态应用程序安全测试(SAST)整合到一个扫描行为中,当开发人员提出拉取请求时完成该扫描。该技术使用该公司称为代码属性图(CPG)的技术来绘制自定义代码、开源库、SDK和API之间的依赖关系和数据流,不仅可以找出整个应用程序的缺陷,还包括其开源组件,但也是逻辑应用程序的弱点。

我使用过其在gitlab上部署的版本,检测Java语言还可以。

10、Semmle QL

Semmle 是一家孵化于牛津大学的安全公司,主要做白盒静态扫描工具,其投资者包括 Google, Microsoft, NASA 等,其产品的核心思想是将源代码变成数据,将安全分析问题变成数据库查询。微软的一篇文章中提到 Semmle QL 的能力包括 vTable 自动查找、数据流分析、污点跟踪等。

11、PolySpace

PolySpace测试技术始于1996年,当时欧洲亚丽安娜501箭由于飞计算机软件运错误导致主/辅计算机全部停机并在飞升空后爆炸,为此,法国国家计算机与控制研究所、欧洲航天局组织专门的量研制以抽象解释技术(Abstract Interpretation techniques)为理论基础的新代软件验证/测试具—PolySpace,并在亚丽安娜502上得到成功的应。1999年由法国国家计算机与控制研究所、欧洲航天局共同成PolySpace Technology公司,将PolySpace产品正式商业化,并且在国内外军上得到泛应。PolySpace是世界上动检测嵌式软件运错误的业化具,是新代的软件测试具。

2007年425,PolySpace正式宣布被Mathworks收购,成为MathWorks产品家族的员,。

12、PVS-Studio

PVS - Studio 是一款静态分析软件,PVS - Studio 工具是俄罗斯 “Program Verification Systems” 公司自主开发。用于诊断C / C++/ C+11 应用程序源代码中的错误。
PVS - Studio 包含3套诊断规则:

64位错误诊断规则(Viva64)

平行错误诊断规则(VivaMP)

通用诊断规则

13、QAC

英国PRQA公司成立于1986年,总部位于英国Hersham。主要编码规则测试。QAC/QAC++能够对C/C++代码规则进行自动检查,报告所违反的编程标准和准则。侧重于MISRA规则((ISO,MISRA C,JVF,EC++等)。能够发现1300多种C语言问题、800多种C++的问题,主要针对C语言。主要侧重于分析编码风格、冗余代码、函数类型等编码规则方面的问题。

如果您不想看文字,可以在视频听我的讲解。

-----------------------------------------------------------------------------------------------------------manok

国外SAST产品小析的评论 (共 条)

分享到微博请遵守国家法律