首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

自动化检测工具助力GJB 8114-2013 C/C++语言编程安全子集标准落地应用

2013年7月10日,中国人民解放军总装备部发布了中华人民共和国国家军用标准GJB 8114,全称为GJB 8114-2013《C/C++语言编程安全子集》,提出软件编程标准,以提高国家军用软件的安全性,并作为静态规则检查的依据。GJB 8114的提出源于2005年发布的GJB 5369,全称为GJB 5359-2005《航天型号软件C语言安全子集》是航天领域嵌入式C语言的编程标准,GJB 8114对原有的规则进行了升级和扩充,扩展了应用场景,适用于所有军用软件开发,同时明确的提出了C语言的编程规范和C++语言的编程规范内容,即标准中的第五章规定C和C++语言编程时应该遵守的共同准则,第六章规定C++语言编程时应遵守的专用准则,其中C 和 C++共用的强制准则共124条,C++专用的强制准则28条,C 和 C++共用的建议准则41条,C++专用的建议准则11条。标准总计204条。标准中每条准则采取固定格式描述,并给出违背和遵循正反两个示例,以供开发人员和评测中心参照。

04
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    借你一双慧眼,识别代码安全审计工具「建议收藏」

    代码安全审计产品、代码缺陷分析产品、代码安全分析等基于源代码静态分析技术的产品市场上越来越多,但是质量却层次不齐,误报率非常高,漏报率也不低,究其原因是为什么呢?因为一款静态分析类产品研发不是轻松的事,往往要经历几年时间,产品才会逐渐成熟,支持的开发语言和安全漏洞类型才能达到企业级应用水平,一般中小企业是很难投入如此长的时间进行研发的,而且静态分析类产品底层技术是采用的与编译器非常类似的技术,也就是说大学课堂中编译原理课程上讲得哪些分析技术(例如:抽象语法树、切片、数据流分析、符号执行、指向分析、区间计算、到达定值分析、守卫值和非守卫值等等让人理解起来头疼的技术)大多都要用上,我记得当时学这些原理时就似懂非懂的,再把这些技术应用到产品中,难度可想而知,所以说市场上国内外的主流静态分析工具必然采用这些技术,把程序代码转化为抽象语法树是必须的一步,在抽象语法树上基础上,形成控制流图、函数调用图等之后再次进行切片分析,各种守卫值计算等等,零星的技术分析在网络上大多都能找到,但是缺乏系统化的技术分析,用这些技术、算法编码实现,在工程实践中会遇到各种各样的问题,产品市场化更是具有非常高的门槛,市场很多产品并非采用这样的主流技术,大多只是通过文件遍历扫描过程中,使用规则表达式、关键字搜索等技术匹配的特征字符串,所以这样的分析工具必然误报率非常高,这种搜索方法也只能查出一些特定的缺陷或安全漏洞函数,硬编码等特定缺陷,对于很多跨越文件的缺陷和安全漏洞是根本发现不了的。对于检测出大量误报的审计报告,测评人员和开发人员要花大量时间去分析,消耗大量时间,长此以往,这种工具必然被淘汰。

    02

    静态数据竞争检测工具之RELAY-安装和使用

    RELAY同样也是基于中间语言编写的静态数据竞争检测工具 安装RELAY之前确保Ocaml安装完毕,可参考之前的文章 http://blog.csdn.net/yangzhen92/article/details/46980511 下载RELAY,可参考这里,选择0.10版本,解压 进入cil目录,执行下面操作 ./configure make make check 然后回到relay根目录,执行make操作 上述步骤完成之后,relay安装成功 进入racetest目录,执行make renew_small; make 命令 执行成功就能够看到测试结果 racetest中的测试用例的整体结果都保存在out目录中 而如果想要查看每一个测试用例的详细输出信息,则进入相关的子目录,以thread_tests为例 子目录中包含gcc-log.txt文件,内容如下 cd test_dir duppy -c threads2.c -I ../../include cd ../test_dir duppy -c threads.c -I ../../include 其中每个文件表示需要待测试源文件 进入ciltrees目录, 这里可以发现有两个warnings.xml文件,都保存着数据竞争相关的信息

    01
    领券