第一篇:计算机软件安全问题
1计算机软件所面临的威胁
1.1非法复制的威胁
因为计算机属于知识密集型产品,所以在其开发与研究的过程之中需要花费许多人力和物力,有时为了开发软件而付出的成本比计算机的硬件高出几倍甚至上百倍。但是,目前很多计算机的软件产品都面临着非法复制带来的威胁。有数据显示,近年来全球的软件业由于非法盗版而造成的损失,每年都超过了130亿美元,并且损失的资金总数还是呈现逐年递增的趋势。很多政府已经对非法盗版引起的就业、税收、法律等问题进行了关注,特别是像我国这样经济正在迅速发展的国家,在管理方面相对比较滞后,非法复制软件已经给社会带来了许多负面影响。
1.2软件跟踪的威胁
由于计算机软件开发滞后,黑客们就会使用各种各样的程序或者工具对某个软件程序进行跟踪,从而获得软件的源码,取消软件自带的防复制与加密功能,破译软件的动态。目前很多的软件跟踪技术都是利用计算机系统中提供的一些功能来实现的,主要分为两种。第一种是动态跟踪,能够利用一些调试工具,强行的把程序中断到另一处,从而进行跟踪分析;另一种是静态分析,是通过反编译工具来把软件反编译成为源代码的形式再进行分析。
1.3软件质量问题的威胁
由于各种各样的原因,软件开发商提供的软件都会存在着一些缺陷和不足,即使是全球最大的微软公司也会存在着这样的问题。我们通常会把软件中的这些缺陷叫做漏洞,这些漏洞会严重威胁到计算机软件系统本身的安全。近些年来,由于软件漏洞而引发的安全事件不断增加。有一些电脑高手发现软件中存在的漏洞后,就利用这些漏洞做出许多与软件用户相悖的事情,会严重威胁到用户信息安全。
2计算机软件安全的防护策略
2.1对计算机软件进行加密
由于计算机软件非常容易复制,所以为了保护软件的产权,开发商就必须要进行加密。目前市场上大部分流行的软件都使用了一些加密的方法,主要目的就是保护开发商的利益,防止其软件被非法复制。通常使用的加密方法有以下三种:密码方式、软件自校验方式、硬加密。
2.2使用反跟踪技术
反跟踪技术就是能够防止通过调试工具以及跟踪软件来盗取软件源码或者取消软件防复制与加密功能的一种技术。一个非常好的加密软件一般都与反跟踪是密不可分的,这是因为一个软件的被攻击一般都是从被跟踪开始的,因此,如果一个软件没有反跟踪技术,就相当于直接把软件的程序裸露在解密者的面前。一旦反跟踪的技术出现漏洞,就会影响软件加密技术的可靠性。
2.3防止软件非法复制
由于软件有着非常容易被复制的特点,并且社会和法律不能够为软件产品提供有力的保护,就使得一些软件公司与开发人员不得不采取一些自卫手段,这样就出现了软件保护的技术。因为软件的非法复制如果在没有使用反复制措施的情况之下,而对没有经过授权的软件进行复制或者出售的,一般都会带有一些病毒和后台程序,给使用者带来了很大的潜在威胁,这些后台程序与病毒甚至会在使用者毫无察觉的时候就已经在后台运行,导致计算机出现系统崩溃、网络故障、计算机数据丢失或者被篡改等问题,就不能够保证软件用户的使用安全。
2.4加强病毒防范
为了能够更加有效的预防计算机网络出现病毒,并能够做到全面的清除病毒,就需要在计算机网络中建立起病毒防范体系,其中应该包括漏洞检测、使用安全性、病毒预防、病毒查杀以及病毒隔离等。通过这些防范措施,就能够有效的进行病毒的预防与查杀,提高计算机网络搜寻病毒的反应速度。除此之外,还应该加强计算机网络对于病毒的处理能力,提高防治病毒的效率。
3结语
对于软件使用者来说,都希望使用一个非常安全并且没有漏洞的可靠软件,即使有些软件存在着漏洞,也不希望这个软件被其他人所利用。这就需要软件开发商能够使用多种方法减少软件中的漏洞,在发现漏洞之后,要及时做出补救措施,避免给使用者造成损失。
作者:许亮 单位:湖北财税职业学院
第二篇:计算机软件安全检测问题
1.计算机软件安全检测的意义
由于计算机软件的高速发展,人们的学习、工作、生活已经离不开计算机,计算机的应用以计算机软件为基础,已经运用到各个领域,计算机软件给人们的生活与工作条件提供了极大的便利,如电子领域、互联网领域、航天领域、体育领域,因此对计算机软件安全进行检测是软件检测的重中之重,以此人们才能有一个很好的网络环境,人们才能更好的高质量的生活,特别是在当前黑客、病毒猖獗的网络环境下,做好软件安全检测更是重要的研究内容,更好的利用这个网络手段,小到家庭生活会更好,大到国家经济发展会更加迅速。
2.计算机软件安全检测的对策
2.1避免人为因素,应该加强网络安全教育和管理
计算机因素是计算机安全问题产生的最主要的原因,一方面,加强计算机网络安全教育,对从事计算机、通讯等专业人员要进行职业道德教育,增强其系统安全意识,使计算机的维护者与相应的安全维护软件达到较好的互动,真正达到最大程度的安全保障;另一方面,加强计算机网络安全的管理,健全安全管理机制,完善规章制度,建立安全管理标准,加强对专业人员的审核。
2.2加强技术防范,建立安全机制
加强对防火墙技术、数据加密技术等的要求,目的是为了防止网络数据的篡改、泄露和破坏,这是网络信息安全的主动的、开放型防范手段。网络安全是一个系统的工程,需要仔细考虑系统的安全需求,并将各种安全技术结合在一起,才能构建高效、通用、安全网络系统。
2.3做好硬件系统的安全防护
硬件系统的安全问题,设置安全和物理安全,在设备上进行必要的设置,如交换机、服务器的密码等,防止人为破坏或意外事件具体的物理设备指的是物理安全,如机柜、路由器、服务器等,需要采取严格的安全管理措施,对一些漏洞端口禁止访问等。
2.4计算机安全动态检测技术
动态检测的方法包括非执行栈、非执行堆与数据、安全共享、内存映射、沙箱、程序解释等。动态检测技术进行计算机软件检查运用动态检测技术检测是通过对软件在计算机的运行环境进行分析,来检测出软件中存在的问题。动态检测技术具有不需要对软件源码或二进制代码作出修改的优点,提高了软件的保密性。非执行栈技术的不够全面,它仅能检测并阻止摧毁栈攻击,该技术可能会造成小量的兼容性问题,因为有个别的应用程序就是依靠栈执行来正确运行的。非执行堆与数据技术,从表面上看,该技术对于几乎所有的利用把恶意代码注入进程内存中的攻击都可以检测并阻止,但是改变了传统程序在堆或数据段中动态生成代码的方式,会造成很多应用程序的不兼容性。内存映射技术对性能的消耗也可以忽略,它仅仅是在程序装载的过程中工作,运行起来之后对程序没有任何影响。虽然这些技术或多或少有自己的缺点,但是综合运用对计算机软件安全检测起很重要的作用。
2.5计算机安全静态检测技术
静态检测技术进行计算机软件检查运用静态检测是通过使用程序分析技术,直接对代码进行分析,检测计算机软件中潜在的安全问题。静态检测技术检测主要包括类型推断、约束分析和数据流分析静态检测技术可以把软件中大量问题找出来,却不能把程序中所有的问题全部找回来,但是静态检测比较方便快捷,不需要对计算机软件代码进行任何修改。
2.6编程语法检测技术
编程语法对计算机软件进行语法测试方法是通过所检测编制软件的功能语法来生成软件的测试输入,通过这种方法检测软件对不同种类输入的反映情况,语法测试方法通常程序是否计算机软件接口的语言和定义语言的语法,进而在语法的基础对软件进行安全检测。
2.7安全漏洞检测防护技术
该测试技术,扮演攻击者的角色,来发现各种漏洞,首先使用各种扫描技术对目标主机进行端口扫描,获得其开放端口。然后根据相应开放端口所提供的服务,在漏洞特征库中查找对应该项服务的漏洞检测码,向主机端口发送漏洞检测码数据包,在漏洞扫描时,可以控制扫描调度模块工作,使整个检测系统暂停、停止、继续、结束等。漏洞扫描调度根据扫描控制模块发送的扫描控制要求,采用消息机制协调各工作模块,在漏洞特征库中查询漏洞对应的检测表文件名称,调用检测验证等,漏洞检测完毕后,将实际检测的漏洞存入库中,然后进行防护,减少漏洞的多次出现。
3.结论
随着全球经济的快速发展,网络已经成为人们生活当中不可或缺的一部分,计算机是一项便捷、快速的生活方式,它给人类带来的利益是其它任何一项技术都无法比拟的,但是与此同时,软件的开发也出现了潜在的隐患,对计算机软件进行安全检测面临着新一轮的挑战,就需要有特定的安全检测方法,分析软件中存在的安全问题,使其可以更好的指导软件进行安全性能改善,更好地为人类服务,因此计算机软件安全检测是信息时代中安全体系中不可或缺的一部分,而计算机软件安全检测的方法需要进一步研究,作为计算机的专业人士应该进一步加强对计算机安全检测的学习,使其更好地为我们所用。
作者:周丽蕴 单位:鄂尔多斯职业技术学校
第三篇:计算机软件安全检测技术
1做到系统且全面的分析
计算机软件有程序复杂、规模庞大等特点,故而在进行安全测试时需要分别对代码级、系统级以及需求级进行有针对性的详尽检测。如果遇到特大规模的软件,还需从结构设计等方面进行细致的分析。并根据实际情况,按照详细分析的过程选择其所需要的相关分析技术。软件的安全检测是系统化的一个过程,要解决整个系统内全部的安全问题,普通的方法是十分困难的,故进行具体的安全检测时,如何选择有效的、具有可行性的方案,是软件检测员必须认真思考的问题。
2软件安全检测的具体方法
2.1科学的规范化流程。在较大规模的软件系统中,大多数都会有若干个子系统,而每一个子系统又由多个功能模块组成。模块测试、组装系统、系统结构的安全检测、性能检测、系统检测是计算机软件安全检测必不可少的五个环节。模块检测我们又可以称为单元测试,所检测的对象是软件设计中最小的功能单位。为准确发现每个系统功能中可能存在的漏洞,需要进行模板测试,以达到细节化、全面化的检测。在具体的模板检测完成后,需要进行的是系统的组装过程,要根据其自身的设计理念来进行。在实际的组装操作过程中应该对相关的每个体系结构进行相应的安全检测。在模板测试及系统结构的测试都完成后,为使软件可以达到用户的使用要求,还需对其进行功能有效性进行测试。直至所有步骤完成之后,再结合计算机的硬件、数据库等进行一个系统的测试。
2.2行之有效的具体方法。软件安全检测包括动态的检测及静态的检测两种手段。动态检测主要指内存的分析,环境变量等的修改,结合其运行环境已进行测试的,想增强程序保密性实行软件的安全运行,就可以通过动态检测的方法来完成。静态检测是通过程序分析、程序源代码的解析以而找到程序中导致异常的原因。静态分析技术的两个重要的指标就是错误率和误报率,这两个指标的出现是成反比的。静态分析的主要问题在于其结果常常只是真正结果的近似值,不能够真正反应出实际情况。但是其同时也具有不需软件真正运行就可以检测,实行相对方便。两者比较而言,静态检测因为其技术有较高的自动化,检测速度较快且过程方便,故更受操作人员的欢迎。(1)安全检测方式实行形式化。安全检测方式的形式化,是指通过在需检测软件之上建立科学模型来检测的。其在确立相应模型后,在规范的形式语言支持下做出形式性规格说明。当前主要运用的形式规则语言主要有行为语言和模型语言以及有效状态语言等。手段也主要分为模型检测及定理证明等方式。(2)实行以模型为基础的检测方式。使用结构建模方式及软件行为构建测试模型,以达到预期的理想检测效果。以模型为基础的检测过程并不苛求软件在各种具体情况下的一致性,其主要通过一些生成的试用例来测评的,并通过测查被测软件系统与理想模型结果是否相同来进行安全检测的。(3)运用语言测试技术。在静态检测技术中最早出现的检测方法就是语言检测技术,它所检测的对象是软件程序的源代码及可能产生威胁的C语言函数库调用,语言检测常用的方式是进行对反应的研究,其过程通常是进行软件接口的语言识别,再进行语法的定义,直至生成试用例来实际进行安全检测。(4)以故障注入技术为基础。如果想要检测的比较全面,则可以用基于故障自如的安全测试。这种方式运用故障分析树以产生用于检测的试用实例来进行检测。故障分析树指的是把系统中出现可能最低的事件作为顶事件,再通过仔细检测来找出事故发生过程中的中间事件及底事件。以逻辑门符号,将项事件和中间事件以及底事件连成完整的一棵故障树的方式。(5)践行模糊测试法。建立在白盒检测的基础之上的检测方法我们把它叫做模糊测试法,它有效的将动态检测技术和传统检测技术合二为一,相对于传统的检测技术有了较大的发展。其具体方式是通过对被检测系统提供大量无价值的、非预期的、随机的输入,以发现软件的异常状况。其具有成本低,运用简单,自动化程度高等许多优点。(6)利用根据属性的检测方式。要实行这种检测方式,先要明确被测软件的具体编程规则,并将其作为安全属性,以检测目标软件的程序代码是不是符合相关规则,通过这样来确定其安全性。和其他检测方式相比,这种方式可以全面的、系统的分析软件存在的安全漏洞交互性及扩展性。(7)测试技术的多样化发展。近年以来,针对WEP安全所展开的相关测试技术,发展速度也十分惊人,如分布式的软件安全检测技术等等。总的来说,软件的安全检测具备的主要功能是解决软件在设计分析及其具体运行过程中存在的问题,以优化计算安全性能,保证其可以维持整体软件系统的正常运转。
3结束语
在当代,计算机软件的安全检测工作在软件实际应用体系中具有日益重要的作用。只有通过不间断的积累、创新,并在具体实践中践行,才能促进相关技术的不断提高。与此同时,还应不断提高我们自身的安全保障意识及防测技术,以真正保障软件安全应用,维护软件使用者的切身利益,从而促进市场的平稳健康发展。
作者:王晓东 单位:广州出入境检验检疫局
第四篇:计算机软件安全漏洞检测
1计算机软件安全漏洞的动态检测方法
动态监测技术主要是通过对计算机软件运行的环境进行修改,从而将程序运行的保密性提高,保证程序运行时的安全。这种检测方法可以不修改软件的源代码或是二进制代码,直接对程序的漏洞进行检测,达到计算机软件在运行中就可以发现漏洞。而动态监测方法主要分为以下几种:⑴非执行栈技术。目前很多的计算机软件入侵者则都是通过对程序进行破坏从而在栈中写入恶意代码,从而将软件内部的变量进行改变。而非执行栈技术能够让栈不能执行代码,从而防止侵入。⑵内存映射技术。这种技术主要是可以使用映射代码页,从而让入侵者无法通过NULL的结尾字符,也就不能达到低端的内存区域。并且通过将代码页映射到随机不同的地址,让入侵者无法找到正确的代码页,也就对入侵带来了很大困难。⑶沙箱技术。沙箱技术是限制进程访问资源的一种技术,这种技术可以很好的预防攻击行为。通过将进程访问资源的策略限制在某个应用程序中,可以达到无法对计算机应用程序的内核以及所用计算机程序进行改编的目的,从而防止计算机被攻击。沙箱技术主要可以在系统调用中使用,在任何环境下都可使用,并且兼容性很好。⑷安全共享库技术。这种技术的基础是动态连接技术,可以在计算机的使用中检测不安全函数,并且对检测出的不安全函数进行拦截,从而达到了阻止这些不安全函数的调用,也就能够避免计算机遭到攻击。安全裤共享技术没有兼容性问题,但是在使用过程中不能对本地的代码数据以及数据溢出和变量进行防护。
2计算机软件漏洞静态检测技术
⑴变异语技术。这种技术可以通过对指针算数进行计算,并且对不安全类型进行转换,从而起到对不安全操作进行限制的目的,保证计算机软件使用中的安全。在变异语技术的使用中一般采用了C语言的安全程序编译技术,通过对软件的二进制代码以及源代码进行检测,错误越多软件的安全性越高。⑵程序评注技术。这种技术的兼容性最好,主要是通过注释的形式来表现的,不会为软件增加新的代码。⑶类型推断技术。这种技术非常适合于大型软件的检测工作,虽然在检测技术上来讲十分高效率,但是这种方法存在着兼容性问题。通过一种全新修饰的使用,对于将几种特别指针或者是用户输入等数据来增加软件的安全约束,从而达到计算机软件漏洞检测的目的。
3结语
在日常使用计算机的过程中很容易遭受到软件漏洞的危害,计算机遭到攻击,系统崩溃,使用者的隐私和财产安全也会受到威胁。因此通过静态检测和动态检测的方法对计算机软件进行安全漏洞检测对我国人民对计算机的使用很有帮助。
作者:陈丹心 单位:广东省清远市中医院