SSCP Exam: Security Risks of Compiled Code

The Security Risks of Compiled Code

Prev Question Next Question

Question

Why does compiled code pose more of a security risk than interpreted code?

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D.

A.

From a security standpoint, a compiled program is less desirable than an interpreted one because malicious code can be resident somewhere in the compiled code, and it is difficult to detect in a very large program.

Incorrect answers: There is a risk difference between interpreted code and compiled code.

Compilers are reliable.

The risk of a program failing insecurely is not the result of compiled or interpreted code.

Sources: KRUTZ, Ronald L.

& VINES, Russel.

D., The CISSP Prep Guide: Mastering the Ten Domains of Computer Security, John Wiley & Sons, 2001, Chapter 7: Applications and Systems Development (page 263)

KRUTZ, Ronald & VINES, Russel, The CISSP Prep Guide: Gold Edition, Wiley Publishing Inc., 2003, Chapter 2: Security Architecture and Models, Software (page 258).

Compiled code and interpreted code are two methods of translating source code into machine code that a computer can understand and execute. The primary difference between the two is that compiled code is translated into machine code ahead of time, whereas interpreted code is translated at runtime.

Now coming to the question, the answer is A. Because malicious code can be embedded in compiled code and be difficult to detect.

The reason behind this is that when source code is compiled, it is translated into machine code, which can be executed directly by the computer's CPU. This machine code is typically stored in an executable file and can be distributed and executed on different computers without the need for the source code or the compiler.

Because compiled code is translated ahead of time, it is possible for attackers to embed malicious code in the compiled executable, which can be difficult to detect. Malicious code can be embedded in compiled code in various ways, such as through buffer overflows, code injection, or other vulnerabilities in the application. This makes it difficult for security professionals to detect and prevent attacks.

Interpreted code, on the other hand, is translated at runtime, which means that the interpreter must be present on the system to execute the code. This makes it more difficult for attackers to embed malicious code in interpreted code because they would need to find a vulnerability in the interpreter itself, rather than in the compiled executable.

In conclusion, compiled code poses a greater security risk than interpreted code because it can be easier for attackers to embed malicious code in the compiled executable and harder to detect, making it important to implement strong security measures to protect against these risks.