软件测试技术——安全性测试

软件安全性测试就是有关验证应用程序的安全服务和识别潜在安全性缺陷的过程。

实施安全性测试时,需要考虑软件系统的安全性需求。通常包括两类:一类是作用于整个系统的系统安全性需求,另一类是与某些特定功能相关的特定安全性需求。软件系统的全局的安全性问题,可能与应用程序的架构以及整体实现相关,许多系统都利用了第三方资源来实现特殊的功能性需求,对于测试人员来说,验证所有经过这些组件的信息,是否遵从了系统的全局安全性需求规格说明书是尤其重要的。

对于第三方产品来说,紧跟和安装厂商提供的最新补丁是非常重要的,其中包括web服务器、操作系统和数据库的补丁。与所有更新一样,每次安装了补丁以后,还应该对系统进行回归测试来保证没有引入新的问题。

1.特定需求和整个系统的安全性测试考虑

通常利用用户管理和访问控制、通信和数据加密、数据备份和恢复等功能进行安全防护。

1)用户管理和访问控制安全性测试需要考虑的问题:

  • 明确区分系统中不同用户的权限:应用程序级别的安全性、系统级别的安全性;
  • 检查系统在非授权的内部或外部用户访问或故意破坏时是否出现错误;
  • 系统中会不会出现用户冲突;
  • 系统会不会因为用户权限的改变造成混乱;
  • 用户登录密码是否是可见、可复制;
  • 是否可以通过绝对途径登录系统(复制用户登录后的链接直接进入系统);
  • 用户退出系统后是否删除了所有鉴权标记,是否可以使用后退键而不通过输入口令进入系统;
  • 用户错误登录次数的规定和处理。

2)数据库安全性测试需要考虑的问题

  • 系统数据是否机密;
  • 系统数据的完整性;
  • 系统数据的可管理性;
  • 系统数据的独立性;
  • 系统数据可备份和恢复能力。检查数据备份是否完整,可否恢复,恢复后是否完整。

2.软件安全性测试的方法

采用各种方式来验证或发现系统安全方面的问题,对于软件需求说明书上既定的有关安全的功能需求,要一一进行验证测试,对于没有在软件需求说明书上标明的可能影响系统运行安全的隐形需求也要努力的发现。主动发现,避免被动发现。

除了有针对软件系统的安全防护功能的功能测试外,还有漏洞扫描、木马检查、模拟攻击试验和使用侦听技术,具体如下:

1)功能测试:检查权限管理模块、数据恢复功能等这些功能是否达到预期的安全目标,是否达到了没有安全疏漏的要求。

2)漏洞扫描:采用成熟的网络漏洞检查工具检查系统相关漏洞(用专业黑客攻击工具试一下,如NBSI系统和IPhacker IP)。

3)模拟攻击试验:模拟非授权攻击,检查防护系统是否坚固。

4)侦听技术。

3.外购安全性测试

第三方安全性测试公司进行安全性测试,与内部测试结合,保证系统安全性。

 

  • 4
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值