源代码安全要靠谁? 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...