web应用程序安全测试-part1(原创翻译)

上一篇 / 下一篇  2007-11-28 11:44:46 / 个人分类:翻译

web应用程序和C-S是一样的吗?这个问题在软件测试研究中很常见,如果你是一个与测试相关的web团队的一员,你可能从不同的人那里听到很多次了。

CSweb应用程序体系之间有很多的不同之处。作为一个测试web应用程序的测试人员,明白cs体系是什么并且web是怎么样不同于传统cs体系的这一点非常重要。

webcs网络的一种特殊的版本,但有明显的不同。在cs网络,复杂的耗时的数据任务被委派给强大而昂贵的名叫服务器的机器。它们通过网络处理并传输给名为客户端的机器。因此cs体系包含服务器客户端和链接它们的网络。

如果你了解底层的标准,cs体系不是这么简单。为了链接两个机器,你需要网络标准协议,需要合适的软件在客户端和服务器端的网络上发送和接受数据。需要处理好在传输过程中丢失的数据的问题,带宽问题,断网的问题等等。所有这些问题已经被一些协议如tcp/ip,udp,arp等等处理了。开发者使用它们面对的问题就很少了。这些协议是cs体系的支柱。

www是在现有的cs体系的高层开发的。它是ftpemail进行共享文件和数据的替代机制。新的在服务器端处理请求的发展,新的客户端链接和浏览服务器资源的软件,新的发展比如httphtml等等加速了web的发展。web体系的主要组件是web服务器,它可以接收从任何客户端发来的请求,web开始时处理静态连接,但很快开始探索比静态连接跟多的可能性。

虽然web是建立在cs纸上的,但还是有明显的区别。比如

webcs体系的一个特例,臃肿的客户端可以通过各种协议和标准与服务器进行通话,如httphtmlxmlsoap等等。

cs体系,客户端和服务器在一个公司的一墙之内,因此在一个受保护的环境中。在这个情况下客户是受信的用户。web是不同的,因为任何一个客户端都可以连接服务器所以不能被可信的对待。

由于cs是在一个公司的防火墙只能,所以安全性方面的问题就没有web应用程序那样重要。

cs体系,每个客户端都是明确的;每个被服务器接收到的请求都包含有谁发起这个请求的信息。在web体系,任何一个用户都可能是危险的。

web给那些在网络上怀有恶意的用户篡改数据的机会。与web体系相比传统cs结构中数据被篡改的几率小的多。

cs体系中客户端的数量是可预期和可控制的。但是在web体系很难。

cs体系客户受约束很多,装什么系统,在哪个平台运行,用什么浏览器等所有事情都能被限制。相比之下,在web体系没有什么是可以被控制的。

因为如此,在cs体系中的测试和web体系的城市也是不同的。受影响的主要区域可以概括为以下方面:

商业逻辑:在cs体系所有的客户端逻辑都需要测试而在web体系大多数情况是不需要的。

平台和操作系统依赖性:web应用程序是脱离操作系统依赖的,只需要在不同的浏览器测试。cs体系程序依赖于操作系统或平台,所以强调要测试不同的平台和操作系统。

可测量性:web程序必须测试在数千个用户并发情况下的表现。对cs程序来说这个数量相当少。

安全性:这是web程序的重要组成,但对cs程序来说要求很低。原因是cs程序的客户端和服务器之间的交互是发生在信任领域的,而在web程序没有这种情况。

总而言之,web程序是cs体系程序的一个特例,但他们在很多领域不同。在web环境中测试,所有的明确的地方都需要充分的记录,因为每个连接的客户端对系统都存在着潜在的威胁。

希望这篇文章对你在csweb方面区别认识有所帮助。另外,在这个体系和另一个体系中的测试怎样不同,安全性测试的重要性也是基于这篇文章的内容。

下一篇文章将更深入的讨论这个话题,并且将要讨论针测试web程序安全性的各种技术和工具。

这篇文章也参考了我最近读到的Mike Andrews and James A. Whittaker的《怎样打破web软件》一书。那本书会给你更多关于web程序安全测试方面的知识。

 


TAG: 翻译

 

评分:0

我来说两句

我的栏目

日历

« 2024-04-30  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 9405
  • 日志数: 11
  • 建立时间: 2007-11-17
  • 更新时间: 2007-12-25

RSS订阅

Open Toolbar