论文部分内容阅读
摘要:步入21世纪以来,科学和技术不断发展,已经达到一个全新的高度,计算机开始广泛运用到了各个领域,成为人们生活、办公不可缺少的工具。人们对计算机的要求也变得越来越高。计算机办公离不开硬件和软件,硬件是计算机运行的最基础要求。软件作为计算机工作的大脑,对其进行安全检测是保障计算机软件能够安全运行的重要内容之一。本文就计算机软件安全检测技术及其应注意的问题进行分析,以确保计算机软件的安全性。
关键词:计算机;软件安全;检测方法
中图分类号:TP393.08 文献标识码:A 文章编号:1007-9599 (2012) 13-0000-02
一、引言
软件安全检测,顾名思义,指的是用科学的手段和技术来发觉软件开发中出现的各种故障,以及开发风险,对风险和故障进行诊断、更正和修改。计算机软件安全检测工作是软件开发和使用中必不可少的工作。工作者要用其确保计算机软件的安全性和有效性、已达到预期的效果。
二、计算机软件安全检测简介
计算机软件的安全检测是计算机软件开发中的一个极为重要的部分,缺少了它,计算机软件开发是不完整的。通过对计算机软件的检测,我们熟知其安全性,可以发现软件中存在的缺陷和漏洞,并加以弥补,从而使软件得到优化和完善。但计算机软件安全检测手段却不能作为防止软件错误发生的主要办法,因为计算机安全检测的职责只是找出程序中容易发生错误。在现有技术中,软件安全检测分为两种,分别为静态检测与动态检测。
计算机软件安全检测实质就是:通过技术对软件的漏洞和缺陷进行一遍系统化的检测,以保证软件开发后功能和预期的功能相差无二。现阶段而言,计算机软件的安全检测技术主要包括三点:分别为功能测试、渗透测试和检验过程。和其他软件相比,计算机安全软件有自己独特的一处,安全软件的检测以避免软件工作范畴以外的事物为主,普通的软件和它相比,则以软件该做的事情为主。用户对软件的依赖程度,需要软件的安全程度来测试,安全检测功能扮演的角色可谓是举足轻重,它发现了软件中存在的风险及隐患,有时候更能识别出某些软件的缺陷对计算机所产生的安全风险。
三、计算机软件安全检测应该注意的事项
从另一种角度上讲,计算机软件安全检测,实际上就是对计算机进行安全检测的一个非静态过程。通常在进行计算机软件安全检测时应注意以下两个方面:
1.用科学合理的方案进行软件检测工作。进行检测工作的人员应当具备以下几种基本素质:
(1)充分了解软件安全检测工作。
(2)熟练掌握计算机软件的特性。
只有具备这两种基本素质,才能够保证检测方案实施起来。再者,应该对软件检测工作者提出相应的要求,应当确保在具备相关专业素质的人才进行工作时,周围配备相关软件特点及使用的技术性专员。只有通过与计算机软件专业各种技术人员密切有效的配合,才能够保证计算机软件检测工作顺利完成,才能够使得计算机软件性能和安全性达到事先预期的效果。
2.在进行计算机软件安全检测工作中,工作人员应当利用自身素质和高科技设备进行全面,深入的分析。常见的计算机应用软件程序编写十分繁琐、规模比较庞大,因此,工作人员在进行计算机软件安全检测工作时,应当着重注意对代码级、系统级以及需求级进行深入分析。
跟上述选择软件检测的方案相同,在进行软件中不同的级别时候,应当采取不同的选择,已达到科学、合理的检测目的。由此可知,计算机软件安全检测是繁杂的系统性过程,在这个过程中,如何选择一个或数个科学、合理的方案,是计算机软件安全检测工作者们必须冷静思考的问题。
四、计算机软件的几种安全检测方法及流程
(一)计算机软件安全检测流程
在进行计算机软件安全检测时,有些大型的计算机应用软件,它们包含数量很大的子系统,这些子系统又被分为数个互不相同的模板。检测工作可分为以下几个步骤:模块测试→组装系统→系统结构的安全检测→软件功能和性能的有效测试→系统测试。
这些步骤中,模块测试指的是子系统中最小的一个模块进行测试,工作者们进行模块测试的目的是使测试的辐射面更加广泛、并且更加深入,在第一时间发现小模块中所蕴藏了一些风险,进行完模块测试后,工作者们会把所有经过细腻检测后的模块重新进行组装,组装完成后,再对完成后的系统进行一次全面而细致的检测工作,以确认其性能是否和预期相符。这样,才能将软件安全检测流程做到最好。
(二)计算机软件安全检测的方式
1.形式化的安全检测
此种检测方法需要有计算机软件的数学模型支撑,并需要有形式规格语言的支持方能完成。检测时所用的常用规格语言有三种:行为语言、模型语言和有效状态语言。
2.以模型为基础的安全静态检测方式
模型安全检测方式,即通过软件行为与结构建模,组成一个测试模型,机器对这个模型具备可读性。常用的检测方法是有限状态机和马尔可夫链。这种软件安全检测方法与第一种安全检测方法相比,此种以模型为基础的测试方法比较系统化,它不致力于让待测软件系统与规格说明在所有情况下都保持不变,而是从模型生成一组测试用例,证明待测系统的行为和模型与期望值相同。
3.语法检测
语法检测是基于语法对生成功能接口软件进行检测,研究计算机软件在不同的输入条件下产生的不同类型的反映。其检测方法一般来说是指对计算机软件接口处语言的识别、语法的定义并在以语法为基础生成检测用例的同时,进行安全检测。
4.以故障注入为基础要素的安全检测。
此种检测方法,是指在选定故障模型的基础上,构建故障树,并通过人为的反复测试及对软件所反馈的故障信息,实现检测故障容错性和安全性等信息。它融合了传统检测技术和动态检测方法,建立于白盒模糊检测的基础之上,是对传统检测方法的改进。模糊检测法并不复杂,却能够寻找出程序中重要的bug,能够验证错误模式并对潜在攻击渠道进行提示。这种检测方法能够提高安全检测自动化程度,是计算机软件安全检测技术中的重要组成部分。
5.安全属性式的检测方法
该软件安全检测方法需首先确定软件的安全编程规则,将确定的规则编码作为安全属性来验证系统程序的代码是否对这些规则进行了遵守。其优点是,能够有效分析安全漏洞的交互性及扩展性。
五、结束语
计算机软件安全检测是信息安全体系中必不可少的组成部分。在信息化高速发展的今天,计算机的各类软件以及计算机网络的应用已经渗透到各行各业中,成为人们工作和生活最重要的组成之一,而软件安全检测确保了计算机软件应用的良性发展,因此我们必须在今后的工作学习中进一步加强对计算机安全检测方法的研究。
参考文献:
[1]王清.软件漏洞分析技术[M].北京:电子工业出版社,2011,6
[2]艾伦.软件安全工程[M].北京:机械工业出版社,2009,4
[3]李龙.软件测试实用技术与常用模板[M].北京:机械工业出版社,2010,10
关键词:计算机;软件安全;检测方法
中图分类号:TP393.08 文献标识码:A 文章编号:1007-9599 (2012) 13-0000-02
一、引言
软件安全检测,顾名思义,指的是用科学的手段和技术来发觉软件开发中出现的各种故障,以及开发风险,对风险和故障进行诊断、更正和修改。计算机软件安全检测工作是软件开发和使用中必不可少的工作。工作者要用其确保计算机软件的安全性和有效性、已达到预期的效果。
二、计算机软件安全检测简介
计算机软件的安全检测是计算机软件开发中的一个极为重要的部分,缺少了它,计算机软件开发是不完整的。通过对计算机软件的检测,我们熟知其安全性,可以发现软件中存在的缺陷和漏洞,并加以弥补,从而使软件得到优化和完善。但计算机软件安全检测手段却不能作为防止软件错误发生的主要办法,因为计算机安全检测的职责只是找出程序中容易发生错误。在现有技术中,软件安全检测分为两种,分别为静态检测与动态检测。
计算机软件安全检测实质就是:通过技术对软件的漏洞和缺陷进行一遍系统化的检测,以保证软件开发后功能和预期的功能相差无二。现阶段而言,计算机软件的安全检测技术主要包括三点:分别为功能测试、渗透测试和检验过程。和其他软件相比,计算机安全软件有自己独特的一处,安全软件的检测以避免软件工作范畴以外的事物为主,普通的软件和它相比,则以软件该做的事情为主。用户对软件的依赖程度,需要软件的安全程度来测试,安全检测功能扮演的角色可谓是举足轻重,它发现了软件中存在的风险及隐患,有时候更能识别出某些软件的缺陷对计算机所产生的安全风险。
三、计算机软件安全检测应该注意的事项
从另一种角度上讲,计算机软件安全检测,实际上就是对计算机进行安全检测的一个非静态过程。通常在进行计算机软件安全检测时应注意以下两个方面:
1.用科学合理的方案进行软件检测工作。进行检测工作的人员应当具备以下几种基本素质:
(1)充分了解软件安全检测工作。
(2)熟练掌握计算机软件的特性。
只有具备这两种基本素质,才能够保证检测方案实施起来。再者,应该对软件检测工作者提出相应的要求,应当确保在具备相关专业素质的人才进行工作时,周围配备相关软件特点及使用的技术性专员。只有通过与计算机软件专业各种技术人员密切有效的配合,才能够保证计算机软件检测工作顺利完成,才能够使得计算机软件性能和安全性达到事先预期的效果。
2.在进行计算机软件安全检测工作中,工作人员应当利用自身素质和高科技设备进行全面,深入的分析。常见的计算机应用软件程序编写十分繁琐、规模比较庞大,因此,工作人员在进行计算机软件安全检测工作时,应当着重注意对代码级、系统级以及需求级进行深入分析。
跟上述选择软件检测的方案相同,在进行软件中不同的级别时候,应当采取不同的选择,已达到科学、合理的检测目的。由此可知,计算机软件安全检测是繁杂的系统性过程,在这个过程中,如何选择一个或数个科学、合理的方案,是计算机软件安全检测工作者们必须冷静思考的问题。
四、计算机软件的几种安全检测方法及流程
(一)计算机软件安全检测流程
在进行计算机软件安全检测时,有些大型的计算机应用软件,它们包含数量很大的子系统,这些子系统又被分为数个互不相同的模板。检测工作可分为以下几个步骤:模块测试→组装系统→系统结构的安全检测→软件功能和性能的有效测试→系统测试。
这些步骤中,模块测试指的是子系统中最小的一个模块进行测试,工作者们进行模块测试的目的是使测试的辐射面更加广泛、并且更加深入,在第一时间发现小模块中所蕴藏了一些风险,进行完模块测试后,工作者们会把所有经过细腻检测后的模块重新进行组装,组装完成后,再对完成后的系统进行一次全面而细致的检测工作,以确认其性能是否和预期相符。这样,才能将软件安全检测流程做到最好。
(二)计算机软件安全检测的方式
1.形式化的安全检测
此种检测方法需要有计算机软件的数学模型支撑,并需要有形式规格语言的支持方能完成。检测时所用的常用规格语言有三种:行为语言、模型语言和有效状态语言。
2.以模型为基础的安全静态检测方式
模型安全检测方式,即通过软件行为与结构建模,组成一个测试模型,机器对这个模型具备可读性。常用的检测方法是有限状态机和马尔可夫链。这种软件安全检测方法与第一种安全检测方法相比,此种以模型为基础的测试方法比较系统化,它不致力于让待测软件系统与规格说明在所有情况下都保持不变,而是从模型生成一组测试用例,证明待测系统的行为和模型与期望值相同。
3.语法检测
语法检测是基于语法对生成功能接口软件进行检测,研究计算机软件在不同的输入条件下产生的不同类型的反映。其检测方法一般来说是指对计算机软件接口处语言的识别、语法的定义并在以语法为基础生成检测用例的同时,进行安全检测。
4.以故障注入为基础要素的安全检测。
此种检测方法,是指在选定故障模型的基础上,构建故障树,并通过人为的反复测试及对软件所反馈的故障信息,实现检测故障容错性和安全性等信息。它融合了传统检测技术和动态检测方法,建立于白盒模糊检测的基础之上,是对传统检测方法的改进。模糊检测法并不复杂,却能够寻找出程序中重要的bug,能够验证错误模式并对潜在攻击渠道进行提示。这种检测方法能够提高安全检测自动化程度,是计算机软件安全检测技术中的重要组成部分。
5.安全属性式的检测方法
该软件安全检测方法需首先确定软件的安全编程规则,将确定的规则编码作为安全属性来验证系统程序的代码是否对这些规则进行了遵守。其优点是,能够有效分析安全漏洞的交互性及扩展性。
五、结束语
计算机软件安全检测是信息安全体系中必不可少的组成部分。在信息化高速发展的今天,计算机的各类软件以及计算机网络的应用已经渗透到各行各业中,成为人们工作和生活最重要的组成之一,而软件安全检测确保了计算机软件应用的良性发展,因此我们必须在今后的工作学习中进一步加强对计算机安全检测方法的研究。
参考文献:
[1]王清.软件漏洞分析技术[M].北京:电子工业出版社,2011,6
[2]艾伦.软件安全工程[M].北京:机械工业出版社,2009,4
[3]李龙.软件测试实用技术与常用模板[M].北京:机械工业出版社,2010,10