ERIC: An Efficient and Practical Software Obfuscation Framework
Alperen Bolat, Seyyid Hikmet \c{C}elik, Ataberk Olgun, O\u{g}uz Ergin,, Marco Ottavi

TL;DR
ERIC is a comprehensive software obfuscation framework that leverages hardware decryption and device-specific keys to protect executables against static and dynamic analysis, suitable for cloud environments.
Contribution
ERIC introduces a hardware-software co-design using PUFs and a hardware decryption engine to provide efficient, general, and practical software obfuscation for cloud computing.
Findings
Hardware decryption engine adds minimal FPGA resource overheads.
LLVM-based encryption slightly increases compile time and executable size.
Prototype successfully demonstrates end-to-end obfuscation on RISC-V platform.
Abstract
Modern cloud computing systems distribute software executables over a network to keep the software sources, which are typically compiled in a security-critical cluster, secret. We develop ERIC, a new, efficient, and general software obfuscation framework. ERIC protects software against (i) static analysis, by making only an encrypted version of software executables available to the human eye, no matter how the software is distributed, and (ii) dynamic analysis, by guaranteeing that an encrypted executable can only be correctly decrypted and executed by a single authenticated device. ERIC comprises key hardware and software components to provide efficient software obfuscation support: (i) a hardware decryption engine (HDE) enables efficient decryption of encrypted hardware in the target device, (ii) the compiler can seamlessly encrypt software executables given only a unique device…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Malware Detection Techniques · Security and Verification in Computing · Physical Unclonable Functions (PUFs) and Hardware Security
