如何做好软件安全测试

如何做好软件安全测试,第1张

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

② 系统数据的完整性

③ 系统数据可管理性

④ 系统数据的独立性

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

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

1. 保护了最薄弱的环节

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

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

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

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

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

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

一、用户认证安全的测试:

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

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

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

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

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

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

二、系统网络安全的测试

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

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

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

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

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

三、 数据库安全测试:

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

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

3、系统数历历据可管理性

4、系统数据的独立性

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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12534000.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存