13691093503

北京高低温环境试验及电磁兼容测试实验室

 
首页 » 新闻中心 » 仪综所实验室C/C++语言源代码漏洞测试标准检测服务
新闻中心
仪综所实验室C/C++语言源代码漏洞测试标准检测服务
发布时间:2026-02-12        浏览次数:11        返回列表
 C语言是一种面向过程的程序设计语言,广泛应用于系统软件与嵌人式软件的开发。本标准的C语言语法遵循ISO/IEC9899:2011。C++语言是一种面向对象的程序设计语言,它在C语言的基础上发展而来,与C语言具有许多相同的语法,广泛应用于系统软件与应用软件的开发。本标准的C++语言语法遵循ISO/IEC14882:2011语法标准。众所周知,由于各种人为因素影响,每个软件的源代码都难免会存在漏洞,而软件信息泄露、数据或代码被恶意篡改等安全事件的发生一般都与源代码漏洞有关。为尽量减少C/C++语言源代码中存在的漏洞,有必要制定针对C/C++语言程序的源代码漏洞测试规范。
一、GB/T 34943-2017 标准定义了8大类32种C/C++源代码漏洞。以下是工具针对关键漏洞的检测重点:
1、内存安全漏洞(如缓冲区溢出): 这是C/C++程序中最危险的漏洞类型。Fortify 和 Coverity 通过数据流分析跟踪缓冲区操作,能有效发现数组越界、不安全的字符串操作等问题。库博SAST 也强调其能进行路径敏感和上下文敏感的分析,以检测此类深层缺陷。 
2、API误用: 标准中“错误的API协议实现”指未按预期方式使用API。Checkmarx 通过其CxQL语言可以定义复杂的API调用规则,检测是否使用了危险的函数(如C语言中的 scanf)而未对输入进行长度检查。 
3、安全功能缺陷(如密码学应用): 标准明确禁止明文存储口令、使用已破解的加密算法等。这几款工具都能检测到代码中是否使用了不安全的随机数生成器、弱哈希算法(如MD5)或危险的加密模式。
 4、路径遍历与注入类漏洞: 库博SAST 和 Fortify 均宣称支持OWASP TOP 10漏洞,包括SQL注入、命令注入、路径遍历等。它们通过污点跟踪技术,标记用户输入等不可信数据源,并跟踪其在整个程序中的传播,直到危险的“汇”点(如执行系统调用的函数)。 
二、测试的目的:
1、统一C/C++安全测试方法:为基于C/C++开发的系统软件、嵌入式软件、通信设备、工业控制软件、安全关键系统(如汽车、医疗、轨道交通)等提供标准化的源代码漏洞检测流程和判定准则。
2、识别C/C++特有安全风险:针对C/C++语言缺乏内存安全机制、指针任意操作、缓冲区边界不可靠、类型转换松散等语言特性带来的典型漏洞,进行系统性检测。
3、支撑关键领域安全合规:满足等级保护、关键信息基础设施安全保护、网络安全审查等对软件供应链安全、自主可控产品的源代码安全审计要求。
4、提升基础软件安全水位:广泛应用于操作系统、数据库、中间件、驱动软件、通信协议栈等高可信软件的开发与评估。
三、测试项目内容:
行为问题;路径错误、数据处理、错误的API协议实现、劣质代码、不充分的封装、安全功能、Web问题等。
四、检测方法与流程:
1、静态分析:通过词法分析、语法分析、数据流分析、控制流分析、符号执行、污点分析等技术,在不运行代码的情况下发现潜在漏洞。
2、动态分析:在受控环境中编译运行被测程序,构造模糊测试输入或插桩跟踪,验证漏洞的可达性和可利用性。
五、制定CNAS能力验证计划需以标准合规性为核心,结合自动化工具与人工分析,覆盖漏洞全生命周期。重点包括: 
1、依据GB/T 34943设计测试用例,确保漏洞分类完整。 
2、通过Fortify、Checkmarx等工具实现高效检测。 
3、严格遵循CNAS-RL02要求,保障结果可追溯性与整改有效性。 
本测评中心拥有固定的测试实验室,完备的设备设施及测试工具,并具有一支具有多年软件测试工作经验的专业技术团队。我方实验室已完成专项领域数百个软件测评任务,累计发现软件重大问题1000余个,涵盖应用软件、嵌入式软件等多种软件类别,涉及工业操作系统、医疗、电工电子、电力、轨道交通等多个应用领域。在客户服务方面,配备专业客户服务团队,可提供7×24小时快速响应服务,及时解决客户在测试过程中遇到的各类问题。测试团队专业能力扎实、服务态度规范、问题定位精准,能够提供全方位测试解决方案,是值得信赖的合作伙伴。
检测试验找彭工136-9109-3503。
 
 
 

更多精彩:   免费发布信息网   http://www.zhelice.com