工具简介
Checkmarx CxEnterprise静态源代码安全扫描和管理工具是以色列Checkmarx 公司研发新一代源代码静态扫描方案。Checkmarx CxEnterprise的主要功能是通过扫描源代码发现代码中存在的质量缺陷和安全问题,从而提高代码的质量,减少人工代码审查和测试的时间。
Checkmarx CxEnterprise扫描工具目前总共支持200多种代码质量和安全问题。其中质量问题包括:运算错误、边界溢出、异常处理、编码规范和逻辑错误。安全问题包括:注入型漏洞,内存溢出,跨站脚本,信息泄露等。
Checkmarx CxEnterprise与别的静态扫描工具的区别是其的虚拟编译器技术。Checkmarx CxEnterprise虚拟编译器通过内置的语法解析器把不同语言的代码转换到一种通用的格式,再以CxQL(Checkmarx创建的规则语言)所编写的漏洞规则去查询这个转换后的元素库。通过这种技术,Checkmarx CxEnterprise可以做到不依赖于开发平台和操作系统,把源代码扫描应用到开发阶段的早期。其公开的规则库和灵活的CxQL语言使用户自定义和修改扫描规则变得十分简单。
主要特性
操作系统独立
代码扫描不依赖于特定操作系统,只需在在企业范围内部署一台扫描服务器,就可以扫描其它操作系统开发环境下的代码,包括但不限于如下操作系统Windows、 Linux 、AIX,HP-Unix, Mac OS, Solaris,无需在每种平台安装相应的版本,节约相关平台的软硬件成本.
编译器独立、开发环境独立,搭建测试环境简单快速且统一
由于采用了*的虚拟编译器技术,代码扫描不需要依赖编译器和开发环境,无需为每种开发语言的代码安装编译器和测试环境,只需要通过浏览器、开发环境集成插件登录到CxManager Application服务器,提供本地代码扫描代码的目录、远程代码目录、和版本管理代码目录(Subversion、CVS,ClearCase即可,扫描代码无需通过编译过程。搭建测试环境快速简单,无需像某些静态分析工具,必须在相应的操作系统上安装相应的工具软件包,安装众多开发工具和代码依赖的第三方库及软件包、调试代码通过编译,方可进行测试。CxSuite CxEnterprise安装一次,即可扫描Java代码、C/C++代码、.NET代码JSP、JavaSript 、VBSript、 C# 、 ASP.net 、VB.Net、 VB6、 ASP 、Perl、Apex Visual Force、Android、OWASP ESAPI、MISRA和Objective-C (iOS)… 等各种语言代码,并且不管这些代码是在windows平台、Linux平台或者其它平台。
工具学习、培训和使用的成本少,最小化影响开发进度
由于编译器、操作系统和开发环境独立,使用者无需去学习每种平台下如何去编译代码,调试代码、如何扫描测试代码,无需去看每种平台下繁琐的使用手则。因为Checkmarx CxEnterrise服务只需要提供源代码即可扫描,并给出精确的扫描结果。
低误报
CxEnterprise 企业服务在扫描过程中全面分析应用的所有路径和变量。准确的分析结果,验证可能的风险是否真正导致安全问题,自动排除噪音信息,扫描结果几乎就是最终的分析结果,其误报率(False Positive)几乎为零。极大的减少了审计分析的人工劳动成本,极大的节省了代码审计的时间,为开发团队赢得更多的开发时间。
安全漏洞覆盖面广且全面 (低漏报)
数以百计的安全漏洞检查适合任于何组织,支持的OWASP 、CWE、SANS、PCI、SOX等组织对软件安全漏洞的定义。漏洞覆盖面广,安全检查全面,其自定义查询语言CxQL可以让用户灵活制定需要的代码规则,极大的丰富组织特定的代码安全和代码质量的需要。
安全查询规则清晰且*公开实现
规则定义清晰,并*公开所有规则的定义和实现让用户清楚知道工具如何去定义风险、如何去查找风险,透明各种语言风险。让用户知道工具已经做了那些工作,没有做那些该工作。而不是给用户一个黑匣子,用户无法了解工具的细节和缺陷,无法在代码审计过程中规避工具的风险(比如漏报和误报),比如利用人工或者其它手段查找工具不能定位的问题。
扫描性能
10万行代码扫描时间在10~30分钟不等,视代码复杂度和硬件配置而不同。
安全规则自定义简单高效
由于公开了所有规则实现的细节和语法,用户可以快速修改规则或者参考已有的规则语句自定义自己需要规则,规则学习,定义简单高效。能快速实现组织软件安全策略。
业务逻辑和架构风险调查
Checkmarx CxEnterprise服务可以对所有扫描代码的任意一个代码元素(词汇)做动态的数据影响、控制影响和业务逻辑研究和调查。分析代码逻辑和架构*的安全风险,并最后定义规则精确查找这些风险。这是目前能动态分析业务逻辑和软件架构的静态技术。
攻击路径的可视化,并以3D形式展现
每一个安全漏洞的攻击模式和路径*呈现出来,以3D图形的方式显示,便于安全问题调查和分析。
代码实践的加强
内置软件代码质量问题检测,同时也提供自定义规则去验证编程策略和实践。
CHECKMARX CXENTERPRISE目前支持主流语言
Java、JSP、JavaSript、 VBSript、C# 、ASP.net 、VB.Net、 VB6、 C/C++ 、ASP 、PHP, Ruby、Perl 、 Android、OWASP ESAPI、MISRA、和Objective-C (iOS) .(AppExchange platform)、API to 3rd party languages
支持的主流框架(FRAMEWORK)
Struts 、Spring、Ibatis、GWT、Hiberante 、Enterprise Libraries、 Telerik 、ComponentArt 、Infragistics、 FarPoint ,Ibatis.NET、 Hibernate.Net [*] 、MFC,并可针对客户特定框架快速定制支持。
服务独立,全面的团队扫描支持
作为服务器运行。开发人员、管理人员和审计人员都可以凭各自的身份凭证从任何一处登录服务器,进行代码扫描、安全审计、团队、用户和扫描任务管理。
高度自动化扫描任务
自动集成版本管理(SubVersion、TFS)、SMTP邮件服务器和Windows账户管理,实现自动扫描代码更新、自动扫描、自动报警和自动邮件通知等
支持多任务
排队扫描、并发扫描、循环扫描、按时间调度扫描。提高团队扫描效率
云服务实现
支持跨Internet实现源代码安全扫描“云服务”。