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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

4)侦听技术。

3.外购安全性测试

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

软件测试技术——安全性测试相关推荐

  1. 软件测试·系统测试·安全性测试

    软件测试主要是为了测试发现软件系统中的BUG,并进行改正,以保证在软件交付给客户是能够保证客户需求达到实现.但在交付之后,并不意味着软件就不会再出现错误,哪怕软件的运行BUG已经完全被解决,而病毒及非 ...

  2. 东软学院软件测试,软件测试技术与测试标准

    本教材面向软件测试的实际应用,系统阐述了软件测试所涉及到的基础理论.常用技术.过程管理和质量控制:重点讲解软件测试中的白盒测试技术.黑盒测试技术以及自动化测试技术,全面剖析了软件测试从单元测试阶段.集 ...

  3. 软件测试技术测评,软件测试技术——基于案例的测试

    <软件测试技术--基于案例的测试>是2013年8月机械工业出版社出版的图书,作者是贲可荣. 书    名 软件测试技术--基于案例的测试 作    者 贲可荣 ISBN 978711133 ...

  4. CMMI模型对软件测试技术的扩充

    在软件开发的瀑布模型中,测试是一个非常重要的工程阶段.从保证软件质量的角度来说,软件测试是软件质量保证工程的一个重要组成部分,也是最重要的质量保证手段.为了保证所提交的软件产品能够满足客户的需求,以及 ...

  5. [原创]快钱99bill网站安全性测试漏洞之“跨站式脚本注入”

    [原创]快钱99bill网站安全性测试漏洞之"跨站式脚本注入" 网站安全性测试,尤为重要,电子支付网站更是如此,本文作者以实例介绍了 (1)"Yeepay网站安全测试漏洞 ...

  6. 软件测试-------Web(性能测试 / 界面测试 / 兼容性测试 / 安全性测试)

    Web(性能测试 / 界面测试 / 兼容性测试 / 安全性测试) 一.Web性能测试:(压力测试.负载测试.连接速度测试) 1.压力测试:      并发测试 (如500人同时登录邮箱) 2.负载测试 ...

  7. 【软件测试】测试经验:IT 软件测试技术系统化学习方法

    目录 一.IT 软件测试技术的介绍 (1)相关职称证书 ① 「中级」软件评测师 ②「高级」项目管理师 (2)背景 (3)作用 (4)行业应用 (5)技术概况 二.系统化学习的前置准备 (1)学习目标 ...

  8. 软件测试 通用技术02 测试流程 V模型 W模型 H模型 X模型 单元测试 软件测试分类

    文章目录 1 软件测试流程 2 软件测试过程模型 2.1 V模型(重点) 2.2 W模型(重点) 2.3 H模型 2.4 X模型 3 软件测试过程理念 4 软件测试分类 4.1 按照开发阶段划分 单元 ...

  9. 软件测试设计与开发,软件测试技术·测试设计与开发.ppt

    软件测试技术·测试设计与开发 * 3.4 评审测试用例 复查测试用例时应该考虑的一些问题: 测试或测试组件完全针对的是需求中列出的功能吗? 测试组件是否覆盖了所有需求? 有冗余的测试吗? 每一个测试步 ...

  10. 软件测试java三角形形状判定,软件测试技术基础实验——Junit 安装与 三角形问题的测试...

    在学习了基本的软件测试技术之后,我们终于要进行最简单的实战演练了.第一次上机,来看看我们是如何安装Junit,Hamcrest和Eclemma的. 一.安装Junit(4.12)和Hamcrest(1 ...

最新文章

  1. 初创企业股权架构_初创企业如何以每月不到200美元的价格利用生产级基础架构...
  2. scrapy分布式去重组件源码及其实现过程
  3. 全文搜索技术—Lucene
  4. Linux操作系统下如何编译安装源码包软件
  5. centos 7.3 开放端口并对外开放
  6. Leetcode 148. 排序链表 解题思路及C++实现
  7. python怎么命名未知数_码如其人,小老弟,你能写一手漂亮的Python函数吗
  8. linux文件内容添加序号,nl命令将指定的各个文件添加行号编号序号标注后写到标准输出...
  9. Android Bitmap和Canvas学习笔记
  10. python闯关_Day012
  11. Truncated incorrect DOUBLE value: 'xxx'的解决方法
  12. 拓端tecdat|在R语言中使用航空公司复杂网络对疫情进行建模
  13. 达人篇:5)公差的正态分布与CPK与制程能力(重要)
  14. 扫地机器人作文说明文提纲_关于物品的说明文:扫地机器人的自述
  15. 基于STM32+腾讯云IO+微信小程序设计的混凝土智能养护系统
  16. ddms java 截图_从Android设备获取实时截屏
  17. Launcher 的启动
  18. java从零到项目实战(八)
  19. 【文末福利】用Python画了一幅《海上生明月》的画
  20. 思林杰科创板上市破发:大跌近24% 应收账款近2亿

热门文章

  1. docker 自定义网络
  2. costmap代价地图学习
  3. SUSE12 sp1如何进入单用户模式
  4. python与分形0011 - 【教程】带辐条的多边形
  5. 同步发电机励磁调节实验原理_发电机组自动控制系统工作原理
  6. PAT练习 人口普查
  7. Windows聚焦壁纸
  8. SQL SERVER 2005下载(本地使用)
  9. Firebug调试工具
  10. 一篇文告诉你各行业视频监控录像的要求,看看你是否达标