一、基本理解:
安全测试什么时候开始进行?
安全测试是在IT软件产品的生命周期中,特别是产品开发基本完成到发布阶段,对产品进行检验以验证产品符合安全需求定义和产品质量标准的过程 。
安全测试与功能测试的区别:
1.目标不同:测试以发现BUG为目标,安全测试以发现安全隐患为目标。
2.假设条件不同:测试假设导致问题的数据是用户不小心造成的,接口一般只考虑用户界面。安全测试假设导致问题的数据是攻击者处心积虑构造的,需要考虑所有可能的攻
击途径。
3.思考域不同:测试以系统所具有的功能为思考域。安全测试的思考域不但包括系统的功能,还有系统的机制、外部环境、应用与数据自身安全风险与安全属性等。
4.问题发现模式不同:测试以违反功能定义为判断依据。安全测试以违反权限与能力的约束为判断依据。
与渗透测试的区别:
1.出发点差异:渗透测试是以成功入侵系统,证明系统存在安全问题为出发点;而安全测试则是以发现系统所有可能的安全隐患为出发点。
2.视角差异:渗透测试是以攻击者的角度来看待和思考问题,安全测试则是站在防护者角度思考问题,尽量发现所有可能被攻击者利用的安全隐患,并指导其进行修复。
3.覆盖性差异:渗透测试只选取几个点作为测试的目标,而安全测试是在分析系统架构并找出系统所有可能的攻击界面后进行的具有完备性的测试。
4.成本差异:安全测试需要对系统的功能、系统所采用的技术以及系统的架构等进行分析,所以较渗透测试需要投入更多的时间和人力。
5.解决方案差异:渗透测试无法提供有针对性的解决方案;而安全测试会站在开发者的角度分析问题的成因,提供更有效的解决方案。
二、安全测试方法:
1、功能测试
采用黑盒测试方法,对设计安全的模块进行验证
如:用户管理,权限管理,加密系统,认真系统
2、漏洞扫描
安全漏洞扫描,借助漏洞扫描器完成,它可以自动检测远程或本地主机的安全性。
主机漏洞扫描器(Host Scanner):COPS、Tripewire、Tiger
网络漏洞扫描器(Net Scanner):Satan、ISS Internet Scanner
3、模拟攻击实验
冒充形式:
口令猜测:黑客识别出可利用的用户账户,控制机器
缓冲区溢出:代码层的漏洞,指针指向恶意代码,执行恶意指令,得到系统控制权
三、常见的安全问题处理方式
1、数据安全
AWS服务器、云端(阿里云)等部署的项目实现热备、冷备处理方式
其他应急处理方式
2、应用层安全
应用挂掉,可以手动启动机制
应用一键部署和启动
更多...待补充