首页 > 最新消息 >Forcepoint新世代防火墙的检测功能可透过Shellcode 编码器进行零日安全保护

最新消息

2022-01-21

Forcepoint新世代防火墙的检测功能可透过Shellcode 编码器进行零日安全保护


攻击者正在利用常见软体进行零日漏洞的攻击,这意味著您无能为力来防止漏洞利用,对吗?

出现漏洞

一切都开始于受害者设备上软体组件中的漏洞,攻击者知道这一点。攻击者准备一种特殊类型的文件、网路流量中的某种模式或其他东西,并以某种方式诱骗受害者执行此攻击。当受害者执行时,就会触发漏洞。例如在拒绝服务 (DoS) 攻击中:系统可能会变得无反应或减速。该漏洞可能使攻击者能够在受害者的系统上注入一些额外的程式来执行。

Shellcode出现

Shellcode 是用于在成功注入受害者系统内存的小段代码的通用术语。该名称源于历史事实,即最初的 shellcode 用于为攻击者弹出 shell 界面。现在,shellcode 还可以做很多其他的事情,比如在系统上安装 C&C或反向后门。但是 shellcode 这个术语已经在通用术语中确立了它的地位。

在 Metasploit 等攻击框架中,选择exploit后,选择成功exploit后要执行的payload。这个payload就是shellcode。

Shellcode编码器

大多数漏洞不允许将真正的任意字节注入系统内存。为了获取可利用代码,漏洞利用负载可能需要以特定方式进行格式化 - 例如,它可以不包含 NULL 或只允许使用 ASCII 。为了解决这个问题,必须使用shellcode 编码器。

shellcode 编码器将 shellcode 编码为可接受的形式,例如完整的 ASCII。编码器本身通常不会试图逃避安全供应商的检测,例如 AV 或 IPS。它们的主要功能是将代码修改为可以成功注入内存的格式。即使使用简单的字符串匹配,这些类型的编码器也很容易识别。

但是,有些编码器是专门为安全供应商难以检测而建立的。每次运行时,多元编码器生成的 shellcode 都会不同,这使得需要初始字符串匹配才能工作的安全系统无法识别。强大的多元 shellcode 编码器的例子是传说中的 Shikata-Ga-Nai,它是一个多元 XOR 加法反馈编码器。 Shikata-Ga-Nai 以现代安全产品难以检测的编码器而闻名。

Shellcode stager

有时,要被利用的漏洞只允许将非常少量的代码注入内存。在这种情况下,攻击者无法将完整的 shellcode 放入攻击负载中。相反,攻击者可以注入一种叫做 stager 的东西。stager 是一段非常短的代码,它将在受害系统上运行的更大的代码段。这使得在被利用的系统中获得更大的 shellcode。漏洞利用框架通常也实现不同类型的 stager。

零日检测

如前所述,检测零日攻击是一项艰钜的任务。但是,除了利用零日漏洞之外,漏洞利用通常还包括编码的 shellcode 负载。尽管最初的漏洞利用可能会有所不同,即使最终执行的 shellcode 有效负载也可能会有所不同,但仍然存在一个部分:shellcode 编码器。

这意味著您不一定需要识别初始的攻击来源。你甚至不需要知道有效负载是什么。您需要做的就是识别不同的 shellcode 编码器。通过识别 shellcode 编码器,您可以牢固地防御零日攻击。

Forcepoint 新世代防火墙中的检测功能

Forcepoint 新世代防火墙中内建的DFA 指纹识别可在任何网路流量中实现快速的指纹识别。因此,甚至可以从任何网路流量中识别更复杂的 shellcode 编码器。这一点值得注意,因为许多安全产品只能对文件执行这种级别的检测,而不是在整个网路。

相关原厂文章:https://www.forcepoint.com/blog/x-labs/zero-day-protection-via-shellcode-encoders