[06-21] Superset Disassembly: Statically Rewriting x86/64 Binaries Without Heuristics

文章来源:  |  发布时间:2018-06-20  |  【打印】 【关闭


  报告: Superset Disassembly: Statically Rewriting x86/64 Binaries Without Heuristics

  报告人:Dr. Zhiqiang Lin

  时间: 6月21日上午10:00

  地点: 5号楼四层第一会议室

  摘要: Static binary rewriting is a core technology for many systems and security applications, including profiling, optimization, and software fault isolation. While many static binary rewriters have been developed over the past a few decades, most make various assumptions about the binary, such as requiring correct disassembly, cooperation from compilers, or access to debugging symbols or relocation entries. In this talk, Dr. Lin will present a new open source static binary rewriter called Multiverse that is able to rewrite x86/64 COTS binaries without these assumptions. There are two fundamental building blocks developed to achieve this: (i) a superset disassembly that completely disassembles the binary code into a superset of instructions in which all legal instructions fall, and (ii) an instruction rewriter that is able to relocate all instructions to any other location by mediating all indirect control flow transfers and redirecting them to the correct new addresses. A prototype implementation of Multiverse and evaluation on SPECint 2006 benchmarks shows that Multiverse is able to rewrite all of the testing binaries with a reasonable runtime overhead for the new rewritten binaries. Simple static instrumentation using Multiverse and its comparison with dynamic binary instrumentation also shows that the approach achieves better average performance.

  简介: Dr. Zhiqiang Lin is an Associate Professor of Computer Science and Engineering at The Ohio State University. His research interests are systems and software security, with an emphasis on developing program analysis techniques and applying them to secure both application programs including mobile apps and the underlying system software such as operating systems kernels and hypervisors. Dr. Lin earned his Ph.D. in Computer Sciences from Purdue University. He is a recipient of both the NSF CAREER Award and the AFOSR Young Investigator Award.