Checkmarx是一家以色列高科技软件公司,是世界上著名的代码安全扫描软件Checkmarx CxSAST的生产商,拥有应用安全测试的业内前沿解决方案-CxSAST、CxOSA、CxIAST。分别对应的SAST、SCA和IAST三类应用安全测试类型工具。

Checkmarx CxSAST主要功能是查找安全漏洞、质量缺陷、逻辑问题和后门代码。是一个独特的源代码分析解决方案,该工具可用于识别、跟踪和修复源代码中技术上和逻辑上的缺陷,比如软件安全漏洞、质量缺陷问题和业务逻辑问题等。

Checkmarx使用 .net开发,必须安装在Windows上,它的规则也是类似.net语言的语法。其安装通常使用sql server数据库。

Checkmarx:订阅式和永久式。订阅式每年付费、永久式一次性付费。订阅式缺点是如果不续费,产品无法继续使用。订阅式每年的价格大约在50万人民币左右。还有一种方式按照用户数进行收费,不过用户可以同时登入。

Checkmarx提供了一个针对静态代码安全审计的解决方案,帮助企业在软件开发过程中查找、识别、追踪绝大部分主流编码中的技术漏洞和逻辑漏洞,帮助企业以低成本控制应用程序安全风险。CxSAST无需搭建软件项目源代码的构建环境即可对代码进行数据流分析。通过与各种SDLC组件的紧密集成,CxSAST可实现分析过程的完全自动化,并为审计员和开发人员提供对结果和补救建议的即时访问。

优势:

  1. 支持24种开发语言。
  2. 无需编译便可检测(Checkmarx早期针对编译型语言是编译后检测,几年前才调整为不需要编译就能检测)。
  3. 可以定制规则(虽然说门槛很高,用途不大,定制规则基本上无法发现高危漏洞,自定义规则主要是对违反安全编码规范的检测。但是由于很多国内客户被这些国外厂商洗脑,给出了一个美好的想象,实际上很难在生产中运用)。
  4. 支持增量检测(基于Git/SVN的增量检测,实际上是一种借助代码仓管给出的增量代码(包括新增,修改的文件)进行的检测)。
  5. 分析是java文件,非class文件。
  6. 误报率较高,一般在30-40%左右。
  7. 支持多个安全漏洞的关联分析。

劣势:

  1. 安装在Windows平台上。
  2. 默认检测规则比较差,适用性不强。
  3. 漏报率相对较高。
  4. 检测效率较低,一般在30-40万左右/小时。
  5. 无法支持国产服务器部署。

支持的24种开发语言:

Java、JSP、JS、SQL、VB.NET、H5、Kotlin、Ruby、ASP.net、TypeScript、Scala、ASP、C++、VB、PHP、Apex(AppExchange platform)、Stroooy、C#、ES5/ES6、Python、Go、visualForce、Swift、C

支持产生检测报告格式:

支持PDF、Excel、RTF、CSV和XML形式。

关于自定义规则说明:

Checkmarx把词法分析、语法分析的结果保存在数据库中,用户可以基于开放式查询语言(其内置查询语言CxQL允许对查询进行添加、修改和分组)编写查询语句,也就是通过类似SQL语句编写,完成自定义规则。一般用户是很难添加自己的定制查询语句,也很难使用自己定制的语句发现深层次的安全漏洞。

对编译型语言是针对源代码本身进行检测的解释:

Checkmarx CxEnterprise通过自行研发的综合词法分析、语法分析等分析技术,自动对软件源代码分析,并直接建立了代码元素及代码元素之间关系的逻辑图。然后Checkmarx CxEnterprise对这个内部代码图进行查询。

其缺陷模式匹配原理:

Checkmarx CxEnterprise包含针对所有编程语言已知数百个安全漏洞和质量缺陷问题预先设定好的查询(query)列表。可以查询全面而又广泛的代码安全和质量缺陷,同时使用Checkmarx CxEnterprise CxAudit 审计工具,您可以根据您自己的软件安全、质量保证和业务逻辑需要配置并自定义的查询(Query),以满足公司或者个人特定的代码安全策略及代码安全基线标准要求。

checkmarks的缺陷规则就是一个一个的查询,这个查询定义了如何从数据流网中找到我们关心的数据流。

checkmarks内置了100多个函数,客户可以利用这种函数找到关心的数据流的起点,终点。当然也可以定义净化点,比如设置某个API调用作为一个净化点,就不会报出经过该净化点的安全漏洞。

Checkmarx CxSuite插件组成:

CxManager - 直观的源代码安全扫描结果管理。

CxDeveloper –扫描源代码,定位安全缺陷。

CxViewer - 审查代码扫描结果以便于安全缺陷修复。

CxConsole- 命令行接口实现团队项目集中扫描和自动化。

CxAudit - 调查或者研究源代码,分析技术和逻辑安全问题,定制代码安全查询规则。CxAudit是Checkmarx产品套件CxSuite的一部分。该产品的设计旨在帮助安全风险管理人员编写具体的查询程序来加强公司的最佳实践和遵循标准安全规范,实现和制定公司安全策略,然后将其分配给开发团队进行统一的安全扫描。

支持检测的安全漏洞主要包括:

SQL注入、跨站脚本、代码注入、缓存溢出、参数篡改、跨站请求伪造、HTTP响应拆分、日志伪造、拒绝服务、会话固定、未处理的异常、未释放的资源、未经验证的输入、危险的文件、硬编码密码等等。

Checkmarx的深层次不足:

  1. 不支持模块引擎语言,比如Velocity、Freemarker、Thymeleaf等;
  2. 对前后端分离的项目分析无法支持,如后端Spring MVC,前端VUE无法关联分析;
  3. 不支持 vue、react等框架文件的分析。
  4. Cheackmarx不会对Spring依赖注入的情况,数据流经常是不完整的,注入的接口类不能进入内部分析,会造成一定的漏报。
  5. 对一些ORM框架不能进行数据流分析,如Mybatis、Spring data jpa等,实际执行sql操作的类都是运行时产生的,比如mapper接口实现类,Checkmarx不会分析不同的框架,造成了一定的误报。

(结束)

SAST——Checkmarx静态检测工具收集(2)相关推荐

  1. 静态检测工具STATIC以及静态分析的必要性

    这一篇向大家介绍的是我司静态检测工具STATIC以及静态分析的必要性.欢迎各位技术大牛发表自己的看法呀! 正常运行的软件就是完美的软件吗? 下图是漫威电影<黑豹>中给小编留下很深印象的场面 ...

  2. 利用OWASP Benchmark V1.2基准对国内静态检测工具的测评分析

    笔者一直从事于软件测试.软件安全方面工作,跟踪国内外软件测试工具的使用和效果.最近笔者接触了CoBOT源代码缺陷检测工具,想验证一下该工具的检测效果,于是下载了OWASP Benchmark 1.2基 ...

  3. Linux下cppcheck静态检测工具

    1. cppcheck工具说明: cppcheck工具是一个C/C++代码缺陷静态检查工具.它不仅可以检查代码中的语法错误,还可以检查出编译器检查不出来的缺陷,从而辅助提升代码质量. 2. Linux ...

  4. 代码静态检测工具cppcheck简介

    cppcheck是一款小型的代码缺陷静态检查工具,支持C.C++代码,作为编译器的一种补充检查方式,不同于C/C++编译器等其他众多分析工具,它不检测代码的语法错误,只检查编译器检查不出来的BUG类型 ...

  5. Cppcheck--C/C++代码静态检测工具

    官网: http://cppcheck.net/ cppcheck 是一个静态代码检查工具,支持c, c++ 代码:作为编译器的一种补充检查,cppcheck对产品的源代码执行严格的逻辑检查. 执行的 ...

  6. c语言静态检测工具,静态代码检测工具---PC-lint(for c/c )

    近来由于项目的需要,本来想使用unstand c++或者C++ test来检查我们既有代码中函数申明与使用不一致的错误,因为sv项目是用纯C来写的,所以,编译时编译器看到.c后缀自动使用c编译器进行编 ...

  7. php静态检测工具,PHP工具箱:PHPStan —— PHP 静态代码分析工具

    image PHPStan:无需写测试就能找到代码中的 Bug 每当我看到开发人员从 Java 或 C# 等编译语言切换到 PHP 这样的解释语言时解放了生产力后感到很高兴.除了这些常规的执行模型(发 ...

  8. 源代码安全检测工具PC_Lint与ITS4实例 zz

    1. 目前代码的安全形势2 `4 S# {, ~% U4 a 1.1 缓冲区溢出问题( t) b6 W7 V) n: S- C "缓冲区溢出"是越过了数组边界进行读写的一类内存访问 ...

  9. Windows下 C++代码检测工具

    最近在查阅一些windows系统下的C++代码及性能检测工具, 按照检测类别分别静态检测和动态检测. 静态检测: 在程序没有被实际执行的情况下执行的计算机软件分析,大部分是对源代码的分析和检测. 动态 ...

最新文章

  1. Postfix邮件服务器搭建之roundcube webmail安装与配置
  2. html 一行显示边框线,HTML 网页中要显示出来一个虚线的边框 就是一行字在边框里面,那个边框是显示出来的,程式码应该怎么写?...
  3. Non-interger Area 分类讨论 奇偶 取模 牛客练习赛95
  4. 关于html5的几个新标签在IE9之前不支持的解决办法
  5. java ora 00911_ORA-00911错误
  6. Python操作Redis(转)
  7. GIT_服务器与本地环境构建
  8. 给定没有重复数字的序列,将其全排列
  9. [BZOJ] 3301: [USACO2011 Feb] Cow Line
  10. Java判断文件夹是否存在,不存在则新建
  11. Flash游戏开发常用函数代
  12. java1.5_Java15下载 JDK15(Java SE Development Kit 15) 15.0.2 官方正式版 Win64位 下载-脚本之家...
  13. OpenCV图像预处理常用函数及流程
  14. Linguist for Mac(mac菜单栏语言翻译工具)
  15. 征途对计算机配置要求,征途2配置要求是什么?
  16. Elk实时日志分析平台搭建
  17. jQuery学习-基本使用
  18. VIL-SLAM论文翻译:Stereo Visual Inertial LiDAR Simultaneous Localization and Mapping
  19. 加壳工具推荐-无需编程自动化加壳
  20. 雷军:你写程序有写诗一样的感觉吗?没有就做产品经理吧

热门文章

  1. 全相位算法c语言表达,基于DSP的全相位FFT频率计设计.pdf
  2. printf格式化输出整数
  3. 信安Note_day09
  4. 【期末复习】操作系统结构与分析(南邮信安)
  5. 构建网络空间命运共同体 !麒麟信安参展2021年世界互联网大会“互联网之光”博览会
  6. [日本留学]高频面试问题清单
  7. 使用过滤器做一个过滤敏感词实例
  8. 点聚weboffice打开服务器文件,对点聚weboffice插件的使用说明
  9. ORMLite的集成和使用
  10. 滥用 ESI 详解(上)