|
1 | 1 | # 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`. |
3 | 25 |
|
4 | 26 | ## 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`. |
6 | 33 |
|
7 | 34 | ### 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. |
9 | 46 |
|
10 | 47 | ## 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. |
12 | 50 |
|
13 | 51 | <div style="page-break-after: always; visibility: hidden">
|
14 | 52 | \newpage
|
15 |
| -</div> |
| 53 | +</div> |
0 commit comments