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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

manok

你的打赏很重要

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值