安全测试概述
一、安全测试定义
安全测试是在软件产品开发基本完成时,验证产品是否符合安全需求定义和产品质量标准的过程。
二、安全测试的目的
-
提升产品的安全质量
-
尽量在发布前找到安全问题予以修补降低成本
-
度量安全
-
验证安装在系统内的保护机制能否在实际应用中对系统进行保护,使其不被非法入侵,不受各种因素的干扰。
三、安全测试与普通测试的区别
测试维度
|
普通测试
|
安全测试
|
目标
|
测试以发现功能缺陷为目标
|
以发现安全隐患为目标
|
假设条件
|
测试假设导致问题的数据是用户不小心造成的,或者是业务代码存在缺陷
|
假设导致问题的数据是攻击者处心积虑构造的,需要考虑所有可能的攻击途径
|
思考域
|
测试以系统所具有的功能为思考域
|
不但包括系统的功能,还有系统的机制、外部环境、应用于数据、自身安全风险、与安全属性等
|
问题发现模式
|
以违反定义为判断依据
|
以违反权限与能力的约束为判断依据
|
四、安全测试与渗透测试的区别
测试维度
|
渗透测试
|
安全测试
|
出发点
|
以成功入侵系统,证明系统存在安全问题为出发点
|
以发现系统所有可能的安全隐患为出发点
|
视角
|
以攻击者的角度来看待和思考问题
|
站在防护者角度思考问题,尽量发现所有可能被攻击者利用的安全隐患,并指导其进行修复。
|
覆盖性
|
只选取几个点作为测试的目标
|
在分析系统架构并找出系统所有可能的攻击界面后,进行的具有完备性的测试
|
成本差异
|
要点较少,成本相对较低
|
需要对系统的功能、系统所采用的技术及系统的架构等进行分析,所以较渗透测试需要投入更多的时间和人力。
|
解决方案
|
无法提供有针对性的解决方案
|
站在开发者的角度分析问题的成因,提供更有效的解决方案
|
五、安全测试分类
六、安全测试要点
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!