基于网络异常的进程注入检测思路

admin 2024年1月7日17:00:12评论26 views字数 3406阅读11分21秒阅读模式

最近在看一些关于EDR等防护的文章时,传统的EDR多是基于程序异常执行、异常文件、钩子hook等方式进行检测,国外某研究机构发现在进行恶意操作时,攻击者往往会横向移动,基于此会产生恶意的网络请求,就可以在这个环节进行检测,即通过网络异常来检测进程注入等风险。

  • 当前的检测机制依赖于新的攻击技术可以绕过的基于主机的因素,这需要一种新的方法来识别威胁。

  • 随着这些攻击技术的发展,防御机制也必须不断发展,尽可能减少误报。

  • 成功的进程注入攻击可能会导致许多有害后果,包括横向移动 、权限提升和后门安装。

  • 检测方法依赖于观察进程的网络行为,这使得威胁更难被发现。

基础介绍

几乎所有攻击操作都使用进程注入。攻击者继续寻找操纵安全解决方案的方法;例如,通过在已经上线的进程中隐藏和执行有效负载。

注射技术是多年来发展迅速的威胁之一。这些高度复杂的纯内存技术正在迅速取代传统的注入技术,而现代安全解决方案(如端点检测和响应 (EDR))很容易检测到这些技术。    

无论攻击者的最终结果如何,成功的注入都将导致尝试横向移动、执行网络扫描或安装侦听器作为后门。攻击者找到新的攻击媒介,安全供应商相应地更新其检测,依此类推。

这些新的检测技术每月引入一次,这意味着 EDR 技术必须以最少的误报率更新其检测。考虑到成功注射带来的风险水平,安全保障团队不得不问自己:“能做些什么不同的事情?

大多数检测机制都涉及跟踪 API 调用、内存保护标志更改、分配和其他基于主机的项目等技术。然而,知道这些机制可以被新技术和威胁所操纵。这些新的注入技术与EDR旁路方法结合在一起,无法始终如一地被检测和阻止 。这意味着,作为防护者,不能仅仅依靠防病毒 (AV) 或 EDR 解决方案来缓解这些基于主机的攻击,需要一种方法来有效地检测成功的攻击。

在这篇博文中,将介绍一种由国外安全团队开发的进程注入检测技术,该技术使用网络异常检测,而不是上面列出的基于主机的工件。的技术侧重于进程的网络行为 ,这比 API 调用或文件系统更改等主机工件更难隐藏。使用此技术以及许多其他技术来检测客户网络中的恶意软件、横向移动、数据泄露和其他类型的攻击。

的检测分为三个主要步骤:

  • 将进程通信分类为端口组

  • 为正常流程通信构建基线

  • 将新过程数据与基线进行比较

          

为正常进程通信建立基线

进程如何通信?

很容易假设进程通信大多是一致的;也就是说,跨不同网络的相同进程具有相同的通信模式。虽然这对于某些进程是正确的,但对于其他进程来说却是完全错误的。预计操作系统原生进程的行为类似,与相似的域通信并使用相同的网络协议,但有许多变量会影响这一假设:操作系统内部版本、区域、代理服务器和其他特定于网络的配置都会影响其通信目的地和所使用的网络协议。    

基于网络异常的进程注入检测思路

在从收集的数据中,可以看到端口使用情况的不一致。这可能会使检测本身变得相当困难,因此下一步是找到一种方法将数据解析为可以分析的格式输入端口组。

使用端口组对进程通信进行分类

在研究中发现,当将相似的端口组合在一起并将它们与特定应用程序相关联时,可以为检测算法提供上下文,并更容易找到通信模式。这有助于检测通信模式中的异常情况。

例如,假设观察到一个特定的进程,该进程在一个网络中使用端口 636 和端口 389 进行通信,但在另一个网络中使用端口 3268 和端口 3269。由于这些都是轻量级目录访问协议 (LDAP) 的一部分,因此可以将它们全部归类为一个端口组:LDAP 通信。

这适用于大多数应用程序,但尝试对整个有效端口范围进行分类是很棘手的。许多端口由多个应用程序使用,这可能会导致进程在使用与其他软件共享的端口时被错误分类。这导致将端口分类缩小到仅主要用于一种类型的应用程序的端口,并将高端口范围保留为一个端口组。

完整的端口映射    

基于网络异常的进程注入检测思路

点击图片可查看完整电子表格

多少数据足以得出结论?

假设您看到一个特定的进程在七台机器上运行,使用 HTTPS 与特定的 Web 服务器建立所有连接。你能得出结论,同样的过程不应该使用任何其他形式的沟通吗?可能不是。

为了确定每个进程有多少数据足以依赖,采用每个进程和端口组对,并计算看到的网络数量。

首先,只考虑在三个或更多客户网络中看到的流程。如果一个进程出现在少于三个网络中(在数据集中的数百个网络中),则很难对其网络配置文件做出自信的决策。

然后,根据不同客户之间网络行为的差异来确定进程的稳定性级别。如果某个进程在所有客户中都使用相同的端口组进行通信,则该进程将被视为 稳定 。如果一个进程在每个客户网络中的通信方式完全不同,它将被认为是 不稳定 的。

添加了前 12 名、前 25 名和前 100 名稳定性级别,这些级别仅考虑 前 12、25 和 100 个最受欢迎端口中的端口。还包含一个 半稳定 级别,它忽略了高端口范围(端口号高于 49151)。

支持度和置信度

如果正在处理从单个网络中提取的数据,则可以从数据挖掘领域获得支持度和置信度,这有助于评估数据集中数据的强度和相关性。

支持度 度量数据集中项集的频率; 置信度 衡量关联规则中两个项集之间关系的可靠性。在案例中:    

支持度(进程)=(包含进程的数据点数)/(数据点总数)

支持度(进程 –> 端口组) =(进程在特定端口组上通信的数据点数)/(包含进程的数据点总数)

数据点将是以下不同数组:[主机、进程、端口组]

为进程应具有的最小支持设置了一个阈值,并设置了端口组应被视为基线一部分的最小置信度。这也是 Apriori 算法的第 1 步,Apriori 算法是一种流行的算法,用于在大型数据集中查找模式。经过评估,决定提供有趣发现和低信噪比的值。

构建基线

检测技术通过将每个进程通信与其过去的行为基线进行比较来工作。

为此,将特定日期发生的所有流程通信与基于上个月数据的基线进行比较。

这有助于适应网络的趋势,因为网络变化、系统部署和工具的首次出现会在第二天被考虑在内。

基于网络异常的进程注入检测思路

基线构建时间线示例

          

处理常见的误报

某些应用程序设置可以更改进程的网络配置文件。如果某个应用程序设置从使用 IP 地址修改为主机名,它将开始生成 DNS 流量。使用内部代理服务器也是如此,在每个网络中,可能出于相同的目的使用不同的端口。其他目标端口往往会生成较少的误报,并且可以按客户列入允许列表,以保持原始逻辑不变。    

为了减少这些误报的数量,将使用以下逻辑检查每个生成的警报:

如果进程的异常端口是 DNS/代理端口:

提取目标 IP

检查上个月有多少资产在同一端口上联系了同一目标 IP

如果该数字大于网络主机数的 20%,则将警报标记为误报

此逻辑有助于处理两种最嘈杂的通信类型的网络特定设置:DNS 和代理通信。

检测真实威胁

在真实案例中,检测到五个进程偏离了各自的通信基线。这 5 个系统原生可执行文件都使用非常特定的 Web 相关端口通信模式,它们开始使用服务器消息块 (SMB) 协议与网络中的其他资产进行通信。

              

基于网络异常的进程注入检测思路

使用 SMB 的横向移动尝试(删除主机名的网络映射)

          

通过查看进程的基线,可以看到它们都不应该启动任何 SMB 通信。

基于网络异常的进程注入检测思路

在触发报警期间,发现文件 C:WindowsNetworkDistributionsvchost.exe 在两台主机上运行,其中一台主机还发现了一个名为C:WindowsSystem32dllhostex.exe。在另一台机器上,发现了一个有趣的恶意脚本。    

基于网络异常的进程注入检测思路

来自主机上运行的恶意脚本的片段

          

如您所见,该脚本触发可执行文件,添加 Windows 防火墙规则,并将端口 65531-65533 上的通信隧道传输到合法的 DNS 服务器。它还使用“Bluetool”计划任务实现持久性,该任务运行编码的 PowerShell 命令,该命令下载另一个有效负载并每 50 分钟执行一次。

将这些文物追溯到 WannaMine ,这仍然是一个活跃的加密劫持活动。利用未修补的系统进入受 EternalBlue 入侵的网络是与该活动相关的一种公认的策略。

在将这次攻击与过去的活动进行比较时,可以看到威胁参与者对其工具集进行了一些更改。还观察到,这是该威胁行为者首次将代码注入合法系统进程。

                  

当前攻击

过去的攻击

主要计划任务

Bluetool

蓝牙, blackball

主可执行模块

msInstall.exe

svchost.exe

次要计划任务

GZAVwVOz

DnsScan

阻止传入的 SMB 流量

注入系统流程

 

              

原文始发于微信公众号(暴暴的皮卡丘):基于网络异常的进程注入检测思路

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年1月7日17:00:12
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   基于网络异常的进程注入检测思路http://cn-sec.com/archives/2371571.html

发表评论

匿名网友 填写信息