计算机软件安全(精选12篇)
计算机软件安全 篇1
1 计算机软件安全性的概述
1.1 探讨计算机软件安全性检测的意义
随着现代社会的飞速发展, 计算机软件的安全性的要求越来越迫切, 各种软件的应用完全成为人们工作、学习、生活中的点点滴滴, 正因为人们的大范围大批量的使用软件, 软件的安全性问题便显露出来, 做好软件安全性方面的检测, 对计算机软件开发领域是必不可少的工作, 对计算机软件的安全性检测的探讨也就存在了重要的意义。
1.2 计算机软件安全性检测的简单介绍
计算机软件安全性检测的工作时开发软件的关键所在, 只有经过了检测才能保证软件的安全问世, 能够检测出软件的问题所在, 并能够及时的进行解决, 对其进行适当的处理。
1.3 计算机软件安全性检测的特点和分类
计算机软件的安全性检测的是检测该软件是否能够实现设计软件之前的预期的效果。主要包括安全功能测试、渗透测试和验证测试。安全性的测试也是有着其与众不同的特殊性的, 因为软件的安全测试存在这样一个特点, 如果是软件自身的缺陷可能只会影响一小部分使用该软件的用户的使用, 但是如果是软件的安全性存在了问题, 那么这对使用软甲的用户的影响是十分大的, 并且会影响很大一部分的用户。它强调的是软件不被授权的用户, 不能访问的数据, 而不是需求不定的。计算机软件的安全性检测主要可以分为两大类:一类是安全功能的检测, 另一类是安全漏洞的检测。前一种是要求有安全性功能的说明, 是否与需求一致, 另一类则是从黑客、病毒等攻击性的角度来说的, 主要以发现软件的漏洞为主, 并进行修补。
2 计算机软件安全性检测的工具
安全性检测工具根据检测对象分类课分为主机安全检测工具、应用安全监测工具网络安全检测工具, 但是由于这类的方法分类不够细化, 且分类可以有不同种的分法, 本文主要按照不同的检测功能进行分类, 可分为源代码分析器、字节码扫描器、二进制代码扫描器、数据库脆弱性扫描器、网络漏洞扫描器、Web应用漏洞扫描器、Web服务扫描器、动态分析工具、配置分析工具、需求验证工具、设计模型验证工具。这些就是在计算机软件安全检测中所用到的工具。
3 计算机软件安全性检测的方法
计算机软件安全性检测主要分为静态检测和动态检测。
(1) 静态检测方法。是指不执行代码的情况下对所开发的软件进行检测的过程, 就是利用分析技术对所输入代码进行分析, 向用户提交分析结果, 通过报告显示出所存在的问题, 并对结果检查, 进行处理。这种方法通常能够对软件的根本性问题提早发现并解决。通常静态的检测方法检测出来都是误报和漏报的现象。
(2) 形式化的安全检测。形式化的安全检测, 是确立要检测软件的数学模型, 通过形式规则来说明该软件所提供的形式化的语言规格。比较常用的检测语言有基于模型的语言和基于有限状态的语言, 以及基于行为的语言。
(3) 模型方面的检测。主要是通过对索要检测的软件的结构和其行为进行建模, 生承诺建模的测试方案, 再生成测试的用例进行安全性的检测。现在主要应用的软件测试模型为UML模型。
(4) 模糊的检测手段。传统的模糊检测就是根据黑盒测试的随机测试方法, 通过将随机的变异正常的程序输入来进行检测, 以发现软件程序中所存在的安全方面的漏洞。现在, 基于白盒测试的模糊检测手段逐渐被应用到实际的软件检测方法中, 利用白盒测试的模糊检测手段结合了动态的测试用例, 要先输入正常的输入运行待测的程序, 在执行检测的过程中, 再加入不同的约束, 检测软件程序的运行。
(5) 语法检测方法。通过对要检测的软件的功能接口的语法生成的测试来进行的语法测试, 通过这种语法输入的方式, 可以检测出所开发的软件当输入不同的输入形式的时候的反映状态。这种方法一般是对软甲接口的语言进行识别和定义的。
(6) 故障注入的安全性检测方法。利用分析树和故障树的最小割集进行检测的。简单点讲就是通过故障树分析法用系统不该出现的作为顶事项, 再寻找可能导致事项发生的中间事项, 底事项, 并其连接, 形成故障树。这种检测软件的方法可以提高检测的效率, 是比较全面的检测方法。
(7) 属性的检测方法。该方法就是在确定了软件的安全编程的规则的前提下, 将所确定好饿规则作为安全属性进行检测, 验证系统软件程序的代码是否合理有效。这种检测的方法可以有效的分析安全漏洞可扩展及交互性。
当然, 除了这些方法外, 软件的安全性检测方法还多许多, 也都有其自身的优势, 想要做好软件安全性方面的检测就一定熟练的掌握这些检测方法。
4 计算机软件安全性检测注意事项
在进行软件安全性检测的时候, 有几点需要注意的方面需要了解一下:第一, 在对所开发的软件进行检测的时候要对检测的软件有相应的了解, 选择合适的安全性检测手段。第二, 在对计算机软件安全性检测的同时, 对系统、需求、代码以及软件结构设计的分析是必不可少的。需要的情况下要进行仿真环境并利用分析工具进行帮助分析检测。
5 结束语
通过对计算机软件安全性检测的探讨, 认识到软件的安全性在软件的安全体系中具有重要的分量, 安全性的检测是检测其安全性的重要依据。本文通过对计算机软件的安全性检测的特点、工具、分类、方法及注意问题进行了详细的探讨, 对计算机软件的安全性检测的分类有了统筹的分析概括, 了解了再安全检测方面这些检测方法各自的优势, 知道了软件安全性的检测要从多个方面入手, 全方位的的检测才能得到一个安全性过关的计算机软件。同时也明确了计算机软件的重要性, 在计算机软件开发方面会加倍重视这部分。
参考文献
[1]郭瑞杰, 宫云战, 杨朝红.软件安全性测试技术研究[A].第三届全国软件测试会议与移动计算、栅格、智能化高级论坛论文集[C].2009.
[2]刘述景.基于Web应用系统的软件测试[J].浙江纺织服装职业技术学院学报, 2007 (03) .
[3]王宁.信息系统安全性评估的研究和评估系统的设计[J].科技导报, 2005 (06) .
计算机软件安全 篇2
软件安全检测,顾名思义,指的是用科学的手段和技术来发觉软件开发中出现的各种故障,以及开发风险,对风险和故障进行诊断、更正和修改。
计算机软件安全检测工作是软件开发和使用中必不可少的工作。
工作者要用其确保计算机软件的安全性和有效性、已达到预期的效果。
二、计算机软件安全检测简介
计算机软件的安全检测是计算机软件开发中的一个极为重要的部分,缺少了它,计算机软件开发是不完整的。
通过对计算机软件的检测,我们熟知其安全性,可以发现软件中存在的缺陷和漏洞,并加以弥补,从而使软件得到优化和完善。
但计算机软件安全检测手段却不能作为防止软件错误发生的主要办法,因为计算机安全检测的职责只是找出程序中容易发生错误。
在现有技术中,软件安全检测分为两种,分别为静态检测与动态检测。
计算机软件安全检测实质就是:通过技术对软件的漏洞和缺陷进行一遍系统化的检测,以保证软件开发后功能和预期的功能相差无二。
现阶段而言,计算机软件的安全检测技术主要包括三点:分别为功能测试、渗透测试和检验过程。
和其他软件相比,计算机安全软件有自己独特的一处,安全软件的检测以避免软件工作范畴以外的事物为主,普通的软件和它相比,则以软件该做的事情为主。
用户对软件的依赖程度,需要软件的安全程度来测试,安全检测功能扮演的角色可谓是举足轻重,它发现了软件中存在的风险及隐患,有时候更能识别出某些软件的缺陷对计算机所产生的安全风险。
三、计算机软件安全检测应该注意的事项
从另一种角度上讲,计算机软件安全检测,实际上就是对计算机进行安全检测的一个非静态过程。
通常在进行计算机软件安全检测时应注意以下两个方面:
1.用科学合理的方案进行软件检测工作。
进行检测工作的人员应当具备以下几种基本素质:
(1)充分了解软件安全检测工作。
(2)熟练掌握计算机软件的特性。
只有具备这两种基本素质,才能够保证检测方案实施起来。
再者,应该对软件检测工作者提出相应的要求,应当确保在具备相关专业素质的人才进行工作时,周围配备相关软件特点及使用的技术性专员。
只有通过与计算机软件专业各种技术人员密切有效的配合,才能够保证计算机软件检测工作顺利完成,才能够使得计算机软件性能和安全性达到事先预期的效果。
计算机软件安全 篇3
关键词 计算机 软件安全 防御措施
中图分类号:TP31 文献标识码:A
1计算机软件主要存在的安全隐患
当今社会,计算机的使用已经越来越普及,它影响着人们生活的方方面面,但是在使用计算机的过程中人们会遇到一些安全隐患,这增强了人们的安全意识,如何解决计算机软件的安全问题成为当务之急。当下,计算机软件安全的问题主要体现在以下几个方面。
首先,计算机软件自身方面的问题。第一,计算机软件只有通过对软件知识的掌握和对软件技能的熟练才能创作出来,一旦创作出新的软件产品,则原创者具有知识产权,可以申请产品专利。但是,由于我国对这种看不见的知识产权的安全意识不高,再加上软件的本身的易复制性,使得我国在计算机软件产权方面的问题没能够引起特别足够的关注与重视,一些非法分子对计算机软件的非法复制,出现了很多山寨盗版软件,这对计算机软件行业的发展造成了严重的不良影响。第二,我国计算机软件本身的质量不过硬,开发商制作出来的软件,就如同出售的商品一样,肯定存在瑕疵和缺陷的地方,这是难以避免的,这些瑕疵和缺陷难免给计算机软件的正常运行带来安全方面的问题。
其次,计算机软件在运行的过程中出现的问题。这种问题主要是通过非法分子对计算机软件进行破译之后进行了非法的买卖与传播,这在很大程度上对计算机软件的安全造成了影响,尤其是一些个人或者团体将自己在软件方面的知识用在了非法跟踪软件的运行程序或者对不同格式的文件进行读取、修改等将计算机软件进行破译。因此,计算机软件的运行必须有安全的保障,尤其是防止非法分子对软件的破译和复制,以保证软件的正常运行。
最后,人为的因素以及其他因素给计算机软件造成的影响。人为的因素表现在计算机的用户在使用计算机的过程中安全意识淡薄,几乎没有安全防护的技术,这给黑客们入侵提供了可能。其他方面的因素比如计算机软件的安全的管理体制不完善不严谨、对安全防护的技术水平不高、或者没有严格按照软件的操作程序和说明进行操作,这些因素均会对计算机软件的安全造成重大的影响。
2解决计算机软件安全隐患的重要性
随着经济的快速发展,信息化和数字化时代的到来,计算机已经于人们的生活紧密地联系在了一起,而计算机软件的发展也随着科技的进步在不断地完善。计算机软件的功能越来越强,软件的类型越来越丰富,因此,计算机软件几乎能满足人们日常生活的各种需求,从而彰显出计算机在社会中的地位越来越高,同时计算机软件的安全也成为所有人们面临的一个重要问题。在一些特殊的行业中,计算机软件的安全尤为重要,比如金融业、电子商务业以及信息资源行业等,安全的网络环境与软件的正常运行是这些行业顺利运作的前提与保障。计算机软件的安全主要体现在以下两个方面:首先,软件使用用户应该注重软件自身的安全性能与使用价值;其次,在软件制作的过程中,开发商不仅要对软件自身的安全有严格的要求,同时还要考虑到使用着对其安全的需求、软件在运行过程中可能存在的安全问题,都要有一定的防御措施。虽然我国的计算机软件水平仍然处在发展阶段,但是我们应该在不断的发展过程中总结经验,不断取得进步,避免重复性的安全问题出现,促使我国计算机软件行业向着更高的水平发展。
3对计算机软件安全的防御策略
第一,不断完善计算机软件安全的发挥,制定严格法规。在计算机软件的安全方面,国家应该制定一系列相关的法律法规,让计算机软件的安全有法律的保护,同时国家应该加强对公民进行计算机软件安全意识的宣传教育,增强公民的法律意识规范自己的行为,对于受到侵害的公民可以通过法律途径来维护自己的正当权益。对于计算机软件市场进行整顿,建立监督和社会舆论的平台,及时对计算机软件的非法利用进行处理,为计算机软件市场建立良好的环境。
第二,在计算机软件的设计方面要高要求高标准。计算机软件的设计水平高低直接影响着计算机的安全是否存在问题。因此,在计算机软件设计的时候,应该充分考虑到其安全问题,并且及时认真地分析出现问题的原因,并制定解决相应问题的措施办法。良好的计算机软件设计应该具备以下三点:首先,对软件的安全漏洞进程监测,提高对监测程序的设计;其次,重视对用户访问这一功能的审核与设计,主要的办法是对用户认证进行加密,采取自验的手段;最后,对源代码的保密设计要进行严格的要求,对系统的源代码进行加密,以提高计算机软件系统的安全。
第三,加强对计算机软件安全意识的培养,提高用户对软件安全的保护意识与行為。用户对计算机软件安全意识的淡薄是造成安全隐患的主要根源之一。所以,用户应该学习相关的计算机软件保护技术,比如定期对计算机进行扫描检测,对重要的文档进行备份,对病毒定期查杀,对计算机中的垃圾定期清理,以此保证计算机软件的快速和安全运行。
参考文献
[1] 高加琼.论计算机软件存在的漏洞及防范策略[J].无线互联科技, 2012(03).
[2] 吴塍勤.对计算机软件安全问题的分析及其防御策略[J].电脑编程技巧与维护,2013(02).
[3] 贾旭.浅析计算机软件安全问题及其防护策略[J].中小企业管理与科技(下旬刊),2012(08).
计算机软件安全检测技术 篇4
1 计算机软件安全检测过程中需要注意的问题
计算机软件安全检测的实质, 是对计算机软件实行安全检测的动态过程, 在利用计算机软件安全检测技术进行安全检测时, 要注意做好以下两个方面的工作。
1.1 保证检测方案的合理性
在对计算机软件进行安全检测之前, 要充分了解计算机软件的要求和特性, 从测试的实际情况出发, 选择科学合理的安全检测方式, 并且编制具体的安全检测方案。而且还要提高软件检测人员的专业素质, 选择专业知识扎实、具有相关经验的软件安全分析人员进行分析检查, 还要配备了解软件具体特性的设计人员, 保证计算机软件检测的有效性。
1.2 对软件的需求进行详细分析
在进行计算机软件安全检测时, 要对软件的性能和需求进行全面分析。一般来说, 计算机软件拥有规模大、过程复杂的程序, 因此, 工作人员在利用计算机软件安全检测技术进行检测时, 要对系统级、代码级和需求级进行全面的了解和分析。针对计算机软件的不同级别, 要选择合理的分析技术, 以提高分析结果的准确性。总之, 计算机软件的安全检测是一项比较复杂的工作, 只有保证安全检测方案和检测技术的科学性, 才能提高安全检测结果的准确性。
2 计算机软件安全检测技术的应用
2.1 计算机软件安全检测流程
一般情况下, 在计算机软件的安全检测程序中, 规模较大的计算机软件系统中有多个子系统, 每个子系统中又有多个模块。计算机软件安全检测的流程是模块检测、组装检测、系统结构安全检测、软件功能和性能检测、系统检测。模块检测指的是对子系统中的最小单位的模块进行检测, 模块检测的最终目标是实现测试覆盖范围的细节化和全面化, 能够将小模块中的潜在风险检测出来。在完成对小模块的检测之后, 要进行模块的组装工作, 并且对组装的系统进行全面检测, 然后要进行系统软件性能的有效测试, 保证系统软件性能符合用户的实际需求。在完成整个测试后, 要对整个软件进行系统性测试, 切实保证软件的安全性。
2.2 形式化安全检测技术
形式化的安全检测技术是在计算机软件数学模型的基础之上形成的, 需要形式规格语言的支持, 并且提供形式化的规格说明。当前, 最为常用的形式规格语言主要有模型语言、行为语言和有效状态语言三种, 软件安全检测方法主要有基于模型的检查方式和定理证明模式。
2.3 模型安全检测技术
模型安全检测技术是利用软件行为和结构建模的手段, 建立安全检测模型, 使机器能够对模型可读。与形式化的安全检测方法相比, 模型安全检测技术并不要求软件系统和规格说明要始终保持统一, 而是从模型中产生一组测试用例, 然后通过测试用例进行软件系统的检测, 最终得出结果, 说明模型期望与待测系统的一致性。
2.4 语法检测技术
语法检测技术的主要原理是在语法的基础上, 对生成的功能接口软件进行检测。一般情况下, 语法检测技术的主要目的是研究软件的反映, 尤其是在不同的输入条件下, 软件所产生的有差异性的反映。采用语法检测技术, 能够对计算机软件接口处的语言语法进行定义, 对语言进行识别和判断, 并且在语法的基础上产生生产用例, 并且对软件进行安全检测。
2.5 故障注入式安全检测技术
与其他安全检测技术相比, 基于故障注入的安全检测能够提高安全检测自动化水平, 在计算机软件安全检测技术中占有重要地位。故障注入式安全检测指的是, 在选定故障模型的基础上, 建立故障树, 并利用软件对故障信息的反馈和人为测试的方式, 检测软件的安全性和故障容错性等信息。
2.6 模糊式检测技术
模糊式检测技术对传统检测技术和动态检测技术进行了合理融合, 是在白盒模糊检测的基础上形成的, 是对传统检测技术的进一步发展。模糊检测法的工作原理比较简单, 但是它能够将程序中重要的bug进行揭示, 对错误模式进行验证, 并且在软件发货之前, 提示被阻塞的攻击渠道。
2.7 安全属性检测技术
与其他安全检测技术相比, 安全属性式的检测技术能够对安全漏洞的交互性和扩展性进行较为全面的分析。在使用安全属性检测技术进行软件检测时, 要制定计算机软件安全编程规则, 还要利用安全属性对系统程序的相关代码进行检测。
3 结语
软件安全对计算机软件的开发使用, 以及计算机的正常运行都有着重要作用, 因此, 我们要认识到计算机软件安全检测的重要性, 分析检测过程中存在的问题, 并且选择合理的计算机软件检测技术, 提高检测结果的准确性, 保证计算机的安全运行。如今, 计算机软件安全检测技术获得了进一步发展, 我们要对检测技术进行更加深入的研究, 提高计算机软件安全检测技术水平。
摘要:随着信息技术的不断发展, 计算机软件的功能也更加全面, 计算机软件是保证计算机安全运行的关键, 如果软件出现问题, 将会对计算机的性能产生直接影响。因此, 要合理利用计算机软件安全检测技术, 对软件进行检测, 保证软件的安全性。本文主要分析了利用计算机软件安全检测技术时需要注意的问题, 并且探讨了计算机软件安全检测技术的应用方法。
关键词:计算机软件,安全检测技术,应用
参考文献
[1]贾杰.计算机软件安全检测技术研究[J].计算机光盘软件与应用, 2012 (05) .
[2]王艺潼.关于计算机软件安全检测技术的探讨[J].佳木斯教育学院学报, 2012 (10) .
[3]张开.计算机软件安全检测问题研究及检测实现方法[J].软件, 2012 (07) .
计算机软件学院软件工程简历模版 篇5
2004应届毕业生个人简历
申请人 :戴永裕
院系及专业 :计算机软件学院软件工程
个人主页 :
软件工程专业介绍
华南理工大学软件是国家教育部批准的国家示范性软件学院。软件学院依托华南理工大学计算机学院办学,计算机学院师资力量雄厚,办学条件优良,毕业生深受华南地区企、事业单位的青睐,多年来毕业生一次就业率均为100%。软件学院与美国西北理工大学合作办学,聘请国外教授,采用国外最新教材及方法教学,保证一流的教学质量。软件学院已与国家十大软件园之一的天河软件园、IBM公司、中望集团等签订教学实习协议,建立高水平的、产学研紧密结合的实践基地。华南理工大学软件学院立足华南、面向世界,目标是培养具有国际竞争力的、高层次的、新型高级专门人才。
RESUME
Dai YongYu
Grade 2000 Software Engineering Department South China University of TechnologyPhone: ***020-38672500 E-mail: wedneswallow@163.com
Specialty:
School of Software Engineering
Personal Data:
Birthday:Sep.15.1981Sex: Male
Height:170cmWeight:58kg
Permanent Region: ChaoYang GuangDong Province
Education:
9/2000~7/2004Bachelor of South China University of Technology, Guangzhou Academic Main Courses:
Mathematics:
Advanced Algebra, Discrete Mathematics, Probability, Linear Algebra
Computer Science:
C++ Program Design, Data Structure, Operating System, Database,Software Engineering, Digital Design, Computer Networks, Computer Graphics,Data-Centric.NET Programming with C#, IT Project Management,Advanced JAVA2 Platform How to Program
English Skills:
College English Test Bank 4
Fluency in written and spoken English
Computer Skills:
Acquired professional certificate of “IBM Certified AIX User” Good at Graphics Design, and Network, Database programming Having a good command of computer hardware and software Familiar with many computer software technology, such as
Computer languages: C/C++, VC/C#, JAVA, HTML/XML, Database Programming,Network Programming, etc
Operating System: DOS, windows, etc
Database: Oracle9i, SQLSever2000, Access, etc
Website Design:Dreamweaver, Flash, Fireworks, Swift 3D
Graphics Design: Photoshop, CorelDraw, Illustrator, PageMaker, etc
Program Experience:
Have written a program of„21 Points Game‟by VC language
Have owned a personal web siteused ASP.NET and DataBase
Technology
Have written a software engineering document with others
Have written some programs for the programmable machine
Have taken part in the IBM software-design match, use IBM WebSphere Portal
technology
Have so many experience about Graphics Design and Flash Design, the detail is in my
Chinese resume
Good at:
Painting, Flash Design, Degital Graphics Design, Website Design, Java ProgrammingCharacter:
计算机软件安全 篇6
关键词:计算机软件;安全漏洞;防范方法
中图分类号:TP309文献标识码:A文章编号:1007-9599 (2013) 06-0000-02
1引言
计算机发明至今,经历了迅速的发展壮大。目前计算机已深入到各行各业,已然成为当今社会不可或缺的。随着各式各样的应用软件的出现,更是使计算机焕发着第二春,但是计算机软件存在的漏洞往往会给使用者带来财产损失。计算机软件属于高科技产品,其研发费用往往是硬件设备的几倍,甚至几十倍,但是计算机软件却是易复制的产品,这就给那些利益追求者们可乘之机,给产品的产权维护造成困难,同时扰乱了国家的税收秩序,造成恶劣的社会影响;出于非人为因素,计算机软件存在一些问题和缺陷是不可避免的,这给软件的安全造成严重的威胁,一些黑客可以发现这些漏洞,并有目的得对用户进行攻击;计算机软件一经问世,必然有人对软件进行破译,窃取软件源代码或者取消加密以获取利益。计算机软件的安全漏洞是其特性,入侵者或者入侵软件针对这种特性,在未经授权的情况下进行非法访问,给系统造成损害。很多人认为安装了防火墙或杀毒软件就安全了,其实对于计算机软件漏洞的破坏并没有多大的用处,甚至带来更多问题。目前情况看来,人们很容易忽视以下五种安全漏洞:JBOSS应用服务器、LIBTIFF开源软件库、NET—SNMP、ZLIB。
Geronimo2.0这个漏洞可以使访问者通过插入恶意软件代码非法获取访问权限;JBOSS服务器3.2.4至4.0.5版本存在目录遍历漏洞;LIBTIFF开源软件库是读写标签图像文件格式的文件;NET或者SNMP中的协议文件导致NET-SNMP存在安全漏洞;ZLIB是数据压缩软件库,由于代码解释不当导致存在漏洞。
2提高软件安全性的对策
首先要提高软件的开发水平,减少软件本身存在的漏洞。开发软件的企业可以通过一些技术的革新来提高软甲的研发水平,将软件开发过程中存在的漏洞以及安全隐患降至最低。另外可以应用一些加密技术,严格制止盗版软件的滋生,通过设置访问关卡等安全措施对软件进行安全维护。加强反跟踪技术,是软件的到双重保护;建立专门的反跟踪技术小组,相关部门根据实际需要严密管理和监督软件从研发到投入使用整个过程。对一些非法的盗取软件源代码情况给予法律制裁;国家应该制定健全的法律法规,对软件开发行业给予规范,对盗版现象进行严厉打击,使其树立法律意识,在法律允许范围内进行软件的开发销售工作。
针对容易被忽视软件安全漏洞问题,需要采用一些检测手段来进行预防,动态检测法和静态检测法是其中主要的两种方法。
静态检测法,通过对应用程序的二进制代码进行分析。对软件进行完全检测的方法是不存在的,即便能检测到很多漏洞,其中可能存在很多误报现象。静态检测方法不需要运行软件,方便于检测。同时,不需要专业人员进行分析处理。静态检测方法主要包括:元编译法、变异语法、词法检测法、程序评注法、约束解算器法和类推断法。元编译法,利用编译器达到检测目,它将程序的安全性当作低级别的编译器进行拓展,然后建立模型进行检测。这类技术可以对所有需要检测的代码安全性进行检测和判断,然后编译相应的拓展。变异语法,是通过对一些不安全的操作进行限制达到目的,由于一般的软件都是通过C或C++编写,所以通过C或C++安全程序改变,达到限制例如指针算术运算、setjmp与longjmp等不安全的操作。词法检测法,对源代码中的不安全的C库和系统进行调用,易产生误报,不存在兼容性问题。程序评注法,通过注释程序的方式,不存在兼容性问题,也不会增加代码长度。通过注释的信息来进行分析查找漏洞。约束解算器法,对目标程序程序的属性进行建模分析,不用对源代码进行注释,会产生大量的误报现象,需要专职工作人员分析,耗费人力。类推断法,利用一种新型的修饰,将特殊的指针或输入增加安全性能,达到检测漏洞的目的,适合较大程序的检测,具有效率高的优点,但是存在兼容问题。
动态检测法,对不同运行环境进行分析总结提高程序保密性能,与静态不同之处在于不修改目标程序的源代码而进行漏洞的检测,达到提高软件安全性能的目的。动态检测法包括:非执行堆与数据法、非执行栈法、内存映射法、安全共享库法、沙箱法和程序解释法。非执行堆与数据法,当软件处于非正常运行时,执行禁止命令,来检测和禁止内存中存在的恶意代码,但是有局限性,不能修改函数指针和参数,并且兼容性较低。非执行栈法,不法入侵者通过往栈中注入恶意代码来破坏程序运行,用非执行栈法可以对栈执行代码进行限制,对攻击者的入侵起到一定作用。内存映射法,映射代码页,使攻击者很难通过NULL尾部字符串抵达低端内存区,与此同时,将代码页映射到随机的地址,能给攻击者制造很大困难,但是无法对新攻击进行检测和阻止。安全共享库法,运用动态链接技术,对不安全的函数进行检测和制止,阻止它的调用。该方法没有兼容性问题,但是对代码段数据和数据段溢出无法提供保护。沙箱法,限制进程资源的访问来达到预防目的,在应用程序中设定资源访问策略,策略安全与否不需该变操作系统的内核以及应用程序。该方法主要应用在系统调用的过程,全面且无兼容性问题。程序解释法,对正在运行的程序额监控进行强制检查,用程序监视器对非原始代码、绕过安全检测、无限制转移和控制等攻击进行检测。可以对动态代码进行检测,但会损失一定的兼容性和其他性能。
3小结
计算机在高速发展的今天,在各个领域都有非常重要的作用。软件研发企业非常重视相应软件的开发工作,软件的功能用途越来越多,随之而来的是安全漏洞问题。由于软件开发水准较低,使计算机容易出现很多安全隐患—计算机软件容易被跟踪而丢失源代码、容易复制假冒伪劣产品增多,这些都影响着计算机软件的发展。可以通过提高开发水平、建立反跟踪小组、依法打击假冒产品等手段来为软件提供安全的应用环境。针对容易被人们忽视的五个安全漏洞,需要加强安全检查来达到预防的目的。检查方法包括静态检测法和动态检测法,能有效的检测并防止攻击者入侵,从而保障软件安全。
参考文献:
[1]王雨晨.系统漏洞原理与常见攻击方法[J].计算机工程与应用,2001.37(3):62-63.
[2]马海涛.计算机软件安全漏洞原理及防范方法[J].科协论坛(下半月),2009(06).
[3]胡宇.浅析计算机软件安全问题及其防护策略[J].科技资讯,2011(32).
[4]郑晶.计算机软件漏洞与防范措施的研究[J].吉林农业科技学院学报,2010(02).
[作者简介]周亚峰(1982-),男,山东滕州人,研究生毕业,硕士学位,主要从事计算机及通信相关工作。
计算机软件安全检测方法分析 篇7
1 计算机软件安全检测概述
软件开发的重要环节是计算机软件安全检测, 检测的目的是为了发现软件所存在的故障而对程序进行执行的过程, 从而有效的对计算机软件潜在的风险进行更正。软件安全检测的目标是用较少的测试用例来达到最大的软件检测覆盖, 从而极好的发现软件存在的问题。计算机软件安全检测其的存在并不能证明程序中没有错误, 它仅仅是查找程序错误的手段。从目前计算机软件安全检测情况来看, 进行安全测试的方法主要分为静态与动态两大类[1]。
计算机软件安全检测是确定软件所具有的安全实现是否能够与软件预期的设计要求一致的过程, 这个过程包括功能测试、渗透测试与验证过程3个部门。计算机软件安全检测的安全性与一般的软件缺陷有一定的区别, 软件安全检测所强调的是软件不应该做什么, 而不是软件应该做什么。计算机软件安全检测通常分为安全功能与安全漏洞进行检测两个方面。安全功能测试是检测计算机软件安全功能是否与安全需要之间步调一致。软件安全功能需求做涉及的内容比较广, 具体包括机密性、授权、访问控制及安全管理等等。而计算机软件安全漏洞的检测则与此不同, 其针对的是软件可能存在的缺陷, 该缺陷有可能导致软件在应用中存在一定的风险。
2 计算机软件安全检测是应注意的问题
从计算机软件安全检测来看, 其是一个动态的检测过程。在进行软件安全检测是需要关注到的问题有如下几点。
一是要针对所检测的计算机软件所特有特点与涉及要求, 在综合分析的基础上通过选择适合软件的检测技术手段, 并从实际出发的角度制定合理的安全检测方案。同时, 在进行计算机软件安全检测时要关注检测人员的多元化, 在计算机软件安全检测过程中不仅仅要配备软件安全分析员, 还要需要配备对该软件系统熟悉同时是还是该系统的总体设计人员参加, 只有多领域的配合才能更好的对软件安全进行检测。二是在进行计算软件安全检测时, 系统级、需求级与代码级的分析是必须的。如果该软件的规模比较大, 还应对其进行软件结构设计方面的分析。在具体的分析过程中从实际工作需要选择合理的分析技术, 必要时可以进行仿真环境与分析工具来协助检测工作。从计算机安全检测的角度来看, 其过程是一个系统化的过程, 无法通过简单的方法来解决一个系统的所有安全检测问题, 因而在具体的家算计安全检测过程中, 需要选择合理的安全检测方法。
3 计算机软件安全检测方法
3.1 形式化安全测试
该安全检测方法是确立软件的数学模型, 通过形式规格说明语言的支持提供形式化的规格说明。比较常用的形式规格语言有基于模型的语言、基于有限状态的语言及基于行为的语言。有定理证明与模型检测两种形式化安全检测的方法[2]。
3.2 基于模型的安全功能测试
该方法是对计算机软件的行为与结构通过建模的方式生成测试模型, 以测试模型为基础生成检测用例, 进而驱动软件安全检测。比较常用的模型安全功能测试方法有有限状态机与马尔可夫链等等。
3.3 语法测试
该测试方法是以被检测软件的功能接口的语法生成软件的测试输入, 通过这种方式检测软件对不同种类输入的反映情况。用该方法进行测试的通常程序是对软件接口的语言进行识别, 定义语言的语法, 在以语法为基础生产测试用例同时执行安全检测。
3.4 基于故障注入的安全性测试
该安全检测方法是应用故障分析树与故障数的最小割集来生产检测用命。故障数分析法用系统最不该发生的时间作为顶事件, 在寻找导致事故发生可能的中间事件与底事件, 通过合理的逻辑门符号将顶事件、中间事件动化程度, 是比较充分的安全检测方法。
3.5 模糊测试
目前所用的是基于白盒的模糊测试, 是对传统模糊测试技术的进步。该检测方法有效的结合传统的模糊测试技术与动态测试用例。
3.6 基于属性的测试
该软件安全检测方法是首先确定软件的安全编程规则, 将确定的规则编码作为安全属性来验证系统程序的代码是否对这些规则进行了遵守[3]。该检测方法的优势是能够有效分析安全漏洞的交互性及扩展性等的。
另外, 近年来基于Web服务的分布式软件快速发展, 如何对Web服务开展安全性测试是分布式软件安全性测试面临的崭新课题。而软件安全检测方法的存在其主要作用就是检测、分析软件或软件设计中存在的这些安全问题, 从而指导软件进行安全性能改善。
通过上述分析, 计算机软件安全检测是信息安全体系中必不可少的组成部分, 软件安全检测对计算机软件应用来说是其发展与应用的必然环节。应进一步加强对计算机软件安全检测方法的分析。
参考文献
[1]杨洪路, 宫云战, 高文龄, 软件安全静态检测技术与工具[J].信息化纵横, 2009 (9) .
[2]王晓华, 软件安全测试方法研究[J].农业网络信息, 2010 (3) .
计算机软件的安全防御对策探讨 篇8
1 计算机软件的概述及分类
计算机软件是指计算机系统中的程序及其文档。程序是计算任务的处理对象和处理规则的描述, 文档是为了便于了解程序所需的阐明性资料。计算机在软件能够通过程序处理信息的数据机构, 同时在运行是能够提供要求功能的指令或者计算机程序的集合。
计算机软件一般分为系统软件与应用软件两种类型。其中系统软件主要指计算机运行所需要的各种操作系统, 它负责计算机系统内部硬件的协调与管理, 包括驱动管理、数据库管理、文件系统管理等;应用软件主要是开发出来用于完成某种特殊用途的软件, 比如办公软件、财务软件、游戏软件等。
2 影响计算机安全的主要原因
随着我国信息化程度的越来越高, 计算机软件的种类和功能都越来越多, 与此同时, 计算机软件面临的安全问题也在加剧, 主要影响计算机软件安全的有下列一些原因:
2.1 复制和倒卖计算机软件的现象普遍
计算机软件是通过程序语言的编译来完成的, 它是一种逻辑实体, 而不是常规的客观物质。计算机软件的研发是一项高技术的工作, 因为它需要较多的专业技术人员以及较大规模的研究才能做好。而由于软件本身的特殊性, 制作出来以后, 复制成本却很小, 所以一些人在利益的趋势下, 进行软件的复制及倒卖, 使得计算机软件的知识产权受到了很大的威胁。而我国的计算机产业发展起步较晚, 对于计算机方面的知识产权的保护和监管的法律法规还不健全, 所以我国成为了盗版软件的重灾区, 这给我国信息产业的健康快速发展带来了极大的阻力, 同时也影响了正常的市场经济秩序。
2.2 计算机软件的质量存在一定问题
算机软件的安全漏洞, 并且随着计算机技术的不断更新, 计算机软件中的安全漏洞会随之增多。当这些漏洞被“黑客”攻破时, 将会对软件造成破坏, 甚至会引起社会性的问题。
2.3 软件遭到跟踪
由于计算机存在着软件漏洞, 那么在用户的使用过程中, 一些人员会进行软件分析来对原有的软件信息进行跟踪, 并对其进行修改和破坏, 甚至会盗取软件的源码, 对软件进行破译。软件的跟踪分为静态跟踪和动态跟踪, 这也是软件遭到黑客攻击和软件病毒进行大规模传播的重要途径, 这些都对软件环境的安全带来了极大的影响。
3 计算机软件安全防御的对策
面对越来越多的软件犯罪, 作为计算机的使用者以及国家相关信息安全监管部门如何建立有效而全面的计算机安全体系是至关重要的。笔者根据国内外计算机安全管理的经验, 总结出以下几个方面的对策:法律手段、技术手段和组织管理等方面。只有这几种手段综合运用起来, 才能建立一个完整的计算机软件防护体系。
3.1 加强软件安全意识, 完善计算机软件安全的法规
首先, 作为计算机软件的使用者, 用户要加强自身的软件安全防范意识, 要熟知相关的软件安全知识, 做到定期对计算机软件系统的日志及备份进行更新, 定期对计算机系统进行杀毒、漏洞修复、软件升级等工作。加强对软件系统的控制, 时时关注计算机的安全情况, 一旦发现有可能出现的计算机病毒或者软件受到恶意侵入时, 要具备能够很快进行系统更新和数据恢复的能力, 总之用户要将计算机安全意识融入到平时的计算机应用中去。
然后, 国家相关的信息安全监管部门要规范和完善相关的软件安全法规, 加大对软件市场中盗版的制作及销售等不法行为的打击, 同时, 要定期开展整顿软件行业市场的行动, 净化软件市场。同时, 政府还可以建立有效的网上监督机制, 鼓励消费者举报销售盗版软件及非法入侵的行为, 一旦查实, 严惩不贷。通过利用舆论环境和网络的监督来进行管理控制, 以制止盗版现象的发生。
3.2 通过计算机相关技术手段完善软件安全
首先, 软件的设计人员要对软件程序的源代码进行加密, 防止由于源代码泄漏而造成的软件跟踪等问题, 然后计算机软件的设计开发人员要定期对系统漏洞进行扫描和检测, 并且及时通知用户进行系统更新的升级, 使得用户能够及时发现软件中的漏洞并进行修护。其次, 设计人员还要对计算机软件中的关键部分进行加密处理, 并且加强对系统管理员身份的验证和对游客访问等操作的限制, 以有效保证软件的安全性。最后, 要在计算机中安装防火墙来有效防御黑客的攻击。防火墙能够在内网及外网间形成一层保护屏, 能够监控到企图进入内部网络的数据。目前, 第三代防火墙技术是状态包检测, 它能够通过截获数据包从而检查里面的信息是否安全而做出运行访问或拒绝访问的指令, 是最先进的防火墙技术。
3.3 加强计算机软件的操作和实时监控措施
有关部门及各个计算机使用的单位应该加强网管队伍的建设, 加强软件管理人员的监控技术以及安全监控的意识, 还要专门设置监督和维护数据库完整性和安全性的岗位, 以便及时对软件进行动态监控, 从而防止软件入侵。还要在计算机中设置实时监控入侵的安全系统, 以加强计算机软件的安全监控。这种监控系统具有主动性, 比防火墙被动的防御效果更佳, 它是基于将专家系统和人工神经软件相结合的一种新型技术手段, 能够把干预处理和识别统一进行有机整合, 从而为安全监控的动态性和实时性提供了保证, 并且还能够对软件的实施活动进行有效记录, 能够对引起系统不安全的行为进行捕捉和报警。
4 结论
如今, 计算机软件已经成为人类日常工作生活的必备工具, 所以, 加强计算机安全的防护, 健全法规, 完善技术, 加强管理, 是保证软件行业的健康发展和社会可持续发展的必要手段。
参考文献
[1]洪小坚.浅谈计算机的网络安全应用及防御措施[J].计算机光盘软件及应用, 2013.
[2]杨常建, 王进周, 米荣芳.计算机安全面临常见问题及防御对策探讨[J].计算机与网络, 2012.
计算机软件安全检测技术研究 篇9
1 计算机软件安全检测定义及重要性分析
计算机软件安全对于保障计算机运行的安全十分关键, 计算机软件是否能够运用于计算机中, 也是需要对软件安全性进行评估, 只有软件安全性达到一定标准才能够满足系统兼容性并投入使用中。计算机软件安全检测是利用多种检测技术发现软件设计的漏洞, 并排除软件使用中的风险性问题, 保障计算机软件的安全运行。计算机软件不同于一般的应用软件, 一般应用软件发生问题多为影响用户的应用体验, 而无实质性的危险发生。而一旦计算机软件故障并遭受到网络攻击, 则将影响计算机的运行, 甚至系统崩溃。由此可见, 计算机软件的安全性对于保障计算机网络安全有着重要意义。利用多种计算机安全检测技术, 并根据软件类型和特点有选择性地进行安全检测, 排除可能存在的软件问题, 以进一步提高计算机和系统与软件间的兼容性、安全性。
2 计算机软件安全检测技术类型分析
2.1 静态检测技术
静态检测技术, 顾名思义是检测软件的静态故障。如软件编写代码的错误以及语法上的错误等等。由于网络攻击可能利用有缺陷的程序代码和漏洞来进行攻击, 因此利用静态检测技术, 排除软件编写中语法和程序的错误, 可以做到最大程度上的风险减免。通过测试计算机软件的使用情况, 利用“与”或“非”等逻辑输入形式, 根据输出结果来判断计算机软件编程中是否存在相应的语法问题。
2.2 形式化安全检测技术
形式化安全检测技术主要是验证软件的合理性, 根据软件设计的模型以及数理上的可行性分析, 来证明软件使用的安全性。形式化安全检测包括对软件的数学模型进行检测, 分析模型运行的可行性以及模型的逻辑性。同时也包括对软件进行定理证明, 发现软件设计上的数学错误和逻辑问题, 以避免风险性问题的出现。
2.3 基于故障注入的安全性检测技术
基于故障注入的安全检测技术是较为常用的安全检测技术, 也是较为可靠的检测技术。故障注入的检测技术, 是利用生成的故障问题来观测软件运行时的安全性, 即观测软件故障时的具体表现。故障注入即是模拟故障, 通过修改软件内存和改变软件设计逻辑等方式, 来模拟网络攻击和故障时计算机软件的通常表现。通过还原的故障状态, 能够进一步评估软件在故障时的不足之处, 以及检测软件自我修复功能的良好程度。在实际应用中, 还能够结合硬件的故障注入技术, 实现软件与硬件的同时检测, 以排除软件与硬件问题之间的相互影响。
2.4 基于属性的安全检测技术,
基于属性的安全检测技术, 首先需要确定软件的安全属性, 并根据安全属性的特点来评估软件程序编码中的可靠性。部分软件的编码表面上可以达到一定的安全性, 但根据系统与软件的安全属性, 则表现为软件在编码上存在不足, 难以维护软件的安全属性, 可见进行基于属性的安全检测是有积极意义的。
2.5 其他安全性检测技术
其他的软件安全检测技术, 比如“白盒测试”、“黑盒测试”以及建模测试等等。软件安全检测技术多以软件的语法测试或功能测试出发, 如基于“白盒测试”的安全检测技术, 则主要从软件代码出发, 发现编码中出现的语法问题。此外, 还有基于软件功能进行测试, 分析软件模型的功能性, 具有较强的实用性, 能够有效检测出软件设计中的问题, 以保障计算机软件的安全性。
3 计算机软件安全检测技术应用分析
3.1 计算机软件安全检测流程分析
计算机软件安全检测的进行, 需要根据计算机软件的大小而决定, 对于组成复杂的计算机软件往往需要分步分区进行检测。计算机软件安全检测的基本流程由模块测试、结构检测、功能测试、系统测试等多个步骤组成, 首先模块测试主要是需要对软件设计与编程的早期问题进行检测, 如程序算法、语法等方面的问题。其次是对软件结构进行检测, 软件结构是否完整, 是否能够支持相应的软件的功能。其次是功能测试, 检测软件在使用中是否可以实现特定功能, 通过故障注入等方式, 还能够检测软件故障时的功能可靠性。最后需要进行系统测试, 分析计算机软件与系统的兼容性等等, 以保障软件在计算机系统中功能的正常实现。
3.2 计算机软件安全检测的注意内容
在对计算机软件进行安全检测时, 需要把握好相关注意事项, 同时也是计算机安全检测技术应用时的重要考虑事项。计算机软件安全检测技术种类较多, 需要根据计算机软件的特点和检测目的来进行合适的选择, 同时需要按步骤进行检测, 规范化检测程序, 以保障安全检测的良好效果, 发现潜在的软件风险问题。在软件安全检测中, 需要进行系统的全面分析, 以综合考虑软件与计算机的兼容状况, 才能够准确评估软件运行的状况。
4 结束语
计算机软件安全检测技术种类繁多, 在实际运用中, 需要根据计算机网络的实际状况以及网络风险的类型而进行合适的选择。运用合理的计算机软件安全检测方法, 将能够维护计算机网络的安全与稳定, 提升计算机软件的可靠性。
参考文献
[1]贾杰.计算机软件安全检测技术研究[J].计算机光盘软件与应用, 2012, 05:204+189.
[2]王艺潼.关于计算机软件安全检测技术的探讨[J].佳木斯教育学院学报, 2012, 10:406-407.
[3]牛洁, 王滈.浅谈计算机软件安全检测技术[J].计算机光盘软件与应用, 2012, 13:102-103.
[4]王爽.计算机软件安全检测技术研究[J].信息与电脑 (理论版) , 2011, 11:52+54.
计算机软件安全检测方法探讨 篇10
随着应用的广泛, 软件的安全性也就成为软件的关键质量指标。安全测试, 在充分考虑软件安全性问题的前提下进行的测试, 普通的软件测试的主要目的是:确保软件不会去完成没有预先设计的功能, 确保软件能够完成预先设计的功能。但是, 安全测试更有针对性同时可能采用一些和普通测试不一样的测试手段, 如攻击和反攻击技术。因此, 实际上, 安全测试实际上就是一轮多角度、全方位的攻击和反攻击, 其目的就是要抢在攻击者之前尽可能多地找到软件中的漏洞.以减少软件遭到攻击的可能性。
2 计算机安全检测技术主要内容
安全测试基于软件需求说明书中关于安全性的功能需求说明, 测试的内容主要是:软件的安全功能实现是否与安全需求一致。通常情况下, 软件的安全需求包括: (1) 数据保密和完整可用; (2) 通信过程中的身份认证、授权、访问控制; (3) 通信方的不可抵赖; (4) 隐私保护、安全管理; (5) 软件运行过程中的安全漏洞;等等。
以一个Web网站为例。软件安全测试和一般的测试具有很大的区别。一般测试主要是确定软件的功能能否达到, 如果没有达到, 就进行修改, 其任务具有一定的确定性。
但是, 安全测试主要是检查软件所达到的功能是否安全可靠, 需要证明的是软件不会出现安全方面的问题, 如:数据篡改、非授权访问、遭受DOS攻击等等。
3 软件安全性测试的过程
软件的安全测试, 一般根据设计阶段的威胁模型来实施。安全问题, 应该从设计阶段就开始考虑, 设计要尽可能完善。并提出了采用威胁建模的方法来在软件设计阶段加入安全因素的考量。威胁建模过程一般如下: (1) 在项目组中成立一个小组, 该小组中的人员是项目组中对安全问题比较了解的人; (2) 站在安全角度, 分解系统的安全需求需求; (3) 确定系统可能面临的威胁, 将威胁进行分类, 可以画出威胁树; (4) 选择应付威胁或者缓和威胁的方法; (5) 确定最终解决这些威胁的技术。既然在设计阶段, 就将系统可能出现的一些安全问题写在文档里面了, 因此, 安全性测试也应该是基于这些内容。因此, 软件安全测试的过程可以分为以下几个步骤:
3.1 基于前面设计阶段制定的威胁模型, 设计测试计划
该过程一般基于威胁树, 如下图所示:测试计划就可以基于口令安全所可能遭受的各个攻击进行制定。
3.2 将安全测试的最小组件单位进行划分, 并确定组件的输入格式
实际上, 和传统的测试不同, 威胁模型中, 并不是所有的模块都会有安全问题, 因此, 我们只需将需要安全测试的某一部分程序取出来进行测试, 将安全测试的最小组件单位进行划分。
此外, 每个组件都提供了接口, 也就是输入, 在测试阶段, 测试用例需要进行输入, 这就必须将每个接口的输入类型、输入格式等都列出来, 便于测试用例的制定。这些输入如:Socket数据、无线数据、命令行、语音设备、串口、HTTP提交等等。
3.3 根据各个接口可能遇到的威胁, 或者系统的潜在漏洞, 对接口进行分级
在该步骤中, 主要是确定系统将要受到的威胁的严重性, 将比较严重的威胁进行优先的测试, 这个严重性的判断, 应该来源于威胁模型。
可以通过很多方法对接口受到的威胁性进行分级, 例如用积分制方法, 对各个接口可能受到的各种威胁进行积分, 最后累加, 优先测试那些分数排在前面的接口。
3.4 确定输入数据, 设计测试用例
每一个接口可以输入的数据都不相同, 由于安全测试不同于普通的测试, 因此还要更加精心地设计测试用例。有时候还要精心设计输入的数据结构, 如随机数、集合等的设计, 都要必须是为安全测试服务的。
在测试用例的设计过程中, 必须要了解, 安全测试实际上是对程序进行的安全攻击, 因此, 不但数据本身需要精心设计, 测试手段也要精心设计。如在对缓冲区溢出的测试中, 必须精心设计各种输入, 从不同的方面来对程序进行攻击。
3.5 攻击应用程序, 查看其效果
用设计的测试用例来攻击应用程序, 使得系统处于一种受到威胁的状态, 来得到输出。
3.6 总结测试结果, 提出解决方案
本过程中, 将预期输出和实际输出进行比较, 得出结论, 写出测试报告, 最后提交相应的人员, 进行错误解决。
4 计算机自动进行测试的几种方法
4.1 用形式化方法进行安全测试
该方法用状态迁移系统描述软件的行为, 将软件的功能用计算逻辑和逻辑演算来表达, 通过逻辑上的推理和搜索, 来发现软件中的漏洞。
4.2 基于模型的安全功能测试
在该方法中, 首先对软件的结构和功能进行建模, 生成测试模型, 然后利用测试模型导出测试用例。该方法的成功与否, 取决于建模的准确性, 对身份认证、访问控制等情况下安全测试比较适用。常用模型有:UML模型、马尔可夫链模型等等。
4.3 基于输入语法进行测试
接口的输入语法, 定义了软件接受的输入数据的类型、格式等。该类方法中, 首先提取被测接口的输入语法, 如命令行、文件、环境变量、套接字, 然后根据这些语法, 生成测试用例。此类测试方法比较适用于被测软件有较明确的接口语法的情况, 范围较窄。
4.4 采用随机方法进行测试
该方法又称为模糊测试, 将随机的不合法数据输入到程序中, 有时候能够发现一些意想不到的错误, 在安全性测试中越来越受到重视。软件测试本来是软件工程中研究比较活跃的一个分支, 针对安全测试的研究也受到较多学者的重视。
参考文献
[1]赵妍.计算机软件安全检测方法探讨[J].科技传播, 2010 (8) .
[2]朱岩.浅析计算机软件安全检测存在问题及方法[J].科技创新与应用, 2012 (6) .
计算机软件安全 篇11
【关键词】信息安全;计算机软件;开发;利用
近年来,管理信息系统被企事业单位广泛应用,在提高信息管理效率的同时,开发人员不应忽视信息安全的重要性,否则一旦发生安全事件,会给用户带来巨大损失。企业信息安全的体系架构常从三个视角展开:管理、技术、控制,三个视角相互联系,形成有机整体。本文着重从技术角度,以企业信息安全为例,探讨如何构建信息安全环境,以及其对开发和应用計算机软件的重要意义。
1.信息安全环境
信息安全环境指的是一个体系,相对复杂、全面,能够保障信息相对安全,但不能完全杜绝危害的发生。信息安全环境,主要包括操作系统安全、数据库安全、防火墙安全等。构建信息安全环境,一方面依靠开发人员的责任心,一方面也需要加强企业的安全管理机制。信息安全涵盖多门学科,本文主要从计算机科学的技术角度展开讨论。
信息网络技术广泛运用于企业的日常运营、信息管理、数据交换等领域,但部分企业并不理解和重视信息安全,常有信息泄露事故的发生。究其原因,主要有三点:不健全的管理机制、不完备的安全技术、不全面的防范意识。
社会层面上,相关法律法规尚不完善,技术监管与安全标准仍有改进空间。建立信息安全环境,更多依靠企业自身。管理者不重视信息安全,可能因为信息泄漏造成企业损失,保密意识淡薄、防范措施不足,都会危害企业信息安全。
构建企业信息系统,主要依靠计算机系统和网络系统,其技术主要有关密码、病毒、数据恢复等,对相关技术的认识不足,以及人才培养的局限,使得信息应用过程中存在缺漏。面对外部黑客的攻击行为,一些技术人员无法防范,造成信息泄漏的情况屡有发生,足见安全技术普及与完善的重要性。
要建立一个全面、有效、系统的安全保障体系,需要企业各部门的共同努力,保护企业信息安全,是全体员工的责任,无意、故意泄密,以及用企业信息资源为自我服务,都是不可取的,是有悖于道德和法律的,提高员工责任意识、防范意识,对于企业信息安全环境的建设也必不可少。
2.计算机软件的开发
计算机软件常见的安全隐患包括自身安全漏洞、易遭病毒攻击、硬件水平偏低、用户操作不当等。软件开发是计算机发展的重要组成部分,开发利用计算机软件促进计算机技术发展创新。提高计算机软件的安全性、可靠性、便捷性,离不开有效的开发利用。
2.1开发过程中存在的问题
对于开发人员而言,安全意识薄弱、设计存在漏洞、技术方法落后等情况,都会造成信息安全问题的出现。开发人员把主要精力放在满足用户功能上的需求,却常常忽略安全性的重要环节。开发人员在设计系统的过程中,未能充分考虑访问控制体系,会导致信息共享环节出现漏洞,留下信息安全隐患。
值得注意的是,在计算机产生至今的半个多世纪,软件开发的技术领域发展迅速,利用落后的技术方法,是不可能开发出适用于当代企业,安全性能足够高的计算机软件的。从单一程序开发,到结构化开发,再到面向对象;从汇编语言,到中级、高级语言;从平台有关,到平台无关。近年来,各种分布式软件开发技术出现,各种新功能、体系涌现,为计算机软件开发带来了有力保障。
笔者自己使用Java语言和MySQL数据库管理系统进行软件开发。Java语言面向对象、跨平台,继承了C++语言面向对象技术的核心,用引用取代了后者易引起错误的指针,是一种简单安全的汇编语言,现广泛应用于企业的Web应用开发。Java语言本身经过多年来的发展自身已经非常安全,程序开发者则要注意在程序设计架构上和算法上不要产生漏洞,从而导致程序的安全性下降。MySQL数据库一贯以高性能、高可性和易用性著称,它已经成为世界上最流行的开源数据库。大量的个人、WEB开发者、大型公司等都在其网站、关键系统、软件包中广泛使用MySQL数据库。MySQL管理员有责任保证数据库内容的安全性,使得这些数据记录只能被那些正确授权的用户访问,这涉及到数据库系统的服务器面临的风险(内部安全性)和连接服务器的客户端风险(外部安全性)。
2.2开发层面问题的解决办法
计算机被广泛使用的今天,信息技术为人们的工作、生活提供了便利,计算机软件帮助人们解决了许多问题。计算机软件的开发,帮助人们解决了许多计算机使用中出现的问题,使其更符合人们的现实需求。笔者总结分析了计算机软件在开发层面应注意的几点事项,供企业和开发人员参考。
2.2.1提高开发人员的素质
提高开发人员的素质,包括职业道德素质和专业技能素质。开发计算机软件,要具备多方面的知识和技能,更要在实践中不断学习、完善。学习相对新颖的技术方法,是开发出优质计算机软件的有力保障,是在竞争中立于不败的基石。同时不断提高道德素养,培养责任心,形成对开发工作严格保密的良好习惯,对开发工作而言也是不可或缺的。
2.2.2做好软件开发的维护工作
做好软件开发的维护工作,实时跟踪、检测软件使用的情况。及时修复和改进出现的问题,确保用户正常使用。软件的日常维护工作以配置管理为主,开发人员应加强维护力度,以防止产生混乱。
2.2.3深入探索开发技术
深入探索开发技术,提升软件自身竞争力。引进学习国内外先进技术,重视强化技术创新,组建自身技术开发团队,力求开发出实用性强的计算机软件,并努力缩短开发周期,推动企业长足发展。值得注意的是,在提高实用性和缩短开发周期的同时,不应忽略信息加密技术的应用。具体内容将在下一节展开论述。
3.计算机软件的应用
计算机软件在日常应用中面临威胁,有许多潜在的隐患和攻击,其隐蔽性制约了计算机技术的开发应用。计算机加密技术能对非法的入侵行为予以保护,增强信息的完整性与保密性。信息加密技术包括对存储的加密和对传输的加密,为了防止信息在存储中泄漏,以及在传输过程中泄漏与被入侵。密钥的管理应用和量子加密技术,是两种重要的信息加密技术。
3.1密钥的应用管理
密钥作为一种重要的信息加密方法,是保密和窃密的对象。一旦密钥被第三方获得,因许多密钥相似或基本相同,第三方很可能窃听同用户间的信息交流,即使密钥有一定私密性。为防止信息被非法窃取,增强信息保密性,保护个人信息安全,需避免相同密钥的使用次数过多,且应经常、及时地更换密钥。推荐用户在网络上建立一个密钥分配中心,提供安全可靠的密钥,降低密钥重复率,保障信息安全。
3.2量子加密技术
量子加密技术,能够判断计算机信息是否受到攻击。利用量子加密技术,能够实现光纤一级的密钥交换和信息加密,一旦发现想要检测和接受用户发送信息的非法入侵者,用户的量子状态就会发生变化。用户能够根据量子状态的改变来判断信息是否被攻击,及时采取有效措施,避免造成损失加重。
4.结语
数字化、信息化时代,企业的运转离不开多种多样的计算机软件。在信息安全环境下开发与应用计算机软件,是保护用户信息不受侵害,防止因发生信息泄露造成损失的重要保障。任何时候都不应忽视信息安全,即使在安全的信息环境下。只有时刻保持警惕,提高开发人员的责任意识和信息水平,提高用户在使用过程中的警惕性和防范意识,才能充分地发挥出计算机软件的作用,帮助企业更好更快地发展,以推动整个社会平稳前进。 [科]
【参考文献】
[1]冉福祥,张超.MIS开发中的信息安全对策研究[J].技术与应用,2014,(23):80-82.
计算机软件安全检测技术探析 篇12
1 计算机安全检测的程序
计算机软件安全检测是软件开发过程的重要组成部分,也是计算机软件开发过程中的关键环节。只有对计算机软件进行安全检测,才能发现相关软件在应用过程中可能出现的故障,及时的通过检测环节排除这种故障发生的可能性,能有效的降低计算机运行产生的软件安全风险。通常情况下,较大规模的软件是由多个子系统组成的,不同的子系统有多个模块构成,计算机软件安全检测就是对软件进行测试,确定软件与开发预期设计相符,并在运行中无不安全故障发生,主要包括软件功能测试、渗透测试与验证,通过检测软件与计算机系统、数据等其他元素相结合进行安全测试。首先,进行软件模块测试,检测软件设计最小单元的安全性;其次,对由模块构成的子系统进行测试,检测软件功能与性能是否与设计初衷相符;最后则是软件系统测试,测试整个系统运行状态以及运行过程的安全性。
2 计算机软件安全检测技术分析
目前计算机软件安全检测技术主要分为静态分析和动态检测两大类型。前者用程序分析技术对应用程序的源代码或二进制代码进行分析,找出其中的错误异常静态分析检测比较方便,检测过程中无需软件运行,但其无法准确反映计算机软件运行过程的真实情况和故障属性。后者是通过分析修改计算机软件变量实现的,提高程序的保密性,检测程序安全。当前常用的检测技术主要有语法检测技术、静态检测技术、动态检测技术、混合检测技术和其他安全检测技术。
2.1 语法检测技术
该种技术是最先使用的静态检测技术之一,属于一种语法测试,主要是检测计算机软件源代码中的库函数和系统调用,通过对软件接口语言的检测,定义语法,以语法为基础生产测试条例并进行安全检测。
2.2 静态检测技术
这种检测技术是检测软件程序代码的内部结构安全,主要是通过软件行为和结构建立测试模型,这种测试模型具有可读性,利用测试模型检测软件系统的测试用例,以通过检测的测试用例测试整个软件系统,达到对整个软件进行安全检测的目的,并得到系统测试行为和模型期望相一致的检测结果。这种静态检测技术分为词法分析技术、规则检测技术和类型推导技术,经常性采用的有马尔科夫锁链和有机状态机两种。
2.3 动态检测技术
利用动态检测技术进行安全检测时,不需要对软件的源码和代码做出修改,有利于软件保密性的提升,或者是保护计算机主人的私密数据。其主要是对计算机软件运行过程中的环境变量进行检测分析,比如内存、栈等其他环境变量,检测是否存在故障和运行错误,如果发现漏洞,就需要技术对漏洞进行修复,有效的完成对计算机软件的安全检测和修复工作。由于计算机在现代商务往来应用较多,对计算机安全性和保密性要求也越来越高,采用动态检测技术,可以有效的保护计算机数据安全,减少因数据泄露带来的损失,该种技术运用较为广泛。
2.4 混合安全检测技术
简单而言,就是将计算机软件动态检测和静态检测相结合,能够很好的避免静态检测和动态检测的不足和弊端,充分发挥两种检测技术的优势,更好的开展计算机软件安全检测工作。在目前的安全检测工作中,混合检测技术因其检测精度高而应用广泛,给我国计算机软件安全检测工作带来了极大的便利,也奠定了计算机软件漏洞检测的技术基础。
2.5 其他安全检测测技术
Web技术的推广和普及,出现了基于Web技术的计算机软件安全检测技术,在计算机软件安全检测工作中发挥着重要作用。这种检测技术相对于其他检测检测技术而言,具有先进性、灵活性和高效性的技术优势,运用基于web技术的计算机软件安全技术可以技术发现软件运行过程的故障和漏洞,并对其不安全故障进行修复,技能保证计算机软件的安全运行,又可以增加计算机技术的可靠性和高效性。
3 计算机软件检测的注意事项
由于计算机软件的多样化和复杂化,在软件安全检测过程中,要针对软件设计性能和特点要求选取合适的检测技术进行安全检测,在安全检测当中,综合考虑被检测软件的多种因素,具体问题具体分析,制求最佳安全检测方案;其次,在进行安全检测过程中,需要精简检测人员,配备专业的软件安全分析人员,综合调配软件设计人员,既要保证安全检测工作顺利完成,也可实现对软件功能升级;另外,对规模大、复杂程度高的计算机软件,在进行安全检测工作之前,以软件设计结构为基础分析其系统性和功能性,然后选择合理的检测技术,必要时通过分析工具和仿真环境辅助检测,保证安全检测工作的预期完成。
4 结语
随着计算机技术的不断发展,相应的计算机软件软件类型也在不断增多,对计算机软件的安全检测显得越来越重要,选取有合理效的计算机软件安全检测技术是很有必要的。计算机软件安全检测工作是保证计算机安全和网络安全的首要前提,这就要求我们不断地探索更高效、更高速率的安全检测技术,不断地提升安全检测水平,保障计算机软件的安全稳定运行,为计算机软件未来发展奠定坚实的基础。
参考文献
[1]贾杰.计算机软件安全检测技术研究[J].计算机光盘软件与应用,2012(05):204+189.
[2]刘志建.刍议计算机软件安全检测技术的应用[J].计算机光盘软件与应用,2013(02):13-15.