日本シノプシスは3月14日、「2023年 オープンソース・セキュリティ&リスク分析(Open Source Security and Risk Analysis:OSSRA)レポート」に関する説明会を開催した。Synopsysの研究機関Cybersecurity Research Center(CyRC)が、企業の合併・買収(M&A)に際して棚卸しした1703のソフトウェアを対象に匿名化したデータを分析している。
Synopsysのリスク診断を実施した1480のコード中、既知の脆弱性を1つ以上含んでいた割合は84%(昨年比4%上昇)、4年以上前のコードを含む割合は89%(昨年比4%上昇)だった。
日本シノプシス SIG シニア・セキュリティ・エンジニア 吉井雅人氏
日本シノプシス ソフトウェア・インテグリティ・グループ(SIG) シニア・セキュリティ・エンジニア 吉井雅人氏は「OSS(オープンソースソフトウェア)を信頼すると同時に検証せよ。OSSのセキュリティはビジネスリスクに直結する。自らの責任でセキュリティを確保すべきだ。SBOM(ソフトウェア部品表)によるコンポーネントの可視化」が重要だと主張した。
「OSSなしではソフトウェアは成り立たない」
CyRCの調査によれば、2022年中に調査した企業が使用するソフトウェア1703本中、OSSを含む割合は96%におよび、全コードにOSSが占める割合は76%だった。前年比で見ると前者は97%、後者は78%と若干の減少傾向をうかがえる。
脆弱性を含むOSSの割合は84%、ライセンスの競合が見つかったOSSは54%、4年以上も同一のOSSを構成要素として使い続ける割合は89%(脆弱性および保守性の母数は1481)と増加傾向にある。
過去5年間の脆弱性を含んだコードは2018年で60%、2019年で75%、2020年で84%、2021年で81%と一端の落ち着きを見せたものの再び増加。同様に高いリスクをはらんだOSSは2018年で40%、2019年で49%、2020年で60%、2021年で49%、2022年は48%と2020年を境に落ち着きを見せている。
それでも吉井氏は「ほぼすべてのソフトウェアは何らかのOSSを含み、OSSなしではソフトウェアは成り立たない」と警鐘を鳴らした。
実際に既知のOSS脆弱性を悪用した割合は34%。Gartnerも「2025年までに全世界の組織の45%がソフトウェアサプライチェーンに対する攻撃を経験する」と予測している。
脆弱性を含んだ構成要素はJavaScriptライブラリの「jQuery」が多く、同様にJavaScriptライブラリの「Lodash」が続く形だ。これはSynopsysが携わるM&Aでウェブアプリケーションが多く使われていたと同時に、対象とするソフトウェアも年ごとに変化するため、必ずしも平均的な結果を示していない。
だが、吉井氏の発言にもあるとおり、ソフトウェアの脆弱性がイメージ損傷やビジネスリスクに直結する以上、企業はより鋭敏になるべきだ。
調査結果を業種別で見ると、航空宇宙や航空機、自動車、運輸、物流は63%、EdTech業界は48%、IoT業界は53%で高いリスクを含んだコードを検出している。
※クリックすると拡大画像が見られます
OSS開発陣が選択したオープンソースライセンスの競合は、2018年は68%に達していたが、2022年は54%に低下した。多くの企業はソースコードを公開しないクローズドソースを選択するが、そこでOSSを構成要素として組み込むとライセンス違反となる。
例えば、GPL(GNU General Public License)はプログラムの実行や複製物の再頒布、ソースコードへのアクセスを求めるため、クローズドソースとは相入れない。そこにオープンソースライセンス同士の競合を含めると、前述した5割超の数字につながる。
一方でオープンソースライセンスを付与しないOSSや、独自のライセンスを採用するOSSは2018年の25%から31%へと増加した。「既存のライセンスに一文を追加するケースや、これまでにない条文を追加して解釈に苦労するOSSが若干増えている」(吉井氏)
さらに競合原因となるライセンスのトップは、22%のCC BY-SA(Creative Commons Attribution-ShareAlike) 3.0だった。「CC BY-SAはPDFやウェブサイト、画像などに使われるライセンスだが、開発者向けQ&Aサイトに投稿されたコードはCC BY-SAで保護される」(吉井氏)ため、ライセンス同士の競合が発生するケースが増加しているという。
※クリックすると拡大画像が見られます
OSSは開発者やコミュニティーの活動が大きく左右するものの、調査では過去2年間、新たな開発・活動実績がないOSSを構成要素とするコードの割合は91%、4年以上前の古いOSSを使用するコードの割合は89%におよんだ。
吉井氏は「複数のOSSを組み合わせた社内用フレームワークなど、パッチを適用しにくい、もしくはOSSを更新できずに、使い続けなければならない現状がある」と指摘する。
特定の抗議を目的に悪意があるコードや動作を埋め込んだ「プロテストウェア」、パッケージマネージャーがパブリックリポジトリに格納されている同名かつ悪意のあるライブラリを使用してビルドしてしまう「依存関係攪乱攻撃」、直接URLを入力する際に打ち間違いを利用して、悪意を持つサイトに誘導する「タイポスクワッティング」の増加も見受けられた。
※クリックすると拡大画像が見られます