职称论文

您当前的位置:学术堂 > 职称论文 >

浅谈软件设计中的安全漏洞动态检测技术

来源:农家参谋 作者:高上
发布于:2020-09-25 共2022字
    摘要:本文将详细分析软件设计中安全漏洞动态检测技术方法, 以及其优缺点。
   
    关键词:计算机技术,软件设计,动态检测,安全漏洞

软件设计师论文
   
    计算机软件是计算机以及网络的基础, 因此一旦软件出现漏洞, 将会影响到软件设计以及开发过程中的性能。安全漏洞是软件在维护系统安全过程中存在的缺陷, 想要弥补软件出现的缺陷, 需要通过通过动态检测、静态检测以及混合检测等方式, 探寻软件存在的风险, 来达到降低软件漏洞带来的不良影响。本文主要分析动态检测技术, 以避免软件设计中安全漏洞对软件造成影响。
   
    1 非执行栈动态检测技术
   

    进程的内存映射会分成代码段、只读段、资源端、数据段、堆、栈等部分。近几年, 通过栈对软件进行攻击的安全漏洞事故频繁发生, 究其根本原因便是一些系统的栈存在漏洞, 攻击者能够通过外部对其进行改写以及执行。这些事故发生时, 攻击者通过向软件中的栈写入控制代码, 然后通过执行代码控制计算机中的栈, 来完成恶意控制计算机的目的。想要防范栈受到攻击者的恶意篡改, 最直接的一种方式便是自行修改栈的执行模式, 使攻击者无法通过栈执行任务。如此一来, 即使攻击者写入控制代码, 栈也无法执行, 从某种程度上提升了计算机的安全性。但是在进行非执行栈动态过程中, 会影响到系统性能, 因此, 可以通过栈溢出使软件在受到攻击时, 跳转至攻击代码, 由于代码放置于堆中, 也因此, 这种技术需要进行相应改进, 可以通过修改栈页为不可执行的方式进行。非执行栈动态检测技术在实施过程中会造成一定兼容性问题, 但是与其起到作用相比, 占用的CPU指令周期几乎可以忽略不计[1]。
   
    2 非执行堆与数据动态检测技术
   
    堆是软件运行过程中的内存分配区域, 在软件运行过程中起到非常重要的作用, 也是攻击者对软件攻击的一个漏洞点, 对其防范原理与非执行栈原理相同, 通过标记不可执行来达到保护堆与数据动态的目的, 但是在进行非执行堆与数据动态监测技术过程中, 由于堆与数据段功能较为重要, 而且非执行堆与数据动态检测技术在执行过程中付出的代价较大, 其对内核以及软件资源占用较多, 从而导致非执行堆与数据动态检测技术并不能完美施行。近年来, 随着计算机技术不断发展, 非执行堆与数据动态检测技术已经存在大量的使用案例, 证明这种技术存在的资源占用弊端几乎被解决, 也能够直接使用。但是从安全漏洞防护检测方面来看, 这项技术能够阻拦所有恶意篡改代码方面的漏洞, 而一些恶意修改函数指针以及函数参数等方面的攻击并没有相应的应对手段, 因此, 这项技术依然存在一定弊端。
   
    3 内存映射动态检测技术
   
    在软件运行过程中, NULL结尾字符也会成为计算机软件攻击者的攻击点, 其能够通过NULL结尾字符覆盖内存跳转至较低的内存区, 从而达到攻击计算机软件的目的。内存映射文件, 是由一个文件向内存的映射, 其中内存映射文件方式与虚拟内存相似, 能够保留一个地址空间区域, 与此同时, 将物理的储存器提交到此区域, 由于内存映射文件的物理储存器是来自磁盘的文件, 在进行文件处理时, 并不需要对文件执行I/O操作, 也因此为处理数据文件提供重要的帮助。在使用内存映射动态检测技术时, 将代码页通过随机映射的方式, 这种方式能够使攻击者无法轻易通过NULL结尾字符进行有效攻击, 如缓冲区的溢出漏洞, 攻击者需要寻找其中的地址, 通过改写的程序覆盖其中操作控制系统, 而通过内存映射动态检测技术, 能够给攻击者造成非常大的困难, 从而达到防护的目的[2]。
   
    4 安全共享库动态检测技术
   
    软件设计中函数安全占据非常重要的地位, C以及C++中一些函数如strcat、strcpy、gets等存在系统漏洞, 一旦被攻击者抓住漏洞, 会影响到系统软件的正常使用。安全共享库动态检测技术能够有效阻拦攻击者的一些针对计算机软件函数的攻击。其阻拦攻击的原理在于动态链接技术, 在攻击者进行攻击的时候, 会采取调用函数并且对其加以控制。而存在安全共享库的软件, 能够在软件运行期间, 对函数调动异常的命令进行拦截, 并且以不安全命令发生函数所在进行检测。此外, 该技术能够根据当前内存上限进行有效评估, 从而阻止数据外溢的情况出现, 从而起到避免一些漏洞遭受攻击的作用。此外, 安全共享库技术并不会产生兼容等问题, 而且安全共享库与标准库同时运行也不会产生任何排斥作用。在函数漏洞方面, 安全共享库动态检测技术能够起到非常良好的防护作用, 但是在一些本地变量安全方面, 安全共享库动态检测技术存在一定弊端, 其无法阻拦数据段以及代码段的库函数溢出攻击。
   
    总结
   
    综上所述, 计算机技术的发展为人们提供了便利的生活方式, 同时也带来一定安全漏洞问题。根据本文分析可知, 电脑安全一旦出现问题将会影响到人们的日常生活, 因此, 软件开发人员应进行漏洞隐患分析, 通过对安全漏洞深入研究, 从而设计出提高电脑系统、软件防风险能力的保护措施, 从而为人们营造一个安全、和谐的网络环境。
   
    参考文献  
    [1]桑洋.浅谈软件设计中的安全漏洞动态检测技术[J].信息化建设, 2016, (05) :86.   
    [2]冉崇善, 周莹.软件设计中的安全漏洞动态检测技术分析[J].微计算机信息, 2010, 26 (06) :78-79+75.
作者单位:天津泰沃纳科技有限公司
原文出处:高上.软件设计中安全漏洞动态检测技术的探究[J].农家参谋,2018(11):228.
相关内容推荐
相关标签:软件设计师论文
返回:职称论文