Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[JSON] NIST 800-53 Rev 5 Extra Space between {{ insert: param, * }} ; and plus other spacing inconsistencies. #185

Open
9 tasks
nicpenning opened this issue Mar 12, 2023 · 4 comments
Labels
question The issue contains a question that needs to be answered.

Comments

@nicpenning
Copy link

nicpenning commented Mar 12, 2023

In regards to the NIST 800-53 Rev 5 catalog, it appears that there could be some inconsistencies with the spacing after the parameters that can be inserted when "and" is following the insert text that ends with a semi-colon ";". An example:

Using https://raw.githubusercontent.com/usnistgov/oscal-content/main/nist.gov/SP800-53/rev5/json/NIST_SP-800-53_rev5_catalog.json we see this:

Line   411:                         "prose": "Policy {{ insert: param, ac-01_odp.05 }} and following {{ insert: param, ac-01_odp.06 }} ; and"

The following are the amount of search results per variation of the insert params with "and" included:
103 hits : }} ; and"
0 hits :}}; and"
0 hits :}} ;and"
0 hits :}};and"
0 hits for all variations of any space between and "

The following are the amount of search results per variation of the insert params without "and" included:
0 hits on the text }} ; "
8 hits for }}; "
0 hits for }} ;"
389 hits for }};"

So as for the insert: param without the and and without the space we see these two variations:

Line    477:                         "prose": "the access control policy is disseminated to {{ insert: param, ac-01_odp.01 }};"
Line   3764:                         "prose": "system accounts are monitored for {{ insert: param, ac-02.12_odp.01 }}; "

The reason I noticed the spacing is primarily for the }} ; and" section because when I compare that text to the published NIST 800-53 Rev 5 Excel Spreadsheet this is the raw text:

"a. Develop, document, and disseminate to [Assignment: organization-defined personnel or roles]:
[...cut for brevity...]
1. Policy [Assignment: organization-defined frequency] and following [Assignment: organization-defined events]; and
2. Procedures [Assignment: organization-defined frequency] and following [Assignment: organization-defined events]."

Notice there is no space between [Assignment: organization-defined events] and the ;, however, when using OSCAL and generating this control, a space gets added and doesn't align with what NIST has published here: https://csrc.nist.gov/CSRC/media/Publications/sp/800-53/rev-5/final/documents/sp800-53r5-control-catalog.xlsx

Would it be appropriate to update the NIST 800-53 Rev 5 catalog to remove the space with the instances of }} ; and" and changing it to }};and"?

Then for final consistency change }}; " to }};"

Note: I did not look at the XML catalog to verify if these same spacing inconsistencies exist.

  • One volunteer developer will demonstrate how to use the Schematron to analyze the catalog, if the assigned developer is not familiar
  • Review the source of the reported problem in ( "prose": "the access control policy is disseminated to {{ insert: param, ac-01_odp.01 }};") and confirm where it is present:
  • Review with the team the potential root cause (source OSCAL catalog, conversion error, or both)
  • Make a potential fix with the proposed change in the OSCAL catalog
  • Make a potential fix with the proposed change in the relevant transformation
@nicpenning nicpenning added the question The issue contains a question that needs to be answered. label Mar 12, 2023
@Compton-US
Copy link
Contributor

Compton-US commented Mar 23, 2023

Just a note for future reference. This seems to be a good control statement to spot check for white space issues: SR-3(b) (from the xls of 800-53 Rev 5)

spreadsheet

[Assignment: organization-defined supply chain controls]; and
SR-3,Supply Chain Controls and Processes,"

a. Establish a process or processes to identify and address weaknesses or deficiencies in the supply chain elements and processes of [Assignment: organization-defined system or system component] in coordination with [Assignment: organization-defined supply chain personnel];

b. Employ the following controls to protect against supply chain risks to the system, system component, or system service and to limit the harm or consequences from supply chain-related events: [Assignment: organization-defined supply chain controls]; and

c. Document the selected and implemented supply chain processes and controls in [Selection: security and privacy plans; supply chain risk management plan; [Assignment: organization-defined document]]."

oscal-content

./src/nist.gov/SP800-53/rev5/xml/NIST_SP-800-53_rev5_catalog.xml:80109: (develop branch)
<p>Employ the following controls to protect against supply chain risks to the system, system component, or system service and to limit the harm or consequences from supply chain-related events: <insert type="param" id-ref="sr-03_odp.03"/> ; and</p>

@GaryGapinski
Copy link

GaryGapinski commented Mar 23, 2023

These XPath expressions have been — thrice — edited to correct errors. Competency is at an ebb tide.

Another way to observe superfluous spacing in the oscal-content XML documents: subject https://raw.githubusercontent.com/usnistgov/oscal-content/main/nist.gov/SP800-53/rev5/xml/NIST_SP-800-53_rev5_catalog.xml to the XPath expression //insert[following-sibling::text()[matches(., '\s\s$')]].

//insert[preceding-sibling::text()[matches(., '^\s\s')]] is analogous for preceding excess spaces.

I have previously been told that only the PDF versions of NIST special publications are normative — all others should be considered derivative and informative. 800-53 rev5 can be found here and it does not contain any instances of two spaces in a row.

@aj-stein-nist
Copy link
Contributor

Thanks for the tip @GaryGapinski, it could be useful.

@nicpenning
Copy link
Author

Greetings all, any updates or guidance on this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question The issue contains a question that needs to be answered.
Projects
Status: Further Analysis Needed
Development

No branches or pull requests

4 participants