定义漏洞利用

2025 年 6 月 16 日 | 阅读 6 分钟

漏洞利用(Exploit)是一段代码、一块数据或一系列命令,它利用应用程序或系统中的软件漏洞或安全缺陷,导致意外行为的发生。这个词来源于英语动词“exploit”,意思是“利用某物来达到自己的目的”。攻击的目标遭受了设计上的缺陷,使得攻击者能够创建手段来访问和利用它以达到其利益。

漏洞利用代码要么由安全研究人员作为概念验证威胁编写,要么由恶意攻击者为其操作编写。漏洞利用允许入侵者远程访问网络并获得提升的权限,或者深入网络。

在某些情况下,漏洞利用可以作为多组件攻击的一部分。除了使用恶意文件外,漏洞利用还可以释放其他恶意软件,包括后门间谍软件和木马。这些后门恶意软件通常用于窃取受感染系统中的用户信息。

最知名的基于 Web 的安全漏洞包括跨站脚本、跨站请求伪造、SQL 注入攻击,以及身份验证代码错误或安全配置错误。漏洞利用可以分为两大类:

  • 已知漏洞
  • 未知或零日漏洞

零日漏洞是最危险的,因为它们发生在软件包含供应商不知晓的关键安全漏洞时。直到黑客被发现利用该漏洞时,该漏洞才为人所知,因此称为零日漏洞利用。一旦发生漏洞利用,运行该软件的系统就会容易受到攻击,直到供应商发布补丁来修复该漏洞,并且补丁已应用到软件中。

漏洞利用如何攻击?

漏洞利用利用操作系统、计算机系统、物联网(IoT)设备、软件或其他安全漏洞中的安全缺陷。

一旦漏洞利用被使用,软件开发者就会知晓,通常会通过补丁修复,并且该漏洞利用将无法使用。

因此,许多网络犯罪分子以及政府机构或军队不将漏洞利用发布到 CVE 中,而是选择将其保密。这种漏洞被称为零日漏洞或零日漏洞利用。

例如,NSA 是一个政府机构,它选择对名为“EternalBlue”的软件漏洞保密。

EternalBlue 利用了使用过时服务器消息块(SMB)协议的 Microsoft Windows 操作系统的旧版本。

网络犯罪分子开发了 WannaCry 勒索软件蠕虫,它利用了 EternalBlue,并传播到约 150 个国家的 200,000 多台计算机,造成的损失从 1 亿美元到数十亿美元不等,直到 EternalBlue 被打补丁。

尽管软件开发者发布了补丁来修复 EternalBlue,但由于用户对补丁的采纳率很差,这个已知的漏洞仍然是一个巨大的网络安全风险。

漏洞利用的分类

有几种方法可以对漏洞利用进行分类。最常见的是漏洞利用与易受攻击的软件的通信方式。

远程漏洞利用(remote exploit)通过网络工作,并在未经事先访问易受攻击系统的情况下利用安全漏洞。

本地漏洞利用(local exploit)需要事先访问易受攻击的系统,并使运行漏洞利用的人员拥有超出系统管理员授予的权限。也存在针对客户端应用程序的漏洞利用,由修改过的服务器在客户端应用程序访问时发送漏洞利用。

针对客户端应用程序的漏洞利用也可能需要与用户的某些交互,因此可能与社会工程学方法结合使用。另一种分类是针对易受攻击系统的行为,例如未经授权的数据访问、任意代码执行和拒绝服务。

许多漏洞利用被设计为提供对计算机系统的超级用户级别访问。也可以使用多个漏洞利用,首先获得低级别访问权限,然后反复提升权限,直到达到最高管理级别,称为“root”。

在漏洞利用被受影响软件的作者得知后,该漏洞通常会通过补丁进行修复,并且漏洞利用将无法使用。这就是为什么一些黑帽黑客以及军事或情报机构的黑客不发布他们的漏洞利用并将其保密的原因。

除了发现和开发它们的人之外,对所有人来说未知的漏洞利用被称为零日漏洞利用。

漏洞利用的类型

漏洞利用可以根据其工作方式和能够完成的攻击类型,以几种不同的方式进行分类。

  • 网络安全研究人员已经发现了已知的漏洞利用。无论已知漏洞是由于软件、操作系统还是硬件的缺陷,开发人员都可以编写补丁来堵塞漏洞。这些补丁作为安全更新发布给用户。这就是为什么保持设备更新如此重要。
  • 相比之下,未知漏洞或零日漏洞是由网络犯罪分子在发现漏洞后立即创建的,并在同一天使用该漏洞利用攻击受害者。当发生零日漏洞利用攻击时,软件开发人员和网络安全研究人员必须争分夺秒地找出漏洞利用的工作原理以及如何修补该漏洞。

最熟悉的漏洞利用类型是零日漏洞利用,它利用了零日漏洞。零日漏洞发生在软件(通常是应用程序或操作系统)包含供应商不知晓的关键安全漏洞时。直到黑客被发现利用该漏洞时,该漏洞才为人所知,因此称为零日漏洞利用。

一旦发生此类漏洞利用,运行该软件的系统就会容易受到攻击,直到供应商发布补丁来修复该漏洞,并且补丁已应用到软件中。

安全漏洞利用形式多样,但有些技术比其他技术更常用。一些最常见的基于 Web 的安全漏洞包括 SQL 注入攻击、跨站请求伪造和跨站脚本,以及身份验证代码错误或安全配置错误被滥用。

漏洞利用可以通过攻击的预期结果来表征,例如拒绝服务、远程代码执行、权限提升、恶意软件分发或其他恶意目标。计算机漏洞利用也可以通过被利用的漏洞类型来表征,包括缓冲区溢出漏洞利用、代码注入或其他类型的输入验证漏洞和侧信道攻击。

缓解漏洞利用

虚拟补丁是企业最推荐的缓解解决方案之一。虚拟补丁基于这样一个前提:漏洞利用会通过应用程序的定义路径来利用软件缺陷。

可以在网络层创建规则来控制与目标软件的通信。

如何保护系统免受漏洞利用的侵害?

以下是一些主动采取漏洞利用防护措施的方法,例如:

  1. 保持更新:定期更新操作系统和我们安装的所有各种应用程序。一旦零日漏洞被软件供应商知晓并发布了补丁,个人用户就有责任修补和更新他们的软件。
    零日漏洞在公开为人所知后会变得更加危险和普遍,因为更多的威胁行为者正在利用该漏洞。请定期查看您的软件提供商,了解是否有任何可用更新或补丁。
    如果可能,进入软件设置并开启自动更新,这样这些更新就会在后台自动进行,无需您额外操作。这将缩短从宣布漏洞到修补漏洞之间的时间延迟。网络犯罪分子专门针对那些忘记或不知道更新和修补软件的人。
  2. 升级您的软件:在某些情况下,软件应用程序会变得过于陈旧和庞大,软件制造商将停止支持它,这意味着发现的任何额外错误都不会得到修复。确保制造商仍在支持您的软件。如果不支持,请升级到最新版本或切换到执行相同功能的其他软件。
  3. 在线安全:确保您选择的 Web 浏览器启用了 Microsoft SmartScreen 或 Google Safe Browsing。您的浏览器会检查您访问的每个站点与 Microsoft 和 Google 维护的黑名单,并将您引导远离已知会传播恶意软件的站点。有用的反恶意软件工具,例如 Malwarebytes。
  4. 用则有用,不用则弃:如果您不再使用该软件,请将其从您的计算机中删除。
  5. 安装官方应用。 在保护移动设备安全方面,请仅使用授权的应用。但总的来说,请坚持使用经过 Apple 和 Google 验证的批准的应用。
  6. 使用防漏洞利用软件:使用良好的反恶意软件程序,例如适用于 Mac 的 Malwarebytes、适用于 Windows 的 Malwarebytes、适用于 iOS 的 Malwarebytes 和适用于 Android 的 Malwarebytes,可以主动识别并阻止恶意软件利用您计算机上的漏洞。

下一主题什么是 LAMP