Verify and validate the security design
Verification and validation ask different questions
A design review approves an architecture, the build follows it exactly, every test in the plan passes, and the service still fails in its first month of operation because the requirement everyone tested against described the wrong problem. Nothing in that story is a testing failure. It is the gap between two questions that sound alike and are not. If you already sit in design reviews and read test reports, that gap is what this page closes: which activity produces the evidence a given claim needs, and what that evidence still leaves uncovered.
NIST defines verification[1] as confirmation, through the provision of objective evidence, that specified requirements have been fulfilled, and validation[2] as confirmation, through the provision of objective evidence, that the requirements for a specific intended use or application have been fulfilled. Verification compares architecture or implementation evidence against the requirements, constraints, and design criteria that were written down. Validation compares the resulting system, in its operational context, against what stakeholders actually need. Because the two measure against different yardsticks, both are performed and neither substitutes for the other.
The two failure modes this creates
A design can verify cleanly against an incomplete requirement set and still fail validation, because it solves a problem nobody has. The reverse also happens: a system that clearly serves the operational need can still fail verification on a specified constraint such as a mandated cryptographic algorithm or a required separation of duties. Evidence that every written requirement was implemented is a verification result and says nothing on its own about fitness for use, while evidence that the system serves its intended purpose in context is validation, whatever the activity is called locally.
Three ways the evidence is obtained
Every activity on this page produces its evidence in one of three ways, and NIST SP 800-115[3] names them. Examination checks, inspects, reviews, observes, or analyzes an object such as a design document, a configuration, or source code in order to obtain evidence. Interviewing holds discussions with the people responsible in order to clarify a point or locate evidence. Testing exercises an object under specified conditions and compares actual behavior against expected behavior. NIST SP 800-53A uses the shorter verb forms examine, interview, and test for these same three methods, and both forms appear on this page wherever one reads better than the other. Those three methods are named for every technique described below, in the comparison table, and in the decision tree, so the question to ask of any proposed activity is which of the three it is and what it can therefore prove.
Where this page sits in the domain
The other objective in this domain selects the architecture approach, the framework, the reference content, and the threat-modeling framework, and it runs the threat model, meaning the analysis that models the attack and defense sides of a system in order to find where it can be attacked. This objective begins once a candidate design and its threat model exist, and it consumes threat-model output as an input rather than producing it. Gap analysis, compensating controls, third-party review, and code review methodology are covered on this page.
The figure below places the two questions against the artifacts each one measures.
Takeaway: verification asks whether the system was built to its specification, validation asks whether that specification was the right one, and each activity below is an examination, an interview, or a test.
Testing the design against agreed criteria
This section covers the test family that answers the verification question directly: functional acceptance testing, regression testing, and the negative cases that separate a working feature from an enforced control.
Functional acceptance testing demonstrates that required functions and security behavior satisfy the acceptance criteria agreed with the people who will accept the system, in the context it is intended for. The word agreed is load-bearing. Criteria written after the build, or inherited from a different system, produce a pass that nobody can act on. Developer unit tests are supporting evidence and nothing more: they show that individual components behave as their authors expected, not that the complete set of acceptance criteria has been satisfied.
Positive results are only half a security test
A security functional test has to demonstrate two things: that authorized operations succeed, and that disallowed operations are prevented. Testing only the permitted path shows that a feature is available and leaves every authorization failure path unexercised, which is precisely where a broken control hides. A test suite that proves an administrator can read the audit log, without ever proving that an ordinary user cannot, has verified availability of a feature and nothing about the control. Write the denial cases into the acceptance criteria so they are agreed rather than optional.
Regression testing after a change
Regression testing reruns relevant prior tests after a modification, to find unintended effects in functions and controls that nobody deliberately changed. The failure mode it exists to catch is indirect: a change to a shared library, a configuration default, a schema, or an authorization helper can invalidate a security property in code the change never touched. Retesting only the new functionality is the common shortcut, and it systematically misses exactly the class of defect regression testing was invented for.
Selecting the regression set is itself a design decision. The set should cover the security properties that the changed component participates in, not simply the tests that run fastest. When the change also alters trust relationships, data flows, the deployment environment, or a mitigation, the threat model[4] needs revalidation as well, which the section on threat-model results below expands.
What the pass actually licences
An acceptance pass licences a readiness decision against the criteria that were agreed, in the context that was tested. It says nothing about requirements nobody wrote down, environments nobody exercised, or paths the suite never reached. Those boundaries are not a weakness of testing; they are the reason examination and interview evidence sit alongside it.
Takeaway: acceptance testing decides readiness against criteria agreed in advance, security functional tests cover both the permitted and the prohibited path, and regression testing after a change looks at what the change did not intend to touch.
Matching verification depth to consequence
How much testing is enough is a design decision with a defensible answer, and the answer is not the same for every component. Test scope, depth, detail, and rigor should provide the confidence required for the most significant adverse effect that can occur if the component fails, together with any assurance requirement that applies to it.
Applying one shallow test set uniformly gets this wrong twice at once. It spends effort on components whose failure is an inconvenience, and it under-tests the components whose failure is severe. The corrective is to grade the design first, by consequence, and then choose techniques per grade rather than choosing a house-standard technique and applying it everywhere.
The pattern is explicit elsewhere in NIST guidance
The same scaling appears in contingency-plan testing, where NIST SP 800-34 Revision 1[5] ties the depth and rigor of the test to the availability impact level of the system: a tabletop suffices at low impact, a functional exercise including recovery from backup media is expected at moderate impact, and a full-scale functional exercise with failover to the alternate location is expected at high impact. Read that as an illustration of the principle rather than as a rule about design verification, because the underlying logic transfers: the exercise gets more expensive and more disruptive precisely where the consequence of being wrong is highest.
What raises the required depth
Several factors raise the depth a component needs, and they are cumulative rather than alternatives. The severity of the worst credible adverse effect is the primary driver. An explicit assurance requirement, whether from a regulator, a customer contract, or an internal high-assurance policy, sets a floor independently of the architect's own risk view. Position matters too: a component that many other components depend on for a security property is graded by what its failure would do to those dependents, not by its own function alone. NIST SP 800-160 Volume 1[6] frames this as the trustworthiness context of a system, where the evidence required is set by what has to be believed about the system, not by what is convenient to produce.
Stating the decision
Record the grading, because it is the part an assessor can challenge and the part that explains the test plan. For each component or interface, state the worst credible effect of its failure, the assurance requirement that applies, the depth chosen, and the techniques that deliver that depth. A plan written this way survives the question of why one service got a penetration test and another got a design walkthrough.
Takeaway: grade components by the worst credible consequence of their failure and by any applicable assurance requirement, then buy depth where the consequence is severe rather than spreading one shallow test set evenly.
Testing beyond the specification
Acceptance and regression tests exercise the cases somebody thought of. Two techniques exist because attackers do not restrict themselves to that set: fuzz testing explores inputs nobody enumerated, and penetration testing explores paths nobody intended. This section covers what each one can establish and, more importantly, what a clean result from either does not establish.
Fuzz testing
Fuzz testing[7], also called fuzzing, supplies invalid, unexpected, or randomly generated data to an application, either from the environment or from another process, and watches how the target responds. The tools that do this are called fuzzers, and the failures they surface are crashes, hangs, memory faults, and other anomalous behavior that reveals defective input handling, including buffer overflows. Its value is that it explores the space of inputs developers did not enumerate, complementing specification-based tests rather than reaching a space they cannot reach by construction. Its limit follows from the same property: finding no crash is not a proof of correctness, because the technique samples an input space rather than covering it.
Penetration testing
Penetration testing[3] attempts to exploit vulnerabilities within a defined scope in order to show how controls fail together and what access or impact an attacker can actually achieve. That is a different claim from a vulnerability scan, and NIST SP 800-115 draws the line precisely: a scanner checks only for the possible existence of a vulnerability, while the attack phase of a penetration test exploits it to confirm that the vulnerability is real. A scan enumerates candidates; a penetration test validates exploitability for the candidates it pursues.
SP 800-115 structures the work in four phases. Planning agrees rules of engagement, scope, and written management authorization, and performs no testing. Discovery gathers information and scans for candidates. Attack exploits what Discovery found, and loops back to Discovery whenever a new foothold exposes targets that were not previously visible. Reporting runs concurrently with the other phases and ends in findings, risk ratings, and recommended mitigations. The figure below shows those phases with the loop that makes the process iterative rather than linear.
The asymmetry both techniques share
A successful exploit is strong evidence for the specific path demonstrated. Failure to exploit within a time-boxed engagement is not evidence that no other path exists. The tester had a scope, a schedule, a toolset, and a level of access, and the result is bounded by all four. Report the finding as what it is, which is an existence proof when it succeeds and an absence of evidence when it does not.
Takeaway: fuzzing explores unanticipated inputs and penetration testing demonstrates a concrete exploitable path, and neither a quiet fuzzing run nor an unsuccessful penetration test establishes that the design is sound.
Turning threat-model results into tests
The threat model arrives from the other objective in this domain as a set of scenarios, affected assets, attack vectors, preconditions, and expected consequences. Its job here is to decide what is worth testing, so that reviewers test whether a proposed control interrupts a modeled path instead of testing controls one at a time in isolation.
NIST SP 800-154[4] defines an attack vector as a segment of the entire pathway that an attack uses to access a vulnerability, and characterizes each vector by three things: the source of the malicious content, the potentially vulnerable processor of that content, and the nature of the content itself. Those three parts are not bookkeeping. Each one is a place the segment can be detected or stopped, so a vector described only as an attacker profile or a motive gives a reviewer nothing to test against. The figure below shows the three parts and where the interruption opportunities sit.
Likelihood and impact stay separate
Likelihood addresses the possibility that a threat event will occur and result in adverse effect. Impact addresses the magnitude of harm to operations, assets, individuals, or objectives if it does. Keeping them as separate estimates matters because they call for different treatment: a rare catastrophic scenario usually needs containment, recovery, and an explicit acceptance decision, while a frequent minor one usually needs prevention or automation. A single composite score can rank the two identically and hide that difference, which is why NIST SP 800-30 Revision 1[8] carries them as distinct inputs to a risk determination rather than merging them earlier.
Likelihood is a property of the architecture, not the adversary
The same threat source does not create the same risk in every design. Predisposing conditions[9], meaning conditions within an organization or system that affect the likelihood that a threat event results in adverse impact, sit alongside exposure, susceptibility, and the controls already in place. Verification should therefore test the assumptions behind a likelihood estimate. If the estimate rests on a claim that a service is not reachable from the internet, that reachability claim is the testable item, and treating likelihood as an adversary attribute quietly removes it from the test plan.
Selecting the tests
Work from the modeled path. For each credible scenario, identify the abuse cases that follow from its vector and preconditions, meaning the ways the system would be used deliberately against its purpose, then choose assurance activities that establish whether the proposed controls break that path. This trace is what lets a reviewer answer the only question that matters at a design gate, which is whether the design defeats the scenario, rather than whether each control works when exercised on its own.
When the model itself expires
A threat model is valid only for its documented system boundary, assumptions, technology, and threat context. New trust relationships, new data flows, a different deployment environment, changed adversary behavior, or added mitigations can each invalidate a prior conclusion. Changes to any of those call for reassessing the affected conclusions, and reusing an approved model unchanged across later releases can leave a design verified against a system that no longer exists.
Takeaway: characterize every vector by source, processor, and content, keep likelihood and impact apart, test the assumptions that produced the likelihood, and reassess the model when its documented boundary or context changes.
Establishing gaps against a target state
A gap is a comparison, so this section covers what has to be compared with what before a finding can be called a gap. A list of scanner findings, sorted by severity, is not that comparison: it describes what a tool noticed, and it cannot say which required capability is absent, because nothing in it refers to a required capability.
A design gap is established by comparing the required target capability with the existing or proposed implementation and the evidence for it, element by element. The comparison is between corresponding states, which means each target element is matched to whatever plays its role today, or to the explicit finding that nothing does. That produces a decision per element rather than a severity count.
The four dispositions
This guide uses four practical dispositions, and stating them is what turns the analysis into a plan:
| Disposition | What it means | What it produces |
|---|---|---|
| Carry forward | The existing element already satisfies the target requirement | Evidence that it does, and the assurance activity that produced it |
| Add | The target requires a capability that nothing currently provides | A new requirement traced to the target element |
| Remove | An existing element serves no target requirement | A retirement decision and the check that nothing depends on it |
| Replace | An existing element addresses the requirement but cannot meet it as specified | A treatment decision, which the next section covers |
A finding with no disposition is unfinished work. A disposition with no corresponding element in the other state can still identify a gap.
Why the target trace is the whole point
Without the trace back to a target requirement, three failures follow and none of them is visible in the output. The analysis cannot show coverage, because there is no denominator. It cannot justify removal, because nothing establishes that an element is unneeded. And it cannot be reviewed, because a reader has no way to tell a missing capability from a tool's blind spot. Counting scanner findings and calling the total a gap is the exact failure this discipline exists to prevent.
What feeds the comparison
The target state comes from the requirements identified in the governance, risk, and compliance domain and from the architecture selected in the other objective of this domain. The existing state comes from the design documentation plus evidence about what is actually deployed, which is a place where examination and interview evidence usually disagree with each other and the disagreement is itself a finding. Where a target element depends on an assumption about the environment, record the assumption with the element, because the section on threat-model results above makes those assumptions testable items.
Takeaway: compare each target element against what exists today, end every comparison in carry forward, add, remove, or replace, and treat any finding without a target-state trace as something other than a gap.
Choosing a treatment for a verified gap
Once a gap is established, something has to change, and the design review question becomes whether the proposed change actually treats the risk. A control listed next to an affected asset is an intention. A treatment is a claim about a modeled scenario, and it can be checked.
A safeguard has to change the scenario
A proposed safeguard is relevant when it does at least one of four things to the modeled scenario: reduces the probability that exploitation succeeds, limits the harm when it does, improves detection and response, or removes a precondition the attack requires. Those four are the options this analysis works with, and each one is a testable claim about a specific step of the path described in the threat model. Associating a control family with the affected asset demonstrates none of them, which is why a mapping table is a starting point rather than an answer. The figure below shows the modeled chain with the four places a safeguard can act on it.
When the preferred control cannot be implemented
A compensating security control[10] is a management, operational, or technical control employed in place of a recommended control, which provides equivalent or comparable protection. It is selected during tailoring, when a baseline control cannot be implemented as written. Three conditions carry the argument, and all three are evidence, not assertion: the substitute addresses the same requirement and the same threat, it does so within the environment as it actually is rather than an idealized one, and the exposure that remains after substitution is stated and approved.
Cost or convenience establishes none of that. Neither does membership of the same control family, which is the most common wrong answer available: a cheaper control from the same family may address an entirely different step of the scenario. State what the original control was protecting against, and show the substitute doing the same job.
Layering only helps with different failure modes
Defense in depth[11] applies multiple security safeguards to protect the integrity of the information and the system. The assurance comes from the safeguards acting at different points in the scenario, or failing in different ways, so that one failure does not carry the others with it. Duplicating one mechanism across several locations does not achieve that when every copy shares a dependency: the same expired certificate authority, the same identity provider, the same misconfigured rule set, or the same defect takes them all down together. Before claiming independent layers, name the failure mode each layer covers and confirm the list contains more than one.
Comparing alternatives across the trade space
Where several designs could close the gap, the comparison covers how each satisfies the security requirements together with cost, performance, interoperability, usability, lifecycle, and operational constraints. Selecting the technically strongest control while ignoring those constraints produces a design that verifies against the security requirement and fails validation in operation, because operators route around a control they cannot work with. Record the comparison, since the reason a weaker-looking control was chosen is exactly what a later reviewer will ask about.
Takeaway: a treatment earns its place by changing the modeled scenario, a compensating control has to match the original intent within the real environment, layers need different failure modes, and alternatives are compared across the whole trade space rather than on security strength alone.
Residual risk after treatment
A control passed its test, so the risk is closed. That sentence is the defect this section exists to remove. Verifying that a mitigation operates as intended establishes that the mitigation works, and it establishes nothing about how much risk is left once it does.
Residual risk[12] is the portion of risk remaining after security measures have been applied. It remains after any treatment that reduces an exposure rather than removing it, because a treatment that reduces probability leaves the reduced probability, a treatment that limits harm leaves the limited harm, and a treatment that improves detection leaves the window before detection. The question at a design gate is not whether residual risk exists but whether the right person has seen it and decided.
What has to be recorded
Four items make the residual position reviewable, and a mitigation test result supplies none of them on its own. The post-treatment likelihood states how probable successful exploitation now is with the control in place. The post-treatment impact states the harm that would still follow. The assumptions state what has to remain true for those two numbers to hold, which is usually where the fragility lives. The uncertainty states how confident the estimate is, since a wide band on a severe impact is itself a reason to seek more evidence.
Who decides
The disposition belongs to the authorized decision maker, meaning the person with the authority to accept the exposure on behalf of the organization, not the architect who designed the treatment and not the assessor who tested it. Two outcomes are available: accept the residual exposure as it stands, or require further treatment. Recording which one was chosen, by whom, and on what date is what makes the decision an accountable act rather than an assumption.
Automatically closing a risk when its planned control passes a test removes that decision from the person accountable for it, and does so silently. The risk register then shows a clean state that nobody actually approved, which is worse than an open item, because an open item is at least visible.
Takeaway: a successful mitigation does not by itself show that risk has been eliminated, so record post-treatment likelihood, impact, assumptions, and uncertainty, and route the accept-or-treat-further decision to the authorized decision maker instead of deriving it from a passing test.
Bringing other people into the verification
A design is finished, the tests pass, and the remaining doubt is not about the code. It is about whether the response plan works when three teams have to coordinate at 3am, whether the design contains an assumption the team stopped noticing years ago, and whether the exception paths do what the requirements say. Those doubts are answered by people rather than by tools, and each method below answers a different one. They fall into two groups, which is the split the comparison table and the decision tree use: tabletop exercises and simulation take the response plan and the people executing it as their subject, while manual functional review and peer review take the design artifact as theirs. Pick by the doubt you have.
Tabletop exercises
A tabletop exercise[5] presents a simulated scenario to participants, who discuss their responsibilities, the coordination between them, the decisions they would make, and the actions they expect to follow. Nothing is deployed and no production system is touched, which is what makes it cheap enough to run often and safe enough to run on a live service. It is well suited to exposing unclear authorities, missing decision rights, and procedural gaps. Its boundary is equally clear: a discussion in which everyone agrees on the failover procedure is not evidence that the failover works, and a successful tabletop says nothing about whether the technology can execute under load.
Modeling and simulation
Modeling and simulation[13] represents selected system or operational behavior in a controlled environment, so scenarios and assumptions can be explored without production consequences. It suits questions of scale, timing, and interaction that a discussion cannot settle and a live cutover would be too risky to answer. The assurance it produces is bounded by the fidelity of the model, the quality of the inputs, and every difference between the simulated setup and the operational one, so a simulation result is quoted together with the model it came from.
Manual review of functions
A reviewer can trace use cases, state transitions, trust decisions, and exception paths against the requirements and the threat scenarios, before the implementation exists or without executing it. This is examination evidence, and it is the strongest method available for architecture logic and for behavior that is missing altogether, which no test can detect because there is nothing to invoke. The matching limit is strict: document review cannot show that a runtime control actually enforces, so using it as the sole evidence for an operating control applies a method built for a different question.
Peer review
Peer review puts qualified peers in front of the design so they can identify omitted viewpoints, inconsistent requirements, unsafe assumptions, and trade-offs the original team normalized into invisibility. Its effectiveness depends on the reviewers' competence, the scope they were given, and their access to the rationale and the evidence behind the design. Attendance by another architect is not the mechanism, and a review whose participants saw only the final diagram cannot challenge the reasoning that produced it.
Takeaway: choose the human method by the doubt it removes, tabletop for authorities and coordination, simulation for behavior at scale, manual functional review for logic and omissions, and peer review for assumptions, and pair any of them with a test when the claim is about runtime enforcement.
What makes an assessment result credible
Two assessments can examine the same system, apply the same procedures, and carry very different weight. This section covers the three properties that decide which one a reviewer should believe: who performed it, how many kinds of evidence it rests on, and what scope its conclusion actually covers.
Independence
An assessor who took no part in the design or implementation decisions is less exposed to self-review bias and to incentives that conflict with reporting a problem. That is the entire mechanism behind independent verification and validation[14], where the work is performed by an organization technically, managerially, and financially independent of the development organization. Independence raises confidence in the objectivity of a finding, and it supplies nothing else. It does not supply technical competence in the technology under review, an adequate scope, or access to the evidence the assessment needs. An external label on its own is therefore not assurance, and choosing an assessor because third-party status is assumed to guarantee quality replaces one unexamined assumption with another.
Corroboration across the three methods
Section one introduced the three assessment methods, and NIST SP 800-53A[15] is where they become an assessment procedure: examine artifacts, interview the people responsible, and test the mechanisms or processes. Combining them is not thoroughness for its own sake. Each method sees a different thing, and only the combination distinguishes a design that is documented, a practice that is understood, and a control that is operating. Inferring all three from a single source is the failure this corroboration exists to prevent, and it is how a well-written design document becomes evidence for a control nobody has ever run. The figure below shows the three methods and what their combination establishes.
Evaluated assurance has an explicit boundary
A Common Criteria[16] evaluation is the formal version of this same idea, with the boundary written into the result. It provides assurance for the defined Target of Evaluation, meaning the specific product or system and its associated guidance that were submitted, against the security claims and properties specified in its Security Target[17], the document expressing the security requirements and functions for that one Target of Evaluation, or in a claimed Protection Profile[18], the equivalent implementation-independent statement of security needs for a whole class of product, as examined by the applicable evaluation methods and activities. Everything outside that statement is unevaluated, including functions that were out of scope, configurations other than the evaluated one, and operating conditions the evaluation did not consider.
The assurance requirements for the evaluation are expressed separately as an Evaluation Assurance Level[19], a well-formed package of security assurance requirements representing a point on a predefined assurance scale. A higher level means more was examined, more rigorously; it does not mean the product is more secure than one evaluated at a lower level against a different Security Target.
Takeaway: independence buys objectivity and nothing else, corroborating examination, interview, and test is what separates a documented design from an operating control, and an evaluated result is bounded by its Target of Evaluation and its Security Target.
Code review methodology
Software is where a design either becomes an enforced control or quietly does not, so this objective names code review as its own methodology with four approaches. A team asked to review an application will reach for whichever one it owns a tool for. The architect's job is the prior decision: which approach answers the question being asked, and what each one is structurally unable to see.
Secure code review[20] is the umbrella activity. It audits application source to verify that the appropriate security and logical controls are present, that they operate as intended, and that they have been invoked in the right places. Its objective is to discover security defects and, where possible, identify solutions. Note the third clause: presence and correct operation are not enough, because a control that exists and works but is not invoked on one of the paths that needs it protects nothing on that path. Verifying invocation at every required point is what separates a code review from a control inventory.
The four approaches
Manual review is the only approach that reasons about intent. A human reviewer can follow authorization logic, workflow abuse, trust assumptions, misuse of security functions, and requirements that were never implemented, because understanding what the code is supposed to achieve is a prerequisite for noticing that it does not. It is resource intensive, which is why it is aimed rather than applied evenly.
Static analysis[21] examines source or compiled code without executing it, inspecting code structure and data or control flows for weakness patterns. It covers a large codebase consistently and runs before anything is deployable, and its output requires triage: pattern matching without runtime context produces false positives and findings whose validity depends on how the code is actually reached.
Dynamic analysis supplies inputs to a running system and observes the behavior and the responses. It sees what static analysis cannot, meaning runtime and configuration-dependent flaws, and it sees only the paths, states, and interfaces the test actually reached. A clean dynamic result covers the executed paths and makes no claim about the rest, which is the same asymmetry the section on penetration testing described.
Software composition analysis[22], usually abbreviated to SCA, inventories the libraries and other dependencies the software includes so that known vulnerabilities, versions, provenance, and other supply-chain concerns can be assessed. It answers a question about what was brought in, not about what was written, so it cannot tell you whether your own authorization code enforces your own requirement. The figure below sets the four approaches beside what each one sees and what each one cannot.
Third-party components are judged by their use
The NIST Secure Software Development Framework[23], published as SP 800-218 and usually called the SSDF, directs organizations to review third-party components in the context of their expected use, and to repeat the evaluation when that use changes substantially. The reason is that risk is positional. A parsing library that is acceptable in an offline developer tool carries a different risk when the same version handles untrusted input on a trust boundary, meaning the place where two parts of a system under different security policies meet, and no inventory-level score captures that difference.
The threat model chooses where to spend
Mapped assets, trust boundaries, abuse cases, and attack paths identify where manual review, static analysis, dynamic analysis, fuzzing, and penetration testing each return the most value. Tool coverage metrics point the other way, toward whatever is easy to scan, and a review programme steered by coverage percentages will look thorough while leaving the critical interfaces to whichever tool happened to reach them.
Takeaway: manual review reasons about intent, static analysis sees structure without execution, dynamic analysis sees executed behavior only, SCA sees imported components only, and the threat model rather than tool coverage decides where each is worth running.
From findings to verified fixes
The methods above generate findings. This section covers what has to happen to a finding before the review can be called complete, because a report is an input to the process rather than its output.
The SSDF describes developer verification as a cycle rather than a scan. Discovered issues are recorded, their validity and priority are determined, remediation is routed into the development workflow, and the fix is verified. Each of those four steps produces something a later reviewer can inspect, and skipping any one of them leaves a gap that the remaining steps cannot fill.
Triage is a decision, not a filter
Determining validity separates real weaknesses from tool artifacts, and determining priority orders the real ones against the threat model and the criticality grading from earlier in this page. Both are decisions with owners and reasons. A finding dismissed as a false positive carries the reason it is not exploitable in this design, because that reason is the thing a reviewer checks, and because the same pattern will be reported again on the next run.
Remediation goes through the normal workflow
Routing fixes into the ordinary development workflow, rather than a side channel, is what makes them visible to code review, to the test suite, and to the release process. A patch applied outside that path skips the controls that would have caught a regression introduced by the fix itself.
Verification closes the loop
The fix is verified, and the verification is regression-aware: it establishes both that the reported weakness is gone and that the change did not break a security property elsewhere, which is the regression case from earlier in this page applied to a security fix. Without that step there is a remediation claim and no evidence.
What does not count as evidence
A raw scanner or analyzer report submitted as final assurance evidence does not complete the four-step developer verification cycle. It records issues without determining validity, orders nothing, routes nothing, and verifies nothing. Counting alerts is a measure of tool activity, and the number goes up when a scan is configured more aggressively, which is the opposite of the direction assurance is supposed to move.
Takeaway: a review is complete when findings have been recorded, triaged for validity and priority, remediated through the normal development workflow, and verified with regression evidence, and an untriaged report is none of those things.
Reading the stem: which question is being asked
Items on this objective are rarely about whether you can define a technique. They present a situation in which several defensible activities exist and ask which one produces the evidence the situation actually needs. Three reading habits resolve most of them.
Habit one: name the question before the technique
Decide first whether the stem is asking about verification or about validation. Wording such as met the documented requirements, conforms to the specification, or every requirement was implemented points at verification. Wording such as fit for intended use, meets the operational need, or works in the environment it will run in points at validation. An option that produces excellent verification evidence is wrong for a validation stem no matter how rigorous it sounds, which is the trap behind an answer offering a complete requirements trace when the stem asked whether the system solves the right problem.
Habit two: match the evidence type to the claim
Once the question is fixed, check what kind of evidence the correct answer must produce. A claim about a runtime control needs a test, so document review and peer review are wrong regardless of how thorough they are. A claim about missing behavior or about design logic needs examination, because there is nothing to execute. A claim about roles, authorities, or coordination needs discussion with the people who hold them. The stem usually names the claim; the options usually differ by the method.
Habit three: distrust options that overclaim
Several recurring distractors are wrong for the same underlying reason, which is that they read a bounded result as an unbounded one:
| The option says | Why it is wrong |
|---|---|
| A time-boxed penetration test found nothing, so no exploitable path exists | Failure to exploit within a scope and a schedule is an absence of evidence, not evidence of absence |
| The design document shows the control, so the control operates | Examination evidence cannot establish runtime enforcement |
| The tabletop went well, so failover works | Discussion establishes authorities and coordination, not technical capacity under load |
| The certified product is evaluated, so the deployment is assured | Assurance is bounded by the Target of Evaluation and the Security Target |
| Software composition analysis reported no vulnerable dependencies, so the application is secure | It says nothing about first-party logic |
| The planned control passed, so the risk is closed | Residual risk requires a disposition by the authorized decision maker |
| A cheaper control from the same family was substituted | A compensating control must satisfy the original intent for the same threat |
| The scanner report was delivered | Findings require triage, remediation, and verification |
A worked reading
A stem describes a release that adds a new integration to an approved design, notes that the new feature was tested and passed, and asks what the architect should require before approval. The new feature passing is verification evidence for the new feature only. Two things are missing: regression evidence that the change did not invalidate a previously satisfied security property, and a reassessment of the threat model, because a new integration introduces a new trust relationship and a new data flow, which are exactly the conditions that expire a model. An option offering more testing of the new feature is answering a question the stem already answered.
Takeaway: identify verification or validation first, then the evidence type the claim requires, and eliminate any option that stretches a bounded result into a general guarantee.
What each verification and validation activity can and cannot show
| Question to answer | Manual functional review and peer review | Functional acceptance and regression testing | Fuzzing and penetration testing | Tabletop exercises and simulation | Code analysis (manual, static, dynamic, composition) |
|---|---|---|---|---|---|
| Which assessment method it is | Examination of artifacts, with interviews of the design team | Testing against agreed conditions | Testing against adversarial conditions | Interview-based discussion for a tabletop; testing against a model for a simulation | Examination for manual, static, and composition analysis; testing for dynamic analysis |
| Which question it answers | Both, since it can challenge the requirements as well as the build | Mainly verification against agreed acceptance criteria | Verification that resistance holds, with validation evidence about real exposure | Mainly validation of roles, decisions, and assumptions in context | Verification that controls are present, correct, and invoked where required |
| What it can demonstrate | Omitted behavior, unsafe assumptions, inconsistent requirements, and logic no test expresses | That required functions and denied operations behave as agreed, and that a change broke nothing previously satisfied | Input-handling failures, and one concrete exploitable path through controls that fail together | Whether authorities, coordination, and decisions hold, and how modeled behavior responds without a live cutover | Whether the implementation enforces the requirement, and which third-party components it pulls in |
| What it cannot show | That a runtime control actually enforces during execution | Anything about untested paths or requirements nobody wrote down | That no other exploitable path exists | That production technology can execute the response under load | That the business logic satisfies the operational need |
| What makes the result credible | Reviewer competence, defined scope, and access to design rationale and evidence | Acceptance criteria agreed in advance and a regression set covering prior behavior | Written scope and rules of engagement, and a report tying each finding to a demonstrated path | Participants with real decision authority and a scenario drawn from the threat model | Findings triaged, remediated, and retested rather than counted |
Decision tree
Sharp facts the exam loves — give these one last read before exam day.
Cheat sheet
Sharp facts the exam loves — scan these before test day.
- Verification asks whether the design meets its specified requirements
Verification compares architecture or implementation evidence with defined requirements, constraints, and design criteria. It answers whether the system was built according to specification, not whether the selected specification satisfies the user's operational need.
Trap Acceptance testing focused on fitness for operational use
6 questions test this
- A verification report for a completed identity broker design lists items the security specification never addressed, which surfaced only while the build was exercised. Which class of finding must veri
- NIST control guidance requires a developer to perform security testing and evaluation at a stated frequency, within stated bounds on how rigorous that work must be and how many artifacts it must span.
- An acquirer wants the advertised security mechanisms of a delivered information system exercised against the system's specification, rather than an open-ended hunt for unknown weaknesses in the runnin
- Systems security engineering guidance requires each planned verification action for a security design to state what will be verified and which verification method applies. One further element must be
- Which of the three assessment methods defined in NIST's technical guide to information security testing and assessment applies when a completed security design description must be judged against its s
- Systems security engineering guidance requires the facilities, equipment and emulation services that a verification procedure depends on to be identified, planned for, and obtained before the procedur
- Validation asks whether the resulting system is fit for intended use
Validation evaluates whether the system, in its operational context, satisfies stakeholder needs and intended use. A design can verify against an incomplete requirement set yet fail validation because it solves the wrong operational problem.
Trap A requirements trace showing every written requirement was implemented
5 questions test this
- Among the security outcomes that systems security engineering guidance expects the Validation process to produce, one is stated from the stakeholders' side and concerns what they will actually be able
- Validation of a trading platform's security design must show that it holds up as an adversary or a misusing insider would exercise it in service, not merely that documented functions operate. Which va
- Systems security engineering guidance closes an improvement feedback loop by recording one class of post-deployment information and correlating it back to the validation activities and results that pr
- A programme intends to decide after its pilot whether a new zero-trust design performed well enough for the business. The architect objects that the Validation process requires something to be establi
- A records gateway passes every verification action against its documented system requirements, yet the archivists who must use it report that it blocks the retention workflow the programme exists to s
- Acceptance testing decides readiness against agreed acceptance criteria
Functional acceptance testing demonstrates that required functions and security behavior satisfy agreed acceptance criteria in the intended context. Passing developer unit tests is supporting evidence, but it does not by itself demonstrate satisfaction of the complete acceptance criteria.
6 questions test this
- Every module of a new key-management service has been exercised in isolation and each one passes. The acceptance criteria call for evidence about the assembled service as a whole. Which of the develop
- NIST defines a test plan as a document outlining the specific steps performed for a test, including the required logistical items and one further element per step. An acceptance test procedure current
- A supplier's delivery package for an authorization service contains passing developer module tests and a clean code analysis report. The agreement requires a demonstration that the required security f
- A supplier submits passing developer unit-test reports as proof that its delivered authentication service satisfies the security acceptance criteria written into the contract. Those criteria call for
- During transition, once security activation and checkout are complete, the results of the installation, operational and enabling-system checkouts are reviewed together to decide whether security perfo
- Systems security engineering guidance directs an acquirer to place a set of security provisions in the supplier agreement, among them the terms stating what the supplier must demonstrate before the de
- Regression testing detects whether change broke previously satisfied behavior
After a modification, regression testing reruns relevant prior tests to find unintended effects in unchanged functions and controls. Testing only the newly changed feature can miss a security property that the change indirectly invalidated.
Trap Retesting only the new functionality introduced by the change
5 questions test this
- Secure software development guidance directs a project to add dedicated cases to its automated test suite so that later changes cannot quietly bring back defects the team has already dealt with. Which
- A team proposes to retest only the session-handling feature it modified. The architect warns that a modification can invalidate a protection the change never touched, leaving such an effect undetected
- Security-focused configuration management guidance calls for a further security impact analysis once a change has already been implemented and tested. That later analysis confirms the change was imple
- A change to a customer portal has been installed in production under an approved change record. NIST control guidance requires a follow-on activity confirming that the controls the change touched stil
- A change to a cryptographic library is delivered with a brand-new test suite written only for the replacement library's behaviour. The architect objects that unintended effects in functions the change
- Security functional tests must cover permitted and prohibited behavior
A useful functional test demonstrates both that authorized operations succeed and that disallowed operations are prevented. Positive-only testing can verify availability of a feature while leaving authorization failure paths untested.
3 questions test this
- An identity design's acceptance suite confirms that provisioning grants each role the entitlements its definition promises, and every executed case passes. The design also requires that access be with
- A treasury platform's security requirements state that no individual may both submit and approve the same payment. The acceptance suite already confirms that submitters can submit and that approvers c
- A supplier's security acceptance run for a claims service was executed end to end under one fully entitled test account, and every case passed. The requirements restrict several operations to named ro
- Verification depth should be proportional to risk and criticality
Test scope, depth, detail, and rigor should provide the confidence required for the most significant adverse effect that can occur and the applicable assurance needs. Applying the same shallow test set to every component can waste effort on low-consequence elements and under-test elements whose failure has severe consequences.
3 questions test this
- Systems security engineering guidance publishes design principles for trustworthy secure systems. One principle states that the rigor with which an engineering activity is conducted provides the confi
- An architect must maximize confidence that a reference monitor's security policy model is complete for its scope of control and self-consistent, and the program accepts the cost and specialist effort
- A verification plan for a payments platform allocates an identical two-day test window to every component, from the marketing content service to the hardware security module integration. The architect
- Fuzz testing targets failures caused by unexpected input
Fuzzing repeatedly supplies malformed, unexpected, or generated inputs and monitors for crashes, hangs, memory faults, and other anomalous behavior. It complements specification-based tests by exploring cases developers did not enumerate, but it does not establish complete correctness.
3 questions test this
- A robustness campaign drives automatically generated, malformed inputs into an embedded telemetry parser and monitors the target after each one. The campaign's primary findings are the anomalies its i
- A specification-derived security test suite for a message broker passes every case it contains. Automated generation and injection of unexpected input is then added to the assurance plan. Which gap in
- A two-week automated malformed-input campaign against a certificate parser completes with no crash, hang or memory fault recorded. The supplier proposes to record the parser as correct in the assuranc
- Penetration testing demonstrates selected exploitable attack paths
Penetration testing attempts to exploit vulnerabilities in a defined scope to show how controls fail together and what access or impact is achievable. A successful test provides strong evidence for the demonstrated path, while an unsuccessful test does not prove that no other path exists.
Trap Treating failure to exploit during a time-boxed test as proof of absence
5 questions test this
- A penetration test report documents one chain: a misconfigured directory permission yielded a service credential, which the testers then reused to reach the payment service. The board asks what the re
- A hospital's architect is asked to approve an authorized attack engagement run against live clinical systems using real exploits. Experienced testers will conduct it, and careful planning and notifica
- An automated vulnerability scanner reports only the possible existence of a weakness in a customer-facing service, and the organization must justify remediation funding. What does the attack phase of
- An architect needs evidence of how far an attacker could reach after compromising one ordinary employee workstation. The engagement must begin from the access a standard employee already holds and mus
- A two-week authorized attack simulation against a trading platform ends without the testers reaching the order database, and the agreed scope excluded the settlement network. Management proposes recor
- An attack vector combines a source, a vulnerable processor, and malicious content
NIST defines an attack vector as a segment of the pathway an attack uses to access a vulnerability. Characterize each vector by the source of malicious content, the potentially vulnerable processor, and the nature of the malicious content so reviewers can identify where that segment can be detected or stopped.
Trap An attacker profile and motive
7 questions test this
- A design verification review records one segment of an attack pathway as a malicious attachment that the organization's perimeter mail server receives and processes. The reviewer states that the segme
- A single phishing attack decomposes into five sequential attack vectors, and the actual exploitation occurs only in the last of them, when a vulnerable email client renders the attachment. Which benef
- Design verification checklists require each recorded segment of an attack pathway to be described so that reviewers can judge where that segment could be detected or blocked. Which triple of attribute
- NIST's data-centric threat modeling guidance treats a scenario paired with the ordered sequence of attack vectors that could realize it as an attack model rather than a complete threat model. Which fu
- An acceptance test confirms that a hardened helper application on user workstations no longer renders untrusted attachment types. The threat model records the matching segment as attachment content de
- A verification record describes one segment of an attack pathway by naming where the malicious content originates, which component would process that content, and what the content itself is. Which art
- A design team argues that its threat model is complete because every network path into the payment service has been enumerated. A reviewer notes that a help desk agent resetting a password for an impe
- Threat likelihood and impact must be estimated separately
Likelihood addresses the possibility that a threat event will occur and result in adverse impact, while impact addresses the magnitude of harm to operations, assets, people, or objectives. A rare catastrophic scenario and a frequent minor scenario therefore require distinct treatment even if a simple score ranks them similarly.
7 questions test this
- A threat event whose consequences would be catastrophic is nevertheless assigned a low overall risk level because the event is almost never initiated. NIST's risk determination guidance names the fact
- A risk register for a logistics platform gives each modeled scenario a likelihood of occurrence and an impact severity, and the two ratings were prepared by different analyst teams. NIST's risk-assess
- An architect adds out-of-band backups that shorten the outage following a ransomware event but do nothing to prevent the intrusion itself. The verification review must update one estimate for that sce
- An architect must separate two design risks that received the same composite score: a rare regional flood that would halt trading for days, and a weekly credential-stuffing burst that briefly slows lo
- An overall likelihood value for a threat event is reported using only the estimate of the likelihood that adversaries will initiate that event. NIST's guidance requires two values to be combined for t
- An insurer's assessment carries one moderate harm figure for a fraud scenario against its claims portal, taken from a single successful attempt. Nothing in the scenario description prevents the attemp
- Twelve moderate risks recorded separately in one assessment all depend on the same authentication service and would therefore materialize together. NIST's guidance on refining assessment results addre
- Predisposing conditions and vulnerabilities shape scenario likelihood
A threat source does not create the same risk in every architecture; exposure, susceptibility, existing controls, and exploitable weaknesses affect whether its event can succeed. Verification should test the assumptions used to estimate those conditions rather than treating likelihood as an adversary attribute alone.
5 questions test this
- A platform passed its security acceptance tests two years ago and its architecture has not changed since then. The reviewer argues that the original likelihood ratings can no longer be relied upon. Wh
- The same network-borne threat source is rated far less likely to cause harm in a stand-alone control system than in an internet-facing one, even though the source itself is described identically in bo
- A verification review confirms that every scanner-reported software flaw in a new platform has been closed. It also finds that all enclaves authenticate through a single identity provider with no alte
- An architect's data tier uses no database management system of any kind, so the review removes SQL injection threat events from the assessed set. A reviewer asks which documented concept justifies rem
- Several threat events in a completed assessment have no vulnerability and no predisposing condition mapped to them, which NIST's guidance says gives them a very low likelihood of resulting in adverse
- Gap analysis compares corresponding baseline and target elements
A design gap is established by comparing required target capability with the existing or proposed implementation and evidence. The analysis distinguishes elements to carry forward from those to add, remove, or replace, avoiding a generic findings list with no target-state trace.
Trap Counting scanner findings without mapping them to target requirements
4 questions test this
- A supplier delivers what it calls a gap analysis for a payment platform. The document is a ranked list of scanner findings with severity counts, and no entry refers to any capability the approved targ
- A security architect must assess a control that exists only as an approved design specification, because construction starts next quarter. The verification lead argues that no gap can be recorded unti
- A gap analysis for a lending platform lists every target control the estate does not yet provide. Each current-state entry was copied from the system security plan's implementation statements, and non
- A gap register for a stand-alone laboratory system reports one hundred and forty unmet target requirements, among them cloud-service and remote-maintenance controls for capabilities the system does no
- Threat-model results should focus verification on credible failure paths
Threat scenarios, affected assets, vectors, preconditions, and expected consequences provide inputs for selecting abuse cases and assurance activities. This trace lets reviewers test whether proposed controls interrupt the modeled path instead of testing controls in isolation.
3 questions test this
- A rail operator's threat model records, for every scenario, the harm the business would suffer if the modeled path completed. The release acceptance plan checks only that each named control behaves as
- A design review is required to confirm more than that a design answers the risks its threat model lists. Secure-development guidance adds a second check, applied to the model itself. What does that se
- A payment team's threat model records a scenario in which a stolen session token is replayed against the refund API. The acceptance test plan for the release currently contains only functional tests o
- Material design or threat changes require threat-model revalidation
A threat model is valid only for its documented system boundary, assumptions, technology, and threat context. New trust relationships, data flows, deployment environments, adversary behavior, or mitigations can invalidate prior conclusions and call for reassessing the affected conclusions.
Trap Reusing the approved threat model unchanged for every later release
6 questions test this
- An approved threat model covers a payroll application hosted in the organization's own data center. The same binaries will now run on a public cloud provider's managed platform, with no change to the
- Six months after a threat model was approved, a public adversary-behavior knowledge base adds a technique that bypasses one of the modeled mitigations for the same platform. Which element of the model
- An organization's change process must state when the security impact of a proposed system change, including its effect on the approved threat model, is analyzed. At which point does control guidance p
- A supplier delivers a subsystem whose implementation deviates from the design specification the security architecture approved. Acquisition guidance requires updated threat modeling and vulnerability
- To recover throughput, operations remove a message-inspection gateway that the approved threat model credits with interrupting two attack scenarios. Interfaces and data flows are otherwise unchanged,
- A release process reuses the same approved threat model for every release, recording that no re-review is needed while the feature set stays stable, regardless of infrastructure or dependency changes.
- A mitigation should measurably alter a modeled risk scenario
A proposed safeguard is relevant when it reduces the probability of successful exploitation, limits the resulting harm, improves detection and response, or removes a required precondition. Merely associating a control family with the affected asset does not demonstrate treatment effectiveness.
8 questions test this
- A rail operator's design review examines a containment safeguard whose introduction leaves the modeled compromise likelihood unchanged, while an infected maintenance workstation can no longer reach si
- A hospital's design review package supports a new data-loss control with one figure: the percentage of servers on which the agent is installed. The board wants evidence that the control is producing i
- A modeled scenario has a clinician exporting a full patient record set during a night shift, and blocking that export would stall genuine emergency care. The design must instead ensure the security op
- Which element must a design package add when its only justification for a proposed safeguard is that the affected asset is mapped to the relevant control family, and the verification team declines to
- A published vulnerability in a plant historian scores high on its vendor-supplied severity, but the architect's design places the host on an isolated segment reachable only from a hardened jump host.
- A rail operator's design review examines a containment safeguard whose introduction leaves the modeled compromise likelihood unchanged, while an infected maintenance workstation can no longer reach si
- A modeled intrusion requires the adversary to reach a substation management interface from a corporate user subnet, and the architect wants the design to remove that requirement rather than make it le
- Which systems security engineering process provides objective evidence that a segmentation design, once in use, fulfills its business or mission objectives and stakeholder protection needs in its inte
- A compensating control must satisfy the original security intent
When the preferred control is infeasible, a compensating control should provide comparable protection for the same requirement and threat, within the actual environment. Cost or convenience alone does not establish equivalence; the rationale and remaining exposure require evidence and approval.
Trap Any cheaper control from the same control family
5 questions test this
- A payment organization is able to meet a defined requirement as written, but its security team designs its own method of meeting the same requirement objective and documents how that method achieves i
- A baseline control cannot be implemented on a real-time process controller, so the architect substitutes a different control from the catalogue and the tailoring record notes only which control was sw
- Which tailoring action accounts for the removal of a mobile-device control from a system's baseline when the system contains no mobile components at all and no substitute control was recorded for the
- No single available control matches the protection of the baseline control that had to be tailored out, so the architect argues that three existing layers around the asset jointly close the gap. Which
- A trading floor's shared consoles cannot run the baseline session-lock control, so the architect substitutes an alternative catalog control. The design package demonstrates that the substitute gives c
- Alternative solutions should be compared across effectiveness and constraints
A trade study compares how candidate designs satisfy security requirements while accounting for cost, performance, interoperability, usability, lifecycle, and operational constraints. Selecting the technically strongest control without considering mission consequences can produce a design that fails validation.
9 questions test this
- Which trade-space factor rules out a candidate design that protects partner traffic with a proprietary tunneling protocol the partner agencies' own security gateways cannot terminate, when exchanging
- Which trade-space factor rules out a candidate design that protects partner traffic with a proprietary tunneling protocol the partner agencies' own security gateways cannot terminate, when exchanging
- Two candidate designs for a national tax platform both satisfy its confidentiality requirement, and the stronger design would consume the funding already reserved for the fraud-detection programme. On
- Two candidate designs for a national tax platform both satisfy its confidentiality requirement, and the stronger design would consume the funding already reserved for the fraud-detection programme. On
- Which basis of comparison captures the difference between two candidate controls that satisfy the same security requirement when one of them needs two specialist operators for the ten years the platfo
- Which analysis establishes whether each candidate solution class for a national identity service can actually be built and operated with the technology and staff available, before those classes are sc
- Three candidate designs each satisfy the confidentiality requirement for a national payments platform, and the architect must choose one on the basis of cost, schedule, interoperability and operationa
- Three candidate designs for a new settlement platform will be compared at design review, and the architect must fix in advance how protection strength and operational limits will be scored so the even
- Which factor did a selection fail to weigh when the candidate control offering the strongest protection was chosen and the resulting design then failed acceptance because it breached a documented timi
- Defense in depth uses complementary barriers against common failure paths
Layered controls are useful when they act at different points or with different failure modes in the threat scenario. Duplicating the same mechanism at several locations can preserve a common-mode weakness and should not be assumed to provide independent assurance.
Trap Multiple copies of one control with the same dependency and failure mode
7 questions test this
- An insurer's acceptance test drives one malformed session into a newly layered design. The gateway, the application and the database each raise the same block and the operations team cannot tell which
- An insurer's acceptance test drives one malformed session into a newly layered design. The gateway, the application and the database each raise the same block and the operations team cannot tell which
- A validation team is told that an estate already resists common failures because separate programmes bought different products over ten years. Component analysis shows those products embed the same cr
- An energy utility's design review board is shown a layered filtering claim. The same vendor's engine runs at the perimeter, on the hypervisor and on every host. All three instances draw their rules fr
- A national postal operator's architect allocates malicious-code protection to the mail gateway, the web proxy and the endpoint. The design reviewer will not accept the three allocations while a single
- A research agency must keep audit records readable after one platform is compromised, so its validated design places the logging service on a different operating system and a different technical stand
- Two authentication barriers guard a settlement interface, and each was accepted as an independent layer. Verification shows that both resolve account state through a single shared directory service, s
- Residual risk remains after controls and requires explicit disposition
Verification of a mitigation does not prove that the risk has been eliminated. The post-treatment likelihood, impact, assumptions, and uncertainty must be recorded so the authorized decision maker can accept the residual exposure or require further treatment.
Trap Closing the risk automatically when its planned control passes a test
5 questions test this
- A verified encryption control moves a modelled breach scenario from severe to moderate, and the design package presents that new rating on its own. The authorizing official must now dispose of what re
- Regression testing confirms that a re-engineered authorization control still blocks the modelled abuse case in the laboratory build. Production carries two partner integrations that the laboratory bui
- A broadcaster's residual-risk entry for a newly verified control gives one post-treatment loss figure, and the reviewing official cannot tell whether the analysts had firm evidence or a rough judgemen
- A water utility's firewall redesign passes validation, and the modelled exposure falls only while the plant network stays physically separate from the corporate estate. The design package records the
- A new segmentation control passes every acceptance case, and the recalculated exposure still sits above the tolerance the risk committee published. The programme now seeks an acceptance signature from
- A tabletop exercise validates plans and decisions through facilitated discussion
A tabletop presents a scenario to participants who discuss responsibilities, coordination, decisions, and expected actions. It is well suited to exposing unclear authorities and procedural gaps but does not demonstrate that production technology can execute the response under load.
Trap Treating successful discussion as proof of technical failover capacity
8 questions test this
- Which tabletop exercise document carries the observations recorded during the event and the recommendations for enhancing the exercised IT plan, developed after the facilitated debrief against evaluat
- A high-impact system's contingency plan requires processing to move to the alternate location. The organization currently exercises the plan every year with a tabletop only. Which additional event doe
- A bank's leadership will not authorize any interruption of production, yet the architect must surface disagreement among executives about who may declare a disaster and commit recovery funding. Which
- An architect has already run one tabletop exercise for the senior leadership team and a separate one for the operations team, because their responsibilities differ. Coordination across that reporting
- A tabletop exercise for a payment platform is being staffed. The design team needs one person whose sole duty during the event is to record what participants actually decide, so that the after action
- A tabletop exercise ended with every participant agreeing that the recovery procedure was clear, but the CIO now wants documented evidence that IT operations can be restored at the backup site. Which
- Which tabletop exercise document carries the observations recorded during the event and the recommendations for enhancing the exercised IT plan, developed after the facilitated debrief against evaluat
- Which class of weakness is a discussion-based exercise best suited to expose in an incident response plan, given that its participants only discuss roles, responsibilities and decisions and deploy no
- Modeling and simulation exercise behavior without requiring a live cutover
A simulation represents selected system or operational behavior in a controlled environment so scenarios and assumptions can be explored without production consequences. Its assurance is limited by model fidelity, input quality, and the differences between simulated and operational conditions.
4 questions test this
- NIST contingency planning guidance recommends that a moderate-impact system's contingency plan be exercised through a functional exercise including all plan points of contact; which element should the
- Which contingency plan testing enhancement does NIST prescribe when a recovery design's assumption about the standby data centre's capacity has so far been examined only in a modelled scenario, given
- An organization's annual contingency plan test covers only a fraction of its scenarios and cannot stress the system realistically; which enhancement to contingency plan testing does NIST guidance iden
- A simulated failover of an insurance platform completed inside the target window, but the simulation omitted a third-party identity provider that the production path depends on. Which limitation of si
- Manual functional review can examine logic that automated tests do not express
A reviewer can trace use cases, state transitions, trust decisions, and exception paths against requirements and threat scenarios before or without executing the implementation. This method is especially useful for architecture logic and missing behavior, but it cannot by itself prove runtime enforcement.
Trap Using document review as the sole evidence that a runtime control works
3 questions test this
- Which process is defined as confirmation, through the provision of objective evidence, that specified requirements have been fulfilled, as distinct from the process that confirms requirements for a sp
- The same engineering team that produced a payment gateway's design also performed the design review and declared it compliant. The authorising official doubts the result. Who should NIST guidance have
- Which review technique in NIST's technical testing and assessment guide judges whether security policies, architectures, requirements, standard operating procedures and interconnection agreements are
- Peer review uses relevant expertise to challenge design assumptions
Qualified peers can identify omitted viewpoints, inconsistent requirements, unsafe assumptions, and trade-offs that the original design team normalized. Review effectiveness depends on reviewer competence, scope, and access to the rationale and evidence, not merely attendance by another architect.
5 questions test this
- A program's toolchain automatically checks every design change against machine-readable rules derived from the security requirements, and the architect still commissions a review of the design by qual
- A design review that checks an architecture only against the approved security requirements list leaves one of the two review criteria in NIST's Secure Software Development Framework unaddressed. Whic
- A design review concludes that an embedded controller cannot meet a mandated cryptographic requirement, and every feasible design change has been costed and rejected by the program. The requirement it
- A design team submits its reference architecture for peer review and gives the reviewers the current diagrams and interface specifications only. The reviewers cannot establish why a shared administrat
- An architect commissions a peer review of a claims platform's design, and the delivery team nominates only the components it regards as security relevant. The shared identity and logging services are
- Assessment independence increases confidence in objective findings
An assessor independent of the design and implementation decisions is less exposed to self-review bias and conflicting incentives. Independence does not replace technical competence or adequate evidence, so an external label alone is not sufficient assurance.
Trap Choosing an external assessor solely because third-party status guarantees quality
9 questions test this
- SP 800-37 states that assessor independence during the continuous monitoring process brings a specific downstream benefit for ongoing authorization and reauthorization decisions, and organizations may
- A consultancy proposes to assess a bank's new payment architecture and, in the same engagement, to represent the bank before its regulator and argue the case for approving that architecture. Which imp
- A consultancy proposes to assess a bank's new payment architecture and, in the same engagement, to represent the bank before its regulator and argue the case for approving that architecture. Which imp
- SP 800-37 states that assessor independence during the continuous monitoring process brings a specific downstream benefit for ongoing authorization and reauthorization decisions, and organizations may
- A consultancy proposes to assess a bank's new payment architecture and, in the same engagement, to represent the bank before its regulator and argue the case for approving that architecture. Which imp
- SP 800-53's independent verification enhancement has two parts, and appointing an independent agent satisfies only the first of them. Which second requirement does a developer defeat by withholding de
- A claim that third-party status by itself guarantees the quality of an assessor's findings misreads the assessor-selection criteria set out in SP 800-53 and in the Risk Management Framework. Which fur
- A system owner wants to select an external assessment firm, set its scope, pay its fee from the delivery budget and receive its report directly. The authorizing official questions whether the result w
- A small agency must assess a moderate-impact system, but every person with the necessary technical knowledge sits inside the system owner's management chain, so no structurally independent assessor ca
- Strong assurance combines documentary, testimonial, and test evidence
Assessment methods commonly examine artifacts, interview responsible people, and test mechanisms or processes. Corroborating these sources distinguishes a documented design, an understood practice, and an operating control instead of inferring all three from one source.
5 questions test this
- A third-party test report can be recent, and entirely accurate about the deployment configuration it covers, and still fail one of the qualities NIST requires of assurance evidence once the design in
- A current compliance certificate can be offered as the only evidence that an encryption service protects tenant data, with no test results and no analysis standing behind the claim. Which named concep
- Assurance evidence for a safety-critical controller cannot always be gathered by exercising, measuring or watching the article itself under operational conditions before acceptance. Which route to ass
- SP 800-53A notes that an assessment procedure does not necessarily apply all three of the examine, interview and test methods to a control, and that the organization decides which of them to use. Whic
- Static analysis evidence for a lending platform shows a high density of findings dismissed as false positives, and the assurance value of that evidence must now be judged. Which course does SP 800-53
- Common Criteria assurance stays within the evaluated claims and scope
A Common Criteria result provides assurance only for the defined Target of Evaluation and the security claims and properties specified by its Security Target or claimed Protection Profile, as examined by the applicable evaluation methods and activities. It does not provide general assurance for unevaluated functions, configurations, or operating conditions.
- Manual code review is strongest where security depends on context and intent
Human review can reason about authorization logic, workflow abuse, trust assumptions, misuse of security functions, and requirement omissions that pattern-based tools may not understand. It is resource intensive, so threat models and criticality should focus review on high-risk code and interfaces.
6 questions test this
- An outsourced team delivers source code for a high-value settlement component. The concern is deliberately hidden logic rather than ordinary coding mistakes, and the code compiles cleanly under the or
- A development team reviews its own modules, and the same engineers who wrote the authorization helpers sign off on them. The architect wants review findings that an assessor will accept as evidence of
- A payments platform enforces per-role approval limits entirely in its own application code, and the approval matrix differs for every business unit. The architect must gain assurance that the implemen
- Pattern-based tooling reliably flags several weakness classes in first-party code, while others depend on knowledge of what the application is supposed to permit. Which weakness class is therefore the
- An architect authorizes three reviewer-days for the release of a claims system and selects two short modules that enforce entitlement rules. The reviewers ask what they should be looking for. Which in
- Manual code review capacity covers only a small fraction of a large codebase in each release cycle, so the review target list must be chosen deliberately rather than by convenience. Which input should
- Static analysis inspects source or compiled code without running it
Static analyzers examine code structure and data or control flows to identify weakness patterns before or independently of execution. They can cover large codebases consistently but require triage because findings can include false positives and context-dependent results.
Trap Dynamic analysis of application responses during execution
7 questions test this
- A quarterly release must be checked for weakness patterns across an entire 900,000-line monolith, but the staging environment can exercise only the customer-facing transaction paths. Which technique g
- A quarterly release must be checked for weakness patterns across an entire 900,000-line monolith, but the staging environment can exercise only the customer-facing transaction paths. Which technique g
- Two verification tools are being compared for a control-plane service: one reasons about the code as written, and the other supplies inputs to the deployed instance. Which property of the software doe
- A vendor supplies only signed executables for a component that the organization must assess before deployment. The architect needs weakness findings derived from the delivered artifact itself rather t
- A quarterly release must be checked for weakness patterns across an entire 900,000-line monolith, but the staging environment can exercise only the customer-facing transaction paths. Which technique g
- A first static analysis run over a large codebase returns several thousand warnings, and many of them describe conditions that a compensating control elsewhere in the application already blocks. Which
- Static analysis can be applied at several points in a delivery pipeline, and the point chosen changes both the feedback delay and the cost of fixing what it finds. Where does the organization gain the
- Dynamic analysis probes behavior in an executing system
Dynamic analysis supplies inputs to a running application and observes its behavior and responses. It can reveal runtime and configuration-dependent flaws but sees only the paths, states, and interfaces reached during testing.
Trap Assuming a clean dynamic scan proves unexecuted paths are secure
8 questions test this
- A gateway parses a binary telemetry protocol from thousands of field devices, and malformed frames from one faulty device once crashed the service. The architect wants evidence that the parser survive
- A gateway parses a binary telemetry protocol from thousands of field devices, and malformed frames from one faulty device once crashed the service. The architect wants evidence that the parser survive
- A gateway parses a binary telemetry protocol from thousands of field devices, and malformed frames from one faulty device once crashed the service. The architect wants evidence that the parser survive
- A quarterly vulnerability scan of an internet-facing platform reports only low-severity issues, yet the architect judges that several of them could be chained by an attacker who already holds a low-pr
- A dynamic security test suite runs against a deployed release and reports no findings, and that result will be quoted in the release's assurance evidence. Which additional measurement makes the scope
- A dynamic scan of a deployed application finishes with no findings, and a project manager reads that result as proof that the application contains no exploitable weaknesses. The architect must state w
- An application passes every verification activity in staging. Before release, the team reproduces the production reverse proxy, session termination, and debug-logging configuration in a preproduction
- A claims portal is deployed behind a gateway that rewrites its error responses, and integration testing has never inspected what those responses disclose to a caller. The architect wants evidence abou
- Software composition analysis evaluates included third-party components
SCA inventories libraries and other dependencies so teams can assess known vulnerabilities, versions, provenance, and other supply-chain concerns. It does not determine whether the organization's own business logic correctly enforces security requirements.
Trap Using SCA as a replacement for reviewing first-party authorization code
6 questions test this
- A platform passed a full dependency review at its initial release, and the same component set has shipped unchanged for a year. Which practice keeps the organization's view of that component set's ris
- A microservice estate pulls in hundreds of open-source libraries, and a newly published vulnerability in a widely used serialization library must be traced to every service that ships it. Which capabi
- Before a third-party component is approved for a regulated platform, the review board requires a machine-readable inventory of what the component itself contains, including its own dependencies and th
- A delivery team proposes to retire its authorization-code reviews on the grounds that its weekly dependency analysis has reported no vulnerable components for two quarters. The architect rejects the p
- A dependency report for a Java service lists only the libraries named in the project's build file, yet the running application loads many more archives than that file names. Which components must be a
- A component in a shipping platform passes every dependency scan the pipeline runs, but its upstream project has had no commits or releases for three years and no successor has been announced. Which at
- Third-party component assurance depends on its intended use
The SSDF calls for reviewing third-party components in the context of their expected use and repeating evaluation when that use changes substantially. A component acceptable in an isolated tool may carry different risk when placed on a critical trust boundary.
4 questions test this
- A third-party library was reviewed and approved a year ago for one specific system, and the approval record remains on file. Under the NIST Secure Software Development Framework, one later development
- A supplier delivers a compiled component for a settlement service, and the receiving architect can confirm neither its digital signature nor its provenance record. The component is still required for
- A microservice on a regulated payment path is assembled mostly from open-source libraries rather than from code written in-house. NIST guidance on developer verification sets the assurance standard th
- A payments organization applies the NIST Secure Software Development Framework to every reusable third-party component it approves. The review board must decide how much evaluation each candidate comp
- Threat models should direct code review and analysis toward critical paths
Mapped assets, trust boundaries, abuse cases, and attack paths identify where manual review, static analysis, dynamic analysis, fuzzing, and penetration testing provide the most value. Tool coverage metrics alone should not determine security test priorities.
6 questions test this
- One release covers both a tokenization service and an internal style-guide site, and the same test plan template is currently applied to each. The organization's threat model records far greater conse
- The SSDF calls for forms of risk modeling during design so that security risk to the software can be assessed. Before analysis effort can be targeted, reviewers need to know which parts of the softwar
- One release covers both a tokenization service and an internal style-guide site, and the same test plan template is currently applied to each. The organization's threat model records far greater conse
- A gateway service accepts several externally supplied message formats, and the architect can fund fuzz testing of only one parser in this release. The team maintains a current threat model of the gate
- Functional acceptance tests for a claims portal all pass, but they exercise only the behaviour that the specification describes. Security test cases are now needed that represent an attacker deliberat
- An architect has one week of specialist security testing to allocate across three services in a payments estate, and a current threat model exists for all three. Adding testing capacity this quarter i
- Code-analysis findings require triage, remediation, and verification
Developer verification records discovered issues, determines their validity and priority, routes remediation into the development workflow, and verifies the fix. Counting tool alerts without disposition and regression evidence is not a completed review process.
Trap Using the raw scanner report as final assurance evidence
4 questions test this
- A release package offers the raw output of its static analysis run as the application security evidence for a regulated service. The assessor rejects the package, and the architect must state what tha
- A quarterly report shows that most static analysis findings were marked as false positives and closed with no code change, and that closing rate is being read as evidence of high code quality. What do
- The same missing-authorization defect pattern has been reported by three separate code reviews of different services over two quarters, and each instance was corrected on its own. New code keeps repro
- A session-fixation defect that was found and fixed in last year's review has reappeared in the current release of the same service. One change to the verification process itself keeps that defect from
- Secure code review verifies control presence, operation, and placement
Secure code review audits application source to verify that security and logical controls are present, operate as intended, and are invoked in the right places. Its objective is to discover security defects and potentially identify solutions.
Trap Successful execution of each control in isolation proves that the control is invoked at every required point.
4 questions test this
- An assessor asks the architect for evidence that the documented role-permission scheme of a claims system is the one the application actually enforces. Automated analysis of the codebase has already r
- A secure code review is expected to return more than a list of defects: for each finding it also yields something the development team can act on directly, which OWASP identifies as part of the review
- Unit tests show that an authorization helper returns the correct decision for every role it is given, and the architect still commissions a source review of the services that depend on it. What does t
- A financial application has completed a thorough secure code review, and a penetration test of the same application is scheduled immediately afterwards. OWASP's code review guidance states what the te
Also tested in
References
- NIST CSRC Glossary: verification
- NIST CSRC Glossary: validation
- NIST SP 800-115: Technical Guide to Information Security Testing and Assessment Whitepaper
- NIST SP 800-154: Guide to Data-Centric System Threat Modeling Whitepaper
- NIST SP 800-34 Rev. 1: Contingency Planning Guide for Federal Information Systems Whitepaper
- NIST SP 800-160 Vol. 1 Rev. 1: Engineering Trustworthy Secure Systems Whitepaper
- NIST SP 800-95: Guide to Secure Web Services Whitepaper
- NIST SP 800-30 Rev. 1: Guide for Conducting Risk Assessments Whitepaper
- NIST CSRC Glossary: predisposing condition
- NIST CSRC Glossary: compensating security control
- NIST CSRC Glossary: defense in depth
- NIST CSRC Glossary: residual risk
- NIST CSRC Glossary: modeling and simulation
- NIST CSRC Glossary: independent verification and validation
- NIST SP 800-53A Rev. 5: Assessing Security and Privacy Controls Whitepaper
- NIST CSRC Glossary: Common Criteria
- NIST CSRC Glossary: Security Target
- NIST CSRC Glossary: Protection Profile
- NIST CSRC Glossary: Evaluation Assurance Level
- OWASP Code Review Guide
- OWASP: Static Code Analysis
- OWASP: Component Analysis
- NIST SP 800-218: Secure Software Development Framework (SSDF) v1.1 Whitepaper