欢迎来到天天文库
浏览记录
ID:40164321
大小:211.30 KB
页数:8页
时间:2019-07-24
《通用代码安全编程规范》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、软件安全■文档编号V1.0■密级商业机密■版本编号■日期2009.3.25©2010绿盟科技上海分公司-张杰■版权声明本文中出现的任何文字叙述、文档格式、插图、照片、方法、过程等内容,除另有特别注明,版权均属绿盟科技所有,受到有关产权及版权法保护。任何个人、机构未经绿盟科技的书面授权许可,不得以任何方式复制或引用本文的任何片断。目录一.软件安全简介..................................................................................
2、...............................................1二.软件安全设计.................................................................................................................................22.1架构设计................................................................
3、....................................................................22.2输入处理....................................................................................................................................22.3缓冲区溢出........................................
4、.........................................................................................32.4字符串格式化问题.....................................................................................................................32.5加密与认证..............................
5、...................................................................................................42.6错误和异常处理.........................................................................................................................5-I-软件安全一.软件安全简介软件主要指计算机系统
6、中的程序(源程序和执行程序)以及程序运行所必须的数据和文档。信息系统中各种软件程序的安全必须得到重视,事实上,系统的硬件和操作系统提供了完成系统设计目标的可能性,而具体的任务需要有各种各样的软件配合来完成。所以有了操作系统的安全,还需要有软件的安全。软件安全的重要性源于软件与其所处理和维护的数据密不可分,而这些数据包含的信息就是建设信息系统的最终目的,也是信息系统的主要资产。要说明一个应用软件是可靠的,一般需要采用形式化的方法,即首先需要对它进行形式化规范的说明,其次还要验证形式化规范与编码实现的一致性。这两
7、者都是极其困难的,更糟糕的状况在于,形式化方法可以通过揭示系统的不一致性、歧义性和不完备性来增加我们对系统的理解程度,从而提高我们对系统可靠性的可信度,但是形式化方法本身也不能确保系统的可靠性。由此可见,要使得一个应用软件具有安全性是极其困难的。事实上,我们可以看到,各种应用软件的漏洞和错误正在不断涌现。软件不断升级同时推出各种补丁包。这方面,微软的IE浏览器可以作为例子,许多黑客入侵事件都是利用了IE的漏洞。关于软件的安全性有两个很著名的例子可以说明其重要性。1996年6月,欧洲宇航局的阿丽亚娜5号火箭由于
8、软件故障,在发射之后爆炸。原因是一个64位数据被装入16位空间引起溢出。三年后,NASA的火星探路者在一次发射中神秘失踪,起因是一个数据转换错误。NASA的工程师没有把火箭冲力的单位从英制“磅”换算成“牛顿”,两种计量单位之间相差4.45倍。这两起灾难虽然与计算机安全无关,但却表明设计和实现无错误故障代码的重要性。软件安全需要保护的内容很广泛,包括软件自身的安全,软件的存储安全,软件的通信安全,软件
此文档下载收益归作者所有