浅析测试软件安全的方法

发表于:2012-11-08 10:25

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试网采编

分享:

  2.3.1 类型推断

  我们知道我们分析运算符作用的对象、赋值,实际参数的传递时,或多或少都会存在一些类型合适不合适的情况。我们所说的类型推断属于处理过程,它的目的是保证进行对象的每个操作的数目和类型都是正确、合理的,确保操作有效。类型推断可以检查类型错误,选择合适的操作,根据情况确定必要的类型转换。这种方法简单、高效,对快速的检测软件的安全性非常的适合。我们在检查操作系统内核权限、遇到程序中字符串格式化漏洞和内核中不安全的指针使用的安全检测的时候采用类型推断方法检测。

  2.3.2 数据流分析

  在编译的时候我们可以使用数据流分析技术,这种技术可以收集程序代码中的语义信息,然后用代数的方式对它进行编译,从而确定变量定义以及变量的使用。我们可以用数据流分析来优化编译、调试、验证、并行、测试、向量化程序的环境因素。在安全检测中数据流分析有非常广泛的应用,我们用数据流分析可以检测程序软件中的数组的越界等多种类型的安全漏洞。

  2.3.3 约束分析

  约束分析分为约束产生、约束求解两个步骤,约束分析的第一步是利用约束规则建立分析状态和变量类型的约束,第二步是求解这些约束系统。约束系统分为三种形式:等式、集合以及混合。约束项之间仅仅存在等式关系的是等式约束,集合约束是把程序变量看作值集,混合约束系统由部分等式约束和部分集合约束组成。在安全检测中我们使用约束分析来测试软件的安全性能也是比较广泛的。例如我们利用集合约束的方法来测试程序中缓冲区是不是存在溢出漏洞。

  以上三种静态检测方法各有各的利弊,通过对各自的比较我们可以看出,检测能力强但是速度慢的是约束分析,这种分析方法检测软件安全比较适合;检测强速度较快的是数据流分析,这种方法最适合的是要求考虑控制流信息并且变量之间的操作简单的问题;最检测能力弱检测速度快的是类型推断,这种方法最适合的问题是与控制流无关、属性域有限的安全属性。

  2.4 侦听技术

  我们所说的侦听技术有的也叫做网络监听,这种方法可以获取网络传输的信息,获取的信息并非发给自己的。在测试软件的安全性时网络侦听技术是常用手段,这种方法可有效诊断、管理网络问题,可以很好的检查软件网络安全存在的威胁。

  我们现在最常用的网络是一个广播型的网络,我们可以从该网中的任何的一台计算机都可以侦听到这个网段所有的数据传输包。我们可以利用这种技术对软件进行安全性检测,防止软件泄露一些重要的数据,我们可以利用工具或者是自己编的小程序复制我们侦听到的数据包并把他们存储下来,然后我们就可以通过得到的这些信息数据来分析网络、软件的安全。我们最好把侦听放在路由器、网关、防火墙、交换机等设备的地方,由于这些地方流过的信息包多,所以这里的监听效果最好。我们经常使用的网络侦听经典程序有Snoop等,一般来说侦听程序还不能做到把侦听到的数据包马上进行分解分析,这些软件一般是先进行不停地存储,然后慢慢再进行分析,这样可以防止数据包的遗漏。

  3、总结

  从上面的介绍和论述中我们可以看出,软件的安全是计算机信息安全最重要的组成部分之一,安全性测试的重要性越来越得到软件开发以及测试人员的认可。现在软件安全的检测办法有很多,我们主要了解介绍了比较传统但是不可缺少的手动分析方法,还有动态分析和静态分析,通过对程序的执行来检测软件的安全,还有侦听技术,保证网络和软件的安全使用,保证软件的重要数据不被泄露。但是我们现在的测试软件安全的方法还不够的系统全面,还或多或少的存在着这样那样的问题,这些还需要我们进一步的去研究。在接下来,我们要深入的研究软件的授权等安全功能建模与测试技术,把安全测试方法形式化,研究模糊测试、故障注入以及基于属性的安全测试方法还有很多新的软件安全测试技术等着我们去深入的研究开发,我相信,通过我们的努力,我们一定能够开发出更好的软件安全测试技术,让软件的安全性能得到保障。

22/2<12
精选软件测试好文,快来阅读吧~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号