论文部分内容阅读
摘 要:随着科学技术的发展和人们生活水平的提高,计算机已经成为人们生活中重要的组成部分,为人们的生活、工作、学习带来了很大的方便。应用程序的不断更新与增加,使其更好地满足人们的需求。但是,同时也会影响到计算机的安全性能。因此,就要加强计算机的软件安全检测。本文介绍了计算机软件安全检测的重要意义,针对检测中存在的问题,提出合理的解决措施。
关键词:计算机;软件系统;安全检测;问题;对策
中图分类号:TP311.53
目前,我国进入了信息化时代,计算机得到了广泛使用,为我们的生活提供了很多便利。但同时,计算机的安全难题也一直存在。比如:运行软件时,软件有可能带有病毒,这些病毒会导致安全软件的损毁,从而严重损害到计算机的系统。对计算机进行软件的安全检测,能够有效避免这种情况的发生。以下对此提出个人见解。
1 计算机软件安全检测的重要性
在计算机软件中应用安全检测技术,其结果并不能判断一项程序是不是存在错误,而是判断程序中是否存在bug。要知道,即使程序中存在bug,软件也能够照常运行,只不过安全性能就会有所降低。就目前的软件安全检测技术来看,主要分为动态检测和静态检测两种形式,在实际的操作过程中被广泛使用。
应用安全检测技术对计算机软件进行检测,是为了确定软件的运行是否能够达到预期的目标。一般来说,整个检测过程包括三个步骤,第一步是功能性检测,第二步是渗透性检测,第三步是对检测结果进行验证的过程。
计算机软件的安全性检测和软件缺陷检测相对比,其区别在于安全性检测的主要工作是以下三个方面:第一,不要做什么;第二,不应该做的软件;第三,软件的安全检测。在安全检测中,出现的漏洞通畅进行两个方面的检测:其一是安全功能测试,目的在于检测软件的安全功能是否满足运行需求。其二是安全程度测试,内容比较复杂,包括访问控制、保密性能、安全管理等。
2 计算机软件安全检测中应注意的问题
2.1 检测前,对软件进行综合分析。由于每台计算机的使用者不同,所以计算机在运行特点、系统设置、用户需求等方面都是不同的。安全检测人员进行测试前,首先要对计算机进行综合性能分析,充分了解计算机的软件配置、系统运行特征等内容,甚至也要了解用户的使用习惯。测试前的综合分析,对于安全检测而言有两个好处:第一,为安全检测方法的选择提供依据,从不同的角度对不同的检测方法进行筛选,从而对症下药。第二,能够充分考虑到用户的使用需求,提高用户的满意度。
2.2 检测时,选择合理的检测方法。就目前计算机软件的安全检测来看,检测人员通常使用固定的一种模式进行安全检测,只用一个很简单的方法就可以解决安全检测问题。这种做法表面看起来效率高、省时省力,但实质上是不利于软件的安全的,因为没有一种检测方法是万能的。所以,这就要求检测人员认真分析计算机的系统、需求、代码,以软件的规模大小为依据,立足于用户的需求,来选择合适的安全检测方法。只有这样,才能显著提高计算机软件的安全检测水平,为用户提供优质的服务。
2.3 检测人员应该向多元化发展。检测人员的多元化,指的是检测人员都是和计算机软件相关,但是分别属于不同的领域。举例来说,进行安全检测时,不仅需要软件安全的分析人员,也需要软件系统的设计人员,甚至软件开发人员等。通过这些专业的技术人员密切配合,开展安全检测工作。采用多元化的检测模式,其优点有两个方面:第一,能够显著提高软件安全检测的效率和质量,从而增加安全检测的专业性。第二,为软件的安全检测提供了一种新的模式,丰富了安全检测体系。
3 提高计算机软件安全检测的对策
3.1 提高检测人员的技术水平。对计算机软件进行安全检测,最终的工作落脚点在人身上。因此,只有提高检测人员的检测技术和业务能力,才能从根本上保证安全检测。一方面,对检测人员进行专业培训,增强专业技能;另一方面,检测人员在工作中要不断积累经验,丰富操作实践。
3.2 熟练掌握各种检测方法。科学技术的进步,使现在的计算机软件系统规模很大、十分复杂,软件系统包含了众多子系统,子系统又由许多不同的模块组成。进行安全检测的程序一般是:第一,对模块进行测试;第二,对系统进行组装;第三,对整个系统结构进行安全检测;第四,对软件的功能和性能进行测试;第五,对软件系统进行测试。而具体的检测方法,分为以下几种,检测人员应该将其掌握。
(1)动态检测方法。所谓动态检测方法,就是在软件运行过程中进行分析和研究,从而找出安全问题。其优点在于不需要对代码进行修改,就能够达到安全检测的目的,因此软件的保密性得到提升。动态检测分为六种方式:第一,内存映射技术,对代码页进行映射,使攻击者不会通过结尾字符转到内存区。第二,沙箱技术,对访问资源的进程进行限制,从而预防攻击行为。第三,安全共享库技术,使用动态链接将不安全的函数进行拦截,从而阻止调用。第四,程序解释技术,监视程序运行的行为,强制性进行安全检查。第五,非执行栈技术,通过禁止栈执行代码,预防恶意代码的攻击。第六,非执行堆与数据技术,使用禁令执行堆和数据段,阻止恶意代码的执行。
(2)静态检测方法。当前静态检测技术包含了以下六种方式:第一,程序评注技术,利用静态分析的方法对评注信息进行查找,从而确定出漏洞。第二,约束解算器技术,首先对目标程序进行特定属性建模,然后分析解算约束。第三,词法检测技术,检测的对象是代码中具有危险性的系统调用和C库函数。第四,类型推断技术,指的是对特殊的用户输入数据增加安全约束。第五,编译语言技术,对不安全的类型转换、longjmp等操作进行限制。第六,元编译技术,建模执行软件检测,从而自动推断出代码的安全性。
(3)软件形式化检测方法。采用软件形式化的安全检测方法,其前提是对软件的数学模型进行确认。建立安全模型,能够分辨出软件中存在的安全隐患,专业术语称为软件的安全特征,通过形式规格说明语言进行说明。而这种语言,常用的包括模型语言、行为语言、有限状态语言等形式。形式化的检测方法主要包括两种类型,一是模型检测,二是定理证明。
(4)软件属性检测方法。在软件安全检测中,如果想使用软件属性的检测方法,那么首先要对软件的安全编程有充分的了解,然后通过验证系统程序的代码,来测试出软件是不是在遵守安全编制规则,从而实现安全测试的目的。采用软件属性的检测方法,优点在于能够分析出软件安全的扩展性和交互性。
(5)故障注入检测方法。故障注入检测法的目的是检测软件的使用寿命,其手段是利用故障树的最小割集和故障分析树。具体来说,在测试中,将软件发生故障最低的时间作为顶事件,然后对可能发生故障的中间事件和底事件进行搜索。最后采用合理的逻辑对所有事件进行连接,从而故障树就产生了,能够实现安全检测的目的。在软件安全检测中采用故障注入的方法,其优点在于能够显著提高检测的自动化程度,安全检测比较充分。
4 结束语
总而言之,计算机软件安全检测是确保计算机安全不可缺少的一部分。安全检测的目标是检测软件的应用能力,看其是否能够发挥正常的作用。因此,计算机软件研发人员应该在工作中加强软件的检测,从而为用户提供更加优质的服务。
参考文献:
[1]朱岩.浅析计算机软件安全检测存在问题及方法[J].科技创新与应用,2012(14).
[2]陶穆.浅谈电脑软件安全问题与防御对策[J].计算机光盘软件与应用,2014(05).
[3]唐融.论计算机软件安全检测存在的问题及方法[J].电子技术与软件工程,2014(05).
作者单位:潍坊市红十字中心血站,山东潍坊 261041;潍坊护理职业学院,山东潍坊 261041
关键词:计算机;软件系统;安全检测;问题;对策
中图分类号:TP311.53
目前,我国进入了信息化时代,计算机得到了广泛使用,为我们的生活提供了很多便利。但同时,计算机的安全难题也一直存在。比如:运行软件时,软件有可能带有病毒,这些病毒会导致安全软件的损毁,从而严重损害到计算机的系统。对计算机进行软件的安全检测,能够有效避免这种情况的发生。以下对此提出个人见解。
1 计算机软件安全检测的重要性
在计算机软件中应用安全检测技术,其结果并不能判断一项程序是不是存在错误,而是判断程序中是否存在bug。要知道,即使程序中存在bug,软件也能够照常运行,只不过安全性能就会有所降低。就目前的软件安全检测技术来看,主要分为动态检测和静态检测两种形式,在实际的操作过程中被广泛使用。
应用安全检测技术对计算机软件进行检测,是为了确定软件的运行是否能够达到预期的目标。一般来说,整个检测过程包括三个步骤,第一步是功能性检测,第二步是渗透性检测,第三步是对检测结果进行验证的过程。
计算机软件的安全性检测和软件缺陷检测相对比,其区别在于安全性检测的主要工作是以下三个方面:第一,不要做什么;第二,不应该做的软件;第三,软件的安全检测。在安全检测中,出现的漏洞通畅进行两个方面的检测:其一是安全功能测试,目的在于检测软件的安全功能是否满足运行需求。其二是安全程度测试,内容比较复杂,包括访问控制、保密性能、安全管理等。
2 计算机软件安全检测中应注意的问题
2.1 检测前,对软件进行综合分析。由于每台计算机的使用者不同,所以计算机在运行特点、系统设置、用户需求等方面都是不同的。安全检测人员进行测试前,首先要对计算机进行综合性能分析,充分了解计算机的软件配置、系统运行特征等内容,甚至也要了解用户的使用习惯。测试前的综合分析,对于安全检测而言有两个好处:第一,为安全检测方法的选择提供依据,从不同的角度对不同的检测方法进行筛选,从而对症下药。第二,能够充分考虑到用户的使用需求,提高用户的满意度。
2.2 检测时,选择合理的检测方法。就目前计算机软件的安全检测来看,检测人员通常使用固定的一种模式进行安全检测,只用一个很简单的方法就可以解决安全检测问题。这种做法表面看起来效率高、省时省力,但实质上是不利于软件的安全的,因为没有一种检测方法是万能的。所以,这就要求检测人员认真分析计算机的系统、需求、代码,以软件的规模大小为依据,立足于用户的需求,来选择合适的安全检测方法。只有这样,才能显著提高计算机软件的安全检测水平,为用户提供优质的服务。
2.3 检测人员应该向多元化发展。检测人员的多元化,指的是检测人员都是和计算机软件相关,但是分别属于不同的领域。举例来说,进行安全检测时,不仅需要软件安全的分析人员,也需要软件系统的设计人员,甚至软件开发人员等。通过这些专业的技术人员密切配合,开展安全检测工作。采用多元化的检测模式,其优点有两个方面:第一,能够显著提高软件安全检测的效率和质量,从而增加安全检测的专业性。第二,为软件的安全检测提供了一种新的模式,丰富了安全检测体系。
3 提高计算机软件安全检测的对策
3.1 提高检测人员的技术水平。对计算机软件进行安全检测,最终的工作落脚点在人身上。因此,只有提高检测人员的检测技术和业务能力,才能从根本上保证安全检测。一方面,对检测人员进行专业培训,增强专业技能;另一方面,检测人员在工作中要不断积累经验,丰富操作实践。
3.2 熟练掌握各种检测方法。科学技术的进步,使现在的计算机软件系统规模很大、十分复杂,软件系统包含了众多子系统,子系统又由许多不同的模块组成。进行安全检测的程序一般是:第一,对模块进行测试;第二,对系统进行组装;第三,对整个系统结构进行安全检测;第四,对软件的功能和性能进行测试;第五,对软件系统进行测试。而具体的检测方法,分为以下几种,检测人员应该将其掌握。
(1)动态检测方法。所谓动态检测方法,就是在软件运行过程中进行分析和研究,从而找出安全问题。其优点在于不需要对代码进行修改,就能够达到安全检测的目的,因此软件的保密性得到提升。动态检测分为六种方式:第一,内存映射技术,对代码页进行映射,使攻击者不会通过结尾字符转到内存区。第二,沙箱技术,对访问资源的进程进行限制,从而预防攻击行为。第三,安全共享库技术,使用动态链接将不安全的函数进行拦截,从而阻止调用。第四,程序解释技术,监视程序运行的行为,强制性进行安全检查。第五,非执行栈技术,通过禁止栈执行代码,预防恶意代码的攻击。第六,非执行堆与数据技术,使用禁令执行堆和数据段,阻止恶意代码的执行。
(2)静态检测方法。当前静态检测技术包含了以下六种方式:第一,程序评注技术,利用静态分析的方法对评注信息进行查找,从而确定出漏洞。第二,约束解算器技术,首先对目标程序进行特定属性建模,然后分析解算约束。第三,词法检测技术,检测的对象是代码中具有危险性的系统调用和C库函数。第四,类型推断技术,指的是对特殊的用户输入数据增加安全约束。第五,编译语言技术,对不安全的类型转换、longjmp等操作进行限制。第六,元编译技术,建模执行软件检测,从而自动推断出代码的安全性。
(3)软件形式化检测方法。采用软件形式化的安全检测方法,其前提是对软件的数学模型进行确认。建立安全模型,能够分辨出软件中存在的安全隐患,专业术语称为软件的安全特征,通过形式规格说明语言进行说明。而这种语言,常用的包括模型语言、行为语言、有限状态语言等形式。形式化的检测方法主要包括两种类型,一是模型检测,二是定理证明。
(4)软件属性检测方法。在软件安全检测中,如果想使用软件属性的检测方法,那么首先要对软件的安全编程有充分的了解,然后通过验证系统程序的代码,来测试出软件是不是在遵守安全编制规则,从而实现安全测试的目的。采用软件属性的检测方法,优点在于能够分析出软件安全的扩展性和交互性。
(5)故障注入检测方法。故障注入检测法的目的是检测软件的使用寿命,其手段是利用故障树的最小割集和故障分析树。具体来说,在测试中,将软件发生故障最低的时间作为顶事件,然后对可能发生故障的中间事件和底事件进行搜索。最后采用合理的逻辑对所有事件进行连接,从而故障树就产生了,能够实现安全检测的目的。在软件安全检测中采用故障注入的方法,其优点在于能够显著提高检测的自动化程度,安全检测比较充分。
4 结束语
总而言之,计算机软件安全检测是确保计算机安全不可缺少的一部分。安全检测的目标是检测软件的应用能力,看其是否能够发挥正常的作用。因此,计算机软件研发人员应该在工作中加强软件的检测,从而为用户提供更加优质的服务。
参考文献:
[1]朱岩.浅析计算机软件安全检测存在问题及方法[J].科技创新与应用,2012(14).
[2]陶穆.浅谈电脑软件安全问题与防御对策[J].计算机光盘软件与应用,2014(05).
[3]唐融.论计算机软件安全检测存在的问题及方法[J].电子技术与软件工程,2014(05).
作者单位:潍坊市红十字中心血站,山东潍坊 261041;潍坊护理职业学院,山东潍坊 261041