源代码安全要靠谁? 目前行的php开发工具有
 段晨晖 2010-03-04
三款静态源代码安全检测工具比较
1. 概述
    随着网络的飞速发展,各种网络应用不断成熟,各种开发技术层出不穷,上网已经成为人们日常生活中的一个重要组成部分。在享受互联网带来的各 种方便之处的同时,安全问题也变得越来越重要。黑客、病毒、木马等不断攻击着各种网站,如何保证网站的安全成为一个非常热门的话题。
    根据IT研究与顾问咨询公司Gartner统计数据显示,75%的黑客攻击发生在应用层。而由NIST的统计显示92%的漏洞属于应用层而 非网络层。因此,应用软件的自身的安全问题是我们信息安全领域最为关心的问题,也是我们面临的一个新的领域,需要我们所有的在应用软件开发和管理的各个层 面的成员共同的努力来完成。越来越多的安全产品厂商也已经在考虑关注软件开发的整个流程,将安全检测与监测融入需求分析、概要设计、详细设计、编码
、测试 等各个阶段以全面的保证应用安全。
    对于应用安全性的检测目前大多数是通过测试的方式来实现。测试大体上分为黑盒测试和白盒测试两种。黑盒测试一般使用的是渗透的方法,这种方 法仍然带有明显的黑盒测试本身的不足,需要大量的测试用例来进行覆盖,且测试完成后仍无法保证软件是否仍然存在风险。现在白盒测试中源代码扫描越来越成为 一种流行的技术,使用源代码扫描产品对软件进行代码扫描,一方面可以出潜在的风险,从内对软件进行检测,提高代码的安全性,另一方面也可以进一步提高代 码的质量。黑盒的渗透测试和白盒的源代码扫描内外结合,可以使得软件的安全性得到很大程度的提高。
    源代码分析技术由来已久,Colorado 大学的 Lloyd D. Fosdick 和 Leon J. Osterweil 1976 年的 9 月曾在 ACM Computing Surveys 上发表了著名的 Data Flow Analysis in Software Reliability,其中就提到了数据流分析、状态机系统、边界检测、数据类型验证、控制流分析等技术。随着计算机语言的不断演进,源代码分析的技术 也在日趋完善,在不同的细分领域,出现了很多不错的源代码分析产品,如 Klocwork Insight、Rational Software Analyzer 和 Coverity、Parasoft 等公司的产品。而在静态源代码安全分析方面,
Fortify 公司和 Ounce Labs 公司的静态代码分析器都是非常不错的产品。对于源代码安全检测领域目前的供应商有很多,这里我们选择其中的三款具有代表性的进行对比,分别是 Fortify公司的Fortify SCA,Security Innovation公司的Checkmarx Suite和Armorize公司的CodeSecure。
2. 工具介绍
2.1. Fortify SCA(Source Code Analysis)
    Fortify Software公司是一家总部位于美国硅谷,致力于提供应用软件安全开发工具和管理方案的厂商。Fortify为应用软件开发组织、安全审计人员和应用 安全管理人员提供工具并确立最佳的应用软件安全实践和策略,帮助他们在软件开发生命周期中花最少的时间和成本去识别和修复软件源代码中的安全隐患。 Fortify SCA是Fortify360产品套装中的一部分,它使用fortify公司特有的X-Tier Dataflow™ analysis技术去检测软件安全问题。
优点:目前全球最大静态源代码检测厂商、支持语言最多
缺点:价格昂贵
2.2. Checkmarx CxSuite
    Checkmarx是以列的一家高科技软件公司。它的产品CheckmarxCxSuite专门设计为识别、跟踪和修复软件源代码上的技 术和逻辑方面的安全风险。首创了以查询语言定位代
码安全问题,其采用独特的词汇分析技术和CxQL专利查询技术来扫描和分析源代码中的安全漏洞和弱点。
优点:利用CxQL查询语言自定义规则
缺点:输出报告不够美观
2.3. Armorize CodeSecure
    阿码科技成立于2006年,总部设立于美国加州圣克拉拉市,研发中心位于台湾的南港软
件工业园区。阿码科技提供全方位网络安全解决方案,捍 卫企业免于受到黑客利用 Web 应用程序的漏洞所发动的攻击。阿码科技 CodeSecure可有效地协助企业与开发人员在软件开发过程及项目上线后出 Web 应用程序风险,并清楚交代风险的来龙去脉 (如何进入程序,如何造成问题) 。CodeSecure内建语法剖析功能无需依赖编译环境,任何人员均可利用 Web操作与集成开发环境双接口,出存在信息安全问题的源代码,并提供修补建议进行调整。CodeSecure依托于自行开发的主机进行远程源代码检 测,在保证速度稳定的同时方便用户进行Web远程操作。
优点:Web结合硬件,速度快、独具特的深度分析
缺点:支持语言种类较少、价格不菲
3. 对比
Fortify SCA简写为SCA,Checkmarx CxSuite简写为CxSuite,Armonize CodeSecure简写为CodeSecure。
SCA
CxSuite
CodeSecure
厂商
Fortify Software
Checkmarx
阿码科技
支持语言
Java,JSP,ASP.NET,C#,VB.NET,C,C++,COBOL,ColdFusion,Transact-SQL,PL/SQL,JavaScript/Ajax,Classic,ASP,VBScript,VB6,PHP
JAVA、ASP.NET(C#、VB.NET)、JavaScript、Jscript、C++、APEX
ASP.NET(C#、VB.NET)、ASP、JAVA、PHP
风险种类
400种
300种
参考CWE
风险类型参考来源
CWE、OWASP
CWE、OWASP
CWE、OWASP
漏报率
最低
误报率
稍高
是否支持SaaS
软硬件
类型
纯软件
纯软件
Web结合硬件设备
运行平台
无限制
Windows
NET Framework 2.0
无限制
运行速度
取决于电脑配置
速度不定
取决于电脑配置
速度不定
由主机配置决定
速度恒定
报告格式
PDF
PDF、XML、CSV、HTML
Web、PDF
报告内容
完整
按照风险级别不同分为多个文件
核心内容完整
扫描信息等缺失
非常完整
但修改建议放于最后
报价
100万/软件
70万/软件
100万/软硬件
性价比
    从软件支持的源代码语言上来说,Fortify SCA(下文简称SCA)支持多达17种语言,Checkmarx CxSuite(下文简称CxSuite)其次,而Armonize CodeSecure(下文简称CodeSecure)在三款软件中支持的最少,仅仅支持几种最常见语言,不过这几种基本涵盖了绝大多数应用中使用的编程 语言,基本上可以支持现在大多数应用的源代码扫描。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。