Zakelijk auteur en expert, H. James Harrington, zei ooit: “Als je iets niet kunt meten, kun je het niet begrijpen. Als je het niet kunt begrijpen, heb je er geen controle over. het, je kunt het niet verbeteren.” Hij had gelijk. En Google volgt dit advies op door een nieuwe manier te introduceren om de open-sourcebeveiliging te versterken door een schema voor het uitwisselen van kwetsbaarheden te introduceren voor het beschrijven van kwetsbaarheden in open-source-ecosystemen.
Dat is heel belangrijk. Een probleem op een laag niveau is dat er veel databases met beveiligingsproblemen zijn, er is geen standaard uitwisselingsformaat. Als u informatie uit meerdere databases wilt samenvoegen, moet u elke database volledig afzonderlijk behandelen. Dat is echt een verspilling van tijd en energie. U moet op zijn minst parsers maken voor elk databaseformaat om hun gegevens samen te voegen. Dit alles maakt het systematisch volgen van afhankelijkheden en samenwerking tussen kwetsbaarheidsdatabases veel moeilijker dan het zou moeten zijn.
Google bouwde dus voort op het werk dat het al heeft gedaan met betrekking tot de Open Source Vulnerabilities (OSV)-database en de OSS-Fuzz-dataset van beveiligingsproblemen. Het Google Open Source Security-team, het Go-team en de bredere open-sourcegemeenschap hebben allemaal geholpen bij het maken van dit eenvoudige schema voor het uitwisselen van kwetsbaarheden. Terwijl ze aan het schema werkten, konden ze nauwkeurige kwetsbaarheidsgegevens communiceren voor honderden kritieke open-sourceprojecten.
Nu zijn de OSV en het schema uitgebreid naar verschillende nieuwe belangrijke opensource-ecosystemen: Go, Rust, Python en DWF. Deze uitbreiding verenigt en aggregeert hun kwetsbaarheidsdatabases. Dit geeft ontwikkelaars een betere manier om hun beveiligingsproblemen op te sporen en op te lossen.
Dit nieuwe kwetsbaarheidsschema is bedoeld om een aantal belangrijke problemen met het beheer van open-source kwetsbaarheden aan te pakken. Het:
Dwingt versiespecificatie af die precies overeenkomt met naamgevings- en versieschema's die worden gebruikt in echte open-sourcepakketecosystemen. Het matchen van een kwetsbaarheid zoals een CVE met een pakketnaam en een set versies in een pakketbeheerder is bijvoorbeeld moeilijk om geautomatiseerd te doen met behulp van bestaande mechanismen zoals CPE's. Kan kwetsbaarheden in elk open source-ecosysteem beschrijven, zonder dat er ecosysteemafhankelijke logica nodig is om ze te verwerken. Is gemakkelijk te gebruiken door zowel geautomatiseerde systemen als mensen.
Kort gezegd, zoals Abhishek Arya, de Google Open Source Security Team Manager, in een opmerking bij het specificatiemanuscript schreef: “Het is de bedoeling om een eenvoudig schemaformaat te maken dat nauwkeurige metadata van kwetsbaarheden bevat, de nodige details die nodig zijn om de bug te verhelpen en is een lage belasting voor het open source-ecosysteem met beperkte bronnen.”
De hoop is dat ontwikkelaars met dit schema een indeling kunnen definiëren die alle databases met kwetsbaarheden kunnen exporteren. Een dergelijk uniform formaat zou betekenen dat programmeurs en beveiligingsonderzoekers gemakkelijk tooling- en kwetsbaarheidsgegevens kunnen delen met alle open-sourceprojecten.
De specificatie van het kwetsbaarheidsschema heeft verschillende iteraties ondergaan, maar is nog niet voltooid. Google en vrienden nodigen uit tot verdere feedback naarmate het dichterbij komt. Een aantal openbare kwetsbaarheidsdatabases exporteren dit formaat tegenwoordig al, en er zitten er nog meer in de pijplijn:
Go-kwetsbaarheidsdatabase voor Go-pakketten
Rust-adviesdatabase voor Cargo-pakketten
< p>Python-adviesdatabase voor PyPI-pakketten
DWF-database voor kwetsbaarheden in de Linux-kernel en andere populaire software
OSS-Fuzz-database voor kwetsbaarheden in C/C++-software gevonden door OSS-Fuzz
De OSV-service heeft ook al deze kwetsbaarheidsdatabases samengevoegd, die kunnen worden bekeken op de web-UI van het project. De databases kunnen ook worden opgevraagd met een enkele opdracht via de bestaande API's.
Naast de bestaande automatisering van OSV heeft Google meer automatiseringstools gebouwd voor het onderhoud van kwetsbaarheidsdatabases en deze tools gebruikt om de Python-adviesdatabase van de community op te starten. Deze automatisering neemt bestaande feeds, stemt ze nauwkeurig af op pakketten en genereert vermeldingen met nauwkeurige, gevalideerde versiebereiken met minimale menselijke tussenkomst. Google is van plan deze tooling uit te breiden naar andere ecosystemen waarvoor er geen bestaande database met kwetsbaarheden is of waarvoor weinig ondersteuning is voor doorlopend databaseonderhoud.
Deze inspanning sluit ook aan bij het recente Amerikaanse Executive Order on Improving the Nation's Cybersecurity, waarin de noodzaak werd benadrukt om belemmeringen voor het delen van dreigingsinformatie weg te nemen om de nationale infrastructuur te versterken. Deze uitgebreide gedeelde kwetsbaarheidsdatabase markeert een belangrijke stap in de richting van het creëren van een veiligere open-sourceomgeving voor alle gebruikers.
Wil je meedoen? Je zou moeten. Dit belooft open-source software, wat uw project ook is, veel gemakkelijker te beveiligen.
Verwante verhalen:
Open-source beveiliging: Google heeft een nieuw plan om aanvallen op de toeleveringsketen van software te stoppen CloudLinux brengt UChecker-beveiligingstool uit voor Linux-servers Nare beveiligingsbug op rootniveau van Linux-systeem onthuld en gepatcht
gerelateerde onderwerpen:
Enterprise Software Security TV Data Management CXO Datacenters