課題:企業全体でアプリケーションセキュリティを可視化
デジタルヘルス体験とデータに基づくインサイトが事業の要となるRally Healthは、ソフトウェア製品のアプリケーションセキュリティと品質保証を優先する必要がありました。すでに多くのセキュリティツールを導入していたものの、企業全体で状況を把握できず、経営陣が必要とするインサイトも得られていませんでした。エンジニアが進んで採用できる、包括的なアプリケーションセキュリティを実現するシンプルな方法が必要でした。
「DevSecOpsの導入を始めたばかりの小規模な組織でも、アプリケーションセキュリティに対応する既存のプログラムを持つ大企業でも、重要なのはアプリケーション、ソースコード、そしてエンジニアリングチームがソフトウェア開発に使う言語を可視化することです」と、Rally Healthのアプリケーションセキュリティ担当シニアマネージャー、DJ Schleen氏は説明しました。
解決策:エンジニアリングの力でセキュリティ問題を解決
Snykを活用することで、Rally Healthのアプリケーションセキュリティチームは、エンジニアリングのワークフローにセキュリティをシームレスに組み込めました。SnykはエンジニアリングチームのGitリポジトリをネイティブにスキャンし、アプリケーションのソースコードとInfrastructure as Code(IaC)の両方に含まれる脆弱性を検出できます。プルリクエストの段階でコードを分析・検証することで、エンジニアはビルドパイプラインの早い段階で問題を発見し、自ら迅速かつ効率的に修正できます。
「セキュリティの問題は、マージやコミットの前に対処するのが最も効果的です」とSchleen氏は説明します。「開発者がコードをコミットし、変更をメインブランチにマージするためのプルリクエストを作成する段階で、セキュリティスキャンと検証を行うべきです。コードがリポジトリのメインブランチに入る前に実施する必要があります。」
開発を遅らせないアプリケーションセキュリティ
Snykを活用することで、Rally Healthは開発を遅らせることなく、エンジニアリング中心のセキュリティアプローチを実現できました。プラットフォームの自動化ツールはコードがマージされる前に脆弱性を検出するため、アプリケーションがステージング環境や本番環境に到達する時点でセキュリティ検証が済んでいることを、Rally HealthのITチームは確認できます。
「すべてのアプリケーションを、可能な限り迅速に、できる限りセキュリティを組み込んだ状態で本番環境に送り出したいと考えていました」とSchleen氏は語ります。「お客様に届ける価値を損ないたくはありませんでした。」
エンジニアの働き方を理解することで、Rally Healthは開発者への影響を最小限に抑えるセキュリティプロセスとポリシーを導入できました。Snykは自動化されたCI/CDパイプラインに統合され、脆弱性の優先順位付けによって修正を加速します。これによりRally Healthは、お客様が求める革新的な機能の市場投入を遅らせることなく、ソフトウェアの品質を向上できました。
効果:拡張性と透明性を備えたDevSecOps
Rally HealthのDevSecOpsアプローチの鍵は、エンジニア自身がセキュリティ問題を検出し、修正できるようにすることです。ソースコード管理(SCM)ツールと連携するシンプルなソリューションを導入したことで、エンジニアは開発サイクル全体を通じてアプリケーションセキュリティに主体的に取り組めるようになりました。これにより、Rally Healthは多数のコードリポジトリにDevSecOpsアプローチを展開できました。
Snykが集約するセキュリティ関連データは、経営陣、コンプライアンスチーム、監査担当者などの関係者にも、アプリケーションセキュリティの可視性をもたらします。企業全体のリーダーは、脆弱性の件数や問題が減少傾向にあるかどうかなどのKPIをリアルタイムで把握し、十分な情報に基づいてビジネス上の意思決定を行えます。
「これらのシステムから得られるデータの活用方法の一つは、開発者に情報を届けるのと同じ速さで、経営陣にも情報を届けることです」とSchleen氏は述べます。「あらゆる面で迅速化を進め、アプリケーションセキュリティに関するビジネス上の意思決定を、遅れずに行えるようにしています。」
DevSecOpsへの変革を経て、Rally Healthは収集した情報を特定のセキュリティポリシーに結び付け、違反の可能性をスキャンしていることを明確に証明できるようになりました。この監査証跡は、HIPAAやSOC 2をはじめとする医療業界の規制やデータプライバシー法への準拠を維持するうえでも重要です。
「この考えを一言でまとめるなら、魚が海にたどり着く前に捕まえることです」とSchleen氏は締めくくります。「DevOpsでバグや問題をできるだけ早い段階で見つけるのと同じように、セキュリティ上の欠陥もできるだけ早く発見したいのです。それこそがDevSecOpsの本質であり、私たちが目指すものです。」