diff --git a/features/fedramp_extensions.feature b/features/fedramp_extensions.feature index a297fc489..f3f9bbf15 100644 --- a/features/fedramp_extensions.feature +++ b/features/fedramp_extensions.feature @@ -47,6 +47,16 @@ Examples: | has-information-system-contingency-plan-PASS.yaml | | has-rules-of-behavior-FAIL.yaml | | has-rules-of-behavior-PASS.yaml | + | has-security-impact-level-FAIL.yaml | + | has-security-impact-level-PASS.yaml | + | has-security-objective-availability-FAIL.yaml | + | has-security-objective-availability-PASS.yaml | + | has-security-objective-confidentiality-FAIL.yaml | + | has-security-objective-confidentiality-PASS.yaml | + | has-security-objective-integrity-FAIL.yaml | + | has-security-objective-integrity-PASS.yaml | + | has-security-sensitivity-level-FAIL.yaml | + | has-security-sensitivity-level-PASS.yaml | | has-separation-of-duties-matrix-FAIL.yaml | | has-separation-of-duties-matrix-PASS.yaml | | has-user-guide-FAIL.yaml | @@ -100,6 +110,11 @@ Examples: | has-incident-response-plan | | has-information-system-contingency-plan | | has-rules-of-behavior | + | has-security-impact-level | + | has-security-objective-availability | + | has-security-objective-confidentiality | + | has-security-objective-integrity | + | has-security-sensitivity-level | | has-separation-of-duties-matrix | | has-user-guide | | information-type-system | diff --git a/src/validations/constraints/content/ssp-all-INVALID.xml b/src/validations/constraints/content/ssp-all-INVALID.xml index 6904ae83c..e821d0e87 100644 --- a/src/validations/constraints/content/ssp-all-INVALID.xml +++ b/src/validations/constraints/content/ssp-all-INVALID.xml @@ -64,7 +64,7 @@ - moderate + Financial Information @@ -85,13 +85,10 @@ - - - moderate - moderate - moderate - - + + + + diff --git a/src/validations/constraints/fedramp-external-constraints.xml b/src/validations/constraints/fedramp-external-constraints.xml index 484f6f85a..a319abf57 100644 --- a/src/validations/constraints/fedramp-external-constraints.xml +++ b/src/validations/constraints/fedramp-external-constraints.xml @@ -58,6 +58,21 @@ A FedRAMP SSP must have a Separation of Duties Matrix attached. + + An OSCAL SSP document must specify a FIPS 199 categorization. + + + An OSCAL SSP document must specify a security impact level. + + + An OSCAL SSP must specify a confidentiality security objective. + + + An OSCAL SSP must specify an integrity security objective. + + + An OSCAL SSP must specify an availability security objective. + @@ -75,4 +90,4 @@ - + \ No newline at end of file diff --git a/src/validations/constraints/unit-tests/has-security-impact-level-FAIL.yaml b/src/validations/constraints/unit-tests/has-security-impact-level-FAIL.yaml new file mode 100644 index 000000000..d4554c2a0 --- /dev/null +++ b/src/validations/constraints/unit-tests/has-security-impact-level-FAIL.yaml @@ -0,0 +1,9 @@ +test-case: + name: Negative Test for has-security-impact-level + description: >- + This test case validates the behavior of constraint + has-security-impact-level + content: ../content/ssp-all-INVALID.xml + expectations: + - constraint-id: has-security-impact-level + result: fail diff --git a/src/validations/constraints/unit-tests/has-security-impact-level-PASS.yaml b/src/validations/constraints/unit-tests/has-security-impact-level-PASS.yaml new file mode 100644 index 000000000..dd112dba4 --- /dev/null +++ b/src/validations/constraints/unit-tests/has-security-impact-level-PASS.yaml @@ -0,0 +1,9 @@ +test-case: + name: Positive Test for has-security-impact-level + description: >- + This test case validates the behavior of constraint + has-security-impact-level + content: ../content/ssp-all-VALID.xml + expectations: + - constraint-id: has-security-impact-level + result: pass diff --git a/src/validations/constraints/unit-tests/has-security-objective-availability-FAIL.yaml b/src/validations/constraints/unit-tests/has-security-objective-availability-FAIL.yaml new file mode 100644 index 000000000..3d2cbe5b6 --- /dev/null +++ b/src/validations/constraints/unit-tests/has-security-objective-availability-FAIL.yaml @@ -0,0 +1,9 @@ +test-case: + name: Negative Test for has-security-objective-availability + description: >- + This test case validates the behavior of constraint + has-security-objective-availability + content: ../content/ssp-all-INVALID.xml + expectations: + - constraint-id: has-security-objective-availability + result: fail diff --git a/src/validations/constraints/unit-tests/has-security-objective-availability-PASS.yaml b/src/validations/constraints/unit-tests/has-security-objective-availability-PASS.yaml new file mode 100644 index 000000000..44c596ae1 --- /dev/null +++ b/src/validations/constraints/unit-tests/has-security-objective-availability-PASS.yaml @@ -0,0 +1,9 @@ +test-case: + name: Positive Test for has-security-objective-availability + description: >- + This test case validates the behavior of constraint + has-security-objective-availability + content: ../content/ssp-all-VALID.xml + expectations: + - constraint-id: has-security-objective-availability + result: pass diff --git a/src/validations/constraints/unit-tests/has-security-objective-confidentiality-FAIL.yaml b/src/validations/constraints/unit-tests/has-security-objective-confidentiality-FAIL.yaml new file mode 100644 index 000000000..eece5be1b --- /dev/null +++ b/src/validations/constraints/unit-tests/has-security-objective-confidentiality-FAIL.yaml @@ -0,0 +1,9 @@ +test-case: + name: Negative Test for has-security-objective-confidentiality + description: >- + This test case validates the behavior of constraint + has-security-objective-confidentiality + content: ../content/ssp-all-INVALID.xml + expectations: + - constraint-id: has-security-objective-confidentiality + result: fail diff --git a/src/validations/constraints/unit-tests/has-security-objective-confidentiality-PASS.yaml b/src/validations/constraints/unit-tests/has-security-objective-confidentiality-PASS.yaml new file mode 100644 index 000000000..67bacc8f8 --- /dev/null +++ b/src/validations/constraints/unit-tests/has-security-objective-confidentiality-PASS.yaml @@ -0,0 +1,9 @@ +test-case: + name: Positive Test for has-security-objective-confidentiality + description: >- + This test case validates the behavior of constraint + has-security-objective-confidentiality + content: ../content/ssp-all-VALID.xml + expectations: + - constraint-id: has-security-objective-confidentiality + result: pass diff --git a/src/validations/constraints/unit-tests/has-security-objective-integrity-FAIL.yaml b/src/validations/constraints/unit-tests/has-security-objective-integrity-FAIL.yaml new file mode 100644 index 000000000..cdbc8be6d --- /dev/null +++ b/src/validations/constraints/unit-tests/has-security-objective-integrity-FAIL.yaml @@ -0,0 +1,9 @@ +test-case: + name: Negative Test for has-security-objective-integrity + description: >- + This test case validates the behavior of constraint + has-security-objective-integrity + content: ../content/ssp-all-INVALID.xml + expectations: + - constraint-id: has-security-objective-integrity + result: fail diff --git a/src/validations/constraints/unit-tests/has-security-objective-integrity-PASS.yaml b/src/validations/constraints/unit-tests/has-security-objective-integrity-PASS.yaml new file mode 100644 index 000000000..c509dc75c --- /dev/null +++ b/src/validations/constraints/unit-tests/has-security-objective-integrity-PASS.yaml @@ -0,0 +1,9 @@ +test-case: + name: Positive Test for has-security-objective-integrity + description: >- + This test case validates the behavior of constraint + has-security-objective-integrity + content: ../content/ssp-all-VALID.xml + expectations: + - constraint-id: has-security-objective-integrity + result: pass diff --git a/src/validations/constraints/unit-tests/has-security-sensitivity-level-FAIL.yaml b/src/validations/constraints/unit-tests/has-security-sensitivity-level-FAIL.yaml new file mode 100644 index 000000000..756fc8bdb --- /dev/null +++ b/src/validations/constraints/unit-tests/has-security-sensitivity-level-FAIL.yaml @@ -0,0 +1,9 @@ +test-case: + name: Negative Test for has-security-sensitivity-level + description: >- + This test case validates the behavior of constraint + has-security-sensitivity-level + content: ../content/ssp-all-INVALID.xml + expectations: + - constraint-id: has-security-sensitivity-level + result: fail diff --git a/src/validations/constraints/unit-tests/has-security-sensitivity-level-PASS.yaml b/src/validations/constraints/unit-tests/has-security-sensitivity-level-PASS.yaml new file mode 100644 index 000000000..be4216b92 --- /dev/null +++ b/src/validations/constraints/unit-tests/has-security-sensitivity-level-PASS.yaml @@ -0,0 +1,9 @@ +test-case: + name: Positive Test for has-security-sensitivity-level + description: >- + This test case validates the behavior of constraint + has-security-sensitivity-level + content: ../content/ssp-all-VALID.xml + expectations: + - constraint-id: has-security-sensitivity-level + result: pass