如何做安全测试?

今天一起来学习下如何做安全测试。

什么是安全测试?

安全测试是一种软件测试类型,用于发现软件应用程序中的漏洞、威胁和风险,并防止来自入侵者的恶意攻击。安全测试的目的是查明软件系统中所有可能导致本公司员工或外部人员损失信息、收入和声誉的漏洞和薄弱地方。

为什么安全测试很重要?

安全测试的主要目标是识别系统中的威胁,并测量其潜在的漏洞,以便在遇到威胁时,系统不会停止工作或不会被利用。它还有助于检测系统中所有可能的安全风险,并帮助开发人员通过编码解决问题。

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

根据开源安全测试方法手册,有七种主要类型的安全测试。

  • 漏洞扫描:这是通过自动化软件根据已知的漏洞特征扫描系统来完成的。

  • 扫描:包括识别网络和系统的弱点,然后提供降低这些风险的解决方案。此扫描可用于手动和自动扫描。

  • 渗透测试:这种测试模拟来自恶意黑客的攻击。这种测试包括对特定系统的分析,以检查外部黑客攻击的潜在漏洞。

  • 风险评估:该测试包括对组织中观察到的安全风险的分析。风险分为低、中、高。该测试建议控制和措施,以降低风险。

  • 安全审计:这是对应用程序和操作系统安全缺陷的内部检查。审计也可以通过逐行检查代码来完成

  • 道德黑客:它是入侵一个组织的软件系统。不像恶意黑客为了自己的利益而窃取,他们的目的是暴露系统中的安全漏洞。

  • 安全状态评估:它结合了安全扫描、道德黑客和风险评估,以显示组织的整体安全态势。

如何进行安全测试

大家一致认为,如果我们将安全测试推迟到软件实现阶段或部署之后,成本会更高。因此,有必要在SDLC生命周期的早期阶段进行安全测试。

让我们研究一下SDLC中每个阶段所采用的相应安全流程

SDLC阶段安全过程
需求安全分析,检查滥用/误用情况
设计设计时的安全风险分析。制定测试计划,包括安全测试
编码和单元测试静态和动态测试以及安全白盒测试
集成测试黑盒测试
系统测试黑盒测试和漏洞扫描
实施渗透测试,漏洞扫描
支持补丁影响分析

测试计划应该包括

  • 与安全相关的测试用例或场景

  • Test安全测试相关数据

  • 测试安全测试所需的工具

  • 分析来自不同安全工具的各种测试输出

安全测试场景示例

安全测试场景,让您了解安全测试用例-

  • 密码必须采用加密格式

  • 应用程序或系统不应该允许无效用户

检查应用程序的cookie和会话时间

  • 对于金融网站,浏览器的后退按钮不应该工作。

安全测试的方法/方法/技术

在安全测试中,会采用不同的测试方法,具体方法如下:

  • 虎盒:这种黑客通常是在笔记本电脑上进行的,它有一个操作系统和黑客工具的集合。该测试帮助渗透测试人员和安全测试人员进行漏洞评估和攻击。

  • 黑盒:测试人员被授权对网络拓扑和技术的所有方面进行测试。

  • 灰盒:关于系统的部分信息被提供给测试人员,它是白盒模型和黑盒模型的混合。

安全测试角色

  • 黑客-未经授权进入计算机系统或网络

  • 攻击者——侵入系统窃取或破坏数据

  • 道德黑客-执行大部分破坏活动,但得到所有者的许可

  • 脚本Kiddies或猴子测试(随机测试)-缺乏经验的黑客与编程语言技能

安全测试工具

1) Acunetix

直观和易于使用,Acunetix由Invicti帮助中小型组织确保他们的web应用程序是安全的,从昂贵的数据泄露。它通过检测各种网络安全问题并帮助安全和开发专业人员快速采取行动来解决这些问题。

特点:

  • 高级扫描7000 + web漏洞,包括OWASP前10名,如SQLi和XSS

  • 自动发现web资产,用于识别废弃或遗忘的网站

  • 先进的爬虫最复杂的网络应用程序,包括。多形式和密码保护的领域

  • 结合交互式和动态应用程序安全测试,以发现其他工具遗漏的漏洞

  • 为许多类型的漏洞提供了利用证明

  • 通过集成流行的问题跟踪和CI/CD工具实现DevOps自动化

  • 监管标准的合规报告,如PCI DSS、NIST、HIPAA、ISO 27001等。

2)入侵者

入侵者是一个强大的自动渗透测试工具,可以发现您IT环境中的安全弱点。提供行业领先的安全检查,持续监控和易于使用的平台,入侵者使各种规模的企业免受黑客攻击。

特点:

  • 一流的威胁覆盖,超过10,000个安全检查

  • 检查配置缺陷、缺失补丁、应用程序缺陷(如SQL注入和跨站脚本)等

  • 自动分析和优先级扫描结果

  • 直观的界面,快速设置和运行您的第一次扫描

  • 主动监控最新的安全漏洞

  • AWS、Azure和谷歌云连接器

  • API与您的CI/CD管道集成

3) Owasp

开放Web应用程序安全项目(OWASP)是一个全球性的非营利组织,致力于提高软件的安全性。该项目有多个工具来测试各种软件环境和协议。项目的旗舰工具包括

  • Zed Attack Proxy (ZAP -集成渗透测试工具)

  • OWASP依赖项检查(扫描项目依赖项并检查已知漏洞)

  • OWASP Web测试环境项目(安全工具和文档的集合)

4) WireShark

Wireshark是一个网络分析工具,以前被称为Ethereal。它实时捕获数据包,并以人类可读的格式显示它们。基本上,它是一个网络数据包分析器-它提供有关网络协议、解密、数据包信息等的详细信息。它是开源的,可以在Linux、Windows、OS X、Solaris、NetBSD、FreeBSD和许多其他系统上使用。通过此工具检索的信息可以通过GUI或TTY模式TShark实用程序查看。

5) W3af

W3af是一个web应用程序攻击和审计框架。它有三种类型的插件;发现,审计和攻击相互通信在站点中的任何漏洞,例如w3af中的发现插件寻找不同的url来测试漏洞,并将其转发给审计插件,然后使用这些url来搜索漏洞。

安全测试的误区

让我们来谈谈关于安全测试的神话和事实的一个有趣的话题:

误解1:我们公司规模小,不需要安全策略

事实:每个人、每个公司都需要安全策略

误解2:安全测试的投资没有回报

事实:安全测试可以指出需要改进的地方,从而提高效率和减少停机时间,实现最大吞吐量。

误解3:唯一安全的方法就是拔掉插头。

事实:确保一个组织安全的唯一和最好的方法是找到“完美安全”。通过执行姿态评估并与商业、法律和行业理由进行比较,可以实现完美的安全性。

误解4:互联网不安全。我会购买软件或硬件来保护系统和挽救业务。

事实:最大的问题之一是为了安全而购买软件和硬件。相反,组织应该首先理解安全性,然后再应用它。

结论:

安全测试是应用程序最重要的测试,用于检查机密数据是否保密。在这种类型的测试中,测试人员扮演攻击者的角色,在系统中寻找与安全相关的错误。安全测试在软件工程中非常重要,可以通过各种方式保护数据。

最后: 下方这份完整的软件测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取【保证100%免费】

在这里插入图片描述

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值