特集:IoTがもたらす製造業の革新〜進化する製品、サービス、工場のかたち〜

米国大統領令の影響か? 商用ソフトウェアのOSS由来脆弱性が減少傾向にIoTセキュリティ(2/2 ページ)

» 2022年05月20日 07時30分 公開
[朴尚洙MONOist]
前のページへ 1|2       

「Log4Shell」が話題になっても「Log4j」バージョン1の利用は減少せず

 2021年に起きたOSS関連の話題では、オープンソースライブラリを作者自身が破壊した事例の他、Javaのログフレームワークである「Log4j」で発見されたリモートコード実行の脆弱性「Log4Shell」が挙げられる。

 Log4jは、1999年10月にリリースされ2015年8月にEOL(End of Life)を迎えたバージョン1と、今回のLog4Shellが見つかったバージョン2の「Log4j2」がある。吉井氏は「Log4ShellはLog4j2で見つかった脆弱性だが、EOLを迎えたLog4jのバージョン1もリモートコード実行などの脆弱性が残ったままだ。Log4Shellが大きな話題になったにも関わらず、リスクの高いLog4jのバージョン1はまだ広く利用されている」と説明する。

「Log4j」の2つのバージョン 「Log4j」の2つのバージョン[クリックで拡大] 出所:日本シノプシス

 実際に、Black Duckの脆弱性データベースへのアクセス状況を見ると、Log4j2については、Log4Shellの脆弱性が明らかになった2021年12月から2022年2月にかけて対処が完了したバージョン2.17への切り替えが速やかに進んだ。しかし、Log4jのバージョン1については同期間で高止まりした状態にあり、Log4j2への移行が進んでいないことが分かった。「Log4jのバージョン1とLog4j2には互換性がないことが理由だが、EOLに気付けていない可能性もある」(吉井氏)。

「Log4j」のバージョン利用の推移 「Log4j」のバージョン利用の推移[クリックで拡大] 出所:日本シノプシス

 ライセンスについては、ライセンス競合の可能性があるコードベースの割合が53%、ライセンスがないまたはカスタムライセンスを使用したOSSコンポーネントを含むコードベースの割合は30%となった。ライセンス競合の可能性があるコードベースの割合は2017年から減少傾向が続いており、特に2020年から2021年は大幅な減少がみられた。これも、米国大統領令によるSBOM開示の要求に対応した結果の可能性が高い。

OSSにライセンス関連の問題が含まれる割合の推移 OSSにライセンス関連の問題が含まれる割合の推移[クリックで拡大] 出所:日本シノプシス

 ライセンス関連では、OSSそのもののライセンス条件がライセンス競合の原因になるとは限らないという指摘があった。開発者向けQAWebサイトの「stackoverflow」に掲載されたコードを利用したあるOSSはMITライセンスを採用していたものの、stackoverflowのライセンス設定がかなり利用制限の厳しい「Creative Commons Attribution Share Alike 3.0」だったため競合が発生したという事例が紹介された。

「Creative Commons Attribution Share Alike 3.0」によるライセンス競合 「Creative Commons Attribution Share Alike 3.0」によるライセンス競合[クリックで拡大] 出所:日本シノプシス
stackoverflowのコードを利用したことを明示したOSSしかしstackoverflowのライセンス設定は「Creative Commons Attribution Share Alike 3.0」であり競合が発生 stackoverflowのコードを利用したことを明示したOSS(左)。しかしstackoverflowのライセンス設定は「Creative Commons Attribution Share Alike 3.0」であり競合が発生した(右)[クリックで拡大] 出所:日本シノプシス

 メンテナンスでは、過去2年間に開発活動実績がなかったコンポーネントを含むコードベースの割合が88%、4年以上前の旧バージョンのOSSを使用しているコードベースの割合が85%となった。ここでも、右肩上がりだった過去2年間に開発活動実績がなかったコンポーネントを含むコードベースの割合が減少に転じており、米国大統領令の影響があった可能性がある。

OSSにメンテナンス関連の問題が含まれる割合の推移 OSSにメンテナンス関連の問題が含まれる割合の推移[クリックで拡大] 出典:日本シノプシス

 吉井氏は、コード行数の90%超を10人未満の開発者が担当しているプロジェクトが94%に上ること、コード行数の80%を1人の開発者が担当しているプロジェクトが23%もあることを挙げ、「企業がソフトウェア開発に利用している重要なOSSは、一定のコストや人員をかけてでもそのプロジェクトの開発にコミットすべきではないか。そうすれば、Log4jで指摘したEOLに気付かないという問題への対処も容易になる。サプライヤーが開発した有償のリポジトリでは調達チェックリストや非公開リポジトリなどの確認プロセスがあるにもかかわらず、無償のOSSはなぜかそのままダウンロードして利用していることが多い。そうではなく、OSSについても、セキュリティレビューやコンプライアンスチェックリスト、非公開リポジトリなどの確認プロセスを適用すべきだ。そして、OSSプロジェクトにコミットするれば、そういった成熟したオープンソースの利用が可能な体制を構築できるのではないか」と述べている。

成熟したオープンソースの利用が求められる 成熟したオープンソースの利用が求められる[クリックで拡大] 出所:日本シノプシス

⇒その他の「IoTセキュリティ」の記事はこちら

前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.