计算机软件安全漏洞检测技术应用

更新时间:2024-03-01 作者:用户投稿原创标记本站原创 点赞:5945 浏览:20072

【摘 要】本文概述了计算机软件安全漏洞检测技术中的静态检测技术和动态检测技术,总结了安全漏洞检测技术的应用.

【关 键 词】计算机软件;安全漏洞;检测技术;应用

当今的时代是信息时代,计算机软件的作用显得非常重要,各种各样的源代码增加速度突飞猛进.很多针对软件中存在的源代码漏洞开展了攻击行为,使系统遭到破坏,信息数据被窃取,严重危害了用户的安全.相关统计数据表明,计算机软件安全漏洞问题变得越来越严重,攻击趋于巨大的经济利益.所以,务必要加强安全漏洞检测,确保计算机软件安全运行.

一、检测技术概述

(一)静态检测技术

一开始采用静态分析的方法对软件安全漏洞进行静态检测,但是,由于检验的方法只是表面的形式,随着不断的发展,静态分析与程序检验成为静态检测的主要内容.

1.静态分析.主要是扫描系统程序的源代码,同时找到语法和关键句,对含义进行解读,然后分析程序,严格依据漏洞的性质与系统安全要求完成检测.静态分析的第一步是分析语法和关键句,对系统软件的语法方面进行严格的检查.将系统程序分解成片段,把这些片段和有疑惑的数据库进行分析对比,一旦有漏洞存在或有疑问存在,就开始工作判定和评估.因此,可以说,尽管可以检测到漏洞存在,但是只能对有限的漏洞数量进行检测,同时所检测到的漏洞很多已经存在,有些漏洞可能被漏报;第二步是依据检测标准进行认真检测.通常来说系统程序可以稳定运行就符合安全标准.此时就要采用规则处理的方法进行检测,依据这个标准描述语法的模式,然后使用规则处理器进行接收变换成内部的一种表达方式,然后,对系统程序进行全面的检测.

2.程序检验.主要是使用抽象系统程序将模型和程序形式化,然后开展形式化的检测分析,采用科学检验方法对系统漏洞的问题进行检测.重要的是建立检验的模型,对系统程序状态机与有向图等构建成抽象的模型,对系统的特征进行检测.一般采用2种方法开展检验,即模型自动转化和符号化检验.模型自动转化检验是将程序变为等价自动机,然后将2个自动机互相替换补充成新的自动机,可以容纳的形式语言成为了最终判定系统,模型检验一般是把现实存在的可能情况先列举出来,由于软件系统具有非常的复杂性,导致难以建全部的模型,因此只能针对部分程序与属性进行抽象建模.符号化检验是把抽象模型转变成语法树进行公式的描述,然后判断公式是否和需求相符.最近几年新模型检测技术得到了一定的发展,采用内存建模的方式对时序漏洞进行检验过,然后再采用定理对检测漏洞进行证明,具有更强的严密性.静态检测对漏洞的类别进行检验,由于不存在漏洞描述的要求标准,不能对未知漏洞进行描述和判定,不能对现有漏洞进行全面的覆盖,所以静态检测具有较大的性能缺陷,只有投入较多的资金才能提高检测质量.


(二)动态检测技术

1.非执行栈.当前有很多栈对软件进行攻击的问题,主要是由于系统内栈的执行方面及读写方面出现了一些问题.数组变量和内部变量是栈主要包括的2个变量,因此攻击者能够在栈里任意的写入恶意代码,采用其他方法运行代码.所以说将栈变换成不能执行的代码形式就可以对攻击进行有效预防.

2.内存映射.很多攻击者大都采用以NULL作为结尾的字符串覆盖内存完成对软件安全的攻击.采用内存映射技术可以增加覆盖内存的难度,不能直接跳转到内存区操作.从另一方面讲,因为代码页内存映射比较随机,在某些情况上可以减少需要对地址进行猜测而进行页面攻击.

3.沙箱.经过限制程序访问资源来避免恶意的攻击.比如,C语言方面的调动函数没有真正的存在软件当中,一旦在软件运行过程中有相似的调动函数存在,说明已经被攻击.所以,采用沙箱方法能够在被攻击前对恶意攻击进行限定,在被攻击后也没有损害.

4.安全共享库.很多软件安全漏洞的产生基本是由于共享库存在不安全问题.采用安全共享库能够防止人为的攻击.安全共享库指在程序运行时使用动态链接对不安全函数进行拦截,并对其检测.一般较广的应用在UNIX与windows操作系统.

二、检测技术应用

对竞争性漏洞进行预防

对于竞争性漏洞,应采用原子化操作形式对其进行预防.在程序运行的过程中,编码不会被任何问题所干扰.原子化操作形式主要指的是先限制,然后通过预防特定状态因为改变而导致的问题,间接对应用文件名进行调用,然后描述句柄或文件.

对随机性漏洞进行预防

对于随机性漏洞,可通过使用性能比较好的设备进行预防.因为设备的算法是自带的,可以保证安全的随机数流,软件即便遇到了恶意的攻击,算法的细节被掌握,也不能获取数据流.

(三)对缓冲区漏洞进行预防

对于缓冲区漏洞,要对软件程序内的不安全函数进行检查来进行预防,将高版本的安全软件取代有安全问题的软件.

(四)对字符串漏洞进行预防

对于字符串漏洞的预防,可以在数码内采用直接的格式常量,避免攻击者创建新的格式串.一般情况下,个数函数检测如不定参数,都会有字符串漏洞,所以采用这种函数能够保证每个参数的均衡性和个数达标.

三、结束语

对软件程序进行重新的设计和编写,是预防安全漏洞,确保软件安全的主要手段.所以,计算机技术人员要不断努力,强化安全漏洞检测技术,保障计算机软件运行安全稳定.