乐趣区

关于渗透测试:渗透测试PenTest基础指南

什么是浸透测试?

浸透测试(Penetration Test,简称为 PenTest),是指通过尝试利用破绽攻打来评估 IT 基础设施的安全性。这些破绽可能存在于操作系统、服务和应用程序的缺点、不当配置或有危险的用户行为中。这种评估也有助于验证防御机制的有效性以及最终用户是否恪守平安政策。

浸透测试通常应用手动或主动技术来系统地毁坏服务器、端点、网络应用、无线网络、网络设备、挪动设施和其余潜在的裸露点。一旦某个零碎的破绽被胜利利用,测试人员会尝试利用被毁坏的零碎持续攻打其余外部资源,特地是,会通过权限降级逐渐获取更高级别的平安许可和对电子虚构资产和信息的更深刻拜访。

通过浸透测试胜利裸露的任何安全漏洞信息通常会被汇总提交给 IT 和网络系统经理,以帮忙这些专业人士做出战略性论断并调整修复工作的优先级。浸透测试的基本目标是掂量零碎或终端客户被毁坏的可能性,并评估此类事件可能对相干资源或操作产生的任何结果。

把浸透测试看成是试图通过本人入手来确认是否有人能闯入你的房子可能更好了解。浸透测试人员也被称为道德黑客,应用受控环境评估 IT 基础设施的安全性,以平安地攻打、辨认和利用破绽。区别在于他们不是查看门窗,而是测试服务器、网络、网络应用程序、挪动设施和其余潜在的突破口,以发现整套零碎的弱点。
​ 

浸透测试的 5 个阶段

浸透测试的整体流程能够分为 5 个阶段:布局和侦察、扫描、获取拜访权限、维持拜访权限、剖析。

1、布局和侦察

第一阶段次要蕴含以下两个内容:

  • 定义测试的指标和范畴,包含要解决的零碎和要应用的测试方法
  • 收集情报(例如,网络和域名、邮件服务器)以更好地理解指标的工作形式及其潜在破绽
    ​ 

2、扫描

浸透测试人员会应用工具来检测指标网站或零碎的弱点,包含凋谢的服务、利用平安问题以及开源破绽。浸透测试人员依据他们在侦察和测试期间发现的内容应用各种工具。通常蕴含以下两类工具:

  • 动态剖析:查看应用程序的代码,以预估它在运行时的行为形式。这类工具能够一次性扫描整个代码。
  • 动态分析:在运行状态下查看利用程序代码。这是一种更理论的扫描形式,因为它能够实时查看应用程序的性能。
    ​ 

3、获取拜访权限

攻击者的动机可能包含窃取、更改或删除数据,转移资金或是侵害公司名誉等。因而,这一阶段会应用网络应用攻打,例如跨站脚本攻打、SQL 注入和后门等攻击方式,以发现指标破绽。浸透测试人员会确定最合适的工具和技术来取得对系统的拜访,而后利用这些破绽,以理解她们可能造成的侵害。
​ 

4、维持拜访

这一阶段的指标是看这些破绽是否能够在指标零碎中保持足够长的工夫以达成攻击者的目标。这是为了模仿简单的持续性威逼,这些威逼通常在零碎中停留数月以窃取企业中最敏感的数据。
​ 

5、剖析

浸透测试的后果随后会汇编成一份报告,蕴含以下内容:

  • 被利用的具体破绽
  • 被拜访的敏感数据
  • 浸透测试人员可能留在零碎中而不被发现的工夫

平安人员对这些信息进行剖析,以帮忙配置企业的 WAF 设置和其余利用平安解决方案,以修补破绽和阻止将来可能产生的攻打。
​ 

应该授予浸透测试人员多少权限?

依据浸透测试的指标,测试人员可能获取不同等级的信息或是指标零碎的拜访权限。在某些状况下,浸透测试团队会在开始时采取某种办法并始终坚持下去。其余时候,随着浸透测试期间对系统意识的深刻,测试团队也会迭代其测试策略。因而,有 3 个档次的浸透测试拜访权限:

  • Opaque Box:测试团队对指标零碎的内部结构毫无理解。他们须要像黑客一样行事,探测能够从内部利用的任何弱点。
  • Semi-opaque Box:团队把握了一套或多套凭证。并且晓得指标的外部数据结构、代码和算法。浸透测试人员可能会依据具体的设计文件,如指标零碎的架构图,设计测试计划。
  • Transparent Box:浸透测试人员领有拜访零碎、零碎组件(包含源代码、二进制、容器和其余运行在该零碎上的服务器)的权限。这种办法能够在最短的工夫内为指标零碎提供最高级别的保障。
    ​ 

浸透测试的类型

全面的浸透测试对于优化风险管理至关重要,这须要测试你所在环境中的所有区域:

  • Web App:测试人员检测安全控制的效率并查找暗藏的破绽、攻打模式以及其余导致 Web App 被毁坏的潜在平安缺口。
    ​ 
  • 挪动利用:利用自动化和扩大的手动测试,测试人员能够寻找在挪动设施上运行的应用程序二进制文件和相应的服务器端性能的破绽。服务器端的破绽包含会话治理、加密问题、认证和受权问题以及其余常见的网络服务破绽。
    ​ 
  • 网络:这种测试能够确定内部网络和零碎中的常见破绽和要害破绽。专家们会设置一个检查表,其中包含加密传输协定、SSL 证书范畴问题、治理服务的应用等测试用例。
    ​ 
  • 云:云环境与传统本地环境存在微小的差别。通常状况下,平安责任是由应用环境的企业和云服务提供商独特承当。正因为如此,浸透测试须要一套专门的技能和教训来仔细检查云的各个环节,如配置、API、各种数据库、加密形式、存储和安全控制。
    ​ 
  • 容器:从 Docker 取得的容器往往存在破绽,并且能够被大规模利用。谬误配置也是与容器及其环境相干的常见危险。以上这两种危险都能够通过业余的浸透测试发现。
    ​ 
  • 嵌入式设施(IoT):嵌入式或物联网设施(如医疗设施、汽车、智能家居、智能手表等)因为其较长的应用周期、电源限度、监管要求以及地位扩散等个性,须要独特的软件测试办法。专家们在进行彻底的通信剖析的同时,还须要进行客户端 / 服务器剖析,以确定在相干应用场景中是否会呈现破绽。
    ​ 
  • API:采纳主动和手动测试技术力求笼罩 QWASP API 平安 Top 10 名单。测试人员寻找的一些平安危险和破绽包含 Broken Object Level Authorization(BOLA)、用户认证、适度的数据裸露、不足资源 / 速率限度等等。
    ​ 
  • CI/CD 流水线:古代 DevSecOps 实际将自动化和智能代码扫描工具整合到 CI/CD 流水线中。除了发现已知破绽的动态工具外,主动浸透测试工具也能够被集成到 CI/CD 流水线中,以模仿黑客的行为形式来毁坏应用程序的平安。自动化的 CI/CD 浸透测试能够发现暗藏的破绽和攻打模式,这些破绽和攻打模式在动态代码扫描中是无奈发现的。
    ​ 

为什么浸透测试如此重要?

辨认并对平安危险进行优先排序

浸透测试评估了企业爱护其网络、应用程序、端点和用户的能力,以避免内部或外部试图躲避安全策略来取得对敏感数据的拜访。
​ 

智能治理破绽

浸透测试会向企业提供对于可利用的平安威逼的理论信息。通过执行浸透测试,你能够被动辨认哪些破绽是致命的,哪些是不太重要的,哪些是假阳性。这使你的组织可能更明智地确定补救措施的无限秩序、利用所需的安全补丁,并更无效地调配平安资源,以确保它们施展最大劣势。
​ 

辨认现有的平安我的项目是否在失常运行

没有对整个环境的适当可见性就贸然扭转安全策略可能会导致你所解决的平安问题都是一些本质上不会造成任何挫伤的问题。浸透测试不仅能通知你组件是否在失常运行,它们还能够进行质量检查,所以通过浸透测试你也会发现什么策略是最无效的,什么工具能够提供最高的投资回报率。
​ 

合乎监管要求

浸透测试帮忙企业解决审计和合规性问题。通过利用企业的基础设施,浸透测试能够精确地证实攻击者是如何取得敏感数据的。随着攻打策略的倒退和演变,定期的强制测试能够确保企业在破绽被利用之前发现并修复平安弱点,从而当先一步。

此外,对于审计人员来说,这些测试还能够验证其余规定的安全措施是否到位或者失常工作。浸透测试所生成的具体报告还能够帮忙企业阐明其在保护所需的安全控制方面做出了渎职的工作。

退出移动版