現代のソフトウェア開発では、開発者は既存のサードパーティ・ライブラリやオープンソースの依存関係を再利用することで、迅速に開発を進めることができました。しかし、このようなコンポーネントの “サプライチェーン “はスピードを向上させる同時に、ハッカーの攻撃のベクトルにもなっている恐れもあります。組織のSLDCを保護し続けるためには、ソフトウェアのサプライチェーンを保護することが不可欠です。
ソフトウェア・サプライ・チェーンを保護する内部と外部
ここでは、組織のソフトウェア・サプライ・チェーンを保護するための2つの側面を、内部と外部で確認していきましょう。
Aqua Security の最近のレポートでは、多くの組織が SDLC の秘密に関する管理が不十分であることがわかりました。数多くのコンテナレジストリと成果物リポジトリが、意図せずに公開されたままになっています。
いくつかのケースでは、リポジトリは意図的に公開されましたが、公開を意図していない秘密が含まれていました。多くの場合、これらの秘密は認証情報、API アドレス、証明書であり、組織の奥深くへのさらなる攻撃を可能にする可能性があります。
Sonatype の多くのお客様は、Sonatype Nexus Repository の利点を活用し、顧客やパートナー、より広範な開発コミュニティにコンポーネントを配布しています。
しかし、適切なアクセス制御を確保することは極めて重要です。
最良の結果を得るためには、以下の3つのステップに従ってください:
- 匿名アクセスを使用する場合、それがユースケースに適合していることを確認する。組織内(または組織外)の認証されていないユーザがリポジトリにアクセスする必要があるを確認すること。(そうでなければ、完全に無効にすることが SDLC を安全にするための簡単なステップです。)
- 検索とブラウズ機能を使って、どのリポジトリとコンテンツが匿名ユーザに見えているかを確認すること。
- 匿名アクセスを使用しているか、また、アクセス制御のベストプラクティスに関する文書を確認すること。
これで、SDLC から引き出せるものについては解決できます。
SDLC に侵入するものについて
サイバー犯罪者はオープンソースのリポジトリにあるコンポーネントを通して組織をターゲットにし続けています。npmjs.org や Python Package Index のようなパブリックリポジトリは理想的な水飲み場となります。これらのリポジトリには簡単にアクセスできるため、サイバー犯罪者にとっては比較的簡単に持ち上がることができます。
悪質な行為者は、マルウェアに感染したソフトウェア・コンポーネントをオープンソースのリポジトリに提供することがよくあります。これらの侵害されたコンポーネントは、最終的に下流に配布され、企業や消費者が信頼するアプリケーションに統合される。悪意のあるコードが開発者のマシンやビルド環境に侵入すると、社内のネットワークに広がり、顧客に提供される製品にまで入り込む可能性があり、直ちに悪影響が始まります。現在、公開オープンソースリポジトリに対する攻撃は驚異的な増加を遂げており、2019年以降、年平均742%の伸びを示しています。その規模は計り知れないため、リアルタイムですべての攻撃を検知し、防止することは不可能です。悪意のあるコンポーネントが最終製品に使用されなかったとしても、ダウンロードを許可した時点ですでに手遅れです。
そのため、最先端の動作解析と自動ポリシー実行を組み合わせた唯一のソリューションであるRepository Firewallを利用し、悪意のあるパッケージを検知することが極めて重要だと考えます。
Repository Firewall は、有害なパッケージや既知の脆弱なコンポーネントを持続的に識別し、ブロックします。新たにリリースされたオープンソースソフトウェアコンポーネント(月平均60万以上)を評価し、潜在的な脅威かどうかを判断します。過去3年間、Sonatypeの業界をリードするRepository Firewallは、オープンソースリポジトリで新たに公開された115,000以上の悪意のあるパッケージを検知してきました。
Sonatypeは様々な環境(オンプレミス、非接続型、クラウドなど)を最初から保護します。Sonatypeは、世界中のDevSecOpsチームが多様な悪意のある脅威からソフトウェアのサプライチェーンのセキュリティを強化できるようにします。同時に、開発者がプロセスを妨げることなくイノベーションを継続できるようにします。