信息安全毕业论文

计算软件的安全检测方法

时间:2021-02-14 16:17:29 信息安全毕业论文 我要投稿

计算软件的安全检测方法

  计算软件的安全检测方法【1】

  摘要:随着科学技术水平的不断提高,计算机软件在生产生活中的应用也越来越广泛,已经深入到国民经济的各个领域,但随之而来的软件安全问题也正在得到大家的注意。

  众所周知,一旦软件出现重大安全问题,将直接导致计算机文件的丢失,有的甚至造成系统瘫痪等更为严重的后果。

  本文主要以计算机软件的安全检测为研究对象,对计算机软件安全的检测方法进行了相关论述。

  关键词:计算机检测方法;软件安全;计算机安全

  计算机软件安全检测主要是为了避免由于软件应用问题所产生的潜在的安全风险。

  近年来针对计算机的软件安全检测,越来越受到社会各界的重视,关于计算机软件安全的检测方法,也在不断的讨论与研究中被大家认识。

  本文主要针对计算机软件的安全检测方法进行了相关论述,以期更好的预防计算机软件安全问题。

  一、计算机软件安全测试的重要性分析

  计算机软件的安全检测是在计算机软件开发过程中的十分重要的环节,计算机软件检测的主要目标是为了发现软件中可能存在的一些故障问题,从而可以有效的预防计算机存在的潜在风险。

  计算机的安全测试是保障计算机程序安全的有效手段。

  从目前计算机安全测试的方法来看,一般是分为静态测试和动态测试。

  就计算机软件安全测试来讲,计算机软件安全检测是为了检测计算机是否能够安全运行计算机软件预定所预设的程序。

  软件测试的过程一般包括功能测试和渗透测试以及验证过程这三个主要程序。

  计算机软件安全测试的安全性和一般意义上所说的软件缺陷存在着很大区别,软件安全检测所侧重的是软件应该做什么,而不是可以做什么。

  在进行计算机软件安全检测时,一般分为计算机安全检测和计算机安全漏洞检测。

  计算机安全功能的测试是检测计算机的软件安全功能和安全功能之间的步调是否一致。

  软件的安全功能测试所涉及的内容非常的广泛,具体包括了机密性和授权,同时还包括访问控制及安全管理等等。

  相比之下计算机软件的安全漏洞就非常不同,主要是针对软件中可能存在的一些缺陷进行测试,如果不进行相关测试。

  则该缺陷很有可能会导致软件日常的应用中出现故障,所以,进行计算机安全测试是十分有必要的。

  二、计算机软件安全检测的注意事项

  计算机的软件安全测试是一个动态的测试过程,在实际操作过程中需要注意以下事项。

  首先要针对所检测的计算机软件进行深入的了解,了解计算性软件的相关特性。

  经过综合分析后,进行选择想对应的检测技术手段,本着从实际出发的角度制定出安全合理的检测方案,方案必须经济合理且保证检测的效果。

  在人员配置方面,要注意检测人员专业的多源化。

  在进行计算机的软件安全检测的时候,不仅仅是要配备相应的软件安全分析人员,同时还需要与软件设计相关的总体设计人员,只有多方面全力配合,才能分析解决软件测试中的多种疑难问题。

  其次在进行计算软件安全的相关检测时,对系统级以及需求级和代码级的分析是必须进行的。

  当软件规模较大的时候,还要对软件的结构设计方面进行必要的分析。

  在进行分析的过程中要选择实际工作中较为合理的分析方法,一般采用仿真环境和相应的分析工具来进行相关的检测工作。

  计算机检测是一个系统的过程,单一的方法有时候往往难以独立完成,需要多方面技术人才的通力配合才能准确无误的完成检测。

  三、计算机软件安全检测方法论述

  (一)计算机软件测试的步骤

  对于计算机软件的程序来讲,规模较大的软件系统一般是由是由一些子系统共同组成的,而不同的一些子系统又由若干个小的模块构成。

  计算机软件测试一般的步骤是,先进行一定的单元测试,就是通常所说的模块测试,模块测试一般是依据软件设计中的最小单位所进行的测试。

  模块测试的目标是为了发现系统模块可能存在的一些缺陷。

  在模块测试之后,将所有的模块按照一定的程序进行设计并组装成系统。

  并且需要对相关的体系进行一定的安全测试。

  在此基础之上,进一步进行有效性的测试,有效性测试是十分必要的步骤。

  有效性测试的主要目的是对软件的性能和功能进行检查,检测是否与用户的需求相吻合。

  最后的步骤是进行系统测试,就是通过有效性的软件将计算机支持软件、数据已经硬件等结合起来进行测试。

  (二)计算机软件安全检测的方法论述

  1.形式化与模型的安全测试。

  对于安全检测方法来讲,首先是要确立软件的数学模型,运用形式规格说明语言的支持来进行形式化的规格说明。

  一般经常用到的形式规格和语言包括了基于模型语言、以及基于有限状态的语言和基于行为的语言。

  基于模型的安全的功能测试方法该方法,是对计算机的软件行为和结构,通过建模的方式生成测试的模型。

  然后以测试模型作为基础进而生成检测,从而驱动软件的计算机安全检测。

  一般较为常用的模型安全功能测试的方法主要有马尔可夫链。

  2.语法测试与故障注入的安全测试。

  语法测试是对被检测的软件的功能接口的语法生成的软件测试输入的方法。

  这种方法可以测试软件对于不同类型输入的反应情况。

  语法测试进行测试的程序是对软件接口的语言的识别以及定义语言的语法。

  故障注入的安全性测试是利用故障分析树和故障树的最小割集来进行检测。

  故障分析树分析法使用系统最不应该出现的时间作为顶事件,以此来寻找故障可能发生的中间事件和底事件,故障注入法可以提高检测的自动化程度,是比较充分的计算机安全检测方法。

  3.模糊测试与基于属性的测试。

  模糊测试,目前使用较多的是基于白盒的模糊测试方法,这种方法是对传统意义上的模糊测试方法的一种进步。

  这种检测方法比较有效的结合了传统的模糊测试与动态的测试方法。

  而基于属性的测试的测试方法是先确定软件的安全编程规则,然后将确定的规则编码做为安全属性来验证系统是不是遵守这些程序。

  这种检测方法的主要优势在于能够比较有效的分析安全漏洞的扩展性和交互性等。

  四、结束语

  计算机软件的安全测试对于计算机的正常使用有着非常重要的意义,本文主要介绍了计算机软件测试的几种比较常见的方法,通过分析计算机软件测试的重要意义,引起对计算机软件安全的重视,探究出更科学合理的计算机软件测试方法,以保证计算机软件的安全。

  参考文献:

  [1]王维静,王树明,陈震,申春,彭秀增. 软件安全的多指标综合评测[J].计算机工程与应用,2006,(11)

  [2]William B Bierce,Michael Harold. New Us patent gwildelines offer hope to software developers in era of diminishing copyright protection .Tolley‘s computer law And Practise,1995,Vol.11,Vol.11 (No.4)

  [3]Shahid Alikhan,Raghunath Mashelkar.Intellectual Property and Competitive Strategies in the 21st Century .Kluwer Law International,2004

  [4]Bernard A. Galler. Software and Intellectual Property Protection: Copyright and Patent Issues for Computer and Legal Professionals .Quorum Books,1995

  计算机软件安全检测方法【2】

  摘要:随着现代科学技术的不断发展,越来越多的领域需要利用计算机软件,为了发现计算机软件中的故障,才有了软件安全检测,并且对计算机软件中的风险进行有效的避免与更正。

  在如今病毒与黑客横行的时代,维护计算机的安全更是成为一项重要的任务。

  软件的应用越来越广泛,规模和复杂度不断提高,软件中的安全缺陷与漏洞也在不断增多,随着使用范围的扩大,软件的安全性问题也越来越多。

  软件的安全测试保证了计算机和软件的安全性,降低了计算机的风险。

  关键词:检测;安全;软件

  随着计算机技术的迅速发展,计算机软件的安全隐患问题也渐渐增多,所以软件的安全检测也越来越重要,而软件的安全检测研究技术也需要进一步加强。

  本文重点阐述了关于计算机软件检测的一些方法和工具。

  1 什么叫计算机的安全检测

  这里所说的安全检测,是指用科学和技术的手段来发现软件中出现的各种故障、问题和风险,并且进行修正、诊断,以确保计算机和软件的安全。

  具体的检测过程中,要选择正确而安全的检测方法。

  2 软件的检测应注意以下几点

  (1)从软件的特点和要求出发,选择软件适合软件的检测方法,并且尽量使检测人员多样化,并从多个角度制定合理安全的检测方法,只有多个领域同时配合,才能对软件进行更好的检测。

  (2)选择合理的安全检测方法,计算机软件的安全检测仅仅是查找程序错误的手段,所以如果此类软件比较大,就应该对这种软件的内部进行分析和研究,而且要根据实际选择不同的分析方法,这样才合理。

  3 安全检测软件的意义是什么

  计算机软件安全检测的目的是为了发现软件所存在的故障,并且对故障进行修正和诊断,以此来避免和降低计算机的危险性。

  2003年发生了蠕虫病时间以及后来的熊猫烧香病毒,都给用户带来了风险性。

  只有做好软件安全工作,防治漏洞被利用,才能保证用户信息的安全性,为用户的计算机安全保驾护航,才是软件检测的最终目的。

  4 检测计算机软件的几种方法

  4.1 静态检测

  静态检测是指是不实际的运行被测试的计算机软件,而是静态的检测和分析计算机的程序和代码,检测计算机软件中潜在的安全问题,从而对软件的风险性进行修正和诊断。

  静态检测包含了代码质量和代码检查等几项,它可以用软件进行检测,也可以由人工进行检测。

  很多时候静态检测仅仅只是作为特性分析的方法,所以,静态检测又被称之为“分析”,总而言之,静态检测就是对被检测的软件或程序进行分析的一种方法的总称。

  静态检测的任务包括了以下几项:(1)检查模块接口的正确性;(2)检查输入参数是否有合法性检查;(3)检查算法的逻辑正确性;(4)检查是否设置了适当的'错误处理;(5)检查程序的风格的一致性和规范性;(6)检查代码是否可以优化;(7)检查代码注释是否是完整的。

  4.2 动态检测

  动态检测又分为三种,这三种分别是灰盒测试、白盒测试、以及黑盒测试。

  白盒测试又被称为透明盒测试,它基于代码,有一定的逻辑性。

  白盒测试的目的是通过分析软件内部的逻辑和原理,并且对内部的结构进行覆盖性的检测,检查点随程序的不同而不同,检查程序是为了确定内部的结构与逻辑是不是与预测的一样。

  它的检测过程共有几项,(1)检查设计阶段;(2)检测计划阶段;(3)检测执行阶段;(4)检测的结尾,里面主要有错误推测和因果图,还有分析边界的值,等等。

  黑盒测试,黑盒测试又被称为是数据驱动测试和功能测试,它根据规格说明书设计测试用例,黑盒测试不程序内部构造,并且是一种从用户功能出发的测试。

  黑盒测试包括几个过程,(1)测试计划阶段;(2)测试设计阶段;(3)测试执行阶段;(4)测试的结果。

  黑盒测试的几种主要方法包括等价类划分,边界值分析,错误推测和因果图。

  黑盒测试和白盒测试的对比,虽然黑盒测试的效率比白盒测试要高,黑盒测试由于不涉及程序内部,所以只能观察到软件的表面现象,而白盒测试则相反,白盒测试能发现程序内部的问题和风险,比如误差累计等方面。

  两种测试相比较,黑盒测试的性能与白盒测试相比有较大差异。

  4.3 形式化的软件检测法