首页 > 范文大全 > 正文

应对计算机软件安全漏洞的措施分析

开篇:润墨网以专业的文秘视角,为您筛选了一篇应对计算机软件安全漏洞的措施分析范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

[摘要]随着科学技术的进步和信息化水平的不断提升,软件安全也越来受到软件安全专家的高度重视。在开展计算机软件管理的过程中,要密切防御和修复相关的安全漏洞,这样才能最大程度地防御此类安全隐患。软件管理者也需要了解和认识能够攻击软件的相关软件的弱点,这样就可以比较清晰地认识此类漏洞,从而切实采取有效措施

[关键词]计算机软件;安全漏洞;防范方法

中图分类号:TP39

文献标识码:A

文章编号:1006-0278(2013)04-175-01

从软件安全来看,它的弱点在于会造成安全问题,使得相关的软件代码不符合软件要求。在软件安全中,它的弱点和漏洞是不一样的,漏洞指的是被证实能够引发攻击的弱点。弱点并非是漏洞,但漏洞必定是弱点。在软件安全方面,有三个知名的弱点信息披露地方分别是:Bug trap、CERT与RIS-KS Digest。

一、软件安全漏洞分类

从软件安全来看,可以慈宁宫各种角度和层次为有关漏洞分类,分类的目的在于可以更好的理解和掌握漏洞的共同特征,这样就可以有更高的效率检测漏洞、针对性也更强了。根据相关情况,可以将这些软件的安全漏洞分为下列几类:

(一)缓冲区溢出

可以用很简单的事实来解释缓冲区形成溢出漏洞的原因。首先,在于运用的编程语言不安全,例如C或C++等计算机语言,以及程序员的编程技巧非常差。其次,就是语言缺乏边界检查,这就造成了数组或者指针在访问过程中通常会越界。溢出漏洞会早造成下列的程序行为:目标程序在执行过程中不正常、在执行过程中彻底崩溃或者是目标程序仍能持续执行,且没有明显差别。其中第三种案例最为复杂,也是最为糟糕的状态,它掩饰了发生攻击的可能性,这就造成了软件测试员未能及时地发现相关安全问题。

(二)竞争条件

竞争条件是某种常用软件的BUG,尤其是在如今多进程多任务的操作系统中,这种情况的运行状态更加复杂。在这种过程中,这个问题的解决难度要比比缓冲区所形成的溢出漏洞更大。通常情况下,某个程序可能在几年之内都会正常运作,但却会由于竞争条件BUG而导致运行异常。但是,却又不能确定这种异常的运行表现,这就是说,即便发现了竞争条件存在相关问题,但是要想彻底改正这个问题也非常困难,因为它的出现几率很小。

(三)格式化字符串

这种漏洞是另类非常巧妙的程序代码缺陷。若干年前就已了这种漏洞,但是很多软件中仍然存在着此类漏洞。在程序函数中,格式化字符串是非常特别的字符串参数,它不仅可以借助此类漏洞来展示相关的重要信息,还可以向内存中写入指定数据,因此威胁最大。只要存在着此类漏洞,就可以在进程内存的空间中任意地读写,所以它的危害非常大。在这种情况下,此类漏洞也就成为了了检测软件安全的关键内容方面。

二、软件安全漏洞防范方法

(一)防止缓冲区溢出漏洞

为了防御缓冲区溢出,最好采取以下方式:仔细检测程序中的危险函数。要运用安全版本来代替不安全版本,例如,用Strncat替代stcrat等。除非软件特别小,在计算机软件中,不可能做到一个BUG也没有。即便在检测程序源码过程中,并未加测出缓冲区溢存在问题,然而还是要加倍谨慎,还要运用其余方法来检测这些问题。例如,在Linux操作系统中,可以运行不可执行的堆栈补丁程序,也可以运行stackguard工具,这些在很大程度上偶可以保护缓冲区溢出。

(二)防止竞争条件漏洞

为了预防竞争条件漏洞,要原子化操作可以形成竞争的代码。通俗地来讲,代码是执行过程的最小单元,在执行相关操作的过程中,不能让其余任何事情来干扰到它的执行过程。在原子化过程中,可以采用锁定方法在代码上体现。在防范TOCTOU的过程中,应该避免直接运用文件名进行相关的系统调用,还要借助文件句柄以及文件描述字来进行。通过这种手段,可以在很大程度上确保文件处理过程中保持不变,而且还要通过自行访问来检测文件,这样就可以将这些操作留与操作系统内部的底层文件系统函数进行处理。这也就是说,要规避调用和使用access等函数。

(三)防止格式化字符串漏洞

在防止格式化字符串漏洞的过程中,最为要紧的办法就是不给攻击者留下任何构筑格式串的漏洞。直接在码中运用格式常量可以在很大程度上堵住该漏洞。能够形成格式化字符串漏洞的函数在很大程度上都不能确定参数的个数,且它们通常不会检验参数的类型以及个数。因此,在调用此类函数的过程中,要把握好相关参数的个数以及类型,确保它们一一对应。此外,还要执行不可执行堆栈程序,这样就可以在很大程度上防御非法用户利用此类漏洞。在Windows环境下,借助窗口,进而输出输入输出数据,这在很大程度上可以规避该漏洞。

(四)防止随机教漏洞

在防范随机数漏洞的过程中,可以借助很好的随机数发生器来防御相关漏洞。良好的随机数发生器本身就是非常优秀的密码算法,它能够为用户提供安全的随机数流,有数量足够多的嫡,即便攻击者把握了全部算法的细节内容,也无法猜出或者获得生成的数据流。

三、结束语

通过上述分析可以看出,在分析软件安全问题的过程中,文章指出了软件安全漏洞分类,而且还详细地分析了软件安全漏洞防范方法。希望这些方法和措施可以修补软件安全漏洞,更好地服务于生产生活。