高达90%的软件安全问题是由编码错误引起的,这就是实践安全编码规范必不可少的原因。本文将讨论编码标准其中的两种:CWE和CERT,并解释它们之间的联系。

CWE常见缺陷列表

“CWE™️是由社区开发,有关软件和硬件缺陷的类型列表,界定安全有关的词汇、作为安全工具的衡量标准,以及识别漏洞、修复和预防安全隐患的基准”。

因此业界对它有统一的名称和描述,利于软件分析工具识别导致安全缺陷的编码错误。CWE枚举了设计和架构缺陷以及低级编码和设计错误的清单,使开发人员更好地设计应用程序的架构。

CERT 安全编码标准

CERT是卡内基梅隆大学软件工程研究所的计算机应急响应小组为C、C++和Java开发的编码规范。其中的内容是接纳了全球范围的软件工程师社区的贡献而实现的。这些规范有据可查,使软件开发团队中得以强制执行,从而确保创建高质量、安全的代码。通过遵循一套统一的规则,软件开发人员可以按照企业制定的指导方针工作,而不是根据程序员个人可能未经过充分的试验和测试的偏好。一旦在企业内建立了标准,就可以使用它们来定量评估源代码的质量和漏洞。这可以通过手动代码审查或使用代码分析工具自动审查来实现。

CERT安全编码标准包括避免在编码和实现时的错误,以及其底层架构设计错误。

CERT 和CWE 的关系

首先,它们都是编码标准,但处理问题的方式略有不同。

他们是互相支持的。CWE是软件应用程序中已知安全漏洞的数据库。而CERT则提供编写代码和识别不安全编码结构的指南。CWE涵盖了广泛的编程语言,因此不仅限于CERT C规则,因为不是所有漏洞都可以在一种语言中找到。此外,CWE包括可能导致漏洞的高级设计问题。相反,并非所有CERT规则都映射到CWE的缺陷,因为编码错误不一定导致与安全相关的问题。因此,同时使用这两种标准能为应用程序开发提供更高级别的安全性。

CERT-CWE映射

通过遵循CERT中规定的规则,开发人员可以直接解决 CWE中发现的一些漏洞。这些映射关系的能力对于满足企业安全编码的要求很重要。例如,如果开发人员遵守CERT编码标准,他们可以完全或部分防止 CWE-734 中确定的漏洞。CWE-734涵盖CERT C的799个有关CWE规则中的103个。静态代码分析工具根据它们涵盖的CERT规则的数量提供这样的映射关系。

CERT C安全编码标准中的指南与CWE条目存在交叉引用。 这些交叉引用根据那些如果违反了CERT C规则,将直接导致对应CWE缺陷的指导方针创建。

总而言之,CWE提供了软件中已知弱点的列表,而 CERT规范确定了可能暴露软件漏洞的编码结构。由于它们的相互映射,弄清所有CERT示例以确保软件安全可靠是明智的,甚至是必要的。

点击此处了解如何结合CERT和CWE标准进行静态代码分析,以达到最佳实践和安全编码。

CERT和CWE之间有什么联系?相关推荐

  1. CWE视图层级关系解析:节点关系查询

    依据<CWE视图层级关系的解析 之 CWE节点的存储和定义> 中对CWE在xml文件中存储的结构和定义的描述.我们将CWE存储在xml文件中的信息转换到数据库中.数据库采用了轻量级的SQL ...

  2. 剖析CWE视图的层次定义和解析方式

    摘要:CWE做为软件缺陷分类的重要标准, 对安全研究.安全标准.缺陷管理起了重要的纽带作用.CWE通过编号的类型(类缺陷.基础缺陷和变种缺陷等)形成了多层次的缺陷类型划分体系.本文进一步剖析了CWE视 ...

  3. 基于社区发现算法对CWE的划分实践

    1.前言 如何对漏洞的脆弱性进行分类,在漏洞情报分析过程中一直都是个头疼的问题.分类太细,可读性差:分类太泛,则分析结果准确率和召回率都会随之下降. 就目前来看,对于漏洞分类的解决方案,绝大多数是以C ...

  4. 提升软件质量?为什么不试试华为云CodeArts Check

    1996年,欧洲最新的无人卫星发射火箭阿丽亚娜5号在首次发射后仅仅36秒,工程师就不得不按下了自毁按钮. 事后经分析查明,由于它重用了其前身阿丽亚娜4号的系统软件,发动机遭遇了之前没有被发现的漏洞,系 ...

  5. 开源开放 | 开源立体化漏洞情报知识图谱(四维创智)

    OpenKG地址:http://openkg.cn/dataset/vuln-sprocket 开放许可协议:CC BY-SA 4.0 (署名相似共享) 贡献者:四维创智(李德斌,孙基栩,鲍晨阳) 1 ...

  6. 深入理解HTTPS及在iOS系统中适配HTTPS类型网络请求(上)

    2019独角兽企业重金招聘Python工程师标准>>> 深入理解HTTPS及在iOS系统中适配HTTPS类型网络请求 一.引言 本篇博客主要讨论如何在客户端与服务端之间进行HTTPS ...

  7. 软件静态测试qac,Helix QAC — 软件静态测试工具

    •代码自动审查 QAC/QAC++ 能够对C/C++ 代码规则进行自动检查,报告所违反的编程标准和准则,减少代码审查所需的时间,使软件工程师在开发阶段就可以避免代码中的问题. •规范支持 QAC/QA ...

  8. Helix QAC — 软件静态测试工具

    Helix QAC 是Perforce 公司(原PRQA 公司)产品,主要用于C/C++ 代码的完全自动化静态分析工作,可以提供编码规则检查.代码质量度量.软件结构分析.测试结果管理等功能.Helix ...

  9. DeepWeak: Reasoning Common Software Weaknesses via Knowledge Graph Embedding 阅读笔记

    DeepWeak: Reasoning Common Software Weaknesses via Knowledge Graph Embedding 阅读笔记 Article Background ...

最新文章

  1. 零基础自学python的app-零基础入门免费学Python 课程和APP推荐
  2. 乘方运算中的“次幂”和“次方”有什么区别?
  3. 如此如此,怎能师夷长技以制夷!
  4. 葫芦全身都是宝的飞鸽传书2011
  5. 第10课 古埃及金字塔 《小学生C++趣味编程》
  6. 微服务SpringCloud中的负载均衡,你都会么?
  7. [COURSE_PTHE] 4. 枚举
  8. 百度搜索引擎关键字URL采集爬虫优化行业定投方案高效获得行业流量-笔记篇
  9. HMM:隐马尔科夫模型 - 学习
  10. Android 开机自启动应用
  11. MySQL增量备份恢复和基于时间点与位置的恢复
  12. Win7 下安装 Sketsa.SVG.Editor v7.0.1
  13. 360极速浏览器兼容模式怎么设置在哪
  14. mac安装搜狗输入法
  15. 共探机遇 2018中国产业互联网化纤创新者大会华丽启幕
  16. oracle触发器和包,Oracle 学习笔记 19 -- 触发器和包浅析(PL/SQL)
  17. 十年技术进阶路,让我明白了三件要事(8000字长文)
  18. 红帽linux改root密码,Redhat 7.6 主机强制修改root密码及配置网关
  19. 【渝粤教育】国家开放大学2018年秋季 8634-22T (1)Android智能手机编程 参考试题
  20. 【渝粤教育】广东开放大学 影视艺术概论 形成性考核 (52)

热门文章

  1. FPGA学习之实现SDRAM
  2. 微信pc端浏览器打开页面空白的问题
  3. Prism如何做线性拟合
  4. 系统学习车载仿真测试HiL,成为HiL测试工程师
  5. 手提计算机键盘中的除法,手提电脑除法是哪个键
  6. 以太网100Mhz频率为什么可以达到带宽1000Mbps
  7. 百度网盘自动发货机器人软件助手(可用于虚拟店自动发货场景)
  8. Thinking in BigData(八)大数据Hadoop核心架构HDFS+MapReduce+Hbase+Hive内部机理详解
  9. linux 进程被杀日志,Linux查看日志和关闭、杀***进程命令
  10. It Started With A Kiss