时间:2022-04-11 03:22:33
导言:作为写作爱好者,不可错过为您精心挑选的1篇软件检测论文,它们将为您的写作提供全新的视角,我们衷心期待您的阅读,并希望这些内容能为您提供灵感和参考。
【摘要】随着科学技术的日益发展,计算机技术深刻的改变了我们的生活。各种社会活动都已经离不开计算机,计算机成了我们生活的一部分。然而伴随着计算机的普及,各种计算机安全和网络安全问题凸显了出来。越来越多的针对计算机的攻击行为对计算机的使用安全和信息安全产生了巨大的威胁。计算机的软件安全检测是保护计算机安全和信息安全的一个有效手段。本文通过对计算机软件安全检测技术进行研究和分析,总结出了几种主要的计算机软件安全检测技术。
【关键词】软件安全;安全监测;计算机安全技术
1前言
计算机的软件安全检测技术是保护计算机数据的盾牌。要改善计算机软件安全检测技术,先要了解计算机软件安全监测的概念和基本情况,分析现存的计算机安全检测技术,为未来行业的发展提出指导性意见。
2计算机软件安全检测综述
计算机软件安全技术是否可靠决定了广大用户的信息安全和财产安全是否让人放心。如果计算机的安全软件存在着重大缺陷,就有可能造成重大的财产损失。开发安全软件,最重要的步骤就是软件安全检测,根据检测数据来对不同的安全缺陷进行针对性的调整,更好的解决软件安全问题。安全软件对于自身的检测是安全软件能够不断进步的试金石,检测行为能够在最小的检测样本中找出最多的安全问题,尽量避免安全问题直接进入用户的软件版本中[1]。而且,安全软件和普通软件之间还有着重要的差别。差别主要表现在三个方面。首先,安全软件和普通软件的缺陷发现方式不同。大多数的安全软件缺陷普通用户是不可能发现的,只有专门从事于网络攻击的黑客或者是专门从事于网络安全的人员才有可能发现漏洞,而对于普通软件,许多漏洞都是用户或者其他来源发现的,并非来自于测试人员。第二,安全软件与一般软件的修复速度也是不一样的,如果安全软件出现了漏洞,那么就会在第一时间进行修复,因为每晚修复一秒,都有可能有用户因为这个漏洞而导致财产损失。普通软件由于不涉及到安全问题,发现缺陷之后可以在下一个更新版本中修复。
3计算机软件安全检测的步骤
计算机软件安全检测一般需要遵循一定的步骤。软件安全检测是通过检测软件,实现计算机各部分的联系和互动,来测试整个结构的稳定性。软件安全检测有如下几个具体步骤:首先记性单元测试,对这个程序中的各种基本单位进行逐个的检查,排除基本单元可能存在的缺陷。第二步是把已经检验完毕的各单元组合在一起,来测试各单元之间的联系和沟通存不存在障碍,保证系统各部分之间沟通高效。第三步是测试整个系统的稳定性,保证每一条指令执行起来都能畅通无误[2]。
4主要的计算机软件安全检测技术
4.1词法检测技术
词法检测技术是出现时间最长、使用最广泛的静态检测技术。这种技术的原理是检测程序源代码中有危险的C语言系统调用。这个测试技术实际上是在被测软件的接口处生成一个模拟输入,来检测被测软件的运行情况。一般按照以下几个步骤来执行。首先是识别软件语言,然后再定语语言语法,最后生成用例,开始进行软件检测。
4.2形式化安全测试技术
形式化的安全测试技术要利用到软件的数学模型,利用数学模型的形式和规格来对软件的运行状态进行说明,来提供软件的运营状态信息。形式化安全检测技术要求更高的技术水平,其中包括了两种办法来进行安全监测。有模型检测,也有定理证明。
4.3基于故障注入的安全性测试技术
基于故障注入的安全测试技术采用的是通过某种极端情况来检测软件的稳定性,比如把时间调整到最不可能的时间点,让所有的事件通过表面合理的方式来进行连接,生成故障,然后再观察软件如何处理这个问题。故障注入的安全测试技术,是自动化程度比较高的技术,可以显著降低人工的工作量,让安全监测更加的充分。
4.4模型的安全功能测试技术
模型安全检测技术是通过建立一个模型的办法来测试计算机软件的应对和处理。在日程生活中,想要检验一个东西的可靠程度可以建立一个相似的环境来观察它的表现。计算机安全检测也是如此,建立一个安全模型,让软件在其中运行,驱使安全软件工作,观察它的工作状态。
4.5基于属性的测试技术
基于属性的测试技术有着两大优点。那就是互动性和延伸性。一般也要遵循固定的程序。首先要确定被测软件的安全规则,把它的安全属性带入到系统中,验证系统程序是否能够遵守设计的规则[3]。
4.6其他测试技术
除了以上这些测试技术,还有一些测试技术因为应用范围有限等因素,没有单独来说。这些技术有白盒模糊测试技术,也有分布式安全检测技术。近些年来,相关技术越来越多,越来越成熟,我们期待着能够从这些新技术中找到未来的发展方向。
5软件安全检测的注意事项
5.1具体问题具体分析
计算机软件安全检测是一个动态的过程,需要我们随时观察,随时修正。不同的计算机软件有着不一样的特点和特性,我们要针对每一种计算机软件的每一个过程来针对性的设计试验流程。让最终的实验结果能够更加准确。
5.2检测人员的多元化
计算机安全检测技术涉及到多个环节和多个行业,每个环节的专业倾向都不一样,想要做好计算机检测的工作,首先要保证检测人员的多样化。在进行软件检测的时候,不能只让软件检测员来负责,还要被测软件的相关专家来辅助。来自不同领域的检测人员互相之间协同配合才有可能把检测工作做好[4]。
5.3对安全软件详细分析在软件的安全检测过程中,要对软件进行详细的分析。区分出需求级、系统级和代码级。对于许多大型软件来说,除了以上三个级别,还有对软件的机构进行分析。安全软件检测是一项复杂的工程。需要我们时刻打起精神应对不断出现的新情况,对不同的安全软件使用不同的分析技术,必要时还可以使用各种辅助工具配合工作。
6结语
计算机软件安全检测技术是维护计算机安全的重要手段,需要我们尽可能的重视起来。本文首先对计算机软件安全的现状进行了介绍,然后对主要的计算机软件安全检测技术进行了总结。
作者:陈传顺 单位:中国移动通信集团广东有限公司
摘要为提高检验业务的全面质量管理水平,实现任务、人员、数据的传输和共享,设计开发了纤维检验业务流转的管理软件系统。本文介绍了纺织品检验管理软件的必要环节控制,为当前需要业务管理改进的单位提供参考。
关键词:纺织品;业务管理;软件开发
纺织品检测业务管理是纺织品检验日常工作中的一个重要组成部分,过去的业务管理不管是手工还是计算机处理既繁琐、效率低,又不方便数据传输、统计和整合。为了提高业务管理效率和准确性,相关单位都在着手开发相应的业务管理软件,以便实现办公自动化。但因各个单位业务性质、规模大小、业务繁简程度各不相同,采用的业务处理程序也就有所区别,难以得到推广。本文介绍了纺织品检验业务管理软件的开发思路与模块结构,各个单位可以在此基础上扩展和完善。
1纺织品检测业务管理系统概要介绍
本文研究设计的纺织品检测业务管理系统,是对整个业务系统流程进行简单化处理的系统规划,此规划是完整性业务系统中必要性步骤的设计,此系统具有很强的扩展性,是完整业务系统开发的基础开发部分,各单位可根据自身业务特点扩展功能。业务管理系统主要涵盖检测全流程中的必要环节,包括对网上任务的评审、任务单的打印、自动分样、检测结果录入、报告审核、报告自动打印、检测收费核算、检测报告寄送、工作人员考核、检测报告状态对外查询和相关查询统计功能。考虑到各检测机构内部管理不同,业务管理系统主要针对必要性公用性模块的设计,并具有很强的通用性和可扩展性,是各检测机构进行完整业务系统开发的基础开发模块,各检测机构根据各自业务需求也可以提供定制化服务。通过对业务管理系统的严密设计,使整个业务流程的数据标准规范化、过程跟踪追溯化、管理数据严谨化。将样品受理部门、分样部门、检测部门、出证审核部门、证书寄送部门、管理部门通过业务系统科学有效的管理模式和应用技术连接起来,通过建立可视化工作流程模型记录每一步工作流状态,以便于各部门更好地协作工作[1]。
1.1纺织品业务管理系统功能需求
(1)缩短业务流转时间,建立高效流畅的业务处理流程主要体现在:加快样品登记、委托任务单评审时间,快速将委托任务分发给实验室,准确快速地出具报告,快速地将电子版报告上传给客户,将纸质版报告寄给客户。(2)增加信息数据可靠性通过调用标准模板,提高报告的准确度,通过对大量数据的分析,为企业提供可靠的分析报告。(3)提高业务处理智能化降低对流水线作业人员专业知识掌握能力的要求,通过权限的设置,各个部门之间权限分明、信息共享,扩大信息查询的范围,可以按照任意关键字进行查询。
1.2系统设计思路
业务管理软件用于检验机构处理检验订单、评审委托任务单、分样、检验结果填写、出具报告、报告样品物流管理以及各类统计功能的业务管理系统。通过运用业务管理系统,可视化管理业务流程,将接样、分样、检测、出证、人员考核、报告寄送、费用核算等环节智能化管理,提高工作质量和工作效率。业务管理系统功能见图1。
1.3软件设计系统结构
系统采用B/S模式,数据库采用SQLSERVER数据库,开发环境为JAVA,中间件使用Tomcat6.0。详见图2。
1.4系统功能模块结构
检验业务管理系统主要功能由七大模块组成:A.接样管理子系统;B.任务管理子系统;C.检测指标管理子系统;D.检测报告管理子系统;E.检测费用管理子系统;F.人员考核管理子系统;G.报告寄送管理子系统。其中A、B、C、D为检测流程控制主模块,E、F、G为系统辅助模块。详见图3。
2系统主要功能
2.1接样管理
接样管理是检测过程的起始点,用于确认一个检测任务的开始,即针对一个最终形成的检验报告对应一个接样管理记录,功能包括接样添加、修改和作废,相关内容涉及:流水号、样品名称、样品货号、采样时间、委托单位、付款单位(选择)、生产单位、来样时间、检测样品数量、预付金额、要求完成时间、录入人等信息。
2.2任务管理
任务管理是用于明确检测任务的具体信息而设置的,用于分离接样时因任务过多无法一次性填写,所以分离了接样基本信息和项目的输入,也是校核任务后流转下一环节的中转站。
2.3检测指标管理
检测指标管理是用于录入检测指标项的管理,根据任务书管理中的检测项目和检测标准,确定每个检测项目的分类指标项,并输入该项目的检测结果值,最底层指标项来源于系统管理中的收费、考核管理,输入指标需选择记录检测人员,已完成系统整理的人员考核统计。检测指标管理支持选择检测模板,选择模板后相关的检测项目将与检测模板完全一致,可进行项目的添加和移除操作,从而提高录入检测指标的速度。
2.4检测报告管理
检测报告管理包括检测报告的生成和打印,检测报告的指标项在检测指标管理中已经形成,按检测报告格式进行套打,可在检测报告中选择模板,在检测模板定义中可与检测指标管理直接关联,生成打印报告时可不再选择模板,将直接套用检测报告模板生成。
2.5检测费用管理
检测费用管理是检测报告完成后的后续收费管理和已完成任务的费用查询统计,可查看检测报告中的所有项目和子项目的收费情况及总计,可查看预收费用和实收费用,根据客户或时间段进行统计整体收费情况。如检测中客户为签约客户,将从客户余额中直接扣除,并生成客户的费用日志,内容包括报告编号、客户名称、检测费用、余额和扣款日期,在客户查询报告状态中客户也可自行查看费用情况。收费处理中需输入项目为实收费用和收费完成日期。
2.6人员考核管理
人员考核管理模块是放置在系统管理的人员管理中,为了明确数据来源,此功能单独作为一个功能模块列出。人员考核的数据来源于检测指标输入,根据检测指标的考核费用指标进行计算。可按部门、人员、时间和检测项目进行统计查询,获得人员产值和检测情况。
2.7报告寄送
报告寄送是对检测报告寄送方式的企业进行管理,按已完成报告时间段批量打印快递寄送单,寄送单打印后自动将处理状态设置为已发送并记录发送时间,如需重新打印可选择任务或进入客户管理中打印单个寄送单。
2.8系统管理
系统管理是针对系统基础信息进行设置的功能,包括客户管理、标准管理、指标项管理、收费、考核管理、检测模板管理、报告模板管理、人员管理和权限管理。系统正式运行前必须对基本系统信息设置完整,客户、标准、指标等信息发生变化时,必须及时修改。
2.9客户在线查询
在外网开放报告查询和扣费日志查询,检测状态已接样和报告已完成寄出。扣费日志查询可查看检测费用的扣款情况。
3应用效果
本所开发的业务管理软件是集接样、分样、检验、出证以及会员一体化的专业纤检业务管理软件,采用多层架构分模块开发。该软件性能稳定,运行安全,操作简单,管理方便。运行一年多以来,业务工作效率明显提高。改变了以往依靠人工流转,无法记录中间拖延环节与错误而造成工作效率低下的工作模式。应用管理软件后业务流转中样品的接样、分样、检验、出证以及做账等每一道程序都记载人员、时间、工作量及工作质量;流转中前后衔接、准确、快速地处理好每道任务。业务管理软件的应用,减少了检验业务中的等待、重复、不必要的协调等活动,简化不必要的表格填写,整合原职能分工不明确的岗位。同时方便采集、传递和共享数据,向客户提供便捷的业务查询途径。
4结束语
业务管理信息化是时展的需求,随着电子技术的发展、检验规模的壮大以及业务需求量不断扩大,业务管理软件需要不断改进、不断完善、与时俱进,更高效地发展检测服务管理。
作者:陆素梅
[摘要]随着科学技术的不断发展与创新,计算机已经成为人们日常生活工作中的必要工具,但同时随着计算机的应用不断深入,人们对计算机使用性能和安全程度有了更高的要求。计算机的功能由硬件和软件共同支撑,其中计算机软件是计算机赖以工作的基础,针对计算机软件的安全检测技术又是确保计算机安全工作的重要内容。计算机软件安全检测技术是针对计算机软件不同的安全指标进行安全检测,该技术的科学应用可以准确高效地识别出计算机软件中存在的安全漏洞。在本文中对计算机软件安全检测技术中存在的问题和解决方案进行简单分析,以帮助相关技术人员在实际应用中进行参考。
[关键词]计算机软件;安全漏洞;检测技术
0引言
对计算机软件安全性能进行考评是在计算机的软件开发和使用过程中极为重要的步骤,该步骤的顺利实施可以帮助相关技术人员找到软件运行中存在的故障和安全隐患,并可以根据检测结果及时进行修补,以保证软件的正确使用和推广。现行的计算机检测技术在应用过程中仍无法完全避免漏洞和错误的发生,因此在实际的应用中需要相关技术人员采取科学高效的安全检测手法对计算机软件进行评定。
1计算机软件安全检查流程及注意问题
1.1计算机软件安全检查流程
在对计算机软件进行安全检查时,软件多为大型的应用软件,该软件内部往往包含着由多人开发的冗杂子系统,因此对大型软件进行安全检查是一项庞大复杂的工程。在实际的安全检测过程中通常将大型软件的子系统分割成互不影响的模块,对这些模块进行安全检测。大型软件的检测工作通常情况下先对模块进行测试,之后将各个模块组装成系统,然后对该系统的结构进行安全检测,最后在对软件整体的功能和性能进行有效测试,以判断软件的性能指标是否与预期相符,采用这样的检测流程就可以实现对软件安全指标进行科学的考评。
1.2制定高效合理的软件安全检测方案
在对计算机软件进行安全检测之前,需要对计算机软件的功能和特性进行充分的考察,并根据具体的情况制定出科学合理的软件检测方案,以确保安全检测方案实施的高效性。在进行软件安全检测具体工作时,应邀请具有专业知识经验的人员参与,并再配备熟悉和掌握该软件特点的技术人员参与,另外还可以聘请多领域相关的专家参与工作,从多个方面对软件进行考评测试与修正,以保证计算机软件可以达到理想的应用效果。
1.3系统化全面性的分析
计算机软件安全检测是一个冗杂繁复的过程,如何选择有效且可行的检测方案是执行人员需要着重考虑的问题,在实际工作中应该对计算机软件做到系统化和全面性的分析。大型计算机软件的程序通常具有较大规模,在进行软件安全检测时就要求技术人员对软件进行代码级、系统级和需要级的细致检测,另外进行计算机软件安全检测时对同级别检测也需要进行合理的技术分析。
2计算机软件安全漏洞检测方式
2.1形式化安全检测方式
通常情况下若是可以搭建准确的计算机软件数学模型就可以采取形式化的安全检测方法,在实际的应用过程中往往采取形式规格语言进行使用,在检测的过程中常常使用行为语言、模型语言或是有效状态语言等规格语言。
2.2静态模型检测方式
静态模型检测方式是在使用的过程中需要对软件的具体行为和结构框架进行模型建立,在进行检测时实际就是对该测试模型进行检测,通常情况下使用的设备对该模型具有可读性,并可以具体运行,其中应用最为广泛的包括有限状态机和马尔可夫链两种方法。静态模型的检测方法通常情况下采用系统化的建模检测方法,因此与形式化安全检测方法相比更加合理,不需要软件所有的工况都保持不变,而是通过对模型建模得出一系列的测试模型,当该模型经测试后与软件的期望值相同时证明该软件不存在漏洞。
2.3语法检测方式
语法检测方式是又一种较为常用的计算机软件检测方法,该种检测方法通常情况下是基于语法特点在软件的生成功能接口处进行检测,对该接口处的语言和语法进行检测,并在一定的条件下生成检测用的范例,通过改变计算机软件的上级输入条件,并在下级处检测不同输入条件下的输出结果,并根据不同的检测结果对软件的安全性能进行检测。2.4导入故障检测方式导入故障的检测方法是一种融合了传统故障检测技术和动态检测技术的科学软件安全检测方法,该种方法建立在白盒模糊检测基础上并在操作中不需要冗杂的操作规范,但是在查找软件漏洞方面却有很大成效。通常情况下需要考评常见的故障和漏洞类型,并建立系统的故障漏洞树,之后通过对软件的人为测试以对软件的漏洞和故障进行检测,该种检测方法可以极大地提高安全检测技术的自动化程度,因此在未来的计算机安全检测中会得到更广泛的应用。
2.5安全属性检测方法
在进行计算机软件开发过程中编程人员采取不规范的编程规则就容易导致软件产生安全漏洞和故障,因此在软件开发之前由相关部门制定科学的安全编程规则是保证软件安全性的重要手段。在软件开发过程中严格按照安全编程规范,之后按照确定的规则对软件程序代码进行检查,这种方法可以对软件漏洞的交互性和延展性得到及时分析。
3结语
在信息化高速发展的今天,各行各业对于计算机的应用已经达到无可替代的地步,而对于大多数的公司来说数据安全是管理者需要着重考量的问题,在信息安全体系中计算机软件安全检测是必不可少的部分,因此日常工作中对计算机软件进行科学高效的安全检测,是促进计算机软件良性发展的重要内容,相关的技术开发人员需要在今后的工作学习中不断探索出更为有效的计算机软件安全检测方法,真正保障软件使用者的安全应用,维护软件使用者的自身利益,促进市场的平稳健康发展。
作者:鲁艳丽 单位:长春市企业退休人员档案管理中心
摘要:对软件程序进行重新设计和编写,是预防安全漏洞、确保软件安全的主要手段。所以,计算机技术人员要不断努力,强化安全漏洞检测技术,保障计算机软件运行安全稳定。在计算机的软件系统中,安全漏洞是对信息系统造成威胁的主要原因,所以,计算机软件中安全漏洞的检测技术成了现今人们探索的重点问题。文章研究了计算机软件中安全漏洞检测技术。
关键词:计算机软件;安全漏洞;检测技术;应用
近年来,计算机技术的应用越来越普遍,计算机软件的发展非常迅速。同时,源代码的数量也随之急剧增加。一些黑客通过代码中的某些漏洞对计算机的软件及系统入侵并破坏。所以,计算机软件的安全问题已经变成了如今系统安全的关键问题之一。
1计算机软件中的漏洞
漏洞是软件、硬件、协议实施中的纰漏,也是系统安全层面的缺失处,让未获取授权认可的攻击方对系统探访、攻击、损害。漏洞的自我特质面可从几个层面表征:第一,是在编订程序的环节内有某些逻辑类失误的生成,该种失误是由编订者粗心引发,较为常见。第二,是在软件的各个数据演算、处理的环节中,也会有某些逻辑类失误的生成,在程序模块中用中等大小同较小、较大的模块比对看出,非中等程序模块失误比率较高。第三,漏洞和软件系统的环境关联度较高。同一台计算机中各异的软、硬件版本、在配置不等的前提下,每各设备共组的软件体系同系统一致但设置不等时,都会有安全层面的缺陷处。第四,软件的整体系统漏洞和时间也有关联性,也就是说在时间长度的延伸下,曾出现的漏洞会被补修、更正,但新的漏洞也同时会更加显现。所以,计算机软件内的漏洞是长久存留的难题。
1.1计算机软件安全漏洞的原发性
通常情况下所谓的计算机漏洞是指由于计算机软件自身含有某些潜在的缺陷和劣势,这些潜在的缺陷和劣势由于自身包含的特点可能引发一些风险或者说造成相对容易的攻击范围。计算机软件漏洞出现的主要原因就是由于计算机软件设计人员的操作存在失误。从上面的分析中可知,计算机软件最主要的就是由于自身存在着缺陷才导致了后天的攻击性行为。计算机软件设计人员在设计的过程中很难考虑全部的设计因素,而且现在的软件设计人员的设计水平良莠不齐,这就决定了计算机软件在投入市场的开始就存在着一定的风险,这种风险是由于计算机软件本身所存在的某些原发性错误引起的。
1.2计算机软件安全漏洞的差异性
计算机软件的应用范围很广,目前市场上存在着各式各样的软件,这些软件适用的工作区域也不一样。一般来说,计算机软件漏洞和其工作的环境之间存在着较为密切的联系,在不同的工作环境内即使相同的计算机软件也可能表现出不一样的漏洞特征。计算机软件的工作环境对于计算机软件的运行起着至关重要的作用,计算机软件主要根据写好的程序代码运行,在不同的设备上,计算机软件的代码执行过程也会存在一些差异,这些差异都决定了计算机软件漏洞的多样性和差异性的特点。
1.3计算机软件安全漏洞的延续性
计算机软件都会不断更新,计算机软件的漏洞也会不断被修复,然后随着而来又会出现一些新的计算机软件漏洞。在使用的过程中计算机软件会随着时间的推移,原先的漏洞会不断被修复,然而程序总会存在新的程序逻辑错误,这些新的逻辑性错误又会导致新的漏洞,计算机软件漏洞就不停地处于这样一个无限的循环中,除非一个计算机软件彻底被市场所淘汰。
2计算机软件中安全漏洞的检测技术
现阶段,信息技术已经成为人们生活中一个必不可少的生活要素。随着科学技术的不断进步,各种计算机软件的不断被开发出来,开发计算机软件的人也变得多起来了。目前,国外有关的专家研究发现,随着计算机软件的大量使用,计算机软件的漏洞的数量和频率都变得越来越高。目前网络黑客的数量也变得越来越庞大,黑客的性质也发现了质的变化,越来越多黑客在利益的驱动下对个人和集体用户展开了大规模的攻击。在这种大环境下,只有计算机技术人员不断提高计算机软件安全漏洞的检测技术才能应对这种挑战。计算机软件内的安全漏洞可检出的策略有2类:一类是静态模式的检测技术,另一类是动态模式的检测技术。
2.1计算机软件安全漏洞的静态模式检测技术
最开始的计算机软件安全漏洞静态检测就是静态分析,但是由于其检验的方式多停留在表面,因此,近些年开始逐渐对其进行研究与创新,静态检测也就逐渐扩充成为2种内容:静态分析及程序检验。其中,静态分析指的是对需要检测的系统程序进行源代码的扫描工作,从语义、语法等角度进行全面解析,同时直接分析待测系统程序的自身特性,利用这种方法寻找漏洞。而程序检验是指抽象系统内的程序源代码。主要借用检验方法,检测软件系统的程序是否符合计算机的需求,特别是对安全的需求,然后对程序中的安全漏洞存在与否进行判定及检验。对于计算机软件安全漏洞的静态检测来讲,其更多注重的是计算机软件系统程序的内部特性,静态检测的方法特点同检测漏洞的特点之间包含着密切的关联。计算机软件中的安全漏洞所执行的静态模式检测,最初是静态模式辨析,但监测的技术手段多侧重于表层。所以,在更深入的探究和研创后,静态模式的检测内涵得以拓展,既有静态模式辨析,也包括程序的验查。静态模式辨析就是对检查测试的系统程序扫描其源代码后,从语法层面、语义层面进行多方位的阐释,并把检测系统程序的特性予以直接化的辨析,借此探寻出漏洞所在。程序验查则是对系统程序中的源代码抽象化。凭借验查手段,检查软件内组的系统程序同计算机所需的相符度,以及能否同安全所需匹配。接着辨识和验查程序安全层面存在的漏洞。该种静态化的软件安全漏洞检测法,更倾向于软件自身系统程序的内存特质,同时和检测漏洞特质有着较高的关联性。
2.2计算机软件安全漏洞检测技术中的安全动态检测
2.2.1内存映射
在攻击群体中,往往多用字符串末尾部位“NULL”字样的序列对内存做全覆盖,进而实施损害攻击。在代码页中实施的映射技能,可让攻击方作出字符串末尾部位“NULL”字样的序列对内存做全覆盖举动时,跳转至简易内存区域中的操控难以进行。从另一侧面来说,在内存的多个地址中,随机性地映射代码页,可缩减揣度地址而发动页面损害攻击的发生比率。
2.2.2非执行栈
近年来,攻击软件的举措多发生在对栈的破坏上,这是因多数操控系统内的栈所属的能写性和执行性所引发。在内部的变量存储中,栈的载体中有核心数组的变量,攻击方借此可将恶意的代码发送至栈内,并探寻出代码执行手段。而要规避栈的侵袭、损害可执行的有效策略为,更改栈内执行代码使其不可执行。这样更改后即便攻击方将恶意的代码送至栈内,但代码不可执行很好地缩减攻击的成功率,让程序不被损坏。
2.2.3安全共享库
某些计算机运行了安全性极差的共享库就会引发软件安全漏洞。共享库的安全度高可用对攻击方的损害行为很好的防预,而安全度低的共享库则易被损害。安全化的共享库是动态化的链接模式运作,在程序运作环节将多类安全度低、没安全性的函数运用予以拦截,并进行另外的测验,进而保证计算机软件整体的安全。
2.2.4沙箱
沙箱法是对某些损害性攻击的防预,即借助某一程序的资源访问限定来实现。如某些调动函数会被编入C语言中,而某个软件自身是不会有此种调动函数的。若出现了软件运行时有类似调动函数的运行,软件已经被恶意侵入。但在恶意侵害之前,运行沙箱对其做出限定,则在入侵后不会有不良损害。
3计算机软件中安全漏洞检测技术的应用
3.1预防竞争条件的漏洞
漏洞的成因中也有因竞争条件而引发的缺陷,对其防预的策略就是将竞争成因的编码执行原子化运作。编码是最小的执行单元,在运作程序环节内不会有任意状况对其实施干扰。原子化运作就是用锁定的操作,对某一特定的状况更改而衍生的问题予以防预,这样可对应用文件名体系实施间接化的调用,可表述出应用文件或使用的句柄。
3.2预防缓冲区的漏洞
对于缓冲区内的漏洞可借助软件程序内危险值高的函数验查来实施防预,将安全度较低的软件用高安全度的新版本替换。
3.3预防随机出现的漏洞
在对随机性的漏洞实施防预时,可借助随机性高的发生设备来进行。随机发生设备有着自属密码演算,可确保随机数流的高安全度。在软件被恶性侵害,对算法每一细微处都掌控,但数据流不会形成,进而起到防预能效。
3.4预防格式化字符串的漏洞
执行严密、谨慎的防预方案,直接性地在数码中运用格式常量,让供给方找不到可创设格式串的缺陷处。个数函数在不定参数时往往会有格式化字符串的缺陷潜藏,对此类函数运行时就要让每一参数的数目有保障,均衡稳定。
3.5计算机软件安全漏洞的防范措施
计算机软件安全漏洞检测技术应用的过程中,一方面要避免缓冲区漏洞,认真检查程序中的危险函数,使用安全的计算机软件,不用盗版软件和非法软件,时刻做好缓冲区漏洞的处理和防范。一方面要避免竞争条件漏洞,在竞争代码原子化操作的过程中,借助于文件句柄和其他文字描述字,保证计算机软件的安全。另一方面要避免格式化字符串漏洞,尽可能地使用源代码中格式常量,进而避免留下格式串机会,并防止随即数漏洞,提供安全的随机数据量,并对全部算法细节进行加密。
4结语
21世纪是一个计算机技术高速发展的社会,随着经济社会的发展和经济全球化的影响,计算机技术在我国得到了大范围的发展,在我国的各个领域中目前都离不开计算机,计算机的产生为我国的现代化建设提供了不竭的动力。但是,随着信息技术的不断发展也逐渐暴露出一些潜在的问题。目前,计算机的安全性已经成为人们关注的焦点。随着开发的人越来越多,使用的人越来越多,恶意利用计算机软件获取个人信息、破坏计算机安全的人也就变得多起来了。目前,计算机安全已经成为世界各国高度关注的一个问题。有关的技术人员必须引起高度的关注才能有效解决计算机软件漏洞,给计算机系统一片绿色的天空,给人们的网络环境和信息安全提供一个新的平台。总括来说,当下的周边环境内,计算机软件安全漏洞的检测技术演化为基础通信验查、基础计算机安全检测的手段。运行的每一软件安全性更多侧重在程度的编订、漏洞的遏制层面。所以,探究计算机软件的安全类漏洞检测技术,并对该技术的运用辨析,是当下工作者需更深层考量的事务。
作者:陈国栋 单位:山东电力高等专科学校
摘要:随着科学技术的不断发展,计算机软件的种类也越来越多,满足了人们日常生活和生产过程中的不同需求,从而在一定程度上使软件的安全性能呈现出多样化发展趋势。软件在运行过程中也开始出现各种安全漏洞,对计算机和互联网的安全使用造成了很大威胁,因此,研究计算机软件安全检测技术的应用显得十分必要。
关键词:计算机软件;软件安全;安全检测
0引言
随着我国社会经济的飞速发展,在电子计算机科学技术不断完善和成熟的今天,计算机已融入到人们生产和生活的各个方面[1]。计算机的使用建立在相关计算机软件基础之上,不同的计算机软件满足人们不同的生产和生活需要,尽管为人们提供了诸多便利,但其安全性一直是困扰计算机使用的障碍,也给互联网安全造成了威胁。所以在当前的计算机软件开发过程中,对其进行安全性检测已经成为了一项核心内容,这种措施能够有效帮助相关的软件开发人员找出潜在的安全隐患,并在此基础上采取一定的应对措施,保障计算机软件在使用过程中的安全性。
1计算机软件安全检测的基本形式
计算机发展使得用户在软件使用过程中,对其安全性有着更高的要求,主要表现为:①用户安装计算机软件后,并不会对计算机本身的正常使用产生较大影响,如计算机运行速度明显变慢等;②在用户使用计算机软件的过程中许多个人信息被留下,计算机软件安全性得不到保证,与用户相关的使用信息就可能被泄露,从而影响用户的隐私保护,计算机软件声明周期中出现安全问题的原因[2]如图1所示。因此计算机软件开发人员在软件开发过程中,要利用一定的安全检测技术对计算机软件中存在的安全漏洞进行检测,并对其修复以提高计算机软件的安全性,降低使用过程中存在的风险。计算机软件安全检测是在计算机软件开发过程中,对软件的安全性能进行检测的一个过程,以找出程序中容易发生的错误。当前软件安全检测技术主要有动态和静态两种检测形式。计算机软件安全检测是指利用相关检测技术,在软件开发过程中对软件的漏洞和缺陷进行系统性的检测,从而保证软件的功能达到预期效果,计算机软件的安全检测内容主要集中在简单的计算机软件安全功能和安全漏洞检测方面:安全漏洞检测是检测计算机软件的安全缺陷及在计算机使用时产生的安全隐患,其停留在对普通计算机软件缺陷的检测方面,这类问题的解决主要是通过软件升级或版本修复;而计算机使用的安全管理、授权、访问控制和机密性等是计算机软件安全功能检测的主要内容,其主要对计算机软件安全功能起到了检测判断的作用。
2计算机软件安全检测的基本要求
首先,在计算机软件安全检测的过程中要使用科学有效的安全检测方法。鉴于计算机软件程序的复杂性,简单的检测方法会导致软件中很多潜藏的安全问题不能被排除,所以开发人员一定要在了解软件的相关特性以及检测软件的使用条件后,根据实际情况选择适合的检测方法,制定出科学合理的检测方案,同时在细节方面也要根据相关要求进行深化和细化。其次,对计算机软件的检测需要多类人员共同参与,才能尽可能多地排除软件中潜存的安全威胁,主要是因为软件漏洞存在于软件开发程序的各个环节,所以多元化的人员参与有利于实现检测方法的多样性,使排除安全隐患的几率更大。在软件安全检测过程中,除了需要具有专业软件安全检测技术的人员参与外,还需要有了解软件工作和使用特性的人员,从而实现多角度、全方位的检测,以排除更过的安全风险,满足软件使用的安全要求[3]。最后,在对软件进行安全检测的过程中,还要选择合适的安全检测方法,选择前首先要对计算机软件检测的各种方案和案例进行分析研究、归纳总结,得出一般的检测规律,并结合具体要求,选择适合的检测方法,制定合适的检测方案,将检测过程具象化。通过电脑模拟对制定的检测方案建立数据模型,而语言支持在这个过程中帮助模型实现形式化的表现。以上环节结束之后,再开始检测模拟系统,这也相当于对软件进行了运行和结构的安全测试。
3计算机软件安全检测的具体技术
3.1语法安全检测技术
这类检测技术的主要检测对象是计算机软件中的语法,最终检测结果也会因为最初输入条件的不同而产生差异,其监测流程如图2所示。语法安全检测技术通常被用于检测源程序中的安全漏洞,该检测技术可及时有效地检测出系统函数与C语言库函数的切换,并及时恰当地作出处理,从而建立以语法为基础的测试数据。同时该检测技术还能实现对计算机软件的安全检测,排除潜存的安全风险,保证计算机安全运行。
3.2动态安全检测
计算机软件运行环境的变量是动态安全检测的主要检测对象,它包括内存、栈等在内的诸多信息,主要是对漏洞等风险因素进行检测,其检测流程如图3所示。在这类检测技术应用过程中,如果计算机软件的漏洞被发现,就会自动完成相关修复工作。这种检测技术的使用,由于不需要修改计算机软件源码,所以很好地保证了计算机用户的隐私安全[4]。随着计算机在商务应用中发挥的作用越来越大,其普及率也越来越高,为了保证商业机密的安全,这种软件的检测技术更加适用于商务性,从而也保证了在商务领域的推广和应用。
3.3静态安全检测
基于程序代码内部特性和结构是静态安全检测技术的重要特征,这类检测技术的应用,需要事先构建合理的测试模型,以满足计算机读取的相关要求,在此基础上,静态安全检测技术才可以被使用,静态检测技术中一种类型推断技术的检测流程如图4所示。在利用这种安全检测技术进行检测之后,再将测试模型和待检测的数据进行对比,如果计算机软件具有良好的安全性能,它们的期望就会一致。在当前计算机安全检测技术不断发展和成熟的背景下,静态安全检测技术的种类也越来越多样化,并且越来越多的安全技术人员投入到此研究中,静态安全检测技术必将得到更为充分的发展,并且在相关计算机软件安全领域发挥重要作用。
3.4混合安全检测
混合安全检测技术实现了计算机软件动态安全检测与静态安全检测的结合,它吸收了两种检测技术的优势,同时也克服了两种单一技术中的劣势,所以在计算机软件安全检测技术中有着较为优越的检测能力,从而使这种混合安全检测技术获得了更高的检测精度,扩大了检测的应用范围,也推动了漏洞检测技术在相关的计算机软件安全检测技术中的发展。如图5所示就是混合检测技术中的Fuzzing检测技术流程。
3.5基于web技术的安全检测
这类检测技术是基于web技术的逐渐推广和广泛应用,随着Web技术的不断发展,在计算机软件安全检测中发挥着越来越重要的作用。相较于之前的计算机软件安全检查技术,基于Web技术的安全检测技术在检测性能等各方面都表现出优异的成绩,它具有更优的灵活性、高效性和先进性。在检测过程中能够对计算机软件中存在的安全风险和漏洞进行及时有效的修复,同时也保证了计算机的安全、可靠、高效运行。在我国计算机软件安全检测技术不断发展和提高的今天,这种检测技术的成熟和推广是一种必然趋势。
4结语
计算机安全检测技术的应用在计算机日益普及的今天是非常必要的,它为计算机的安全使用和良好运行提供了重要保障,并且在科技日新月异的今天,相信相关安全检测技术的发展和完善必将取得更多成果。
作者:关若飞 单位:南京中医药大学
1计算机软件安全检测定义及重要性分析
计算机软件安全对于保障计算机运行的安全十分关键,计算机软件是否能够运用于计算机中,也是需要对软件安全性进行评估,只有软件安全性达到一定标准才能够满足系统兼容性并投入使用中。计算机软件安全检测是利用多种检测技术发现软件设计的漏洞,并排除软件使用中的风险性问题,保障计算机软件的安全运行。计算机软件不同于一般的应用软件,一般应用软件发生问题多为影响用户的应用体验,而无实质性的危险发生。而一旦计算机软件故障并遭受到网络攻击,则将影响计算机的运行,甚至系统崩溃。由此可见,计算机软件的安全性对于保障计算机网络安全有着重要意义。利用多种计算机安全检测技术,并根据软件类型和特点有选择性地进行安全检测,排除可能存在的软件问题,以进一步提高计算机和系统与软件间的兼容性、安全性。
2计算机软件安全检测技术类型分析
2.1静态检测技术
静态检测技术,顾名思义是检测软件的静态故障。如软件编写代码的错误以及语法上的错误等等。由于网络攻击可能利用有缺陷的程序代码和漏洞来进行攻击,因此利用静态检测技术,排除软件编写中语法和程序的错误,可以做到最大程度上的风险减免。通过测试计算机软件的使用情况,利用“与”或“非”等逻辑输入形式,根据输出结果来判断计算机软件编程中是否存在相应的语法问题。
2.2形式化安全检测技术
形式化安全检测技术主要是验证软件的合理性,根据软件设计的模型以及数理上的可行性分析,来证明软件使用的安全性。形式化安全检测包括对软件的数学模型进行检测,分析模型运行的可行性以及模型的逻辑性。同时也包括对软件进行定理证明,发现软件设计上的数学错误和逻辑问题,以避免风险性问题的出现。
2.3基于故障注入的安全性检测技术
基于故障注入的安全检测技术是较为常用的安全检测技术,也是较为可靠的检测技术。故障注入的检测技术,是利用生成的故障问题来观测软件运行时的安全性,即观测软件故障时的具体表现。故障注入即是模拟故障,通过修改软件内存和改变软件设计逻辑等方式,来模拟网络攻击和故障时计算机软件的通常表现。通过还原的故障状态,能够进一步评估软件在故障时的不足之处,以及检测软件自我修复功能的良好程度。在实际应用中,还能够结合硬件的故障注入技术,实现软件与硬件的同时检测,以排除软件与硬件问题之间的相互影响。
2.4基于属性的安全检测技术
基于属性的安全检测技术,首先需要确定软件的安全属性,并根据安全属性的特点来评估软件程序编码中的可靠性。部分软件的编码表面上可以达到一定的安全性,但根据系统与软件的安全属性,则表现为软件在编码上存在不足,难以维护软件的安全属性,可见进行基于属性的安全检测是有积极意义的。
2.5其他安全性检测技术
其他的软件安全检测技术,比如“白盒测试”、“黑盒测试”以及建模测试等等。软件安全检测技术多以软件的语法测试或功能测试出发,如基于“白盒测试”的安全检测技术,则主要从软件代码出发,发现编码中出现的语法问题。此外,还有基于软件功能进行测试,分析软件模型的功能性,具有较强的实用性,能够有效检测出软件设计中的问题,以保障计算机软件的安全性。
3计算机软件安全检测技术应用分析
3.1计算机软件安全检测流程分析
计算机软件安全检测的进行,需要根据计算机软件的大小而决定,对于组成复杂的计算机软件往往需要分步分区进行检测。计算机软件安全检测的基本流程由模块测试、结构检测、功能测试、系统测试等多个步骤组成,首先模块测试主要是需要对软件设计与编程的早期问题进行检测,如程序算法、语法等方面的问题。其次是对软件结构进行检测,软件结构是否完整,是否能够支持相应的软件的功能。其次是功能测试,检测软件在使用中是否可以实现特定功能,通过故障注入等方式,还能够检测软件故障时的功能可靠性。最后需要进行系统测试,分析计算机软件与系统的兼容性等等,以保障软件在计算机系统中功能的正常实现。
3.2计算机软件安全检测的注意内容
在对计算机软件进行安全检测时,需要把握好相关注意事项,同时也是计算机安全检测技术应用时的重要考虑事项。计算机软件安全检测技术种类较多,需要根据计算机软件的特点和检测目的来进行合适的选择,同时需要按步骤进行检测,规范化检测程序,以保障安全检测的良好效果,发现潜在的软件风险问题。在软件安全检测中,需要进行系统的全面分析,以综合考虑软件与计算机的兼容状况,才能够准确评估软件运行的状况。
4结束语
计算机软件安全检测技术种类繁多,在实际运用中,需要根据计算机网络的实际状况以及网络风险的类型而进行合适的选择。运用合理的计算机软件安全检测方法,将能够维护计算机网络的安全与稳定,提升计算机软件的可靠性。
作者:廖肇军 单位:江西现代职业技术学院 同济大学软件学院
1漏洞产生的原因、形式及主要特点
1.1漏洞产生的主要原因及形式
漏洞在本质上可以理解为系统中存在的缺陷和弱点,其会对计算机系统造成一定的威胁,漏洞产生的主要原因是由于开发设计人员的失误造成的。通常情况下其有两种主要的表现形式,分别是功能性漏洞和安全性漏洞。功能性漏洞主要是系统软件使用过程中产生的运行错误及流程错误等,而安全性漏洞主要会对计算机软件及整个系统的运行造成较为严重的影响。
1.2漏洞的主要特点
首先,漏洞的产生主要是在程序编制过程中疏忽造成的,而数据处理与计算相比会更有可能出现逻辑性错误。其次,漏洞与具体的系统环境之间是存在着相互联系的。第三,系统漏洞与时间之间存在着紧密的关联,随着时间的推移在旧的漏洞基础上可能会产生新的漏洞问题,其具有长期性。
2静态检测技术
最初期的计算机安全静态检测在本上指的就是静态分析,但是由于其验证方法的不同所以又可以分为静态分析和程序验证两个主要形式。首先对于静态分析而言,其主要是通过系统中各程序代码的扫描,并在语法和语义等层面对其进行全面理解,随后对程序自身的特性进行直接分析,从而找出存在的漏洞问题。而程序验证主要是采用验证技术对系统程度能否存在安全漏洞进行检验,重点关注的是安全方面的要求。
2.1漏洞分类检测
在静态检测中,其关注点主要集中在系统程序内部的具体特征上,其进行检测的漏洞特征是与其技术特点有着较为紧密的联系,并且对安全漏洞的分类方法较多。对于大多数的检测技术而言,其能够有效覆盖的漏洞都具有一定的零散性,所以较难找出其在漏洞类型上的共同点。为了方便对其比较,我们可以将其分为安全漏洞和内存漏洞。安全漏洞主要是指数据流的错误和偏差状况,而内存漏洞主要是指数据的储存与类型是否正确等。
2.2静态检测技术
2.2.1静态分析
静态分析中最为常用的技术方法是词法分析,其也是应用最早的静态分析技术,其将系统程序分解为若干个小片段,随后将其与嫌疑数据库进行对比,从而发现漏洞问题并进行评估和判断。但其只停留在语法检查上,还应在安全规则基础上通过特定语法形式对其加以描述,并利于规则处理进行相应的接收处理,随后将其装换成分析器可以进行接收的相关表达内容,并对系统程序的行为进行检测和对比分析。
2.2.2程序验证
程序验证的主要方法通常有符号化法和模型检测两种,其中符号化法主要是采用将抽象模型状态转化为语法树描述公式,并对其公式的有效性进行判定。模型检测一般情况下需要将实践中可能出现的状态一一列举出来,但是由于系统软件自身的复杂性,其程序模型的规模较为庞大,因此主要是对其部分程序及属性进行抽象模型的构造,并通过内存建模来实现对时序漏洞的有效检测。
3动态检测技术分析
3.1内存映射技术
在攻击者常用的攻击当中,有一种以NULL界位字符串来进行内存覆盖,通过对于映射代码页的应用,我们可以将NULL界位的字符串跳转到低内存中的难度增大,换言之就是说将代码页随机映射到不同的内存地址上,从而在一定程度上防止对页面的攻击。
3.2安全共享库技术
安全共享库技术主要是通过采用动态链接技术,从而使程序运行过程中拦截就有不安全性因子的函数的使用,并随时对函数的参数进行检测,该种当时在Windows以及UNIX上得到了较为广的应用。
3.3非执行栈技术
当前基于栈而进行的软件攻击事故相对较多,其主要是采用想栈中写入恶性代码的方式来进行软件攻击,因此最为直接的防范方式就是拒绝栈执行代码,由此才能使得攻击者在栈中写入的恶性代码不被执行。
3.4非执行堆和数据技术
一般情况下,堆是在程序运行过程中动态分配内存的区域,而数据段是在程序编译时已经初始化,因此如果数据段与堆都不执行代码操作,那么攻击者在其中写入的代码就不会执行,如果将其与非执行占技术相结合,会使写入的恶性代码彻底丧失执行的机会。
4结语
在信息时代环境下,计算机软件安全已经成为了计算机通信安全的重要基础保障,通过静态检测技术以及动态检测技术的综合应用,必定能有效的消除计算机软件方面存在的漏洞,大大降低计算机运行风险,提升其软件安全性。
作者:章立 单位:江西旅游商贸职业学院
1鼠标电路简化及光电码盘精度提高
将机械鼠标改造成为角度传感器,只需要用到其光电码盘及光电检测模块,因此可以将鼠标的电路图简化成如图1所示的形式,包括发光二极管、光敏三级管、鼠标芯片。光电码盘每转过1周能够产生36个脉冲,再由鼠标芯片进行4倍频细分,使得光电编码器每转能够产生36×4=144个脉冲。即最小能够分辨的角度是360°÷144=2.5°,显然精度不够高,因此我们可以在光电码盘前端加上两级齿轮传动,来将分辨率放大16倍,其最小能够分辨的角度是360°÷(144×16)=0.15°≈0.2°,如图2所示。鼠标光电码盘的大小一般为20mm,考虑到尺寸的搭配,齿轮可以选用玩具车上的塑料齿轮,这种齿轮价格十分便宜。其模数一般为0.5mm,如:1、3号齿轮可以选用40齿(直径20mm),2、4号齿轮选用10齿(直径5mm)。
2软件设计
软件设计采用VisualBasic语言编程。程序包含两个部分,第一部分是将芯片初始化设置,去除自动加速功能。其具体方法是,程序向芯片发送十六进制代码E7,命令芯片关闭自动加速功能,当收到应答FA后,表明设置完成。加速功能去除后,程序执行第二部分,检测并计算码盘转角位移及速度。该部分程序中包含1个时钟控件Timer和1个计数器Counter。当光电码盘顺时针转过1个栅格时,计数器Counter加1,逆时针减1,由此可以求得角位移。将位移对时间进行微分,即可求得角速度,其具体方法是,时钟控件每秒触发1次,并记录下计数器当前值与前一秒的差值Ti。一般机械鼠标采用PS/2串口输出,对于一些不支持PS/2接口的电脑,采用一根PS/2转USB串口数据线就能将设备插入电脑。当设备插入电脑后,电脑实际上会将该设备识别为鼠标设备,因此当光电码盘旋转的过程中,鼠标指针也会做出相应运动。从而鼠标指针移动的步数可以准确地反映码盘转过的栅格数目。通过捕捉鼠标指针,可以使得计数器Counter的数值随着指针同步变化。然而当码盘总是朝着一个方向转动,鼠标指针可能超出边界而停止。对此可以在程序中加入一个判断函数,当指针超过边界时,立刻通过SetCursorPos(X0,Y0)函数将指针调回原点重新运动。程序流程图如图3所示。
3结语
本文提供了一种可快速将机械鼠标改造成为角度传感器的方法,能够实现一定精度的任意范围的角度测量.经过测试,其性能稳定。该方法最大的优点是无需开发单片机或者考虑外设与电脑的通讯协议,只需通过简单的编程或者直接运行本文所给出的程序代码,就能快速实现角位移及角速度的测量。
作者:唐灵俊 杨旸 周思柱 李宁 单位:长江大学机械工程学院
随着科技的发展,计算机在社会中的地位越来越高,于此同时源代码数量也不断增多,由于这些漏洞的存在,很多黑客就利用这些代码中的漏洞进入到计算机软件中实施破坏。因此,计算机在给人们带来方便的同时也为信息系统的安全埋下了一个定时炸弹,安全问题已经成为系统安全最主要的问题。随着计算机更新速度加快,出现的漏洞越来越高,由于利益的驱使,黑客对其的攻击形式多样化。因此,在不断提高漏洞检测技术的基础上,需要寻找弥补漏洞的有效方法,只有这样才能保证计算机安全运行。
1计算机软件存在的安全漏洞
随着我国经济的不断发展,科技技术有了很大进步,互联网中的信息系统使用范围不断扩大,在各个领域发挥着不可取代的作用。由于计算机软件中有很多的安全漏洞,因此很大程度上信息系统就产生了一定的安全隐患。软件中的漏洞会对信息系统造成非常大的威胁,这就需要对计算机软件中的安全漏洞进行必要检测,安全漏洞检测是现代信息系统安全运行中非常重要的课题。计算机软件漏洞是指计算机系统在编程时出现的错误导致的缺点,这些缺点非常容易使计算机软件产生一些安全隐患和计算机自身的危险,计算机系统对有恶意的网络信息有非常高的敏感性,极容易出现对系统攻击行为。之所以出现这种情况,主要原因是在软件开发和研制过程出现的一些问题。漏洞主要有两种:安全性漏洞和功能性漏洞。安全性漏洞指的是在大多情况下漏洞不会影响计算机的正常运行,如果漏洞被黑客发现,软件运行时就会出现错误,严重者计算机会执行错误的命令,有很大的危害性。功能性的漏洞是指漏洞能够影响计算机正常运行,比如运行结果错误等等。漏洞特性主要表现在四个方面:1系统编程时由于编制人员的疏忽很容易出现逻辑性的错误,这种由于疏忽出现的错误很多是疏忽大意所致。2计算机在运行任务时很容易产生逻辑性错误,不同大小之间的程序模块相比可以看出逻辑性错误的发生率很高。3漏洞和软件环境有很大关系。4系统漏洞和时间也存在一定的联系,随着时间的延长,旧漏洞被修复但是也会产生新的安全漏洞。
2计算机软件安全漏洞的各项检测技术及应用
2.1安全静态检测
计算机软件安全静态检测,注重的是系统内部特性,静态检测和漏洞两者之间有共同的特点,这些特点之间也有很大的关联。目前漏洞的划分方法主要有安全性漏洞和内存性的漏洞。安全性漏洞对数据流的误差比较注重,很大程度上由于错误的内存形态而形成的;内存性漏洞对数据的准确性和类别有很大的注重性。因此,这种漏洞主要的检测技术方法就是在内部存储空间进行建模。因为静态检测方法之间有很大的不同之处,漏洞的处理也有很大的不同之处。所以,一些监测技术只能对漏洞进行必要的检测,但是一些方法在此基础上还能够对漏洞进行很好的处理。安全静态检测方法主要是对程序的代码进行扫描,对其中的关键句进行详细分析,然后根据设置的漏洞特性和标准对系统进行全面检测。分析关键语法是最早的静态分析法,它在分析时只对语法进行检查,把系统中的程序分为不同段落语句和数据库相互对比,如果发现有疑问,对其进行仔细的判断,从而进行检测;另一种检测方法就是按照标准进行检测。由于系统自身就是编程的标准,根据标准对计算机程序进行描述,可以通过语法对其进行描述,最后对系统进行整体检测。
2.2安全动态检测
2.2.1内存映射很多攻击者在对软件进行破坏时为了达到目的,会经常用到“NULL”结尾的字符串进行内存覆盖。采用代码页映射技术,攻击者能够利用“NULL”结尾字符串进行内存覆盖。
2.2.2非执行栈目前,出现了一些栈攻击软件的问题,主要原因是系统中栈的执行能力,由于栈内包含了所有数组变量,所以,攻击者通过向栈中书写一些恶意代码,再进行代码执行。预防这种攻击方法最为有效的方法是打破栈的执行力,使代码不能够进行执行任务。2.2.3安全共享库有些计算机中的安全漏洞主要是使用了不安全的共享库所致。安全共享库很大程度上可以预防恶意攻击行为。安全共享库有拦截和检测功能,主要是指使用动态链接方式进行程序运行,把不安全函数进行拦截和检测,最大程度上保护软件的安全。
2.3计算机软件安全漏洞检测技术的应用
安全漏洞检测技术直接关系到计算机的安全应用,其中在计算机软件安全漏洞检测中,其各项技术的应用主要集中在:第一,防止竞争条件安全漏洞应用。这种漏洞的应用一般是采用原子化处理竞争编码,这种编码有锁定功能,原子化操作进入锁定状态,详细的描述使用文件,很大程度上预防由于使用文件的变动使系统产生漏洞。第二,缓冲区安全漏洞检测技术应用。缓冲区安全漏洞检测主要是对软件程序中的一些疑问函数进行详细检测来预防缓冲区安全漏洞。第三,随机漏洞预防应用。对于随机漏洞的检测和预防需要用到性能良好随机发生设备,这种设备能够准确的对随机漏洞进行预防,其中最主要的原因就是该设备有密码算法。第四,格式化字符串漏洞检测技术应用。这种检测技术的应用一般是在代码中使用格式常量。
3结语
有上文可以看出,随着计算机的发展,计算机软件漏洞检测技术能够很好的对计算机中的漏洞和病毒进行安全检测,已经成为了现在计算机检测最实用的方法。软件的安全主要体现在编程和清楚漏洞方面,所以,需要对计算机软件安全漏洞检测技术不断提高,使网络信息系统更加安全的运行。
作者:汪刚 单位:南京工业职业技术学院
1计算机软件安全检测的流程
由于计算机软件的系统规模比较大,系统中又包括了很多子系统,在各个子系统中又包括了很多模块。一般来说,计算机软件安全检测工作要严格按照以下流程进行检测:对各个子系统中的模块进行测试;对软件系统进行组装工作;对计算机软件的系统结构进行准确检测;测试计算机软件的性能与功能;测试计算机软件系统。
2计算机软件安全检测的方法
2.1形式化安全检测
形式化安全检测,是以计算机软件数学模型为基础,运用形式化、规格化的语言,所构成的一种形式化说明形式。该种方法主要模型语言、有效状态语言和行为语言三种形式化、规格化的语言。形式化的安全检测所使用的检测方法,以模型检查和数学定理模型证明为主。
2.2语法检测方法
语法检测方法,是一种运用语法形式,对生成功能接口的计算机软件进行检测的一种方法。通常情况下,这种检测方法主要以对计算机软件进行研究和反映为目的。也就是说,在不同的输入环境下,对计算机软件的不同类型进行的反映。
2.3以模型为主的计算机软件功能检测方法
以模型为主的计算机软件功能检测方法,在实现计算机软件行为与结构建模相结合的前提下,所组成的一种测试模型。这个测试模型具有满足检测机器要求的可读性功能。以模型为主的计算机软件功能检测方法与形式化安全检测方法,在进行对比后,前者将系统模型中的一组测试用例,运用该组测试用例对等待检测的计算机软件系统进行测试工作,在获得充分的信息证据后,证明待检测软件系统行为与模型期望之间的一致性。其不对待检测计算机软件的系统、规格说明之间的一致性进行检测。以模型为基础的安全静态检测方法主要运用有限状态机与马尔科夫链两种检测方法。
2.4模糊式检测模糊式检测,在运用白盒模糊检测方法的基础上,将传统检测方法和动态检测相融合,实现了传统检测方法的升华。虽然模糊式检测方法比较简单,但是其能够将程序中的bug揭示出来,并对现实中存在的错误模式进行验证,在软件发货之前,能够提示可能阻塞的攻击渠道。
2.5以故障注入为基础的安全检测
经过具体的实践证明,以故障注入为基础的软件检测方法,对于提升计算机软件安全检测方法的自动化水平具有十分重要的作用。
2.6基于属性的检测方法
通过将基于属性的检测方法和其他种类的检测方法进行对比后,了解到该种检测方法能够全面的对计算机软件系统安全漏洞的扩展性、交互性进行分析。在运用该检测方法时,要对计算机软件的相关规范章程进行了解,将规范章程作为安全检测工作的重要属性依据。然后运用安全属性检测计算机软件系统程序的代码,对计算机系统代码和规则的符合性进行严格的验证。
3结语
总之,计算机越来越广泛的应用在人们的生活、工作和学习中,其自身的安全性能对人们使用计算机具有十分重要的影响。因此,需要运用科学、合理的软件安全检测方法,最终有效的提高计算机的安全、稳定运行,提高计算机信息的可靠性,增强计算机软件的性能。
作者:段立峰
摘要:随着计算机技术的普及,以及通信技术的不断发展,软件的开发效率也越来越高,各类软件的更新换代速率也直线上扬,软件工程也更受到人们的关注。随着计算机技术的普及,以及通信技术的不断发展,信息软件的应用也越来越广泛,在这一大背景下,软件工程的安全检测以及后期的运维的重要性也逐渐凸显出来。尤其是安全监测,其作为软件工程正常运行的核心板块,软件工程的安全对于整个系统来说有着极大的意义。为了能够设计出更加先进的软件,进一步的提高计算机技术,就必须要对软件工程进行系统统筹,以此来构建新的通信系统,让系统更加稳定。为了加强软件工程建设,就必须要对其进行深入的分析,并在此基础上进行针对性的对策提出。笔者根据相关资料,对软件工程的安全检测与维护进行分析。
关键词:软件工程;安全监测;维护分析
0引言
大数据时代下的发展都带有时代特有的印记,当前,我国的网民已经突破了七亿大关,就是这些庞大的受众,推动了计算机软件的开发,也推动了计算机技术的突破。在这种信息化的大潮流中,软件工程日益重要,但却在发展中也因为软件自身的缺陷而带来了一些网络安全问题。我们不得不意识到,由于信息网络安全问题的屡次出现,而造成了一些严重问题。软件工程时刻遭受着安全风险,这些风险不管是由于软件本身的缺陷,还是运维当中的系统原因,亦或者是人为的因素,都会给整个通信系统带来严重的威胁,造成数据的泄露,系统的崩溃和瘫痪,为生产生活带来消极的影响。正是因为软件工程自身具有的特殊性和重要性,以及其所面临的严峻环境,就必须要让我们时刻的提高警惕,进行安全检测技术的提高,进行维护措施的制定,以此来保障网络系统的安全。
1软件工程的安全检测与维护内涵
1.1安全监测
计算机软件安全检测与维护对计算机技术的应用有着至关重要的作用,要想更好的应用于人们的生活与工作当中,就必须重视软件工程安全检测与维护技术的研究[1]。因为在应用计算机技术的过程中,软件工程经常会出现一些非人为因素的故障和安全问题,安全检测与维护技术就可以及时发现其中存在的问题,及时采取措施进行修补,保证计算机软件正常运行。在现实生活中,计算机软件工程的安全检测技术主要有静态和动态两种检测方式,安全性方面的测试主要分为性能测试、渗透测试和验证过程三个方面[2]。
1.2软件工程维护
任何产品都有属于自己的生命周期,软件同样有着属于自己的生命周期,它的生命周期过程为定义、开发、运行维护。软件的开发和应用最主要的目的就是为了满足用户的需求,这也是软件工程最根本的目标。这也就告诉我们,软件在应用的过程中,如果出现了非人为因素的错误或者问题,安全检测与维护技术就会及时的采取有效的措施,进行修补、改进,只有这样才可以将软件工程逐渐趋于完美,才能够更好的适应各种环境[3]。
2软件工程的安全检测
2.1流程
第一,进行全面检测,由于整个软件工程是一个由多个个体集合而成的整体,因此,在进行检测时,就必须要全面,对每一个涉及的元素都进行检测,以此来发现其中所存在的问题,并且找到这些问题后能够及时的解决,以此来提高软件的稳定性,提高软件工程的整体性能。第二,通过了全面的检测后,就需要进行针对性的检测,对软件的功能质量进行检测,并测试软件的功能运行是否正常。第三,需要对不同环境下的软件工程进行检测,以此来确保在不同的环境下也能够正常运行[4]。
2.2检测方法
一般情况下,软件工程的检测主要是基于数字模型而进行的,属于形式化检测,通过这种检测来提高软件本身的安全性能。静态检测包括词法分析;通过各信息片段与程序细节的比对来确定不同,以此来找到新的概念点,确定软件的性能[5]。程序解释;通过在原有的程序中嵌入新代码来进行软件保护,该技术不需要对原软件程序进行修改。而静态检测技术则包括一下几个步骤;规则检测;在进行软件工程构架时,都会有许多的软件系统支持,一旦出现不稳性,可以对这些软件和信息进行检测,通过对个体的分析来确定整体的安全性,避免由于人为失误而造成软件泄露。动态监测,包括了属性测试,这主要是对软件的各个部分进行检测,对相关的内容进行对比,找出不稳定因素。故障分析;这一方法是将可能的故障作为检测对象,并进行检测排除,以此来确定软件本身是否稳定。
3软件工程的维护
3.1软件工程的维护类型
软件工程的维护类型主要包含了适应性维护和改正性维护两种。适应性维护;主要是针对其所处环境而进行的维护,通过对软件工程环境的改变,来检测不同环境下其功能的正常性,并且对存在的问题进行及时的修复和调整,以此来让其具有更好的适应性。改正性维护;主要是通过对软件的实际使用来发现其中存在的运维问题,通过软件执行过程中存在的漏洞进行针对性的维护修复。
3.2维护方法
对整个维护体系进行系统统筹,制定周期性的维护计划,对相关的软件进行维护、修复和后期的运维管理,以此来保障其拥有合适的运行环境。其次,要不断的提高维护的手段,要与时俱进,将新技术融合到软件维护上去,通过这些新的高超的维护技术来提高维护的水平,以此来确保软件的运行质量,以此来建立良好的运行新环境[6]。
4软件工程的安全检测与维护
4.1定期进行维护检测,对系统进行实时监测
为了加强对软件工程的管理,就需要时刻的保持警惕,并且需要实时的对软件工程进行监控,按照计划对其进行系统检侧,以此来查处系统中所存在的病毒和风险。在这种系统检测中一旦发现问题就要及时处理,避免这些病毒的扩散,变被动为主动,以此来保障网络通信的安全。在软件工程中流传的相关数据以及各节点之间的数据传送都需要定时的清理和检查,如果节点之间和所传输的数据之中存在病毒和风险,就需要及时的做出处理,以此来提高系统的耐受性,提高其稳定性,保障数据的安全。
4.2提高核心技术的自主性
软件工程内部所关联的核心技术决定了其自身的安全程度,为了提高其进行自我保护的力度,对于核心技术就必须要有自主性。由于这些核心技术一般都是多方参与,或者是直接进口,因此,本身就具备一定的风险性。因此,我们必须要在核心技术上加大投入,努力的进行新技术的开发,不断地进行突破,以此来保障核心技术的竞争性和保密性,避免一些由于核心技术的缺失而造成的恶意攻击和网络的不稳定。也只有不断地进行技术突破,不断地对软件工程进行完善,提高防火墙功效,提高传送的安全性,才可以让软件工程在真正意义上获得稳定。最终保证软件工程的质量,确保其安全。
5结语
计算机在不断地发展中为人们的生活带来了极大的便利,不管是生产经营上,还是在日常的信息交往上,可以说从根本上改变了我们的交往方式。而软件工程的发展则是让计算计技术进步的核心,也正是如此,软件工程的安全监测和维护也越来越得到人们的关注。但是随着社会的进步,不断有新的技术被研发出来,因此要想符合时展的脚步,就必须不断研发新的软件工程检测技术与维护技术,从而符合软件工程行业的发展。为了让软件工程能够得到更好的发展,我们必须不断为其创造良好的条件,提高检测和维护的技术,为其发展提供助力。
作者:邵嘉伟 单位:江西服装学院
摘要:为了确保电力信息系统能够得以正常操作,进而强化系统功能,提高工作质量,减少成本费用的支出,应及时改善电力软件代码缺陷检测效率低下、自动化效果差以及定位不精准等情况。本文主要分析了电力软件缺陷模式的代码检测技术,并对此展开了深入的探讨,期望可以为今后的研究提供相应的参考。
关键词:缺陷模式;技术研究;代码检测
0引言
在二十一世纪之后,美国首先提出了基于缺陷模式的软件测试,通过将此种方式与传统方式进行对比后可发现,其主要可以分成三个流程,即:首先,界定软件缺陷模式的含义;其次,找寻准确的IP,并运算出与模式兼容的元素;最后,采用自动化模式进行确定,同时也可派遣专业人员进行确认。基于缺陷模式的软件测试相对来说优势较多,能够测试出很多细微的问题缺陷,并且具有一定的针对性。所以,本文通过研究后能够有效提升系统测试效率,进而提高工作质量,为电力信息系统今后的发展提供有利保障。
1电力软件缺陷模式与模式库构建
(1)电力软件缺陷模式。通常情况下来看,普通的电力软件缺陷表示的是不符合电网的相关规定,导致用户在应用的过程中造成了很多弊端。当程序在运行时发生软件缺陷的话,则会致使系统紊乱,无法正常运行。由于电力软件的研发时期不同,所以产生的软件缺陷也会存在一定的差异性。当处于初始时期时,系统架构人员将会对系统软件进行合理的宏观调控,如果控制失误则会造成缺陷,由于其在开发时期的隐蔽性较强,仅能够在后期可以体现出来,所以必须要在修改时期时进行大范围的修改,严重浪费了资源,增加了成本费用的支出,所以此种缺陷是极其不利的[1]。当处于需求定义时期时,假设无法适应用户的各项要求,那么也会导致缺陷出现。在设计系统的过程中,必须要保障方案规划合理、科学,反之则会影响整个系统的正常运行。在进行编码时,应采用正确的运算方法,编码失误也会引起缺陷。在系统维护时期,必须要正视各个环节,采用科学的手段进行维护,不然则会造成不可预估的后果。所以,在操作的过程中必须要充分应用各项资源,有效改善电力软件缺陷,进而提升工作效率与质量。除此之外,软件在运行时,不同时期进行修复所需要的费用也存在差异性,时间越长则成本也会随之升高,因此必须要及时发现缺陷。
(2)建立电力软件缺陷模式库。在建立电力软件缺陷模式库时,必须要立足于实际,以研究成果为基准而分析场景特点,进而创建出完善的电力软件缺陷模式库体制,找寻缺陷的问题所在,并对其进行叙述保存,创建出相对完善的缺陷模式库,进而具备一定的定制性与配置性。
2基于电力软件缺陷模式的代码检测技术
(1)区间运算技术。1)区间代数。所谓区间,表示的是在程序中变量的取值范围,而区间代数表示的则是代表以及运算变量位置的方式。在对软件进行测试的过程中,主要操作步骤则是将录入的变量均看做为区间,致使中间变量以及输出变量最后均变为区间的一种方式[2]。2)变量的相关性分析。通过进行分析后可发现,在程序中应在以下几种情况下应用变量关联,即:相同路径引进的隐含约束关系、赋值语句关系、条件限定关系以及别名关联关系。
(2)基于数据流的缺陷检测。在操作的过程中,我们可将缺陷检测流程进行深入分析,并将其作为一个前向可能数据流的情况,数据流的元素主要包括以下几个方面:1)在进行缺陷检测时,呈现为正向数据流,D=FORWARD;2)在进行缺陷检测时,L是可能状态集合的幂集,Ventry={ Start}表示的是L的常量值,即为边界条件;3)在进行缺陷检测时,∧表示的即为可能状态集合的U操作;4)G=( V, E, entry, exit),在此过程中V所表示的为节点集合,E所表示的是边,entry所表示的为入口,exit所表示的为出口;5)在进行缺陷检测时,F所表示的为由程序语句而导致的缺陷变迁现象。
(3)函数间分析技术。1)约束信息。针对约束模式状态机而言,由于故障类型不同,所以产生的约束模式也存在一定的差异性,在此过程中N代表的即为状态机均能够发生的状态,T代表的即为状态之间通过转化后所形成的集合,C代表的即为状态转化要求,Nfault代表的即为故障的具体状态,Ncons代表的即为约束形式状态。 2)后置信息。在进行静态分析时,针对函数来说,变量的取值区间对其所产生的作用比较大,所以在操作的过程中必须要提高对函数副作用的关注。为了改善这种情况,在运算区间以及检测缺陷的过程中必须要合理运用计算方式,选择应用函数后置信息方式。
3代码缺陷自动化检测方式
在进行操作的过程中,我们可创建相对完善的代码缺陷自动化检测方式,检测流程可分为五个步骤,即:输入、基本分析、提高精度、自动测试及结果分析,在此过程中提高精度与自动测试最为重要。应用此种检测方式进行操作时,必须要结合多个方面进行考虑,具体可包含以下几种问题,即:误报情况、漏报情况以及模式机理等。
4总体研究架构
首先,应对电力软件缺陷模式展开深入的探讨,并创建出完善的电力软件缺陷模式库,与此同时,也应研究提升精准的技术手段,并以此作为基础条件,而创建出代码缺陷自动化检测方式。
5结束语
综上所述,基于缺陷模式的软件测试得到了广泛应用,能够测试出很多细微的问题缺陷,并且具有一定的针对性。除此之外,也能够有效提升系统测试效率,进而提高工作质量,为电力信息系统今后的发展提供有利保障。
作者:李北星;常鑫 单位:乌兰察布电业局
摘要:随着计算机的大量普及,其安全监测技术的发展逐渐受到人们的重视。计算机安全监测技术水平的好坏,将会直接关系到人们日常生活的安全。通过计算机安全监测技术,人们能够对计算机软件进行系统化的测试,有效识别并且排查计算机软件中存在的安全隐患。本文通过对计算机软件安全检测技术的概述,提出了几点软件检测的指导建议,为保证计算机软件安全提供了一些参考。
关键词:软件检测;计算机安全;检测方式
1计算机软件安全检测应该注意的事项
从本质上来说,计算机安全监测就是检测软件的安全性,其检测过程也是在一个动态过程中测试计算机软件的可靠性。计算机软件的检测要求按照严格的操作进行,首先,在进行计算机软件检测之前,需要制定完整的检测方案。进行软件检测之前应该对需要进行检测的软件有一个较为细致的了解,在整体把握软件功用的前提下对软件进行检测。在进行测试方案的制定时,应该规定软件检测采用的测试手段、测试工具在进行软件测试时,能够保证测试过程的高效进行。另外,进行测试的工作人员应该是具有较强软件编写能力的专业人士,在进行软件测试的同时,原软件的编写人员也应该参与在测试试验中,这样可以方便发现问题及时解决。在进行软件测试的时候,只有制定专业的测试方案,配备专业的测试人员,软件的测试结果可靠性才能得到充分的保障。其次,软件测试完成后,对测试信号的分析也是很重要的一步。分析测试结果时,应该保证对测试得到的信号进行全面细致的检查。一般来说,一个计算机软件的代码程序十分复杂,包括大量的指令以及逻辑运算关系,这就要求在分析测试信号时,相关的工作人员工作要细致认真,除了保证软件能够正常应用以外,还应该尽可能考虑到软件后期的升级维护接口功能。与软件测试方案的制定相似,软件测试结果的分析也需要制定流程化的处理方案,在分析软件过程中要求采用合理的检测技术,专业化的检测人员,以负责的态度完成软件测试的后期工作。所以说,软件测试是一个系统化的庞大工程,技术检测和测试处理均需要专业的处理,也只有这样才能保证计算机软件的安全性。
2计算机软件的安全检测方法
2.1计算机软件安全检测流程
一般来说,在进行计算机软件测试的时候,检测流程常常根据软件的系统结构进行。由于计算机软件由很多模块构成,所以常常遵循着从模块测试、组装测试然后再到系统结构的安全监测,检查发现模块没有问题以后在进行软件功能的测试,以上结构均未发现问题,则进行系统整体检查。这种,由浅入深的测试方法可以保证测试不会丢失对某些软件功能的检查。其中,模块测试主要指对软件系统中最小的组成单位进行检查,只有从小的模块进行检查,才保证整体不出现大的差错。检查模块时务必做到检查细节化和全面化。在进行完模块检查之后,还需要对其进行组装。但是值得注意的是,尽管模块检查没有问题,但是组装的系统却仍然可能出现问题,诸如组装兼容性、软件漏洞等问题还是存在的。系统组装检查完成后需要对软件进行效果测试。效果测试的目的在于保证组装后的软件能够满足用户的使用需求,保证用户在使用过程中不会出现问题。只有经过上述全部检测过程,软件测试才算完成。
2.2计算机软件安全检测的方式、方法
2.2.1形式化的安全检测
该检测方法需要较强的计算机知识,由于它建立在计算机软件的数学模型智商上,要求在检测过程中严格依据现有的语言进行检测。目前人们经常采用的形式语言规格有三种,主要包括行为语言、模型语言的有效状态语言。形式化的安全监测是现在计算机软件常用的检测方法之一,检测准确度较高,检测结果较为可靠。
2.2.2基于模型的安全静态检测方式
模型的安全检测方式在检测时应该先建立一个软件模型。在建立软件模型是应该保证该模型对于计算机是可读写的,但是模型的功能与被检测计算机软件的功能并不是完全相同的。模型化的检测并不能保证待测软件与建立的软件模型完全相符。在测试时候常常对测试模型进行检测,然后经过检测让模型测试的功能与原测试元件功能基本相符即可。模型化的测试方法需要建立软件的模型,常用的模型检测方法包括有限状态机或者马尔克夫链,相对来说,检测建模具有一定的难度。
2.2.3语法检测
计算机软件的语法检测主要利用指令测试软件的功能,主要的检测指标为计算机软件对输入指令的响应。即在测试过程中通过给计算机输入不同的指令,来观察软件对所输入指令的反应来判断软件是否存在使用问题。采用该检测方法是,需要定义大量的识别语言,而且也并不能完全保证语言指令类型的全面性。但是他既可以检测软件编写问题,也可以检测软件的安全问题。
2.2.4基于故障注入的安全检测该方法
经过实践检验,相对于其他检测方式具有很高的检测效率。主要体现在本检测方法主要利用故障模型,构建故障树,通过对模型输入检测信号,分析软件对于所输入指令的响应来判断软件中可能存在的故障信息。该方法可以检测出软件的安全性以及对使用过程中出现错误的兼容性,具有较强的实用检测价值。
2.2.5模糊式检测方法
模糊式检测既结合了传统测试的优点,也具有自己独特的优点。简单来说,他是传统检测技术的再升级。它通过在白盒模糊的基础上,能够检测出程序中存在各种Bug,并且对潜在错误具有一定的检测效果。
3小结
随着人们对计算机软件安全监测的重视,越来越多的检测方法逐渐出现,相应的检测技术也越来越高端。总之,计算机软件测试需要我们在实践生活中不断创新方法,除了掌握一定的计算机软件测试方法以外,实际的经验积累也是计算机软件安全测试必不可少的。
作者:顾建丰 单位:江苏省常州市武进区淹城初级中学
随着计算机网络技术的发展,计算机与社会生产生活有着密不可分的关系,而由于计算机网络存在一定的风险性,需要做好相应的安全检测才能够有效避免风险的发生。计算机软件作为计算机网络的重要部分,利用多种安全检测技术,来检测并保障计算机软件的安全性,以提升计算机网络整体的安全能力。
1计算机软件安全检测定义及重要性分析
计算机软件安全对于保障计算机运行的安全十分关键,计算机软件是否能够运用于计算机中,也是需要对软件安全性进行评估,只有软件安全性达到一定标准才能够满足系统兼容性并投入使用中。计算机软件安全检测是利用多种检测技术发现软件设计的漏洞,并排除软件使用中的风险性问题,保障计算机软件的安全运行。计算机软件不同于一般的应用软件,一般应用软件发生问题多为影响用户的应用体验,而无实质性的危险发生。而一旦计算机软件故障并遭受到网络攻击,则将影响计算机的运行,甚至系统崩溃。由此可见,计算机软件的安全性对于保障计算机网络安全有着重要意义。利用多种计算机安全检测技术,并根据软件类型和特点有选择性地进行安全检测,排除可能存在的软件问题,以进一步提高计算机和系统与软件间的兼容性、安全性。
2计算机软件安全检测技术类型分析
2.1静态检测技术静态检测技术,顾名思义是检测软件的静态故障。如软件编写代码的错误以及语法上的错误等等。由于网络攻击可能利用有缺陷的程序代码和漏洞来进行攻击,因此利用静态检测技术,排除软件编写中语法和程序的错误,可以做到最大程度上的风险减免。通过测试计算机软件的使用情况,利用“与”或“非”等逻辑输入形式,根据输出结果来判断计算机软件编程中是否存在相应的语法问题。
2.2形式化安全检测技术形式化安全检测技术主要是验证软件的合理性,根据软件设计的模型以及数理上的可行性分析,来证明软件使用的安全性。形式化安全检测包括对软件的数学模型进行检测,分析模型运行的可行性以及模型的逻辑性。同时也包括对软件进行定理证明,发现软件设计上的数学错误和逻辑问题,以避免风险性问题的出现。
2.3基于故障注入的安全性检测技术基于故障注入的安全检测技术是较为常用的安全检测技术,也是较为可靠的检测技术。故障注入的检测技术,是利用生成的故障问题来观测软件运行时的安全性,即观测软件故障时的具体表现。故障注入即是模拟故障,通过修改软件内存和改变软件设计逻辑等方式,来模拟网络攻击和故障时计算机软件的通常表现。通过还原的故障状态,能够进一步评估软件在故障时的不足之处,以及检测软件自我修复功能的良好程度。在实际应用中,还能够结合硬件的故障注入技术,实现软件与硬件的同时检测,以排除软件与硬件问题之间的相互影响。
2.4基于属性的安全检测技术,基于属性的安全检测技术,首先需要确定软件的安全属性,并根据安全属性的特点来评估软件程序编码中的可靠性。部分软件的编码表面上可以达到一定的安全性,但根据系统与软件的安全属性,则表现为软件在编码上存在不足,难以维护软件的安全属性,可见进行基于属性的安全检测是有积极意义的。
2.5其他安全性检测技术其他的软件安全检测技术,比如“白盒测试”、“黑盒测试”以及建模测试等等。软件安全检测技术多以软件的语法测试或功能测试出发,如基于“白盒测试”的安全检测技术,则主要从软件代码出发,发现编码中出现的语法问题。此外,还有基于软件功能进行测试,分析软件模型的功能性,具有较强的实用性,能够有效检测出软件设计中的问题,以保障计算机软件的安全性。
3计算机软件安全检测技术应用分析
3.1计算机软件安全检测流程分析计算机软件安全检测的进行,需要根据计算机软件的大小而决定,对于组成复杂的计算机软件往往需要分步分区进行检测。计算机软件安全检测的基本流程由模块测试、结构检测、功能测试、系统测试等多个步骤组成,首先模块测试主要是需要对软件设计与编程的早期问题进行检测,如程序算法、语法等方面的问题。其次是对软件结构进行检测,软件结构是否完整,是否能够支持相应的软件的功能。其次是功能测试,检测软件在使用中是否可以实现特定功能,通过故障注入等方式,还能够检测软件故障时的功能可靠性。最后需要进行系统测试,分析计算机软件与系统的兼容性等等,以保障软件在计算机系统中功能的正常实现。
3.2计算机软件安全检测的注意内容在对计算机软件进行安全检测时,需要把握好相关注意事项,同时也是计算机安全检测技术应用时的重要考虑事项。计算机软件安全检测技术种类较多,需要根据计算机软件的特点和检测目的来进行合适的选择,同时需要按步骤进行检测,规范化检测程序,以保障安全检测的良好效果,发现潜在的软件风险问题。在软件安全检测中,需要进行系统的全面分析,以综合考虑软件与计算机的兼容状况,才能够准确评估软件运行的状况。
4结束语
计算机软件安全检测技术种类繁多,在实际运用中,需要根据计算机网络的实际状况以及网络风险的类型而进行合适的选择。运用合理的计算机软件安全检测方法,将能够维护计算机网络的安全与稳定,提升计算机软件的可靠性。
作者:廖肇军 单位:同济大学软件学院 江西现代职业技术学院
《计算机仿真杂志》2014年第六期
1大型差异结构下的软件故障检测原理
软件故障检测技术是通过软件不同部分提取的异常信号特征,在根据软件故障的特征类别,进行定位的方法。其原理如下:将全部软件运行数据分为N个组别,针对其中的任意一组数据进行聚类中心的计算,从而获取一组规则,根据该规则能够实现软件故障检测。设置软件故障检测的聚类中心能够用Dl进行描述,对应的故障类型能够用d1进行描述,则能够得到下述模糊聚类规则:在上述公式中,yjk能够用来描述软件运行过程中第k个状态特征,Blk能够用来描述第L个模糊规则的第k个运行状态特征的隶属度。利用下述公式能够描述上述软件运行状态特征隶属度函数:在上述公式中,dlk能够用来描述聚类中心Dl的第l个元素,!lk能够用来描述上述聚类中心对应的扩展度。针对聚类中心进行差值运算,能够得到其余的聚类中心,从而获取模糊聚类的规则。根据模糊聚类规则库,能够得到该聚类模型的输出结果如下所述:根据上面阐述的方法,能够得到一系列软件运行状态特征的模糊聚类规则,对聚类模型进行优化处理,能够得到软件故障分类模型。在模糊聚类故障检测模型中,设置输入的数据是Yj,软件故障的类别能够用d1进行描述,则模糊聚类模型的输出结果是1,否则,该模型的输出结果是0。软件故障类型的检测误差分为两个不同的部分,其中,第一部分能够用下述公式进行描述。在上述公式中,全部软件运行状态特征的数目能够用pd进行描述。根据上面阐述的方法,能够建立软件故障检测的模糊聚类模型如下所述:根据上面阐述的方法,能够建立软件故障检测的模糊聚类模型。但是,如果软件结构呈现差异化趋势越发明显,软件集成性使得其整体结构的关联性呈现淡化。结构接口之间无明显衔接特征,将造成缺少明确的接口衔接特征进行定位区域指示,导致软件故障定位不准。
2基于差异结构融合算法的软件故障检测方法
利用模糊聚类算法进行软件故障检测,如果软件结构呈现差异化趋势越发明显,软件集成性使得其整体结构的关联性呈现淡化,由于缺少明确的接口衔接特征进行定位区域指示,造成软件故障定位不准。为此,提出了一种基于差异结构融合算法的软件故障检测方法。
2.1软件故障检测信号融合处理利用信号融合技术,对软件故障检测信号进行有效的融合处理,从而为软件故障检测提供基础。其详细内容如下所述:利用窗口函数,能够对软件故障检测信号进行提取,提取公式如下所述:设置软件故障检测信号的初始值可以用C和D表示,利用下述公式能够对上述软件故障信号进行初步的融合处理:在上述公式中,JB(j,k)能够用来描述第一个软件故障信号的能量参数,JC(j,k)能够用来描述第二个软件故障信号的能量参数,对应的比率分别是ξB和ξC,而且需要符合条件ξB+ξC=1。KC(k,l)表示软件故障信号的低频系数,KD(k,l)是对应的高频系数。根据软件故障信号和对应的比率之间的关系,能够得到下述结果:根据上述方法,可以将软件故障信号按照对应的比率进行有效的融合处理,从而为软件故障检测提供可靠的数据基础。
2.2实现软件故障检测根据分布式协同检测方法,可以对软件故障进行有效的检测。其详细内容如下所述:在软件故障检测过程中,设置软件故障信号可以用Bk(m)(k=1,2,3)表示,则需要对上述特征进行有效的特征提取,特征提取规则能够用下述公式进行描述:根据上面阐述的方法,能够利用信号融合技术,对软件故障检测信号进行有效的融合处理,从而为软件故障检测提供基础。利用分布式协同检测方法,对软件故障特征进行有效的检测,从而完成软件故障检测。
3实验结果分析
为了验证本文提出的基于差异结构融合算法的软件故障检测方法的有效性,需要进行一次实验。在实验的过程中,需要利用VB++语言进行实验编程。在实验的过程中,需要将三种不同功能的软件构成一个新的软件,则该软件具有较强的差异化结构。在软件故障检测实验过程中,实验数据如下所述:1)软件故障检测信号的数量:1000个;2)软件故障检测过程中的白色噪声信号数目:1000个;3)系统噪声:<5微伏;在实验过程中采集的故障信号图谱能够用图2进行描述。利用传统算法进行差异化结构下的软件故障检测,检测结果能够用表1进行描述。利用本文算法进行差异化结构下的软件故障检测,检测结果能够用表2进行描述。对上述两个表中的数据进行对比分析可以得知,利用本文算法进行软件故障检测,在软件差异化结构相似的情况下,利用本文算法进行故障检测的准确性远远高于传统算法,能够为软件的正常运行提供保障。利用不同方法进行软件故障检测,获取的检测准确率能够用图3表示。根据上图可以得知,利用本文算法进行软件故障检测,在软件的差异化结构相似的情况下,利用本文算法检测的准确性高于传统算法。通过上述实验能够得知,在软件差异化结构比较明显的情况下,利用本文算法进行软件故障检测,能够极大的提高检测的准确性,从而保证软件的安全运行。因此,能够将本文提出的基于差异结构融合算法的软件故障检测方法广泛应用在软件故障检测领域中。
4结束语
本文提出了一种基于差异结构融合算法的软件故障检测方法。利用信号融合技术,对软件故障检测信号进行有效的融合处理,从而为软件故障检测提供基础。利用分布式协同检测方法,对软件故障特征进行有效的检测,从而完成软件故障检测。实验结果表明,利用本文算法进行软件故障检测,能够在软件结构差异性较强的情况下,有效提高软件故障检测的准确性,从而保证能够对软件故障进行实时检测。
作者:汪伟熊婷詹雪单位:南昌大学科学技术学院