当前位置: 首页 > news >正文

SAST静态分析工具所支持的规则

    综合国内外SAST工具支持的规则,这些规则包括了国际标准、国内标准、行业标准等,这里我罗列了一下,这些规则对应的标准集合。 评估一款SAST工具时,支持规则集的多少,且每个规则集是否为全集,或者接近全集,表明了一款工具的检测能力,而且是否能够对这些规则进行优化,提升检出率,减少误报,漏报。

        对于每一标准中的每一条不管是强制类型、还是建议类型,都至少需要被一条SAST规则所覆盖,如果工具做的简单,就是可能需要多条规则覆盖一条标准项,如果做的更专业一点,则是把需要多条规则映射到一条标准,在检测结果展示中,看到是对每一条标准的覆盖,例如像Coverity出的Misra合规性报告,则是这种映射关系。而国军标GJB  8114、GJB 5369制定后,但是却没有要求出合规性报告,所以执行层面很灵活。而CNAS的代码审计依据的标准GB/T 34943、GB/T 34944、GB/T 34946是偏安全漏洞方面,更没有合规性报告的说法,在执行层面上每家测评中心执行情况也不同,我还记得当初作为CNAS技术负责人申请CNAS测评实验室认证时采用实验室间比对方法,大家对CNAS理解上的歧义。不管大家怎么理解,作为一款工具,支持这些标准才是王者。

        下面我就罗列一下。

标类

序号

名称

全集数

国际行业标准

1

OWASP TOP10 2021         

当前最新基于WEB应用安全的行业标准,大部分工具具备

A1-A10,每一类通过多个CWE缺陷实现

2

OWASP TOP10 2017

相对过时WEB应用安全行业标准,部分老旧工具具备

A1-A10,每一类通过多个CWE缺陷实现

3

OWASP MOBILE TOP10 2016

面向手机终端安全行业标准,大部分工具不支持

M1-M0,每一类通过多个CWE缺陷实现

4

CWE/SANS TOP25 2023

MITRA每年发布一次,25类最常见的缺陷,其中部分与WEB应用安全相关,部分是运行时缺陷。大多数工具支持部分

25类CWE 编号缺陷

5

SEI CERT Oracle Coding Standard for Java

CERT Java检测集   Java语言安全漏洞编码规则,没有包括Java Android和建议条项

185

6

SEI CERT C Coding Standard

CERT C语言编码标准

122

7

SEI CERT C++ Coding Standard

CERT C++编码标准

82

国际标准

8

ISO 17961-2013,Cor 1 2016  C语言安全漏洞编码规则

94

国际金融行业

9

PCI-DSS V4.0 ,金融支付卡行业PCIDSS)数据安全标准

6.5.1-6.5.10主要列举了10类安全漏洞,但是覆盖整个标准需要更多

10

国际航空业

10

联合打击战斗机项目系统研制与验证阶段航空器C++编程规范

29大类223条

11

JPL(航空业)编码标准

33

国际

汽车制造行业

12

MISRA C 2004: 1st Ed 2004.10,2nd Ed with Tech Cor 1 2008.07  工业标准的C语言嵌入式可靠性编程规范

143

13

MISRA C ++  2008: 2008.06  工业标准的C++语言嵌入式可靠性编程规范

175

14

MISRA C 2012: 1st Ed 2013.03,Amendment 1 2016.04,Tech Cor 1 2017.06,Amendment 2 2020.02 工业标准的C语言嵌入式可靠性编程规范

175

15

AUTOSAR C++14, 车辆制造行业标准,只对应C/C++语言

397

国家推荐标准

16

GB/T 39412-2020   代码安全审计规范

95

17

GB/T 38674-2020   应用软件安全编程指南

22大类上百小类

国内行业标准

18

YD/T 3464-2019    联网软件安全编程规范

19

SJ/T 11682-2017   C/C++语言源代码缺陷控制与测试规范

7大类88个小类

20

SJ/T 11681-2017 C#语言源代码缺陷控制与测试指南

7大类34个小类

21

SJ/T 11683-2017   Java语言源代码缺陷控制与测试规范

7大类58个小类

国家标准

(CNAS)

22

GB/T 34944-2017   Java语言源代码漏洞测试规范

43

23

GB/T 34943-2017   C/C++语言源代码漏洞测试规范

32

24

GB/T 34946-2017   C#语言源代码漏洞测试规范

40

国家军用

强制标准

25

GJB 5369-2005  国家军用标准航天型号软件C语言可靠性编程规范

144

26

GJB 8114-2013  国家军用标准C/C++语言可靠性编程规范

204

http://www.lryc.cn/news/241926.html

相关文章:

  • torch 的数据加载 Datasets DataLoaders
  • 【Promise】某个异步方法执行结束后 在执行下面方法
  • 任意文件下载漏洞(CVE-2021-44983)
  • C++(20):通过source_location实现日志函数
  • 【数据结构】树与二叉树(廿二):树和森林的遍历——后根遍历(递归算法PostOrder、非递归算法NPO)
  • 精通Nginx(17)-安全管控之防暴露、限制访问、防DDos攻击、防爬虫、防非法引用
  • STM32 Flash
  • 文件批量重命名技巧:图片文件名太长怎么办?告别手动改名方法
  • 微信小程序手写滑动tab
  • 一文读懂如何安全地存储密码
  • 【运维面试100问】(六)buffer和cache的区别
  • 创建域名邮箱邮件地址的方法与步骤
  • Qt框架学习(1)
  • 3D电路板在线渲染案例
  • ResizeObserver loop limit exceeded报错解决方案
  • 【OpenCV实现图像:使用OpenCV进行图像处理之透视变换】
  • Vue中学习笔记-数据代理
  • IDEA 配置maven结合案例使用篇
  • 基于白鲸算法优化概率神经网络PNN的分类预测 - 附代码
  • Android使用Kotlin利用Gson解析多层嵌套Json数据
  • DOM事件的传播机制
  • gitlab利用CI多工程持续构建
  • 【C++初阶】四、类和对象(构造函数、析构函数、拷贝构造函数、赋值运算符重载函数)
  • js粒子效果(二)
  • 01.让自己习惯C++
  • ElementUI table+dialog实现一个简单的可编辑的表格
  • Rust语言精讲:数据类型全解析
  • 《数据结构、算法与应用C++语言描述》-代码实现散列表(线性探查与链式散列)
  • Hadoop学习笔记:运行wordcount对文件字符串进行统计案例
  • python编写简单登录系统(密码混淆加密)