Warning: The post below starts on an optimistic note but ends on a pessimistic one. Parental discretion is advised.
Yesterday, Cisco made an important
announcement, although people who aren’t VEX addicts probably didn’t
see it and if they did, it didn’t register as important. I had been looking for
the short announcement about VEX that Cisco made a few weeks ago and found it
odd that it didn’t appear in searches on Google or the Cisco web site. However,
I see now that yesterday’s announcement filled in the details of the previous
announcement, which was just a placeholder for the real thing.
The announcement was written by
Omar Santos of Cisco, who is also the leader of the OASIS CSAF project. CSAF is
the leading general vulnerability reporting format, and the VEX “profile” in
CSAF adapts that format to the more limited needs of VEX (mainly, it limits the
large number of status designations in the full CSAF format to four: “affected”
(i.e., exploitable), “not affected”, “fixed” and “under investigation”).
The announcement is of the “Cisco
Vulnerability Repository” (CVR), although I want to point out that name is a
mistake. The software world has enough vulnerabilities that we don’t need to
have Cisco create a repository to protect them 😊! The best name would be “Cisco VEX Repository” (which
doesn’t require a change of acronym, BTW), since that’s what it is. A second-best
name would be “Cisco Vulnerability Advisory Repository” or just “Vulnerability
Advisory Repository”.
In any case, why do I think this
is a significant announcement? For one thing, this is just the second
announcement by a major software or device supplier (Cisco is both, of course) that
they will be producing VEX documents for customers regularly. The first
announcement was by Red Hat in February; however, within the last two months
Red Hat changed their mind about VEX (nothing wrong with that, of course!) and renamed
the documents they were calling VEX back to their previous name: security
advisories.
However, I believe that RH will
soon announce VEX documents that are a lot like the ones Cisco just announced –
since they are big supporters of CSAF themselves and they have a seat on the
CSAF board.
The announcement lists three types
of vulnerabilities that will trigger VEX notifications:
- Vulnerabilities
found in the Cybersecurity and Infrastructure Security Agency (CISA)’s
Known Exploited Vulnerabilities (KEV) Catalog
- Vulnerabilities
that Cisco has determined to be high-risk
- Vulnerabilities
whose status has been requested using CVR
This clarifies what Cisco's VEX
strategy is (and I think it's a good one): Instead of putting out VEX documents
that discuss the status of multiple vulnerabilities in a particular product
(which is the strategy that a lot of people have been thinking of), this lists
the status (exploitable or not) of one significant vulnerability in one or more
products. The example in the announcement utilizes the "product
family" capability of CSAF, since it applies to the entire Catalyst 9800
Series family of wireless controllers.
Perhaps the biggest problem with
VEX is that user organizations already face a huge backlog of unpatched
software vulnerabilities. If they are to learn about new ones, they need to
know just the ones that pose a significant risk to them. Meanwhile, software
suppliers who have looked at creating VEXes (and very few have even looked at
it, I’m sure) have realized that determining whether a particular component
vulnerability is exploitable in a particular product/version is hard and
time-intensive (unless they want to adapt the “shortcut” I described in my most
recent post,
which will require them to patch a lot more component vulnerabilities than
otherwise. I don’t know whether that’s a good trade-off or not, of course; that
will depend on lots of different factors).
Cisco is clearly quite aware of
this problem, which is why they have stated up front that they will only
consider certain component vulnerabilities for remediation, meaning they won’t
even bother to determine whether any others are exploitable or not. I think
other suppliers should emulate what Cisco has done here: state very clearly which
vulnerabilities they will consider for remediation and which they won’t. Their
customers should appreciate this, since they won’t be burdened with a lot of
patches that mitigate little risk (of course, the risk to Cisco in this
strategy is that a high-risk vulnerability like log4shell will slip through
their net and not be patched. But given the level of awareness of
vulnerabilities in general nowadays, it’s likely that any such vulnerability
will quickly be pointed to by their customers).
Regarding Cisco’s three criteria
for considering a vulnerability:
1.
Almost by definition,
the KEV catalog is a list of the most risky vulnerabilities
2.
Cisco’s own list of
high-risk vulnerabilities is important, since presumably Cisco knows best which
risks to its products are high ones; but,
3.
I especially like the
third category: "vulnerabilities whose status has been requested using
CVR". This gives Cisco’s customers a voice in deciding which
vulnerabilities to consider for remediation. Moreover, notice the announcement
doesn’t say that customers will only be able to access VEX information for
products they own (in fact, it doesn’t sound like Cisco would even have any way
to implement that policy, since they’re reporting VEX information by
vulnerability, not by product). And because a large percentage of all
organizations in the world are customers of at least one Cisco product or
service, in theory they will all be able both to make suggestions for
vulnerabilities to address and to see all VEX notifications (although I admit I’m
guessing this is the case).
So I think this announcement might
set a pattern for a lot of other organizations; at least I hope it does.
But there’s a downside to this
announcement as well. It can be summarized in three questions:
1. Omar Santos is chairman of the CSAF committee. Pete Allor
of Red Hat is one of the most active participants on that committee. Oracle has
also started putting out CSAF VEX documents, and they also have a long history
with CSAF and its predecessor format CVRF. That’s great.
However, CSAF is an extremely
complex format, as a quick skim through the 100-page-plus[i] draft specification
will quickly reveal. Even more importantly, figuring out how to fill out the
mandatory “product tree” and “branches” fields requires close study of about 15
pages of very dense text within the CSAF format, and even then there are so
many options available that a supplier that doesn’t benefit from long
experience with CVRF/CSAF is unlikely to devote the time to do that. After all,
nobody has a gun to their head, requiring them to produce VEX documents at all,
let alone CSAF VEXes. Why go through the aggravation?
Aha, but you don’t need to know
all of CSAF to create a VEX in that format. What about the VEX profile?
That limits the fields you need to put in the document (which is good), but it omits mention of
the need for the “baseline” elements required in every CSAF document, including
product tree and branches.
2. Then, what about a tool to create a VEX document in CSAF?
There are no VEX-specific tools; in fact, I know of no tools that create any
type of CSAF document – meaning they ask the supplier questions about what they
want to include (products, vulnerabilities, etc.) and then put them into a CSAF
document, requiring no direct CSAF knowledge on the VEX author’s side. The only
CSAF tool I know of is Secvisogram.
This is a good editor, but it requires knowledge of the CSAF format. Again, it
will be quite a hard row for an organization to come up to speed on creating
CSAF documents of any type, unless they have somebody that can devote a
substantial block of their time to learning the format and creating documents
with it – using Secvisogram, faute de mieux.
3. But let’s say a supplier has created a CSAF VEX document?
What are their customers going to do with it? Are there low-cost, commercially-supported
tools available that will ingest SBOMs and CSAF VEX documents, then provide the
user with a continually updated list of exploitable component vulnerabilities
in a product/version they use, which has a recent SBOM? No, there aren’t. How
about open source tools that do that? Again, no.
So, how about any tools
that utilize CSAF documents for security analysis purposes? Here is
the official list of CSAF tools. Do you see anything that meets that criterion?[ii] I don’t.
In fact, I’ve asked several large
suppliers that produce CSAF documents (whether VEX or just vulnerability advisories
– which is the main use case for CSAF, of course) what their users do with them.
They honestly don’t know – except that some customers may have developed
their own tooling for that purpose.
So, here are the two big problems
with CSAF VEX (these each have several parts, and a small number of those parts
also apply to the CycloneDX VEX format. However, I know it is many times easier
both to create and to utilize CDX VEX documents than CSAF VEX documents):
1.
Any software or device
supplier that wants to learn how to create VEX documents in CSAF needs to be
prepared to spend a lot of time doing so. I doubt many suppliers will be
interested in doing that.
2.
Those suppliers that
distribute VEX documents would be better off developing a PDF format and sending
PDF VEXes out by email (or just putting them on a portal). I know one very large device maker that is
doing that with SBOMs: They produce both JSON-based and PDF-based SPDX SBOMs
and make them both available on their portal. They report much better uptake
for the PDF files.
So – as often happens in this blog
– we have run up into one of the “showstopper” problems for SBOMs and VEX: the
lack of tooling, especially the lack of low cost, commercially supported tools
that are essential for widespread use of both SBOMs and VEX documents by organizations
whose primary business isn’t software development (i.e., at least 98% of organizations,
public and private, worldwide).
Can this problem be solved? It can
be partially mitigated, but substantial mitigation (I won’t even use the word “full”)
also requires addressing the other showstopper problems, especially the naming
problem. One partial mitigation would be a “playbook” for CSAF VEX, like
the “playbooks” that were developed during the NTIA SBOM initiative (here are
the two most important of these: for
producers and for
consumers).
I know that a draft playbook for
Cyclone DX VEX has already been developed. However, I don’t know of any current
attempt to develop a playbook for CSAF VEX. One is sorely needed.
I told you this post would be
depressing, but you didn’t believe me!
Any opinions expressed in this blog post are strictly mine and are not necessarily shared by any of the clients of Tom Alrich LLC. If you would like to comment on what you have read here, I would love to hear from you. Please email me at tom@tomalrich.com.
[i] I’m guessing at the page count, since the spec doesn't have page numbers.
[ii] I
believe there are a few vulnerability scanning tools that can ingest CSAF files
and use the information in them to remove non-exploitable vulnerabilities from scanning
results. This is certainly a useful result, but it has nothing to do with SBOMs
or product components.
No comments:
Post a Comment