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

Prop for control implementation status #134

Closed
CloudBeard opened this issue Dec 1, 2023 · 6 comments
Closed

Prop for control implementation status #134

CloudBeard opened this issue Dec 1, 2023 · 6 comments
Labels
documentation Improvements or additions to documentation enhancement New feature or request triage Awaiting triage from the team

Comments

@CloudBeard
Copy link
Collaborator

CloudBeard commented Dec 1, 2023

Initial Thought

Create a Lula namespace for OSCAL props to extend OSCAL.

First example is to create an identifier for partially implemented controls. Could be picked up by tools but aslo humans to see that the control isn't fully implemented yet.

Creating a namespace would allow us to add more over time if/when we need to extend OSCAL for things specific to Lula.

Why

Currently the default NIST namespace only supports the prop name of markings.

There is not public documentation around best practices or standards yet.

Start norming around using custom props and/or creating issues with NIST to have them adopted where it makes sense.

What

Use the URI of https://lula.dev/ns/oscal (place holder for site) to start using custom props.

First prop:

 - name: implemented
    ns: https://lula.dev/ns/oscal
    value: partially
@CloudBeard CloudBeard added documentation Improvements or additions to documentation enhancement New feature or request labels Dec 1, 2023
@brandtkeller
Copy link
Member

Included in this statement of work would be:

  • Partially vs fully implemented identifiers (and dependency information for partial state
  • Support for validation "types" IE Healthcheck vs Override vs standard

@brandtkeller brandtkeller added the triage Awaiting triage from the team label Mar 29, 2024
@CloudBeard
Copy link
Collaborator Author

Updating from other issues:

Thinking items like: (some of this is out of scope for the issue)

If a control is partially implemented move that from remarks into props.

props:
  -name: implemented
    ns: https://lula.dev/ns/oscal
    value: partially

If a control is partially implemented or can only be partially automated and needs to be examined/interviewed to fully meet a control. (could pull this out of the validation manifest so its more focused on validations)

props:
  -name: method
    ns:  https://lula.dev/ns/oscal
    value: EXAMINE

If we add in several control-implementations: we can map more than just the ILs we need from NIST 800-53. Do all of a High/Moderate profile and add these on the controls that match that so when we use a manifest/CLI to say I want FedRAMP Moderate IL4 we can grab the IL controls from the NIST 800-53 controls.

props:
  -name: impact level
    ns:  https://lula.dev/ns/oscal/il
    value: 4

Maybe an edge case that im not 100% sure of yet but if its partially implemented but you know which other tool meets the other half use a prop to identify that. Its more relevant when evaluating on a SSP instead of a component definition if you can tie them together and have it come out in the SAR as implemented because it checks all of the validations that are grouped? Still not 100% sure on the looks yet, thinking having the UUID from the other may be needed but initial thoughts.

props:
  -name: implemented
    ns: https://lula.dev/ns/oscal
    value: partially
    group: authentication (thinkning keycloak and authservice?) 

Maybe put a prop on the component to create the "group" and from there frees up the implemented requirements to link UUIDs?

component-definition:
  uuid: 8a9a32e4-e847-4f59-8282-b1cbc8d4e98f
  metadata:
    title: UDS Capability Keycloak
    last-modified: "2023-12-01T20:09:06Z"
    version: "20231201"
    oscal-version: 1.1.1
    parties:
      - uuid: f3cf70f8-ba44-4e55-9ea3-389ef24847d3
        type: organization
        name: Defense Unicorns
        links:
          - href: https://defenseunicorns.com
            rel: website
  components:
    - uuid: 9f1c741f-caf0-4d67-8ffe-b0f180132f46
      type: software
      title: Keycloak
      description: |
        Keycloak is an open-source, self-hostable identity and access management tool.
      purpose: Provides users with secure authentication and authorization capabilities.
      responsible-roles:
        - role-id: provider
          party-uuids:
            - f3cf70f8-ba44-4e55-9ea3-389ef24847d3
       props:
         -name: supporting component
           ns: https://lula.dev/ns/oscal/supporting-component
           value: authservice
           group: authentication

Could also use it to add in any details we are missing when we need to make the jump to SSP/SAP/POAM. If its not in the catalog or dosen't make sense to augment that could add to props on the component definition.

I do think we take it a step further and the uri we use for the namespace either on our doc site or internal to the repo docs we add a doc to explain what its doing and what you can expect to see there.

@CloudBeard
Copy link
Collaborator Author

I believe determining tech/admin controls will need to go into props #237

@CloudBeard
Copy link
Collaborator Author

Possibly #327 for identifying multiple/different frameworks - this one could go other directions but props is one.

@CloudBeard
Copy link
Collaborator Author

During initial POC of report cmd #372 I think we will need to use props to add the data above like tech/admin, impact levels, partiall/fully implemented, and future items.

Current thought is on reporting tech/admin controls mapped in componenet definitions we'd need a way to label those. Would also allow others to challenge our thoughts on which are tech/admin and see X validation to support a stance one way or the other.

@brandtkeller brandtkeller changed the title Explore a Lula namespace for OSCAL props Prop for control implementation status Jul 25, 2024
@brandtkeller
Copy link
Member

@CloudBeard I'd like to close this issue:

  • We've implemented generic support for Lula props
  • There is a lot of scope wrapped into this issue that is outdated

I'll create a new issue to capture the discussion of supporting an "Implementation Status" of something to the effect of "partially vs fully" OR documenting this being mitigated by application/system locality and expectations.

If you agree then please close the issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request triage Awaiting triage from the team
Projects
Archived in project
Development

No branches or pull requests

2 participants