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

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

摘要

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

主要内容

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值