新たなGartner市場ガイドがソフトウェア構成分析(SCA)の重要性を強調
2020年9月1日
0 分で読めます2020年版Gartner市場ガイド「ソフトウェア構成分析(SCA)」が公開され、オープンソースソフトウェアの重要性が高まっていることを示しています。 ソフトウェアセキュリティに関する効果的なリスク管理と軽減のための推奨事項もまとめられています。
このガイドによると、90%を超える組織がオープンソースソフトウェアを利用しています。利用が広がる理由にはさまざまなメリットがありますが、何よりもオープンソースによって開発者の生産性が向上し、より速いペースでコードを提供できることが挙げられます。
一方で、こうした依存には相当なセキュリティリスクが伴います。Gartnerの調査では、オープンソースの利用に際して組織が直面する主な課題は、直接または間接的なオープンソース依存関係を通じて持ち込まれるセキュリティ脆弱性であることがわかりました。
この課題を克服するために、Gartnerは、開発チームとセキュリティチームが問題を効果的に特定し、軽減するうえで、ソフトウェア構成分析(SCA)が果たす役割が大きくなっていることを強調しています。ガイドでは、「ソフトウェア構成分析を行わなければ、アプリケーション開発におけるOSSのメリットは、リスクによって簡単に損なわれてしまう」と述べられています。
この分析の内容と、ガイドに記載されているGartnerの推奨事項を詳しく見ていきましょう。
オープンソースソフトウェアのセキュリティに関する推奨事項
Gartnerは、組織がオープンソースに伴うリスクを管理・軽減するため、次の4つのステップを踏むことを推奨しています。
アプリケーションセキュリティテストのツール群にSCAツールを加える - SCAツールを使うと、利用中のオープンソースコンポーネントに含まれるセキュリティ脆弱性やライセンス上の問題を特定できます。組織全体のAppSec戦略の中核要素として位置付ける必要があります。
ソフトウェアサプライチェーンを保護する - 今日のアプリケーションは、社内外のリポジトリから取り込んださまざまな構成要素で作られています。このサプライチェーンに対して、セキュリティ上の問題がないか繰り返し自動的にテストする必要があります。
自動適用するポリシーを策定する - 組織は許容できるリスクのレベルを決定し、ソフトウェア開発ライフサイクルの各段階でポリシーを適用する必要があります。
SCAをより重要な位置付けにする - SCAは既存の開発ワークフローに不可欠な要素とし、SCAツールを「例外ではなく、標準のプロセス」にする必要があります。
SCAツールの役割を理解する
上記の推奨事項からわかるように、SCAツールは繰り返し登場するテーマです。Gartnerのガイドでは、オープンソースソフトウェアのリスクを効果的に管理・軽減するうえでSCAツールが重要である理由として、その中核機能が示されています。
オープンソースコンポーネントの特定
SCAツールはアプリケーションを分析し、直接依存関係または間接依存関係を通じたオープンソースパッケージへの依存を特定します。過去にSnykが示したように、脆弱性の80%は間接依存関係を通じて持ち込まれるため、この機能はリスクを効果的に軽減するうえで欠かせません。
ライセンスコンプライアンス管理
SCAツールは使用されているさまざまなオープンソースライセンスも特定し、組織がオープンソースソフトウェアに伴う法的リスクを軽減できるよう支援します。組織はSCAツールを使ってライセンスポリシーを策定し、開発の初期段階で法的リスクが持ち込まれないようにできます。
セキュリティ脆弱性
使用中のさまざまなオープンソース依存関係を特定した後、SCAツールは脆弱性データベースと照合し、依存関係に含まれるセキュリティ脆弱性を示します。特定後、一部のSCAツールは修正を進めるための情報も提供します。たとえばSnykは、チームが迅速に脆弱性を修正できるよう、状況に即した包括的な修正アドバイスと、精度の高いセキュリティパッチを提供します。
ガバナンスと制御
SCAツールを使うと、ソフトウェア開発ライフサイクルの各段階でセキュリティポリシーとライセンスポリシーを自動的に適用できます。SCAツールで最も一般的にサポートされている方法は、オープンソースのセキュリティテストをCI/CDプロセスに統合し、脆弱性がデリバリーパイプラインの後続工程に進まないようにすることです。
レポートと分析
SCAツールを使うと、組織はBoM(部品表)を作成できます。BoMは、コード内で使用されているさまざまな依存関係とその使用箇所を詳細にまとめた一覧です。こうしたレポートは、将来のセキュリティリスクへの露出度を評価したり、他の関係者と共有したりするほか、標準化にも活用できます。
SCAツールを評価する際の主な基準
ガイドで説明されているように、SCAツールは一様ではなく、さまざまな形態があります。市場にある複数のSCAツールを組織が評価できるよう、Gartnerは意思決定の指針となる具体的な推奨事項を示しています。
エコシステムと言語のサポート
SCAツールは、組織が使用する主要なプログラミング言語とフレームワークをサポートする必要があります。必要なものは組織によって異なりますが、通常はJava、JavaScript、Python、Go、.NET、PHP、Rubyのサポートが求められます。
深く幅広いセキュリティデータ
脆弱性を迅速に特定して修正するには、SCAツールが質の高いセキュリティデータを提供する必要があります。SCAツールはこのデータの作成に脆弱性データベースを利用しますが、Gartnerが指摘するように、NVDだけに頼らないことで、検出結果の確度と精度をさらに高められます。Snykの脆弱性データベースは、複数の公開情報源に加え、学術機関、コミュニティ、当社のリサーチチームの成果を活用し、正確で最新かつ包括的なデータをユーザーに提供します。
優先順位付け
開発チームとセキュリティチームは膨大な数の脆弱性に直面していますが、使える時間やリソースは限られています。そのため、優先順位を付けなければなりません。SCAツールは、効果的な優先順位付けの判断に必要な情報をチームに提供できる必要があります。Gartnerは、アプリケーションの実行パスから到達可能な脆弱性を優先順位付けする機能を、SCAツールに必要なものとして挙げています。
開発者に使いやすいこと
エンドユーザーに採用されないSCAツールは、十分な効果を発揮できません。市場で急速に勢いを増す「シフトレフト」やDevSecOpsの流れに伴い、開発者がSCAツールの主な利用者となっています。こうした動きを支援するには、問題の一覧を開発者に渡して対応を任せたり、セキュリティチーム向けに設計されたツールへのアクセスを提供したりするだけでは不十分です。SCAツールは「開発者ファースト」である必要があります。既存の開発ワークフローにシームレスに統合し、負担を最小限に抑えなければなりません。
修正
問題を見つけることと、実際にすばやく修正できることは別です。Gartnerは、SCAツールが組織の修正手順も支援すべきだと強調しています。たとえばSnykは、優先度スコア、依存関係ツリー全体、推奨される修正方法、精度の高いパッチなど、実行に移せる優先順位付けと修正のアドバイスを提供します。さらに、修正をより効率化するため、自動プルリクエストも作成します。
インテグレーション
ソフトウェア開発ライフサイクルは複雑です。開発者はさまざまなシステムやプラットフォームを使って、コードを開発環境から本番環境へと進めます。組織は各段階にオープンソースセキュリティを統合できることが理想であり、SCAツールはそのためのインテグレーションを提供する必要があります。
レポート/BoM
SCAツールは、使用中のオープンソースコンポーネントを継続的に追跡し、その情報に基づくレポート(BoM)を作成できる必要があります。前述のように、こうしたレポートはリスクへの露出度の評価や社内での追跡に使われるほか、特定のライセンスや購入注文の条件となる場合もあります。
ポリシー
Gartnerは、組織が許容するセキュリティおよび法的条件をポリシーで定め、各プロジェクトに自動的に適用することを推奨しています。SCAツールはこの機能をサポートする必要があります。
注記
今後、SCAはどこへ向かうのか?
現時点でGartnerは、アプリケーションセキュリティテストのツールセットの一部としてSCAツールを実際に使用している組織は、わずか40%と推定しています。しかし、SCAツールへの関心は高まっているようです。このテーマに関するエンドユーザーからの問い合わせは、ほぼ40%増加しています。
オープンソースの利用が拡大していることを踏まえれば、これは驚くことではありません。オープンソースはデジタルトランスフォーメーションと、特にCOVID-19の流行下で目の当たりにしている急速なイノベーションにおいて、極めて重要な役割を果たしています。こうした傾向が近いうちに変わると考える理由はありません。
組織は、それぞれの市場で競争力を高めるためにオープンソースを活用する一方、それに伴うリスクを管理・軽減する必要があることも理解しています。上記の重要な基準を満たすSCAツールだけが、組織のこの目標達成を支援できます。
Snyk Open Sourceについて
Snyk Open Sourceは、Salesforce、Google、Facebookなどの組織がアプリケーションセキュリティを強化できるよう支援します。開発チームは、SDLCの早い段階から全工程にわたって、オープンソースの依存関係やコンテナに含まれるセキュリティ脆弱性とライセンス上の問題を自動的に検出し、優先順位を付けて修正できます。市場にある他のセキュリティソリューションとは異なり、Snyk Open Sourceは開発者に使いやすく、開発ワークフローにシームレスに統合できます。自動修正と実用的なセキュリティインサイトを提供し、組織が効率的にリスクを特定・軽減できるよう支援します。
CTFを始めよう
オンデマンドのバーチャル入門ワークショップを視聴して、CTFの課題の解き方を学びましょう。