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

"SBOM-Plus" #31

Open
sparrell opened this issue Jun 28, 2024 · 6 comments
Open

"SBOM-Plus" #31

sparrell opened this issue Jun 28, 2024 · 6 comments

Comments

@sparrell
Copy link
Contributor

Issue28 proposes we have a place to start defining terms.
Issue29 proposes to define the term "software bill of materials".

The industry has a problem at the moment with whether adding ancillary information (licensing, vulnerability, End-of-live/sales/security/engineering/..., provenance, pedigree, ...) is "part of the SBOM".

The issue is what to call these "SBOM Plus X" documents

I argue the document created with licensing is not an SBOM but a licensing document. Similarly with each of the other 'additions'.
This is analogous to a bill of materials is different from a price list, is different from an assembly drawing, etc.

@hepwori
Copy link

hepwori commented Aug 7, 2024

To recap the brief discussion in the OSIM TC meeting earlier today, I think we began to see agreement amongst participants that

  1. An SBOM (whatever that is, pending the outcome of Define SBOM #29) should contain some minimum set of information; such set to be determined
  2. A document which contains that minimum set and some other information is still an SBOM (and may also be other things)

@sparrell, in the meeting you mentioned having seen a CISA document laying out some version of (1). Participants recalled the NTIA "Minimum Elements" document, but not a CISA one — if you could share the CISA one I think that'd be helpful for the group.

fwiw, principle (2) above is in conflict with the position in this issue that a "document created with licensing is not an SBOM" and nor are documents "with each of the other 'additions'". I think that in the meeting you were OK with principle (2) prevailing here; is that correct?

@hepwori
Copy link

hepwori commented Aug 7, 2024

I should add that in the light of an "SBOM-Plus" in fact being still an SBOM, I'm not convinced that we need the term "SBOM-Plus" at all: that is, an SBOM that contains information beyond the minimum requirements is an SBOM, not an SBOM-Plus.

@sparrell
Copy link
Contributor Author

sparrell commented Aug 7, 2024 via email

@sparrell
Copy link
Contributor Author

Not the one I was thinking of but note that https://www.cisa.gov/resources-tools/resources/software-acquisition-guide-government-enterprise-consumers-software-assurance-cyber-supply-chain has come out from CISA, CSOC, & ITSCC. It is on an adjacent topic (software assurance - which they use a definition USG has used for awhile and we might want to add to our definitions) but has SBOM requirements, particularly about attestation, that we might want to take into account. I think if we do, the 'stochastic' vs 'immutable' parts become more important to delineate well in the info model.

@sparrell
Copy link
Contributor Author

sparrell commented Sep 3, 2024

Wrt: "A document which contains that minimum set and some other information is still an SBOM (and may also be other things)"

I see there being different aspects to the issues that I am having a hard time articulating. I'm going to use the term 'collection' to be the thing @hepwori is calling an SBOM wrt to the 'and may also be other things'. Ie Collection is the collection of all these other things together that we are calling an SBOM. And I'm going to use 'view' (or maybe 'profile' or hopefully someone has a better word) to be the different 'types'/views/profiles for each of the different needs. IE SBOM is the 'collection' and component/licensing/EoX/vulnerabilities/exploitability/.... are the different 'views'.

Personally I wish SBOM was the name of the 'component view' and some other name was the name of the 'collection'. But if we go with SBOM as the term meaning the collection, then we need to define the name for the 'view' that doesn't have the other stuff and is just the 'classic SBOM, ie the components'. So I'm calling that the component view or component profile.

I would argue that to be an SBOM, you need at least a rudimentary component view (may be just one component) to then attach the other views (eg licensing). But for some use cases and some views, you need a 'better'/'complete'/... component view. Eg for some licensing use cases, you just need the license of the thing you buy and don't need a complete component view (depending on contract T's and C's but assuming seller assumes risk if they sold something with wrong license due to some license issue in a component). But vuln management might need a 'complete' component view to know that CVE whatever doesn't impact the product.

@hepwori
Copy link

hepwori commented Sep 3, 2024

Yes, I think it makes great to sense to determine what minimum set of information goes into the "base profile" of an SBOM and what other "extended profiles" we'll need.

We might also think about the principles behind an SBOM. For example, I like the idea that SBOMs are descriptors of a software product — and for a given release version of that product are unchanging and immutable. That suggests amongst other things that information about vulnerability exploitability, or even EOL expectations, are a poor fit for SBOMs… since this is information that is liable to change after the SBOM is created and issued.

Of course, there is a ton of complexity hiding here in how we define "software product". See e.g., #29 (comment).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants