计算机软件中安全漏洞检测技术的应用探讨
2020-03-10范永宁
范永宁
摘 要:随着互联网技术的不断发展,互联网已经遍及社会的各行各业,与人们的生活、工作有着密不可分的联系,与此同时,由于软件规模越来越庞大,软件逻辑越来越复杂,不可避免的会产生软件安全漏洞,安全漏洞的出现直接威胁到了人们的自身利益。因此,笔者就计算机软件中的安全漏洞检测技术进行分析,并就安全漏洞检测技术的应用进行讨论,旨在为我国信息安全事业的发展做出一定贡献。
关键词:计算机软件;安全漏洞检测技术;应用
一、计算机软件中安全漏洞检测技术
(一)计算机安全漏洞动态检测技术
计算机安全漏洞动态检测技术是指在对计算机安全漏洞进行动态检测时,需要根据程序的运行状况及运行环境进行修改,从而解决当前的安全漏洞,但该检测技术也会引发一些新的安全隐患,从而影响系统的正常运转。计算机安全漏洞动态检测技术主要可以分为以下几个方面。
首先,为了防止数据栈被攻击,可以暂时性的让数据栈停止工作,避免栈在工作中被恶意代码所修改,为实现上述目的可以对软件系统进行加密设置。数据栈在计算机软件中起着至关重要的作用,栈漏洞出现很有可能给系统带来无法挽回的损失。
其次,堆指的是计算机程序中内存所分配到的区域,堆空间在系统编程开始就已经被初始化,为了有效规避不法分子利用堆漏洞对系统的攻击,可以将非执行栈与漏洞检测技术相结合,但这种方式会占用较大的内存,加重了计算机的负荷。
再者,可以利用内存映射技术,将黑客所要攻击的代码映射到系统中的一个随机地址上,为了找到具体的攻击地址,往往需要耗费大量的时间与精力,从而提升了系统的可靠性,且这种方法实现较为方便,可行性较强。
再者,为了有效地检测出程序中存在的安全漏洞,可以采用如下的措施:首先需要编译新的启动代码,随后将启动代码嵌入程序中,最后利用新的代碼程序对解释框架进行调试。
最后,安全漏洞动态检测技术规避安全漏洞的方式主要是通过访问控制,对不合理的访问行为进行阻止,而访问控制策略的科学性直接影响了漏洞检测的成效,若访问控制策略较为严格,可以阻挡黑客的攻击行为,但也会限制用户的正常使用。因此,必须科学定义访问控制策略,既要限制黑客的访问,又要保证用户功能的正常使用。
(二)计算机软件中安全漏洞静态检测技术
安全漏洞静态检测技术是指借助于程序分析技术对二进制代码及代码源进行分析的过程,采用安全漏洞静态检测技术降低了对软件的需求,可以在不依赖其他软件的基础上实现检测功能,与此同时,采用安全漏洞静态检测技术所产生的安全漏洞更少。安全漏洞静态检测技术主要包括以下几个方面:
第一,借助于语法分析技术完成对程序或程序片段的检查,若程序代码量过于庞大,可以拆分成多个程序段,然后将每一个可控的片段与系统中可能存在的安全漏洞数据进行对比分析,由于工作量较大且处理流程较为繁琐,常会导致漏报现象的发生,致使该方法的可行性较低。
第二,利用规则检查技术对计算机软件中的程序进行检查,程序员在搭建系统软件的过程中,由于粗心或业务能力不合格,也会导致安全漏洞的产生,规则检测技术简单来说就是根据特定的语法规则将程序描述出来,再根据规则处理器对程序进行处理,将处理后的数据传入到分析器中,与之前的程序进行比较,从而有效发现计算机软件中存在的安全漏洞,提升软件的安全性。
第三,类型推导技术也是安全漏洞静态检测技术中最为常用的一种,该方法可以对程序中的变量及类型进行推导,在此基础上对程序变量及函数进行访问,检测方法是否存在安全漏洞,该方法主要适用于分析和控制流联系不密切的程序。
第四,模型检测技术利用隐式不动点对计算机内的系统命题或者模型状态性质进行验证,进而通过建模对程序的构造和特征进行了解和验证。
第五,定理证明技术适用于对抽象公式的检测,从而判断公式表达是否正确,模型检测技术通过直接运用公式实现对公式的辨别。
二、计算机软件中安全漏洞检测技术的应用分析
互联网技术的飞速发展给各行各业带来了深刻的变革,极大的缩减了人们的工作量,与此同时,一些不法分子借助网络安全漏洞对个人、企业、机构的计算机进行入侵,从而影响了个人及企业的利益,加强安全漏洞检测工作是必要的,计算机软件中安全漏洞检测技术的应用可以从以下几个方面着手。
(一)有效预防竞争条件的漏洞
竞争条件是指程序的并发线程同时访问共享资源时,由于线程执行顺序的不同,所产生的结果也会有所差异,在计算机软件中许多安全漏洞的形成均受到了竞争条件的影响,运用安全漏洞检测技术以原子化的方式对竞争编码进行处理,在计算机软件运行过程中,最小的编码受病毒感染的机率大幅度降低,从而以原子化操作实现对程序的锁定,提升计算机软件的安全性与可靠性。
(二)有效预防缓冲区的漏洞
为有效预防计算机软件安全漏洞,需要预防缓冲区溢出这一问题,常用的预防缓冲区漏洞的方式是对软件中存在的危险性函数进行检测,若发现软件的版本不合理,可以选用更为安全的版本进行替换,防止缓冲区中的漏洞溢出,大幅度提升计算机软件的安全性。
(三)有效预防随机出现的漏洞
针对于计算机软件中的随机漏洞,通常运用随即发生的设备,在此过程中,计算机软件自身持有加密算法,提升计算机软件中相关数据的安全性与稳定性。当不法分子采用某种特殊方式对计算机进行攻击时,由于无法准确获取到相关的数据流,从而起到了保护数据的作用。
(四)有效预防格式化的字符串漏洞
黑客在对计算机漏洞进行攻击时,若计算机软件采用格式化常量,黑客将无法进行创建格式化字符串的行为,规避格式化字符串漏洞对计算机产生的消极作用。
综上所述,互联网的普及离不开可靠的安全保障,安全漏洞的存在很有可能会损坏用户利益,人们对计算机软件中安全问题的重视程度大大提升,对软件中的安全漏洞进行检测是解决安全的关键,只有构建了安全的软件系统,才能规避不法分子对软件的攻击与破坏。
参考文献:
[1] 徐博. 安全漏洞检测技术在计算机软件中的应用研究[J]. 中国新通信, 2018, 020(010):144.
[2] 宋世茂. 计算机软件中安全漏洞检测技术的应用研究[J]. 无线互联科技, 2018, 015(006):51-52.
[3] 单超. 计算机软件中安全漏洞检测技术及其运用策略[J]. 中国科技投资, 2019, 000(007):234.
[4] 段明慧. 安全漏洞检测技术在计算机软件中的应用研究[J]. 数字技术与应用, 2018, 36(08):190-191.
(武汉学院信息工程学院 湖北 武汉 430212)