Reusability of Components #1637
Replies: 5 comments 16 replies
-
Related (but not necessarily CDEF-related): I intend to undo a previous decision which excised all non-baselined controls from the fundamental ARS 5 (derived from 800-53 rev5) control catalog. I recently noticed that someone at NIST failed to employ control SC-45 and its enhancements in SP 800-53B rev5. |
Beta Was this translation helpful? Give feedback.
-
Before we try to proffer an answer: the quick summary is: a |
Beta Was this translation helpful? Give feedback.
-
In the abstract isn’t the question when a component definition pulls in
controls from 2 different sources, even if they are human text
indistinguishable, they are still separate controls to a machine
“validation”. Therefore to reuse a component def and have all controls
satisfied, there may need to be some way to express/assert/test that
catalog A control X is equivalent to catalog B control Y?
This is in an attempt not to have duplicate effort and reduce bloat.
ASIDE: in maybe a different context, thinking about a compiled exe, if I
use function/class foo from lib X in one scope, and function/class foo from lib
Y, i by default get 2 different copies either statically linked in or 2
entries in some symbol lookup table for later dynamic loading. There might
be some equivalent to a gcc compile flag or linker/dlopen flag to override
the default. But I would need to tell the compiler or linker what I want.
Or is that different from the problem reported?
|
Beta Was this translation helpful? Give feedback.
-
@openprivacy - if this would be my case, I would need to ensure that either the 800-53 profile did not tailor the controls implemented by the component definition OR, the suggested implementations 'magically' matches the tailored control(s)
Since the controls are derived AND have the chance of being tailored in the profile, it most likely they are no longer equal. Sometimes an implementation might satisfy an equivalent controls by pure luck. So the system owner could use a CDef that sources NIST controls but ONLY as an example and not as a valid implementation. If you want to get fancy though, maybe a smart GRC tool could use NLP-based analysis to determine the deviation from the original NIST 800-53 control to determine if the existing information available in the CDef can be used as a suggestion or example or, if it will be more confusing, then it would provide no suggestions. In this case and the one above, while the available control implementation could be rendered as a suggestion, should not be used in an automatic fashion and the system owner will have to confirm the control he/she is implementing is the agency-profile control for which the suggested implementation is still good even though it was initially written for another 'version' of the same control.
If I would want to automate the process and populate the control implementations blindly, yes. BUT my system owner will still be responsible for accepting those implementations. These are my views and what I would do, based on my risk tolerance :) OSCAL is not prescriptive. RMF requires the tailored controls (agency-profile) to be implemented and not other variations of those controls. |
Beta Was this translation helpful? Give feedback.
-
I hope to update this comment with a more detailed answer, but I also want to work through an example. More on that to follow, but I started a branch this afternoon (very much not yet complete, just getting started) and embedded the CMSGov repo to work through the example to address what is possible, not possible, and what is ambiguous given your question. https://github.com/aj-stein-nist/oscal-content-forked/tree/1637-reusability-components More to follow. |
Beta Was this translation helpful? Give feedback.
-
Given SSP that imports agency-profile that imports 800-53-catalog, can the SSP's system-implementation reference a (reusable) CDEF whose control-implementation sources 800-53-catalog? (Somewhat related to #1177 and #1080)
Using files in https://github.com/CMSgov/ars-machine-readable/tree/main/ODP-extract as an example:
ars-5.0-moderate-catalog.xml
sourcesars-5.0-moderate-profile.xml
which importsars-5.0-catalog.xml
which is a “derivation of”NIST_SP-800-53_rev5_catalog.xml
ars-5.0-moderate-catalog.xml
can it contain CDEFs that sourceNIST_SP-800-53_rev5_catalog.xml
which would make them reusable as advertised?ars-5.0-moderate-catalog.xml
which limits its general reusability?Beta Was this translation helpful? Give feedback.
All reactions