Open sei-vsarvepalli opened 2 years ago
@sei-vsarvepalli it is just an example stated, I understand, but the values look a bit volatile. Can you maybe kindly provide a link to a schema file? Poking around in the repository I found many interesting things but no schema definition I recognized. Thanks. That would help me - and I guess the other TC members as well - a lot to support you in your endeavor.
@sei-vsarvepalli I like the idea of including SSVC - it was already on the list. However, I had a look at the schema and IMHO we need to work a little bit on it before we can include that. I'm happy to help with the work one we have the CSD02 out. Maybe that including SSVC is something for CSAF 2.x?
Here are some points, I think we need address:
id
(Why is this mandatory, at least in the computed one?)Hello @sthagen
Thanks for such a quick response. The schema for the "content" object comes from here. The "metrics" is a way to potentially update your schema to provide score containers that can be SSVC or other options like EPSS that are being explored as potential candidates for the challenging vulnerability prioritization problem.
An example result that uses a computed schema is in the link below:
@sei-vsarvepalli I like the idea of including SSVC. However, I had a look at the schema and IMHO we need to work a little bit on it before we can include that. Maybe that's something for CSAF 2.x?
Here are some points, I think we need address:
- Schema draft: That should be updated to 2020-12 as draft-04 is incompatible. (Just a minor one.)
- documentation: What are the field? How should they be used?
- precedence (vector vs single points)
- validation
- usage of
id
(Why is this mandatory, at least in the computed one?)
Hello Tomas,
The id field is unique identifier for each vulnerability.
"id": {
"type": "string",
"description": "Identifier for a vulnerability could be CVE, CERT/CC VU#, OSV id, Bugtraq etc."
},
As far as other issues CSAF current scores
object only has CVSS as the possibility as I understand. I recommend either extending that to be more like "metrics" or if you feel like CVSS actually is the correct way to "score" a vulnerability, consider additional field metrics perhaps?
Thanks Vijay
The schema seems to add a very open extension point. This producers can already achieve by using the non-strict CSAF mode, where they can inject any objects they like and that do not conflict with specified names (per the CSAF version in use - currently 2.0
).
I can very well imagine that future CSAF versions will introduce a metrics
Element - a common trait these days - with exactly that name (in SARIF we also discuss this as candidate extension of the existing format version.
So, maybe you want to inject with a safer name, decorated with a namespace guard?
When the CSAF v2.0 iteration is done, maybe we can exchange more specific ideas on how to define real metrics that are both useful to produce and (which I am missing from the given schema and examples) automate.
Hello @sthagen
Thanks for considering this and the option to use the "non-strict" CSAF schema. I had some discussions with @tschmidtb51 as well on potential way forward into CSAF 2.x as it evolves as well (like you mentioned).
Finally, the result we are really after is to enable operators to prioritize vulnerabilities. So even if we integrate in the non-strict CSAF schema, we would be in touch with your team so there is opportunity to enrich vulnerability data and provide actionable feed to the operations.
Thanks Vijay
Some proposals for SARIF to offer harmonized/simplified/unified scales for metrics are:
The initial use cases are driven by learnings/needs from GitHub Advanced Security's code scanning feature.
Updating this feature request with:
Plus one to wanting SSVC support in CSAF, possibly via a somewhat generic "metrics" feature (metrics could include various versions of CVSS, SSVC, others in the future), this belongs within the vulnerability node
SSVC JSON schema is being updated: https://github.com/CERTCC/SSVC/issues/576
I'm not sure how to implement SSVC as "non-strict" CSAF but am exploring that option. Another hack would be to add a vulnerability note containg terse a SSVC vector string as the description.
@sthagen, @santosomar: We should discuss this request in our next TC meeting.
Absolutely! Consider it in the agenda. Great suggestions and conversation here!
Thank you all One small update from earlier conversation - Vector Representation of SSVC is currently not quietly fully baked - https://github.com/CERTCC/SSVC/issues/333 . But a full JSON representation now exists and hopefully will be part of projects like vulnrichment and VINCE.
@sei-vsarvepalli Thank you for pointing that out. If the TC decides to include that (which I hope), I'll probably come back to you to clarify any open question.
Pursue this with https://github.com/oasis-tcs/csaf/issues/803 , which has more current information and the updated schema. I recommend closing this issue in favor of the #803
CSAF team,
The CSAF scores object https://github.com/oasis-tcs/csaf/blob/164cad8c37edd1265900f6ca3ca3fa3ff84f1a2e/csaf_2.0/json_schema/csaf_json_schema.json#L1255 currently support cvss_v2 and cvss_v3. CERT/CC is also exploring Stakeholder Specific Vulnerability Categorization (SSVC) which attempts a different approach for prioritizing a vulnerability.
We have a JSON schema, definition and examples of such scores available at CERT/CC's Github page https://github.com/CERTCC/SSVC. I would like to learn the best ways to represent such data in CSAF.
An example is shown here for convenience using an array for fields under the property called "metrics". Note: the SSVC decisions can have multiple values for a single vulnerability by CVE) or a group of vulnerabilities (say by CERT''s VU#). SSVC also have a timestamp field which can be used to update a vulnerability's computed prioritization.
Thanks Vijay