01. 安全测试体系
2024年10月28日大约 3 分钟
01. 安全测试体系
1. 安全测试介绍
- 安全测试:就是发现软件安全漏洞的过程,旨在保护软件系统的数据与功能
- 安全测试以破坏系统的安全策略为目标进行攻击,从而检查系统的漏洞或薄弱环节
对软件系统的要求:能够向合法用户提供服务,同时能够阻止非授权用户使用和破坏
2. 安全测试与传统测试的区别
传统测试 | 安全测试 | |
---|---|---|
目标不同 | 以发现Bug为目标 | 以发现安全隐患(漏洞)为目标 |
假设条件不同 | 假设导致问题的数据是用户不小心造成的 | 假设导致问题的数据是攻击者故意构造的 |
思考域不同 | 以系统所具有的功能为思考域 | 不但包括系统的功能,还有系统的机制、外部环境、应用与数据自身安全等等 |
问题发现模式不同 | 以违反功能定义为判断依据 | 以违反权限与能力的约束为判断依据 |
3. 安全测试与渗透测试的区别
渗透测试是通过模拟黑客恶意的攻击系统,来评估软件系统安全性的方法
渗透测试 | 安全测试 | |
---|---|---|
出发点差异 | 以成功入侵系统,证明系统存在安全问 题为出发点 | 以发现系统所有可能的安全隐患为出发点 |
视角差异 | 以攻击者的角度来看待和思考问题 | 站在防护者角度思考问题,尽量发现所有可能 被攻击者利用的安全隐患,并指导其进行修复 |
覆盖性差异 | 只选取几个点作为测试的目标 | 在分析系统架构并找出系统所有可能的攻击界 面后进行的具有完备性的测试 |
成本差异 | 投入的时间和人力相对较少 | 需要投入更多的时间和人力 |
4. 安全测试常用方法
- 静态代码检查
- 通过代码走读的方式对源代码的安全性进行测试
- 动态渗透测试
- 主要是借助工具或手工来模拟黑客的输入,对应用程序进行安全性测试
- 扫描程序中的数据
- 主要是对内存进行测试,尽量发现诸如缓冲区溢出之类的漏洞
5. 安全测试维度
- 客户端脚本安全测试
- 网络安全性测试
- 用户认证安全性测试
- 应用程序安全性测试
- 数据库安全性测试
1. 安全测试模拟环境 - sql注入 ' or 1=1 --
说明:为了方便演示系统安全问题,特开发了一个简易项目,该项目存在一系列的安全问题,找一找吧~
网站地址:http://121.43.169.97:1688/
select * from t_user where username='' or 1=1 -- ' and password='adf'
- 什么是安全测试?
- 安全测试与传统测试的区别?