目录
一、安全测试定义
安全测试是在软件产品开发基本完成时,验证产品是否符合
安全需求定义和
产品质量标准的过程。
二、安全测试的目的
-
提升产品的安全质量
-
尽量在发布前找到安全问题予以修补降低成本
-
度量安全
-
验证安装在系统内的保护机制能否在实际应用中对系统进行保护,使其不被非法入侵,不受各种因素的干扰。
三、与普通测试的区别
测试维度
|
普通测试
|
安全测试
|
目标
|
测试以发现功能缺陷为目标
|
以发现安全隐患为目标
|
假设条件
|
测试假设导致问题的数据是用户不小心造成的,或者是业务代码存在缺陷
|
假设导致问题的数据是攻击者处心积虑构造的,需要考虑所有可能的攻击途径
|
思考域
|
测试以系统所具有的功能为思考域
|
不但包括系统的功能,还有系统的机制、外部环境、应用于数据、自身安全风险、与安全属性等
|
问题发现模式
|
以违反定义为判断依据
|
以违反权限与能力的约束为判断依据
|
四、与渗透测试的区别
测试维度
|
渗透测试
|
安全测试
|
出发点
|
以成功入侵系统,证明系统存在安全问题为出发点
|
以发现系统所有可能的安全隐患为出发点
|
视角
|
以攻击者的角度来看待和思考问题
|
站在防护者角度思考问题,尽量发现所有可能被攻击者利用的安全隐患,并指导其进行修复。
|
覆盖性
|
只选取几个点作为测试的目标
|
在分析系统架构并找出系统所有可能的攻击界面后,进行的具有完备性的测试
|
成本差异
|
要点较少,成本相对较低
|
需要对系统的功能、系统所采用的技术及系统的架构等进行分析,所以较渗透测试需要投入更多的时间和人力。
|
解决方案
|
无法提供有针对性的解决方案
|
站在开发者的角度分析问题的成因,提供更有效的解决方案
|