SCI论文(www.lunwensci.com)
摘 要:现代信息技术已经融入各个领域,不仅可以实现大量信息数据的高效存储,而且越来越稳定。然而,计算机软 件中的安全漏洞越来越复杂,处理的难度越来越大,这就需要采用更加先进的检测技术,快速查找漏洞原因,及时弥补安全缺 陷,确保计算机软件始终处于正常运行状态。基于此,本文探讨了计算机软件中安全漏洞的特点,分析了计算机软件安全漏洞 检测技术,提出了安全漏洞检测技术在计算机软件中的应用建议。
Security Vulnerability Detection Technology in Computer Software
LI Yinjie
(Liaoyang Vocational College of Technology School of Information Engineering, Liaoyang Liaoning 111000)
【Abstract】: Modern information technology has been integrated into various fields, which can not only achieve efficient storage of a large amount of information data, but also become more and more stable. However, the security vulnerabilities in computer software are becoming more and more complex and difficult to deal with, which requires more advanced detection technology to quickly find the causes of vulnerabilities, timely remedy security defects, and ensure that computer software is always in normal operation. Based on this, this paper discusses the characteristics of security vulnerabilities in computer software, analyze computer software security vulnerability detection technology, the application of security vulnerability detection technology in computer software is proposed.
【Key words】: computer software;security vulnerabilities;detection technology
0 引言
计算机的普及为各行各业发展带来了更多的便利 性,简化了办公流程,提高了工作效率,所以越来越多 企业开始引进更加先进的计算机软件,而为了满足企业 需求,计算机软件技术也在不断更新换代,涉及到的源 代码数量与日俱增,违法犯罪分子通过运用代码漏洞破 坏计算机软件系统,不仅导致企业重要数据信息丢失, 而且极易造成整个计算机系统瘫痪,造成的经济损失难 以估量。所以计算机软件安全漏洞如何才能更好地检测 成为了企业关注的重点。基于此,本文重点针对计算机 软件中安全漏洞检测技术进行了分析,旨在为有效防范 计算机软件安全漏洞提供有价值的建议,帮助企业根据 自身情况,选择最适宜的检测技术。
1 计算机软件中安全漏洞特点
1.1 原发性
原发性是计算机软件自身编程中出现的缺陷,进而 引发一系列安全风险,或者导致软件中存在诸多极易被攻 击的程序,这些都会成为被攻击的对象 [1]。而造成此现象 产生的关键性因素是软件编程工作人员设计系统时出现了 失误,使得计算机软件先天性存在缺陷,为后期使用时非 法侵入埋下了隐患。计算机软件设计人员很难做到面面俱 到,再加之受到设计水平的局限性,便会造成计算机软件 在投入市场之前已经存在一些安全风险, 这便是原发性 问题所致,需要后续使用时定期进行维护与更新。
1.2 差异性
计算机软件投入使用以后应用范围较广,而且当前市场中涉及到的计算机软件种类较多,当工作环境、硬 件配套设备不同时,计算机软件出现的安全漏洞形式也 会存在较大的差异性 [2]。与此同时,计算机软件运行过 程中产生的代码,在不同设备、系统中运行也会有所不 同,进而造成计算机软件安全漏洞呈现多样化、差异性 特点。
1.3 延续性
在不断发展中,计算机软件也在进一步优化、更 新,在原始漏洞被修复以后,必然也会有新漏洞的产 生。而且计算机软件更新过程本身也会存在一些逻辑性 的错误,进而导致漏洞形式各不相同,只要有漏洞,就 需要进行修补,修补以后又会有其他漏洞出现,进而进 入到一个安全漏洞循环中,计算机软件完善与发展,修 复旧漏洞,产生新漏洞,继续修复,这体现的便是计算 机软件中安全漏洞最为明显的延续性特点。
2 计算机软件安全漏洞检测技术
2.1 动态检测技术
2.1.1 内存映射
内存映射具体的定义是关联进程中 1 个虚拟内存区 域& 1 个磁盘上的对象,使得两者存在映射关系,上述 映射过程 = 初始化该虚拟内存区域 ;虚拟内存区域被初 始化后,就会在交换空间中换来换去 ;被映射的对象称 为 :共享对象(普通文件 / 匿名文件) [3]。此技术作用 是 :如果存在上述映射关系,则具备以下特征,在多个 进程的虚拟内存区域和同 1 个共享对象构建映射关系的 前提下,如果其中 1 个进程对该虚拟区域进行写操作, 那么,对于把该共享对象映射到其自身虚拟内存区域的 进程也是可见的,具体如图 1 所示。
如果进程 1、2 虚拟内存区域同时映射到同 1 个共 享对象 ;当进程 1 对其虚拟内存区域进行写操作时,也 会映射到进程 2 中的虚拟内存区域。要想实现以上操 作,具体过程是 :借助 Linux 系统下的系统调用函数 mmap() ;该函数的作用 = 创建虚拟内存区域 + 与共享对象建立映射关系 ;其函数原型、具体使用&内部流 程。内存映射检测技术最为显著的特点是能够提高数据 读、写&传输的时间性能,数据拷贝次数减少了,实现 了用户空间&内核空间高效交互,用内存读写取代了 I/O 读写,同时借助虚拟内存&共享对象提高了内存利用率。 此技术在 Linux 系统下, 结合内存映射本质原理&特点, 主要应用的场景是实现内存共享,比如跨进程通信,以 及提高数据读、写效率,例如文件读、写操作等。
一般情况下,攻击计算机软件时常使用的代码为多 字符串末尾位置是“NULL”字样,对内存进行覆盖, 全面发起攻击。代码进入到计算机系统以后会快速跳转 到那些简单的内存区域范围之内,导致系统无法运行, 同时内存随机映射的代码会将具体地址缩减,对计算机 软件系统带来较大的损害。此技术多应用于高端地址、 固定地址计算机程序中,采用映射代码页形式,黑客攻 击难度加大,由于需要更改计算机操作系统,因此即使 快速检测到系统地址跳转安全问题以后及时预防,依然 很难检测到新代码漏洞。
2.1.2 非执行栈
近年来,大多数计算机软件系统遭遇严重的攻击主 要是破坏了栈,关键性因素是计算机软件系统栈具备了 能写性、可执行性,进而造成的结果与现象 [4]。整个环 节,计算机内部储存的多种信息变量呈现的是栈核心数 组变量,在攻击计算机系统时会把一些恶意代码发送至 栈中,严重损害计算机内部操作系统,借助栈内代码地 快速更改,可以阻止此行为执行。在将代码更改以后很 难对安全攻击成功率缩减,进而达到了计算机软件系统 安全性能提高的目的。
2.1.3 安全共享库
安全共享库主要用于数据共享,使数据的使用更加 方便快捷,但是不是真正安全很难保证。由于数据在共 享以后其安全性完全取决于共享平台安全性能,如果共 享库运行环境安全性能较差,极易造成数据共享中出现泄露问题。在计算机软件运行过程中有时候会因为各种 因素使用了一些安全系数较低的共享空间,进而产生了 一系列安全漏洞。因此如果能够保障安全信息共享库更 加安全,就要不断推进信息共享库动态化运行,通过此 方法保障计算机软件处于一个安全平稳的运行环境中。 同时也可以通过保证共享库链接运作是在计算机运行前 提条件下,可以将计算机软件运行时遭遇的安全性较低 程序全部拦截下来,同时进行额外安全性检测,确保计 算机的运行更加安全。
2.1.4 沙箱
对于计算机软件中存在的损害性较强的攻击行为, 可以采用沙箱技术进行有效防范,主要运用的是程序资 源的访问功能。换言之也就是当计算机运行时,在 C 语 言中编写一些调动函数,软件本身便不能对这些函数进 行调动,但是当系统开启预防操作以后会生成一些与调 动函数类似的行为,由此可以判断软件可能已经被非法 行为攻击。当软件被恶意侵入前,及时完成沙箱的限 定,便可以在第一时间预防沙箱被非法入侵,进而也能 够避免计算机软件系统受到破坏。
2.2 静态检测技术
2.2.1 定理证明检测技术
此技术重点在于抽查计算机程序抽象公式,通过准 确的判断来评估其是不是已经遭遇了黑客攻击,或者存 在安全漏洞,在进行精准化检测以后对非法入侵行为进 行高效阻截,借助此方法实现计算机软件系统运行的安 全性、稳定性。
2.2.2 模型检测技术
模型检验是指借助有限情况下计算机系统程序有向 图、状态等构建抽象的模型,进而将系统特征检验工作 更好地完成。计算机软件安全漏洞检测过程中采用模型 检测技术,重点在于通过软件行为和结构构建相应的模 型,形成一个测试模式,计算以及验证计算机系统模式 以及相应的优先状态,结合验证以后的结果完成建模操 作,然后根据模型准确分析、验证计算机软件程序构造 等具体的特征,以达到有效检测安全漏洞的目的。此检 测技术主要包括符号化检验方法、模型自动转化检验方 法。前者是指抽象模型转换为语法树形式,描述时主要 采用的是公式形式,只需要对公式是不是与需求相符进 行判断即可 ;后者则需要进一步将需要检测的程度转变 为等价自动机,由两个自动机互相补充、相互替换,进 而构成新的自动机,最后会把判定系统转换为可以容纳 的语言形式。一般情况下,模型检验技术需要将现实中 可能产生的不同情况列举出来,因为软件系统自身复杂多变,如果全部的程序点均需要建模,将会呈现庞大的 规模,所以通常情况下只需要将其中一部分属性、程序 抽象建模即可。但近些年,越来越多的新模型检测技术 逐渐形成,这些新的模型检测技术主要运用内存建模形 式检验以前的时序漏洞,然后运用定理证明法检测漏 洞。此方法与模型检验相比较,严密性更强,主要采用 的是多重判定法判断程序,尤其是针对抽象公式真假判 定优势更加突出。判断方法的选择主要取决于抽象公式 自身形式,比如不等式合取便是其中的重要因素,通过 合取式制成相应的图形,其中每一个条件均会在图中有 相应点的反应,进而再次应用于已给定等式,合并各个 点。此时需要对合取式各不等式进行检测,若存在不成 立等式,合取式就无法满足。
2.2.3 类型推导检测技术
在静态检测技术中,此技术也是非常关键的组成部 分,通过推导计算机函数、程序变量等类型,根据推导 以后的结果对计算机函数、程序变量进行准确的判断, 以此来发现其中是不是出现了异常现象,并查找计算机 软件安全漏洞的具体类型,受到哪些威胁以及破坏的程 度等。此技术在应用时适用条件是特定的,一般情况下 多应用于与程序无任何关联性程序的检测环节。
2.2.4 规则检测技术
此技术重点在于检测程序本身的安全漏洞,特别是 对于操作人员出现失误时带来的安全漏洞具有很好的检 测效果 [5]。计算机软件系统是由程序员进行编程的,而 人工操作难免会出现失误,导致计算过程错误、判断失 误等问题的发生,使得计算机软件出现了安全漏洞。在 面对此类问题的时候,必然要采用规则检测技术,通过 使用固定语法描述程序规则,在此基础之上,规则处理 器会完成分析处理操作,在对比程序行为以后,针对安 全漏洞及时做好防范。
2.2.5 静态分析技术
此方法侧重点在于全面且直接的对程序代码进行相 应的扫描,与此同时还会将其中关键句、语法提炼出 来,借助解读其含义来对程序行为进行分析,并严格依 照预先设定好的漏洞特性、计算机软件系统安全标准整 体检测系统漏洞。首先分析词句、语法,这也是使用最 早的静态分析法,但是在分析词句、语法的时候,还只 停留于检查语法层面。系统程序分成了一段段语句片 段,再将每一个片段和“疑问数据库”细致的比较,若 发现漏洞问题或者疑问,就会将启发式评估以及判定开 启。由此可见,词句、语法分析法虽然可以将漏洞有效 检测出来,但是检测数量极其有限,通常情况下检测到的漏洞是已知的,极易出现严重的漏报问题。其次检测 时需要严格执行相关标准及要求,一般情况下,安全标 准描述的是计算机系统运行具体情况,程序自身便是一 种编程标准,换言之也就是一些一般安全标准、漏洞模 式。可以采用规则处理检测法,将以上标准运用语法模 式描述,并且借助规则处理器完成接收任务,将其转化 为处理器可以容纳的内容表述,最后环节整体检测系统 程序运行情况。
3 计算机软件中安全漏洞检测技术应用建议
3.1 防止竞争关系的漏洞
处于计算机软件竞争环境下,同样也会出现很多安 全漏洞,主要是由于计算机运行时极易存在诸多缺陷, 为了更好地防范此情况下安全漏洞的产生,最为有效 的方法就是提前做好预防,可将竞争条件下的编码原子 化处理。这里所提到的编码指的是执行中涉及到的最小 单位,在原子化操作下,编码运行时干扰因素会逐渐减 少,在锁定原子化运作情况中,可以选择对某一特定情 况下的问题进行更改,不仅能够发挥较好的预防效果, 而且可采用相应文件名体系简介调用,同时还能够将相 应文件句柄表述出来。
3.2 防止缓冲区出现漏洞
缓冲区也是计算机软件中极易出现漏洞的地方,针 对区域内安全漏洞的预防可以采用软件程序中危险数值 较高的函数进行快速检测,及时做好相应的预防,同时 也可通过将一些安全系数低、滞后性软件更换为安全性 能高、技术含量高的软件版本。
3.3 随时检测,预防新漏洞
计算机软件安全漏洞具备了延续性特点,所以会有 新问题不断出现,针对此情况如果依然采用事后弥补的 方法显然很难满足正常运行需求,此时就要做好随时随 地监测工作,准确捕捉到潜在的新漏洞,提前做好相应 的预防处理。在预防新漏洞过程中可使用性能较好的设 备,保证设备具有较强的密码演算程序,以达到随机数 流时刻保持较高安全运行状态。在软件被非法行为攻击 的时候,便能够对每一位置细节算法准确掌握,同时又 不会形成数据流,实现数据有效保护的目的。
3.4 防止格式化字符串漏洞
运行或者执行一些严密且谨慎防范计算机软件安全 漏洞方案的时候,可将格式常量直接应用于数据加密环 节,通过此方法,违反犯罪分子、黑客很难找到可利用的缺陷,失去了可乘之机 [6]。个数函数最大的安全隐患 是格式化字符串,这也是黑客攻击的主要范围,是计算 机软件中的薄弱点,要想更好地预防此类漏洞就需要保 证每一串数据均在掌控之中,特别要关注到软件参数的 设置,促进检测精准性的提高。当计算机软件出现格式 化漏洞时,不仅会造成计算机系统中关键性数据及信息 被非法窃取、丢失,而且后续很难将其修复完整,对于 计算机用户带来较大的利益损害,所以要特别重视检测 计算机软件中格式化漏洞。
4 结语
当今社会是大数据高速发展的新时代,计算机在生 活、生产中的作用越来越突出,通过计算机完成数据信 息的储存与处理已成为现代化办公的重要模式。所以当 计算机软件出现安全漏洞时,对于个人、对于企业都会 带来较大的影响。因此,采用安全漏洞检测技术是对软 件进行保护的重要手段,一方面能够实现计算机软件安 全性能的提高 ;另一方面保证了信息数据的保密性。计 算机软件安全漏洞预防中,采用检测技术进行监测时, 除了要注意缓冲区安全漏洞防范以外,还应该及时检查 软件内存在的高危险性函数。如果计算机软件版本风险 较大,需要在第一时间更换高安全性新版本,同时计算 机操作人员严禁使用非法软件、盗版软件,以免软件本 身自带危险病毒。但是时代在发展,计算机软件安全漏 洞检测技术也需要不断优化、创新,进而才能更好地保 障计算机运行的安全性、稳定性。
参考文献
[1] 曹道通.计算机软件中安全漏洞检测技术与应用分析[J].软 件,2022.43(9):180-182.
[2] 吴年志.计算机软件中安全漏洞检测技术及其应用[J].电脑 知识与技术,2018.14(35):32+50.
[3] 周云,马江洪.浅谈计算机软件中安全漏洞检测技术及其应 用[J].科技与创新,2017(17):152-153+156-157.
[4] 李岩.计算机软件中安全漏洞检测技术的应用问题探讨[J]. 电子元器件与信息技术,2021.5(5):235-236.
[5] 徐菲.计算机软件中安全漏洞检测技术的实践研究[J].无线 互联科技,2021.18(2):41-42.
[6] 段明慧.安全漏洞检测技术在计算机软件中的应用研究[J]. 数字技术与应用,2018.36(8):190-191.
关注SCI论文创作发表,寻求SCI论文修改润色、SCI论文代发表等服务支撑,请锁定SCI论文网!
文章出自SCI论文网转载请注明出处:https://www.lunwensci.com/jisuanjilunwen/63974.html