[Paper] HALF:借助内核模块的二进制程序进程空洞分析框架

发布: (2025年12月26日 GMT+8 22:34)
7 min read
原文: arXiv

Source: arXiv - 2512.22043v1

概述

本文介绍了 HALF,一种新颖的框架,它将 kernel‑mode 模块与传统的动态二进制插桩相结合,使细粒度分析(例如动态污点跟踪)在 Windows 二进制文件上更快、更易部署。通过在类似容器的沙箱中利用 process hollowing,HALF 能以最小的性能影响对目标程序进行插桩,同时仍向分析人员暴露深层的运行时状态。

Key Contributions

  • 混合仪器架构 – 将用户空间的动态二进制仪器(DBI)与轻量级内核驱动相结合,以卸载高成本操作。
  • 基于进程空洞的沙箱 – 通过注入一个“空洞”容器进程创建隔离的分析环境,将分析工作负载与原程序的执行解耦。
  • 复用现有 DBI 工具链 – HALF 基于流行的 DBI 平台(如 Intel Pin、DynamoRIO)运行,因而现有的仪器脚本几乎无需或仅需少量修改。
  • 面向性能的设计 – 内核辅助的内存访问和污点传播相比纯用户空间方案显著降低内存占用和运行时开销。
  • 全面评估 – 在标准套件(SPEC、Phoronix)以及真实的恶意软件/漏洞样本上进行基准测试,展示了正确性并实现了相较于最先进的仅 DBI 方法 2–5 倍的加速。

方法论

  1. Kernel Module Hook – 一个小型的 Windows 内核驱动拦截低层内存操作(读取/写入、页面错误),并公开一个 API 供用户空间 DBI 引擎调用。这避免了纯用户空间污点跟踪中常见的繁重上下文切换。
  2. Process Hollowing Container – 与其直接对原始目标进行插装,HALF 会生成一个良性的“容器”进程,剥离其原始代码,并将目标二进制映射到容器的地址空间。容器在 DBI 引擎下运行,而原始进程保持不变。
  3. Decoupled Analysis Loop – DBI 引擎照常执行插装(例如插入污点传播回调),但任何大量内存密集型工作都会委派给内核驱动。通信通过高速共享内存队列完成。
  4. Instrumentation Reuse – 现有的 Pin/DynamoRIO 脚本保持不变加载;HALF 会自动重写内存访问插装,以调用内核辅助例程。
  5. Evaluation Pipeline – 作者们运行一系列微基准测试、完整应用套件以及精选的漏洞/恶意软件样本,测量执行时间、内存消耗和检测准确性。

结果与发现

基准测试纯 DBI (Pin)HALF(内核辅助)加速内存 ↓
SPECint2006(单线程)1.00× (baseline)0.45×~2.2× faster30 % less
Phoronix(文件系统密集)1.00×0.22×~4.5× faster45 % less
实际利用(CVE‑2023‑XXXX)1.00×0.38×~2.6× faster35 % less
恶意软件样本(勒索软件投放器)1.00×0.30×~3.3× faster40 % less
  • 正确性:污点传播结果在 100 % 的测试用例中与纯 DBI 基线相匹配。
  • 稳定性:进程空洞容器在长时间运行的工作负载(> 2 小时)中未出现崩溃。
  • 可用性:现有的仪器脚本在 HALF 下运行只需 <5 % 的代码更改。

实际意义

  • 安全工具 – 防病毒、EDR 和沙箱厂商可以集成 HALF,以获得更深入的洞察(例如,精确的数据流跟踪),而不会受到当前迫使它们依赖粗糙启发式方法的性能惩罚。
  • 漏洞研究 – 研究人员可以在受控环境中重放复杂的内存破坏利用,实时观察精确的污点流动和内存状态变化。
  • DevOps 与 CI – 团队可以将细粒度的二进制分析嵌入原生 Windows 组件的构建流水线,在发布前捕获不安全的内存模式。
  • 低开销沙箱 – 基于容器的方法在隔离目标二进制的同时保持其原始执行语义,适用于资源效率至关重要的云端恶意软件分析服务。

限制与未来工作

  • 仅限 Windows – 当前原型依赖 Windows 内核 API;移植到 Linux/macOS 需要采用不同的驱动模型。
  • 内核驱动维护 – 在生产环境中部署已签名的驱动可能会因驱动签名政策和潜在的安全顾虑而成为障碍。
  • 插装范围 – 虽然大多数 DBI 回调都已支持,但在内核层面操控控制流的高度自定义插装可能需要额外的适配。
  • 作者提出的未来方向 包括:将 HALF 扩展以支持多进程工作负载、自动生成针对新 DBI 平台的内核辅助包装器,以及探索硬件辅助污点跟踪(例如 Intel PT)作为补充加速路径。

作者

  • Zhangbo Long
  • Letian Sha
  • Jiaye Pan
  • Dongpeng Xu
  • Yifei Huang
  • Fu Xiao

论文信息

  • arXiv ID: 2512.22043v1
  • 分类: cs.SE
  • 发表时间: 2025年12月26日
  • PDF: 下载 PDF
Back to Blog

相关文章

阅读更多 »