当前位置: 代码迷 >> 综合 >> USENIX2021-SELECTIVE TAINT: Efficient Data Flow Tracking With Static Binary Rewriting
  详细解决方案

USENIX2021-SELECTIVE TAINT: Efficient Data Flow Tracking With Static Binary Rewriting

热度:56   发布时间:2023-12-14 02:34:07.0

SELECTIVE TAINT:静态二进制重写的高效数据流跟踪

摘要

污染分析已广泛应用于漏洞检测、信息流跟踪、恶意软件分析和协议逆向工程等安全应用领域。最先进的污染分析工具通常构建在动态二进制检测之上,动态二进制检测在每一条可能的指令上进行检测,并依赖运行时信息来决定特定指令是否涉及污染,因此通常具有高性能开销。本文提出了一种有效的二进制可执行文件选择性污点分析框架SelectionTaint。关键思想是使用静态二进制重写而不是动态二进制插入,选择性地插入涉及污染分析的指令。在较高级别上,选择性地静态扫描二进制代码中感兴趣的污染源,利用值集分析保守地确定指令操作数是否需要被污染,然后选择性地污染感兴趣的指令。我们已经用一组二进制程序实现并评估了它,包括16个coreutils(重点是文件I/O)和5个网络守护程序(重点是网络I/O),如nginxweb服务器。我们的评估结果表明,与最先进的动态污点分析框架相比,通过选择性污点静态检测的二进制文件具有更好的性能(例如,比libdft快1.7倍)。

主要内容

在这篇文章中,我们提出了SELECTIVE TAINT,一个有效的针对静态二进制重写的二进制代码的选择性污点分析框架。选择性污染有两个显著特征。首先,它直接消除了动态二进制转换的开销,并构建在SBI而不是DBI之上。其次,它扫描二进制文件中感兴趣的污染源,通过利用值集分析(VSA)[3,4]静态确定指令操作数是否会参与污染分析,然后选择性地污染感兴趣的指令。有一些众所周知的挑战必须解决,例如如何处理二进制代码中的点到(即

  相关解决方案