Google が共有する脆弱性のためのオープンソースとは?

Google Shares Format for Open Source Vulnerability Data

2021.06/24 SecurityBoulevard — 今日、Google は、いくつかのオープンソース・コミュニティと共同で、オープンソース・ソフトウェアの脆弱性を記述するためのスキーマを発表した。Google の Staff Software Engineer である Dan Lorenc によると、「この脆弱性交換スキーマ (interchange schema) は、すべての脆弱性データベースがエクスポートできる標準フォーマットを定義している。

最終的な目標は、開発者が脆弱性の問題を、より簡単に認識できるようにすること、そして、問題の修復をより簡単に自動化できるような基盤を構築することにある」と述べている。このフォーマットは、実際のオープンソース・パッケージのエコシステムで使用されているネーミングや、バージョン・スキームと正確に一致する、バージョン仕様の施行を簡単にする。パッケージ・マネージャにおいて、脆弱性をパッケージ名やバージョンに対応させることは、脆弱性を記述するための標準的なフォーマットがなければ、自動化することが困難である。現時点で公開されている脆弱性データベースで、この新フォーマットに対応しているものは以下の通りだ。

・Go vulnerability database for Go packages
・Rust advisory database for Cargo packages
・Python advisory database for PyPI packages
・DWF database for vulnerabilities in the Linux kernel and other popular software
・OSS-Fuzz database for vulnerabilities in C/C++ software found by OSS-Fuzz

また、Google は、今年の初めに公開した Open Source Vulnerabilities (OSV) データベースの中に、これらの脆弱性データベースを、すべて集約したことも明らかにした。このデータベースは、ユーザー・インターフェースを介して、あるいは、Google が公開している一連の API を介して、プログラム的にアクセスすることが可能となる。

この脆弱性スキーマの仕様は、すでに何度か検討されているが、Lorenc によると、Google は仕様の最終決定に向けて、さらなるフィードバックを求めているとのことです。数多くのオープンソース・ソフトウェアの脆弱性が、プロダクション環境で修正されない理由の1つとして、特定のプロジェクトから取得したコードのサブセットが、現実のアプリケーションにパッケージされているかどうかを、判断できないことが挙げられます。

実際のところ、開発者は、自分が採用したコードのサブセットが、新たに発見された脆弱性の影響を受けているかどうか分からない、セキュリティ警告を無視してしまうこともあるようです。Lorenc は、OSV データベースや、ソフトウェア部品表 (SBOM) の記述方法などを、標準化のための他の試みと組み合わせた、標準フォーマットの重要性を指摘しています。このところの、大きな騒ぎになっている情報漏えい事件により高まっている、ソフトウェア・サプライチェーンに対する懸念を払拭するためにも、この種の取り組みが有効だと述べています。

%d bloggers like this: