サイトアイコン

アプリソリューションにおける誤り-2部:オープンソースライブラリに内在するリスクを無視

AppSec Mistakes Part 2 Ignoring Risks in Open Source Libraries

開発者は、時にオープンソースライブラリの力を借りずに、ホイールの再発明をする手痛いミスを犯すことがあります。オープンソースライブラリは、大変強力な再使用性を提供します。これを利用し、オープンライブラリは、レガシーアプリケーションの開発作業プロセスがより速やかに実行されるようサポートします。また、開発者はオープンソースライブラリが一般的に提供する最新アップデート、パッチ、クラウドソーシング機能を活用することができます。再使用できるコードベースがあるにもかかわらず、これを活用せずに始めからすべてを開発することは、経済的でもなければお勧めできません。基本的に、企業家と開発者はビジネスIPを広め、市場で競争力を維持することに革新と努力、時間を集中させなければなりません。

バランスの取れたアプローチ

オープンソースライブラリを具現化する際は、慎重にアプローチする必要があるため、無条件に具現化することは避けなければなりません。オープンソースライブラリの具現化が正しく行われないと、アプリケーションのリスク指数は大きく高まります。オープンソースライブラリフレームワークの脆弱性の一つは、アプリケーションの立場で非常に大きな攻撃地点になるおそれがあり、潜在的に大きな顧客基盤を破壊することができることです。更なる問題は、発見されずに数年間累積された依存性関連バグは、セキュリティリスクをより一層増幅させるという点です。

オープンソースコンポーネントの出所に対する適切な情報はないため、リスクを予測して適切な事前措置を講じることは、事実上不可能です。ハッカーは、脆弱性を悪用するため、あらゆる場所に隠れています。このような脆弱性は、普段ははっきりと浮き彫りにならず、特定の時点で大きな脅威として現れます。そのため、開発者はオープンソースコンポーネントの出所とともに、どこで使用されているかを必ず追跡し、把握しなけれければなりません。このようなソフトウェアコンポーネントに対する解析プロセスは、万一の事態が発生する(例えば、一部損傷したコンポーネントが使用される)場合に備え、迅速に対処できるようサポートします。

断片化された情報

OSの脆弱性を利用するもう一つの主な妨害要素は、包括的な情報が断片化されているため、追跡するのが困難な点です。情報があっても、危険度やパッチ可用性に対する関連情報が不足し、情報の信頼性に問題がある場合が多々あります。進歩を遂げてはきましたが、未だオープンソースフレームワークを扱うには、多くの作業が必要です。

オープンソースは安全ですか?

現在も、多くの人々はオープンソースコンポーネントが商業用コンポーネントより安全だという大きな誤解を抱いています。しかし、一般的にオープンソースライブラリは、商業用コードよりもセキュリティにおいて脆弱である可能性が高いです。開発者は、安全なコードベースを確保するための手動・自動セキュリティテストを繰り返し実行し、これにより発見したセキュリティホールに対し、適切な措置を講ずる過程を続けることだけが、安全なオープンソース、或いはコンポーネントソースを確保する方法だということを、知っておく必要があります。これには、侵入テスト、コードレビュー、静的・動的セキュリティテストなどが含まれます。

開発者は、進化するアプリケーションセキュリティ環境をいつでも受け入れられる、オープンマインドの精神を育む必要があります。これにより、アプリケーションの攻撃を試みる者を防御し、彼等より一歩先を行くことができるからです。ソフトウェアの開発費用を節減する過程で、ビジネス所有者と開発者は、自らが使用するオープンソースライブラリの出所を確認して使用先を追跡し、アプリケーションに使用される前にセキュリティリスクに対応できるよう、十分備えておかなければなりません。

計画された統合アプローチ

このような脆弱なエコシステムにおいて、セキュリティリスクを認識し、即時かつ効果的に危険要素に対処できる解法を保障する方法を設けることが重要です。OWASPは、オープンソースライブラリから派生したセキュリティリスクを認識し、2013年にTop 10セキュリティリスクリストに「既知の脆弱性を持つコンポーネントの使用」を登録しました。セキュリティツールは、オープンソースの依存性を利用したセキュリティホールの確認に役立ちます。しかし、合法的なユーザーが発見する前に、ハッカーがオープンソースライブラリの脆弱性を発見する可能性もあるため、計画されたセキュリティの監視、定期的な手動評価を通して脆弱性を発見しパッチすることは、無駄なことのように思えるかもしれません。

AppSealingは、オープンソースコンポーネントの使用によって発生し得るリスクを処理するワンストップソリューションとしての役割を果たし、アプリケーションを安全に保護するため、たゆまぬ努力を注いでおります。動的に作成されたレポートは、開発者とビジネス所有者がアプリセキュリティの主導権を保ち、リスクを防止することに役立ちます。

モバイルバージョンを終了