计算机软件技术安全问题探究
2022-04-29海啸
关键词:计算机;软件技术;安全问题
中图法分类号:TP311 文献标识码:A
现阶段,各类计算机软件在我们工作和生活中广泛应用,并且应用频率逐渐升高,在给用户提供便利条件的同时,也容易遭受不法人员的攻击,导致用户重要信息泄露,影响用户信息安全。要想从根源上处理计算机软件安全问题,应该应用安全检测技术并结合计算机软件安全问题产生的原因,及时发现并处理计算机软件运行中出现的各种问题,保证用户信息安全。
1计算机软件安全漏洞概述
计算机软件安全漏洞是指:相关人员在使用计算机软件过程中存在的各种问题,这些问题给不法人员攻击计算机系统提供了有利条件,造成计算机运行的紊乱,用户重要信息丢失。通常来说,用户会在计算机系统中安装杀毒软件或者防火墙,实现对计算机系统运行过程的安全保护,虽然这些软件在某种程度上可以实现对计算机系统的安全保护,但是依然存在一些漏洞,无法从根源上全面处理计算机软件安全问题。其中,存在的不足就是如果杀毒软件或者防火墙在运行中出现各种问题,则计算机软件自身安全性将无法得到保证,一些不法人员通过计算机漏洞来盗取或者修改用户信息,严重威胁计算机系统运行安全。当前,常见的计算机安全问题有:首先,计算机软件编程中或者编程结果出现技术性错误,则会导致计算机软件安全漏洞的发生;其次,计算机软件在实际应用中,因为自身运算存在问题,使得运算结果错误,或者在数据处理环节出现漏洞,从而产生计算机安全问题;再次,因为计算机硬件和配置软件存在差异,导致安全漏洞问题发生;最后,因为计算机长时间运行出现一些新问题,如果相关人员没有及时处理,则会引发一系列安全问题。
2影响计算机安全的主要因素
2.1系统自身因素
系统自身原因具体展现在两个方面:首先,系统漏洞。计算机自身将会面临一些安全问题,在某种程度上是因为系统漏洞导致,系统漏洞出现的基本原因是程序逻辑在编写过程中没有注重细节内容,一旦出现系统漏洞,将会导致计算机系统在运行中出现错误——可能会弹出对应的窗口,而该窗口可以给不法人员入侵系统提供可能,给计算机使用带来负面影响;其次,外部移动储存设备。外部移动储存设备展现了便携性、可操行性等特征,在日常生活中应用广泛,但是外部移动储存介质在保密机构中应用缺少安全管理、安全检测等内容,给计算机系统运行安全埋下隐患。
2.2系统外部因素
系统外部因素有两个:第一,计算机病毒。计算机病毒通过网络、光盘、硬盘等软件实现传播,展现出潜伏性、传染性等特点,容易造成计算机系统中重要数据丢失,系统无法正常运行。近几年,新型计算机病毒种类不断增加,如已经被国家处罚的“熊猫烧香”“鬼影病毒”“网购木马”等,这些病毒的出现,严重威胁计算机系统运行安全;第二,黑客入侵。黑客掌握专业的计算机网络知识,可以熟练使用各种软件,通过编写程序进入各个网站中,对网站的使用权限进行修改,盗取网站中的重要信息,或者将一些信息进行修改,给网络安全造成严重影响。现阶段,各个国家都遭受了不同程度的黑客进攻。
2.3管理维护因素
管理维护方面的问题有两个:一是没有按照要求操作而造成重要信息的泄漏。在实际生活中,难免会出现一些因为人员操作不规范或者没有注重细节管理而造成重要信息的泄露。例如,一些人员在缺少对外部移动储存介质深入了解的情况下,在对内容删除以后,不知道系统具有还原功能,没有将移动储存介质彻底清除,导致重要信息泄露。计算机在发生故障时,在将系统安排专业维修机构检修前,因为保存在计算机硬盘中的数据不具备直观性,再加上管理疏忽,没有安排专业人员负责监管,导致重要信息的丢失;另一方面,故意泄露。故意泄露指的是在对计算机系统维护管理过程中,相关人员故意对网络安全数据进行泄露或者破坏。系统开发工作人员或者相关工作人员对计算机系统软件保密措施有充分了解,能够获得外界口令或者密钥,之后进入计算机系统中盗取重要信息,或者随意对计算机系统中重要数据进行修改。
3计算机软件安全漏洞检测技术
3.1动态安全检测技术
动态安全检测技术包含计算机内存检测、非执行栈检测、安全共享检测等内容,展现出的技术特点有以下几方面:第一,计算机内存检测。大多数不法人员在进入计算机系统的过程中,将会采取用“null”结尾的字符对计算机内存进行隐藏,实现对代码页数据的映射。为了更好地将计算机内存代码进行覆盖,大部分不法人员在攻击代码的过程中,也可以利用“null”结尾的字符串。基于此,在计算机软件安全检测的过程中,应该对系统内部的“null”结尾字符串进行检测,从而保证系统内存的安全;第二,非执行栈检测。近几年,计算机软件容易遭受不法人员的攻击,从而引发各种安全问题。如果计算机存在恶意代码且这些恶意代码被执行,则会给计算机安全带来威胁。要想防止计算机系统出现恶意代码,需要从根源上全面处理执行力问题,防止恶意代码被执行,从而保证计算机系统运行安全;第三,安全共享库检测。
在计算机系统中,数据共享库容易遭受不法人员的攻击。出现安全问题的计算机系统一般采取的是安全性不强的共享库,通过加强安全共享库检测管理,在某种程度上能够预防不法人员的恶意攻击。对于计算机系统中的安全共享库,应该提供较强的检测和拦截功能,其检测和拦截功能一般通过动态链接方式完成,这样可以对一些不安全数据进行检测或者拦截,以实现对计算机系统的安全保护。
3.2静态安全检测技术
静态安全检测指的是对计算机系统内部进行安全检测,计算机系统内部安全性和安全漏洞之间存在一定的相似性。计算机软件漏洞一般划分为两种:一种是安全性漏洞;另一种是内存性漏洞。其中,安全性漏洞指的是在数据流方面存在一些错误问题,使得内存形态出现错误。而内存性漏洞则是因为自身类型、准确性导致,在对这种漏洞问题檢测的过程中,需要在储存空间中建立一个模型,实现对程序代码的静态扫描,也就是对程序代码中重要内容进行分析。在这种检测方式中,系统程序可以划分成不同语句,通过对各个代码和数据库的比较分析,判断代码内部是否出现错误问题,以实现全面检测的效果。
静态检测技术就是在软件程序的作用下,实现对软件程序中相关代码的检测。其中包含源代码、二进制代码等,如果这些代码出现数据问题,可以判断出计算机软件存在哪些漏洞。在静态检测技术下的安全漏洞判断标准有两个:一个是检测代码漏报率;另一个是检测代码错报率。如果漏报率不断下降,则会导致错报率升高。此外,静态检测技术是对软件程序整体情况进行检测,但是无法精准检测其重要性能,在检测过程中应该确保被检测程序处于非运行状态。
3.3非执行栈技术
基于非执行栈的计算机软件攻击行为时常会发生,而出现该现象的主要原因是:部分操作系统栈可以被执行或者被写入,给不法人员提供了有利条件——不法人员可以把恶意代码导入栈中,之后通过运行来进攻计算机系统。要想避免出现这种行为,一般采用禁止栈执行代码的方式,但是需要结合实际情况适当修改操作系统,并对软件性能问题综合思考,特别是在堆和栈一般面临溢出程序问题时,故障发生率随之提升。一般情况下,在对该问题进行处理的过程中,采取的方式是:利用栈溢出把程序调整到对应攻击代码中,防止栈中代码被执行。这种检测技术在内容方面缺少完善性,只是对栈攻击行为进行检测。并且,通过把恶意代码导入数据段,能够避开该技术的检测。此外,分析部分应用程序是否被执行需要得到栈的支撑,所以该技术将会产生兼容问题,不可通过分析来排除。
3.4非执行堆和数据技术
堆作为程序运行中动态分配的内存区域,数据段在程序编译的过程中已经完成。在较长的一段时间中,人们比较重视非执行堆和数据段可能会给软件运行造成的负面影响,所以这种检测技术在使用和发展效率上比较迟缓。这种技术不会给不法人员安装恶意代码提供机会,特别是和非执行栈技术相结合,获得的使用效果更加理想。但是和非执行栈技术相比,其需要对内核进行调整。基于此,这种技术消耗的成本比较多。实践得知,这种技术能够有效检测并且阻止把恶意代码导入内存,但是如果是对函数参数或者指针进行恶意修改,则无法展现出良好的检测效果。此外,这种技术在使用的过程中不会给其他应用程序带来较大影响,所以在性能方面展现出了良好的效果。
3.5内存映射技术
当前,一些不法人员通过使用NULL结尾的字符串对内存数据进行隐藏,从而达到攻击目标的效果。在应用内存映射技术的过程中,能够把代码页映射到对应的内存地址中,以降低部分攻击带来的不良影响。例如,对于部分缓冲区溢出的漏洞问题,不法人员需要在内存中寻找目标地址,之后通过构造数据来对其进行隐藏处理,从而达到攻击效果。在使用内存映射技术的过程中,把代码页映射到对应地址就能够增强不法人员的攻击难度,增加攻击成本。同时,在使用内存映射技术的过程中,应该对操作系统内核进行调整,尽可能不对代码进行修改,分析程序链接阶段二进制地址,重新对其进行链接。这种检测技术能够避免内存地址跳转攻击,但是不能检测和预防新代码进入带来的影响。并且低端内存大小将会受到限制,所以把代码页映射到低端内存的难度较。这种技术在使用的过程中消耗的性能可以忽略不计,并且运行在过程中也不會给其他程序带来较大影响。
3.6程序解释技术
在程序运行环节对行为进行检测,能够保证系统安全运行,这也是当前计算机软件安全漏洞检测中广泛采用的方式——使用程序解释技术。程序监视器能够把不法人员的攻击行为划分成绕过安全检测、无限制控制转移、非原始代码执行等多种类型。根据不同攻击行为,人们研发出了对应的安全检测技术和对策。例如,对于无限制地控制转移,要求函数为了返回应该调回到对应地址,并且调用和跳转都受到一定的限制,只有目的段为导出表,或者源段为导出表才能有效执行。同时,需要把间接调用控制在某个段落中,并对open、ececve等危险函数进行全面检查。在使用程序解释技术的过程中,无需对程序代码或者操作系统内核进行修改,只要求把适应应用程序和新形成的代码充分连接即可,之后通过对动态流程进行修改,并对框架进行解释即可。这种技术将会给系统兼容性带来一些影响,并且安全对策如果比较严格,容易导致某个应用程序混乱。不同安全措施消耗的性能将会有所不同,但是在整体上,其性能消耗量相对较小。
3.7安全共享库技术
在计算机语言中,常见的语言类型有两个:一个是C语言;另一个是C++语言。在实际编写中,大部分函数都会面临安全漏洞问题,在理论层面上,安全共享库技术可以对基于标准库函数攻击问题进行防控与处理,但是安全共享库技术不能阻止基于非标准的库函数攻击,无法实现对本地变量的安全保护。安全共享库技术展现出的优势就是在标准函数库作用下实现良好运行,当前这种技术被广泛应用在Windows操作系统和UNIX操作系统中。
4结束语
随着计算机技术的快速发展,计算机软件应用效率不断升高,计算机软件相关的安全问题得到了人们的高度重视。计算机软件安全问题需要在专业人员的分析、探究下,采取相关检测和安全保护技术,提高计算机软件系统运行的安全性,减少不法人员的攻击次数,保证计算机系统安全运行。
作者简介:
海啸(1987—),本科,讲师,研究方向:电子科学与技术。