代码安全编写规范
4页1、代码安全编写规范1. 安全编码1.1. 通用编码原则(一)不要信任外部的用户输入或系统。应用程序应该彻底验证所有用户输入,然后再根据用户输入执行操作。验证可能包括筛选特殊字符。针对用户意外地错误使用和某些人通过在系统中注入恶意命令蓄意进行攻击的情况,这种预防性措施对应用程序起到了保护作用。常见的例子包括SQL注入攻击、脚本注入和缓冲区溢出。止匕外,对于任何非受控的外部系统,都不要假定其安全性。(二)不要通过隐藏来保障安全。尝试使用让人迷惑的变量名来隐藏机密信息或将它们存储在不常用的文件位置,这些方法都不能提供安全保障,最好使用平台功能或使用已被证实可行的技术来保护数据(三)以安全的方式处理失效如果应用程序失效(如发生严重错误等),要恰当的进行处理,一定要保护好机密数据。同时,在向最终用户返回错误消息时,不要公开任何不需要公开的信息。也就是不要提供任何有助于攻击者发现应用程序漏洞的详细信息。1.2. 防范常见安全编码问题在实现应用软件的编码阶段,也较容易因缺乏严谨思考或不好的编程习惯而引入安全问题,而且这些安全问题产生的危害作用非常大,因其产生的漏洞常常会造成应用程序中其他部分构筑的安全
2、控制措施完全失效.目前存在的相当数量系统漏洞都是由编码问题造成的.因此要想保证应用软件的安全性,必须在编码阶段继续高度贯彻安全性原则。在编码阶段,避免安全问题的基本原则如下:?程序只实现指定的功能?永远不要信任用户输入,对用户输入数据做有效性检查?必须考虑意外情况并进行处理?不要试图在发现错误之后继续执行?尽可能使用安全函数进行编程?小心、认真、细致地编程目前在各种应用软件中常见的安全漏洞如下所示,应对这些常见问题进行有针对性的防范.1.2.1 缓冲区溢出如果对输入参数(字符串、整数等)处理时长度检查不严格,或对指针和数组越界访问不进行保护,就容易产生缓冲区溢出(BufferOverflow)问题,这种问题主要出现在主要出现在C/C+语言编写的系统中,它造成的漏洞是当今绝大多数安全漏洞的主要根源.在Java/.NET等利用虚拟机的(托管)平台上不会产生此问题。要避免此问题,则必须对系统输入数据进行严格的长度检查,废弃或截断超长的越界数据,同时利用基础库函数中的一些更为安全的字符串处理函数来处理数据,也可以利用编译器或代码复查工具提供的检查功能来尽早发现可能会产生问题的程序1.2.2 输
《代码安全编写规范》由会员夏**分享,可在线阅读,更多相关《代码安全编写规范》请在金锄头文库上搜索。
2023年单位采购合同(完整文档)
急诊科工作制度和岗位职责
小学一年级上册体育教案
事业单位结构化面试内涵及技巧
土方施工阶段扬尘污染技术交底
主管试用期工作总结范文(2篇).doc
湖北高等学校章程建设行动计划
信息保密协议书范本推荐.doc
速冻米面制品质量手册(1)
高效课堂的教学模式MicrosoftWord文档
四方借款合同3篇
abb式、abab式、abcc式、aabc式、aabb式的词语大集合
流行病学名词解释和简答题集锦
水果店加盟合同范本3篇
有关四年级写物作文5篇
2012年各省市高考语言运用题集锦
煤矿机电设备管理规定
委托理财合同范本(6篇)
2023年消防安全教育活动总结(5篇).doc
浅谈如何上好小学数学毕业整理与复习课
2023-04-11 2页
2023-03-28 25页
2024-01-18 85页
2023-04-05 5页
2023-01-16 6页
2023-12-19 93页
2022-11-28 14页
2023-07-17 4页
2022-09-07 5页
2023-04-29 15页