如何做安全测试?

简介: 如何做安全测试?

大家好,我是阿萨。 今天一起来学习下如何做安全测试。


什么是安全测试?


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


为什么安全测试很重要?


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


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


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

  • 漏洞扫描:这是通过自动化软件根据已知的漏洞特征扫描系统来完成的。
  • 扫描:包括识别网络和系统的弱点,然后提供降低这些风险的解决方案。此扫描可用于手动和自动扫描。
  • 渗透测试:这种测试模拟来自恶意黑客的攻击。这种测试包括对特定系统的分析,以检查外部黑客攻击的潜在漏洞。
  • 风险评估:该测试包括对组织中观察到的安全风险的分析。风险分为低、中、高。该测试建议控制和措施,以降低风险。
  • 安全审计:这是对应用程序和操作系统安全缺陷的内部检查。审计也可以通过逐行检查代码来完成
  • 道德黑客:它是入侵一个组织的软件系统。不像恶意黑客为了自己的利益而窃取,他们的目的是暴露系统中的安全漏洞。
  • 安全状态评估:它结合了安全扫描、道德黑客和风险评估,以显示组织的整体安全态势。


如何进行安全测试


大家一致认为,如果我们将安全测试推迟到软件实现阶段或部署之后,成本会更高。因此,有必要在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) WireSharkWireshark是一个网络分析工具,以前被称为Ethereal。它实时捕获数据包,并以人类可读的格式显示它们。基本上,它是一个网络数据包分析器-它提供有关网络协议、解密、数据包信息等的详细信息。它是开源的,可以在Linux、Windows、OS X、Solaris、NetBSD、FreeBSD和许多其他系统上使用。通过此工具检索的信息可以通过GUI或TTY模式TShark实用程序查看。

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


安全测试的误区


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


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

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


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

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


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

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


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

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


结论:


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

相关文章
|
安全 测试技术 网络安全
如何做安全测试?
如何做安全测试?
158 1
如何做安全测试?
|
存储 安全 API
oss服务器端加密(Server-Side Encryption Configuration)
阿里云OSS提供服务器端加密(SSE),确保静态数据安全。支持SSE-KMS,使用KMS托管CMK加密。数据上传时自动加密,下载时自动解密。用户可设置Bucket默认加密或在上传时指定加密选项。适用于高度保护数据场景,如敏感个人信息和企业关键信息。兼容多种部署形态,特定特性地域可用。此功能简化了加密处理,增强了云端数据安全性。
624 1
|
缓存 安全 网络协议
一起深入了解http和https的区别
HTTP适合于非敏感信息的传输,而HTTPS则是在要求安全性、隐私保护及信任机制的现代互联网环境中不可或缺的标准配置。随着网络安全意识的提高和技术的发展,越来越多的网站和服务都转向使用HTTPS,力求在提供便捷服务的同时保障用户数据的安全。HTTPS将成为未来的基本选择。
305 0
一起深入了解http和https的区别
|
运维 关系型数据库 OLAP
阿里云百炼 x AnalyticDB向量引擎, 搭积木式轻松开发专属大模型应用
对大模型应用跃跃欲试,但奈何技术栈复杂难以下手?已经进行试水,但缺乏调优手段无法保障召回率和问答准确度?自行搭建大模型、向量检索引擎、服务API等基础组件难以运维?大模型种类繁多,但缺乏行业模型和应用模板?阿里云百炼 x AnalyticDB向量引擎推出一站式企业专属大模型开发和应用平台,像搭积木一样轻松完成企业专属大模型应用的开发,提供应用API,可一键接入企业自己的业务应用对外提供服务。
2644 2
|
10月前
|
监控 安全 网络安全
深入解析PDCERF:网络安全应急响应的六阶段方法
PDCERF是网络安全应急响应的六阶段方法,涵盖准备、检测、抑制、根除、恢复和跟进。本文详细解析各阶段目标与操作步骤,并附图例,助读者理解与应用,提升组织应对安全事件的能力。
1408 89
|
云安全 运维 监控
带你读《阿里云安全白皮书》(七)——云上安全重要支柱
阿里云秉持“多层防护、全面覆盖”理念,深入贯彻DevSecOps,将安全工具和流程无缝集成至产品研发各阶段,确保安全效果不依赖单一环节。通过威胁建模、安全编码插件、自动化漏洞扫描等手段,前置风险发现,提升安全治理效率。
|
7月前
|
数据采集 数据可视化 大数据
揭秘Dataphin:一站式企业级数据治理平台的全景体验!
Dataphin是阿里巴巴推出的全生命周期数据治理平台,基于OneData方法论,覆盖数据采集、管理到消费的全流程。它支持多种计算平台,提供灵活可扩展的能力,助力企业构建高效的数据中台。其强大的自动化与可视化功能,显著提升数据治理效率和质量,适用于大规模数据处理场景。未来可加强AI预测能力,为企业带来更多智能决策支持。
441 2
|
Web App开发 自然语言处理 前端开发
可访问性测试(无障碍测试)
可访问性测试(无障碍测试)
501 0
可访问性测试(无障碍测试)
|
监控 数据可视化 测试技术
性能测试:性能测试流程与方法
**性能测试流程与方法概述:** 本文介绍了性能测试的关键步骤,包括现状分析、指标获取、用户场景定义、验收标准设定、测试计划编写、压力环境准备、执行压测、监控、结果分析、报告编写及改进建议。测试方法涉及并发模式(虚拟用户)和RPS模式(吞吐量),确保系统在不同负载下的稳定性和效率。
|
Web App开发 监控 前端开发
如何优化淘宝直播 PC 推流端性能(下)
如何优化淘宝直播 PC 推流端性能(下)
472 3