安全测试简介
什么是安全测试?
安全测试是一种软件测试,它可以发现软件应用程序中的漏洞、威胁和风险,防止入侵者的恶意攻击。安全测试的目的是确定软件系统的所有可能的漏洞和弱点。
安全测试的类型
- 漏洞扫描
- 安全扫描
涉及识别网络和系统的弱点,然后提供减少这些风险的解决方案。这种扫描可以通过手动和自动扫描两种方式进行。
- 渗透测试
模拟恶意黑客的攻击。这种测试涉及对特定系统的分析,以检查对外部黑客可能利用的潜在漏洞。
- 风险评估
对组织中观察到的安全风险的分析。风险被分为低、中和高。该测试建议采取控制和措施来减少风险。
- 安全审计
对应用程序和操作系统的安全缺陷的内部检查。审计也可以通过对代码的逐行检查来完成。
- 道德黑客攻击。
对组织软件系统的黑客攻击。与恶意黑客不同,他们为了自己的利益而偷窃,其目的是为了暴露系统的安全缺陷。
- 态势评估。
结合了安全扫描、道德黑客攻击和风险评估,以显示一个组织的整体安全态势。
如何进行安全测试
有必要在SDLC生命周期的早期阶段进行安全测试。
让我们来看看在SDLC的每个阶段要采用的相应的安全流程。
- 需求
对需求进行安全分析,检查滥用/误用情况
- 设计
设计的安全风险分析及安全测试计划。
- 编码和单元测试
静态和动态测试以及安全白帽测试
- 集成测试
黑帽、灰帽测试
- 系统测试
漏洞扫描
- 交付
渗透测试,漏洞扫描
- 支持
补丁的影响分析
测试计划应包括:
- 与安全有关的测试案例或场景
- 与安全测试有关的测试数据
- 安全测试所需的测试工具
- 对不同安全工具的各种测试结果的分析
安全测试的测试场景示例。
- 密码应该是加密的格式
- 应用或系统不应允许无效的用户
- 检查应用程序的cookies和会话时间
- 对于金融网站,浏览器的返回按钮不应工作。
安全测试的方法/途径/技术
在安全测试中,要遵循不同的方法,它们如下。
- 虎皮箱
这种黑客攻击通常是在笔记本电脑上进行的,它有一系列的操作系统和黑客工具。这种测试有助于渗透测试人员和安全测试人员进行漏洞评估和攻击。
- 黑帽
测试员被授权对网络拓扑结构和技术的一切进行测试。
- 灰帽
给予测试人员关于系统的部分信息,是白盒和黑盒模式的混合体。
安全测试的角色
- 黑客(Hackers ) - 未经授权进入计算机系统或网络
- 破解者(Crackers ) - 闯入系统以窃取或破坏数据
- 道德黑客(Ethical Hacker) - 执行大部分的破解活动,但要得到所有者的许可
- 脚本小子或数据包猴子 - 具有编程语言技能的无经验的黑客
安全测试工具
-
Acunetix
Invicti的Acunetix直观且易于使用,它帮助中小型组织确保他们的网络应用安全,避免昂贵的数据泄露。它通过检测广泛的网络安全问题,并帮助安全和开发专业人员迅速采取行动来解决这些问题。- 对7000多个网络漏洞进行高级扫描,包括OWASP前10名,如SQLi和XSS
- 自动发现网络资产,识别被遗弃或遗忘的网站
- 针对最复杂的网络应用的高级爬虫,包括多形式和密码保护的区域
- 结合互动和动态应用安全测试,发现其他工具遗漏的漏洞
- 为许多类型的漏洞提供漏洞证明
- 通过与流行的问题跟踪和CI/CD工具的集成实现DevOps自动化
- 符合监管标准的报告,如PCI DSS、NIST、HIPAA、ISO 27001等。
-
Intruder
Intruder是一个强大的、自动化的渗透测试工具,可以发现整个IT环境的安全弱点。Intruder提供行业领先的安全检查、持续监测和易于使用的平台,使各种规模的企业免受黑客攻击。- 一流的威胁覆盖率,超过10,000次安全检查
- 检查配置弱点、缺失的补丁、应用程序弱点(如SQL注入和跨网站脚本)等。
- 自动分析和确定扫描结果的优先次序
- 直观的界面,快速设置和运行您的第一次扫描
- 对最新的漏洞进行主动的安全监测
- AWS、Azure和谷歌云连接器
- 与您的CI/CD管道的API集成
-
Owasp
开放网络应用安全项目(OWASP)是一个全球性的非营利组织,致力于提高软件的安全性。该项目有多种工具来测试各种软件环境和协议。该项目的旗舰工具包括
-
Zed Attack Proxy(ZAP--一个综合渗透测试工具)
-
OWASP依赖性检查(它扫描项目的依赖性,并针对已知的漏洞进行检查)
-
OWASP网络测试环境项目(安全工具和文档的集合)。
-
WireShark
Wireshark是一个网络分析工具,以前被称为Ethereal。它实时捕获数据包,并以人类可读的格式显示。基本上,它是一个网络数据包分析器--它提供了关于你的网络协议、解密、数据包信息等的微小细节。它是开放源码,可以在Linux、Windows、OS X、Solaris、NetBSD、FreeBSD和许多其他系统上使用。通过这个工具获取的信息可以通过GUI或TTY模式的TShark工具查看。- W3af
w3af是一个网络应用程序攻击和审计框架。它有三种类型的插件;发现、审计和攻击,它们相互沟通,以发现网站中的任何漏洞,例如,w3af中的发现插件寻找不同的网址来测试漏洞,并将其转发给审计插件,然后使用这些网址来搜索漏洞。
安全测试的神话和事实。
- 神话#1 我们不需要安全政策,因为我们有一个小企业
事实:每个人和每个公司都需要一个安全政策。
- 误解2 安全测试的投资没有回报
事实:安全测试可以指出需要改进的地方,可以提高效率,减少停机时间,实现最大的吞吐量。
- 误解3:安全的唯一方法是拔掉插头。
事实:确保组织安全的唯一和最好的方法是找到 "完美安全"。完美的安全可以通过执行态势评估并与业务、法律和行业的理由进行比较来实现。
- 误区四:互联网不安全。我将购买软件或硬件来保障系统并拯救企业。
事实:最大的问题之一是为了安全而购买软件和硬件。相反,企业应该先了解安全,然后再去应用它。
小结
安全测试是对应用程序最重要的测试,检查机密数据是否保持机密。在这种类型的测试中,测试人员扮演攻击者的角色,围绕系统进行游戏,以发现与安全有关的错误。安全测试在软件工程中非常重要,可以通过各种手段保护数据。