APP下载

计算机软件中安全漏洞检测技术要点研究

2017-04-21李恒胜

无线互联科技 2017年3期
关键词:安全漏洞检测技术计算机软件

李恒胜

摘要:文章根据个人实际的模拟实验操作经验及查阅的相关资料,对计算机软件中安全漏洞的相关概念、检测技术的发展现状及检测技术的应用等展开分析。

关键词:计算机软件;安全漏洞;检测技术;漏洞;维护

计算机技术的应用符合时代的潮流,很多工作都需要通过计算机的运作实现。计算软件的开发是一个循序渐进的过程。有些黑客会利用软件开发中的源代码缺陷入侵计算机软件及破坏系统,造成计算机用户的经济财产损失。目前商业界、金融银行界、国家资料保存等都需要计算机帮助处理事务。计算机软件安全漏洞的出现,威胁到的不仅是个人的利益,还有国家的利益。由此国家和相关部门都非常重视计算机软件安全漏洞检测技术的开发。

计算机软件安全漏洞检测技术能够提高软件质量和安全性、减少软件安全漏洞,为计算机软件安全运行提供保障。近年来,计算机软件安全漏洞检测技术经过程序员的不断维护和开发,在电脑维护过程中占据重要的位置。但计算机软件安全漏洞检测技术开发是一个长期的过程,需要得到各方的重视。

1.计算机软件中安全漏洞的相关概念

1.1计算机软件中安全漏洞的概念

计算机软件漏洞主要是指在计算机系统编程中,产生错误没得到修复,从而导致程序的错误,在计算机软件的应用过程中存在安全隐患,如果得不到及时修复,会给整个计算机系统运行造成安全隐患,容易造成资料丢失、被盗等情况。

1.2计算机软件安全漏洞的分类

计算机在研制和开发过程中,因为当前技术的局限性,程序员不能够将系统运行系统程序进行完善,造成计算机在运算过程中会出现闪退、黑屏等情况,但暂时不影响计算机的暂时运行。有些计算机黑客会利用漏洞侵入计算机,盗取资料,或者造成区域网的崩盘。计算机的安全漏洞主要分为两类,一类是功能性漏洞;另一类是安全性漏洞。功能性漏洞主要是編程序者代码编写错误、计算机系统运行过程中产生的逻辑性错误,或者是在计算机中运行与所装系统不兼容的软件。功能性漏洞需要程序员不断进行完善,当然这个漏洞是不断产生的。安全性漏洞主要指所产生的漏洞在通常情况下,并不影响计算机的正常运行,但如果被黑客侵入的话,会造成损失。比如软件运行时突然产生错误提示,导致计算机自动执行一些错误指令等。

2.计算机软件中安全漏洞检测技术的发展现状

国内的计算机软件市场相对国外的管理较为混乱,是因为:一,计算机软件市场需求量较大,很多软件公司为了短期的利益采用短时间开发,开发过程中造成软件编写程序上错误,程序员对于计算机软件开发遗留的程序漏洞,且后期维护不到位。国内软件市场监管不到位,很多法律法规都没完善,让有问题的软件流入市场;二,正规的软件版权费用太高,很多的用户都喜欢低廉的盗版软件;三,很多小的软件公司为了节约软件开发的高额费用,采取非法复制其他公司开发出来的比较成熟的安全软件的手法,给研发公司造成重大的经济损失。长久下去,很多小公司得到发展,那些具备开发能力的大公司反而缺乏发展市场,因此计算机安全漏洞检测技术得不到发展。

就目前的情况来看,很多计算机用户因为安装的软件不够完整,导致被黑客盗用程序代码,造成计算机在运行过程中存在较大安全隐患。计算机会被攻击、盗取资料、窥视等。我国很多用户都安装了防火墙、杀毒软件以及入侵检测系统等以保证计算机软件安全运行,但防火墙、入侵检测和反病毒软件的存在对于高级黑客的入侵抵抗力较弱,主要是因为安装安全软件有可能带来新的漏洞。通常,大型应用软件安装在客户电脑中时,仍因开发的局限性,有很多安全相关的漏洞存在于软件程序中,需要厂商进行不断的维护,且漏洞是隐性的,需要在运行中才能发现。

3.计算机软件中安全漏洞的检测技术

计算机软件运行过程中的安全漏洞,主要是指计算机系统中软件及协议的具体实现或系统安全策略上存在安全方面的缺陷。软件中存在安全漏洞很容易造成系统的闪退、卡机、崩盘等情况,及时地修复计算机软件中的安全漏洞,能一定程度地降低软件使用中的安全隐患。目前针对安全漏洞检测涉及3个方面的检测,如下所述。

3.1静态检测技术

计算机软件安全漏洞检测技术中静态检测主要是指对计算机软件安全漏洞采用静态分析法,对程序的源代码或二进制代码进行分析。通常这种检测技术准确性、完整性占据优势,但据相关的用户数据反映,在静态分析过程中其会产生大量的误报信息。

静态分析指的是对需要检测的系统程序进行源代码的扫描工作,从语义、语法等角度进行全面解析,同时将待测系统程序的自身特性直接进行分析,利用这种方法寻找漏洞。现在随着技术的更新,开发了另外一种检测技术即程序检测,检测抽象系统内的程序源代码。一般来说,计算的静态检测技术主要是指检测漏洞的特点之间有着密切的关联。

计算机静态检测技术仅仅支持检测计算机运行程序中出现的程序错误,对于更新的软件漏洞并不能够及时地检测,得出扫描结果。对于结果,还需要专业人员进行结果核对、处理、然后及时地修正检测方法,消耗的人力、时间过多。

3.2动态检测

动态检测主要是针对黑客入侵,通过内存映射、非执行栈、安全共享库、沙箱等检测项,排除安全隐患。很多黑客通常会利用应用中“NULL”结尾的字符串进行内存覆盖,进行内存映射的检测能够避免黑客的攻击,从而维护计算机软件系统的安全。动态监测是在不改变源代码甚至是二进制代码的情况下,对运行程序进行检测。这种类型的检测主要是通过修改程序运行环境来进行。不同的操作系统环境下,反映的数据也不同,加大了检测的难度。

3.3其他混合检测方法

计算机软件中安全漏洞检测技术如果仅采用静态检测和动态检测方法,得出的数据都有缺点。如果将两者结合,对计算机软件中安全漏洞的检测就会较为精确。其他混合检测方法主要有测试库、源码改编、栈保护的编译器扩展、二进制代码改编、规范检测和异常检测等。计算机软件中安全漏洞的检测方法,需要不断地更新,不能局限为一种。

4.计算机软件中安全漏洞检测技术的应用

计算机软件中安全漏洞检测技术主要是针对计算机系统和软件中可能存在的安全漏洞,是带有目的性的检测,属于预防性检测。计算机软件中安全漏洞检测技术的大范围推广,对避免出现运行程序错误,减少编写程序中的错误有很大帮助。

4.1缓冲区出现的漏洞

缓冲区出现计算机软件安全漏洞主要是因为有的计算机用户安装来历不明的计算机软件,或者盗版软件,这会造成计算机软件系统的在使用过程中出现漏洞,—旦这些软件接触到计算机编程中的漏洞,就会造成计算机系统的崩盘。这个需要计算机软件中安全漏洞检测过程中,进行软件隔离,从根源上避免这些软件接触到系统漏洞的可能。计算机中安全漏洞检测技术的开发,重点在检测方面,对于计算机安装的软件都会进行安全风险提示、对站点代码进行检测,对用户进行安全性提示,避免出现软件技术的问题。

4.2防止競争漏洞

防止竞争漏洞主要是针对那些能够产生竞争条件的编码对源代码产生低分子化过程,这个过程对于系统的破坏不大。如果在运行过程中利用语句或者是代码去组织其执行程序,只会增加系统运行的漏洞,且收效甚微;需要在其快要完成的阶段直接阻拦,将其进程快速结束即可。

4.3防止随机数漏洞

一个稳定的系统运行环境中,所有的电脑系统的操作都是按照特定的程序进行的,但很多的黑客攻击者,都是使用随机数发生器,使用大量的随机数数据流冲击计算机,造成计算机不能迅速处理完数据致使CPu全速运转,最终导致计算机系统崩溃,无法正常工作而死机,如果让计算机重启,随机数产生器又会重新工作,让电脑再次陷入上次的模式状态,继续死机,电脑中的数据也就成了无法调用的垃圾数据。据笔者搜集的大量数据分析得知,这种随机漏洞被利用后难以修补,对于计算机的硬件和软件都带来极大的损伤。这方面的技术需要相关的程序人员进行不断完善,预防漏洞。

4.4格式化字符串方面漏洞

很多的计算机用户并不是专业的人员,对计算机软件的选择都是根据本身实用性进行调整,用户不太了解计算机软件,有可能还会对其进行格式化字符串处理。这会造成计算机格式化字符串方面的漏洞。这种漏洞主要是寻找源代码中可能存在的执行性语句,对其直接进行编译,对计算机的安全系统造成巨大的损害。针对这方面的漏洞,最有效的操作方式就是在程序的源代码中清除痕迹,不给黑客留下可乘之机,可以在源代码中尽量多地使用格式常量,至于代码格式串,能不用就不用。

5.结语

随着社会的发展,计算机成为人们生活的必需品,计算机软件中的安全漏洞检测技术需要不断地完善,增强对黑客攻击的抵抗力。相关的软件开发人员,需要不断地对开发软件进行完善。从软件安全问题上下功夫,从根源上解决软件可能出现的安全漏洞,且需要定期对软件进行维护。计算机软件中的安全漏洞检测技术是通信及计算机安全的基础检测方法,建议大范围地推广增强用户自身的操作安全意识。

猜你喜欢

安全漏洞检测技术计算机软件
基于C语言的计算机软件编程
安全漏洞太大亚马逊、沃尔玛和Target紧急下架这种玩具
浅谈不同编程语言对计算机软件开发的影响
基于安全漏洞扫描的校园网告警系统的开发与设计
浅谈基于C语言的计算机软件程序设计
煤矿机电产品检测技术
安全漏洞Shellshock简介
基于计算机软件开发中分层技术的应用
NSFOCUS 2010年2月之十大安全漏洞