计算机软件安全检测技术研究
作者:佚名; 更新时间:2017-01-16
  计算机软件安全检测通常是用来对软件的安全漏洞和安全功能进行检测的一种手段,下面是搜集整理的一篇探究计算机软件安全检测的论文范文,供大家阅读参考。

  摘要:随着科学与技术的发展,计算机应用更加普及。目前,计算机已经成为人们生活和生产的必要工具。人们在使用计算机的同时对计算机性能和计算机的辅助功能的要求也逐渐提高。计算机和网络赖以生存的基础就是软件。计算机软件的安全性成为了计算机软件性能的组成部分,同时计算机软件安全检测技术又可以实现有效确保计算机软件的安全性。由此表明,计算机安全检测技术已俨然成为保护计算机软件的关键性因素,即安全检测技术可根据不同的安全指标对计算机软件进行安全测试,并有效识别出软件中存在的安全隐患。本文就计算机软件安全检测技术及其应注意的问题进行分析,以确保计算机软件的安全性。

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

  一、引言

  计算机软件安全检测是以有效发现软件开发中所存在的故障及风险,并对其进行修改、更正为目的的,因此计算机软件的安全检测技术在软件开发的整个过程中发挥着不可或缺的作用。从根本上讲,计算机软件安全检测即是花费较少的测试时间和精力获取最大限度的软件检测覆盖面,从而确保安全检测的有效性。

  二、计算机软件安全检测简介

  计算机软件的安全检测是计算机软件开发过程中的一个关键性环节,是计算机软件开发中的一个重要组成部分。通过计算机软件安全检测,我们可以发现软件在应用过程中的缺点和故障所在,可以实现对计算机软件在应用过程中产生风险的有效更正。然而,计算机软件的安全检测并不能作为避免软件程序中产生错误的主要手段,计算机安全软件安全检测只是负责找出程序在应用过程中容易产生错误的位置。通常情况下,计算机软件安全检测主要分为静态检测和动态检测两种类别。

  计算机软件安全检测通常是用来对软件的安全漏洞和安全功能进行检测的一种手段,是保证软件开发后功能与预期目标设计保持一致的有力保障。就目前情况讲,计算机软件安全检测的具体范畴主要包含三个方面,即功能测试、渗透测试和验证过程。计算机安全软件检测与其他检测软件不同,对于计算机软件安全缺陷的检测,计算机软件安全检测更注重于有效避免软件工作范畴以外的事物,而普通的检测软件则强调软件该做的事物。另外计算机软件安全功能是否能够满足用户的需求是通过安全功能检测来实现的,衡量其满足用户需求与否的主要包含授权、机密性、安全管理及访问控制等因素。而对于计算机安全漏洞的检测,其主要目的是发现软件中可能存在的缺陷,亦或是识别出某些缺陷对计算机软件存在的潜在风险。

  三、计算机软件安全检测应该注意的事项

  从某种角度上分析,计算机软件安全检测,其实质即是对计算机软件进行安全检测的一个动态过程。通常在进行计算机软件安全检测时应注意以下两点事项:

  第一,选择有效且合理的软件安全检测方案。对于计算机软件的安全检测应在充分了解、掌握该计算机软件要求及特性的基础上,根据测试的具体情况选用合理的安全检测手段,并编制出与之相应的安全检测方案,以确保安全检测方案实施的有效性。此外,对软件的检测人员还应该有一定的要求。计算机进行软件安全检测时,应确保在有相关知识及经验的软件安全分析人员参与的同时,还应配备熟悉并掌握该软件特点及使用的设计人员。唯有通过计算机软件及安全检测等多领域的相关技术人员的有效配合,才能达到有效确保计算机软件性能安全性的理想效果。

  第二,计算机进行软件安全检测的过程中,应做到全面分析。一般计算机软件程序较为繁琐、规模较大,这就需要相关人员在进行计算机软件安全检测的过程中,应做到对代码级、系统级和需求级的细致分析。与上述选择软件检测方案一样,在进行软件中不同级别时也应加强对分析技术的合理选择,才能保证分析结果的准确性。如此看来,计算机软件的安全检测是一项较为复杂的系统型过程,因此选择合理的检测技术和检测方案,是计算机软件安全检测过程中不可忽视的两个注意事项。

  四、计算机软件的安全检测方法

  (一)计算机软件安全检测流程

  通常情况下,对于计算机软件的安全检测程序而言,规模较大的计算机软件系统包含了多个子系统,而不同的子系统中又包含了多个不同的模块。

  一般计算机软件安全检测的流程为:模块测试→组装系统→系统结构的安全检测→软件功能和性能的有效测试→系统测试。其中模块测试是指子系统中最小单位的模块测试,其目的是为了使测试的覆盖范围更加全面化、细节化,从而及时发现小模块中所隐藏的潜在风险;在进行各个模块测试完成后,应根据软件程序的设计要求对所有模块进行组装,将其组装成完整的系统,同时对组装后的系统结构进行相应的安全检测;之后在保证前述检验合格的基础上对系统软件进行功能和性能的有效测试,有效测试的主要目的是为了确保系统软件功能和性能与用户需求的一致性;最后在所有相关测试完成后,实施对整个软件的系统性测试。如此层层把关的软件安全检测流程可为用户软件的安全性提供有力的保障。

  (二)计算机软件安全检测的方式、方法

  1.形式化的安全检测

  此种安全检测方法是鉴于计算机软件数学模型的基础之上的,并且要求在形式规格语言的支持前提下,所提供的形式化规格说明。目前较为常用的形式规格语言有三种,其中包括行为语言、模型语言和有效状态语言。有定理证明和基于模型检查正式的安全检测方法[3]。

  2.基于模型的安全静态检测方式

  模型安全检测方式,即通过软件行为与结构建模的方法,形成一个测试模型,此模型同时满足机器对其的可读性。模型安全检测方式与上述形式化安全检测相比而言,基于模型的测试并不致力于让待测软件系统与规格说明在所有情况下都保持一致,而是系统化的从模型生成一组测试用例,使用这组测试用例测试待测软件系统,得到充分的证据说明待测系统的行为与模型期望的是一致的。常用的安全功能检测方法是有限状态机和马尔可夫链的方法的。

  3.语法检测

  这种检测方法是基于语法对生成功能接口软件进行检测。语法检测,通常情况下以研究反映为目的,即计算机软件在不同的输入条件下而产生的不同类型的反映。采用语法检测的方法,一般即指对计算机软件接口处语言的识别、语言语法的定义等,并在以语法为基础生产检测用例同时执行安全检测。

  4.基于故障注入的安全检测。

  此种方法经实践证实,具有明显提高安全检测自动化程度的独特优势,是计算机软件安全检测技术中的重要组成部分。这里讲的故障注入式安全检测,即指在选定故障模型的基础上,构建故障树,并通过人为的反复测试及对软件所反馈的故障信息,来实现检测故障容错性和安全性等有用信息.

  5.模糊式检测方法

  模糊式的检测方法有效的融合了传统检测技术与动态检测的具体应用,即是建立于白盒模糊检测的基础之上的,是传统检测方法的升华。模糊检测法虽然是一项简单的技术,单他却揭示出程序中重要的bug。它能够验证出现实世界中的错误模式并在软件发货前对潜在的应该被阻塞的攻击渠道进行提示[3]。

  6.安全属性式的检测方法

  安全属性式的检测方法相比于其他软件安全检测方法来说,能够实现有效确保安全漏洞扩展性和交互性的全面分析。实现采用安全属性式的检测方法进行测试的途径,首先应有效确定计算机软件的安全编程规则,并将其作为软件安全检测的安全属性;其次利用得到的安全属性对系统程序的相关代码进行检测,以验证系统代码与相应规则的符合性。

  除上述所讲,随着社会各领域的快速发展,基于Web服务的分布式软件得到广泛应用,因此与之相应的软件安全检测技术也应不断分析总结,并实现安全检测的技术创新。

  总而言之,计算机软件的安全检测俨然已经成为有效确保计算机信息安全性的关键性因素。鉴于软件安全对计算机软件开发及使用的重要作用,我们应在实践中不断学习并积累经验,以实现计算机软件安全检测技术的不断创新。

  参考文献:

  [1]王清.软件漏洞分析技术.北京:电子工业出版社,2011,6

  [2]艾伦.软件安全工程.北京:机械工业出版社,2009.4

  [3]李龙.软件测试实用技术与常用模板.北京:机械工业出版社,2010,10

    核心期刊快速发表
    Copyright@2000-2030 论文期刊网 Corporation All Rights Reserved.
    《中华人民共和国信息产业部》备案号:ICP备07016076号;《公安部》备案号:33010402003207
    本网站专业、正规提供职称论文发表和写作指导服务,并收录了海量免费论文和数百个经国家新闻出版总署审批过的具有国内统一CN刊号与国际标准ISSN刊号的合作期刊,供诸位正确选择和阅读参考,免费论文版权归原作者所有,谨防侵权。联系邮箱:256081@163.com