FutureVulsの自動トリアージ機能は3つのサブ機能から構成されており、これらを組み合わせて利用することが推奨されます。
特に「SSVC決定木による自動トリアージ機能」は強く推奨されます。この機能を用いることで、リスクに応じた対応の優先順位を自動的に判断し、運用者へのタスク設定も自動化できます。これにより、日々の脆弱性管理を効率的かつ賢く行うことが可能となります。
CVSS基本値「のみ」を判断基準にした脆弱性管理は「実際のリスクベース」で判断できないという課題があります。またCVSS基本値ベースの運用は下記のような課題があるといわれています。
上記のようなCVSSの課題を解決するために考案された脆弱性管理の最新のフレームワークが、カーネギーメロン大学の論文「SSVC」(Stakeholder-Specific Vulnerability Categorization:直訳「利害関係者固有の脆弱性分類」) であり、FutureVulsでは最新のSSVCトリアージエンジンを実装、搭載しています。
SSVCは、脆弱性そのものの情報だけではなく以下の4つの情報をもとに決定木を用いて「実際のリスク」を導出して、対応を4段階で自動決定できます。
SSVC決定木への4つの入力情報(Decision Point)
これら4つの情報と脆弱性情報を変数に決定木を辿ると、出力として下記の4つの対応レベル(SSVC Priority)が導出されます。
SSVC Priority | 内容 |
---|---|
Immediate | すべてのリソースを集中し必要に応じて組織の通常業務を停止して可能な限り迅速に対応する |
Out-of-Cycle | 通常よりも迅速に行動し、計画外の機会に緩和策または修復策を実施する |
Scheduled | 定期メンテナンス時に対応する |
Defer | 現時点では対応しない |
CVSSの課題とSSVCの概要についてはこちらのパンフレットも参照してください。
上記パンフレットのPDFは「こちらから」ダウンロードできます。
FutureVulsでSSVCのトリアージエンジンの利用を開始するためには、グループ設定よりシステムごとに異なる2つの情報を設定します。
このようにシステムごとに異なる2つの特徴を設定するだけでSSVCの自動トリアージエンジンが動作し、検知された脆弱性を4つのレベルに自動分類します。
設定の詳細は「manual>SSVC設定方法」を参照してください。SSVC決定木のカスタマイズも可能です。
SSVC決定木から導出されたSSVC Priorityは「判断根拠が明確である」というメリットがあります。FutureVulsではSSVC決定木の導出過程が一目瞭然でわかるように表示されます。導出過程は「タスクタブ > タスク詳細 > SSVC」に下図のように表示されます。
脆弱性タブやタスク系タブなどの一番画面にも「SSVC Priority」列が追加されていますので、たとえば「immediate」のみを表示する、といったようなフィルタ操作も一覧画面上で可能です。
また、「脆弱性タブ > 重要な未対応の条件」にSSVCの結果を指定すると、Immediate
や Out Of Cycle
を「重要な未対応」に振り分けることもできます。
FutureVulsではSSVCが出力した4種類のSSVC PriorityをTriggerとしたアクションを設定できます。
たとえば、Immediate
なタスクは 優先度
を High
にして タスク期限
を 2週間後
に設定したり、Scheduled
なタスクは タスクステータス
を defer
に、優先度
を Low
に、タスク期限
をCRON式で例えば次回メンテナンス日の 12月2週の水曜日
といった設定もできます。具体的な設定方法は「マニュアル」を参照してください。
SSVC機能を活用すると、日常の運用はどのように変わるでしょうか。
SSVCによって自動的にトリアージされたタスクは、日々の運用の中で継続的に差分をチェックし、タスク管理する流れとなります。
「immediate」や「out-of-cycle」と評価されたタスクは、「脆弱性タブ>重要な未対応」として分類されます。このカテゴリに分類された脆弱性を日々チェックすることで、高リスクな脆弱性に対して継続的に対応可能です。SSVCトリガー&アクション機能を利用すれば、期限、ステータス、優先度を自動で設定し、運用者に自動的に指示を出すことができます。
さらに、「scheduled」「defer」と評価されたタスクについては、SSVCトリガー&アクション機能を活用して、タスクステータスを「defer」や「risk_accepted」に自動設定することで、「保留中」や「対応済」として自動トリアージする設定が可能です。
SSVC機能の導入により、以下のような運用の効率化が期待できます:
これにより、日々の運用において専門知識が必要であり、コストがかかる部分である「優先度の判断 -> タスクの操作 -> 運用者への指示」の一連の業務を自動化できます。
CSIRTとして、全社の脆弱性を横断的に管理する責務を持っている立場から、日常の具体的な運用を考えてみましょう。
Immediate
または Out of Cycle
に分類されるタスク)の対応状況を監視し対応を催促します。
Immediate
に分類された脆弱性をフィルタリングできます。
Immediate
に分類された脆弱性を「Danger」状態に設定できます。該当する脆弱性が検出されたグループのメンバー全員に警告メールを送信できます。
これまで長らく組織のCSIRTにとっては、リアルな「リスク」に基づいたトリアージは難易度、リソース、コストの面で大きな課題でした。 FutureVulsのSSVC機能を用いるとCSIRTの脆弱性管理業務が自動化され、FutureVulsの画面上からのチェック、注意喚起、と対応の追跡となり圧倒的に効率化されます。
※なお、SSVCでは不十分な場合は「ルールベースの自動注意喚起機能」を組み合わせて運用できます。
このページで説明した内容は、「Vuls祭り#6」で発表した内容の簡略版です。SSVCの詳細や実際のシステムでの導出方法についてより詳細に知りたい場合は「Youtube:最新の脆弱性トリアージフレームワーク「SSVC」の概要とFutureVulsでの実装例 Vuls祭り#6」をご覧ください。
動画では下記の5パターンのシステムを例にSSVC決定木の導出過程を説明しています。(動画 27:00~)
FutureVuls上で検知された脆弱性をSSVC決定木を用いて実際に自動分類した結果も紹介しています。(動画 31:10~)
上のスライドの通り、合計で4,716件の脆弱性に対して、
CVSS基本スコアベースでのトリアージと比較して、SSVCは圧倒的なフィルタ性能(システム環境によっては15倍以上絞り込み可能)であり、日々の脆弱性管理において現実的に運用可能な件数まで「実際のリスクベース」で絞りこめるという結果となりました。
SSVCの詳細やFutureVulsの自動トリアージについては下記ブログやマニュアルを参照してください。
「Danger機能」を用いると、他の運用者に注意喚起することが可能となります。 DangerされたCVEは赤くハイライトされます。 他グループの運用者は、注意喚起された脆弱性であることを認識し、トピックを表示することで注意喚起の詳細情報を知ることができます。たとえば、SSVCの結果現状は「Immediate」にならないが、念のためCVSSスコアが10のものを組織内に注意喚起するといったようにSSVCを補完する機能として使えます。
「自動非表示機能」は、「低リスクとみなす」ルールを事前に定義し、ルールに該当する低リスクなタスクを自動で非表示にする機能です(検知はされるが、タスクが自動で非表示ステータスになる)。