源代码缺陷描述方法研究

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

源代码缺陷描述方法研究
摘要:软件源代码安全性缺陷排除是软件过程改进的一项重要措施。

目前与源代码安全缺陷研究相关的组织有CWE等,业界也出现了一批优秀的源代码安全检测工具,但是这些机构和组织对源代码中缺陷的描述方法不一,没有统一的标准。

本文借鉴业界对源代码缺陷的描述,结合实际工作需要,提出了一种计算机源代码缺陷的描述方法。

关键词:源代码缺陷CWE 缺陷描述
近年来,随着软件事业的发展,人们逐渐的认识到,想要开发出高质量的软件产品,必须对软件的开发过程进行改善。

研究表明,相当数量的安全问题是由于软件自身的安全漏洞引起的。

软件开发过程中引入的大量缺陷,是产生软件漏洞的重要原因之一。

软件源代码安全性缺陷排除是软件过程改进的一项重要措施。

当前,与源代码安全缺陷研究相关的组织有CWE、Nist、OW ASP 等。

业界也出现了一批优秀的源代码安全检测工具,但是这些机构、组织或者公司对源代码发中缺陷的描述方法不一,业界没有统一的标准。

在实际工作中,经过确认的缺陷需要提取,源代码需要用统一的方法描述。

本文根据实际工作的需要,调研国内外相关资料,提出一种源代码缺陷描述方法。

1 业界对缺陷的描述方法
当前,业界没有专门针对源代码缺陷的描述方法。

在源代码缺陷研究方面,有CWE、Nist、Fortify等。

这些机构和组织对源代码中缺陷的描述方法不一,需要对它们的缺陷描述方法进行梳理。

1.1 CWE的缺陷描述方法
CWE常见缺陷列表(Common Weakness Enumeration)是MITRE 公司(一个非盈利机构)继CVE(Common Vulnerabilities and Exposures)之后的又一个安全漏洞词典。

CWE的研究包含计算机漏洞的各个方面,包括二进制方面、违反设计原则方面、源代码方面等,并非专门针对源代码缺陷描述研究。

CWE主要从以下几个方面描述缺陷,见表1所示。

1.2 SAMATE缺陷描述方法
SAMATE是由美国国土安全部国家网络安全部和NIST赞助的。

SAMATE参考数据集(SRD)的向用户,研究人员和软件开发工具提供安全保证与已知的安全漏洞集。

用户和开发人员可以用这些测试案例将允许用户评估测试工具。

需要说明的是,SAMATE没有专门研究源代码缺陷描述方法。

其评估实例的描述方法见表2所示。

1.3 Fortify缺陷描述方法
Fortify Source Code Analysis Suite是美国Fortify Software为软件开发企业提供的软件源代码安全缺陷扫描、分析和管理的工具。

使用该工具能弥补软件开发人员、安全人员和管理人员在源代码方面的安全知识不足,加速代码安全审计和方便软件安全风险的管理。

Fotify主要从以下几个方面描述缺陷,见表3所示。

1.4 CheckMarx缺陷描述方法
CheckMarx的缺陷检测结果与CWE关联,没有自己专门的缺陷分类。

其缺陷描述方法见CWE缺陷描述方法。

2 多维源代码缺陷描述方法
目前,业界在源代码缺陷描述方面的研究主要有两个方面:
一是以CWE代表的计算机漏洞研究机构,其特点是大而全,不单独针对源代码。

二是以Fortify等商业源代码检测工具,其特点是主要研究源代码检测技术,对缺陷的描述是根据工具结果展示需要,也没有统一的标准。

本文借鉴业界对缺陷分类描述方法,结合大量研究多语言,多操作
系统,多种缺陷类型的源码缺陷实例,综合研究,提出描述源码缺陷的几个关键方面,包括:缺陷标识符、缺陷基本特征、缺陷的危害性、缺陷的修复建议,缺陷来源信息,人员操作记录,可扩展属性。

如图1所示。

根据源码缺陷描述模型,结合实际工作的需要,提出源码缺陷描述方法,见表4。

3 结语
本文根据实际工作的需要,调研国内外相关资料,研究各自存在的优缺点,总结经验。

提出一种源代码缺陷描述方法。

源代码缺陷由于各个安全厂商和组织对源代码缺陷的标准定义不同,业界也没有统一的标准。

源代码缺陷描述方法的提出可以用统一标准描述源代码缺陷。

也可以作为源代码缺陷检测工具描述缺陷的参考。

参考文献
[1] CWE,/.
[2] OWASP,/.
[3] SAMATA,/.。

相关文档
最新文档