- 相关推荐
计算机软件安全检测技术
计算机软件安全检测技术【1】
摘要:随着科学与技术的发展,计算机应用更加普及。
目前,计算机已经成为人们生活和生产的必要工具。
人们在使用计算机的同时对计算机性能和计算机的辅助功能的要求也逐渐提高。
计算机和网络赖以生存的基础就是软件。
计算机软件的安全性成为了计算机软件性能的组成部分,同时计算机软件安全检测技术又可以实现有效确保计算机软件的安全性。
由此表明,计算机安全检测技术已俨然成为保护计算机软件的关键性因素,即安全检测技术可根据不同的安全指标对计算机软件进行安全测试,并有效识别出软件中存在的安全隐患。
本文就计算机软件安全检测技术及其应注意的问题进行分析,以确保计算机软件的安全性。
关键词:计算机软件;软件安全;检测方法
一、引言
计算机软件安全检测是以有效发现软件开发中所存在的故障及风险,并对其进行修改、更正为目的的,因此计算机软件的安全检测技术在软件开发的整个过程中发挥着不可或缺的作用。
从根本上讲,计算机软件安全检测即是花费较少的测试时间和精力获取最大限度的软件检测覆盖面,从而确保安全检测的有效性。
二、计算机软件安全检测简介
计算机软件的安全检测是计算机软件开发过程中的一个关键性环节,是计算机软件开发中的一个重要组成部分。
通过计算机软件安全检测,我们可以发现软件在应用过程中的缺点和故障所在,可以实现对计算机软件在应用过程中产生风险的有效更正。
然而,计算机软件的安全检测并不能作为避免软件程序中产生错误的主要手段,计算机安全软件安全检测只是负责找出程序在应用过程中容易产生错误的位置。
通常情况下,计算机软件安全检测主要分为静态检测和动态检测两种类别。
计算机软件安全检测通常是用来对软件的安全漏洞和安全功能进行检测的一种手段,是保证软件开发后功能与预期目标设计保持一致的有力保障。
就目前情况讲,计算机软件安全检测的具体范畴主要包含三个方面,即功能测试、渗透测试和验证过程。
计算机安全软件检测与其他检测软件不同,对于计算机软件安全缺陷的检测,计算机软件安全检测更注重于有效避免软件工作范畴以外的事物,而普通的检测软件则强调软件该做的事物。
另外计算机软件安全功能是否能够满足用户的需求是通过安全功能检测来实现的,衡量其满足用户需求与否的主要包含授权、机密性、安全管理及访问控制等因素。
而对于计算机安全漏洞的检测,其主要目的是发现软件中可能存在的缺陷,亦或是识别出某些缺陷对计算机软件存在的潜在风险。
三、计算机软件安全检测应该注意的事项
从某种角度上分析,计算机软件安全检测,其实质即是对计算机软件进行安全检测的一个动态过程。
通常在进行计算机软件安全检测时应注意以下两点事项:
第一,选择有效且合理的软件安全检测方案。
对于计算机软件的安全检测应在充分了解、掌握该计算机软件要求及特性的基础上,根据测试的具体情况选用合理的安全检测手段,并编制出与之相应的安全检测方案,以确保安全检测方案实施的有效性。
此外,对软件的检测人员还应该有一定的要求。
计算机进行软件安全检测时,应确保在有相关知识及经验的软件安全分析人员参与的同时,还应配备熟悉并掌握该软件特点及使用的设计人员。
唯有通过计算机软件及安全检测等多领域的相关技术人员的有效配合,才能达到有效确保计算机软件性能安全性的理想效果。
第二,计算机进行软件安全检测的过程中,应做到全面分析。
一般计算机软件程序较为繁琐、规模较大,这就需要相关人员在进行计算机软件安全检测的过程中,应做到对代码级、系统级和需求级的细致分析。
与上述选择软件检测方案一样,在进行软件中不同级别时也应加强对分析技术的合理选择,才能保证分析结果的准确性。
如此看来,计算机软件的安全检测是一项较为复杂的系统型过程,因此选择合理的检测技术和检测方案,是计算机软件安全检测过程中不可忽视的两个注意事项。
四、计算机软件的安全检测方法
(一)计算机软件安全检测流程
通常情况下,对于计算机软件的安全检测程序而言,规模较大的计算机软件系统包含了多个子系统,而不同的子系统中又包含了多个不同的模块。
一般计算机软件安全检测的流程为:模块测试→组装系统→系统结构的安全检测→软件功能和性能的有效测试→系统测试。
其中模块测试是指子系统中最小单位的模块测试,其目的是为了使测试的覆盖范围更加全面化、细节化,从而及时发现小模块中所隐藏的潜在风险;在进行各个模块测试完成后,应根据软件程序的设计要求对所有模块进行组装,将其组装成完整的系统,同时对组装后的系统结构进行相应的安全检测;之后在保证前述检验合格的基础上对系统软件进行功能和性能的有效测试,有效测试的主要目的是为了确保系统软件功能和性能与用户需求的一致性;最后在所有相关测试完成后,实施对整个软件的系统性测试。
如此层层把关的软件安全检测流程可为用户软件的安全性提供有力的保障。
(二)计算机软件安全检测的方式、方法
1.形式化的安全检测
此种安全检测方法是鉴于计算机软件数学模型的基础之上的,并且要求在形式规格语言的支持前提下,所提供的形式化规格说明。
目前较为常用的形式规格语言有三种,其中包括行为语言、模型语言和有效状态语言。
有定理证明和基于模型检查正式的安全检测方法[3]。
2.基于模型的安全静态检测方式
模型安全检测方式,即通过软件行为与结构建模的方法,形成一个测试模型,此模型同时满足机器对其的可读性。
模型安全检测方式与上述形式化安全检测相比而言,基于模型的测试并不致力于让待测软件系统与规格说明在所有情况下都保持一致,而是系统化的从模型生成一组测试用例,使用这组测试用例测试待测软件系统,得到充分的证据说明待测系统的行为与模型期望的是一致的。
常用的安全功能检测方法是有限状态机和马尔可夫链的方法的。
3.语法检测
这种检测方法是基于语法对生成功能接口软件进行检测。
语法检测,通常情况下以研究反映为目的,即计算机软件在不同的输入条件下而产生的不同类型的反映。
采用语法检测的方法,一般即指对计算机软件接口处语言的识别、语言语法的定义等,并在以语法为基础生产检测用例同时执行安全检测。
4.基于故障注入的安全检测。
此种方法经实践证实,具有明显提高安全检测自动化程度的独特优势,是计算机软件安全检测技术中的重要组成部分。
这里讲的故障注入式安全检测,即指在选定故障模型的基础上,构建故障树,并通过人为的反复测试及对软件所反馈的故障信息,来实现检测故障容错性和安全性等有用信息.
5.模糊式检测方法
模糊式的检测方法有效的融合了传统检测技术与动态检测的具体应用,即是建立于白盒模糊检测的基础之上的,是传统检测方法的升华。
模糊检测法虽然是一项简单的技术,单他却揭示出程序中重要的bug。
它能够验证出现实世界中的错误模式并在软件发货前对潜在的应该被阻塞的攻击渠道进行提示[3]。
6.安全属性式的检测方法
安全属性式的检测方法相比于其他软件安全检测方法来说,能够实现有效确保安全漏洞扩展性和交互性的全面分析。
实现采用安全属性式的检测方法进行测试的途径,首先应有效确定计算机软件的安全编程规则,并将其作为软件安全检测的安全属性;其次利用得到的安全属性对系统程序的相关代码进行检测,以验证系统代码与相应规则的符合性。
除上述所讲,随着社会各领域的快速发展,基于Web服务的分布式软件得到广泛应用,因此与之相应的软件安全检测技术也应不断分析总结,并实现安全检测的技术创新。
总而言之,计算机软件的安全检测俨然已经成为有效确保计算机信息安全性的关键性因素。
鉴于软件安全对计算机软件开发及使用的重要作用,我们应在实践中不断学习并积累经验,以实现计算机软件安全检测技术的不断创新。
参考文献:
[1]王清.软件漏洞分析技术.北京:电子工业出版社,2011,6
[2]艾伦.软件安全工程.北京:机械工业出版社,2009.4
[3]李龙.软件测试实用技术与常用模板.北京:机械工业出版社,2010,10
计算机软件安全检测技术【2】
摘要:步入21世纪以来,科学和技术不断发展,已经达到一个全新的高度,计算机开始广泛运用到了各个领域,成为人们生活、办公不可缺少的工具。
人们对计算机的要求也变得越来越高。
计算机办公离不开硬件和软件,硬件是计算机运行的最基础要求。
软件作为计算机工作的大脑,对其进行安全检测是保障计算机软件能够安全运行的重要内容之一。
本文就计算机软件安全检测技术及其应注意的问题进行分析,以确保计算机软件的安全性。
关键词:计算机;软件安全;检测方法
一、引言
软件安全检测,顾名思义,指的是用科学的手段和技术来发觉软件开发中出现的各种故障,以及开发风险,对风险和故障进行诊断、更正和修改。
计算机软件安全检测工作是软件开发和使用中必不可少的工作。
工作者要用其确保计算机软件的安全性和有效性、已达到预期的效果。
二、计算机软件安全检测简介
计算机软件的安全检测是计算机软件开发中的一个极为重要的部分,缺少了它,计算机软件开发是不完整的。
通过对计算机软件的检测,我们熟知其安全性,可以发现软件中存在的缺陷和漏洞,并加以弥补,从而使软件得到优化和完善。
但计算机软件安全检测手段却不能作为防止软件错误发生的主要办法,因为计算机安全检测的职责只是找出程序中容易发生错误。
在现有技术中,软件安全检测分为两种,分别为静态检测与动态检测。
计算机软件安全检测实质就是:通过技术对软件的漏洞和缺陷进行一遍系统化的检测,以保证软件开发后功能和预期的功能相差无二。
现阶段而言,计算机软件的安全检测技术主要包括三点:分别为功能测试、渗透测试和检验过程。
和其他软件相比,计算机安全软件有自己独特的一处,安全软件的检测以避免软件工作范畴以外的事物为主,普通的软件和它相比,则以软件该做的事情为主。
用户对软件的依赖程度,需要软件的安全程度来测试,安全检测功能扮演的角色可谓是举足轻重,它发现了软件中存在的风险及隐患,有时候更能识别出某些软件的缺陷对计算机所产生的安全风险。
三、计算机软件安全检测应该注意的事项
从另一种角度上讲,计算机软件安全检测,实际上就是对计算机进行安全检测的一个非静态过程。
通常在进行计算机软件安全检测时应注意以下两个方面:
1.用科学合理的方案进行软件检测工作。
进行检测工作的人员应当具备以下几种基本素质:
(1)充分了解软件安全检测工作。
(2)熟练掌握计算机软件的特性。
只有具备这两种基本素质,才能够保证检测方案实施起来。
再者,应该对软件检测工作者提出相应的要求,应当确保在具备相关专业素质的人才进行工作时,周围配备相关软件特点及使用的技术性专员。
只有通过与计算机软件专业各种技术人员密切有效的配合,才能够保证计算机软件检测工作顺利完成,才能够使得计算机软件性能和安全性达到事先预期的效果。
2.在进行计算机软件安全检测工作中,工作人员应当利用自身素质和高科技设备进行全面,深入的分析。
常见的计算机应用软件程序编写十分繁琐、规模比较庞大,因此,工作人员在进行计算机软件安全检测工作时,应当着重注意对代码级、系统级以及需求级进行深入分析。
跟上述选择软件检测的方案相同,在进行软件中不同的级别时候,应当采取不同的选择,已达到科学、合理的检测目的。
由此可知,计算机软件安全检测是繁杂的系统性过程,在这个过程中,如何选择一个或数个科学、合理的方案,是计算机软件安全检测工作者们必须冷静思考的问题。
四、计算机软件的几种安全检测方法及流程
(一)计算机软件安全检测流程
在进行计算机软件安全检测时,有些大型的计算机应用软件,它们包含数量很大的子系统,这些子系统又被分为数个互不相同的模板。
检测工作可分为以下几个步骤:模块测试→组装系统→系统结构的安全检测→软件功能和性能的有效测试→系统测试。
这些步骤中,模块测试指的是子系统中最小的一个模块进行测试,工作者们进行模块测试的目的是使测试的辐射面更加广泛、并且更加深入,在第一时间发现小模块中所蕴藏了一些风险,进行完模块测试后,工作者们会把所有经过细腻检测后的模块重新进行组装,组装完成后,再对完成后的系统进行一次全面而细致的检测工作,以确认其性能是否和预期相符。
这样,才能将软件安全检测流程做到最好。
(二)计算机软件安全检测的方式
1.形式化的安全检测
此种检测方法需要有计算机软件的数学模型支撑,并需要有形式规格语言的支持方能完成。
检测时所用的常用规格语言有三种:行为语言、模型语言和有效状态语言。
2.以模型为基础的安全静态检测方式
模型安全检测方式,即通过软件行为与结构建模,组成一个测试模型,机器对这个模型具备可读性。
常用的检测方法是有限状态机和马尔可夫链。
这种软件安全检测方法与第一种安全检测方法相比,此种以模型为基础的测试方法比较系统化,它不致力于让待测软件系统与规格说明在所有情况下都保持不变,而是从模型生成一组测试用例,证明待测系统的行为和模型与期望值相同。
3.语法检测
语法检测是基于语法对生成功能接口软件进行检测,研究计算机软件在不同的输入条件下产生的不同类型的反映。
其检测方法一般来说是指对计算机软件接口处语言的识别、语法的定义并在以语法为基础生成检测用例的同时,进行安全检测。
4.以故障注入为基础要素的安全检测。
此种检测方法,是指在选定故障模型的基础上,构建故障树,并通过人为的反复测试及对软件所反馈的故障信息,实现检测故障容错性和安全性等信息。
它融合了传统检测技术和动态检测方法,建立于白盒模糊检测的基础之上,是对传统检测方法的改进。
模糊检测法并不复杂,却能够寻找出程序中重要的bug,能够验证错误模式并对潜在攻击渠道进行提示。
这种检测方法能够提高安全检测自动化程度,是计算机软件安全检测技术中的重要组成部分。
5.安全属性式的检测方法
该软件安全检测方法需首先确定软件的安全编程规则,将确定的规则编码作为安全属性来验证系统程序的代码是否对这些规则进行了遵守。
其优点是,能够有效分析安全漏洞的交互性及扩展性。
五、结束语
计算机软件安全检测是信息安全体系中必不可少的组成部分。
在信息化高速发展的今天,计算机的各类软件以及计算机网络的应用已经渗透到各行各业中,成为人们工作和生活最重要的组成之一,而软件安全检测确保了计算机软件应用的良性发展,因此我们必须在今后的工作学习中进一步加强对计算机安全检测方法的研究。
参考文献:
[1]王清.软件漏洞分析技术[M].北京:电子工业出版社,2011,6
[2]艾伦.软件安全工程[M].北京:机械工业出版社,2009,4
[3]李龙.软件测试实用技术与常用模板[M].北京:机械工业出版社,2010,10
计算机软件的安全检测技术【3】
摘要:随着计算机技术的快速发展,各种软件也在不断的产生,计算机软件安全检测技术是计算机软件安全的基础,它可以根据相关的指标对计算机软件进行安全检测并有效的发现其中的安全隐患。
本文介绍的当前几种安全检测的技术,供计算机软件安全检测工作参考。
关键词:计算机软件;安全检测;技术探讨
现在,各种计算机软件在各行各业中得到了普遍的利用,成为人们生活和工作中不可或缺的部分。
由此带来的计算机软件安全问题也随着它的发展越来越复杂的影响着计算机的安全,计算机软件的安全检测技术就显得尤为重要。
一、计算机软件安全检测技术概述
计算机软件安全检测是计算机软件开发过程中的一个重要环节,它的目的是为了发现软件所存在的故障和安全漏洞,从而及时的对计算机软件的潜在安全问题进行更改。
当前的计算机软件安全检测技术主要包括动态检测和静态检测两种方法。
计算机软件安全检测是确定计算机软件的安全性是否达到软件预期设计的目标的一个过程,一般包括功能测试、渗透测试与验证过程三个阶段。
包括安全功能与安全漏洞两个方面的检测,软件安全功能涉及的方面比较多,包括机密性、授权、访问控制以及安全管理等;而计算机软件安全漏洞检测则是对软件可能存在的缺陷的检测。
二、计算机软件安全检测的注意事项
在进行计算机软件安全检测是,要注意几下的几个问题:
一是要预先制定出检测方案。
首先要对计算机软件有一个全面的了解,在此基础上作出分析然后选择一个合适的检测技术,设计出检测方案;其次在检测人员的选择上,要进行多元化的人员配置,安全分析人员、软件设计人员和操作者都应参与检测的工作,这样可以保证在检测的过程中对软件的不同性能的检测都能得到专业技术人员的指导和分析,提高安全检测的效率。
二是在进行计算机软件的安全检测时,对于系统级、代码级与需求级的检测是必须的。
如果软件的规模比较大,还要对软件的结构的设计进行分析。
在具体的操作中要从实际工作的需要来选择合理的分析技术。
仿真环境和分析工具相结合是较为有效的计算机软件的安全检测技术。
三、计算机软件安全检测技术的方法
(一)计算机软件安全检测的流程
一般情况下,规模较大的软件是由一定数量的子系统来构成的,每个子系统又由若干的小模块来构成。
计算机软件的安全检测一般按照以下的步骤进行:首先是进行模块的测试,测试的对象是软件设计中的最小单位,对模块进行测试的目的是发现系统的各个模块中可能存在的问题。
然后是对由模块按照程序设计的要求组装的系统进行检测,并对于其相关的体系机构进行检测。
其次是在前两个检测的基础上进行软件的有效性检测,有效性检测的目的是对软件的功能和性能进行检测,检测其是否与所设计的用户的需求相符合。
最后进行的是系统的检测,测试软件在整体的环境下的运行安全情况。
(二)当前计算机软件安全检测的主要方法
一是形式化的安全检测。
形式化的安全检测是确立软件的数学模型,在通过形式规格的语言的支持提供形式化的规格说明。
比较常见的形式规格语言有基于有限状态的语言、基于模型的语言以及基于行为的语言。
形式化的安全检测有模型检测和定量证明两种形式的安全检测方法。
二是基于模型的静态安全检测。
模型安全检测,既是通过软件行为与结构建模的方式,形成一个测试的模型,此模型同时可满足计算机对其的可读性。
模型安全检测的方式与上述的形式安全检测的方式相比较而言,并不侧重于让检测的软件系统与规格说明在所有的情况下都保持一致,而是从模型生出一组试用例,使用这组试用例来测试软件系统,来说明软件的安全性。
比较常用的模型安全检测方法包括有线状态机检测和马尔科夫链的检测。
三是语法检测。
语法检测技术是根据语法对被检测软件的功能接口的语法生成软件进行输入的测试,测试软件在不同的输入条件下产生的不同的反应。
一般语法检测适用于检测源程序中存在安全隐患的C语言函数和系统的调用,并通过软件接口语言的识别、定义语言的语法以及以语法为基础进行生产测试用例,同时进行安全检测。
四是基于故障注入的软件安全检测。
故障注入的安全检测是应用故障分析树与故障数的最小割集来检测的。
故障树分析法通过将系统最不该发生的事件做为顶事件,再以此寻找导致事故发生的中间事件与低事件,再通过逻辑门符号将顶事件、中间事件和低事件之间的关系进行连接,形成故障树。
故障树检测拥有较高的检测自动化程度,是比较合理的计算机软件安全检测的方法。
五是模糊测试和基于属性的测试。
模糊测试一般是基于白盒的模糊测试,较传统的模糊测试技术有所进步,白盒模糊检测方法有效的结合了传统的模糊测试技术和动态测试用例检测技术的优点。
基于属性的测试方法首先要确定计算机软件的安全编程规则,以此来作为安全属性来验证软件系统程序的代码是否遵守了这些规则。
基于属性的安全检测法的优点是能够较好的分析软件安全漏洞的扩展性及安全性等。
六是混合检测技术。
混合检测技术是指将计算机的静态安全检测技术和动态安全检测技术相结合的一种检测技术,它能有效的改善静态技术和动态技术检测存在的一些缺陷,从而更好的对计算机软件的安全进行检测。
当前主要的检测技术包括二进制代码改编技术、测试库技术、基于规范的检测技术、基于异常的检测技术等。
混合检测技术在一定程度上提高了软件安全检测的准确性,是较合理的检测方式。
七是基于Web服务的检测技术。
近年来,随着Web服务技术的发展和广泛的应用,基于此的分布式软件安全检测技术也随之产生和发展,它是一种基于识别内容的分布式Web服务器技术。
具有语言中立、互动操作性强等优点,能够将复杂的安全检测分解为子安全类型进行处理,以使其可以更有效的应对复杂的安全检测的需要。
分布式安全检测还采用了故障注入机制来生成错误的soap消息,来用于异常测试。
此种检测方法在实践中具有高效、先进和灵活的特点,能够对软件的可靠性、容错性和安全性的检测到达较高的标准。
四、总结
计算机软件的安全检测技术是保证计算机和互联网安全的基础,必须不断的加强检测技术的创新,以保证计算机软件的安全,促进计算机软件的发展。
参考文献:
[1]朱岩.浅析计算机软件安全检测存在问题及方法[J].科技创新与应用,2012(14).
[2]陈晟.有关计算机软件的安全检测技术的分析[J].计算机光盘软件与应用,2012(15).
[3]赵妍.计算机软件安全检测方法探讨[J].科技传播,2010(16).
【计算机软件安全检测技术】相关文章:
计算机软件安全检测技术分析论文10-08
计算机软件安全检测技术分析论文范文10-08
计算机软件安全检测方法10-05
计算机软件安全漏洞检测10-05
漏洞检测在计算机软件安全中的应用09-30
计算机软件安全检测存在问题及方法的研究10-09
食品安全检测技术课程的实习报告10-12
计算机安全漏洞检测技术的运用论文10-09
计算机软件中的插件技术10-26