收藏本站 收藏本站
积木网首页 - 软件测试 - 常用手册 - 站长工具 - 技术社区
软件测试 > 安全测试 > 正文

首页 | 领域细分: 游戏测试 安全测试 手机测试 Web测试 | 技术研究: 单元测试 入门教程 用例设计 性能测试 功能测试 | 测试职场: 面试精选 职场发展 面试试题

测试管理: 配置及流程 - 需求管理 - 质量验收 - 缺陷管理 - 其它管理相关 | 开发语言: PHP技巧 - PHP基础 - PHP实例 - PHP错误代码

测试工具: LoadRunner JiRa QuickTestPro RoBot WinRunner TestDirector 其它测试工具 | 数据库: Mysql数据库 Oracle数据库 CSS/DIV基础 HTML基础

WEB安全性测试分析

来源:互联网 日期:2014-09-07 10:26

  安全性测试(security testing)是有关验证应用程序的安全服务和识别潜在安全性缺陷的过程。

  注意:安全性测试并不最终证明应用程序是安全的,而是用于验证所设立策略的有效性,这些对策是基于威胁分析阶段所做的假设而选择的。

  以下是我读<>中的Web安全性测试章节内容,并进行修改的笔记,前面看了好多朋友写的,不过不是很全,希望对大家有所帮助,建议大家还是买本<>此书绝对物超所值^_^

  WEB安全性测试

  一个完整的WEB安全性测试可以从部署与基础结构、输入验证、身份验证、授权、配置管理、敏感数据、会话管理、加密。参数操作、异常管理、审核和日志记录等几个方面入手。

  1.安全体系测试

  1)部署与基础结构

  网络是否提供了安全的通信

  部署拓扑结构是否包括内部的防火墙

  部署拓扑结构中是否包括远程应用程序服务器

  基础结构安全性需求的限制是什么

  目标环境支持怎样的信任级别

  2)输入验证

  如何验证输入

  A.是否清楚入口点

  B.是否清楚信任边界

  C.是否验证Web页输入

  D.是否对传递到组件或Web服务的参数进行验证

  E.是否验证从数据库中检索的数据

  F.是否将方法集中起来

  G.是否依赖客户端的验证

  H.应用程序是否易受SQL注入攻击

  I.应用程序是否易受XSS攻击

  如何处理输入

  3)身份验证

  是否区分公共访问和受限访问

  是否明确服务帐户要求

  如何验证调用者身份

  如何验证数据库的身份

  是否强制试用帐户管理措施

  4)授权

  如何向最终用户授权

  如何在数据库中授权应用程序

  如何将访问限定于系统级资源

  5)配置管理

  是否支持远程管理

  是否保证配置存储的安全

  是否隔离管理员特权

  6)敏感数据

  是否存储机密信息

  如何存储敏感数据

  是否在网络中传递敏感数据

  是否记录敏感数据

  7)会话管理

  如何交换会话标识符

  是否限制会话生存期

  如何确保会话存储状态的安全

  8)加密

  为何使用特定的算法

  如何确保加密密钥的安全性

  9)参数操作

  是否验证所有的输入参数

  是否在参数过程中传递敏感数据

  是否为了安全问题而使用HTTP头数据

  10)异常管理

  是否使用结构化的异常处理

  是否向客户端公开了太多的信息

  11)审核和日志记录

  是否明确了要审核的活动

  是否考虑如何流动原始调用这身份

  2.应用及传输安全

  WEB应用系统的安全性从使用角度可以分为应用级的安全与传输级的安全,安全性测试也可以从这两方面入手。

  应用级的安全测试的主要目的是查找Web系统自身程序设计中存在的安全隐患,主要测试区域如下。

  注册与登陆:现在的Web应用系统基本采用先注册,后登录的方式。

  A.必须测试有效和无效的用户名和密码

  B.要注意是否存在大小写敏感,

  C.可以尝试多少次的限制

  D.是否可以不登录而直接浏览某个页面等。

  在线超时:Web应用系统是否有超时的限制,也就是说,用户登陆一定时间内(例如15分钟)没有点击任何页面,是否需要重新登陆才能正常使用。

  操作留痕:为了保证Web应用系统的安全性,日志文件是至关重要的。需要测试相关信息是否写进入了日志文件,是否可追踪。

  备份与恢复:为了防范系统的意外崩溃造成的数据丢失,备份与恢复手段是一个Web系统的必备功能。备份与恢复根据Web系统对安全性的要求可以采用多种手段,如数据库增量备份、数据库完全备份、系统完全备份等。出于更高的安全性要求,某些实时系统经常会采用双机热备或多级热备。除了对于这些备份与恢复方式进行验证测试以外,还要评估这种备份与恢复方式是否满足Web系统的安全性需求。

  传输级的安全测试是考虑到Web系统的传输的特殊性,重点测试数据经客户端传送到服务器端可能存在的安全漏洞,以及服务器防范非法访问的能力。一般测试项目包括以下几个方面。

  HTTPS和SSL测试:默认的情况下,安全HTTP(Soure HTTP)通过安全套接字SSL(Source Socket Layer)协议在端口443上使用普通的HTTP。HTTPS使用的公共密钥的加密长度决定的HTTPS的安全级别,但从某种意义上来说,安全性的保证是以损失性能为代价的。除了还要测试加密是否正确,检查信息的完整性和确认HTTPS的安全级别外,还要注意在此安全级别下,其性能是否达到要求。

  服务器端的脚本漏洞检查:存在于服务器端的脚本常常构成安全漏洞,这些漏洞又往往被黑客利用。所以,还要测试没有经过授权,就不能在服务器端放置和编辑脚本的问题。

  防火墙测试:防火墙是一种主要用于防护非法访问的路由器,在Web系统中是很常用的一种安全系统。防火墙测试是一个很大很专业的课题。这里所涉及的只是对防火墙功能、设置进行测试,以判断本Web系统的安全需求。

  另推荐安全性测试工具

  Watchfire AppScan:商业网页漏洞扫描器(此工具好像被IBM收购了,所以推荐在第一位)

  AppScan按照应用程序开发生命周期进行安全测试,早在开发阶段就进行单元测试和安全保证。Appscan能够扫描多种常见漏洞,例如跨网站脚本、HTTP应答切开、参数篡改、隐藏值篡改、后门/调试选项和缓冲区溢出等等。

  安全测试检查系统对非法侵入的防范能力。安全测试期间,测试人员假扮非法入侵者,采用各种办法试图突破防线。例如,①想方设法截取或破译口令;②专门定做软件破坏系统的保护机制;③故意导致系统失败,企图趁恢复之机非法进入;④试图通过浏览非保密数据,推导所需信息,等等。理论上讲,只要有足够的时间和资源,没有不可进入的系统。因此系统安全设计的准则是,使非法侵入的代价超过被保护信息的价值。此时非法侵入者已无利可图。

本周排行

别人正在浏览

强悍的草根IT技术社区,这里应该有您想要的! 友情链接:b2b电子商务
Copyright © 2010 Gimoo.Net. All Rights Rreserved  京ICP备05050695号