计算机软件运行中安全检测技术的运用
- 格式:doc
- 大小:36.50 KB
- 文档页数:8
计算机软件安全漏洞的检测与修复方法一、引言随着信息技术的快速发展,计算机软件的使用越来越普遍。
然而,由于软件开发过程中的疏忽或设计缺陷,计算机软件的安全问题日益突出。
软件安全漏洞的存在给用户和系统带来了巨大的风险。
因此,对计算机软件安全漏洞进行及时的检测与修复成为了至关重要的任务。
二、计算机软件安全漏洞检测方法1. 静态代码分析:静态代码分析是一种通过分析代码本身进行漏洞检测的方法。
这种方法不需要运行代码,可以直接检测出潜在的漏洞。
通过对代码的语法和结构进行深入分析,静态代码分析可以识别出可能引发安全漏洞的代码片段。
在代码编写阶段,开发人员可以利用静态代码分析工具来检测潜在的漏洞,并进行修复。
2. 动态代码分析:与静态代码分析不同,动态代码分析是通过运行代码来检测漏洞。
这种方法可以模拟真实的运行环境,通过检测程序的执行路径和输入数据,寻找潜在的安全漏洞。
动态代码分析可以帮助开发人员了解程序在运行时的行为,从而定位和修复漏洞。
3. 模糊测试:模糊测试是一种通过随机生成、修改测试输入数据的方法来发现漏洞。
这种方法可以在不了解程序内部结构的情况下,对软件的安全性进行评估。
通过向程序输入各种异常、边界值和非法输入,模糊测试可以揭示程序中的漏洞,并帮助开发人员修复这些漏洞。
三、计算机软件安全漏洞修复方法1. 代码修复:在检测到安全漏洞之后,开发人员需要对代码进行修复。
修复代码的目的是消除潜在的安全漏洞,增强软件的安全性。
在进行代码修复时,开发人员应该尽量遵循安全编码的最佳实践,如避免使用已知的不安全函数、使用加密算法来保护敏感数据等。
2. 漏洞补丁:漏洞补丁是指通过安装更新的方式修复软件中的漏洞。
出于安全的考虑,软件供应方会及时发布漏洞补丁,用户可以通过更新软件来获取漏洞的修复版本。
因此,用户应该定期检查软件是否有漏洞补丁,并及时进行更新。
3. 安全策略:除了对软件本身的修复,通过制定安全策略也可以提高软件的安全性。
第37卷 第1期 福 建 电 脑 Vol. 37 No.12021年1月Journal of Fujian ComputerJan. 2021———————————————韩敬峰,1979年生,男,主要研究领域为图像识别。
E-mail:***************。
浅析计算机软件安全检测技术韩敬峰(长春师范大学计算机科学与技术 长春 130031)摘 要 近几年来,各行各业对计算机软件的使用要求不断提升。
要想保证计算机能够高效稳定运行,其软件安全检测技术的应用十分关键,有必要予以高度重视。
本文对此做了深入分析,首先介绍了计算机软件安全检测技术的概念、内涵及基本内容,然后对几种常见的计算机软件安全检测技术做了介绍与分析,最后提出了几点有效的检测措施和方法。
关键词 计算机;软件安全;检测技术中图法分类号 TP31 DOI:10.16707/ki.fjpc.2021.01.067Detection Technology of Computer Software SecurityHAN Jingfeng(Computer Science and Technology of Changchun Normal University, Changchun, China 130031)1 引言计算机软件安全检测指的是应用先进的科学手段和技术来发觉软件检测和诊断中存在的各种故障和风险,并对其进行针对性地更正和修改。
对于计算机软件的开发和应用来说,软件安全检测技术是一项重要内容,需要予以高度重视,并进行深入分析和探究,同时结合实际灵活应用,这样才能更好地保证计算机软件的安全性和有效性。
2 安全检测技术介绍计算机软件安全检测技术指的是通过技术手段来检测计算软件的漏洞和缺陷,以确保软件开发前后能有相同的功能[1]。
计算机软件检测技术主要包括功能测试、渗透测试和检验。
相较于其他软件,计算机安全软件有独特的优点,目前主要分为静态检测和动态检测。
浅谈计算机网络安全技术及应用在当今数字化的时代,计算机网络已经成为人们生活和工作中不可或缺的一部分。
我们通过网络进行交流、购物、娱乐、学习和工作,享受着前所未有的便利。
然而,随着网络的普及和应用的不断拓展,网络安全问题也日益凸显。
网络攻击、数据泄露、恶意软件等威胁给个人、企业和国家带来了巨大的损失和风险。
因此,研究和应用计算机网络安全技术变得至关重要。
计算机网络安全是指保护网络系统中的硬件、软件和数据不受偶然或恶意的原因而遭到破坏、更改、泄露,确保系统连续可靠正常地运行,网络服务不中断。
网络安全涉及到技术、管理和法律等多个方面,需要综合运用多种手段来保障。
常见的计算机网络安全威胁主要包括以下几种类型:首先是病毒和恶意软件。
病毒是一段能够自我复制和传播的程序代码,它可以破坏计算机系统的功能,删除或篡改数据。
恶意软件则包括间谍软件、广告软件、勒索软件等,它们可能会窃取用户的个人信息、监控用户的行为或者对用户的设备进行加密勒索。
其次是网络攻击。
这包括黑客攻击、拒绝服务攻击(DoS)、分布式拒绝服务攻击(DDoS)等。
黑客可能会试图入侵计算机系统,获取敏感信息或者控制目标系统。
DoS 和 DDoS 攻击则通过向目标服务器发送大量的请求,使其无法正常处理合法用户的请求,导致服务中断。
再者是网络钓鱼和社交工程攻击。
网络钓鱼通过发送虚假的电子邮件、短信或网站链接,诱骗用户提供个人敏感信息,如用户名、密码、信用卡信息等。
社交工程则是利用人的心理弱点,通过欺骗、诱惑等手段获取信息或权限。
另外,数据泄露也是一个严重的问题。
由于系统漏洞、人为疏忽或者恶意行为,大量的用户数据可能会被泄露到网络上,给用户带来隐私泄露和财产损失的风险。
为了应对这些安全威胁,出现了许多计算机网络安全技术。
防火墙技术是一种常见的网络安全防护手段。
它可以根据预设的规则对网络流量进行过滤和控制,阻止未经授权的访问和数据传输。
防火墙可以分为软件防火墙和硬件防火墙,分别适用于不同规模和需求的网络环境。
网络安全领域中的恶意软件检测技术使用教程恶意软件是指以非法手段实施的、主要用于破坏或窃取用户信息的计算机软件。
恶意软件的出现给用户的个人隐私和信息安全带来了巨大的威胁。
为了防范和识别恶意软件,网络安全领域涌现出了许多有效的检测技术。
本文将为大家介绍几种常用的恶意软件检测技术的使用方法。
1. 基于特征匹配的检测技术基于特征匹配的恶意软件检测技术通过比较目标文件与已知恶意软件特征数据库中的特征是否相匹配来判断文件是否为恶意软件。
下面是使用基于特征匹配的恶意软件检测技术的步骤:1.1 创建特征数据库首先,需要构建一个包含已知恶意软件特征的数据库。
这些特征可以包括文件名称、文件大小、文件的MD5或SHA-1哈希值等信息。
1.2 提取目标文件的特征将需要检测的文件与特征数据库中的特征进行比较,可以使用文件的MD5或SHA-1哈希值来识别文件。
1.3 特征匹配将目标文件的特征与特征数据库中的特征进行匹配,并判断是否存在相似的特征。
如果存在相似的特征,则可以判定为恶意软件。
2. 基于行为分析的检测技术基于行为分析的恶意软件检测技术通过分析程序执行过程中的行为来判断是否为恶意软件。
下面是使用基于行为分析的恶意软件检测技术的步骤:2.1 获取程序执行的行为使用动态分析工具或虚拟机监控程序的行为,记录程序在运行过程中产生的系统调用、文件操作等行为。
2.2 构建行为规则根据已知的恶意软件行为特征和正常软件行为特征,构建相应的行为规则,以便后续的比对和判断。
2.3 行为比对与判定将程序执行的行为与行为规则进行比对,判断行为是否与已知的恶意软件行为相匹配。
3. 基于机器学习的检测技术基于机器学习的恶意软件检测技术通过训练模型来自动识别恶意软件。
下面是使用基于机器学习的恶意软件检测技术的步骤:3.1 数据收集与准备收集大量的恶意软件样本和正常软件样本,将其进行预处理和特征提取,生成训练数据集。
3.2 特征选择与训练模型根据特征的重要性,选择合适的特征,并使用机器学习算法进行模型的训练,例如支持向量机(SVM)、决策树(Decision Tree)等。
刍议计算机软件安全检测技术的应用摘要:随着计算机技术和网络技术的快速发展,计算机软件也日趋复杂,软件是计算机重要的核心内容,是保证计算机安全和通信安全的基础,对计算机安全运行和日常维护具有重要的意义,而编写计算机软件和检测是防止计算机安全漏洞的重要的对策,下面我们就详细进行分析计算机软件安全检测技术及其应用。
关键词:计算机软件;安全检测技术;应用中图分类号:tp311.52 文献标识码:a 文章编号:1007-9599 (2013) 02-0000-03随着计算机技术和互联网的快速发展,用户对于软件的需求也日渐复杂,软件中会存在难以发现的漏洞,只有确保软件的安全才能保证计算机通信、信息安全,否则即便防火墙、杀毒软件、入侵检测等再强大,若软件自身存在安全隐患,也无法提升整体安全性能[1]。
计算机软件安全检测的目的主要是为了防止由于软件漏洞对计算机造成安全威胁,对计算机软件安全检测技术的研究及应用对保证计算机软件安全具有重要的作用和价值。
1 软件安全漏洞概述软件安全漏洞即可能引发安全问题的软件中的代码。
漏洞通常有以下信息披露地方。
(1)bugtraq。
这是一项邮件列表服务,是专门针对安全性问题存在的邮件讨论列表。
很多软件漏洞首先在这里被披露,它是重要的安全入侵新闻来源。
(2)pisks digest。
它同样是一个邮件列表服务,包括安全性、保密性、可靠性等,有很高的技术含量,是目前已经发表的计算机软件安全研究圈内,有效攻击首选地方之一。
目前计算机软件安全漏洞常常被忽略主要有以下几点:(1)zgeronimo2.0 这个安全漏洞主要是让远程攻击者能够绕过身份识别而在计算机软件中插入恶意代码或者访问的权限。
(2)libtiff开源软件库,其主要是为了读写标签图像文件格式的文件。
(3)zlib主要是指用于数据压缩的软件库,计算机软件漏洞主要是通过一个不完整的代码进行解释长度大于1的代码造成的安全漏洞。
(4)net—snmp,是指安全漏洞存在net中或者存在snmp 中的协议文件里。
计算机软件安全检测技术微探作者:曹玮麟来源:《科技传播》 2018年第9期随着我国进入信息化时代,网络信息技术得到了长足发展,计算机产业的普及给人们的生活带来了便利。
但人们在享受便利的同时也逐渐意识到计算机技术自身的安全隐患,尤其是计算机软件所携带的病毒会直接导致计算机数据丢失或泄露,甚至造成计算机瘫痪,因此如何对计算机软件进行安全可靠的检测,避免造成损失是我们所必须面对的问题。
1 计算机软件安全检测的概念计算机软件的安全检测主要指在计算软件开发过程中,由专业技术人员通过对编程软件的理解和把握能够及时发现软件自身存在的漏洞或安全隐患,从而采用行之有效的举措进行纠正,以达到提高软件安全的目的。
计算机软件安全性检测是软件开发项目质量管理体系中关键环节,是保证软件开发完成后的功能与设计初衷相一致的根本。
这种预先检测的方法可以有效的规避软件开发项目的风险,真正提高操作者的工作效率,最大程度上保证经济效益,把损失降到最低。
但是很多情况下,软件安全检测只是发现错误,并不能确定消除错误。
计算机软件安全检测依据使用的原理分为动态检测与静态检测,但从实际工作来看,计算机软件安全检测主要包括验证过程、渗透测试、功能测试3 个部分。
与其他检测软件注重软件的设计任务相比,计算机软件安全检测的目的就是防止软件超出设定的范围。
另外,计算机软件安全检测还可以用来评价软件的安全性能够满足用户的需要,具体涵盖软件的机密性、安全管理、控制访问等内容。
2 计算机软件安全检测的意义毫不夸张的说计算机软件安全是保证计算机正常运行的必要条件,要确保计算机发挥其自身功能就必须对计算机软件进行安全检测,并通过制定一定的标准对计算机软件进行安全评估,只有达到安全评估的标准才能安装使用,确保计算机的安全性。
在日常的使用中,只要计算机软件的安全检测工作正常运行,就可以对各类软件应用进行风险、漏洞或隐患排除。
计算机软件安全与其他普通软件安全有着明显的区别,因为普通的软件存在安全问题仅仅影响到用户的体验,而计算机的使用则会带来巨大伤害,造成计算机运行困难,甚至造成系统崩溃,影响操作者使用。
计算机软件安全检测技术研究摘要:计算机软件安全检测技术是计算软件安全的基础,它可以根据有关指标对计算机软件进行安全测试,并有效识别其中存在的安全隐患。
本文将对当前计算机软件安全检测技术做简要分析,希望对提高我国计算机软件的安全性有所帮助。
关键词:计算机软件;安全检测技术;检测方法中图分类号:tp311.52 文献标识码:a 文章编号:1007-9599 (2012) 17-0000-02随着计算机技术和网络技术的发展,各种计算机软件应用已经深入到人们生活工作的方方面面,成为人们生活和工作中不可或缺的工具。
不过各种计算机软件安全问题也随着它们的发展而变得越来越复杂,其中计算机软件的安全是计算机和网络安全的基础,因此,要想保证整个计算机网络的安全,必须做好计算机软件的安全检测工作。
1 计算机软件安全检测简介软件的安全性是软件质量的一个重要指标,因此,对计算机软件的安全进行检测也是软件开发中的重要一环。
它能够及时发现计算机软件中存在的各种故障,并对计算机软件做出必要的修补,从而有效降低软件风险。
通过使用尽量少的测试用例,以保证尽可能大的软件检测覆盖范围,发现尽可能多的问题,并进行更正是计算机软件检测的目标,但计算软件安全检测并不代表能够保证计算机软件没有错误和安全隐患,它仅仅是一种通过检查计算机软件中的错误和软件对各种非法入侵的防范能力来提高软件安全性的一种方法。
同时,计算机软件安全检测也是对计算机安全实现是否能够达到预期设计的一种过程。
这一过程包括对计算机软件的功能测试、渗透测试和验证测试3个过程,与其它软件缺陷测试相比,它具有如下不同点:首先,软件测试内容不一样,安全检测通常是检测计算机软件安全漏洞检测和软件安全功能检测,软件安全漏洞检测是主要针对计算机软件可能存在的安全缺陷,以及该缺陷可能导致的安全风险。
计算机软件安全功能检测是检测计算机软件安全功能是否满足用户对软件安全的需要,检测的内容主要包括对计算机的机密性、授权、访问控制和安全管理等。
计算机软件的安全漏洞检测方法计算机软件的安全漏洞检测方法是指一系列技术和方法,通过对计算机软件进行静态分析、动态分析、漏洞扫描和漏洞验证等手段,发现并修复软件中的安全漏洞。
安全漏洞检测是保障软件系统安全的重要环节,下面将介绍几种常用的安全漏洞检测方法。
1.静态分析:静态分析是指在不运行软件的情况下对源代码或二进制文件进行分析,以发现潜在的安全漏洞。
静态分析工具可以通过对代码的控制流、数据流和语义信息进行分析,找出代码中的安全漏洞。
静态分析技术主要包括符号执行、模型检测和代码审查等方法。
- 符号执行(Symbolic Execution):符号执行是一种自动化测试方法,通过对程序的输入进行符号化,以符号的形式执行程序,路径条件约束和符号化输入数据来推导输入的约束条件,从而找到能让程序进入不正常分支的输入,即潜在的安全漏洞点。
- 模型检测(Model Checking):模型检测是一种形式化验证方法,将软件系统建模为有限状态自动机,利用模型检测工具自动系统模型的状态空间,以发现系统中的安全漏洞。
模型检测技术主要包括LTL模型检测和CTL模型检测。
- 代码审查(Code Review):代码审查是一种人工的安全漏洞检测方法,通过人工对代码进行仔细分析,查找代码中的安全漏洞。
代码审查可以通过手动审查和自动审查工具结合使用,提高审查效率与准确性。
2.动态分析:动态分析是指在运行时对软件进行分析,以检测软件中的安全漏洞。
动态分析主要通过对软件的输入和执行状态进行监测和分析,来发现潜在的安全问题。
常用的动态分析技术包括模糊测试、漏洞挖掘和运行时监测。
- 模糊测试(Fuzz Testing):模糊测试是一种输入驱动的测试方法,通过随机生成或修改软件的输入数据,将错误的或异常的输入传递给软件,以触发软件中的异常行为和漏洞。
模糊测试可以发现软件中的缓冲区溢出、格式化字符串漏洞等常见安全问题。
- 漏洞挖掘(Vulnerability Discovery):漏洞挖掘是一种主动探索软件中的安全漏洞的方法,通过对软件的运行过程进行跟踪和分析,发现软件运行时的异常行为和非预期状态,从而发现软件中的安全漏洞。
计算机软件中安全漏洞检测技术及其应用摘要:如今信息系统已经被广泛应用于国家的各个领域,因此信息系统的安全就显得十分重要。
计算机软件中的安全漏洞已成为信息系统中最主要的威胁,因此,计算机软件中的安全漏洞检测技术也成为了当前的研究热点。
该文详细分析了计算机安全软件中动态检测技术与静态检测技术,以提高软件的安全性。
关键词:软件;安全漏洞;检测技术;应用中图分类号:tp393 文献标识码:a 文章编号:1009-3044(2013)09-2051-02伴随着高科技信息技术的不断发展,软件的功能也逐渐变得强大起来,与之相伴的是数量不断扩大的源代码。
然而,不少黑客便可以利用代码的一些漏洞对我们的计算机系统入侵并进行破坏。
因此,信息的安全已经成为当今信息系统安全中的一项重要问题,据不完全统计数据显示,当前计算机系统运行张的漏洞正已逐年上升,而黑客攻击行为也正在朝着经济利益方向发展,攻击手段多种多样,基于此,技术人员只有不断的加强对一些漏洞检测技术的分析与研究,方可确保信息资料的安全可靠性。
1 漏洞概述所谓漏洞,实际上就是系统中存在着的缺陷与弱点,而这些缺陷与弱点可能会导致计算机系统对一些特定的威胁或危险有较高的敏感性,或着存在着攻击、威胁系统的一种可能性。
产生软件漏洞的主要原因在于计算机软件研发过程当中,因开发人员的失误而造成的。
一般而言,该种漏洞主要有两种形式,功能性漏洞与安全性漏洞。
能性逻辑漏洞即可能对计算机软件系统运行产生影视,比如如行结果错误、流程错误等;安全性漏洞则是指在通常情况下不会对计算机软件的正常运行产生影响,但是一旦漏洞被黑客成功运用以后,它就可能会造成软件实施错误的运行有时甚至可能会执行一些恶意的代码。
漏洞的特点主要体现在以下几点:首先,在编制程序的时候出现一些逻辑性的错误是非常普遍的现象,而此类错误绝大多是因为疏忽造成的;其次,数据处理与数值的计算相比会更有可能出现一些逻辑性的错误,而过小的或是过大的程序模块与那些中等的程序模块相比会更有可能产生逻辑上的错误;再次,漏洞和具体的系统环境是存在着密不可分的联系。
计算机软件运行中安全检测技术的运用摘要在科技发展日新月异的今天,计算机已经成为人们工作和生活中必要的工具,各种计算机软件被越来越广泛地应用。
软件是网络和计算机生存的基础,人们对计算机的应用说到底是对软件的应用,计算机软件的安全性能已经成为了判断软件性能好坏的重要标准。
安全检测技术的运用,可以确保软件的安全性。
本文从安全检测技术应用中所应注意的问题以及其方法,进行了详细的分析。
关键词计算机;计算机软件;安全检测技术
中图分类号tp31 文献标识码a 文章编号
1674-6708(2012)78-0199-02
在当今网络和计算机技术大量普及的形式之下,计算机软件安全与否已经开始得到应用者的重视,用安全监测技术来对软件进行检测,是保证计算机软件使用安全的主要手段。
1 软件安全检测的概述
安全检测是计算机软件开发和运用过程中的重要环节,作为软件开发的关键性环节,安全监测其目的是为了发现软件在运行中的故障和缺点,从而对计算机软件中潜在的风险进行有效的修改和更正,使软件得到优化和发展。
然而计算机软件的安全检测技术并不能当做杜绝软件错误漏洞的手段,也无法证明软件是绝对安全和正确的,它的职责只是通过较少的测试实现最大范围的检测覆盖,来找出计算机软件中相对比较容易发现的漏洞和错误。
与其它类型的软件缺陷相比,软件在安全上的缺陷有如下的特点:首先,软件的安全缺陷通常都不是由专业的软件测试人员发现的,而是由试图获得非法利益的黑客或者商业机构的安全人员来发现的。
其次,普通的软件缺陷被发现后,一般不会立刻进行修复,而是在该软件的下一个版本才得到修复,而软件安全缺陷一旦被发现就需马上采取相应的措施,否则就会给软件的使用者带来严重的损失。
最后,在危害程度上,普通的软件缺陷一般不会造成严重的危害,而软件的安全缺陷一旦被发现利用,则可能给使用者带来巨大的风险。
计算机软件的安全检测包括功能测试、渗透测试、验证过程三个部分。
和软件其他种类的检测不同的是,计算机软件安全检测所强调的,不是软件能够、应该做什么,而是软件不应该做什么。
通常,计算机安全检测分为安全漏洞检测、安全功能检测两个方面的检测。
软件在安全功能方面的需求涉及广泛的内容,如授权、机密性、安全管理、访问控制等等,安全功能检测就是来测试计算机软件的安全功能是否满足其对安全的需求。
而安全漏洞的检测所针对的,是软件运行中存在的缺陷,识别出某些缺陷可能对计算机造成的风险。
2 应注意的问题
在对计算机软件进行安全检测的时候,应该注意的问题和事项有:
1)选择合理有效的方案
应该在对需要检测的软件了解充分、对其要求和特性完全掌握的基础上,来进行一个软件的安全检测,根据测试的情况,选用合理的安全检测方法来对安全检测方案进行编制,以保证此安全检测方案的有效实施。
另外还要对实施软件检测方案的人员有一定的要求,在对计算机软件进行安全检测的时候,不仅要有熟悉软件安全检测领域知识且有此方面经验的人员的参与,更要有熟悉掌握该软件的使用特点的世纪人员的参与。
唯有两方面的人员有效配合起来,才能确保计算机软件安全检测的效果。
2)应做到全面分析
由于计算机软件一般都有程序繁琐,规模比较大的特点,因此相关检测人员在进行计算机软件的安全检测过程中,就要做到在代码级、需求级和系统级三个方面进行细致的分析。
如果软件的规模特别大,则还应该做结构设计方面的检查分析。
应该从工作的实际需要入手,结合具体的分析过程来选择需要的、合理的分析技术。
计算机安全检测是一个系统化的过程,要想解决一个系统之内所有的安全检测方面的问题,简单的方法是做不到的,因此在具体的软件安全检测的过程中,如何选择科学合理的方案,是软件安全检测的工作者们必须深思熟虑的问题。
3 软件进行安全检测的方法
3.1 流程
规模较大的计算机软件系统,一般会包括了若干个相互联系的子系统,而每一个子系统又包含了多个功能模块。
计算机软件安全测试的流程,包括了模块测试、组装系统、系统结构的安全检测、性能测试、系统测试。
模块测试又叫做单元测试,所针对的是软件设计中最小的功能单位。
进行模块测试的目的,是发现系统各个功能设计上可能存在的安全缺陷,使测试更加细节化、全面化。
在各个模块的测试都结束之后,应该根据此软件设计时的理念进行系统的组装,在此过程中对涉及到的体系结构进行安全测试。
然后模块测试和系统结构测试合格的基础之上,对软件进行功能的有效性测试,其目的在于检测软件的功能是否与用户的需求相一致。
在上述测试步骤都完成之后,再把整个软件与计算机硬件、数据、其他相关软件等因素联合起来进行系统的测试。
3.2 主要方法
软件安全检测的方法主要分为动态检测和静态分析两大类,动态检测技术是主要通过分析和修改环境变量、内存等软件运行环境来实现的,动态检测技术可以提高程序的保密性,以此来实现软件安全的目的。
静态分析技术的原理是使用程序分析技术,来分析程序的源代码,以找出导致错误和安全漏洞的异常。
在静态分析技术中,误报率和错误率是两个重要指标,其中的某一个指标降低,往往会使另一个增高。
静态分析技术的缺陷在于其分析之后的结果往往是对真实情况的近似值,所以对软件的重要属性无法测试和确
定。
静态分析技术的优点是检测时计算机软件不需要运行起来,检测过程比较方便。
相对而言,由于其检测过程方便、自动化程度较高、分析速度比较快的特点,静态检测技术比动态检测技术更受软件安全检测工作者们的欢迎。
而这两大类检测方法又可以细分为多种技术。
3.2.1 形式化方式
形式化的安全检测方式,是建立在待测软件的数学模型之上的。
它通过确立软件的数学模型,在形式规格语言的支持下,提供形式化的规格说明。
目前来说较为常用的形式规格语言有行为语言、有效状态语言和模型语言。
检测方法有模型检测和定理证明这两种形式化的安全检测方式。
3.2.2 以模型为基础的方式
基于模型的安全检测方式,是指通过结构建模和软件行为的方法来建构测试模型,来进行软件安全检测的方式。
基于模型的测试并不注重于软件说明在所有情况下的一致性,而是生成一组测试用例来检测软件系统,得到待测软件系统行为与模式期望相同的结果,以此来进行软件的安全检测。
常用的基于模型的检测方式有马尔可夫链和有限状态机等。
3.2.3 语法测试技术
语法检测技术是静态检测技术中最早出现的一种,所检测的仅仅是软件的程序源代码中,可能发生危险的c语言库函数以及系统
调用。
这种检测方法通常是对反映进行研究,用被检测软件功能接口所使用的语法来生成软件的测试输入,以检测在不同种类的输入情况下,被检测软件的反映情况。
其过程一般是对软件接口的语言进行识别,然后定义语法,在最后生成测试用例来执行软件的安全检测。
3.2.4 基于故障注入的技术
基于故障注入的安全测试,是一种检测比较充分的方法。
该方法应用了故障分析树来生产出检测用例进行检测,故障分析树是指将系统中最不可能发生的事情作为顶事件,然后通过检测来寻找出事故发生的中间事件和底事。
通过逻辑门符号,把底事件、中间事件和顶事件连接成一整颗故障树的方法。
经过实践应用证实,该方法是比较充分和有效的安全检测方法,其优点是可以将检测的自动化的程度显著提高。
3.2.5 模糊测试法
模糊式的测试法是建立于白盒检测的基础之上的检测方法,它把动态检测技术和传统检测家属有效的融合在了一起,是传统检测技术的发展和升华。
它通过向目标软件系统提供大量无效的、非预期的随机输入,来检测软件的异常结果,发现软件安全漏洞。
其优点在于成本较低,方法比较简单,自动化程度较高等。
3.2.6 基于属性的检测方法
这种检测方法首先要对软件的编程规则进行确定,将编程规则
作为安全属性,来检测软件的程序代码是否遵守这些规则,以此来验证代码的安全性。
相对于其他的安全检测方法来说,该方法能够实现对软件安全漏洞的交互性和扩展性的全面综合分析。
3.2.7 其他的测试技术
近年来,对web安全服务所开展的一些测试技术,如分布式软件安全性测试技术等,也得到了快速发展。
总体而言,软件安全检测的主要作用,就是通过分析、检测软件设计和软件中可能存在的安全问题,来改善计算机软件的安全性能,保证计算机软件系统的安全应用。
4 结论
如今,软件安全检测将逐渐成为软件应用体系的重要的一部分。
我们应该在实践中积累经验,不断研究出更有效的计算机软件安全检测技术。
只有提高自身的软件安全保障意识和防测技术,实现安全检测技术的不断创新,才能保障软件的安全应用,保护广大软件用户的利益,维护市场和社会的健康运转。
参考文献
[1]李洁.软件测试用例设计[j].电脑编程技巧与维护,2010(4).
[2]杨洪路,宫云战,高文龄,白哥乐.软件安全静态检测技术与工具[j].信息化纵横,2009(9).
[3]构建联合战线让病毒无从下手[j].电脑爱好者,2008(20).
[4]胡恬,王宏.原代码级的软件安全问题研究[j].软件导刊,2007(1).
[5]羊建林,周安民.windows异常处理与软件安全[j].信息安全与通信保密,2011(4).
[6]赵妍.计算机软件安全检测方法探讨[j].科技传播,2010(16).
[7]蒋廷耀,王训宇,马凯,关国翔.基于eai和aop的软件安全测试及应用研究[j].计算机科学,2009(4).
[8]晁永胜,郑秋梅.软件安全建模与检测[j].计算机仿真,2007(10).。