Skip to content

Other Framework Assessment Methods Blocked #2148

@brian-ruf

Description

@brian-ruf

Describe the bug

I am working with a catalog for PCI DSS v4.0.1.

The PCI DSS Framework explicitly defines three assessment methods:

  • interview
  • examine
  • observe

See https://docs-prv.pcisecuritystandards.org/PCI%20DSS/Standard/PCI-DSS-v4_0_1.pdf Section 10, Testing Methods for PIC DSS Requirements.

While I realize NIST RMF views examine and observe as identical, the PCI Security Standards Council views them as separate and distinct.

The OSCAL metaschmea is hard-coded with the NIST RMF assessment methods in the NIST RMF namespace (separate from the NIST OSCAL namespace). Any attempt to use other assessment method types in other namespaces incorrectly generates WARNING messages.

NOTE: These are not ERROR messages, thus do not block the content from being declared valid by tools such as OSCAL-CLI; however, the warning is incorrect when using non-NIST frameworks.

Who is the bug affecting

Authors and consumers of framework catalogs that have assessment method types that differ from NIST RMF.

What is affected by this bug

OSCAL Content, Metaschema

How do we replicate this issue

Attempt to use a construct such as the following in an OSCAL Catalog:

        <control id="req-a.b.c">
          <title>Requirement Title</title>
          <part name="statement" id="req-a.b.c_smt">
              <p>Requirement statement.</p>
          </part>
          <part name="assessment-method" id="req-a.b.c_tst">
            <prop name="label" value="1.1.1" />
            <prop name="method" value="observe" ns="http://non-nist.org/ns/oscal" />
            <p>Observe something.</p>
          </part>
        </control>

Expected behavior (i.e. solution)

Treated as valid OSCAL with no warnings or errors when validated with tools such as the OSCAL-CLI

Other comments

As this only produces warnings and not errors, it is not a critical error; however, it highlights the need to separate NIST RMF constraints from core OSCAL syntax.

Revisions

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions