nerdexam
(ISC)2

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.

Secure Software Architecture and Design

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)
  • A
    13% (4)
  • B
    84% (26)
  • C
    3% (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.

ACode written in C/C++/assembly language

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.

BCode listening on a globally accessible network interfaceCorrect

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.

CCode that changes frequently

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.

DAnonymously accessible codeCorrect

Anonymously accessible code removes the authentication barrier, allowing anyone to interact with and potentially exploit the application, thereby increasing its attack surface.

ECode that runs by defaultCorrect

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.

FCode that runs in elevated contextCorrect

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

#Attack Surface Management#Security Heuristics#Secure Software Design#Threat Modeling

Community Discussion

No community discussion yet for this question.

Full CSSLP Practice