-
Notifications
You must be signed in to change notification settings - Fork 195
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
Cleanup NIST SP800-53 R4 catalog and low/moderate/high profiles #143
Comments
There are a bunch of Unicode "replacement characters" \u65533 (�) in the NVD source; these must be found and fixed. (Most seem to be an error for a right-facing quote or other "upper ASCII" character. If systematic (if this is due for example to an ISO8859-1 file being parsed as Unicode) it could be corrected in the parse. If not, some hand work is required. |
Testing shows if it's a garbled parse, it is unfortunately upstream from the NVD XML, so we will have to disambiguate and map these characters. (There appear to be 36 of them total.) |
04/26/2018 - Sprint 10 Progress Report |
4/26: Based on a conversation between Wendell, Peter, and myself (Brian), we provided a recommendation to Michaela and Dave that we adopt FedRAMP's parameter IDs for standardized parameter IDs in OSCAL. |
4/26/2018 Sprint 10 Progress Report Goal: Improve the data quality of the 800.53 catalog and profiles |
We discovered that selection parameters are not supported in the current SP 800-53r4 catalog examples. This pertains to issue #66. @wendellpiez is going to sketch and implement this feature before we meet the week of 4/30. |
5/2/2018 Sprint 10 Progress Report Goal: Improve the data quality of the 800.53 catalog and profiles The NVD XML->OSCAL extraction/enhancement pipeline currently produces the following output running over rev4: A 'publish' directory also placed there (temporarily) also shows the catalog in HTML (selection parameters not yet supported) Needs:
NB @brianrufgsa I put pointers in the parameter labels to their points of insertion. As of yet they are still one-to-one. If they can be refactored now is the time to think about it. (BTW, parameters can now link to parameters by way of the selection mechanism. So that could be useful.) What I did (quick summary): updated ID assignments; removed unneeded properties; added link relations; rewrote references as links to a 'references' tail section; implemented selection parameters including models and data extraction (including quasi-parsing of nested parameters in text inputs); mapped and handled character problems in a "correction" XSLT Once the changes are accepted we need new Issues (tasks) on updating schema docs, XSLTs and CSS. Note also 0% on updating the SP800-53 baselines, which come next. |
5/2: Matched all labels to parameters in accordance with naming convention. (100%) Nearly complete decomposing nested parameters. (80%) Working in database with plan to export to XML for incorporation in 800-53 catalog and High, Moderate, Low baselines. |
I just integrated our notes from the engineering meeting into the user story. |
@brianrufgsa Just to be clear, are you are working towards adding content to the FedRAMP profiles not modifications to the SP 800-53rev4 profiles? |
@david-waltermire-nist actually that is an important point, since the parameter labels and descriptions currently show hooks for @brianrufgsa, but perhaps do not (in the form given) belong in a published catalog. Cleaned-up and proper values for the catalogs is a different question from the FedRAMP values. The info here is useful, and we can pull it out (into a profile layer), but maybe we also need (separate question) canonical descriptions and labels for parameters in the catalog (the SP800-53 baselines have no parameter assignment/modification tmk). |
I can't fully accomplish the FedRAMP piece without the parameter references. I pro-actively went ahead and assigned them via a script, following our convention. Let's discuss today after we get through status. If we don't want/need what I'm doing for the 800-53 parameters, that's fine. It still helps me make progress on the FedRAMP work. |
@wendellpiez The PR in #158 does not show the progress you are reporting. Did you leave out committing the SP 800-53rev4 catalog updates in this branch? |
5/2/2018 - Sprint 10 Progress Report |
5/9/2018 Sprint 10 Progress Report Goal: Improve the data quality of the 800.53 catalog and profiles The PR includes miscellaneous schema updates as well as corrected samples for SP800-53. Exposed by the ID normalization is an issue with irregularities in the represented numbering of objectives. (Statements look okay.) So the generated ID is aligned with numbering given on the components inside some controls, but not others. not aligned:
aligned:
probably more are not aligned, than aligned. I am not sure this is a concern. An alternative would be to rewrite these IDs systematically off the given names (instead of basing them on the given hierarchy): they would still function as IDs for linking purposes. So objective AC-1(a)(1)[1] would have |
@wendellpiez I would prefer to have the hierarchy be correct and to base the labels off of that., We may need to add markup to set what label value to use. |
May 14 Sprint 10 Progress Report See PR #163 comments for more detailed notes tracking the remaining issues. Thanks to @david-waltermire-nist and @brianrufgsa for help here. Issues have now been resolved (as tracked on that page) while a couple have spun out to modeling issues (and will be noted and entered as such). A couple of new enhancements have also been made. Progress: catalogs 100%; profiles 100% For inspection at https://github.com/wendellpiez/OSCAL/tree/master/examples/SP800-53:
|
@wendellpiez Would the task of creating hierarchically correct IDs be easier if the control's ID is inherited fully and the 'obj' appears as a prefix? So objective AC-1(a)(1)[1] would have id=obj_ac-1.a.1.1 and objective SI-6(a) would have id=obj_si-6.a. |
5/17/2018 - Sprint 10 Progress Report
|
@iMichaela Nope, in this case producing either value (for a synthetic identifier) is the same amount of effort. Unfortunately the current best example for examination is not in the |
@wendellpiez The references are still located at the bottom of the catalog document. The rest of the catalog looks good from what I can see. Not 100% done, but maybe 99%. |
I did the references! Checking myself now -- oops they were done but not copied over now see wendellpiez@52db08b |
* Changes to SP800-53 addressing #143 * Adjustments to autonumbering in view of data anomalies * Schema updates to current models including mods and extensions to parameters, selection parameters * Updating profiles for SP800-53rev4 baselines (new IDs) * Improved baselines now assign priorities * Providing an index of parameters by their insertion points (nearby labels) * References now moved to top of the document * Corrected PE-13(2) punctuation error in parameter assignment that had been preventing downstream induction
@iMichaela Regarding your comments above:
|
@david-waltermire-nist Regarding your comments above:
|
With apologies if this is unhelpful, here's some (not beginner-level) XPath (evaluated over the current SP800-53 catalog XML):
So the values can be calculated for display. With regard to the second question, we now actually have two questions:
I think any consistent solution is fine but I note also (in case this helps address your concern @iMichaela) that in the SP800-53 data (XML version), an XPath expression Agree that it would be awesome to see functional requirements regarding all and any special structures in SP800-53 -- this kind of thing can be low-hanging fruit 🍌 🍎 🍐 for implementation, and can showcase the advantages of machine readability. |
User Story:
As an OSCAL consumer that needs 800-53 data, I have an accurate and usable OSCAL catalog and profiles for each 800-53 baseline (low/moderate/high).
Goals:
Design, document and implement a clean ID naming scheme
The following format will be used for IDs
Support the following parameter fields:
Create parameter entries for selection parameters using the valid values as the label
Remove baseline impact and priority properties out of current controls
Establish link relationships for all link elements in the 800-53 catalog
Design a reference list within the catalog model and move all document references to use this new feature
Dependencies:
None.
Acceptance Criteria
The text was updated successfully, but these errors were encountered: