软件测试词典

首页

A

验收测试 可访问性测试 主动测试 实际结果 临时测试 老化测试 敏捷测试 全对测试 Alpha 测试 API 测试 Arc 弧测试 异常测试 断言测试 审计测试 自动化软件测试

B

向后兼容性测试 基线工件 基础路径测试 基础测试集 调试 行为测试 基准测试 Beta 测试 大爆炸测试 二进制可移植性测试 黑盒测试 自下而上测试 边界测试 分支测试 广度测试 Bug测试 构建验证 业务流程 业务需求

C

能力成熟度模型 捕获/重放工具 因果图 代码覆盖率 代码冻结 代码检查 代码审查 代码演练 基于代码的测试 代码驱动测试 无代码测试 比较测试 兼容性测试 合规性测试 并发性测试 条件覆盖测试 配置测试 一致性测试 上下文驱动测试 控制流路径 转换测试 正确性 覆盖项目 循环复杂度

D

数据完整性测试 数据驱动测试 数据流测试 数据库测试 调试 决策覆盖测试 缺陷 缺陷记录和跟踪 缺陷生命周期 Delta 发布 依赖性测试 深度测试 破坏性测试 开发环境 文档测试 域测试 耐久性测试 动态测试

E

模拟器 端到端测试 耐久性测试 准入标准 等价分区测试 错误 错误猜测 错误植入 详尽测试 退出标准 预期结果 探索性测试

F

故障转移测试 失败 故障 故障注入测试 可行路径 功能测试 功能分解 功能要求 功能测试 模糊测试 前端测试

G

玻璃盒测试 全球化测试 Gorilla 测试 灰盒测试 GUI 测试

H

测试工具 启发式测试 混合集成测试

I

实施测试 增量测试 独立测试 不可行路径 检查 安装/卸载测试 集成测试 接口测试 国际化测试 系统间测试 互操作性测试 隔离测试 问题

K

关键字驱动测试 关键绩效指标 已知问题

L

LCSAJ 测试 负载生成器 负载测试 本地化测试 逻辑覆盖率测试 循环测试

M

可维护性 手动测试 大型机测试 基于模型的测试 修改条件测试 模块化驱动测试 猴子测试 突变测试

N

负面测试 非功能性测试 非破坏性测试

O

操作测试 正交阵列测试

P

配对测试 成对测试 并行测试 部分测试自动化 被动测试 路径测试 同行评审 渗透测试 性能测试 试点测试 可移植性测试 积极测试 后置条件 前提条件 预测结果 优先级 流程周期测试 渐进式测试 原型测试

Q

质量保证 质量控制 质量管理

R

随机测试 恢复测试 回归测试 候选版本 发布说明 可靠性测试 需求测试 基于需求的测试 需求可追溯性矩阵 结果 重新测试 Review 审查 风险测试 风险管理 根本原因

S

安全性测试 健全性测试 可扩展性测试 场景测试 时间表 Scrum 测试 脚本 安全测试 模拟 冒烟测试 浸泡测试 峰值测试 软件需求规范 稳定性测试 状态转换 静态测试 统计测试 存储测试 压力测试 结构测试 结构化演练 存根 符号执行 语法测试 系统集成测试 系统测试 被测系统

T

技术评审 测试方法 测试自动化 测试基础 测试平台 测试用例 测试用例设计技术 测试套件 测试完成标准 测试完成报告 测试完成矩阵 测试数据 测试数据管理 测试驱动开发 测试驱动程序 测试环境 测试执行 测试管理 测试成熟度模型 测试计划 测试步骤 测试策略 测试工具 线程测试 自上而下的集成测试 全面质量管理 可追溯性

U

单元测试 无法访问的代码 可用性测试 用例测试 用户验收测试 用户界面测试

V

V 模型 验证测试 验证测试 虚拟用户 容量测试 漏洞测试

W

Web 应用程序测试 白盒测试 工作流测试

有用的资源

有用的资源 讨论


软件测试 - 渗透测试

软件测试是一个广泛的过程,涵盖软件安全功能的验证。软件渗透测试是对我们的计算机系统进行的一次熟练的网络攻击,目的是在真正的攻击者利用软件弱点之前确定并解决软件中的弱点。

什么是软件渗透测试?

软件渗透测试主要侧重于基于 Web 的应用程序安全性,测试团队尝试渗透 API、服务器等,以检测弱点,例如原始输入的代码注入风险。结果有助于调整 Web 应用程序告别 (WAF) 配置,并解决任何可以提高软件安全性的问题。

从 1965 年开始,安全问题不断增加,因为人们认为交互线路可能会被破坏,攻击者将能够掌握从一个人传输到另一个人的信息。 1967 年,许多计算机研究人员在年度联合会议上讨论了通过通信渠道进行渗透的可行性。

1980 年,计算机和互联网的使用量增加,这导致了网络安全测试的重要性。随着自动化和该领域的工具的引入,渗透测试的概念从 1990 年开始流行起来。逐渐地,随着电子商务和互联网业务的增加,网络安全的需求也越来越大。

如今,渗透测试已成为网络安全的一部分。每个组织,无论规模大小,都在投资渗透测试以确定和修复其软件中的弱点。每天都有很多改进来改进渗透测试。

软件渗透测试的阶段

软件渗透测试的阶段列在下面 −

步骤 1 −规划:它涉及规划、定义渗透测试的范围和目标。它包括哪些项目(例如网络、软件等)将成为测试的一部分,以及需要采用哪些方法。

步骤 2 − 扫描:使用大量工具和方法来了解软件如何对入侵行为作出反应。进行静态分析是为了确定代码中可能存在的弱点,而无需实际执行代码。进行动态分析是为了通过运行软件来评估软件对众多输入和条件的反应。

步骤 3 − 获取访问权限:一旦在扫描阶段后识别出软件中的所有漏洞,就会利用这些漏洞通过使用 SQL 注入、跨站点脚本等方法获得对软件的未经授权的访问,从而完全控制系统。

步骤 4 − 维护访问权限:此阶段主要关注在软件中获得永久存在。它模拟了喜欢长时间访问软件的真正黑客的实际特征。使用后门、获取特权和持续存在等程序来确保访问保持很长时间。

步骤 5 − 测试结果分析:在执行渗透测试时,会生成所有被利用的弱点的报告,以及可以访问的每个敏感数据的详细信息等。专家评估报告以了解软件中的安全措施的有效性,并评估修复措施。

软件渗透测试的方法

软件渗透测试的方法如下 −

外部测试

它针对组织的在线资源,即网站、电子邮件、域名服务器 (DNS) 等。主要目的是像真正的攻击者一样渗透并获取敏感信息。它致力于在黑客真正利用这些风险之前降低风险。

内部测试

它由对组织内部系统具有完全访问权限的测试人员执行。他模拟来自内部的攻击,例如通过网络钓鱼电子邮件入侵员工的帐户。它检查内部安全措施的效率,识别其中的弱点,并努力改进它们。

盲测

由只知道组织名称的测试人员执行。他模拟实际攻击,以揭示组织当时如何响应、检测和减少安全漏洞。

双盲测试

它像演习一样进行。负责安全的团队并不知情,似乎对这次攻击毫无准备。这样做是为了评估这种实际情况下的整体安全性、效率、跟踪、检测和响应。

有针对性的测试

当测试人员和安全官员都知道这次测试时,他们会互相帮助。它更像是一种培训或受控练习,安全团队可以从测试人员那里获得有关改进领域的反馈。

软件渗透测试的类型

软件渗透测试的类型如下 −

1. 黑盒渗透测试

当模拟真实的网络攻击时,攻击者并不知道目标。这是一个耗时的过程,因为攻击者对系统没有任何了解。这样做是为了检测软件中现有的弱点,并模拟攻击者在没有任何先验知识的情况下可以进入软件的极限。

2. 白盒渗透测试

攻击者知道软件的源代码。道德黑客可以完全访问代码,他们可以检测到由于编程错误、设置不当和缺乏防御机制而发生的所有可能威胁。

3.灰盒渗透测试

向攻击者提供有关目标的更多详细信息,即 IP、子网、网络设置、低级凭据等。他还对要模拟攻击的软件有一些基本了解。

软件渗透测试中使用的 Web 应用程序防火墙

软件渗透测试时使用的不同 Web 应用程序防火墙如下所列 −

  • 软件渗透测试利用 WAF 详细信息(如日志)(不适用于盲测和双盲测试)来检测和利用软件漏洞。
  • WAF 管理员考虑渗透测试结果来修改配置,并改进对测试时检测到的弱点的保护。
  • 软件渗透测试按照安全审计的合规性要求进行,即 PCI DSS 和 SOC2。
  • PCI-DSS 6.6 标准强制要求经过认证的 WAF。但是,软件渗透测试对于增强 WAF 设置和安全性非常重要。

软件渗透测试的优势

软件渗透测试的优势如下 −

  • 渗透测试会暴露软件中尚未检测到或利用的弱点。
  • 渗透测试可确定与软件弱点相关的风险。
  • 渗透测试可指示攻击的结果及其发生的概率。
  • 渗透测试可提高现有安全措施的效率。
  • 渗透测试有助于确定改进工作的优先级。
  • 渗透测试可改进并验证软件的整体安全性。
  • 渗透测试可培训个人了解安全漏洞的风险。

软件的缺点渗透测试

软件渗透测试的缺点如下 −

  • 如果渗透测试做得不好,会导致敏感信息的泄露。
  • 负责渗透测试的测试人员应该得到全心全意的信任。
  • 要找到经验丰富、技术娴熟、知识渊博的渗透测试人员并不容易。
  • 渗透测试是一个昂贵的过程。
  • 渗透测试会影响正常业务。
  • 渗透测试有时无法确定软件的所有漏洞。
  • 有时渗透测试会给出误报。
  • 有时渗透测试会给出假阴性。
  • 渗透测试结果很难解释。

软件渗透测试规则

软件渗透测试前要遵循的规则如下 −

  • 应该有一份保密协议(双方签署)拥有黑客攻击的权限。
  • 渗透测试应该有一个开始和结束日期。
  • 应该明确提及渗透测试的目标和方法。

用于软件渗透测试的工具

用于软件渗透测试的工具列于下方 −

  • Nmap
  • Burp Suite
  • Wireshark

结论

至此,我们对软件渗透测试教程的全面介绍就到此结束。我们首先介绍了什么是软件渗透测试、软件渗透测试的不同阶段、软件渗透测试的不同方法、软件渗透测试的不同类型、软件渗透测试时使用的不同 Web 应用程序防火墙、软件渗透测试的优点、软件渗透测试的缺点、软件渗透测试前应遵循的规则以及软件渗透测试使用的工具。这将使您具备软件性能测试的深入知识。明智的做法是继续实践您学到的知识并探索与软件测试相关的其他知识,以加深您的理解并拓展您的视野。