日本シノプシスは5月19日、「2022 オープンソース・セキュリティ&リスク分析(OSSRA:Open Source Security and Risk Analysis)レポートを公表し、メディア向けに記者発表会を開催した。同報告書は、シノプシスのBlack Duck 監査サービス部門が、企業/団体が買収などで入手した2400を超す商用ならびに内製コードベースを調査した結果をシノプシス サイバーセキュリティ・リサーチ・センター(CyRC)が分析し所見をまとめたものとなる。
報告書では商用もしくは内製アプリケーションへのオープンソースソフトウェア(OSS)利用にあたってのトレンドが明らかとなっており、開発者が相互に連携したソフトウェアエコシステムの現状を理解するための指針となる洞察も記載されている。
また、脆弱性、旧バージョンのコンポーネントや放置状態のコンポーネント、ライセンスコンプライアンス違反など、適切な管理がなされていないオープンソースによって引き起こされるリスクについても詳しく解説されている。
日本シノプシス シニア・セキュリティ・エンジニアの吉井雅人氏は「2021年のテクノロジー/テレコム業界における買収総額は前年比倍増の1兆2400億ドルに達し、これらのM&A取引の一環として監査した前年比62%増の2409のコードベースがOSSRAのデータソースとなっている。オープンソースを含むコードベースの割合は97%、全コードベースに占めるオープンソースの割合は78%となった」と説明した。
同氏によると、少なくとも1つの脆弱性が見つかったコードベースの割合は81%、ライセンス条件の競合が見つかったコードベースの割合は53%、4年以上前のオープンソースコンポーネントを使い続けているコードベースの割合は85%(全コードベース2409のうち、セキュリティリスク診断を受けたコードベースの割合は87%のため脆弱性とメンテナンスの母数は2097)となった。
レポートでは、オープンソースはすべての業界にまたがるあらゆるソフトウェアで使用されており、提供されているすべてのアプリケーションの根幹をなすものとなっているという事実が明確になったという。
2097のコードベースに対してセキュリティ/リスク診断を行った結果、高リスクな脆弱性を抱えたオープンソースが組み込まれているコードベースの数は減少しており、2021年の調査ではコードベースの60%から1つ以上の高リスクな脆弱性が検出されたが、2022年は49%だった。
一方、81%のコードベースからは1つ以上の既知のオープンソース脆弱性が検出されており、2021年の調査からの減少幅は僅か3%に過ぎないという。
さらに、コードベースの半分以上(53%)にはライセンス条件の競合が確認されたが、2020年調査結果の65%からは大きく減少し、全体的にライセンス問題は2020年から2021年にかけての調査でも減少傾向となっている。ライセンスがない、またはカスタムライセンスを使用したオープンソースを含むコードベースの割合は30%。
ソフトウェアライセンスは、そのソフトウェアの使用権を規定するものであり、ライセンスのないオープンソースの使用は、法的リスクを抱え込むジレンマとなることに加え、オープンソースのカスタムライセンスはライセンシーにとって好ましくない条件が付加されたものである可能性があるため、知的財産権(IP)の侵害あるいはその他の予測される事態について法的側面からの評価が必要になるケースが多いという。
運用上のリスクないしはメンテナンスの観点から見ると、2097のコードベースの85%には過去4年以上、開発活動実績のなかったオープンソースが含まれていたほか、88%は最新バージョンではないオープンソースコンポーネントを使用しており、15%からは脆弱性を残したままのバージョンのLog4jが検出された。脆弱性が指摘されているLog4jも含め、旧式のオープンソースが当たり前のように使用され続けているという。
加えて、コード行数の90%超を10人未満の開発者が担当しているプロジェクトの割合は94%、コード行数の80%を1人の開発者が担当しているプロジェクトの割合は23%となり、支援が不足している現状がある。
こうした分析をふまえた対策として、同社では「成熟したオープンソースの利用」を推奨している。吉井氏は「無償ダウンロードは公開リポジトリから、そのまま適用してしまう。しかし、有償のソフトウェアに関しては調達チェックリストを経て社内リポジトリに取り込み、使用の可否を決める。そのため、オープンソースについても完全に信用するのでなく、自社で使ううえでリスクを考えて使うべきであり、成熟したオープンソースの利用をすすめる」との認識を示した。
最後に同氏は「オープンソースを利用したいのであれば、管理を改善すべきだ。ソフトウェアに利用しているすべてのコードを把握するほか、開発ワークフローに対して脅威モデリングを実施する。そして、OSSの管理を開発プロセスにインテグレートし、ビジネスを支えているオープンソースプロジェクトを支援することが望ましい」と述べていた。