什么是安全测试?
安全测试是一种软件测试方法,用于发现软件应用程序中的漏洞、威胁和风险,并防止入侵者的恶意攻击。安全测试的目的是找出软件系统的所有可能的漏洞和弱点,这些漏洞和弱点可能会导致信息、声誉在员工或外部人员手中丢失。
为什么安全测试很重要?
安全测试的主要目的是识别系统中的威胁,并测量其潜在的漏洞,这样就可以遇到威胁,而系统不会停止运行或不能被利用。它还检测系统中所有可能的安全风险,帮助开发人员修复问题。
在本教程中,将了解-
- 什么是安全测试?
- 安全测试的类型
- 如何进行安全测试
- 安全测试的测试场景
- 安全测试的方法/技术
- 安全测试角色
- 安全测试工具
- 安全测试的问题与事实
安全测试类型:
根据开源安全测试方法手册,有七种主要类型的安全测试。现解释如下:
- 漏洞扫描:通过自动化软件根据已知漏洞签名扫描系统来完成的。
- 安全扫描:涉及识别网络和系统弱点,然后提供降低这些风险的解决方案。可以手动扫描和自动扫描。
- 渗透测试:这种测试模拟恶意黑客的攻击。此测试涉及对特定系统的分析,以检查外部黑客企图的潜在漏洞。
- 风险评估:此测试涉及对组织中观察到的安全风险进行分析。本测试可以同时评估控制和降低风险的措施。
- 安全审计:这是对应用程序和操作系统的安全缺陷进行的内部检查。审计也可以通过逐行检查代码来完成
- 道德黑客:这是对组织软件系统的黑客攻击。与恶意黑客不同,其目的是揭露系统中的安全缺陷。
- 状态评估:这结合了安全扫描、道德黑客攻击和风险评估,以显示组织的整体安全状态。
如何进行安全测试
如果在软件实现阶段或部署之后推迟安全测试,成本将会更高。因此,有必要在SDLC生命周期的早期阶段进行安全测试。
来看看SDLC中每个阶段要采用的相应安全流程

SDLC相 | 安全流程 |
---|---|
需求 | 对需求进行安全分析,并检查滥用/误用案例 |
设计 | 对设计进行安全风险分析。制定包括安全测试在内的测试计划 |
编码和单元测试 | 静态与动态测试和安全白盒测试 |
集成测试 | 黑盒测试 |
系统测试 | 黑盒测试和漏洞扫描 |
实现 | 渗透测试、漏洞扫描 |
支持 | 补丁程序的影响分析 |
测试计划应该包括
- 与安全相关的测试用例或场景
- 与安全测试相关的测试数据
- 安全测试所需的测试工具
- 分析来自不同安全工具的各种测试输出
安全测试场景:
测试场景,大致了解安全测试用例-
- 密码应采用加密格式
- 应用程序或系统不应允许无效用户
- 检查应用程序的Cookie和会话时间
- 对于金融网站,浏览器的后退按钮应该不起作用。
安全测试的方法/技术
在安全测试中,遵循不同的方法,具体如下:
- Tiger Box:这种黑客攻击通常是在笔记本电脑上进行的,笔记本电脑上有一系列操作系统和黑客工具。此测试帮助渗透测试人员和安全测试人员进行漏洞评估和攻击。
- 黑盒测试:Tester有权对网络拓扑和技术的所有方面进行测试。
- 灰盒测试:向测试人员提供有关系统的部分信息,是白盒和黑盒模型的混合体。
安全测试角色
- 黑客-未经授权访问计算机系统或网络
- 黑客-侵入系统以窃取或销毁数据
- 道德黑客-在获得所有者许可的情况下执行大多数破坏活动
- Script Kiddie或Packet Monks-没有经验但具有编程语言技能的黑客
安全测试工具
1) Intruder
Intruder,入侵者是一款易于使用的企业级漏洞扫描程序。它在IT基础架构中运行10,000多项高质量安全检查,包括但不限于:配置漏洞、应用程序漏洞(提供智能排序的结果以及对最新威胁的主动扫描)、入侵者帮助节省时间并保护各种规模的企业免受黑客攻击。
功能:
- AWS、Azure和Google Cloud连接器
- 特定于周边的结果可减少外部攻击面
- 高质量的报道
- Sack、Microsoft团队、Jira、Zapier集成
- API与CI/CD管道集成
2) OWASP
开放式Web应用程序安全项目(OWASP)是一个全球性的非营利性组织,致力于提高软件的安全性。该项目的旗舰工具包括
- ZED攻击代理(ZAP-集成渗透测试工具)
- OWASP依赖项检查(它扫描项目依赖项并检查已知的漏洞)
- OWASP Web测试环境项目(安全工具和文档集合)
3) Acunetix
Invicti的Acunentix直观且易于使用,可帮助中小型组织确保其Web应用程序安全,不受代价高昂的数据泄露的影响。能够检测广泛的网络安全问题并帮助安全和开发专业人员快速采取行动解决这些问题。
功能:
- 高级扫描7,000多个Web漏洞,包括SQLI和XSS等OWASP前10名
- 用于识别被遗弃或遗忘的网站的自动Web资产发现
- 高级爬行器,适用于最复杂的Web应用程序,包括。多表单和密码保护区域
- 结合交互式和动态应用程序安全测试,以发现其他工具遗漏的漏洞
- 为多种类型的漏洞提供了利用漏洞的证据
- 通过与流行的问题跟踪和CI/CD工具集成实现DevOps自动化
- 法规标准(如PCI DSS、NIST、HIPAA、ISO 27001等)的合规性报告。
4) Wireshark
Wireshark是以前称为以太的网络分析工具。它基本上捕获数据包,如果可以通过GUI或TTY模式TShark实用程序查看通过此工具检索的信息。
5) W3af
W3af是一个Web应用程序攻击和审计框架。发现、审计和攻击彼此通信的站点中的任何漏洞,例如,w3af中的发现插件寻找不同的URL来测试漏洞,并将其转发给审计插件,然后审计插件使用这些URL来搜索漏洞。
安全测试的疑问:
来讨论一个关于安全测试的疑问的话题:
误区1,不需要安全策略,因为做的是小生意
事实:每个人和公司都需要安全策略
误区2:安全测试的投资没有回报
事实:安全测试可以指出需要改进的地方,从而提高效率并减少停机时间,从而实现最大吞吐量。
误区3:确保安全的唯一方法是拔下插头。
事实:确保组织安全的唯一也是最好的方法就是找到“完美的安全”。通过执行状态评估并与业务、法律和行业理由进行比较,可以实现完美的安全性。
误区4:互联网不安全。会购买软件或硬件来保护系统和挽救业务。
事实:最大的问题之一是为了安全而购买软件和硬件。相反,组织应该先了解安全性,然后再应用它。
结论:
安全测试是应用程序最重要的测试,用于检查机密数据是否保密。在软件工程中,安全测试是保护数据的重要手段。