80% of Software Codebases Contain at Least One Vulnerability
2022/04/13 DarkReading — 一般的なコードベースにおけるオープンソース・ソフトウェアの比率は、2021年に 78% にまで拡大したが、古くなりメンテナンスされなくなったコンポーネントを、つまり、潜在的に脆弱なソフトウェアを使い続ける企業が多いことが、新しい調査で明らかになった。今週に発表された Synopsys の年次レポート Open Source Software Risk Analysis (OSSRA) によると、ソフトウェア・コードベースの 81% は、少なくとも1つの脆弱性を含んでいる。また、85% は4年以上前のオープンソース・コンポーネントを使用し、88% は過去2年間に開発が行われていないコンポーネントを含むという。
しかし、昨年の調査結果である、コードベースの 84% に少なくとも1つの脆弱性があり、91% は過去2年間に開発活動がなかったという状況と比較すると、多くのデータ・ポイントで改善が見られる。
全体として、このデータから示唆されるのは、それぞれの企業は脆弱性に対して取り組み始めたばかりであり、まだ長い道のりが残されていることだと、Synopsys の Principal Security Strategist である Tim Mackey は述べている。
さらに彼は、「ソフトウェア・サプライ・チェーンの観点から、人々が行動を起こそうとする考え方は、ある程度は浸透してきた。しかし、大きな課題へと発展する段階には至っていない。つまり、オープンソース・コンポーネントの多くにおいて、人々は Component-X を使おうと考えるのではなく、彼らが使うライブラリに含まれるモノに過ぎない」と指摘している。

Synopsys のレポートは、M&A の際に行われる一般的な調査において、同社のサービスから得られたデータに基づくものとなる。したがって、ソフトウェアのセキュリティとライセンス/コンプライアンスの状況を知る上で、ユニークなものとなっている。
コンサルティング会社である PricewaterhouseCoopers によると、企業買収とプライベート・エクイティと特別目的買収の激しい競争に、2021年の M&A 件数は 24% 急増した。このような買収活動の活発化により、コードベースのスキャンが急増した。Synopsys は、17業種にわたる 2,400以上の商用コードベースをスキャンしたが、その総量は 64% の伸びを示したという。
全体として、監査対象のコードベースにおいては、ハイリスクの脆弱性の数を下げる改善が見られ、ハイリスクの脆弱性 Top-10 の比率は大幅に低下したと、このレポートは述べている。たとえば、2020年のデータでは、29% のコードベースにおいて、最も一般的な脆弱性を含むコンポーネントが存在していたが、2021年のデータでは、その比率が僅か 8% にまで低減している。
このレポートは、「再発するハイリスクの脆弱性は、その全てが大幅に減少している。高リスクの脆弱性を迅速に特定し、優先順位をつけ、緩和することで、組織にとって最大の脅威となるリスクに対処することが可能になる」と述べている。
継続的なオープンソースの普及
この改善は、企業におけるオープンソース・ソフトウェアの利用が、深化していることに起因する。2019年に Synopsys が監査したコードベースのうち、オープンソースが占める割合は 70% だったが、2020年 は 75% に上昇し、2021年は 78%である。つまり、企業にソフトウェアのセキュリティは、開発チームが使用するオープンソース・コンポーネントの状態に大きく依存している。
しかし、OSS プロジェクトの品質は、特にセキュリティに関して言うなら、依然として不均一である。たとえば、ソフトウェア・プロジェクトの 23% は、コードの大部分を一人の開発者に依存しているため、自社ソフトウェア・コンポーネントとして、それらのライブラリを使用する企業にとっては、潜在的なリスクになることが報告されている。
残念ながら、オープンソースのコンポーネントや依存関係から生じる最も重大なリスクを、ユーザー企業は排除できていない。コードベースの 88% に古いバージョン、つまりアップデートが適用されていないコンポーネントが含まれているため、開発で使用するソフトウェアとプロジェクトを、Software Bill of Materials (SBOM) と用いて追跡する必要が生じる。
SBOM がさらに増える?
今後の1〜2年の間に、SBOM はより一般的になるだろうが、それでも問題は解決しないとマッキー Tim Mackey は述べている。彼は、「最も大きな問題は、ほとんどの人々が、SBOM の使い方を知らないことだ。SBOMは、誰も読まない使用許諾契約書のようなドキュメントでもあり、それを用いて何をすべきかは知らないが、SBOM には魔法の呪文があると聞いたことがあるので、それを欲しがるが、それを使うためのプロセスが構築されていない」と指摘している。
自社のソフトウェアで使用されているコンポーネントの分析に、それぞれの企業が精通するようになると、ライセンスの問題も多く発見され、それらは解決されるようになる。あらゆる種類のオープンソース・ライセンスが存在するため、自社の開発に含まれるソフトウェアについて、企業は注意する必要がある。現時点において、監査されたコードベースの 53% にライセンスの競合がある。また、ライセンスのないオープンソースや、非標準のライセンスを含むものは 20% である。
Synopsys のレポートによると、「ライセンスが明確となっていないオープンソース・コンポーネントや、カスタマイズされたライセンスを含むコードベースは、さらに多くのリスクを抱えている」とのことだ。
訳していて面白いと思ったのは、「Synopsys のレポートは、M&A の際に行われる一般的な調査において、同社のサービスから得られたデータに基づくものとなる。したがって、ソフトウェアのセキュリティとライセンス/コンプライアンスの状況を知る上で、ユニークなものとなっている」という部分です。ソフトウェアのインベントリ管理は大切だという話にも繋がりますね。先ほど、2022 Open Source Software Risk Analysis をダウンロードしてみましたが、たくさんのチャートがあって、とても読みやすそうです。よろしければ、カテゴリ Inventory も、ご参照ください。