Zimperium
Security Implications of Compiled and Interpreted Code
Pages
7
Time to read
16 mins
Publication
Language
English
Pages
7
Time to read
16 mins
Publication
Language
English
This technical report discusses the security implications associated with compiled and interpreted programming languages. It begins by defining compiled languages, such as C/C++, which are processed into low-level machine code that is specific to CPU architecture, making them non-portable. The report contrasts this with interpreted languages, like Java, which are designed for portability and run on a virtual machine, allowing them to be executed on various hardware. The document outlines the advantages and disadvantages of each approach, including the complexities of Just In Time (JIT) and Ahead Of Time (AOT) optimizations in interpreted languages. It also examines the inherent risks of interpreted languages, such as increased attack surfaces due to exposed source code and vulnerabilities in the virtual machine. Furthermore, the report highlights the security advantages of compiled languages, including reduced exposure of application semantics and the challenges of reverse engineering. Overall, the report provides a comprehensive analysis of the security landscape for both types of programming languages.