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

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

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机软件中安全漏洞概述及防范方法.doc

计算机软件中安全漏洞概述及防范方法   摘要:随着科技进步与信息化的迅猛发展,软件安全问题越来越受到研究者们的重视,尤其是在计算机软件中,这些安全漏洞会带类很大的安全问题,有时是那些被证实可以攻击的软件弱点,这些漏洞需要我们有着较为清晰的认识,只有在了解的基础上才能有有效的防范方法。   关键词:计算机软件;安全漏洞;防范方法   中图分类号:F123.1 文献标识码:A      软件安全弱点就是可能会带来安全问题的计算机软件中的代码。软件安全弱点和软件安全漏洞不同,只有被证实可以引起攻击的弱点才是漏洞。弱点不一定都是漏洞,但漏洞一定是弱点。软件安全弱点信息披露的三个比较著名的地方是: Bugtraq、CERT与RISKS Digest。   每个计算机系统中都存在着安全脆弱点,而且现在软件安全性问题比过去更大,更加严重。其中的原因有三:第一个原因就是计算机网络的无所不在,这给攻击者寻求弱点提供了途径和方便性;第二个原因是现代信息系统及其相应程序的庞大和复杂,而且广泛使用的低级语言更加剧了弱点的存在;第三个原因就是软件的可扩展性。软件安全弱点随着上述因素的存在而在日益增加,这使得软件安全性问题比以往任何时候都更紧迫。了解软件中存在哪些可能的漏洞就显得很重要了。   一,软件安全漏洞分类   软件安全漏洞可以从不同的角度和层次进行分类,分类的目的是有助于更好的把握漏洞的共性,使漏洞的检测效率更高、针对性更强。   操作系统和绝大多数的协议通信软件都是使用C或C++开发的,该语言拥有简洁、使用方便、灵活、运算能力好、硬件访问能力强、可移植性好和程序执行效率高等诸多的优点,所以使用也是最为广泛的。本论文对漏洞的分类也主要从C或C++语台一的特点出发。软件安全漏洞从语言的角度说就是那些已经成功通过了编译器的编译,但编译器发现不了的,潜藏在程序源代码中的能引起安全故障的编程错误或遗漏。这些软件安全漏洞主要分为如下的几类:   (一)缓冲区溢出   引起缓冲区溢出漏洞的原因也很简单。从大的方面说就是使用了不安全的编程语言,比如C语言或C+十语言等,再加上程序员拙劣的编程技巧。从小的方面说就是语言自身没有边界检查,使得数组或指针的访问常常越界。   溢出漏洞导致的程序行为有:目标程序的执行很古怪;目标程序的执行完全崩溃;目标程序可以继续,而且没有任何明显的不同。其中第三种情况是最棘手的,也是最坏的情况,它掩盖了可能发生的攻击,使得软件的测试人员也不能发现问题。   (二)竞争条件   竞争条件,是一种常见的软件BUG。特别是在多进程多任务的现在操作系统面前情况更是严重。这个问题比起缓冲区溢出漏洞来说更难解决,一个程序可能几年来都一直运行正常,但是突然间就因为竞争条件BUG而出现异常,而这种异常表现又是不能确定的。即使发现了竞争条件问题的存在,想修正它也是十分困难,因为它们极少出现。   随着并行计算和分布式系统的开发和扩展,竞争条件问题近年来愈演愈烈。其中基于文件的竞争条件问题在安全方面一直是最臭名昭著的。大多数基于文件的竞争条件问题都有一个共同的规律:在使用文件之前都会对文件的属性进行检查。但是这个检查存在缺陷。这个缺陷在安全界被称为检查时刻使用时刻,缩写就是TOCTOU。当然了,涉及安全性的竞争条件TOCTOU问题不仅仅在访问文件的时候发生,在其他的各式各样的复杂系统中也常常出现。比如电子商务中的多数据库同步就是一个典型的竞争条件问题。   (三)格式化字符串   格式化字符串,漏洞是另一类微妙的程序代码缺陷。这个漏洞在几年前就已经被发布了,但是现在的很多软件产品仍然含有这个漏洞。格式化字符串是程序函数中特殊的一类字符串参数。除了可以利用格式化字符串漏洞显示重要信息外,最危险的就是它可以向内存中写入指定的数据。格式化字符串漏洞只要存在,就可以被用来在进程的内存空间中任意读写,其危害还是非常大的。所以这类漏洞是软件安全漏洞检测的一个重要方面。   (四)随机数   从事过安全研究的人都知道随机数在安全性应用中是很重要的。随机数可以用来生成序列号,甚至可以生成密钥。随机数被用在安全应用中就是一个安全弱点。所以在软件安全弱点中要把它也作为重要组成部分。   二、软件安全漏洞防范方法   (一)防止缓冲区溢出漏洞   防止缓冲区溢出的最好办法就是对程序中的危险函数进行详细检查。使用安全的版本来替换不安全的版本,例如使用Strncat来替换stcrat等等。计算机软件中完全没有BUG,是根本不可能的,除非软件足够小。即使上面的程序源码检查中没有发现缓冲区溢出问题,还是不能掉以轻心,还是有其它方法可以使用的,比如在Linux操作系统上使用的不可执行堆栈补丁程序和stackguard工具等都对缓冲

文档评论(0)

sis_lxf + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档