什么是安全测试?示例

⚡ 智能摘要

安全测试是一门软件测试学科,旨在攻击者之前发现应用程序中的漏洞、威胁和风险。本文将介绍七种核心类型、软件开发生命周期 (SDLC) 集成模型、常用方法、关键角色和常用工具。

  • 🛡️ 核心定义: 安全测试旨在发现可能导致信息泄露、收入损失或声誉受损的漏洞。
  • 🎯 七种类型: 漏洞扫描、安全扫描、渗透测试、风险评估、安全审计、道德黑客、态势评估。
  • 🔁 Shift 左: 从需求到支持,将安全性融入到软件开发生命周期的每个阶段——及早修复比发布后修复要便宜得多。
  • 🧪 三种方法: 虎 Box,黑色 Box以及灰色 Box 代表从完全知识测试到零知识测试的整个范围。
  • 🛠️ 工具链: TeramindOWASP ZAP, Wiresharkw3af 和 w3af 被广泛用于内部威胁、Web 应用程序和网络测试。
  • 🤖 人工智能提升: AI 代理对扫描器输出进行分类,根据漏洞利用的可能性确定 CVE 的优先级,并起草修复补丁。

什么是安全测试?

什么是安全测试?

安全测试 是一种类型的 软件测试 安全测试旨在发现应用程序中的漏洞、威胁和风险,并阻止恶意入侵者的攻击。其目的是识别系统中所有可能导致信息、收入或声誉损失的漏洞和弱点,无论这些损失是由内部人员还是外部人员造成的。

安全测试可以保护应用程序免受入侵者的攻击。

为什么安全测试很重要?

安全测试的主要目标是识别系统中的威胁并评估其潜在影响,以便缓解威胁并确保系统持续安全运行。安全测试能够检测出所有可能的风险,并为开发人员提供可操作的信息,以便在部署前修复代码中的问题。

软件测试中的安全测试类型

根据开源安全测试方法手册(OSSTMM),安全测试主要分为七种类型。

软件测试中的七种安全测试类型

  • 漏洞扫描: 自动化软件会扫描系统,检查是否存在已知的漏洞特征。
  • 安全扫描: 识别网络和系统弱点并提出修复建议。可以是手动、自动或两者结合。
  • 渗透测试: 模拟恶意攻击,以发现外部攻击者可能利用的漏洞。
  • 风险评估: 分析组织中观察到的安全风险,并将其分类为低、中或高,并提出控制建议。
  • 安全审核: 对应用程序进行内部检查和 操作系统 针对安全漏洞。可以包括逐行代码审查。
  • 道德黑客: 经授权入侵组织软件以发现安全漏洞——这与恶意黑客的目的截然相反。
  • 姿势评估: 结合安全扫描功能 道德黑客行为以及风险评估,以显示组织的整体安全状况。

如何进行安全测试

人们普遍认为,安全漏洞发现得越晚,修复成本就越高。推迟修复 安全性测试 在部署之后再进行部署比从一开始就将其嵌入到软件开发生命周期中要昂贵得多。

下表将安全活动与每个软件开发生命周期阶段对应起来。

贯穿软件开发生命周期 (SDLC) 各个阶段的安全流程

SDLC阶段 安全流程
申请条件 对需求进行安全分析并审查滥用/误用案例。
工艺设计 设计安全风险分析。开发 测试计划 其中包括安全测试。
编码和单元测试 静态和动态测试以及安全性 白盒测试.
整合测试 黑盒测试.
系统测试 黑盒测试和漏洞扫描。
技术实施 渗透测试 以及漏洞扫描。
支持 补丁的影响分析。

安全测试计划应包括:

  • 与安全相关的测试用例和场景。
  • 测试数据,专为安全测试而设计。
  • 每项安全活动所需的测试工具。
  • 分析各种安全工具的输出结果。

安全测试的示例测试场景

以下列表展示了一些典型的安全测试用例。

  • 密码以加密形式存储,绝不会以明文形式存储。
  • 应用程序或系统会阻止无效用户。
  • 每个工作流程都会验证 Cookie 和会话超时设置。
  • 对于金融网站,用户注销后,浏览器后退按钮不应显示受保护的页面。

安全测试的方法和技术

安全测试遵循几种既定的方法。

  • 虎 Box: 测试是在一台装有多种操作系统和黑客工具的笔记本电脑上进行的。渗透测试人员使用这台笔记本电脑来评估漏洞并执行攻击。
  • 黑箱: 测试人员对网络拓扑或技术栈没有任何内部了解,像外部人员一样探测系统。
  • 灰色 Box: 测试人员只能获得关于系统的部分信息。这种结合了白盒测试和黑盒测试技术的混合方法,模拟了一种真实的威胁模型,其中某些细节已经泄露。

安全测试角色

  • 骇客: 指未经授权访问计算机系统或网络的人的通用术语——如今通常用来指未经授权进行此类访问的黑客。
  • 饼干: 入侵系统窃取或破坏数据。
  • 道德黑客: 执行与黑客相同的活动,但获得了所有者的明确许可,帮助ping 加强系统防御。
  • 脚本小子/打包猴子: 缺乏经验、编程知识有限的攻击者,依赖预先构建的脚本和工具。

安全测试工具

1) Teramind

Teramind 提供一套全面的内部威胁预防和员工监控解决方案。它通过行为分析和数据防泄漏来增强安全性,确保合规性并优化业务流程。其可定制的平台能够满足各种组织的需求,提供可操作的洞察,专注于提高生产力并保障数据完整性。

Teramind 内部威胁和员工监控平台

特色:

  • 内部威胁预防: 检测并阻止可能对数据造成内部威胁的用户操作。
  • 业务流程优化: 利用数据驱动的行为分析来改进运营流程。
  • 劳动力生产率: 监控生产力、安全性和合规性行为。
  • 合规管理: 通过一个可扩展的解决方案处理合规事宜,适用于小型企业、大型企业和政府机构。
  • 事件取证: 提供证据以丰富事件响应、调查和威胁情报。
  • 数据丢失防护: 监控并防止敏感数据丢失。
  • 员工监控: Tracks员工绩效和活动。
  • 行为分析: 分析细粒度的用户应用行为数据,以获取洞察。
  • 可自定义的监控设置: 允许监控规则适应特定用例。
  • 仪表板见解: 通过综合仪表盘提供可视化信息和可操作的洞察。

访问 Teramind >>

2) OWASP

开放式 Web 应用程序安全项目 (OWASP) 是一个致力于提升软件安全性的全球性非营利组织。该项目提供多种渗透测试工具,用于测试不同的软件环境和协议。其旗舰工具包括:

  1. Zed攻击代理(ZAP) — 一款集成的渗透测试工具。
  2. OWASP 依赖性检查 — 扫描项目依赖项是否存在已知漏洞。
  3. OWASP Web 测试环境项目 — 精选的安全工具和文档集合。

3) Wireshark

Wireshark 是一款网络分析工具,以前名为 Ethereal。它可以实时捕获数据包并以人类可读的格式显示它们。 Wireshark 它是开源的,运行在Linux系统上。 Windows, macOS, SolarisNetBSD、FreeBSD 和许多其他系统也支持此功能。数据可以通过图形用户界面或 TShark 命令行实用程序查看。

4) w3af

w3af 是一个Web应用程序攻击和审计框架。它包含三个插件类别——发现、审计和攻击——它们之间可以相互通信。发现插件会查找…… URLs 进行测试,将它们转发给审计插件,审计插件扫描漏洞,然后攻击插件尝试利用这些漏洞。

安全测试的误区与事实

一些根深蒂固的误解会延缓安全项目的进展。以下列表将每一种误解与其背后的事实一一对应。

神话#1: 小型企业不需要安全策略。
事实: 每个人和每个公司都需要安全策略。

神话#2: 安全测试没有任何投资回报。
事实: 安全测试可以发现需要改进的地方,从而提高效率、减少停机时间并实现最大吞吐量。

神话#3: 确保安全的唯一方法是拔掉系统的电源。
事实: 实际的安全来自于与业务、法律和行业要求相一致的态势评估,而不是断开网络连接。

神话#4: 购买更多软件或硬件将保障企业运营。
事实: 工具不能取代策略。首先要了解威胁形势,然后选择合适的控制措施。

常见问题

静态应用安全测试 (SAST) 扫描源代码以发现漏洞,而无需执行代码。动态应用安全测试 (DAST) 则会探测正在运行的应用程序。成熟的团队会同时使用这两种测试方法——在持续集成 (CI) 环境中使用 SAST,在预发布环境中使用 DAST——以覆盖代码和运行时风险。

每次构建都会运行自动化扫描,每日进行依赖项检查,至少每年或在重大版本发布后进行一次全面渗透测试,每季度进行一次安全态势评估。金融和医疗保健等敏感行业通常需要每月进行合规性扫描。

OWASP ASVS、OWASP Top 10、NIST SP 800-115、ISO/IEC 27001、PCI-DSS 和 OSSTMM 是应用最广泛的标准。它们定义了应用程序和基础设施安全测试的测试覆盖范围、控制目标和报告要求。

AI 这些工具可以对扫描器结果进行聚类分析,去除重复的误报,根据威胁情报源预测漏洞利用的可能性,并为常见的 CVE 类别生成补丁——让分析师专注于高风险、业务关键型问题。

生成式人工智能代理能够将侦察、利用和报告步骤串联起来,在限定范围内执行自主渗透测试。为了确保符合伦理和法律规定,人工审核人员仍需验证测试结果并批准针对真实目标的攻击链。

总结一下这篇文章: