译序
看完cert的C安全编程规范已经有2个多月了,我在阅读的过程中顺手把官方文档的主要目录翻译了一 下,其中包含了171条“建议”和106条“规则”,个人认为把这些作为一个C语言安全编程规范的cheatsheet是相当不错的。
说明:
1.关于“ 建议(Recommendation)”:可以理解为“可选”的规范,一般是和最终软件产品的安全需求有关。遵循“建议”有助于改进系统安全性。
2.关于“规则(Rules)”:可以理解为“强制”的规范。违反“规则”的编码实践有可能导致产生“可被利用的漏洞”。编程实践与该规则的一致性 可以通过自动化分析、形式化方法或者手工检测技术验证。“规则”是确保使用C语言所开发的软件系统安全性的必要条件(但非充分条件)。
3. 规则编号规则:
- 前3个字母标示规范所属的章节。
- 2位数字取值范围:00-99。其中00-29保留用于“建议”,30-99保留用于“规则”。
- -后面的字母表示编程语言,如C。
4. 部分规则/建议是有”例外“的,需要特别注意。
Section | Recommendations | Rules |
---|---|---|
PRE | 13 | 3 |
DCL | 20 | 9 |
EXP | 19 | 10 |
INT | 18 | 6 |
FLP | 6 | 8 |
ARR | 3 | 9 |
STR | 11 | 9 |
MEM | 13 | 6 |
FIO | 18 | 16 |
ENV | 5 | 3 |
SIG | 3 | 5 |
ERR | 8 | 3 |
API | 8 | 0 |
MSC | 21 | 7 |
POS | 5 | 12 |
Recommendations | Rules | |
TOTAL | 171 | 106 |
总目录
00. 概述 |
01. 预处理 (PRE) |
02.声明和初始化 (DCL) |
03. 表达式 (EXP) |
04. 整数 (INT) |
05. 浮点数 (FLP) |
06. 数组 (ARR) |
07. 字符(数组)和字符串 (STR) |
08. 内存管理 (MEM) |
09. 输入输出 (FIO) |
10. 环境 (ENV) |
11. 信号 (SIG) |
12. 错误处理 (ERR) |
补充:综合编程 , 安全编程 ,
访问www.zzzyk.com 试试 CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络, |