CSSLP · Question #7
Microsoft software security expert Michael Howard defines some heuristics for determining code review in "A Process for Performing Security Code Reviews". Which of the following heuristics increase th
The correct answer is B. Code listening on a globally accessible network interface D. Anonymously accessible code E. Code that runs by default F. Code that runs in elevated context. Michael Howard's heuristics identify code that listens on global network interfaces, is anonymously accessible, runs by default, or operates with elevated privileges as factors that significantly increase an application's attack surface.
Question
Microsoft software security expert Michael Howard defines some heuristics for determining code review in "A Process for Performing Security Code Reviews". Which of the following heuristics increase the application's attack surface? Each correct answer represents a complete solution. Choose all that apply.
Options
- ACode written in C/C++/assembly language
- BCode listening on a globally accessible network interface
- CCode that changes frequently
- DAnonymously accessible code
- ECode that runs by default
- FCode that runs in elevated context
How the community answered
(31 responses)- A13% (4)
- B84% (26)
- C3% (1)
Why each option
Michael Howard's heuristics identify code that listens on global network interfaces, is anonymously accessible, runs by default, or operates with elevated privileges as factors that significantly increase an application's attack surface.
While code written in C/C++/assembly language can lead to memory-related vulnerabilities, the language itself does not inherently increase the attack surface; rather, it impacts the likelihood of vulnerabilities.
Code listening on a globally accessible network interface expands the attack surface by making the application remotely reachable to a vast number of potential attackers.
Code that changes frequently might introduce new vulnerabilities if reviews are inadequate, but frequent changes themselves do not directly expand the attack surface, which refers to the points of interaction.
Anonymously accessible code removes the authentication barrier, allowing anyone to interact with and potentially exploit the application, thereby increasing its attack surface.
Code that runs by default provides a persistent target for attackers, as it is always active without requiring explicit user intervention, which extends the attack surface.
Code that runs in an elevated context (e.g., with administrative privileges) makes a successful compromise far more impactful, making the application a more attractive target and effectively increasing the severity component of the attack surface.
Concept tested: Attack surface reduction heuristics (Michael Howard)
Source: https://learn.microsoft.com/en-us/previous-versions/tn-archive/cc512683(v=technet.10)
Topics
Community Discussion
No community discussion yet for this question.