オープンソース脆弱性検出の再発明

ツールを使用して自社のソフトウェアに含まれるオープンソースの脆弱性を検出してみたものの、結局、コンポーネント名とそれに一致するすべてのCVEのリストが分かっただけだったという経験はありませんか?FOSSIDのVulnSnippetFinderなら、スキャン対象がオープンソースのコードでも自社のコードでも、脆弱性の原因になる実際のコード行を見つけることができます。

FOSSID VulnSnippetFinder

どんなに高機能なものでも、脆弱性検出ツールが行う処理は、オープンソースコンポーネントを識別し、それらを公開リポジトリ(最も一般的には「National Vulnerability Database」、NVD)の既知の脆弱性リストに関連付けるというものです。

しかし、多くの場合、脆弱性に関連しているのはコンポーネント全体のうちの少数のファイル、場合によってはたった数行のコードだけなので、従来のツールでは、脆弱性リストは不正確ないっぽう、誤検出が多くて途方に暮れるというリスクがあります。

ここでFOSSIDの脆弱性スニペットファインダー、すなわち「VulnSnippetFinder」の登場です。VulnSnippetFinderは、脆弱性の原因になる実際のコード行(スニペット)を検出する市場初の革新的なツールです。さらに、VulnSnippetFinderはスキャン対象が既知のオープンソースコンポーネントでも未知のものでも、あるいは自社開発のコードでも変わりなく有効です。

従来のセキュリティスキャン

  • コンポーネント/バージョンに基づいて脆弱性を想定
  • 識別されたコンポーネントのバージョンが正しいことが前提。この前提が常に正しいわけではないため、誤った脆弱性セットが報告される可能性がある
  • コンポーネント全体が使用されていると仮定。実際には、オープンソースコンポーネントの一部(ファイルまたはスニペット)のみが使用される場合もある
  • 既知の脆弱なコンポーネントに一致するすべてのファイルを警告(誤検出)

FOSSID VulnSnippet Finder

  • 脆弱性の原因になる実際のコード行(スニペット)を検出
  • マッチするオープンソースとして誤ったコンポーネントまたはバージョンを選択するなどのよくある人的エラーを排除
  • 自社コードでも、既知または未知のオープンソースコンポーネントでもマッチを検出
  • 誤検出を削減
  • 派生物およびフォークの既知の脆弱性を検出

継続的インテグレーションに最適

VulnSnippet Finderは、特許取得済みのFOSSIDスキャンエンジンおよびオープンソースナレッジベースへのアドオンであり、FOSSIDのコマンドラインインターフェイス(CLI)から利用できます。

コマンド1つで脆弱なスニペットとのマッチを検出でき、マッチは脆弱性の情報とともにJSON形式でレポートされます。

(この記事は、FOSSID Blog 「Reinventing Open Source Vulnerability Detection」2019年9月3日 Fredrik Ehrenstrale 投稿記事をFOSSID社の許可を得て翻訳したものです。)