皆さまこんにちは、IIM サポートチームです。
このブログでは、Dynatrace の最新機能や便利な使い方を、気軽に読めてすぐに役立つ形でご紹介しています。
#071では、Dynatrace Application Security(以下 AppSec)の各機能概要をご紹介しました。
本記事では、Dynatraceの強みである実行時の可視化と依存関係の把握がAppSecでどのように活かされているのかを整理いたします。
その上でDynatraceが検出するセキュリティイベントの全体像を俯瞰し、脆弱性検出の仕組みとDynatrace UIでどのように確認し、運用に役立てられるかをご紹介いたします。
AppSecを有効化すると、[Application Security] > [Security Overview]から、環境全体のセキュリティ状態を一目で俯瞰できます。
ここで確認できるのは、単なる脆弱性一覧ではありません。
いまどの程度のリスクがあるか
どのアプリケーション/サービスが影響を受けているのか
そのリスクは実際のシステム構成において影響があるのか
といった、「運用判断に必要な情報」が集約されています。
[Security Overview]で環境全体のセキュリティリスクを俯瞰することで、どこに対してどの程度の対応が必要かを判断するための材料を把握することができます。
[Security Overview]で全体のリスク状況を把握したうえで、次に重要となるのが、個々の脆弱性をどのように評価・優先順位付けしているのかという点です。
RVAでは、アプリケーション処理の流れや呼び出し関係、実行状況を詳細に分析し、リスクと影響度を自動的に評価・優先順位付けすることで、「本当に対応が必要な脆弱性」だけに集中できる仕組みが提供されています。
①OneAgentによる実行中の把握
各サーバやコンテナに導入されたOneAgentが、アプリケーションの実行時に実際に使用されているライブラリやパッケージを正確に把握します。
そのため、以下のようなコンポーネントは脆弱性のリスク評価や優先度が低く評価されます。
インストールされているだけ
ビルドには含まれているが実際には使用されていないもの
② 脆弱性情報の取得(Snyk / NVD)
Dynatraceは、脆弱性情報の更新有無を5分に1回チェックし、更新があった場合は通常2時間以内にその内容を反映します。
また、 すでに取得した脆弱性情報を使った実行環境に対する脆弱性の影響評価は1分に1回実施されているため、
新しい脆弱性が公開された
評価(リスク)が変わった
といった状況の変化も、比較的早く検知されます。
③ トポロジー情報を使った影響分析
RVAの最も特徴的な点が、システム全体の関係性(トポロジー)を使った影響分析です。
実行中のプロセスを起点に、
外部からのアクセス有無
データベース呼び出しなど機密データへの影響
を確認し、実環境に即したリスクを評価します。
このように「脆弱性が存在するか」ではなく「このシステム構成で、本当に危険か」という観点でリスクを評価します。
そのため、複数システムで同一の脆弱性が検出された場合でも、システムごとの構成や利用状況に応じて、リスクの高低を判別することが可能です。
Dynatraceで検出された脆弱性は、[Application Security] > [Vulnerabilities]アプリから一覧で確認できます。
アプリを開くと、検出された脆弱性ごとに重要度(DSS)、評価 、ステータスなどを確認できます。
(表示されていない項目は、[Column hidden]から表示/非表示を調整してください。)
気になる脆弱性をクリックすると、詳細画面が開き、脆弱性の概要および詳細情報に加え、影響範囲や脆弱性の推移を確認することができます。
RVAでは脆弱性のリスクを実行環境に基づいて評価しますが、その評価結果を現場で判断しやすい形に数値化・整理するための指標がDynatrace Security Score (DSS)です。
業界標準のCVSSは常に最悪のシナリオを想定するため、リスクが過大評価されやすく、優先順位の判断が難しいという課題があります。
Dynatraceでは、トポロジー情報を加味したDSSにより、実環境に即した現実的な優先度へ変換し、重要度別通知で迅速な対応を可能にします。
算出されたDSSをもとに脆弱性を4段階の重要度に分類することで、今すぐ対応すべきものと後回しにできるものが明確になります。
また、重要度ごとに通知を制御できるため、すべての脆弱性に振り回されることなく、本当に対応が必要なものだけに注力した運用が可能になります。