Conversation
Adding a new RFD to create an "assertion framework"
|
Some points to consider post meeting on Jan 15 1600 hrs.
|
|
Rendered version for ease of reading: Full disclosure before my comments; I have not yet read the My comments on reading the rendered RFD: Governance is the real sticking point though. I'm not in love with the idea of a totally unrestricted approach to namespaces/definition urls. I'm also aware of the friction that can arise from trying to add a value to an enum though so..... I dunno. Some comments on @sei-vsarvepalli 's comments:
How does the analyst know an
Requiring permalinks is not enforceable and asking for such a requirement is not reasonable. If anything CVE services could cache the content at the other end of the link. Perhaps a future improvement could be to define a structure for what's expected at the other end of that link (markdown, json, yaml, specific fields, whatever).
Restrict to ISO 639 values? |
Adding RFD for vulnerability relationships. per issue CVEProject#451
This reverts commit f82b831.
|
One thing that came up as I was thinking of a use case today is adding a I think this is more applicable for frameworks that would allow multiple values per key, but I do think it may help the SSVC case to communicate partial knowledge or information. For example: Although, since the second and third relationships for One specific use case where this came up is if we were trying to enumerate something like prerequisites to exploitation. For example, let's say we know for sure that we can execute code remotely, but only if there is a specific configuration and we know it's possible to exploit before authentication: Other points from @sei-vsarvepalli:
|
|
Jay, I think you and i have discussed some of these already, but thought i would post my original takeaways for everyone else to see. After reading through the Assertion Framework RFD again and discussing it with a few others, I have come away with some additional questions and thoughts. One thing that I have wrestled with multiple times in the past is whether the JSON should be considered the presentation of the CVE data. Is the CVE Record JSON our data storage and transfer mechanism, or should it be considered the presentation of the CVE Record? My current thinking is that it’s the former and NOT the latter. With that in mind, does the surface area or number of fields within the JSON schema really make a difference to the average consumers (the 80%) of CVE Records? In other words, are the average users/defenders looking directly at the CVE Record JSONs, or are they viewing the web pages on NVD/cve.org or looking at a page in their security tool that has presented the information in yet some other visual way. Which users/personas would directly benefit from implementing this proposal? Would adjusting how metric and tag data are stored within the CVE Record make a difference in how the average CVE consumers ingest the data today, or would our time and effort be better spent implementing new fields that capture data not yet present in the schema (e.g., remediation or action items)? I know that there are some power users that work directly with the CVE JSON and may see benefit from this proposal, but my understanding is that this is a much smaller subset of consumers? Maybe a next step is to have a conversation with the CWG to determine how the JSON Records are used by the average CVE consumer and where this issue falls on their radar, if at all. Answering some of these questions would not only help with understanding value of this RFD proposal, but could help us figure out how/if to proceed with many other CVE Record Format JSON proposals. Last, this is a fairly big change and if we did decide to implement it would definitely need to be part of a major version update. I know you mentioned it but wanted to emphasize for the comment readers. |
This RFD introduces a definition-driven Assertion Framework to make CVE data more machine-usable while reducing schema churn and downstream consumer processing burden. The framework adds a new, optional “assertions” field to the CNA (and ADP) container. Each assertion group is a small, regular, schema-validated structure whose keys and value constraints are governed by a referenced, versioned Assertion Definition Document.