XX技术有限公司内部技术规范DKBA6914-&C++语言安全编程规范2013年05月07日发布2013年05月07日实施XX技术有限公司HuaweiTechnologiesCo.,:网络安全技术能力中心本规范的相关系列规范或文件:《Java语言安全编程规范》《Web应用安全开发规范》相关国际规范或文件一致性:无替代或作废的其它规范或文件:无相关规范或文件的相互关系:本规范作为《C语言编程规范》和《C++语言编程规范》安全性要求的补充和扩展。规范号主要起草部门专家主要评审部门专家修订情况DKBA6914-:罗东67107、于鹏90006799、苗宏90006736、朱喜红00210657电信软件与核心网:陈辉军00190784无线产品线:肖飞龙 00051938网络产品线:魏建雄00222905IT产品线:熊华梁00106214中央软件院:朱楚毅 00217543、林水平00109837、周强00048368、辛威00176185、鞠章蕾00040951、谢青00101378中央硬件院:刘永合 00222758终端公司:杨棋斌00060469企业网络:黄凯进00040281、企业SecoSpace:王瑾90003828中央软件院:黄茂青00057072、卢峰00210300网络产品线:李强00203020、罗天00062283、廖永强00111217、任志清00048956、李海蛟00040826、陈璟00222879、勾国凯00048893、范佳甲00109753中央硬件院:刘崇山00159994、施文超00109740企业网络:李有永90002701IT产品线:李显才00044635、何昌军00061280能力中心:郭曙光00121837网络安全实验室:林结斌00206214电信软件与核心网:朱刚00192988无线产品线:李瀛00130531、王爱成00223009、杨彬00065941、于继万00052142、&C++语言安全编程规范 1C&C++语言安全编程规范 60 规范制定说明 前言 使用对象 适用范围 术语定义 61 通用原则 :对外部输入进行校验 :禁止在日志中保存口令、密钥 :及时清除存储在可复用资源中的敏感信息 :正确使用经过验证的安全的标准加密算法 :遵循最小权限原则 :删除或修改没有效果的代码 :删除或修改没有使用到的变量或值 92 字符串操作安全 :确保有足够的空间存储字符串的字符数据和’\0’结束符 :字符串操作过程中确保字符串有’\0’结束符 :把数据复制到固定长度的内存前必须检查边界 :避免字符串/内存操作函数的源指针和目标指针指向内存重叠区 133 格式化输出安全 :格式化输出函数的格式化参数和实参类型必须匹配 :格式化输出函数的格式化参数和实参个数必须匹配 :禁止以用户输入来构造格式化字符串 :使用格式化函数时推荐使用精度说明符 184 整数安全 :确保无符号整数运算时不会出现反转 :确保有符号整数运算时不会出现溢出 :确保整型转换时不会出现截断错误 :确保整型转换时不会出现符号错误 :把整型表达式比较或赋值为一种更大类型之前必须用这种更大类型对它进行求值 :避免对有符号整数进行位操作符运算 235 内存管理安全 :禁止引用未初始化的内存 :禁止访问已经释放的内存 :禁止重复释放内存 :必须对指定申请内存大小的整数值进行合法性校验 :禁止释放非动态申请的内存 :避免使用alloca函数申请内存 296 禁用不安全函数或对象 :禁止使用未显式指明目标缓冲区大小的字符串操作函数 :禁止调用OS命令解析器执行命令或运行程序,防止命令注入 :禁止使用std::ostrstream,推荐使用std::ostringstream :C++中,必须使用C++标准库替代C的字符串操作函数 337 文件输入/输出安全 :必须使用int类型来接收字符输入/输出函数的返回值 :创建文件时必须显式指定合适的文件访问权限 :文件路径验证前,必须对其进行标准化 :访问文件时尽量使用文件描述符代替文
cc 语言安全编程规范v10 来自淘豆网m.daumloan.com转载请标明出处.