Software Attack Surface Reduction On The Fly
Abstract
Project Summary- Approved for Public ReleaseWe propose leveraging recently published advances in binary code analysis to invent generic code-hardening processes applicable to runtime generated code (RCG) within commercial off-theshelf(COTS) and other legacy software products. If successful, the proposed project would yield advanced forms of dynamic control-flow integrity (CFI), software faultisolation (SFI), and attack surface reduction (e.g., binary debloating) that could be applied to realize vulnerability hardening and mitigation strategies for software that incorporates RCG as part of its runtime system. Since RCG is an increasingly integral component of many runtime systems (e.g., JIT-compiled languages such as Java bytecode, interpreted languages such as JavaScript, and cross-language runtime systems such as Microsoft .NET), this innovation would bring effective CFI protections to a much larger class ofcode domains than are presently supported by any existing technique. Although dynamic CFI is a difficult problem for which prior efforts have suffered prohibitive limitations (e.g., low performance and/or weak security), recent advances in lightweight reverseengineering have now advanced the state-of-the-art, leading to the new technical approaches here proposed. In particular, our prior research on software reverse-engineering, debloating, and hardening has introduced exceptionally lightweight methods of analyzing and modifying binary code as it is represented in runtime process images. Combining these and related innovations offers a potential path to realizing a disassembly and hardening algorithm that is sufficiently fast and lightweight that it can be applied on the fly to harden RCG code after it is generated but before it is executed.Unlike prior efforts, the proposed approach is expected to be code generator-agnostic in the sense that no significant alteration of the runtime code generators (e.g., JIT compilers) source code would be required to realize the protection strategy for new runtimes or languages. Likewise, the proposed approach is applicable to commodity OSes and hardware without the introduction of additional VM layers or interpreters. This will potentially make it suitable for low-resource architectures (e.g., embedded and handheld devices) that typically cannot support such additional layers without prohibitive overheads.Intellectual Merit: The proposed project will extend the cutting edge of binary software fault isolation, sandboxing, control-flow safety, intrusion detection, and malware protection technologies by innovating generic binary code analysis and rewriting strategies that can be applied at runtime as dynamic code is generated, yet without the performance penalties and resource burdens associated with traditional VMs, interpreters, hypervisors, and similar layered isolation solutions. This effort will yield scientific innovations in binary and source-level reverse-engineering, machine learningbased codeanslysis, automated code transformation and compilation, and systems security.Future Naval Relevance: Research resulting from the proposed project has the potential to i00026@@@cloud, web, service-oriented architectures, and mobile devices, many of which currently rely upon RCG-based software infrastructures at various points within their networks. By hardening this dynamically generated code with more precise, fine-grained controls than are presently possible with purely network- or OS-level protections, the proposed research will introduce new, more powerful capabilities to detect emerging and previously unseen (e.g., zero-day) attacks against Naval networks.
Document Details
- Document Type
- DoD Grant Award
- Publication Date
- Aug 05, 2021
- Source ID
- N000142112654
Entities
People
- Kevin W. Hamlen
Organizations
- Office of Naval Research
- United States Navy
- University of Texas at Dallas