課題: 時間のかかる OSS セキュリティレビューを自動化
Salesforce は、世界に広く普及している顧客関係管理 (CRM) プラットフォームを開発した世界的なソフトウェア企業です。このプラットフォームにより、企業はマーケティング、セールス、コマース、サービス、IT データを統合して、顧客の 360 度ビューを構築できます。Salesforce は、マーケティングの自動化、分析、アプリケーション開発などのエンタープライズアプリケーションも構築しています。
Salesforce は画期的なソフトウェア企業としてオープンソースソフトウェア (OSS) という形でコミュニティに還元することを理念に掲げています。しかし、従業員やチームが自分たちの作品をオープンソースにしようとした場合は、必ず OSS リクエストを提出し、セキュリティや法律、その他、多くの要件を満たしているか審査を受ける必要があります。毎月 20 件前後の OSS リクエストがあり、静的解析レポートの審査と調査結果の修正を手作業で行っていたため、OSS をリリースする際のボトルネックになっていました。
Salesforce の製品セキュリティエンジニアのアモル・デシュパンデ氏は、「ご存知のとおり、手作業による審査は時間がかかります。セキュリティエンジニアは複数の職責を担っています。毎月多数の審査を行うのは非常に難しく、特にリクエストに時間的制約がある場合はなおさらです。そこで、このプロセスを自動化すれば、エンジニアの時間を短縮できると考えました」と話しています。
ソリューション:プラグアンドプレイのセキュリティスキャンを実装
OSS のセキュリティ審査プロセスを効率化する際、Salesforce は Snyk を活用してセキュリティスキャンを実行し、結果を自動的に収集するプラグアンドプレイのセキュリティフレームワークを構築することにしました。審査リクエストはそれぞれ、社内のタスク追跡プラットフォーム内にチケットを作成し、Webhook によって選択され、RabbitMQ のキューに追加されます。
Snyk は、その堅牢な API を使用して、このキューからプルし、添付されたコードリポジトリの脆弱性をスキャンし、調査結果レポートを元のチケットに返送できます。スキャン結果は、エンジニアが自分でセキュリティスキャンツールを操作しなくても、チケット内で直接利用できます。つまり、セキュリティエンジニアは調査結果レポートをすぐに確認し、リクエストの承認や問題の修正を数分で実行できるのです。
デシュパンデ氏は、「エンジニアがアクセスするときには必ず、脆弱性レポートはチケットに添付済みなのです。このため、レポートを確認してリクエストを承認したり、エンジニアリングチームと協力して調査結果を修正したりできます。スキャンの実行や、セキュリティツールの使い方の理解に時間をかける必要がないので、エンジニアの時間を大幅に節約できます」と話しています。
Snyk Open Source のセキュリティスキャン
ソフトウェアをオープンソースとして公開する場合は、組織自体のリスクを軽減するため、セキュリティスキャンは不可欠です。悪意のあるアクターは、公開されているコードを確認することで、OSS に依存するプロプライエタリアプリケーションを攻撃できるからです。Apache Struts、Tomcat、OpenSSL など、広く普及している OSS はすでに侵害を受けており、OSS の脆弱性は増加し続けています。Salesforce では、脆弱性を含む OSS をリリースして自社の信用を損ねたり、標的にされたりすることは避けたいと考えていました。
デシュパンデ氏は次のように説明します。「オープンソースソフトウェアは、最大の攻撃ベクトルに挙げられます。OSS コンポーネントに脆弱性が発見されると、そのコンポーネントを使用しているすべてのアプリケーションやソフトウェアにもリスクが及ぶからです。実際、OSS の脆弱性は 2019 年に前年比で倍増しており、脅威は常に増大しています」
Snyk のオープンソースセキュリティ管理ソリューションは、企業が取り入れているオープンソースコードと、コミュニティに対するオープンソース化を計画しているコードの両方の脆弱性を検出することで、このセキュリティリスクを管理できます。Snyk には、発見されたセキュリティ問題を修正する実用的なガイダンスが用意されています。また、Snyk は、問題の重大度と潜在的な影響に基づいて優先順位を設定することで、開発者が問題を修正する際の時間を短縮することもできます。Salesforce は、Snyk のスキャン結果を利用することで、社内のセキュリティ脅威へのエクスポージャーを軽減するだけでなく、一般ユーザーも安心して OSS コンポーネントを利用できるようになります。
デシュパンデ氏は、「私は自動化とシフトレフトの提唱者ですが、Snyk は組織全体にセキュリティ対策を拡大するための最も重要な製品の 1 つだと思っています。将来的には、調査結果レポートに問題がない場合にリクエストを自動承認できるようにすることや、Snyk を利用した新しいスキャンフレームワークを組織全体に拡張して、今後のセキュリティ手法を統一することで、実装を拡大したいと考えています」と話しています。
導入効果: 数百時間もの手作業を削減
Snyk を利用した新しいセキュリティスキャンフレームワークにより、Salesforce の製品セキュリティチームは OSS リクエストを手作業でレビューしなくても済むようになりました。以前は各リクエストの完了に数時間かかることもありましたが、現在では、Snyk のスキャン結果は、どのレビューリクエストチケットにも自動的に公開されるようになりました。そのため、セキュリティエンジニアは、150 時間程度を他の重要なセキュリティプロジェクトに投入できるようになりました。つまり、Salesforce はセキュリティを損なわずに、以前よりもはるかに短期間で OSS ソフトウェアをリリースできるようになったのです。
「以前は各リクエストの完了に数時間かかることもありましたが、現在では、Snyk のスキャン結果は、どのレビューリクエストチケットにも自動的に公開されるようになりました」