現代のアプリケーションセキュリティで「脆弱性管理」が不十分な理由
2024年6月13日
0 分で読めますソフトウェア開発環境がますます複雑化し、サイバー脅威や規制要件も拡大するなか、AppSecチームは数多くの困難な課題に直面しています。
「シフトレフト」の手法が登場し、その後普及したことは、大きく重要な前進です。しかし今では、このアプローチには考え方の転換も必要だということが明らかになっています。「シフトレフト」を実践していても、AppSecプログラムには依然として多くの死角があり、セキュリティチームと開発チームが効果的に連携してアプリケーションリスクを低減するうえで障壁となっています。
AppSecプログラムの成功を測ること、開発者が修正すべき問題に優先順位を付けること、セキュリティが確保されていないアプリケーションを特定することは、新たなAppSecアプローチが求められる課題の一部にすぎません。
AppSecにおける「脆弱性管理」の活用
こうしたアプローチの一つは、脆弱性管理から大きな着想を得ています。脆弱性管理は、確立された幅広いサイバーセキュリティの手法・ソリューション分野であり、エンドポイント、ネットワーク、システム、そして重要な対象であるアプリケーションなど、企業のさまざまな領域におけるセキュリティ上の懸念を特定、評価、記録、監視し、解決することに重点を置いています。
この新たなアプローチの名称は、市場動向に合わせて、アプリケーションセキュリティのオーケストレーションと相関分析(ASOC)から、アプリケーションセキュリティ態勢管理(ASPM)へと変化してきましたが、その根底にある原則は変わっていません。
多くのベンダーが提供するこのアプローチは、AppSecプログラム全体のセキュリティ問題を集約して相関付け、「単一の画面」で確認できるようにすることを目指しています。さまざまなソースと連携し、AppSecチームにアプリケーションセキュリティ態勢の統合的なビューを提供します。さらに、インシデント管理・対応ツールとも連携することで、優先順位付けや修復のワークフローをより適切に自動化し、運用に組み込むことを意図しています。
AppSecにおける「脆弱性管理」の落とし穴
脆弱性管理を基盤とするAppSecアプローチには、組織内の特定の役割に対して、特定の成果を支援できる利点があります。たとえばSecOpsチームは、セキュリティ問題をわかりやすく一覧できることや、対応管理ワークフローを自動化できることから恩恵を受けるでしょう。しかし、現代のアプリケーションセキュリティを管理し、拡張するうえでの有効性には疑問が残ります。重要な2つの点で不十分だからです。
1. アプリケーションコンテキストの不足
前述のとおり、AppSec向けの脆弱性管理ベースのアプローチは、プログラム全体で利用されているSAST、SCA、DAST、IaCなどのアプリケーションセキュリティテスト(AST)ツールが検出したすべてのセキュリティ問題を、単一の画面に集約して表示することを目指しています。
ここでの重大な問題(深刻度の高い問題にかけた表現ではありません!)は、この統合ビューが集約データに依存しており、その大部分が連携する多数のサードパーティ製ASTツールから取得されることです。ベンダーが提供する公開APIを通じて取得されるデータは、ソースごとに形式や構造が異なります。そのため、相関付ける前に、リソースを大量に消費する手作業での正規化と標準化が必要です。ここに大きな課題が生じます。結果として得られるビューには、アプリケーションの重要性(ビジネスにとっての重要度、アーキテクチャ、資産、実行時の挙動)に関するコンテキストが欠けていることが多く、AppSecチームがリスクを適切に評価し、本当に必要な箇所に修正を集中できるよう開発者と連携することが難しくなります。
サードパーティのデータに過度に依存すると、アプリケーションのセキュリティ態勢を断片的、あるいは不完全にしか把握できず、AppSecチームが十分な情報に基づいて判断し、開発者を的確な修正へ導く能力が損なわれます。その結果、セキュリティ問題を一元的に可視化するという利点がうたわれていても、脆弱性管理ベースのアプローチには、堅牢なアプリケーションセキュリティの実現を阻む重大な限界があります。
2. 開発者エクスペリエンスの低さ
AppSecチームと開発チームがアプリケーションリスクを把握するには、開発者が提供されたASTツールを積極的に使う必要があります。さらに、問題が特定、評価され、優先順位が付けられたら、開発者は速やかにコードベースを修正しなければなりません。開発者がセキュリティツールを利用しなければ、このサイクルは機能しません。セキュリティプロセスを開発ワークフローにシームレスに組み込むどころか、障壁や摩擦を生むツールでは、そうなる可能性が高いでしょう。
脆弱性管理の原則に沿ったアプリケーションセキュリティソリューションは、通常、特定のツールに依存しないアプローチを採用し、さまざまなASTツールの問題を単一の画面に集約することに主眼を置いています。その多くは開発者のワークフローとは独立して動作します。その結果、優先順位付けと修復のプロセスが分断され、効果が低下します。開発者エクスペリエンスが損なわれるだけでなく、AppSecチームと開発チームのすでに困難な連携がさらに悪化します。開発者が積極的に関与し、納得して取り組まなければ、AppSecプログラムは苦戦を避けられません。AppSecチームが味方ではなく、敵と見なされるおそれがあるからです。
Snyk AppRiskが支援すること
Snykは、SDLCの早い段階からアプリケーションセキュリティを組み込み、開発者を最優先に考えるASTツールをいち早く実現しました。創業以来、世界中の大企業で開発者ファーストのアプリケーションセキュリティを拡大してきました。現代の「シフトレフト」型アプリケーションセキュリティを適切に管理し、拡張するうえで残る課題に対応するため、Snyk AppRiskはSnykの開発者セキュリティプラットフォームに追加のレイヤーとして導入されました。AppSecチームに、アプリケーションの発見と可視化、カバレッジ管理、リスクベースの優先順位付けを提供します。
Snyk AppRiskは、AppSecプログラムの焦点を個々のセキュリティ問題の管理から、アプリケーションリスク全体の管理へと移します。脆弱性やセキュリティ上の欠陥への対処だけでなく、アプリケーション中心のこのアプローチでは、アプリケーションのアーキテクチャ、資産、実行時の挙動も考慮します。これにより、アプリケーションのセキュリティリスクをできる限り包括的に把握し、ビジネスにおける重要度や、ユーザーとデータに及ぼしうる影響に基づいて、組織がセキュリティ対策に優先順位を付けられるようにします。
Snyk AppRiskは、Snykの開発者ファーストのAST製品であるSnyk Code、Snyk Open Source、Snyk Container、Snyk IaCの上に、AppSecの可視化、ガバナンス、優先順位付けのレイヤーとして機能します。このシームレスな統合と相互運用性により、2つの重要な成果が得られます。第一に、開発サイクルの早い段階でアプリケーションリスクを特定して防止し、正確でタイムリーなセキュリティ分析をSnyk AppRiskに取り込みます。第二に、新たなリスクに効果的に優先順位を付け、必要な箇所に限って、セキュリティガイダンスを活用した実行可能な修正を開発者が行えるようにします。
