課題: 巨大なコードベースで脆弱性スキャンを自動化する
4 億人のユーザーを抱える巨大なテクノロジー企業である Citrix が提供する 20 のソフトウェア製品には何百万行もの多様なコードが含まれており、それらを構築して、メンテナンスする必要があります。このため、リスクを低減するアプリケーションセキュリティが極めて重要です。Citrix の製品セキュリティチームが広範なソフトウェアポートフォリオ全体の潜在的な脆弱性を調査したところ、コードのセキュリティを強化するには、さらに業務を自動化する必要があるとわかりました。そのため、各種プログラミング言語で自動的にコードの脆弱性をスキャンできる Snyk と提携することにしました。
「当社の開発者は、COBOL 以外のほぼすべての言語を使用し、クラウドサービスとオンプレミスの両方のシステムを使用しています」と、Citrix セキュリティ製品マネージャーのロブ・ヘザー氏(Rob Hather)は説明します。 Citrix セキュリティエンジニアのバレンティン・ポティエ氏(Valentin Potier)はさらに、「Snyk は当社の多様な環境に適切に対応しており、他社ツールより多くの項目をチェックできています」と述べています。
ソリューション: Snyk を数千人の開発者にロールアウト
複数の選択肢を検討した後、Citrix は Snyk プラットフォームの導入を決定しました。その理由は、同社の 2,000 名のソフトウェアエンジニアが使用するさまざまなプログラミング言語を最も包括的にカバーしていたためです。
Snyk Open Source を使用するメリットは、Citrix 開発者の日常業務を妨げることなく、オープンソースの依存関係のセキュリティを確保できる点にあります。Citrix のセキュリティチームも、Snyk の開発者向けのユーザーエクスペリエンスが他のソリューションとは一線を画していると認めています。
Citrix では主に Snyk Open Source を脆弱性のスキャンに活用していますが、過去 3 か月間にわたって Snyk Container で何十万回ものテストを実行し、コンテナイメージのセキュリティを確保し、Snyk Infrastructure as Code でインフラ設定のセキュリティを確保してきました。
「一部のツールでは、その使い方に習熟することが求められます」とポティエ氏は説明します。「ですが、Snyk ツールでは、開発者であってもマネージャーであっても、UI を操作し、ダッシュボードを表示してデータの意味を理解できます」
Citrix が Snyk の導入を選択したもう 1 つの理由は、セキュリティチームが初めて大規模なコードベース全体の脆弱性を定量化できるようになったという点です。これにより、同社では定量データの可視性とレポーティング機能を利用できるようになり、ソフトウェア製品の全体的なリスクプロファイルを低減する対策の優先順位を効果的に設定できるようになりました。
「数百万行ものコードに対して良好な可視性を確保することは困難です」とヘザー氏は言います。「潜在的な脆弱性があることはわかっていても、それを定量化することはできませんでした。Snyk のおかげで、初めて数値として確認できるようになり、その時点で大成功だと思いました。当社に必要だったのは Snyk だったのです」
開発パイプラインの Snyk スキャンで脆弱性を発見
Citrix は Snyk を段階的に導入し、最初は SIEM の統合でコードのスキャンを行いました。その後、同社は開発パイプライン全体で脆弱性スキャンを統合し、PR(プルリクエスト)の段階や、最終的には本番環境にプッシュされるあらゆるコードに対して Snyk を実装しました。特にパイプラインスキャンは、Citrix の依存関係スキャンワークフローに欠かせないものとなっています。
「Snyk スキャンは、CI/CD パイプラインの大きな部分を占めています」とヘザー氏は言います。「クラウドでは毎日のようにリリースしているため、パイプラインのできるだけ早い段階でスキャンを実行することが望ましいと言えます。スキャンを行わずにリリースすると、誤って問題が発生した場合に、本番環境にプッシュされるリスクがあるからです」
導入効果: SDLC の健全性を劇的に改善
これまでコードの脆弱性をリスト化し、ライブラリ更新のタイミングを計る作業は、製品セキュリティチームが時間をかけて手作業で行っていました。Snyk ツールの導入により、Citrix は、ライブラリが古くなりコードが脆弱性にさらされる可能性があるタイミングをすばやく明確に把握できるようになりました。結果として、Citrix では全体的なリスクを 50% 削減し、重大な未解決の脆弱性を全体的に 10% 削減できました。
「Snyk によって、依存関係の衛生状態と SDLC 全体の健全性が改善されました」とポティエ氏は説明します。「開発者は通常、ライブラリをアップグレードし過ぎたり、アップグレードが不十分だったりすることで、自社製品をどのようなリスクにさらしているか、認識していません。Snyk には、開発者が事前に計画を立て、一度にすべてをアップグレードしないようにするための指標が用意されています」
過去 3 か月間、Citrix は合計 470 万回のテストを実施しました(204%増加)。すべての脆弱性を修正するための平均時間は 60 日以内と、業界平均の半分以下になっています。
「自社のコードで見つかる問題は減少しています」とヘザー氏は締めくくります。「顧客やセキュリティのニーズに対応するためにコードが常に変化するため、脆弱性をゼロにすることはできないかもしれませんが、Snyk はできるだけゼロに近づけるための行動計画を提供してくれます」