48、利用诱饵进程重定向恶意软件的目标选择

利用诱饵进程重定向恶意软件的目标选择

1. 研究内容概述

本文主要围绕利用诱饵进程重定向恶意软件的目标选择展开研究,包含蜜罐实验、诱饵进程展示机制、为诱饵进程提供性能支持等内容。具体结构如下:
- 蜜罐实验:评估蜜罐和诱饵 I/O 在实际中保护诱饵功能的能力。
- 诱饵进程:探讨如何让不存在的进程可见,以及相关的安全问题。
- 为诱饵进程提供性能支持:通过深度学习方法学习真实进程的性能指纹,以支持诱饵进程。

2. 蜜罐实验
2.1 实验目的与设置
  • 目的 :评估蜜罐和诱饵 I/O 在实际中保护诱饵功能的能力。
  • 设置 :从红队视角进行实验,分别在 Windows 蜜罐和配备诱饵 I/O 的生产 Windows 机器上进行。测试床由两台桌面电脑和一台笔记本电脑组成,它们连接到一个与其他网络逻辑和物理隔离的局域网。
2.2 零价值漏洞利用
  • 运行 Metasploit 对蜜罐发起公开已知的漏洞利用,利用公开已知的漏洞。
  • 该漏洞利用返回一个命令提示符(shell),可用于获取和运行额外代码。
  • 测试在第一个数据包到达蜜罐机器时就被检测到,但由于所有材料都是公开的,对防御者没有价值,防御者只能等待测试者的下一步行动。
2.3 性能探测
  • 主动收集主机处理器利用率、内存使用和二级存储活动的性能数据。
  • 编写 PowerShell 脚本实时收集这些性能数据,每秒收集大量样本,直到数据存储库填满。
  • 脚本可查看系统当前运行的所有进程的名称和进程标识符表,以及查看和存储特定进程的详细信息和属性。
2.4 搜索资源利用率缺失/低的模式
  • 发现按进程进行性能分析比全机器性能分析更能准确发现不活动情况。
  • 蜜罐的主机处理器时间与低使用状态下的生产机器有些相似,用户空间代码和内核空间代码的执行时间也有类似情况。
  • 整体代码执行产生的中断到达率和页面错误率与低使用状态下的生产机器难以区分。
  • 当脚本针对特定进程时,大多数情况下性能计数器显示完全没有资源利用,少数情况下显示存在但低的资源利用,这与在蜜罐上的操作有关。
  • 蜜罐上的进程执行没有进展,处理器时间为 0,没有页面错误,没有人机交互,二级存储未被访问。
性能参数 蜜罐 生产机器
处理器时间 多数为 0,少数极小峰值 高且可变
页面错误率 0 可变
工作集 固定值 87420928 高且可变
磁盘数据每秒 0 高且可变
2.5 在诱饵 I/O 上重复实验
  • 将探测针对生产机器上真实进程中的一个诱饵进程。
  • 诱饵 I/O 包括一个诱饵网络接口控制器,提供与诱饵 OPC 服务器的连接。
  • 诱饵进程是一个 OPC 客户端,与真实进程外观一致,但在性能计数器探测时,像蜜罐实验一样立即被检测到。
2.6 准确性需要多个性能样本
  • 生产机器有不活动或低使用期是正常的,为确保观察到生产活动,在广泛的时间窗口内收集性能探测数据。
3. 诱饵进程
3.1 可见但不创建
  • 思路是只向恶意软件展示进程的存在,而不实际创建它。
  • 原因是创建真实进程作为诱饵会消耗机器的真实资源,增加运行特定于诱饵进程的检测工具的开销。
  • 通过在操作系统内核的进程表中插入合成条目来实现诱饵进程的浏览存在。
  • 大多数隐藏恶意进程的技术可用于产生相反效果,即显示不存在的进程。任务管理器工具、tasklist 命令和 ps 命令都会在输出中显示不存在进程的条目。
3.2 性能数据的时间控制
  • 性能数据在操作系统内核的特定时间窗口内计数,例如页面错误计数器在引用物理主内存中不存在的页面时递增。
  • 计数器值不会立即存储在性能计数器存储库中,而是缓冲直到计数周期完成。
  • 用户空间的性能数据消费者在计数周期结束后才能收到新的计数器数据。
  • 数据插装驱动程序不能过快或过慢地将合成性能数据存入性能计数器存储库。
  • 合成性能数据由神经网络决定和产生,神经网络需要机器上所有真实进程的性能计数器才能运行。
  • 数据插装驱动程序直接访问存储库收集这些性能计数器,神经网络将诱饵进程的性能计数器传递给数据插装驱动程序后,后者将其缓冲直到计数周期结束,然后存入存储库。
3.3 安全性
  • 在蜜罐上通过合成性能数据使不存在的诱饵进程可见是安全的,因为蜜罐运行时没有人类交互,用户与诱饵进程交互的风险为零。
  • 在配备诱饵 I/O 的生产机器上风险较大,依赖之前工作中的安全措施,即集成到监控设备驱动栈中的过滤驱动程序,该驱动程序在数据显示在监视器上之前过滤掉诱饵条目。
4. 为诱饵进程提供性能支持
4.1 热图设计
  • 将机器的资源利用率建模为热图,性能参数用具有给定强度的颜色表示。
  • 热图中性能参数越高,颜色越强。
  • 用于学习进程性能指纹的性能参数示例如下表:
    |CPU|Memory|Secondary storage|
    | ---- | ---- | ---- |
    |User Time|Page Faults/sec|IO Read Operations/sec|
    |Privileged Time|Working Set|IO Write Operations/sec|
    | - |Working Set Peak|IO Other Operations/sec|
    | - |Pool Paged Bytes|IO Read Bytes/sec|
    | - |Pool Nonpaged Bytes|IO Write Bytes/sec|

  • 通过向神经网络提供大量由热图生成的图像进行训练,每个热图图像的类标签是一个颜色强度数组,对应诱饵进程的每个性能参数。

  • 如果训练成功,神经网络可用于热图识别,读取热图并输出类标签,从而确定诱饵进程性能计数器的具体值。
4.2 适应真实进程的性能
  • 诱饵进程(如 OPCExplorer 进程的诱饵对应物)的性能参数直接取决于机器上真实进程的资源利用率。
  • 当被恶意软件探测时,截取真实进程的性能计数器截图并转换为热图供神经网络识别。
  • 所有进程(包括恶意软件创建的进程)的资源利用率都包含在热图中,使用标准内部名称避免神经网络混淆。
  • 这使得方法能够了解机器当前的资源利用负载。
4.3 性能与输入数据的相关性
  • 热图顶部包含明确的进程活动指示,用于神经网络的内部热图处理。
  • 活动指示器将要模仿的进程的性能指纹与该进程的输入数据联系起来。
  • 当输入不同数据时,真实的 OPCExplorer 进程在相同的资源利用负载下可能有完全不同的资源利用率。
  • 相同的热图对不同的输入数据会导致不同的性能参数。
  • 进程的性能对输入数据的小变化不敏感,需要更好的输入分类才能引起资源利用率的明显变化。
  • 使用 OPC 操作(如读取、写入等)来关联输入和资源利用率,为 OPC 操作分配数值(操作码),并将其包含在热图中供神经网络处理。

mermaid 流程图:

graph LR
    A[蜜罐实验] --> B[零价值漏洞利用]
    A --> C[性能探测]
    C --> D[搜索资源利用率模式]
    A --> E[在诱饵 I/O 上重复实验]
    F[诱饵进程] --> G[可见但不创建]
    F --> H[性能数据时间控制]
    F --> I[安全性]
    J[为诱饵进程提供性能支持] --> K[热图设计]
    J --> L[适应真实进程性能]
    J --> M[性能与输入数据相关性]

利用诱饵进程重定向恶意软件的目标选择

5. 热图中 OPC 操作的具体应用

在热图的构建和使用中,OPC 操作起到了关键作用。OPC 由基于 Microsoft Distributed Component Object Model (DCOM) 的对象组成,COM 允许同一机器上的对象相互交换数据,而 DCOM 在此基础上增加了不同机器上对象通过网络交换数据的功能。OPC 对象有方法和属性(也称为标签或数据点),代表物理系统的参数,如电压、相位和电流等。

在热图中使用的 OPC 操作如下表所示:
|操作|描述|
| ---- | ---- |
|读取标签|从 OPC 服务器读取特定标签的值|
|写入标签|向 OPC 服务器写入特定标签的值|
|创建组|创建一组标签,可能来自不同的 OPC 对象|
|删除组|删除之前创建的标签组|
|订阅组|订阅标签组的变化通知|
|取消订阅组|取消对标签组的订阅|

这些操作被分配了数值操作码,用于在热图中标识不同的 OPC 操作,以便神经网络进行处理。例如,读取标签操作的操作码可能为 1,写入标签操作的操作码可能为 2,以此类推。通过这种方式,热图能够更全面地反映进程与 OPC 相关的操作和资源利用情况。

6. 整体流程总结

整个利用诱饵进程重定向恶意软件目标选择的过程可以总结为以下步骤:
1. 蜜罐实验阶段
- 进行零价值漏洞利用,检测蜜罐对已知漏洞的响应。
- 收集性能数据,包括主机处理器利用率、内存使用和二级存储活动等。
- 分析资源利用率模式,确定蜜罐和生产机器上进程的性能差异。
- 在诱饵 I/O 上重复实验,验证诱饵进程的可检测性。
2. 诱饵进程创建阶段
- 只展示进程存在,不实际创建,通过在操作系统内核进程表中插入合成条目实现。
- 控制性能数据的时间,确保合成性能数据的合理存储。
- 采取安全措施,防止用户与诱饵进程交互。
3. 性能支持阶段
- 设计热图,将机器资源利用率建模为热图,用颜色表示性能参数。
- 训练神经网络,使用大量热图生成的图像进行训练,使其能够识别热图并输出类标签。
- 适应真实进程性能,将所有进程的资源利用率包含在热图中,让神经网络了解机器当前负载。
- 关联性能与输入数据,利用 OPC 操作和操作码将进程性能指纹与输入数据联系起来。

mermaid 流程图:

graph LR
    A[蜜罐实验阶段] --> B[零价值漏洞利用]
    A --> C[收集性能数据]
    C --> D[分析资源利用率模式]
    A --> E[在诱饵 I/O 重复实验]
    F[诱饵进程创建阶段] --> G[展示进程存在]
    F --> H[控制性能数据时间]
    F --> I[采取安全措施]
    J[性能支持阶段] --> K[设计热图]
    J --> L[训练神经网络]
    J --> M[适应真实进程性能]
    J --> N[关联性能与输入数据]
    B --> F
    E --> F
    I --> J
7. 优势与挑战

这种利用诱饵进程重定向恶意软件目标选择的方法具有以下优势:
- 资源利用高效 :不实际创建真实进程作为诱饵,减少了机器资源的消耗,降低了运行检测工具的开销。
- 适应性强 :能够根据机器上真实进程的性能动态调整诱饵进程的性能参数,适应不同的资源利用负载。
- 可扩展性 :可以应用于各种类型的进程,不仅仅局限于 OPC 客户端进程。

然而,该方法也面临一些挑战:
- 检测准确性 :尽管通过多个性能样本和按进程分析提高了检测准确性,但恶意软件可能会发展出更复杂的检测方法,增加了诱饵进程被发现的风险。
- 神经网络训练 :训练神经网络需要大量的样本数据,并且需要不断更新以适应新的进程和性能模式。
- 安全风险 :在生产机器上使用诱饵进程仍然存在一定的安全风险,即使采取了过滤驱动程序等安全措施,也不能完全排除用户与诱饵进程交互的可能性。

8. 未来展望

为了进一步提高该方法的有效性和安全性,可以考虑以下未来发展方向:
- 改进检测技术 :研究更先进的检测方法,以应对恶意软件不断发展的检测手段,提高诱饵进程的隐蔽性。
- 优化神经网络 :不断优化神经网络的结构和训练算法,提高其对热图的识别能力和性能参数预测的准确性。
- 加强安全措施 :探索更完善的安全机制,进一步降低在生产机器上使用诱饵进程的风险,确保系统的稳定性和可靠性。

通过不断地改进和完善,利用诱饵进程重定向恶意软件目标选择的方法有望在网络安全领域发挥更大的作用,为保护系统免受恶意软件攻击提供更有效的手段。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值