《C#语言源代码漏洞测试规范》解读,如何依据GB/T 34946-2017标准建立代码测试技术体系

GB/T 34946-2017《C#语言源代码漏洞测试规范》为C#源代码的漏洞测试活动提供统一、规范化的方法和要求,确保测试过程的科学性、有效性和一致性,有效发现和修复潜在安全风险。软件实验室在申请CMA/CNAS相关领域的资质时,需要依据该标准建立标准化的测试流程。开发组织和测试团队也可以将标准要求融入SDL流程,在需求、设计、编码、测试各阶段考虑对应的安全要求,建立更加完善的代码安全开发体系。本文我们整体解读GB/T 34946-2017《C#语言源代码漏洞测试规范》标准。

GB/T 34946-2017《C#语言源代码漏洞测试规范》标准介绍了C#代码测试的整个过程、漏洞管理、测试工具以及测试过程中会用到的测试文档。针对C#代码测试漏洞的测试内容进行了分类梳理,一共给出了九个大类,40个类别的漏洞,从漏洞的原理、漏洞风险以及推荐用法做了介绍。

GB/T 34946-2017《C#语言源代码漏洞测试规范》将源代码测试过程分为测试策划、测试设计,测试执行和测试总结四个阶段。

测试策划阶段应确定测试的目标、范围、依据环境和工具,应分析与评估测试风险,并制定应对措施。测试策划应重点明确源代码漏洞测试应划分的阶段以及各阶段的人员角色、任务、时间和工作成果,形成源代码漏洞测试进度计划表。

在测试设计阶段,明确测试环境和工具、测试需求、测试方法、测试内容、测试准人条件和测试准出条件。测试方法应采用自动化静态分析工具扫描和人工分析相结合的方法。若被测源代码采用了C#语言的第三方框架,测试人员应根据被测源代码的实际情况在测试内容中增加第三方框架相关的漏洞。

在测试执行阶段,应包含自动化静态分析工具扫描和人工分析。根据测试用例明确的操作步骤,使用自动化静态分析工具执行测试,记录测试执行过程及测试结果。对自动化静态分析工具的测试结果进行人工分析,按漏洞类别或漏洞风险级别从高到低的顺序分析扫描得到的所有源代码漏洞,结合源代码的上下文和业务需求,验证疑似漏洞,筛除误报的源代码漏洞,与开发人员沟通确认源代码漏洞分析结果。

在测试总结阶段,应对整个源代码漏洞测试过程进行总结,包括:核查测试环境、工具、内容、方法和结果是否正确。确认测试目标和测试需求是否得到满足;总结测试内容、方法和结果,出具测试报告。

GB/T 34946-2017《C#语言源代码漏洞测试规范》标准对代码测试的过程管理、过程评审以及测试工具、测试文档也做了相关介绍。针对源代码漏洞测试工具标准中指出,应重点考虑工具的漏报率和误报率,可通过调查或比较的方式评估工具的漏报率和误报率,测试前应对工具的漏洞规则库和测试引擎进行必要的升级和维护。

第六部分是该标准中最为核心的一部分内容------测试内容,后面的文章我们会针对每一类问题展开介绍,敬请继续关注。

如需更加详细的测试用例可私信我获取

相关推荐
huaqianzkh3 小时前
WinForm C#:循环修改控件UI闪烁卡顿?SuspendLayout / ResumeLayout 与 BeginUpdate 优化
开发语言·ui·c#
用户37215742613520 小时前
C# 实现 Excel 单元格保护:锁定公式并允许编辑指定区域
c#·ai编程·编程语言
公子小六1 天前
基于.NET的Windows窗体编程之WinForms数据持久化(1)
windows·microsoft·c#·.net·winforms
三雷科技1 天前
第6章第4节:自定义分词器
开发语言·c#
zhanghaha13141 天前
C# 系列教程_12 字符串 string 保姆级系统教程(面向新手,大量示例 + 原理讲解)
开发语言·数据库·c#
Coder_Shenshen2 天前
罗克韦尔ACD工程归档离线变量树解析
算法·c#
寂寞的船2 天前
【Unity知识速递】第10期 Unity GC 零分配实战:从 UnityEngine.Pool 到手动 GC 控制的全链路优化
jvm·unity·c#·游戏引擎·lucene
1-1=02 天前
C# 数据结构和特殊类型
数据结构·c#·.net·.netcore
波力海苔夹心脆6754 天前
C# WPF 资源字典详解:ResourceDictionary、MergedDictionaries 与自定义控件案例
开发语言·c#·wpf·入门教程·resource·资源字典
AI导出鸭PC端4 天前
Perplexity批量导出没有PDF模式?AI导出鸭插件补上最后一块拼图
人工智能·pdf·c#·ai导出鸭