更多课程 选择中心

软件测试培训
达内IT学院

400-111-8989

详述软件测试中安全性测试的原则问题

  • 发布:test先生
  • 来源:软件测试资源分享
  • 时间:2018-05-22 11:20

详述软件测试中安全性测试的原则性问题

我们在进行软件测试的时候,往往会面对一些安全性测试的问题,让人纠结的是要避免因安全性缺陷问题受各种可能类型的攻击是不可能的,所以从软件测试安全性方面去思考,有什么样的方法或者安全性测试原则,可以让我们达到一种中和的状态呢?今天我们的软件测试培训就来探讨一下这个问题:

软件安全性是一个广泛而复杂的主题,每一个新的软件总可能有完全不符合所有已知模式的新型安全性缺陷出现。要避免因安全性缺陷问题受各种可能类型的攻 击是不切实际的。在软件安全测试时,运用一组好的原则来避免不安全的软件上市、避免不安全软件受攻击,就显得十分重要。

一、软件测试中安全性测试基本概念

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

1.用户程序安全的测试要考虑问题包括:

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

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

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

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

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

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

2.系统网络安全的测试要考虑问题包括:

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

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

③ 采用成熟的网络漏洞检查工具检查系统相关漏洞;

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

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

3.数据库安全考虑问题:

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

② 系统数据的完整性;

③ 系统数据可管理性;

④ 系统数据的独立性;

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

二、软件测试中安全测试需要考虑的问题

1. 是否保护了最薄弱的环节?

攻击者往往设法攻击最易攻击的环节,这对于您来说可能并不奇怪。即便他们在您系统各部分上花费相同的精力,他们也更可能在系统最需要改进的部分中发现问题。这一直觉是广泛适用的,因此我们的安全性测试应侧重于测试最薄弱的部分。

如果执行一个好的风险分析,进行一次最薄弱环节的安全测试,标识出您觉得是系统最薄弱的组件应该非常容易,消除最严重的风险,是软件安全测试的重要环节。

2. 是否具有纵深防御的能力?

纵深防御背后的思想是:使用多重防御策略来测试软件,以至少有一层防御将会阻止完全的黑客破坏。 “保护最薄弱环节”的原则适用于组件具有不重叠的安全性功能。当涉及到冗余的安全性措施时,所提供的整体保护比任意单个组件提供的保护要强得多,纵深防御 能力的测试是软件安全测试应遵循的原则。

3. 是否有保护故障的措施?

大量的例子出现在数字世界。经常因为需要支持不安全的旧版软件而出现问题。例如,比方说,该软件的原始版本十分“天真”,完全没有使用加密。现在该软件想修正这一问题,但已建立了广大的用户基础。此外,该软件已部署了许多或许在长时间内都不会升级的服务器。更新更聪明的客户机和服务器需 要同未使用新协议更新的较旧的客户机进行互操作。该软件希望强迫老用户升级,没有指望老用户会占用户基础中如此大的一部分,以致于无论如何这将真的很麻烦。怎么办呢?让客户机和服务器检查它从对方收到的第一条消息,然后从中确定发生了什么事情。如果我们在同一段旧的软件“交谈”,那么我们就不执行加密。

遗憾的是,老谋深算的黑客可以在数据经过网络时,通过篡改数据来迫使两台新客户机都认为对方是旧客户机。更糟的是,在有了支持完全(双向)向后兼容性的同时仍无法消除该问题。

对这一问题的一种较好解决方案是从开始就采用强制升级方案进行设计;使客户机检测到服务器不再支持它。如果客户机可以安全地检索到补丁,它就升级。否则,它告诉用户他们必须手工获得一个新的副本。但是从一开始就应准备使用这一解决方案,否则就会得罪早期用户。

恭喜你阅读完了本文,相信通过本文的阅读,你已经了解了软件测试中安全性测试应该注意的问题,在这里小编想再重复一下开篇的那句话:要避免因安全性缺陷问题受各种可能类型的攻击是不可能的,所以我们在进行安全性测试的时候一定要抓住重点进行操作,不要避重就轻。最后,如果大家还有关于软件测试的相关性问题,欢迎大家来达内软件测试培训机构进行咨询。

免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

预约申请免费试听课

填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:软件测试工程师需要掌握的HTML标签汇总
下一篇:全面了解软件测试覆盖率的相关问题

你知道吗?做软件测试不一定需要精通代码!

软件测试人员不需要懂代码,这是一个伪命题!

如何设计登录测试的设计用例?

软件测试必备的数据库知识有哪些?(终)

  • 扫码领取资料

    回复关键字:视频资料

    免费领取 达内课程视频学习资料

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

陕西省

湖南省

贵州省

云南省

广西省

海南省