Google pushes bug databases to get on the same page for open-source security
- Reference: 1624539608
- News link: https://www.theregister.co.uk/2021/06/24/google_security_fix/
- Source link:
A schema defines the structure of a database. It's a blueprint for the objects within the database and it informs how data can be queried and exchanged.
The as-yet-unnamed [1]vulnerability interchange schema aspires to bridge gaps that make it difficult to connect current, fragmented vulnerability databases by providing a common interchange format. It aims to enforce software version specification in a way that matches the naming and versioning conventions that open source package ecosystems actually use.
[2]
As Google describes it, existing naming systems like the [3]CPE Product Dictionary don't provide an easy way to automatically map a CVE vulnerability listing to a package name and a set of versions in a package manager.
[4]
[5]
"With this schema we hope to define a format that all vulnerability databases can export," explained software engineer Oliver Chang, and principal engineer Russ Cox, in a blog post provided to The Register in advance of publication.
"A unified format means that vulnerability databases, open source users, and security researchers can easily share tooling and consume vulnerabilities across all of open source."
[6]
In so doing, Google is trying to provide a more comprehensive view of vulnerabilities in open source than existing approaches and to promote faster remediation via automation – which is critical for responding to problems in a timely fashion.
The schema is currently defined thus: {
"id": string,
"modified": string,
"published": string,
"withdrawn": string,
"aliases":
string
,"related":
string
,"package": {
"ecosystem": string,
"name": string,
"purl": string,
},
"summary": string,
"details": string,
"affects":
{
"ranges": {
"type": string,
"repo": string,
"introduced": string,
"fixed": string
}
,
"versions": string
}
,"type": string,
"repo": string,
"introduced": string,
"fixed": string
}
"references":
{
"type": string,
"url": string
}
,"ecosystem_specific": { see spec },
"database_specific": { see spec },
}
This is a JSON-based encoding format for database entries, which might be stored in different formats. The intention is not to mandate a single format but to standardize data exchange conventions.
Back in February, the tech giant released an [7]Open Source Vulnerabilities (OSV) database to allow developers to query vulnerabilities in the open source frameworks, libraries, and projects that they use. Simultaneously, the biz proposed a framework dubbed “ [8]Know, Prevent, Fix ” by which companies can take action to fix open source software flaws in a consistent, cohesive way.
[9]Seven-year-old make-me-root bug in Linux service polkit patched
[10]How to use Google's new dependency mapping tool to find security flaws buried in your projects
[11]Extra urgency in June's Patch Tuesday: Microsoft warns six more bugs are being exploited
[12]What happens when a security hole is fixed in WebKit's source but not released as a patch by Apple? Let's find out
In keeping with these goals, Google last week launched " [13]SLSA ," a software supply chain defense project.
[14]Go , [15]Rust , [16]Python , [17]DWF , and [18]OSS-Fuzz now support the OSV format for vulnerability records. NPM, GitHub, and Ruby currently rely on different vulnerability record formats, but may choose to adapt.
The OSV service offers an aggregated view of these vulnerability databases, visible via its [19]web interface or API.
[20]
Google's assorted security initiatives arrive in the wake of a series of serious attacks on the software supply chain and on US IT infrastructure. Chang and Cox note that the company's efforts align with the recent [21]US Executive Order on Improving the Nation’s Cybersecurity , which called for improved sharing of threat data. ®
Get our [22]Tech Resources
[1] https://docs.google.com/document/d/1sylBGNooKtf220RHQn1I8pZRmqXZQADDQ_TOABrKTpA/edit
[2] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_security/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=2&c=2YNSsGmtVc9wrF4a0VhSjdgAAAIw&t=ct%3Dns%26unitnum%3D2%26raptor%3Dcondor%26pos%3Dtop%26test%3D0
[3] https://nvd.nist.gov/products/cpe
[4] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_security/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44YNSsGmtVc9wrF4a0VhSjdgAAAIw&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0
[5] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_security/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33YNSsGmtVc9wrF4a0VhSjdgAAAIw&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0
[6] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_security/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44YNSsGmtVc9wrF4a0VhSjdgAAAIw&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0
[7] https://www.theregister.com/2021/02/11/google_osv_database/
[8] https://security.googleblog.com/2021/02/know-prevent-fix-framework-for-shifting.html
[9] https://www.theregister.com/2021/06/11/linux_polkit_package_patched/
[10] https://www.theregister.com/2021/06/04/google_open_source_insights/
[11] https://www.theregister.com/2021/06/09/june_patch_tuesday/
[12] https://www.theregister.com/2021/05/27/safari_webkit_bug/
[13] https://www.theregister.com/2021/06/18/google_slsa_supply_chain_rust/
[14] https://github.com/golang/vulndb
[15] https://github.com/RustSec/advisory-db
[16] https://github.com/pypa/advisory-db
[17] https://github.com/distributedweaknessfiling/dwflist
[18] https://github.com/google/oss-fuzz-vulns
[19] https://osv.dev/list
[20] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_security/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33YNSsGmtVc9wrF4a0VhSjdgAAAIw&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0
[21] https://www.federalregister.gov/documents/2021/05/17/2021-10460/improving-the-nations-cybersecurity
[22] https://whitepapers.theregister.com/
Yes, because a Date in json _is_ a string, as this proposal is the json format for transfer and not the db schema itself. What's more concerning is whether it complies with ISO 8601.
Mandatory [1]XKCD .
[1] https://xkcd.com/1179/
Then the schema should give the type as "date_string" with some clue as to format, ISO or otherwise, unless they are really expecting "ʎɐpuoɯ ʇsɐl" to be valid... :)
Gets my vote
Tracking vulnerabilities is currently a PITA and it shouldn't be. Google deserves a lot of credit for the work they've put into not just into highlighting but also into fixing and standardising security. A good example of enlightended self-interest. Computer security is already hard enough and due to get harder so that we could do with as few informational silos as possible.
OMG the modified date is a string
Who writes these ?