CAS-003 · Question #476
Joe, a penetration tester, is assessing the security of an application binary provided to him by his client. Which of the following methods would be the MOST effective in reaching this objective?
The correct answer is A. Employ a fuzzing utility. Fuzzing is the process of sending large volumes of malformed, random, or unexpected input to an application to discover vulnerabilities such as buffer overflows, format string bugs, crashes, and memory corruption. For a binary application provided without source code, fuzzing…
Question
Joe, a penetration tester, is assessing the security of an application binary provided to him by his client. Which of the following methods would be the MOST effective in reaching this objective?
Options
- AEmploy a fuzzing utility
- BUse a static code analyzer
- CRun the binary in an application sandbox
- DManually review the binary in a text editor
How the community answered
(37 responses)- A84% (31)
- B5% (2)
- C3% (1)
- D8% (3)
Explanation
Fuzzing is the process of sending large volumes of malformed, random, or unexpected input to an application to discover vulnerabilities such as buffer overflows, format string bugs, crashes, and memory corruption. For a binary application provided without source code, fuzzing is the most effective technique because it tests the application dynamically - exercising its actual execution paths - without requiring source code. It can uncover vulnerabilities that are not visible through static analysis. A static code analyzer (B) requires source code and cannot analyze compiled binaries directly in most cases. Running the binary in a sandbox (C) allows observation of behavior but does not actively probe for vulnerabilities. Manually reviewing a binary in a text editor (D) is largely ineffective - binary files are not human-readable without disassembly tools, and even then it would be extremely time-consuming compared to fuzzing.
Topics
Community Discussion
No community discussion yet for this question.