ソフトウェアレビューによると、商用アプリケーションの 91% に、時代遅れまたは放棄されたオープンソース コンポーネントが含まれており、放置されたコードを使用する組織の潜在的な脆弱性が浮き彫りになっています。
カリフォルニアに拠点を置く設計自動化企業 Synopsys は、2020 年のオープンソース セキュリティとリスク分析レポートのために、17 の業界にわたる 1,253 の商用コードベースの監査を実施しました。
調査対象となったコードベースのほぼすべて(99%)に少なくとも1つのオープンソースコンポーネントが含まれており、コード全体の70%がオープンソースであることが判明しました。これは、監査対象コードのうちオープンソースはわずか36%だったという同社の2015年の報告書の約2倍に相当します。
オープンソース コードは組織にとってより重要になってきていますが、2014 年の Heartbleed メモリ漏洩バグや 2017 年と 2018 年に特定された Apache Struts の欠陥などの脆弱性に代表されるように、リスクも伴っています。
監査対象となったアプリケーションの91%は、4年前から古いコンポーネント、または2年間開発が活発に行われていないコンポーネントを含んでいました。2020年の報告書の対象期間である2019年には、脆弱なコンポーネントを含むコードベースの割合が2018年の60%から75%に増加しました。
高リスクの欠陥のあるアプリケーションの割合は、2018年の40%から2019年には49%に増加しました。
最も多く確認されている高リスクの脆弱性は、500件以上確認されているCVE-2018-16487です。これは、JavaScriptライブラリLodashのプロトタイプ汚染バグであり、4.17.11より前のバージョンに影響します。この脆弱性は、リモートコード実行に悪用される可能性があります。
新しいITの仕事をお探しですか?開発者、クラウドエンジニア、情報セキュリティアナリスト、Jira管理者など、世界中の求人情報をご紹介します。
続きを読む
発見された最も古い脆弱性は 20 年以上前に遡ります: CVE-1999-0061、BSD ライン プリンタ デーモン (lpd) 経由でファイルの作成、削除、リモート実行を可能にします。
シノプシス CyRC (サイバーセキュリティ研究センター) の主席セキュリティ戦略家、ティム・マッキー氏はThe Registerへの電子メールで、2017 年の Equifax 情報漏洩など、オープンソース コードの既知の脆弱性がハッキング事件につながった例は数多くあると述べた。
「過去1年間で、CVE-2020-11651とCVE-2020-1165がオープンソースのシステム管理プラットフォームであるSaltStackに影響を与えました」とMackey氏は述べています。「オープンソースソリューションは重要なビジネスタスクの中核を担うことが多いため、悪用可能な脆弱性が1つでも存在すると、大きな影響を及ぼす可能性があります。」
同氏はさらに、「LineageOS、Ghost、Digicert などに影響を与えたこれら 2 つの CVE の場合、パッチを成功させるには、企業が実行しているオープンソースが何であるか、適切なパッチをどこからダウンロードするかを正確に認識することが、企業のパッチ管理プロセスに必要だ」と付け加えた。
すべてのコードベースで共通して使用されているコンポーネントは124個でした。上位5つは、jQuery(55%)、Bootstrap(40%)、Font Awesome(31%)、Lodash(30%)、jQuery UI(29%)でした。
JavaScriptライブラリが多すぎるように見えるのは、分析対象のコードベースでJavaScriptが一般的だからです。調査対象となったコードベースは、JavaScript(74%)、C++(57%)、Shell(54%)、C(50%)、Python(46%)、Java(40%)、TypeScript(36%)、C#(36%)、Perl(30%)、Ruby(25%)です。
これらのコードベースにおけるコンポーネントの割合も、JavaScript(51%)に偏っています。その他のコンポーネントでは、C++(10%)、Java(7%)、Python(7%)、Ruby(5%)、Go(4%)、C(4%)、PHP(4%)、TypeScript(4%)、C#(3%)、Perl(2%)、Shell(1%)といった言語が使用されていました。
シノプシスのレポートでは、コードベースの68%にオープンソースライセンスの競合が見られ、33%には識別可能なライセンスが存在しないことも明らかになりました。ライセンス問題が最も多く発生したアプリケーションの種類はインターネットアプリとモバイルアプリ(93%)で、一方、バーチャルリアリティ、ゲーム、エンターテイメント、メディアアプリでは問題が比較的少なかった(59%)。
マッキー氏は、オープンソースのライセンス紛争から生じる注目を集める法的措置の発生はまれであり、ほとんどのコンプライアンス問題は組織内で処理され、最終的には開発者がコードを作り直さなければならないことになると指摘した。
マッキー氏は、オープンソース コードを使用する企業にとって最も重要なことは、オープンソース コンポーネントを更新するための戦略を持つことだと述べました。
「ITスタッフや開発者がオープンソースのツールやコンポーネントをダウンロードし、企業がその行動を認識していない場合、リスクを適切に管理するのは非常に困難になる」とマッキー氏は述べた。
「これは単に定期的なスキャンを実行するということではありません。開発者、IT、法務チームが協力して、許容される使用方法とその使用の管理方法について明確なプロセスを定義することです。」®