Skip to content

Commit cb889f5

Browse files
Merge pull request #16 from idunbarh/non-conformance
Documenting non-conformance
2 parents 52fe833 + eb56bd3 commit cb889f5

File tree

1 file changed

+43
-5
lines changed

1 file changed

+43
-5
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,53 @@
11
# Documenting Non-Conformance
2-
TODO
2+
3+
Non-conformance of requirements occurs when something - a product, service, process, or system - fails to meet its intended specifications or established regulations. This deviation can be minor, like a typo in a document, or major, like a safety breach. Regardless of severity, non-conformance carries risks, impacting quality, performance, and potentially safety. Identifying and addressing it promptly is crucial. Many organizations document non-conformance as part of a risk management process.
4+
5+
## Conformance
6+
7+
CycloneDX Attestations documents conformance through an `attestation` that maps `requirements`, `claims`, `counterClaims` and a `conformance`. The `conformance` documents the ability of the `claims` to satify the `requirements`.
8+
9+
The conformance as three fields.
10+
11+
* `score:` The conformance of the claim between and inclusive of 0 and 1, where 1 is 100% conformance.
12+
* `rationale:` The reasoning for the conformance score.
13+
* `mitigationStrategies:` The list of evidence describing the mitigation strategies.
14+
15+
Instead of specifying that a `claim` is non-conforming, the `attestation` will have a lower `conformance` `score` for the portion of the requirement not met. Additionally the `rationale` describes what the non-conform is as a text statement, and the `mitigationStrategies` is `evidence` that alleviates the risk of the non-conformance.
16+
17+
### Score
18+
19+
The score can either be a binary conformance/non-conformance or a percentage between 0 and 1, where 1 is 100% conformance.
20+
21+
__Examples:__
22+
23+
* A `requirement` for all employees to complete security training. 70 of the 100 employees has completed it. The `conformance score` is `0.7`.
24+
* A `requirement` for separate of accounts for elevated permissions from user accounts. Administrators use their user accounts for all elevated actions with no separation. The `conformance score` is `0.0`.
325

426
## Mitigation Strategies
5-
TODO
27+
28+
Mitigation strategies are actions taken to reduce the severity or likelihood of a negative outcome. They are an essential part of risk management by reducing risk associated with non-conformance.
29+
30+
CycloneDX Attestations documents `mitigationStrategies` as bomLinks to `evidence`. This `evidence` details the action taken to mitigate the non-conformance.
31+
32+
Each mitigation strategy should include an explanation of what part of the non-conformance is being addressed. This explanation should be included as part of the `conformance` `rationale` or within the `description` of the `evidence`.
633

734
### Plan of Action and Milestones (POAM)
8-
TODO
35+
36+
A POAM is process used in cybersecurity and risk management to document risks, and is an opportunity to strengthen or “harden” your system through carefully planned improvements.
37+
38+
Common contexts where POAMs are used:
39+
40+
* NIST Cybersecurity Framework (CSF): Organizations working towards compliance with NIST CSF may use POAMs to address identified gaps.
41+
* Federal Information Systems Management Act (FISMA): US government agencies use POAMs to document corrective actions for security vulnerabilities.
42+
* Defense Contract Management Agency (DCMA): Defense contractors use POAMs to demonstrate plans for achieving cybersecurity requirements.
43+
* Internal risk management: Organizations can use POAMs to address various internal risks beyond cybersecurity.
44+
45+
POAMs work well with CycloneDX Attestations and reference `attestation` and `mitigationStrategies` as bomLinks.
946

1047
## Counter Evidence
11-
TODO
48+
49+
Much like `evidence` is used to document supporting a `claim`, `counterEvidence` is used document `evidence` that contradicts a `claim`. This can provide verification that 100% conformance is not met.
1250

1351
<div style="page-break-after: always; visibility: hidden">
1452
\newpage
15-
</div>
53+
</div>

0 commit comments

Comments
 (0)