Generation of Efficient Obfuscated Code through Just-in-Time Compilation

Muhammad HATABA  Ahmed EL-MAHDY  Kazunori UEDA  

Publication
IEICE TRANSACTIONS on Information and Systems   Vol.E102-D   No.3   pp.645-649
Publication Date: 2019/03/01
Online ISSN: 1745-1361
DOI: 10.1587/transinf.2018EDL8180
Type of Manuscript: LETTER
Category: Dependable Computing
Keyword: 
cloud computing security,  dynamic compilation,  obfuscation,  optimization transformations,  side-channels,  

Full Text: PDF(1.3MB)
>>Buy this Article


Summary: 
Nowadays the computing technology is going through a major paradigm shift. Local processing platforms are being replaced by physically out of reach yet more powerful and scalable environments such as the cloud computing platforms. Previously, we introduced the OJIT system as a novel approach for obfuscating remotely executed programs, making them difficult for adversaries to reverse-engineer. The system exploited the JIT compilation technology to randomly and dynamically transform the code, making it constantly changing, thereby complicating the execution state. This work aims to propose the new design iOJIT, as an enhanced approach that patches the old systems shortcomings, and potentially provides more effective obfuscation. Here, we present an analytic study of the obfuscation techniques on the generated code and the cost of applying such transformations in terms of execution time and performance overhead. Based upon this profiling study, we implemented a new algorithm to choose which obfuscation techniques would be better chosen for “efficient” obfuscation according to our metrics, i.e., less prone to security attacks. Another goal was to study the system performance with different applications. Therefore, we applied our system on a cloud platform running different standard benchmarks from SPEC suite.