Binary code analysis and transformation
In security research, we are often confronted with the problem of securing third party code that is available only in binary form. This necessitates the development of analysis and instrumentation techniques that work on binaries. There are other significant reasons for working with binary rather than source code: the ability to support programs written in multiple source languages, and independence from compiler optimizations. (With binary code, "what you see is what you execute.")
Our research is concerned with developing robust and efficient instrumentation techniques for binaries. Our earlier work was concerned with binary transformations for defending against memory corruption attacks [35, 34]. More recently, we have been exploring the development of efficient taint analysis of binaries, and achieved a 3+ factor improvement in performance as compared to previous techniques [32]. Our continuing research is concerned with the development of robust and efficient disassembly techniques, static analysis and optimization of binaries, etc. Based on these techniques, we are developing binary instrumentation techniques for sandboxing, fault and attack containment, integrity protection, and intrusion detection.
Related Publications
- [1] Scalable, Sound, and Accurate Jump Table Analysis
- , and
ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA) October, 2024. - [2] Accurate Disassembly of Complex Binaries Without Use of Compiler Metadata
- , and
ACM Architectural Support for Programming Languages and Operating Systems (ASPLOS) February, 2024. - [3] SAFER: Efficient and Error-Tolerant Binary Instrumentation
- , , and
USENIX Security Symposium (USENIX Security) August, 2023. - [4] Practical Fine-Grained Binary Code Randomization
- , and
Annual Computer Security Applications Conference (ACSAC) December, 2020. (Talk on YouTube). - [5] On the Impact of Exception Handling Compatibility on Binary Instrumentation
- , and
Workshop on Forming an Ecosystem Around Software Transformation (FEAST) November, 2020. - [6] A Study of Binary Instrumentation Techniques
Research Proficiency Report (Stony Brook University) August, 2019.- [7] Protecting COTS Binaries from Disclosure-guided Code Reuse Attacks
- , and
Annual Computer Security Applications Conference (ACSAC) December, 2017. - [8] Function Interface Analysis: A Principled Approach for Function Recognition in COTS Binaries
- and
Dependable Systems and Networks (DSN) June, 2017. (Supercedes SECLAB16-05, May 2016). - [9] Memory corruption mitigation via hardening and testing
PhD Dissertation (Stony Brook University) May, 2017.- [10] NORAX: Enabling Execute-Only Memory for COTS Binaries on AArch64
- , , , , , , and
IEEE Symposium on Security and Privacy (IEEE S&P) May, 2017. - [11] Function Recovery for COTS Binaries
PhD Dissertation (Stony Brook University) May, 2017.- [12] Extracting Instruction Semantics Via Symbolic Execution of Code Generators
- and
ACM SIGSOFT International Symposium on the Foundations of Software Engineering (FSE) November, 2016. - [13] Lifting Assembly to Intermediate Representation: A Novel Approach Leveraging Compilers
- and
ACM Architectural Support for Programming Languages and Operating Systems (ASPLOS) April, 2016. - [14] Squeezing the Dynamic Loader For Fun And Profit
- and
Technical Report (TR) December, 2015. - [15] Code and Control Flow Integrity for COTS binaries: An Effective Defense Against Real-World ROP Attacks
- and
Annual Computer Security Applications Conference (ACSAC) December, 2015. - [16] A Principled Approach for ROP Defense
- , and
Annual Computer Security Applications Conference (ACSAC) December, 2015. - [17] Static Binary Instrumentation with Applications to COTS Software Security
PhD Dissertation (Stony Brook University) August, 2015.- [18] Automatic Synthesis of Instruction Set Semantics
PhD Dissertation (Stony Brook University) July, 2015.- [19] Automatic Generation of Assembly to IR Translators Using Compilers
- and
Workshop on Architectural and Microarchitectural Support for Binary Translation (AMAS-BT) February, 2015. - [20] Checking Correctness of Code Generator Architecture Specifications
- , and
ACM/IEEE International Symposium on Code Generation and Optimization (CGO) February, 2015. - [21] Towards More Usable Information Flow Policies for Contemporary Operating Systems
- , and
ACM Symposium on Access Control Models and Technologies (SACMAT) June, 2014.Honorable mention for Best paper . - [22] Comprehensive Integrity Protection for Desktop Linux (Demo)
- and
ACM Symposium on Access Control Models and Technologies (SACMAT) June, 2014. - [23] Eternal War in Memory
- , , and
IEEE Security and Privacy Magazine (S&P Magazine) May, 2014. - [24] A Platform for Secure Static Binary Instrumentation
- , , and
Virtual Execution Environments (VEE) March, 2014. - [25] A Portable User-Level Approach for System-wide Integrity Protection
- and
Annual Computer Security Applications Conference (ACSAC) December, 2013. - [26] Control Flow Integrity for COTS Binaries
- and
USENIX Security Symposium (USENIX Security) August, 2013.Best paper award! . - [27] SoK: Eternal War in Memory
- , , and
IEEE Symposium on Security and Privacy (IEEE S&P) May, 2013. - [28] Protecting Function Pointers in Binary
- , , , , and
ACM Symposium on Information, Computer and Communications Security (ASIACCS) May, 2013. - [29] Practical Control Flow Integrity and Randomization for Binary Executables
- , , , , , , and
IEEE Symposium on Security and Privacy (IEEE S&P) May, 2013. - [30] A Practical Technique for Containment of Untrusted Plug-ins
- , , and
Technical Report (TR) August, 2008. - [31] On the Limits of Information Flow Techniques for Malware Analysis and Containment
- , and
Detection of Intrusions, Malware and Vulnerability Analysis (DIMVA) July, 2008. (Supercedes SECLAB07-03, November 2007). - [32] Efficient Fine-Grained Binary Instrumentation with Applications to Taint-Tracking
- , and
ACM/IEEE International Symposium on Code Generation and Optimization (CGO) April, 2008. - [33] Static Binary Analysis And Transformation For Sandboxing Untrusted Plugins
Master's Thesis (Stony Brook University) August, 2007.- [34] SELF: a Transparent Security Extension for ELF Binaries
- , and
New Security Paradigms Workshop (NSPW) August, 2003. - [35] Address Obfuscation: An Efficient Approach to Combat a Broad Range of Memory Error Exploits
- , and
USENIX Security Symposium (USENIX Security) August, 2003. - [36] Empowering mobile code using expressive security policies
- , and
New Security Paradigms Workshop (NSPW) September, 2002.



