tencent编码安全规范

tencent编码安全规范

ID:19490511

大小:133.34 KB

页数:18页

时间:2018-10-02

tencent编码安全规范_第1页
tencent编码安全规范_第2页
tencent编码安全规范_第3页
tencent编码安全规范_第4页
tencent编码安全规范_第5页
资源描述:

《tencent编码安全规范》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、编码安全规范V1.0拟制:安全中心关键字:安全,编码规范内容范畴:信息安全文档类别:开发技术文档保密级别:保密文件名:编码安全规范.doc范围:全体员工版本:1.0文档历史日期作者版本号备注wolfliuV0.1applelinV0.22007-02-19Tony,CoolcyangV0.3分割了一下原来的V0.2的文档,抽出一个单列的格式,以便后续修改。2007-2-28applelinV0.4根据新的格式整理并补充2007-3-8stevezhengV0.52007-3-12DumapplelinV0.6补充示例第一篇防止堆栈

2、溢出类漏洞51.1对任何用户输入数据必须首先校验其长度,避免由于长度越界引起的缓冲区溢出。51.2C++和MFC程序字符串处理,选择现有的处理类库,禁止自己编写类库。51.3编码中禁止使用危险函数。51.4Unicode和ANSI缓冲区大小不匹配问题,必须注意大小计算的单位。61.5不将用户输入串拼接到任何格式字符串内。避免字符格式化漏洞。71.6多个字符串存储在一个数据区时,尽量不依靠分隔符区分边界。用户数据需要转义后传输,存储。81.7CC++中数组大小应该是sizeof(pArray)/sizof(pArray[0])81

3、.8其他可能出现缓冲区溢出的函数8第二篇防止SQL恶意构造性漏洞92.1防止SQL恶意构造漏洞。不直接使用外部输入的数字、字符串拼接SQL语句。92.2web编程对于用户的任何输入必须做关键字过滤10第三篇防止目录,文件名恶意构造性漏洞103.1必须:禁止使用外部输入字串作为下列函数的参数的一部分,确保用户不能欺骗系统从而执行任意命令。如果必须传递参数,从数据库、文件、管道、套接字等IPC通信方式传递。103.4验证所有可能的数据,甚至包括数据库中的数据,本地文件。113.5不将用户输入串直接加入html文件、js脚本、xml文件

4、、配置文件、模板文件。123.6避免使用有安全风险的windowsAPI。12第四篇防止内存堆溢出漏洞134.1分配内存,要判断返回值。134.2内存操作,特别是内存拷贝,必须检查长度是否超出分配内存的大小134.3对于无效指针,一定要置NULL,同时数组不要保存无效指针144.4时刻注意表达式是否会上溢、下溢144.5过程/函数中分配的资源(包括内存、文件等),在过程/函数退出之前要释放。154.6MFC中使用CArray删除数据,需要倒后遍历.15第五篇其他一些注意事项155.1检查所有与安全相关的函数的返回值155.2调用可

5、能被预测的函数前,引入随机量165.3在代码中添加安全性注释16关键词:摘要:为了提高公司软件安全质量,公司对安全编程作出统一的规范约束。本规范由安全中心负责维护更新。本规范是一个最初级的基本规范。所有的开发者均应熟练掌握。本规范的示例多以CC++为背景。缩略语清单:必须:强制必须遵守的原则。建议:可以加以考虑的原则。禁止:必须加以避免的原则。示例:对此规则或建议从正、反两个方面给出例子。本规范从属于编码层面,不包含应用安全架构设计,不包含应用安全部署以及应用安全运营等方面的内容。开发者除了本规范以外,还必须熟悉App设计方面的

6、安全规范,协议接口设计规范,熟悉部署层面安全规范,以及熟悉运营层面的安全规范。在编码层面,我们主要关心以下内容:(1)防止堆栈溢出类漏洞(*)防止缓冲区溢出漏洞(2)防止恶意SQL构造性漏洞(3)防止文件名,路径恶意构造漏洞(4)防止内存堆溢出类漏洞,防止进程CoreDump的漏洞第一篇防止堆栈溢出类漏洞1.1对任何用户输入数据必须首先校验其长度,避免由于长度越界引起的缓冲区溢出。字符串长度计算。尽量使用单独保存的长度变量或read等输入函数返回的长度来计算字符串,不能完全相信strlen()。示例:main(intargc,ch

7、ar*argv[]){charbuff[128]={0};strcpy(buff,argv[1])//可能溢出}1.2C++和MFC程序字符串处理,选择现有的处理类库,禁止自己编写类库。建议:使用MFC的Cstring类、ATL的CComBSTR类或者STL的string类等等。1.3编码中禁止使用危险函数。禁止:禁止使用替换函数strcpy,wcscpy,lstrcpy,strcpy,_tcscpy,_ftcscpy,_mbscpystrncpy,wcsncpy,lstrcpyn,_tcsncpy,_ftcsncpy,_mbsn

8、cpystrcat,wcscat,lstrcat,strcat,_tcscat,_ftcscat,_mbscatstrncatvsprintf,vswprintf,wvsprintf,wvnsprintf,_vstprintf_vsnprintf,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。