Skip to main content

リスクの捉え方を高める:Snykによる包括的なアプリケーションリスク管理

blog feature snyk iac magenta

2024年10月22日

0 分で読めます

DevOps、クラウドネイティブ技術、AIによってアプリケーションが複雑化し、開発スピードが上がるなか、アプリケーションリスクの管理に包括的に取り組むことが、これまで以上に重要になっています。従来の方法では、もはや十分とは言えません。セキュリティチームは脆弱性への対応に追われ、開発者は何を優先すべきかについて必要な指針を得られていません。

セキュリティと開発の間にあるこのギャップによって、アプリケーションはより脆弱な状態に置かれています。サイロ化したチームが、時代遅れの脆弱性中心のアプローチにとらわれ、リスクの低い問題に時間を費やす一方で、本当の脅威を見逃しています。その結果、開発とセキュリティの両方が遅れ、チーム間に不満や不信感が生まれています。

Snykは、包括的でアプリケーション中心のリスク管理アプローチを提供します。アプリケーションリスクへの幅広い理解を、開発とセキュリティの両方のワークフローに取り入れることで、チーム間の連携を深め、より適切な優先順位付けを実現し、最終的にはソフトウェア開発の迅速化と安全性向上につなげます。

「アプリケーションリスク」を紐解く

従来、「アプリケーションリスク」とは、セキュリティ侵害、データ損失、システム障害を引き起こす可能性があるソフトウェアの脆弱性を指していました。こうしたリスクは、自社コードだけでなく、オープンソースライブラリやコンテナなどのサードパーティコンポーネントにも存在し、アプリケーションの安全性と信頼性に影響します。

従来のリスク管理アプローチでは、脆弱性を個別に見る傾向があります。アプリケーションの構築方法、ビジネス上の重要度、実行時の設定やデプロイ方法といった全体像は考慮されません。その結果、チームは優先すべき対象を見誤り、最も危険な脆弱性が未対処のまま残ってしまいます。

このように脆弱性だけに注目する狭い見方では、変化の速い現代のアプリケーション環境における、ほかの大きなリスクも見落とされます。特に見過ごされがちなのが、把握されていない、またはスキャンされていないソフトウェアコンポーネント、つまり「アセット」です。現在のセキュリティツールの多くは、既知のアプリケーションしかスキャンしません。セキュリティチームが把握しないまま構築またはデプロイされたアセットはどうでしょうか。既知のアセットでも、一度もスキャンされていないものはありませんか?

アプリケーションセキュリティ:全体像が重要な理由

こうした死角があるからこそ、脆弱性のリストを延々と確認するだけの方法から脱却する必要があります。アプリケーション全体をより広く理解し、本当のリスクを見つけることが重要です。

アプリケーションをより広い文脈で理解することが重要な理由を、2つの脆弱性の例で見てみましょう。

脆弱性A:Snyk Open Sourceが、社内アプリケーションの休眠状態にあるリポジトリで、重大なlog4jの脆弱性(CVSSスコア9.8)を検出しました。しかし、このアプリケーションは本番環境から隔離されたサンドボックス環境でのみ使用されており、リポジトリも数か月間更新されていないため、実際の優先度は低いと言えます。脆弱性の深刻度は高くても、休眠状態で隔離されているという背景を踏まえれば、現在も活発に利用されている、より差し迫ったアプリケーションに注力できます。

脆弱性B:Snyk Codeが、ECサイトのIDOR脆弱性を検出しました。深刻度は「中」と評価されていますが、住所や支払い情報など、顧客の機密データを扱うコードに影響します。このアプリケーションは一般に公開された稼働中の環境にあるため、リスクは大きく高まります。データ侵害、規制上の問題、評判への悪影響を防ぐため、早急に修正すべき優先度の高い問題です。

アプリケーションの構築、デプロイ、実行方法まで含めた、より広くアプリケーションに焦点を当てるアプローチが不可欠です。こうした背景情報があれば、実際のリスクをリアルタイムでより明確に把握し、ビジネスにとって本当に重要なことに基づいて優先順位を付け、開発の生産性を高められます。

アプリケーションリスクの360°モデルを構築する

前述の例は、従来のリスク管理の限界と、より包括的なアプローチが必要な理由を示しています。これは、安全で高性能なソフトウェア開発を実現するというSnykのビジョンの中核です。アプリケーションリスクへの共通理解を促すことで、Snykは開発者が問題をより迅速に防止・修正できるよう支援するとともに、セキュリティチームが開発を遅らせることなく適切に導くために必要な情報を提供します。

Snykは、アプリケーションセキュリティテスト(AST)ツールであるSnyk Open Source、Snyk Code、Snyk Container、Snyk IaCのセキュリティデータを、拡大を続けるパートナーエコシステムから得られる情報と組み合わせ、アプリケーションと関連リスクの包括的なビューを作成します。このアプローチでは、特定された脆弱性の多角的な詳細に加え、アプリケーションのアーキテクチャ、開発プロセス、ビジネス上の重要性、実行時の状態に関する情報を提供します。

主なSnykのインテグレーションは次のとおりです。

  • ソースコード管理(SCM)システム:GitHub、Bitbucket、Azure DevOps、GitLab

  • 社内開発者プラットフォーム(IDP)とサービスカタログ:Backstage、ServiceNow CMDB、Atlassian Compass、Harness、OpsLevel

  • オブザーバビリティツール:Dynatrace、Datadog

  • クラウドおよびランタイムセキュリティ:Sysdig、Orca、SentinelOne、Crowdstrike

こうした豊富な情報を組み合わせることで、Snykはアプリケーションの完全な360°モデルを提供し、チームがセキュリティリスクをより効果的に管理できるようにします。次に、この可視性の強化をアプリケーションリスク管理のワークフローに取り入れる方法を詳しく見ていきましょう。

アプリケーションを把握する

アプリケーションリスクを効果的に管理するには、組織内で構築されているすべてのソフトウェアを明確に把握し、新しいアプリケーションを追跡できる仕組みが必要です。Snykの検出ツールは、開発からデプロイまで、すべてのアプリケーションコンポーネントを可視化するアセットインベントリを作成します。このインベントリには、開発の背景、ビジネス上の重要度、Snykによる保護状況などの詳細情報も追加されます。

問題数、コントロール、タグ、開発者、リスク分類を表示するソフトウェアリポジトリ一覧のSnyk Inventoryダッシュボード

アセットとカバレッジ管理の自動化

開発中のさまざまなアセットを把握することで、適切に保護されているか確認するための可視性が得られます。Snykのアセットベースのポリシーを利用すれば、ビジネス上の重要度に基づくアセットの自動分類、スキャン対象や頻度、使用するSnykツール(Snyk Open Source、Snyk Code、Snyk Container、Snyk IaC)の指定が可能になり、プロセスを効率化できます。セキュリティ上のギャップが見つかった場合に備えて、通知を設定したり、Jiraチケットを作成したりして、状況を把握し、対処することもできます。

分類、カバレッジ、テスト、Slack通知のポリシーなど、アセットポリシーのカードを表示したSnykのPoliciesページ。

リスクに基づく優先順位付け

ビジネス上重要なアセットを特定し、Snykで保護されていることを確認したら、最も重要な問題に注力できます。Snykの包括的なリスク管理アプローチは、より適切な優先順位付けを行うために必要な背景情報をすべて提供します。

まずはSnykのアセットインベントリを活用しましょう。強力な並べ替え、フィルタリング、検索機能を使って、重要なアプリケーションアセットを特定できます。アセットを特定すると、Snykの各ツール(Snyk Open Source、Snyk Code、Snyk Container、Snyk IaC)で検出されたセキュリティ上の問題を内訳で確認できます。

カテゴリをクリックすると、Issuesページに移動し、そのアセットに関連する問題の一覧が表示されます。ここでは、SnykのRisk Score、ランタイムのリスク要因、その他のコンテキストフィルターを使って、最もリスクの高い問題に絞り込めます。

最も重要なものを優先する

組織には、リスクの優先順位付けに包括的なアプローチが必要です。Snykのコンテキストに基づくリスク優先順位付けを活用しましょう。



Risk Score

ここ数年、問題の優先順位付けをより効果的にすると期待されるリスク要因がいくつも提案されてきました。こうした要因は脆弱性がもたらすリスクの理解に役立ちますが、「万能の解決策」として頼ると、実際の脅威ではない問題に注力する一方で、本当のリスクを見落とすことになりかねません。たとえば、静的リーチャビリティ分析では、アプリケーションから脆弱性を含むコードが呼び出されるかどうかを判定しようとします。場合によっては有用なリスク指標ですが、アプリケーションのアーキテクチャ、ビジネス価値、実行時の状態など、全体像を考慮できないという限界があります。

SnykのRisk Scoreは、オープンソースやコンテナの脆弱性リスクを評価する、最も包括的な方法の一つです。高度なセキュリティ調査とデータモデリングに基づき、「脆弱性が悪用される可能性」と「悪用された場合の影響」という2つの重要な要素を評価します。それぞれの要素では、客観的なデータとアプリケーション固有のコンテキストの両方を考慮し、サブスコアを算出して総合的なRisk Scoreに集約します。可能性と影響の両方をバランスよく評価することで、Snykユーザーはより正確かつ効果的にリスクの優先順位を付けられます。

重大なlog4j:log4jのデシリアライゼーション脆弱性に関するSnykのリスクスコア詳細。影響度、可能性、コンテキスト要因を表示。

Risk Scoreは現在プレビューモードで利用でき、Snyk Open SourceとSnyk Containerの脆弱性が対象です。SnykのRisk Scoreについて詳しくは、製品ドキュメントをご覧ください。

ランタイムのリスク要因

Snyk AppRisk Proを利用すると、ランタイム環境と連携し、アプリケーションリスクをより包括的に把握できます。SnykネイティブのeBPFセンサーやサードパーティのランタイムツールとのインテグレーションを通じて、ランタイムのコンテキストを活用し、アセットやセキュリティ上の問題が実際にもたらすリスクをより深く理解できます。

Issuesページでは、Snykのリスクファネルを使って、脆弱性がデプロイされているか、メモリに読み込まれているか、一般にアクセス可能かといった主要なランタイム要因で絞り込めます。これにより、最も優先して対処すべき問題を特定できます。

Hugging FaceのURLと「OK」ボタンを表示したポップアップ警告が表示されているComfyUIのブラウザーウィンドウ。

今後の展望:開発ワークフローにリスクの全体像を取り入れる

包括的なリスク管理は、安全で高性能なアプリケーション開発という私たちのビジョンの鍵です。個々の脆弱性を追いかけるのではなく、ビジネスに影響を及ぼす可能性のある本当のリスクの管理に、組織が集中できるよう支援したいと考えています。

アプリケーションリスクの全体像を把握する真の価値は、それが日々のワークフローにシームレスに組み込まれたときに発揮されます。そうすれば、セキュリティチームは不要な情報を減らし、開発者がより正確に優先順位を付けられるよう支援し、本当に重要なリスクに確実に対処できます。私たちはその実現を目指しています。

現在、Snykではリスク評価モデルに要素を追加し、Risk Scoreの正確性と包括性をさらに高めています。また、アセットとアプリケーションの両方のレベルでリスクを定量化する方法も改善し、お客様がより深い知見を得て迅速に行動し、重大なリスクを低減できるよう取り組んでいます。さらに、PRチェック、無視設定、ポリシーなど、主要なリスク管理ワークフローにリスクの全体像をより効果的に取り入れ、開発者エクスペリエンスの向上にも注力しています。

Snykでは、今後もさまざまな新しい取り組みを予定しています。最新情報をお楽しみに!

DevSecOps導入の未来を探る

開発者やセキュリティ担当者が抱える具体的なニーズや視点について理解を深め、Snykの最新の製品イノベーションがどのように役立つかを探りましょう。