banner
ニュース センター
優れた品質を備えた素晴らしい工場価格

ソフトウェア サプライ チェーンにおけるオープンソース コンポーネントの管理

Aug 20, 2023

ゲッティイメージズ/iStockphoto

オープンソース コンポーネントは今日のソフトウェア アプリケーションに不可欠な部分ですが、セキュリティという重大なコストがかかる可能性があります。

最新のソフトウェア アプリケーションは、オープン ソース ソフトウェア (OSS) を含む、さまざまなソースからのコンポーネントで構成されています。 これにより、開発速度の向上、開発コストの削減、拡張性の向上など、ソフトウェア開発ライフサイクルに利点が加わります。

しかし、さまざまなソースからのコンポーネントを使用すると、アプリケーションの攻撃対象領域も広がり、攻撃者がアプリケーションや機密データにアクセスするために使用できるエントリ ポイントの数が増加します。 DevOps チームは、攻撃を軽減するための事前対策を講じることにより、ソフトウェア サプライ チェーンのセキュリティを確保する必要があります。

ソフトウェア サプライ チェーンは、ソフトウェア アプリケーションの作成に使用されるすべての人、プロセス、ツール、コード ライブラリ、および基盤となる IT インフラストラクチャで構成されます。 これには、コードの構築、テスト、展開、起動後のメンテナンスなど、ソフトウェア開発ライフサイクル (SDLC) のあらゆる側面が含まれます。

プロジェクトのソフトウェア サプライ チェーンを構成するコンポーネントの多くはオープンソースです。 たとえば、デザイン自動化企業のシノプシスは、商用コードベースの 1,700 件以上の監査結果を検査したレポートを 2023 年 2 月に発表しました。 このレポートでは、アプリケーションの 96% に少なくとも 1 つのオープンソース コンポーネントが存在することがわかりました。 ほとんどすべての商用アプリケーションには、オープンソース コンポーネントが組み込まれています。

ソフトウェア サプライ チェーン攻撃は、攻撃者がベンダーのソフトウェアに侵入して、そのソフトウェアを使用しているクライアントに感染する悪意のあるコードを植え付けるときに発生します。 侵入は SDLC 中のどの時点でも発生する可能性があり、壊滅的なサイバー攻撃の多くはソフトウェア サプライ チェーンを利用します。 最近のサプライ チェーン攻撃には、SolarWinds 攻撃や Log4j 脆弱性などがあります。

基本的なソフトウェア サプライ チェーンのセキュリティでは、脆弱な領域をチェックする必要があります。

ソフトウェア開発プロジェクトでは、OSS コンポーネントの人気が高まっています。 IT プロバイダーは、次のようなオープンソース プロジェクトを利用し、その作成をサポートします。

OSS コンポーネントは、主要なアプリケーションを強化するだけでなく、多くの利点をもたらします。 商用アプリを開発する場合でも、無料で使用できます。 コードがオープンであるため、OSS コンポーネントもカスタマイズ可能です。開発者は機能を拡張して、より多くの機能を含めることができます。

OSS により開発時間を短縮できます。 OSS ライブラリには、ユーザーがアプリケーションに組み込みたいほぼすべての機能のコンポーネントが保持されています。 これにより、開発者は他の開発分野により多くの時間を割くことができます。 オープンソース プロジェクトは特定の標準に従って開発されることも多く、その結果、さまざまなオープンソース コンポーネントが手間なく相互運用できます。

最後に、オープンソース プロジェクトは、堅牢なコード品質とセキュリティを実現できます。 これらは多くの貢献者によって開発されることが多く、ソフトウェア コンポーネントの十分なテストが保証されます。 また、開発者は OSS コンポーネントのセキュリティ脆弱性を検査できるため、開発者がセキュリティ問題を検査できない独自のコードよりも安全になります。

OSS には数多くの利点があるにもかかわらず、攻撃者は依然としてオープン ソース コンポーネントに侵入する可能性があります。 最も一般的な攻撃方法は、ソフトウェア サプライ チェーンの OSS の側面を悪意のある目的で悪用することであり、これはさまざまな方法で発生する可能性があります。

ソフトウェア サプライ チェーン内のオープン ソース コンポーネントのセキュリティを管理するには、DevOps チームは次のベスト プラクティスを考慮する必要があります。

アプリケーションを開発するときは安全なコーディング慣行に従ってください。また、ソフトウェア ベンダーにもそれを依頼してください。 このようなコーディング手法には次のようなものがあります。

チームはまた、開発全体を通じてソフトウェア サプライ チェーン環境が安全であることを確認する必要があります。 ベスト プラクティスには次のようなものがあります。