admin 管理员组

文章数量: 1087139


2024年4月30日发(作者:transport sense翻译)

源代码安全要靠谁?

段晨晖 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专利查询技术来扫描和分析源代码中的安

全漏洞和弱点。


本文标签: 源代码 测试 分析 检测 软件