課題
米国中小企業庁(SBA)は、ソフトウェアプロジェクトの大半を外部委託しており、委託先は複数のオープンソースコンポーネントを使用しています。さまざまなツールを自由に利用できる一方で、同庁にはセキュリティに関する厳格な要件が課されています。そこで、オープンソースの脆弱性を検出し、自動修正できるSnykと提携しました。
「契約している開発チームは、好きなプログラミング言語でアプリを構築します」と、AWS(Amazon Web Services)上で稼働するSBAのシステムを統括するシステム開発者、Ryan Hillard氏は説明します。「Snyk Open Sourceが気に入っているのは、評価した他のどのソリューションよりも、使用しているさまざまなパッケージについて詳しい情報を得られるからです。」
解決策:多様な開発チームにSnykを導入
SBAは、アプリケーションセキュリティにカスタマイズした監視ソフトウェアを使用していました。しかし、異なるプログラミング言語やテクノロジーを使う複数の委託先開発チーム全体にわたって、脆弱性をスキャンする柔軟性がありませんでした。
いくつかのソリューションを評価した後、SBAはSnyk Open Sourceを試用。すぐに、Snykには開発プロセスにセキュリティを組み込み、すべてのオープンソース依存関係の脆弱性をスキャンするために必要な機能が備わっているとわかりました。また、SBAはシステムとワークロードの大半をAWS Lambdaで実行しているため、SnykがAWSに対応していることも大きな利点でした。
「他のソリューションでは、重大度の高い、またはクリティカルな脆弱性があるかどうかはわかります。しかしSnykなら、脆弱性が実環境で悪用されているか、また適切に管理されているかもわかります」とRyan Hillard氏は述べています。
Hillard氏は、脆弱性が実環境で悪用されているかどうかをSnykが検出できることの重要性を改めて強調しました。委託先の開発チームがさまざまなプログラミング言語やテクノロジーを使用しているため、SBAはセキュリティ対策の優先順位を決める必要があります。
「問題の数に対して、解決にあたる人員が足りません」とHillard氏は語ります。「たとえば、あるアプリケーションに2つのクリティカルな脆弱性があるとします。Snykは、一方は実環境で悪用されていることが確認された概念実証が公開されており、もう一方は発表されたばかりの学術論文に由来すると教えてくれます。どちらを修正すべきでしょうか。Snykがあれば、簡単に判断できます。」
効果:セキュリティを開発に統合し、開発者の生産性を向上
Hillard氏によると、Snyk導入後の最大の変化は、SBAの開発チームがコーディング中、日々の業務の中でセキュリティを実践的に考えるようになったことです。セキュリティは専門家だけが行うものではなく、開発者の意識に根付いています。
「開発者は今では、ソフトウェアパッケージを使う前にSnyk Advisorのスコアを確認する習慣がつきました」とHillard氏は語ります。「行動が変わりました。コードを書く前に立ち止まり、Snykのスコアがより高い代替パッケージがないか確認するようになっています。」
Snyk Open Sourceの導入は、SBAの開発チームのプロセスにも変化をもたらしました。Snyk導入前、開発者は何百通もの「脆弱性アラート」メールに目を通し、アラートに記載された脆弱性の優先順位を判断して、GitHubで調査し、コードを更新して変更を本番環境に反映する必要がありました。
「これには膨大な時間と労力がかかっていました」とHillard氏は語ります。「Snykを使えば、SlackでSnykのアラートを受け取れます。そこから、脆弱性を取り除くために必要な最小バージョンへのアップグレードを用意したプルリクエストに移動できます。そのプルリクエストをテストし、アプリケーションの新しいバージョンをデプロイするだけです。従来の約18ステップに対して、わずか4ステップです。Snykは、現代の開発者の働き方にとてもよく合っています。」
Hillard氏はSnykの指標を過度に気にしてはいませんが、SBAが現在Snyk Open Sourceを使って70のリポジトリをスキャンしており、2022年末までに全280リポジトリをスキャンすることを目指していると述べています。Snykの導入により、SBAはアプリケーションセキュリティ態勢を継続的に改善する取り組みを始めました。