このページの本文へ

平均で「6年前」の脆弱性がOSSコンポーネントに残存、ライセンス違反も多く見られると指摘

「商用アプリの96%以上がOSSを含む」調査結果、実態把握が必要

2018年06月21日 07時00分更新

文● 谷崎朋子 編集● 大塚/TECH.ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

 日本シノプシスは2018年6月19日、「2018年オープンソース・セキュリティ&リスク分析」の調査結果レポートを発表した。商用アプリケーションの96%以上がOSS(オープンソースソフトウェア)コンポーネントを利用しており、そのうち78%から少なくとも1つ以上の脆弱性が検出されたという。

調査レポートより。多くのコードベースが現在進行形で、過去に話題となった脆弱性を抱えるOSSコンポーネントを利用していた

 同調査レポートは、シノプシスのリサーチセンター「Synopsys Center for Open Source Research and Innovation」が2017年にオンデマンド監査した500企業、17業界、1119のコードベースを元に検証、分析結果をまとめたもの。結果を見ると、調査対象のコードベースに含まれるOSSコンポーネントは前年度と比べて75%増加しており、自社開発のコードよりもOSSを多用する傾向が高まっていることがわかる。

 そんな中で問題となるのが「OSSコンポーネントの脆弱性」だ。調査の結果、コードベースあたりの脆弱性は平均64個と判明。また、確認された脆弱性は、平均で6年前に公開された古いものが中心であることもわかった。たとえば脆弱性の70%は、「Heartbleed」や「Poodle」など過去に“ブランド化”され、大々的に報道されたものだった。加えてApache Strutsを実装したコードベースのうち33%は、2017年にEquifax(米国の消費者信用情報会社)の大規模データ漏洩事件を引き起こした脆弱性を抱えたままだった。

「85%のコードベースがOSSライセンスに抵触」との結果も

 脆弱性以外の問題もある。OSSコンポーネントはオープンソースライセンスに基づき利用が許諾されるが、どのコンポーネントがどのライセンスに該当するのかを把握していないと、ライセンスに抵触するリスクが生じる。実際、今回の調査ではコードベースの85%が何らかのライセンスに抵触していることが判明しており、特にGNU GPL(GNU General Public Licence)に抵触するものが44%と多かった。

 昨年、米カリフォルニア州北部地方裁判所でGPLをめぐる裁判が行われた。原告のArtifex SoftwareはOSSのPDFインタープリタ「Ghostscript」をGPLで無償配布しており、被告のHancomはこのインタープリタを自社ソフトウェアに組み込んだ。ただしGPLを遵守するためには、Hancomは自社ソフトウェアに同じくGPLを適用(つまりソースコードを公開)しなければならない。もしOSS化したくなければ、GPLではなくArtifex商用ライセンスを適用する(ライセンス料を支払う)必要があった。だが、Hancomがそのいずれも行わなかったため、Artifexは提訴に踏み切った。結果、裁判所はGPLを適用契約と同等に扱うべきとし、Artifexの訴えを認めている。

 「最終的に両社は和解したが、自社プロダクトで使用するOSSコンポーネントを洗い出し、ライセンスを把握することが重要であることを示す前例となった」。シノプシスのシニアテクノロジーエバンジェリスト、ティム・マッケイ氏はこう指摘する。

シノプシス ソフトウェアインテグリティグループ シニアテクノロジーエバンジェリストのティム・マッケイ氏

 そのうえで、コードベースのリスクを管理するには「リスクに合わせた正しいソフトウェア解析技術を選択することが重要」だと語った。シノプシスでは、ソフトウェアコードの静的解析を行う「Coverity」、動的解析を行う「Seeker」と「Defensics」、ソフトウェアコンポジションの解析を行う「Black Duck Hub」といったツール群を提供している。

 「たとえば依存ライブラリなどを管理/制限できるプロプライエタリコード(Windows、Adobe Photoshopなど)であれば、静的解析が最適だ。また、実行中のアプリをテストするのであれば、動的解析を選択したい。そしてOSSについては、OSSの名称やバージョンを特定、既知の脆弱性とマッピングして洗い出すソフトウェアコンポジション解析が最適だ」

最適なソフトウェア解析技術を選択すべきだと、マッケイ氏は強調した

カテゴリートップへ

ピックアップ