源代码缺陷描述方法研究

2022-09-12 版权声明 我要投稿

近年来, 随着软件事业的发展, 人们逐渐的认识到, 想要开发出高质量的软件产品, 必须对软件的开发过程进行改善。研究表明, 相当数量的安全问题是由于软件自身的安全漏洞引起的。软件开发过程中引入的大量缺陷, 是产生软件漏洞的重要原因之一。软件源代码安全性缺陷排除是软件过程改进的一项重要措施。

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

在实际工作中, 经过确认的缺陷需要提取, 源代码需要用统一的方法描述。本文根据实际工作的需要, 调研国内外相关资料, 提出一种源代码缺陷描述方法。

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 结语

本文根据实际工作的需要, 调研国内外相关资料, 研究各自存在的优缺点, 总结经验。提出一种源代码缺陷描述方法。

源代码缺陷由于各个安全厂商和组织对源代码缺陷的标准定义不同, 业界也没有统一的标准。源代码缺陷描述方法的提出可以用统一标准描述源代码缺陷。也可以作为源代码缺陷检测工具描述缺陷的参考。

摘要:软件源代码安全性缺陷排除是软件过程改进的一项重要措施。目前与源代码安全缺陷研究相关的组织有CWE等, 业界也出现了一批优秀的源代码安全检测工具, 但是这些机构和组织对源代码中缺陷的描述方法不一, 没有统一的标准。本文借鉴业界对源代码缺陷的描述, 结合实际工作需要, 提出了一种计算机源代码缺陷的描述方法。

关键词:源代码缺陷,CWE,缺陷描述

参考文献

[1] CWE, http://cwe.mitre.org/.

[2] OWASP, http://www.owasp.org/.

[3] SAMATA, http://samate.nist.gov/.

上一篇:碳排放权交易价格影响因素识别综述下一篇:新形势下企业经济管理的创新策略探讨