主页

topics

什么是渗透测试?

什么是渗透测试?
深入了解 IBM 的渗透测试解决方案 订阅安全主题更新
包含云朵、手机、指纹、对号的组合拼贴插图
什么是渗透测试?

渗透测试是一种安全性测试,会发起模拟网络攻击以查找计算机系统中的漏洞。

渗透测试人员是拥有高超道德黑客技术的安全专业人员,道德黑客是指运用黑客工具和黑客技术来修复安全薄弱环节而不是造成伤害。许多企业会雇用渗透测试人员来对其应用程序、网络和其他资产发起模拟攻击。通过发起虚假攻击,渗透测试人员可以帮助安全团队发现严重安全漏洞,改善整体安全状况。

术语“道德黑客”和“渗透测试”有时可以互换使用,但存在差异。道德黑客是一个更广泛的网络安全领域,包括任何运用黑客技能来改善网络安全的行为。渗透测试只是道德黑客运用的多种方法之一。道德黑客可能还会提供恶意软件分析、风险评估和其他服务。

数据泄露成本

了解最新的《数据泄露成本报告》,获取洞察分析,以便更好地管理数据泄露风险。

相关内容 注册获取 X-Force Threat Intelligence 指数
企业为什么要进行渗透测试

企业之所以进行渗透测试,主要出于三个原因。

渗透测试比单纯的漏洞评估更全面。渗透测试和漏洞评估都可以帮助安全团队找出应用程序、设备和网络中的薄弱环节。但是,这两种方法的目的略有不同,因此许多组织会同时运用这两种方法,而不是依赖于其中一种。

漏洞评估通常是指重复进行自动扫描,在系统中搜索已知漏洞,并进行标记以供审核。安全团队会运用漏洞评估来快速检查是否存在常见缺陷。

渗透测试更进一步。渗透测试人员发现漏洞后,会在模拟攻击中利用它们,模仿恶意黑客的行为。这样,安全团队就能深入了解实际黑客可能会如何利用漏洞来访问敏感数据或破坏运营。安全团队可以利用这些知识来设计针对现实世界网络威胁的网络安全控制措施,而不是试图猜测黑客可能会做些什么。

由于渗透测试人员会采取自动流程和手动流程并用的做法,因此他们能够发现已知和未知的漏洞。由于渗透测试人员会主动利用他们发现的薄弱环节,因此出现误报的可能性较小;如果他们可以利用漏洞,那么网络犯罪分子也可以。由于渗透测试服务由第三方安全专家提供,他们会从黑客的角度来接触系统,因此渗透测试通常能够发现内部安全团队可能遗漏的缺陷。

网络安全专家建议进行渗透测试。很多网络安全专家和权威机构建议将渗透测试作为一种主动安全措施。例如,在 2021 年,美国联邦政府(ibm.com 外部链接)敦促各企业利用渗透测试来抵御日益频繁的勒索软件攻击

漏洞测试有助于确保监管合规性。《健康保险流通和责任法案》(HIPAA) 和《通用数据保护条例》(GDPR) 等数据安全法规要求采取特定的安全控制措施。渗透测试可以帮助企业确保其控制措施,从而证明其符合这些法规。

其他法规明确要求进行渗透测试。《支付卡行业数据安全标准》(PCI) 适用于处理信用卡的组织,专门要求定期进行“外部和内部渗透测试”(ibm.com 外部链接)。

此外,渗透测试还有助于确保符合 ISO/IEC 27001(ibm.com 外部链接)等自愿遵守的信息安全标准。

渗透测试的类型

所有渗透测试都需要对企业计算机系统进行模拟攻击。但是,多种不同类型的渗透测试以不同类型的企业资产为目标。

  1. 应用程序渗透测试
  2. 网络渗透测试
  3. 硬件渗透测试
  4. 人员渗透测试

应用程序渗透测试


应用程序渗透测试会查找应用程序和相关系统(包括 Web 应用程序和网站、移动应用程序和 IoT 应用程序、云应用程序应用程序编程接口 (API))中的漏洞。

渗透测试人员往往会首先搜索开放式 Web 应用程序安全项目 (OWASP) 十大安全风险(ibm.com 外部链接)中列出的漏洞。“OWASP 十大安全风险”列出了最严重的 Web 应用程序漏洞。该列表会定期更新以反映不断变化的网络安全环境,但常见漏洞包括恶意代码注入、错误配置和身份验证失败。除了“OWASP 十大安全风险”之外,应用程序渗透测试还会查找可能是手头应用程序独有的不太常见的安全缺陷和漏洞。

网络渗透测试


网络渗透测试会攻击企业的整个计算机网络。网络渗透测试分为两大类:外部测试和内部测试。

在外部测试中,渗透测试人员会模仿外部黑客的行为,以查找服务器、路由器、网站和员工计算机等面向互联网的资产中存在的安全问题。此类测试称为“外部测试”,因为渗透测试人员试图从外部侵入网络。

在内部测试中,渗透测试人员会模仿恶意内部人员或黑客使用窃取的凭据做出的行为。目标是发现可能会被人从网络内部利用的漏洞,例如滥用访问权限来窃取敏感数据

硬件渗透测试


这些安全测试会查找连接到网络的设备(例如笔记本电脑、移动设备和 IoT 设备以及运营技术 (OT) 中的漏洞。

渗透测试人员可能会查找软件缺陷,例如让黑客能够远程访问端点的操作系统漏洞。他们可能会查找物理漏洞,例如恶意行为者可能潜入的安保措施不当的数据中心。测试团队可能还会评估黑客可能会如何从遭到入侵的设备移动到网络的其他部分。

人员渗透测试


人员渗透测试会查找员工网络安全卫生方面的薄弱环节。换句话说,此类安全测试会评估企业面对社会工程攻击的脆弱性。

人员渗透测试人员会通过网络钓鱼、电话钓鱼(语音网络钓鱼)和短信钓鱼(短信网络钓鱼)来诱骗员工泄露敏感信息。人员渗透测试可能还会评估办公室物理环境安全。例如,渗透测试人员可能会试图通过伪装成送货员来潜入大楼。这种做法称为“尾随”,是现实世界中犯罪分子的常用手段。

渗透测试流程

在渗透测试开始之前,测试团队和企业会设定测试范围。该范围概述了渗透测试人员将会测试哪些系统、何时进行测试以及可以使用哪些方法。该范围还决定了渗透测试人员将会提前获得多少信息:

  • 黑匣测试中,渗透测试人员不会掌握目标系统的任何信息。他们必须像现实世界中的黑客一样,靠自己进行研究来制定攻击计划。

  • 白盒测试中,目标系统对于渗透测试人员是完全透明。企业会分享网络示意图、源代码、凭据等详细信息。

  • 灰盒测试中,渗透测试人员可以获得一些信息,但信息量不大。例如,企业可能会分享网络设备的 IP 范围,但渗透测试人员必须自行探查这些 IP 范围以找出漏洞。

设定范围后,测试就开始了。渗透测试人员可能会遵循多种渗透测试方法。常见的标准包括 OWASP 的应用程序安全测试指南(ibm.com 外部链接)、渗透测试执行标准 (PTES)(ibm.com 外部链接)以及美国国家标准与技术研究院 (NIST) SP 800-115(ibm.com 外部链接)。

无论测试团队使用哪种方法,该流程通常会遵循相同的总体步骤。

1. 搜索


测试团队收集有关目标系统的信息。渗透测试人员根据目标使用不同的侦察方法。例如,如果目标是应用程序,那么渗透测试人员可能会研究其源代码。如果目标是整个网络,那么渗透测试人员可能会使用数据包分析器来检查网络流量。

渗透测试人员也经常利用开源网络情报 (OSINT)。通过阅读公共文档、新闻文章,甚至是员工的社交媒体和 GitHub 帐户内容,渗透测试人员可以收集有价值的目标相关信息。

2. 目标发现和开发


渗透测试人员会利用在侦察步骤中获得的知识,找出可利用的系统漏洞。例如,渗透测试人员可能会使用 Nmap 等端口扫描程序来查找可以发送恶意软件的开放端口。进行社会工程渗透测试时,测试团队可能会编造虚假故事或“托辞”,从而在网络钓鱼电子邮件中利用它来窃取员工凭据。

在这一步中,渗透测试人员可能会检查安全功能对入侵的反应。例如,他们可能会将可疑流量发送到企业的防火墙,看看会发生什么。渗透测试人员会利用他们了解到的知识,在测试的其余部分逃避检测。

3. 利用


测试团队开始进行实际攻击。渗透测试人员可能会尝试进行各种攻击,具体取决于目标系统、所发现的漏洞以及测试范围。一些最常测试的攻击包括:

  • SQL 注入:渗透测试人员试图通过在输入字段中输入恶意代码来让网页或应用程序泄露敏感数据。

  • 跨站脚本攻击:渗透测试人员试图在企业网站中植入恶意代码。

  • 拒绝服务攻击渗透测试人员会试图对服务器、应用程序和其他网络资源进行流量洪泛攻击,使其陷入瘫痪。

  • 社会工程渗透测试人员通过网络钓鱼、诱饵、托辞或其他计策来诱骗员工损害网络安全。

  • 暴力攻击:渗透测试人员试图通过运行脚本来侵入系统,这些脚本可以生成并测试可能的密码,直到成功为止。

  • 中间人攻击:渗透测试人员拦截两台设备或两位用户之间的流量,以窃取敏感信息或植入恶意软件。

4. 升级


渗透测试人员一旦利用漏洞在系统中站稳脚跟,就会试图四处游走并访问系统的其他部分。这一阶段有时称为“漏洞链”,因为渗透测试人员会在不同的漏洞之间游走,让网络入侵更加深入。例如,他们可能首先会在员工的电脑上安装键盘记录。利用该键盘记录器,他们可以捕获员工的凭据。使用这些凭据,他们可以访问敏感数据库。

在此阶段,渗透测试人员的目标是维持访问权限并提升自己的权限,同时规避安全措施。渗透测试人员执行所有这些操作,是为了模仿高级持续性威胁 (APT),此类威胁可能会在系统中潜伏数周、数月或数年,然后才被发现。

5. 清理和报告


模拟攻击结束后,渗透测试人员会清理他们留下的所有痕迹,例如植入的后门木马或是更改的配置。这样,现实世界中的黑客就无法利用渗透测试人员所利用的漏洞来突破网络。

然后,渗透测试人员会编写一份关于攻击的报告。该报告通常会概述发现的漏洞、利用的漏洞、有关他们如何规避安全功能的详细信息,以及对他们在系统内所执行操作的描述。报告可能还会包括关于漏洞补救措施的具体建议。内部安全团队可以使用这些信息来加强对真实世界攻击的防御。

渗透测试工具

渗透测试人员会使用各种工具进行侦察、检测漏洞,以及自动执行渗透测试流程的主要部分。一些最常用的工具包括:

  1. 专用操作系统
  2. 凭据破解工具
  3. 端口扫描程序
  4. 漏洞扫描程序
  5. 数据包分析器
  6. Metasploit

专用操作系统:大多数渗透测试人员会使用专为渗透测试和道德黑客设计的操作系统。最受欢迎的是 Kali Linux,这是一个开源的 Linux 发行版,预装了 Nmap、Wireshark 和 Metasploit 等渗透测试工具。

凭据破解工具:这些程序可以通过破解加密或发起暴力攻击来发现密码;暴力攻击会使用机器人或脚本来自动生成和测试可能的密码,直到成功为止。示例包括 Medusa、Hyrda、Hashcat 和 John the Ripper。

端口扫描程序:借助端口扫描程序,渗透测试人员可以进行远程测试,了解设备是否存在可以用作网络突破口的开放端口。Nmap 是使用最广泛的端口扫描程序,但 Masscan 和 ZMap 也很常用。

漏洞扫描程序:漏洞扫描程序可搜索系统中的已知漏洞,让渗透测试人员能够快速找到目标的潜在入口。示例包括 Nessus、Core Impact 和 Netsparker。

网络漏洞扫描程序是漏洞扫描程序中的一类,用于评估 Web 应用程序和网站。示例包括 Burp Suite 和 OWASP 的 Zed Attack Proxy (ZAP)。

数据包分析器:数据包分析器也称为数据包嗅探器,让渗透测试人员能够通过捕获和检查数据包来分析网络流量。渗透测试人员可以弄清楚流量的来路和去处,在某些情况下还能弄清楚流量中包含了哪些数据。最常用的数据包分析器包括 Wireshark 和 tcpdump。

Metasploit:Metasploit 是一个具有多种功能的渗透测试框架。最重要的是,Metasploit 让渗透测试人员能够自动执行网络攻击。Metasploit 带有一个内置的库,其中包含了预先编写的漏洞代码和有效负载。渗透测试人员可以选择一个漏洞,向其提供要传送至目标系统的有效负载,然后将其余部分交给 Metasploit 来处理。

相关解决方案
X-Force Red 渗透测试服务

针对应用程序、网络、硬件和人员的渗透测试,发现和修复漏洞,保护最重要的资产免受攻击。

深入了解 X-Force Red 渗透测试服务
X-Force Red 进攻型安全服务

X-Force Red 是一个全球黑客团队,受雇入侵组织并发掘攻击者可能用来谋取私利的风险漏洞。

探索 X-Force Red 进攻型安全服务
资源 什么是威胁追踪?

威胁搜寻是一种主动方法,用于识别组织网络中以前未知或持续存在的未修复威胁。

什么是网络攻击?

网络攻击是指试图以未经授权的方式访问计算机系统,以窃取、暴露、篡改、禁用或破坏他人资产的不当行为。

什么是内部威胁?

内部威胁来自于有权合法访问企业资产,且故意或不慎滥用权限的用户。

采取后续步骤

IBM 网络安全服务提供咨询、集成和托管安全服务以及进攻和防御功能。我们将全球专家团队、专有技术及合作伙伴技术相结合,共创量身定制的安全计划来管理风险。

深入了解网络安全服务 订阅 Think 时事通讯