Google が OSV-Scanner を公開:OSS の脆弱性を網羅する分散型データベース

Google Launches Largest Distributed Database of Open Source Vulnerabilities

2022/12/13 TheHackerNews — 12月13日に Google は、さまざまなプロジェクトの脆弱性情報に簡単にアクセスするためのスキャナ OSV-Scanner の、オープンソース提供を発表した。Google のソフトウェア・エンジニアである Rex Pan は、「この Go ベースのツールは、Open Source Vulnerabilities (OSV) データベースを利用しており、プロジェクトの依存関係リストと、それに影響を与える脆弱性を結びつけるよう設計されている」と、The Hacker News に共有した投稿で述べている。


彼は、「OSV-Scanner は、開発者のパッケージ・リストと脆弱性データベースの情報との間のギャップを埋め、信頼性のある高品質な脆弱性情報を生成する」と述べている。その方法は、OSV.dev データベースから取得したデータを用いて、プロジェクト内の全ての依存関係をトレースし、関連する脆弱性を特定するというものだ。

さらに OSV-Scanner は、すべての主要言語/Linux ディストリビューション (Debian/Alpine)/Android/Linux Kernel/OSS-Fuzz などを含む、16 のエコシステムをサポートしていると Google は述べている。


その結果として、リポジトリとしての OSV.dev は、この1年で15,000 件から 38,000 件以上へと、セキュリティ・アドバイザリを増やしている。上位5位までを占めているのは、Linux (27.4%)/Debian (23.2%)/PyPI (9.5%)/Alpine (7.9%)/npm (7.1%) だ。

Google の次のステップは、CVE への正確なコミット・レベル・メタデータの追加などにより、高品質のデータベースを構築することで、C/C++ の欠陥に対するサポートになるようだ。


Google のサプライチェーン・セキュリティ強化のための取り組みである、Supply chain Levels for Software Artifacts (SLSA/salsa) を補完する、Graph for Understanding Artifact Composition (GUAC) が発表されてから、約2ヶ月後に OSV-Scanner は登場している。

先週に Google は、新しいレポート Perspectives on Security を発表し、改ざん防止/完全性の向上/潜在的脅威などに対するパッケージの安全性を確保するために、共通の SLSA フレームワークを開発/展開するよう、ユーザー組織に呼びかけている。

同社が提示した、その他の推奨事項としては、オープンソース・セキュリティに関する責任の明確化や、Log4j 脆弱性や SolarWinds インシデントなどが示したリスクに対処するための、より総合的なアプローチの採用などが挙げられる。

Google は、「一般的に、ソフトウェア・サプライチェーンへの攻撃を行うには、強力な技術的な適性と長期的なコミットメントが必要となる。したがって、この種の攻撃を実行する驚異アクターは、洗練された意図と能力を持ち合わせている可能性が高い。それらの驚異アクターたちは時間を惜しむことなく、顧客のネットワークや信頼されているサードパーティをターゲットにするため、大半の組織はソフトウェア・サプライチェーン攻撃に対して脆弱になる。そして、脅威アクターたちは、その種の信頼を悪用することで、最終的なターゲットのネットワークに深く入り込んでいく」と述べている。

OSS を介したサプライチェーン攻撃を防ぐための、Google の取り組みが継続されています。文中にも記されているように、SLSA があり、GUAC があり、そして OSV-Scanner がありというふうに、この問題に対する階層的な取り組みが進んでいるようです。さまざまなライブラリが、入れ子になっているパッケージが、OSS の共有/配布のスタンダードになっている以上、それらの関係を追跡するソリューションが必須となります。関連情報として、12月9日に「OSS リポジトリを悪用するサプライチェーン攻撃が増加中:ReversingLabs レポート」と、「OSS の乱用から生じる危険性:アプリ開発の 80% で依存しているという現実」という記事をポストしていますので、よろしければ、ご参照ください。

%d bloggers like this: