计算机软件安全检测技术研究

时间:2022-07-20 09:32:11 关键词: 计算机软件

摘要:随着计算机网络越来越大的影响着人类的生产和生活,计算机安全检测技术作为计算机运用过程中的辅助技术,势必越来越彰显出它的必不可少的重要作用。在科技日新月异的今天,相信我们人类社会在计算机安全检测技术方面,也必将取得更多成果,以更好的服务于计算机技术,更好的造福于人类。

计算机软件安全检测技术研究

计算机软件安全检测技术研究:计算机软件安全检测技术探析

计算机软件开发人员,在进行计算机软件开发过程中,非常有必要对不同类型的计算机软件进行安全性检测,以便于软件开发人员事先发现安全隐患,从而采取适当的改进措施,确保不同计算机软件在使用过程中顺利运转。

【关键词】计算机软件 安全检测技术

在社会经济飞速发展的今天,计算机作为意义上的生产或者生活用品已经融入人类社会的各个领域,并且随着科技的日新月异,电子计算机科学技术也随之日臻完善和成熟。是计算机软件在支撑着计算机的正常运转,人们依赖计算机进行生产和生活要借助不同的计算机软件来进行,因而,计算机软件的安全性也就提到了计算机维护的首要日程。否则,其安全性就极有可能对计算机的使用带来极大的安全隐患,同时也会给互联网安全造成极大威胁。鉴于此,计算机软件开发人员,在进行计算机软件开发过程中,非常有必要对不同类型的计算机软件进行安全性检测,以便于软件开发人员事先发现安全隐患,从而采取适当的改进措施,确保不同计算机软件在使用过程中顺利运转。显而易见,计算机软件安全检测技术已经成为了计算机软件开发过程中不可或缺的一项核心内容。

1 计算机软件安全检测的基本内容

当今社会,计算机的使用在不同领域越来越广泛,而且越来越具有依赖性,因而,计算机软件使用过程中的安全性则越来越成为计算机用户的终极要求,主要表现在以下几方面:

1.1 软件之间的冲突导致计算机运行的不通畅

安装某一款计算机软件后,用户发现这对计算机木身并没有产生多么明显的影响,甚至会因为该软件和其它软件冲突因而导致计算机运行速度明显变慢等;

1.2 计算机软件安全性得不到保证

计算机用户在使用软件的过程中许多个人信息会被留下,用户的私密信息随之就不可避免地被泄露,自然,用户的个人隐私就会得不到有效的、必要的保护。

因此,在不同计算机软件开发过程中,软件开发人员要利用成熟的的安全检测技术对计算机软件中存在的安全漏洞进行检测,并对其进行安全修复,从而达到提高安全性,降低风险的目的。

2 计算机软件安全检测的具体技术

2.1 语法安全检测技术

语法安全监测技术主要是对计算机软件中的语法进行实质性、技术性检测。最初输人条件的不同会使最终检测结果产生差异。语法安全检测技术通常被用于检测源程序中的安全漏洞,该检测技术可及时有效地检测出系统函数与C语言库函数的切换,并及时恰当地作出处理,从而建立以语法为基础的测试数据。同时该检测技术还能实现对计算机软件的安全检测,排除潜存的安全风险,保证计算机安全运行。

2.2 动态安全检测技术

这项技术是对计算机软件运行环境变量进行的必要检测,漏洞等风险因素是它主要进行的检测目标。这种安全动态检测技术的使用,计算机软件源码不需要在运作过程中进行修改,因而计算机用户的隐私安全得到了很大程度地保证。在这类检测技术应用过程中,如果计算机软件的漏洞被发现,就会自动完成相关修复工作。今天,由于计算机在商务应用中也发挥着越来越大的作用,这种软件的检测技术更加适用于商务性,随着普及率的越来越高,对保证商业机密的安全,必将发挥着越来越大的作用。

2.3 静态安全检测技术

近年来,计算机程序开发人员根据程序代码内部特性和结构是静态安全检测技术这一特征,事先构建合理的测试模型,以满足计算机读取的相关要求,对计算机进行安全静态检测,这就是所谓的静态安全检测技术。这种检测技术的检测程序是:开发人员先利用这种安全检测技术对需要检测的计算机进行检测之后,再将选定的测试模型和待检测的程序数据进行全面比对,如果待测的计算机软件安全性能良好,其对比数据就会高度一致。近年来,由于这项技术日臻成熟,并且简洁易行,越来越多的软件技术开发人员倾向于此项研究之中,从而推动了这项技术得到更为充分的发展,并且越来越大地在计算机软件安全领域中发挥了重要的作用。

2.4 混合安全检测技术

近年来,随着计算机检测软件越来越多样化,检测技术要求的不断提升,对计算机软件越来越趋向于多项或者混合检测,以确保效果的精准化、全面化。鉴于此,实践中,我们往往倾向于多种检测软件并行的检测方法,也即这里我们所说的混合安全检测技术。这种混合安全检测技术双管齐下,动态安全检测与静态安全检测并驾齐驱,采用了动态安全检测与静态安全检测两种检测技术的优势,扬长避短,强强联合,确保计算机软件检测过程精准、全面、不留死角,极大地扩大了检测范围。

2.5 基于Web技术的安全检测技术

计算机技术检测采用Web技术是近年来计算机检测技术领域的一项尝试和技术突破。Web技术是近年来伴随着计算机互联网技术出现的网络资源开发技术。随着Web技术的不断革新,这项技术也逐渐渗透到计算机软件安全检测领域中,并且和其它检测手段比起来越来显示出它独特的优越性能――与同是作为计算机软件安全检查的传统的检测技术,Web安全检测技术更具有灵活性、高效性和先进性的特点,在检测性能等各方面都表现出优异的成绩。大体说来,基于Web技术的安全检测技术不仅能够及时检测出风险和漏洞,而且能够及时对这些安全风险和漏洞进行有效修复,为计算机系统安全、可靠、高效地运行提供了有力的保障。鉴于这种检测技术的精准、高效、安全的特色,基于Web技术的安全检测技术已经越来越多的运用到不同行业的计算机检测技术中,并且大有取代传统检测软件的趋势。

3 结语

综上所述,随着计算机网络越来越大的影响着人类的生产和生活,计算机安全检测技术作为计算机运用过程中的辅助技术,势必越来越彰显出它的必不可少的重要作用。在科技日新月异的今天,相信我们人类社会在计算机安全检测技术方面,也必将取得更多成果,以更好的服务于计算机技术,更好的造福于人类。

作者单位

滨州市安全评价中心 山东省滨州市 256600

计算机软件安全检测技术研究:浅议计算机软件安全检测技术

摘要:电子信息技术的飞速发展,使我国已经走向信息化道路。但是在电子计算机技术的发展过程中,计算机软件的安全也受到了人们的高度重视。组我诶计算机软件安全的基础,软件安全检测技术能够针对相关指标来检测软件安全情况,能够对潜在的安全隐患进行识别等。因此,本文主要针对计算机软件安全检测的注意事项,提出了计算机软件安全检测的流程与方法,以此有助于我国计算机软件安全得到积极的保障。

关键词:计算机软件安全检测技术检测流程与方式

作为一种科学的技术与手段,计算机软件安全检测技术能够针对软件开发与运用过程中的问题进行检测,然后对其进行修改。所以,计算机软件安全检测技术对计算机发展起着重要的作用。所以,笔者主要针对这一内容进行研究与分析,并提出了合理的建议,从而能够促进我国计算机软件得到积极的发展。

1计算机软件安全检测应注意的问题

作为一种动态的检测过程,计算机软件安全检测应该注意几个问题。首先,应该对检测方案进行合理的选择,尽量选择科学、有效的安全检测方案。并且应该事先了解与掌握计算机软件的要求与属性,在此基础上针对测试的具体情况,对合理的检测手段加以利用,然后还要制定相应的安全检测方案,从而能够使安全检测方案具有有效性。其次,应该积极检测计算机软件的安全性,不仅要发挥计算机软件安全测试人员的积极作用,还需要掌握此软件特点与使用方式人员的帮助,只要相关技术人员能够进行密切配合,能够使计算机软件的安全性得到一定的保证[1]。最后,在检测计算机软件安全性的过程中,应该从全面分析的角度出发,对代码级、需求级与系统级进行仔细分析,然后针对实际需求,不同的层级应该借助不同的技术手段,才能使分析结果的正确性得到充分地保证。因此,只有在计算机软件安全的检测过程中,注意以上问题的解决,能够使计算机软件安全得到积极的保障。

2计算机软件安全检测流程与方式

2.1检测流程

一般情况下,计算机软件安全的检测,对于规模较大的计算机软件来说,包含了很多子系统,而且这些子系统之中也有很多不同的模块。通常情况下,计算机软件安全的检测,主要通过模块检测,然后进行组装系统,借助系统结构的安全检验,再进行软件功能与性能的检测,最后实施系统测试等。作为子系统中的最小单位的测试,模块检测是要保证测试覆盖范围的全面性与细节性,能够将小模块中的风险积极发现。各个模块的测试完成以后,还要针对软件程序的要求,组装所有模块,使之成为完整的系统,与此同时还要检测组装完毕的系统结构安全。另外,如果上述检测内容都合格的情况下,还要测试系统软件的功能与性能,以此能够实现系统软件功能与性能能够符合用户的需求等。最后,所有检测完成以后,应该对整个软件精心系统测试。这样的层层把关,能够积极保证用户软件的安全性[2]。

2.2检测方式

2.2.1安全静态检测手段

所谓安全检测方式,主要以模型为基础,借助软件行为,结构建模等形式,使测试模型得以形成,这一模型能够实现机器对其的可读性。这一检测方式与其他检测方式相比,能够在模型生成过程中进行系统化的测试,借助这种测试形式能够体现出待测系统的行为与期望的模型具有一致性。通常情况下,这种检测方式主要有有限状态机遇马尔科夫链等方式。

2.2.2语法检测

所谓语法检测,主要是借助语法的作用,检测生成功能接口的软件。这种检测形式主要是为了研究反映,也就是在不同的输入情况下,计算机软件出现不同类型的反映。借助语法检测方式,通常是要识别计算机软件接口处语言,定义语言语法等,而且还要以语法为基础,将检测用例生产出来,还能同时进行安全检测等[3]。

2.2.3形式化检测

形式化的安全检测,主要是考虑到计算机软件主要是以数学模型为基础,而且还要以形式规格语言的支持为基础,能够提供出形式化的规格说明。当前常见的形式规格语言主要有三种类型,主要是行为语言、模型语言以及有效状态语言等,而检测方式主要有定理证明、以模型检查为基础的正式安全检测手段等。

2.2.4以故障注入为基础的安全检测

对于这种检测的方式来说,通过实践经验证明,具有一定的优势,可以实现安全检测自动化程度的提升,作为计算机软件安全检测的重要手段。所谓故障注入式检测,就是基于故障模型的选定,将故障树构建起来,然后借助人为的反复测试,或者根据软件反馈的信息等,能够使检测故障容错性与安全性的有效信息得以呈现出来。

2.2.5安全属性式检测

这种检测方式与其他检测方式相比,可以全面分析安全漏洞的扩展与交互发展。通过借助安全属性式的检测手段来测试,首先应该对计算机软件的安全编程规则进行合理确定,然后再让它当做安全检测的安全属性;再借助得到的安全属性,检测系统程序的相关代码,从而能够对系统代码与相应规则是否符合标准进行合理验证。

2.2.3模糊式检测

这种检测方式,主要是与传统检测技术与动态检测相结合,也就是在白盒模糊检测基础上,属于对传统检测方式的升华。尽管模糊式检测手段属于简单的技术,然而能够对程序中的重要bug揭示出来,而且可以对现实世界的错误模式加以验证,然后在此基础上,软件发货之前可以提示潜在的被阻塞的攻击途径等。

3结语

总之,当前我国市场经济的迅速发展,电子商务也取得了一定的进步,二计算机软件的安全问题也得到了人们的积极关注。而要想有效保证计算机软件的安全,应该积极运用计算机软件安全检测技术,能够有效预防黑客的非法侵入,使软件能够得到安全的应用。因此,这就需要我国应该积极注重计算机软件安全技术的设计人才,能够通过不懈的研究与探索,保证我国的网络安全与稳定,实现软件市场的健康发展。

计算机软件安全检测技术研究:计算机软件安全检测技术研究

摘 要 进入二十一世纪,人们开始步入信息时代,互联网的使用也越来越普遍,计算机软件的使用也愈加频繁,而计算机软件安全监测技术则是保证计算机软件安全的一个必要条件,因此,本文将对计算机安全监测技术进行研究,希望可以使我国的计算机软件安全监测技术有所提高。

【关键词】计算机软件 检测技术 安全

互联网在人们的日常生活中的使用越来越频繁,人们的工作、学习、生活也愈加的依赖于互联网,因此计算机软件的使用也渗入到人们的生活当中,成为现代人生活中必不可少的存在。但是,随着各种计算机软件的发明,计算机软件的安全性问题也随之而来,对计算机软件安全的检测也愈发重要,因此,必须对计算机软件安全检测技术进行深入的研究。

1 计算机软件安全检测技术的概述

计算机安全检测技术顾名思义就是通过少数的测试的示例,用来扩大计算机软件的检测范围,另一方面,它可以对计算机出现的任何问题做出及时的反应,并且能对出现的各种问题进行修复,从而使计算机软件的使用风险性大大降低。但是计算机软件安全检测技术它只是尽可能多的去发现计算机软件中出现的问题并给予解决,并不代表它可以使计算机软件不会出现问题与错误,它只是对未出现的问题加以预防,对已出现的故障加以修复的一种可以提高计算机软件安全性的方法。

2 计算机软件安全检测技术的特点

相较于其他的软件缺陷测试,计算机安全检测技术具有以下几个特点:

2.1 具有不同的软件修复方法

一般的软件缺陷测试中,例如找补丁、软件升级等都要等到下一个版本中才可以进行修复或升级,但是在计算机软件安全检测技术中,一旦发现计算机软件中出现安全隐患,他就会立刻采取相应的安全保护措施,是软件远离危险。

2.2 测试范围不同

计算机软件安全检测技术主要是对计算机可能存在的问题进行检查,防患与未然,同时检测计算机软件安全的功能是否可以达到计算机用户对计算机软件安全性的要求,主要测试的范围有:计算机的授权、访问限制、安全的管理及保密措施等。而普通的计算机测试软件只是对计算机可能存在的风险进行检测,以及对于该风险可能会导致的后果进行推测。从这一方面讲,计算机软件安全检测技术测试的范围要广于普通的计算机检测软件。

2.3 危害程度大

普通的计算机软件安全出现缺陷,对于用户计算机系统的安全影响并不大,但是计算机软件安全一旦发现缺陷,则会给计算机用户带来严重的安全隐患,很有可能导致计算机系统的全面瘫痪。

3 计算机软件中存在的安全性问题

计算机软件可以帮助人们解决各种工作、学习、生活中遇见的问题,强大如它,但是计算机软件也不是完美的、万能的,它自身也会出现一些问题,其中以下几点较为突出:

3.1 字符串被格式化

字符串被格式化是由于程序代码的缺陷,它可以在内存空间中写入指定的数据,从而危害计算机系统。同时,它还可以将一些重要的信息显现出来,进而毁坏。

3.2 缓冲区溢出

缓冲区溢出是计算机软件中经常出现的危险性缺陷,它经常会导致计算机中程序运行的失败、系统崩溃、死机、重新启动等。进而对它进行非常授权的指令,对计算机软件造成危害。

3.3 出现竞争性条件

在软件BUG中经常会出现这一漏洞,由于每个用户登陆网站之后,计算机中被调用函数的现象就会出现,造成竞争条件的急剧增多,最后在操作多的任务系统里就会导致锁死等后果。

4 计算机软件安全检测技术的方法

4.1 混合检测技术

静态检测技术同动态检测技术相结合就是混合检测技术。它的出现很好的将这两种检测技术的优点相结合,克服了这两种检测技术单独使用时所产生的不足,更好的对计算机软件的安全性进行检测,也在一定程度上提高了检测结果的准确性。

4.2 静态检测技术

对程序代码的内部结构和特点进行检测的技术就是静态检测技术,通过构成结构模型来增加模型的可读性。由模型产生测试是安全检查的系统化的方式,同时利用测试来检测软件系统,从而得到充分的论据证明被检测系统的行为与模型的相同性。

4.3 动态检测技术

相较于静态检测技术,动态检测技术是指在对过重环境下所产生的如:内存、堆及环境等的变量进行研究分析,以此对计算机软件中存在的漏洞或缺陷进行检查。因为不需要修改软件的二进制代码及源码,所以可以有效的提高了软件的机密性。

4.4 语法检测技术

功能接口语法被语法的软件进行输入的测试就是语法检测技术,在程序源中具有危险性的系统和C语言中会使用,通过输入不同的口令,而产生不同的反响,一般是通过识别接口上的语言,之后进行语法的定义,在语法的基础上产生测试,对计算机软件进行安全性的检测。

5 使用计算机软件安全检测技术的注意事项

在使用计算机安全检测技术时要注意一下几个问题:

(1)进行计算机软件安全技术检测时要有专业的技术分析人员及设备,这是进行安全检测的一个重要前提。

(2)进行检测的时候要对软件进行全面的分析,不能以点概面,以偏概全,要从实际需要的角度分析研究。

(3)选取方案时要注重安全有效,要在安全的基础上谋求有效。

6 结论

计算机网络系统不断发展的今天,各种计算机软件也在不断的更新换代,但是因此也为计算机软件的使用带来许多的威胁与隐患,只有提高软件安全检测技术的水平,才能是计算机软件发挥其应有的作用。

作者单位

成都理工大学 四川省成都市 610059

计算机软件安全检测技术研究:刍议计算机软件安全检测技术的应用

摘要:随着计算机技术和网络技术的快速发展,计算机软件也日趋复杂,软件是计算机重要的核心内容,是保证计算机安全和通信安全的基础,对计算机安全运行和日常维护具有重要的意义,而编写计算机软件和检测是防止计算机安全漏洞的重要的对策,下面我们就详细进行分析计算机软件安全检测技术及其应用。

关键词:计算机软件;安全检测技术;应用

随着计算机技术和互联网的快速发展,用户对于软件的需求也日渐复杂,软件中会存在难以发现的漏洞,只有确保软件的安全才能保证计算机通信、信息安全,否则即便防火墙、杀毒软件、入侵检测等再强大,若软件自身存在安全隐患,也无法提升整体安全性能[1]。计算机软件安全检测的目的主要是为了防止由于软件漏洞对计算机造成安全威胁,对计算机软件安全检测技术的研究及应用对保证计算机软件安全具有重要的作用和价值。

1 软件安全漏洞概述

软件安全漏洞即可能引发安全问题的软件中的代码。漏洞通常有以下信息披露地方。(1)Bugtraq。这是一项邮件列表服务,是专门针对安全性问题存在的邮件讨论列表。很多软件漏洞首先在这里被披露,它是重要的安全入侵新闻来源。(2)PISKS Digest。它同样是一个邮件列表服务,包括安全性、保密性、可靠性等,有很高的技术含量,是目前已经发表的计算机软件安全研究圈内,有效攻击首选地方之一。目前计算机软件安全漏洞常常被忽略主要有以下几点:(1)Zgeronimo2.0 这个安全漏洞主要是让远程攻击者能够绕过身份识别而在计算机软件中插入恶意代码或者访问的权限。(2)LIBTIFF开源软件库,其主要是为了读写标签图像文件格式的文件。(3)ZLIB主要是指用于数据压缩的软件库,计算机软件漏洞主要是通过一个不完整的代码进行解释长度大于1的代码造成的安全漏洞。(4)Net―SNMP,是指安全漏洞存在Net中或者存在SNMP中的协议文件里。在计算机软件系统中当“master agents”模式运行NET_SNMP时,软件可以让攻击者通过引起一个特征的TCP的连接中断达到拒绝服务的攻击,最终造成计算机系统崩溃的现象。(5)Jboss应用服务器主要是应用在服务器3.2.4至4.05版的“DeploymentFileRepository”类中的目录遍历的安全漏洞。

2 软件中存在的安全漏洞及缺陷

计算机软件安全是一个非常复杂的系统,其主要是通过计算机系统的完整性、保密性以及可靠性实现计算机软件的安全可靠。但是计算机软件运行的过程中,由于计算机或者软件自身的缺陷或者操作配置失误等因素造成计算机软件从操作系统到应用程序,从通信基础设施到网络的应用服务以及从系统的配置和管理到用户操作层面等诸多的方面都存在安全因素。

目前多采用C语言或C++编写协议通信软件,软件的安全漏洞潜在程序源代码中,可以引发编程遗漏或错误。软件安全漏洞主要有:(1)缓冲区溢出。这种软件漏洞主要是在程序的缓冲区写超出长度的内容,进而造成缓冲区溢出,最终造成的最直接结果是导致堆栈被摧毁,使得任意数据都能引起目标程序彻底崩溃;缓冲区溢出是一种非常普通而且危险的漏洞,其在计算机软件和操作系统中广泛存在,缓冲区溢出很容易造成程序运行失败、系统宕机、重新启动等后果的发生,利用它执行非常授权的指令,进而造成计算机软件漏洞的产生。(2)竞争条件。这是一项经常出现的软件BUG,其相对于缓冲区溢出漏洞来说,其更加难解决,造成这种漏洞发生的原因主要是由于每一个用户登录网站后,函数就会出现被调用的现象,进而会造成竞争条件的值增加,最终到时竞争条件问题的发生,如果在操作的多进程多任务系统里面出现这种现象,将会造成死锁等严重的后果;(3)格式化字符串。格式化字符串是程序函数中一个相对比较特殊的字符串的参数。此漏洞是一项微妙的程序代码缺陷,它可以将重要的信息显示出来,还能将指定数据写入进程的内存空间里;进而对系统造成危害(4)随机数。在Netscape中就存在有随机数的现象,其采用一种不好的方法给伪随机数进行播种,其种子主要是有进行ID和机器时间等决定的,造成攻击者和被攻击者使用同一机器,从而造成系统密码的破解,最终造成系统安全问题的发生。并且随机数它能够生成序列号及密钥。也是软件安全漏洞的重要组成部分。

3 计算机软件安全检测技术方法

3.1 计算机软件安全监测步骤

通常,计算机软件有一定数量的子系统组成的软件规模比较大,并且不同的子系统中有若干的模块组成。计算机软件安全检测主要是为了确定软件预期设计和软件具有的安全实现是否一致的检测过程,其中软件检测过程主要包括功能测试、渗透测试和验证测试等。计算机软件安全检测程序主要是将通过有效性的检测软件与计算机硬件、数据以及辅助软件等元素结合起来的测试过程[4]。计算机软件安全监测步骤如下:先进行单元(即模块)测试,从软件设计最小单位开始实施安全检测,能将各模块中的缺陷问题一一找出,并解决。然后根据程序设计的要求对计算机软件中所有的模块组装成系统,并检测软件体系结构的安全性,接着对各个模块实施有效性的测试,从而确定计算机软件是否与用户需求相符。最后是对计算机软件的系统进行测试。如下图所示为计算机软件安全检测的静态分析技术的过程,首先输入源代码,构成一个表示所要分析的模型,然后结合安全知识对模型进行分析,最后输出检测的结果。

3.2 计算机软件安全检测方法

(1)形式化安全检测。这种方式需要先建立软件的数学模型,以模型说明提供语言支持的形式化规格。基于模型的语言、基于行为的语言及基于有限状态的语言是常用的形式规格语言[5]。

(2)模型的安全功能测试。这种方法主要是针对计算机软件的结构和行为,以建立模型方式生成具有安全测试功能的模型,基于模型基础生成检测用例,进而对计算机软件实施安全监测。基于模型的有限状态机是目前常用的模型安全功能测试方式。

(3)语法测试。语法测试是一种基于语法对检测软件功能接口的语法生成软件进行输入测试的技术,语法测试技如果输入条件不同,则将会产生不同类型的反应,其主要应用在对计算机软件源程序中有错误或者危险的C语言库函数和系统调用中。计算机软件的功能接口语言,能够生成软件测试输入,并检测各种语言输入计算机后的反映情况,这种方式能够有效识别计算机软件接口处语言,并对语言的语法进行定义,实现软件安全检测。

(4)模糊测试。目前模糊测试大多基于白盒安全测试,是传统模糊测试技术的进一步发展,能够与传统模糊测试技术有机结合,实现计算机软件安全的有效检测。

3.3 动态检测技术与静态检测技术

动态检测技术:主要为了确保目标程序源码不会发生改动,维持二进制代码原样。利用对程序执行过程中的漏洞状况进行判定,确定计算机软件的安全状态。动态监测主要有以下措施:(1)非执行栈技术,以有效禁止执行代码能力的方式抵抗攻击者;(2)非执行堆与数据技术。起到阻碍软件继续执行的作用,使恶意代码失去执行途径;(3)内存映射技术。结合代码页拦截攻击者的非法操作;(4)安全的共享库技术。依赖动态链接技术,阻止不安全函数的运行;(5)沙箱技术。利用控制某项进程访问的资源实现防范恶意攻击的目的;(6)程序解释技术。对正在运行的程序进行检查,维护系统的运行。

静态检测技术:主要是通过程序分析技术深入分析二进制代码。需要计算机操作人员做好相应工作。静态检测技术主要为:(1)词法检测技术。限用于对程序源代码中存在不稳定因素的C库函数的检测以及系统的调用;(2)程序评注技术。对各种语言注释说明,以此加深静态研究,确定内部存在的漏洞;(3)类型推断技术,通过对应修饰方式对数据信息等进行安全束缚;(4)约束解算器技术[6]。直接约束目标程序的特定属性建模,结合静态分析解算实行二次约束,防止安慰威胁产生;(5)元编译技术。元编译技术主要是利用编译器的简单技术,这种技术的误报率低,并且这种技术对于语言特性的扩展不会更新。在计算机软件安全检测中元编译技术主要是将计算机程序的安全属性看做是轻量级的编译器进行扩展,并根据扩展的内容建立相应的模型实现计算机软件安全检测。利用此技术能够自动判断代码安全属性,同时编写编译扩展;(6)变异语言技术。变异语言技术主要是通过对指针算术运算和不安全类型的转换,setjmp/longjmp等不安全的操作进行限制,其中安全编程变异技术一般都采用C语言或C++,实现类型转换、标志转换、算术运算等过程的安全操作。由于静态检测对软件的二进制代码和源代码进行检测,因此采用静态检测的错误越多,则编写的程序就越可靠。

3.4 web服务器技术的应用

随着科学技术的快速发展,web技术的广泛应用,一种基于web服务的分布式软件安全性能检测技术也逐步发展起来,其主要是基于识别内容的分布是web服务器技术,这种技术的特点有好互操作性强、松散耦合、语言中立和平台无关等,在计算机软件安全检测中使用这种技能够将复杂的安全功能分解成不同的安全处理类型,以方便采用故障注入机制实现错误的soap消息以达到支持异常测试[7]。通过实验研究表明,将web服务器技术应用到计算机软件安全检测中不仅具有先进性、高效性以及灵活性的特点,而且还能够实现度对软件的可靠性和容错性以及安全性进行检测。

3.5 故障注入的软件安全检测技术

在计算机软件安全检测中,故障注入的安全检测技术具有提高安全检测自动化程度的独特的优点,是计算机软件安全检测技术中一项重要的检测技术。故障注入安全检测技术主要是指在选定的故障模型上进行构建故障树,然后通过人为的反复测试和对软件反馈的故障信息以达到检测故障安全性和容错性的效果。

3.6 基础设施即服务安全策略

(1)实施入侵检测:可以检测出违反安全策略的行为、及时发现并报告系统中异常或未授权的现象,从而使计算机系统和网络的安全性得到保证。具体操作是:审计系统的弱点和构造、对系统和用户的活动进行分析和监视、跟踪关系操作系统的审计、统计分析异常行为模式、对数据文件和重要系统的完整性进行评估、对用户违反安全策略的行为进行识别[8]。(2)实施包括可维护性、容错性、耐久性在内的可靠性网络系统措施,其中耐久性决定着网路系统各个组件连续无故障不间断运行的平均时间;容错性决定网络系统的平均恢复时间;可维护性属于事后很快定位和解决故障,通过配置有责任心专业的技术管理人员提高这一性能。(3)加强对设备操作管理人员的教育培训提高设备寿命和使用效率,尽量应用光纤或加压电缆作为传输介质并做好防护措施,另外人工/自动的检查维护也是必要的,这样可以很大7、建立以数据为中心的安全系统

云计算系统包括网络、存储、计算三方面资源,在数据中心里大量应用虚拟化技术,由实变虚的资源打破了资源边界,可被灵活调度的资源池取代了孤立的单个的资源。在共享的环境中数据的使用被进行全面的控制。基于云环境的数据应用交换安全技术应运而生,数据的安全交换采取应用交换方式,实现信心单向流动,应用不对称的数据交互,“数据”和“用户”能够被用户区分,数据信息和接收方行为信息分成两个不同的路径[9]。

在分级标签交互系统中定义了系统中主、客体的重要程度,在客体信息中提取的知识表达了生成客体的主体对于客体所反映知识的重要性;通过进行数据分析获取消息是文件中常用的方式,所以主体即人很容易进一步处理文件这种信息形式从而形成与文件信息相对应的分级知识;因为缺少对数据库中原始文件中包含信息的提取,所以主人即人要向从中直接提炼出分级知识是相当困难的[10]。总之,数据操作的定制、数据转化为信息、权限控制操作,这些过程都包含在应用交换方式中实现数据交换过程中的安全策略。

4 计算机软件安全检测应注意的问题

计算机软件安全检测技术属于一个动态的检测过程,在计算机软件安全检测中通常应该注意以下几个问题:

4.1 选择科学合理的安全检测方案

在计算机软件安全检测时,通常简答的方法很难达到解决问题的效果,因此在安全检测中,首先应该充分了解计算机软件的特性及其对检测方法的要求,然后根据计算机软件的具体情况进行详细的分析,选择合适的检测方法,编制出计算机软件安全检测方案。同时还应该从用户的需求为出发点,从多方面多角度制度合理的安全检测方案。

4.2 推广检测人员多元化

多元化主要是指在某种程度上相似但是不相同的人员的组合。在计算机软件安全检测时保证检测人员多元化能够更好的检检测初出计算机软件存在的问题或者漏洞。计算机在进行软件安全检测中,对软件检测人员也应该具有一定的要求,不仅应该具有软件检测相关的知识和经验的人员参与其中,还应该具有熟悉并掌握软件的特性及使用的相关人员,只有将计算机安全检测人员和计算机软件技术人员等人员相互配合,才能保证计算机软件性能的安全性。

4.3 全面分析

在计算机软件安全检测中,对计算机软件的系统级、代码级以及需求级等进行详细仔细分析是非常重要的。软件检测中,如果计算机软件的规模较大,应对计算机软件的结构进行详细的分析,并且还应该根据软件不同层级的需要选择不同的技术方法,以保证结果的准确可靠,在必要的情况下,需要借助分析功工具和仿真环境实施计算机软件安全检测,以做好计算机软件安全检测工作。

5 总结

计算机软件安全检测技术是保证计算机和网络安全的一项重要的技术,能够有效促进计算机软件的发展和进步。因此想要保证计算机安全可靠的运行,必须加强对相应的技术进行研究,有效提升计算机的服务性能,保证计算机软件的安全性,从而为计算机软件的发展奠定坚实的基础。

计算机软件安全检测技术研究:计算机软件安全检测技术研究

【摘 要】随着计算机软件行业的发展,人们越来越重视计算机软件的安全检测技术的发展,这不仅能够保障软件技术的进一步提高,同时也能够对于用户的隐私权有所保障。随着计算机的普及应用,无论在生活中还是各个行业的发展中,计算机软件的应用范围逐步扩大,这对于软件的安全检测技术也提出了进一步的要求。

【关键词】计算机软件;安全监测;技术研究

0 引言

就目前的社会进步而言,计算机越来越多的应用到人们的生产和生活之中,这就需要提高计算机软件的使用性能的基础上,注重软件的安全性能,满足使用需求。计算机使用软件是为了满足使用者的使用需求,而对于网络安全方面,也是目前软件开发方面的重点研究内容,计算机的安全检测技术是非常重要的,能够对于潜在的安全问题采取有效的应对方法,从而保障计算机软件的使用安全性能。

计算机技术和互联网的发展越来越快,客户所用的软件种类也越来越丰富,这些软件中存在着很难发现的漏洞,只能通过计算机软件安全检测系统来预防软件漏洞可能会对计算机造成的安全威胁。

1 计算机软件安全检测的内容和含义

客户在使用软件之前,对软件的质量有很高要求,主要体现在两方面:软件安装后会不会对计算机的正常运作产生重大影响,比如说拖慢运行速度等;其次是软件本身的安全性,一般用户在计算机操作过程中会留下大量信息。如果软件的安全性太差,可能会使用户的重要信息遗漏或消失等。所以,在开发软件的时候要利用软件安全检测系统找出计算机软件中的各种漏洞,通过必要的修复降低软件的使用风险。在对开发软件进行检测的时候,为了保证测试质量和测试效率,要从中选择出有代表性的软件故障进行全方位的测试,从中检测出更多的问题。所以,计算机安全检测技术虽然不能保证计算机软件的绝对安全,却可以通过检查软件中的错误和软件自身反入侵能力来提高软件的使用安全性。总之,计算机软件安全检测就是针对计算机软件安全是否达到预期目标的一个测试过程。它主要包括三个方面,计算机软件的功能测试、渗透测试和验证测试。计算机软件安全功能检测与安全检测有很大不同,无论是检测的内容,还是检测的效果都不一样。安全检测的内容是针对软件安全漏洞和软件安全功能,比较简单,并没有深入问题的核心。软件安全漏洞的检测内容就是直接针对软件可能存在的安全缺陷以及它会对计算机造成的安全风险进行检测。计算机软件安全功能检测通过对计算机的机密性、授权、访问控制和安全管理等方面来检测计算机软件的安全功能是否起到了作用。安全检测主要是针对普通的计算机软件缺陷,这种缺陷平时不会给用户带来困扰,就算出现了只要按照修复程序在下一个版本中就可以修复。如果存在计算机软件安全缺陷,会给用户带来严重的问题,检测出来后要马上采取相应措施处理。

2 软件安全检测过程中的两个重点

2.1 构建合适的安全检测程序

通常客户所用的软件中,规模较大的应用软件系统是由多个子系统拼凑起来的,同时每个子系统又是由单元模块形成的。因此,整个应用软件系统是由很多个很小的单元模块集合而成的。在实施软件安全检测过程中,对系统中最小的单元模块进行检测从而找出隐藏的系统缺陷,这种方法比较快捷有效。需要检测的单元模块有很多,可以根据软件系统的设计模式,将单元模块堆积成软件的系统结构,对系统模型进行检测。

2.2 如何决定合适的安全检测方法

安全检测方法非常重要,就好像一艘船在大海上决定航行的方向一样重要。软件检测方法直接决定了检测结果的正确性和软件检测过程中的效率。通过对各种各样的计算机软件安全检测方案和现实案例进行研究,可以得出软件安全检测的基本规律:首先,为了能够便于安全检测工作的实施,要将检测过程具象化。就是根据大概的软件检测方案,开始对检测过程进行电脑模拟,建立相应的数据模型。主要是通过语言支持来实现形式化的表现,一般形式语言有行为语言和有限状态语言等。做好上面的工作后,直接对模拟系统进行安全检测,在检测的同时也相当于对软件系统的构建和运行做了较为全面有效的安全检测,从而加强了软件安全检测的准确性和可靠性。通常,我们会选择马尔科夫链和有限状态机器测试模式。

3 计算机软件安全检测中要注意的问题

3.1 使用科学有效的软件安全检测方法

计算机软件内部非常复杂,所以对其进行安全检测时只是利用简单的安全测试是不能完全解决问题的,很多潜藏在深处的安全隐患根本就没有被发现。在检测前,要对客户的计算机软件的特性以及它们对检测方法的各种要求有全面的了解,再针对软件的具体状况选择合适的检测方法,逐渐编制出计算机软件安全检测方案。在细节方面,还应该整合用户的意见,根据客户的需求去制定更合适的检测方案。

3.2 检测人员的多元化

在对计算机软件进行检测时,总是几个检测人员参与检测而且他们检测的方法也类似的话,就不能更好地检测出更多的漏洞,因为软件中的安全隐患隐藏在各种地方,所以检测方法越多样化,将安全隐患检测出来的几率就越大,用户的软件安全就越有保障。所以,进行计算机软件安全检测时,除了对软件检测有专业知识和丰富经验的检测人员外,还应该加入熟悉软件特性和使用的软件技术人员,这种组合能够对软件检测进行全方位的检测,找出更多的安全隐患,满足用户的软件使用要求。

3.3 在检测前,要对软件进行全面、深入的研究

计算机软件包括系统级、代码级和需求级三个方面,在检测前需要对它们进行详细分析,这对之后的检测工作很有帮助。如果将要检测的软件规模很大,还要对软件的结构进行详细分析,选用多种方法对软件进行层层检测,全面排除安全障碍。有时候还可以借助仿真环境和分析工具实施软件检测。

4 结束语

计算机软件在社会经济生活中占有重要作用,不仅能够满足人们的生活需要,也能够满足行业的发展需求。计算机软件不仅仅在种类上逐渐增多,同时能够满足不同使用者的需求,随之而来的计算机软件的安全问题,也引起了软件开发者的逐步重视。计算机软件安全检测技术的逐步发展,就是为了满足使用者的安全需要,就计算机的软件使用特点,以及在安全检测技术等发面展开研究,以科学的安全检测方法作为研究的主要内容,注重计算机软件的使用性能的同时,也要提高使用方面的优势,这样才能够提高计算机软件的安全性能。软件安全能够对于潜在的安全问题采取有效的应对方法,从而保障计算机软件的使用安全性能。