我会努力工作,提高测试技能。

总结安全性测试

上一篇 / 下一篇  2010-05-26 15:35:22 / 个人分类:测试技术

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

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

软件安全性测试包括程序、数据库安全性测试。根据系统安全指标不同测试策略也不同。

 用户认证安全的测试要考虑问题:

明确区分系统中不同用户权限

系统中会不会出现用户冲突

系统会不会因用户的权限的改变造成混乱

用户登陆密码是否是可见、可复制

是否可以通过绝对途径登陆系统(拷贝用户登陆后的链接直接进入系统)

用户推出系统后是否删除了所有鉴权标记,是否可以使用后退键而不通过输入口令进入系统

  系统网络安全的测试要考虑问题:

测试采取的防护措施是否正确装配好,有关系统的补丁是否打上

模拟非授权攻击,看防护系统是否坚固

采用成熟的网络漏洞检查工具检查系统相关漏洞(即用最专业的黑客攻击工具攻击试一下,现在最常用的是NBSI系列和IPhacker IP)

采用各种木马检查工具检查系统木马情况

采用各种防外挂工具检查系统各组程序的客外挂漏洞

  数据库安全考虑问题:

系统数据是否机密(比如对银行系统,这一点就特别重要,一般的网站就没有太高要求)

系统数据的完整性(我刚刚结束的企业实名核查服务系统中就曾存在数据的不完整,对于这个系统的功能实现有了障碍)

系统数据可管理性

系统数据的独立性

系统数据可备份和恢复能力(数据备份是否完整,可否恢复,恢复是否可以完整)

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

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

1. 注册与登陆:现在的Web应用系统基本采用先注册,后登录的方式。
   a.必须测试有效和无效的用户名和密码
   b.要注意是否存在大小写敏感,
   c.可以尝试多少次的限制
   d.是否可以不登录而直接浏览某个页面等。
2. 在线超时:Web应用系统是否有超时的限制,也就是说,用户登陆一定时间内(例如15分钟)没有点击任何页面,是否需要重新登陆才能正常使用。
   a.操作留痕:为了保证Web应用系统的安全性,日志文件是至关重要的。需要测试相关信息是否写进入了日志文件,是否可追踪。
   b.备份与恢复:为了防范系统的意外崩溃造成的数据丢失,备份与恢复手段是一个Web系统的必备功能。备份与恢复根据Web系统对安全性的要求可以采用多种手段,如数据库增量备份、数据库完全备份、系统完全备份等。出于更高的安全性要求,某些实时系统经常会采用双机热备或多级热备。除了对于这些备份与恢复方式进行验证测试以外,还要评估这种备份与恢复方式是否满足Web系统的安全性需求。

传输级的安全测试是考虑到Web系统的传输的特殊性,重点测试数据经客户端传送到服务器端可能存在的安全漏洞,以及服务器防范非法访问的能力。一般测试项目包括以下几个方面。
1.  HTTPS和SSL测试:默认的情况下,安全HTTP(Soure HTTP)通过安全套接字SSL(Source Socket Layer)协议在端口443上使用普通的HTTP。HTTPS使用的公共密钥的加密长度决定的HTTPS的安全级别,但从某种意义上来说,安全性的保证是以损失性能为代价的。除了还要测试加密是否正确,检查信息的完整性和确认HTTPS的安全级别外,还要注意在此安全级别下,其性能是否达到要求。
2.  服务器端的脚本漏洞检查:存在于服务器端的脚本常常构成安全漏洞,这些漏洞又往往被黑客利用。所以,还要测试没有经过授权,就不能在服务器端放置和编辑脚本的问题。
3.  防火墙测试:防火墙是一种主要用于防护非法访问的路由器,在Web系统中是很常用的一种安全系统。防火墙测试是一个很大很专业的课题。这里所涉及的只是对防火墙功能、设置进行测试,以判断本Web系统的安全需求。


TAG:

 

评分:0

我来说两句

Open Toolbar