浅析测试软件安全的方法
作者:网络转载 发布时间:[ 2012/11/8 10:50:20 ] 推荐标签:
2.3.1 类型推断
我们知道我们分析运算符作用的对象、赋值,实际参数的传递时,或多或少都会存在一些类型合适不合适的情况。我们所说的类型推断属于处理过程,它的目的是保证进行对象的每个操作的数目和类型都是正确、合理的,确保操作有效。类型推断可以检查类型错误,选择合适的操作,根据情况确定必要的类型转换。这种方法简单、高效,对快速的检测软件的安全性非常的适合。我们在检查操作系统内核权限、遇到程序中字符串格式化漏洞和内核中不安全的指针使用的安全检测的时候采用类型推断方法检测。
2.3.2 数据流分析
在编译的时候我们可以使用数据流分析技术,这种技术可以收集程序代码中的语义信息,然后用代数的方式对它进行编译,从而确定变量定义以及变量的使用。我们可以用数据流分析来优化编译、调试、验证、并行、测试、向量化程序的环境因素。在安全检测中数据流分析有非常广泛的应用,我们用数据流分析可以检测程序软件中的数组的越界等多种类型的安全漏洞。
2.3.3 约束分析
约束分析分为约束产生、约束求解两个步骤,约束分析的第一步是利用约束规则建立分析状态和变量类型的约束,第二步是求解这些约束系统。约束系统分为三种形式:等式、集合以及混合。约束项之间仅仅存在等式关系的是等式约束,集合约束是把程序变量看作值集,混合约束系统由部分等式约束和部分集合约束组成。在安全检测中我们使用约束分析来测试软件的安全性能也是比较广泛的。例如我们利用集合约束的方法来测试程序中缓冲区是不是存在溢出漏洞。
以上三种静态检测方法各有各的利弊,通过对各自的比较我们可以看出,检测能力强但是速度慢的是约束分析,这种分析方法检测软件安全比较适合;检测强速度较快的是数据流分析,这种方法适合的是要求考虑控制流信息并且变量之间的操作简单的问题;检测能力弱检测速度快的是类型推断,这种方法适合的问题是与控制流无关、属性域有限的安全属性。
2.4 侦听技术
我们所说的侦听技术有的也叫做网络监听,这种方法可以获取网络传输的信息,获取的信息并非发给自己的。在测试软件的安全性时网络侦听技术是常用手段,这种方法可有效诊断、管理网络问题,可以很好的检查软件网络安全存在的威胁。
我们现在常用的网络是一个广播型的网络,我们可以从该网中的任何的一台计算机都可以侦听到这个网段所有的数据传输包。我们可以利用这种技术对软件进行安全性检测,防止软件泄露一些重要的数据,我们可以利用工具或者是自己编的小程序复制我们侦听到的数据包并把他们存储下来,然后我们可以通过得到的这些信息数据来分析网络、软件的安全。我们好把侦听放在路由器、网关、防火墙、交换机等设备的地方,由于这些地方流过的信息包多,所以这里的监听效果好。我们经常使用的网络侦听经典程序有Snoop等,一般来说侦听程序还不能做到把侦听到的数据包马上进行分解分析,这些软件一般是先进行不停地存储,然后慢慢再进行分析,这样可以防止数据包的遗漏。
3、总结
从上面的介绍和论述中我们可以看出,软件的安全是计算机信息安全重要的组成部分之一,安全性测试的重要性越来越得到软件开发以及测试人员的认可。现在软件安全的检测办法有很多,我们主要了解介绍了比较传统但是不可缺少的手动分析方法,还有动态分析和静态分析,通过对程序的执行来检测软件的安全,还有侦听技术,保证网络和软件的安全使用,保证软件的重要数据不被泄露。但是我们现在的测试软件安全的方法还不够的系统全面,还或多或少的存在着这样那样的问题,这些还需要我们进一步的去研究。在接下来,我们要深入的研究软件的授权等安全功能建模与测试技术,把安全测试方法形式化,研究模糊测试、故障注入以及基于属性的安全测试方法还有很多新的软件安全测试技术等着我们去深入的研究开发,我相信,通过我们的努力,我们一定能够开发出更好的软件安全测试技术,让软件的安全性能得到保障。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11