ImageVerifierCode 换一换
格式:DOC , 页数:5 ,大小:105KB ,
资源ID:1574648      下载积分:10 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-1574648.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机软件中安全漏洞概述及防范方法.doc)为本站会员(gs****r)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

计算机软件中安全漏洞概述及防范方法.doc

1、1计算机软件中安全漏洞概述及防范方法摘要:随着科技进步与信息化的迅猛发展,软件安全问题越来越受到研究者们的重视,尤其是在计算机软件中,这些安全漏洞会带类很大的安全问题,有时是那些被证实可以攻击的软件弱点,这些漏洞需要我们有着较为清晰的认识,只有在了解的基础上才能有有效的防范方法。 关键词:计算机软件;安全漏洞;防范方法 中图分类号:F123.1 文献标识码:A 软件安全弱点就是可能会带来安全问题的计算机软件中的代码。软件安全弱点和软件安全漏洞不同,只有被证实可以引起攻击的弱点才是漏洞。弱点不一定都是漏洞,但漏洞一定是弱点。软件安全弱点信息披露的三个比较著名的地方是: Bugtraq、CERT

2、与 RISKS Digest。 每个计算机系统中都存在着安全脆弱点,而且现在软件安全性问题比过去更大,更加严重。其中的原因有三:第一个原因就是计算机网络的无所不在,这给攻击者寻求弱点提供了途径和方便性;第二个原因是现代信息系统及其相应程序的庞大和复杂,而且广泛使用的低级语言更加剧了弱点的存在;第三个原因就是软件的可扩展性。软件安全弱点随着上述因素的存在而在日益增加,这使得软件安全性问题比以往任何时候都更紧迫。了解软件中存在哪些可能的漏洞就显得很重要了。 一,软件安全漏洞分类 2软件安全漏洞可以从不同的角度和层次进行分类,分类的目的是有助于更好的把握漏洞的共性,使漏洞的检测效率更高、针对性更强。

3、 操作系统和绝大多数的协议通信软件都是使用 C 或 C+开发的,该语言拥有简洁、使用方便、灵活、运算能力好、硬件访问能力强、可移植性好和程序执行效率高等诸多的优点,所以使用也是最为广泛的。本论文对漏洞的分类也主要从 C 或 C+语台一的特点出发。软件安全漏洞从语言的角度说就是那些已经成功通过了编译器的编译,但编译器发现不了的,潜藏在程序源代码中的能引起安全故障的编程错误或遗漏。这些软件安全漏洞主要分为如下的几类: (一)缓冲区溢出 引起缓冲区溢出漏洞的原因也很简单。从大的方面说就是使用了不安全的编程语言,比如 C 语言或 C+十语言等,再加上程序员拙劣的编程技巧。从小的方面说就是语言自身没有边

4、界检查,使得数组或指针的访问常常越界。 溢出漏洞导致的程序行为有:目标程序的执行很古怪;目标程序的执行完全崩溃;目标程序可以继续,而且没有任何明显的不同。其中第三种情况是最棘手的,也是最坏的情况,它掩盖了可能发生的攻击,使得软件的测试人员也不能发现问题。 (二)竞争条件 竞争条件,是一种常见的软件 BUG。特别是在多进程多任务的现在操作系统面前情况更是严重。这个问题比起缓冲区溢出漏洞来说更难解决,一个程序可能几年来都一直运行正常,但是突然间就因为竞争条件 BUG3而出现异常,而这种异常表现又是不能确定的。即使发现了竞争条件问题的存在,想修正它也是十分困难,因为它们极少出现。 随着并行计算和分布

5、式系统的开发和扩展,竞争条件问题近年来愈演愈烈。其中基于文件的竞争条件问题在安全方面一直是最臭名昭著的。大多数基于文件的竞争条件问题都有一个共同的规律:在使用文件之前都会对文件的属性进行检查。但是这个检查存在缺陷。这个缺陷在安全界被称为检查时刻使用时刻,缩写就是 TOCTOU。当然了,涉及安全性的竞争条件 TOCTOU 问题不仅仅在访问文件的时候发生,在其他的各式各样的复杂系统中也常常出现。比如电子商务中的多数据库同步就是一个典型的竞争条件问题。 (三)格式化字符串 格式化字符串,漏洞是另一类微妙的程序代码缺陷。这个漏洞在几年前就已经被发布了,但是现在的很多软件产品仍然含有这个漏洞。格式化字符

6、串是程序函数中特殊的一类字符串参数。除了可以利用格式化字符串漏洞显示重要信息外,最危险的就是它可以向内存中写入指定的数据。格式化字符串漏洞只要存在,就可以被用来在进程的内存空间中任意读写,其危害还是非常大的。所以这类漏洞是软件安全漏洞检测的一个重要方面。 (四)随机数 从事过安全研究的人都知道随机数在安全性应用中是很重要的。随机数可以用来生成序列号,甚至可以生成密钥。随机数被用在安全应用中就是一个安全弱点。所以在软件安全弱点中要把它也作为重要组成部4分。 二、软件安全漏洞防范方法 (一)防止缓冲区溢出漏洞 防止缓冲区溢出的最好办法就是对程序中的危险函数进行详细检查。使用安全的版本来替换不安全的

7、版本,例如使用 Strncat 来替换 stcrat等等。计算机软件中完全没有 BUG,是根本不可能的,除非软件足够小。即使上面的程序源码检查中没有发现缓冲区溢出问题,还是不能掉以轻心,还是有其它方法可以使用的,比如在 Linux 操作系统上使用的不可执行堆栈补丁程序和 stackguard 工具等都对缓冲区溢出有较好的保护。 (二)防止竞争条件漏洞 防止竞争条件漏洞的方法就是对能产生竞争的代码实行原子化操作。简单来说就是代码的执行是最小的单元,执行操作的时候,不会有其他的任何事情打断它的执行。原子化体现在代码上就是采用锁定的方式。 防范 TOCTOU 问题应该做到的是:避免直接使用文件名的系

8、统调用,而是要使用文件句柄或者文件描述字。这样使用,可以保证处理文件时不会在背后被改变。而且不需要自己对文件进行访问检查,应该留给操作系统的底层文件系统函数处理。也就是说要避免使用 access 等函数调用。 (三)防止格式化字符串漏洞 防止格式化字符串漏洞的方法就是不要给攻击者任意构造格式串的机会。在代码中直接使用格式常量能有效防止这个漏洞。能产生格式化字符串漏洞的函数都是不定参数个数的函数,而且它们都不会对参数进5行类型和个数检验。所以在使用这些函数时要确保参数的个数和类型是一一对应的。另外,还可以通过不可执行堆栈程序等在一定程度上防止该漏洞的利用;在 Windows 下使用窗口来输入输出数据在一定程度上可以避免该漏洞。 (四)防止随机数漏洞 防范随机数漏洞的一个好方法就是使用好的随机数发生器,一个好的随机数发生器本身就是一个密码算法,它提供了安全的随机数流,有足够的嫡,即使攻击者知道了全部算法的细节,也不能猜出生成的数据流。 参考文献: 【1】孙百勇,Web 服务 CGI 安全漏洞分析与检测【J】 ,华中科技大学学报(自然科学版) ,2003,03/ 【2】杨义先等编著,信息安全新技术【M】 ,北京邮电大学出版社,2002.

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。