1、安全性测试
安全性测试(Security test)它是指:在测试软件系统中对程序的危险防止和危险处理进行的测试,以验证其是否有效。
2、安全性测试我们要做哪些工作呢?
a.全面检验软件在软件需求规格说明中规定的防止危险状态措施的有效性和在每一个危险状态下的处理反应情况;
b.对软件设计中用于提高安全性的逻辑结构、处理方案,进行针对性测试;
c.在异常条件下测试软件,以表明不会因可能的单个或多个输入错误而导致不安全状态
d.用错误的安全性关键操作进行测试,以验证系统对这些操作错误的反应;
e.对安全性关键的软件单元功能模块要单独进行加强的测试以确认其满足安全性需求。
3、安全性测试方法
1)功能验证
功能验证是采用软件测试当中的黑盒测试方法,对涉及安全的软件功能,如:用户管理模块,权限管理,加密系统,认证系统等进行测试,主要验证上述功能是否有效。
2)漏洞扫描
安全漏洞扫描主要是借助于特定的漏洞扫描器完成的。通过使用漏洞扫描器,系统管理员能够发现系统存在的安全漏洞,从而在系统安全中及时修补漏洞的措施。一般漏洞扫描分为两种类型:主机漏洞扫描器是指在系统本地运行检测系统漏洞的程序。网络漏洞扫描器是指基于网络远程检测目标网络和主机系统漏洞的程序。
3)模拟攻击
对于安全测试来说,模拟攻击测试是一组特殊的极端的测试方法,我们以模拟攻击来验证软件系统的安全防护能力。
系统安全测试的内容,它主要包括:
(1)应用程序安全测试
(2)操作系统安全测试
(3)数据库安全测试
(4)IIS服务器安全测试
(5)网络环境安全测试
当然在这里我主要讲的是我做过的项目系统中需要测试的内容,对不同的系统安全性测试的内容也不一样,这个需要结合项目本身的情况和用户使用环境来确定测试的内容。
第一部分
应用程序的安全性:
包括对数据或业务功能的访问,在预期的安全性情况下,操作者只能访问应用程序的特定功能、有限的数据。其测试是核实操作者只能访问其所属用户类型已被授权访问的那些功能或数据。测试时,确定有不同权限的用户类型,创建各用户类型并用各用户类型所特有的事务来核实其权限,最后修改用户类型并为相同的用户重新运行测试。
应用程序的安全性问题:
以上的安全性测试方法中,对于不同的安全性测试策略列举了不同的问题,当然我列的不全,在这里我主要是告诉大家一个测试的思路,因为对于不同的安全性问题大家有或许有不同的看法,所以我只列举了部分问题给大家参考。
功能验证
1.有效的密码是否接受,无效的密码是否拒绝。
2.系统对于无效用户或密码登陆是否有提示。
3.用户是否会自动超时退出,超时的时间是否合理。
4.各级用户权限划分是否合理。