はじめに #
前文 #
本ドキュメントは「組織が脆弱性に適切に対応することを目的として、脆弱性診断を実施した際に提供された報告書に記載された脆弱性対応の優先順位付け(トリアージ)を行うために、その組織に適したトリアージガイドラインを作成するための手引き」です。
組織においてセキュリティ対応を行うためのリソースは限りあるものです。そのため、発見されたすべての脆弱性に対応できるとは限りません。限りあるリソースを最大効率で活用するためには、適切に優先順位を付けて対応していく必要があります。
適切なトリアージを行うためには明確な判断基準が必要です。 #
もともと「トリアージ(Triage)」というのは、大事故や大規模災害などで多数の傷病者がいる状況において、傷病の緊急度や重症度に応じて優先度を決めることです。災害医療では標準化が図られていて、最大効率を得るためにさまざまな基準が決められています。
サイバーセキュリティの分野でも、インシデントハンドリングにおいてトリアージを適切に行うためには、あらかじめトリアージのための判断基準を明確に定めておく必要があります。
ただ、トリアージの判断基準は「守るべきものは何か?」という基本的な組織の活動ポリシーによって変わるため、組織ごとに適切なトリアージガイドラインは異なります。
脆弱性の取扱はあなた自身で判断する必要があります。 #
脆弱性診断実施時の報告書には、発見された脆弱性の「リスクの大きさ」についての記載があります。高・中・低の表記や数値によってリスクの大きさが示されていますが、その記載はあくまで脆弱性そのものの脅威の大きさです。
どういうシステムに存在する脆弱性なのか、そのシステムはどのくらい重要なのか、攻撃コードは公開されているのか、すでに攻撃は起きているのか、といった状況や環境によっても対応の優先順位は変わってきます。
そのため、脆弱性診断で発見された脆弱性をどう取り扱うのか、外部から報告された脆弱性をどう取り扱うのかは、あなたの組織自身で判断する必要があります。
本ドキュメントは、トリアージについてこれから取り組むという組織や、ある程度取り組んでいるが自社に明確なガイドラインがない、見直したいといった組織が、その組織に適したトリアージガイドラインを作成して頂くことを目的としています。
なぜ脆弱性のトリアージが必要なのか #
顕在化した脆弱性のすべてを修正できるのが理想ですが、対応するリソース(人員、インフラ、予算)は無限ではありません。また、すべてを修正しようとして、その検討に時間がかかりすぎ、その結果早期に修正すべきものまでが後回しになってしまうことがあります。
そのため、脆弱性のトリアージ(対応の優先度付け)というのは非常に重要なものとなります。
なお、トリアージを行う目的は対応のための単なる優先順位付けだけではありません。それは、脆弱性診断で報告を受けた脆弱性やベンダーから公表された脆弱性のすべてが対応すべきものとは限らないからです。
脆弱性対応の判断フロー #
脆弱性の認知/検知時の対応判断は、以下のフローのように、「①実際に脆弱性の影響を受けるのか、その範囲はどの程度なのかを分析」し、「②脆弱性の危険度や対象の重要度などからリスクを評価」し、「③対象の脆弱性の対応方針」を決定します。 各要素について対応判断毎に検討するよりも、対応方基本方針(ガイドライン)として、評価や判断時の基準を決めておくことで、脆弱性認知/検知時に円滑に対応することが可能となります。
flowchart LR S(脆弱性の認知) --> B[①影響分析] --> C[②リスク評価] --> D["③対応方針決定(記録)"] --> E(対応フロー全体に戻る)
例えば、報告を受けた脆弱性が問題のあるソフトウェアの利用だった場合に、そのソフトウェアの設定によっては問題とはならない場合があります。また、あくまでも脆弱性が存在する可能性を報告されていただけで、実際には影響がない可能性もあります。
対処すべきものであるかどうかを見極めた上で、その優先度を決める(トリアージ)必要があります。この見極めた結果、リスクの高い脆弱性は優先的に対応し、リスクの低い脆弱性は後回しにします。そのリスクが高い、低いというのをどのように判断するのか。また、どのくらい高ければどのくらい急がないといけないのか。このような判断の一助となる基準を決めておくことが大切です。システムが扱う情報、機能、規模などシステムの重要度が各組織で異なるため、それに応じて各組織独自の基準を作っていく必要があります。
なお、対処すべきかの見極めが簡単にできるものと調査が必要なものがあります。そして、その調査にもどのくらい時間がかかるのかは、その脆弱性や対応する会社の組織体制によって異なります。この辺りは対応部門の状況に応じて考える必要があるでしょう。
不要な対応はしないことも決められるため、トータルコストが抑えられますし、基準が決まっていることで上位者への報告コストも抑えられます。何かあったときによりどころとなるすでに社内で承認がとられている基準があるのは担当者の助けとなります。
ただし、トリアージはひとまずの優先順位を決めるためのものです。
対応にかけられるリソース、コスト、スケジュールなど諸々の事情によって、最終的にはトリアージで決めた優先順位通りに対応しないという経営判断を下す場合がある点に留意してください。第4章に判断事例を挙げていますので、経営判断の参考としてください。
トリアージガイドライン運用のためのフロー #
本ドキュメントを参考にトリアージガイドラインを作成する際のフローを記載します。
最低限のトリアージ体制を作る #
これから自組織の脆弱性トリアージガイドラインを作成される方は、まず第1章を参考にしてガイドラインを作成し、最低限のトリアージを迅速に行える体制を作ることを推奨しています。
第1章では、対応基本方針の策定について説明しています。この段階でのトリアージ基準は、高い専門知識を持っていない人でも判断できる程度の基準にとどめています。 それにより迅速に優先順位付けができるようになり、また優先度について関係者全体の意識をある程度揃えることができます。 ただし簡易的な判断基準であるため、攻撃による実際のリスクとの乖離がある可能性があります。
そのため、自組織に適したトリアージガイドラインを作るためには、運用を行いながらガイドラインを見直していく必要があります。 また、部署やプロジェクトごとにトリアージの判断基準などが異なることもあります。その場合には、プロジェクトごとにトリアージガイドラインを作ることも検討してください。
トリアージの精度を向上させる #
ガイドラインを利用した際に気付いた改善点の反映やトリアージの精度向上に取り組まれる際には、第2章以降を参考にしてください。
第2章では、高度な専門知識をもった人がリスク判定の精度を上げるための手法について説明しています。 第3章では、詳細な判断に利用できそうなフレームワークをいくつか紹介しています。判断材料を集めるために多少の時間がかかる場合もありますので、トリアージのために時間的余裕がある場合を想定したガイドラインを作成していきたいという場合に活用してください。
このようにガイドラインは一度作成したものを使い続けるのではなく、脆弱性対応が完了した後に、トリアージ時の改善点(反省点)を踏まえ、アップデートすることを推奨します。
flowchart LR op1[作成目的の確認]; op2["ガイドライン作成 (各項目の検討/改善点の反映)"]; op3[組織内での合意]; op4[トリアージ実施]; op5[脆弱性対応 実施後の振返り]; op1-->op2-->op3-->op4-->op5; op5-->op2;