対応方針の検討

常に最新の状態にしていない限り、残存する脆弱性は多数存在します。 FutureVulsで可視化された脆弱性について、初回のトリアージ(許容するものの選別や、優先度付)を行います。

このページは、トリアージ方針やFutureVuls上での扱いを記載しています。 実際の画面上での作業は、次のページで実施します。

本チュートリアルでは、以下の利用者を想定しています。

以下の利用者環境を想定しています。 高度な機能を持つ環境の場合は、適宜、方針に従った運用をして下さい。

  • 担当者は少なく、緊急度の高いものをなるべく早く選別したい。
  • インターネットへの公開サーバを想定しており、一旦はローカルからの攻撃については除外して考える。
    • サーバへのログイン監査やログ監査を行っているため、内部のログインユーザの悪意有る行動は把握できる想定。
    • ネットワークアクセスからのローカル権限昇格を用いた攻撃などは、ネットワークアクセスの攻撃を防ぐことで、一旦は緩和できるとする方針。

方針

多数の脆弱性の対応順位付けをするために、以下のように対処を行っていきます。

  • 対応するリスクについて検討する
    • 受容できるもの/できないもの、の判断基準を明確にする
    • 各脆弱性について、受容できるかを検討する
  • 受容する脆弱性を、除外する
    • FutureVuls上で、非表示にする
  • 受容できない脆弱性を、対応緊急度に応じて優先度をつけ、対応する
    • アップデート等の対応を行う

上記の各フェーズに対して検討します。

対応するリスクについて検討する

脆弱性により発生する「リスク」に対して、検討を行います。

  • 発生するリスクに対して、以下の対処が可能かを検討します
    • 軽減:発生頻度や影響度を減らす対策。不正なWEBアクセスに対して、WAFで防御するなど。
    • 回避:発生頻度がなくなるような対策。不使用サービスのアンインストールなど。
    • 転嫁:影響や責任を、別の対象に移す対策。ハードウェア故障に対して、所有からSaaSサービスへの移行など。
    • 受容:対策を行わず、影響を受け入れる。ローカルの権限昇格の脆弱性について、ログインできない前提で許容するなど。
  • これらのどれにも当てはまらないものについて、対応が必要になります。
    • 影響を軽減や回避や転嫁できず、受け入れられないものを対象とする。

軽減/受容/回避/転嫁できるかを検討し、対応対象から除外します。

  • 軽減
    • 例えば、WAFのシグネチャ追加により防御する、などを行えるかを検討します。
    • あくまで軽減であり、完全に対策がされるわけではないことに注意が必要です。
  • 回避
    • 例えば、対象の「脆弱性の有るサービス」を止められるか、別の同様のサービスに移行できるか、などを検討します。
    • また、アップデートを行う、という選択肢も含まれます。
    • 通常、アップデート以外の選択肢を取るのは難しいと考えられます。(例えば、BINDからPowerDNSへ移行する、など)
  • 「受容するリスク」を決定する
    • 例えば、攻撃はローカルからしかできないもの(CVSS VectorのAVが、A,L,Pなど)は前提条件が有るので受容する、などを検討します。
    • システムが配置されている場所や、軽減や回避ができるもの、という観点でも受容可能なものを検討します。
    • どこからの攻撃(インターネット側のみ、内部ネットワークも含む、等)、軽減や回避が可能、発生する影響(DoSによるサービス停止は受容できるが データの漏洩や改ざんは許されない、等)などの、「システムが置かれている社会的環境」を元に受容できる範囲を決定します。

受容する脆弱性を除外する

受容するリスクは、以下が想定可能です。

  • アップデートパッチが提供されていないもの
    • 且つ、緩和策が無い場合は、対処の方法がありません。この場合は、対応可能になった場合に再度検討を行います。
    • パッチ提供:☓、緩和策/回避策:☓ → 非表示(脆弱性情報に対して何らかの変更があるまで)
  • ネットワーク経由の攻撃ができないもの
    • ローカルで発現する脆弱性(権限昇格やバッファオーバーフロー)などは、別の対策により緩和できている=リスク低減できている、という場合があります。
    • その際は、「攻撃区分がローカルのものは受容する」という選択肢があります。
    • NWから攻撃可能: ☓ →非表示(脆弱性情報に対して何らかの変更が有るまで)
  • 回避や軽減が可能なもの
    • 軽減については、「設定変更により影響を受けなくなる」ものが含まれます
  • 発現する影響の検討
    • 可用性を重視しないシステムであれば、DoSが発生する脆弱性は受容できる可能性があります。
    • 一般的には、リモートでのコード実行(RCE)などは無視できない可能性があります。

受容できるもののうち「直接対応しないもの」を、FutureVuls上で除外(非表示)にします。

  • 現在表示されている脆弱性を「更新がされるまでは対応しない」ものとして扱います。
    • 時折、CVSS VectorやBaseScoreが更新されることがあり、その際は再検討を行います。
    • 例えば、パッチ未提供や、ネットワークからの攻撃以外のものについて、一括で非表示にします。
  • 回避や軽減が可能なものについては、対応が終わった段階で、タスクを「WORKAROUND」に変更します。
    • 回避軽減により、リスクを受容できる状態にしたことを記録します。

受容できない脆弱性を、対応緊急度に応じて優先度をつけ、対応する

受容できない脆弱性について、個別に対応を検討します。 CVSSのスコアだけではなく、複数の指標から対策優先度を決定し、順次対応していきます。

  • 以下の項目を参考に、対策優先度を決定します。
    • NWから攻撃可能
    • 緩和策/回避策 なし
    • 攻撃コードあり
    • 権限無しで攻撃可能
    • 警戒情報 あり
  • 重要視する順番の一例を示します。

    • 1. 警戒情報は、攻撃の可能性が高い場合や影響度が高い場合に、JPCERT/CCなどから公開されます。
    • 2. NWから攻撃可能 は、インターネット側からのアクセスで攻撃される可能性が高くなります。
    • 3. 攻撃コードありは、公開されたコードを元に攻撃される可能性が高くなります。
    • 4. 緩和策/回避策なし 及び 権限無しで攻撃可能は、攻撃の容易さに影響します。
  • 一例として、以下の優先順位で対応を決定します。

    • 0. CVSS v3/v2 または Red hat のスコア順に表示する
    • 1. 警戒情報 あり、 攻撃コード あり、 緩和策/回避策 なし
    • 2. 警戒情報 あり、 攻撃コード あり
    • 既に攻撃用のコードが公開されており、JPCERT/CC等からの警戒報告が出ているものは、すぐにでも攻撃が始まる(既に始まっている)可能性が高い為、最優先で対応する
    • 3. NWから攻撃可能攻撃コードあり
    • 4. NWから攻撃可能

優先度が決定できた後、適用について検討します。

  • すぐに適用が可能なのか
    • 検証が必要であれば、ステージングでの検証の計画が必要です。
    • 優先度が低い場合、優先度が高いものと同時に対応するか、別途定期アップデートなどで適用するのかの計画が必要です。
  • アップデートを行う場合、どのバージョンにするのか
    • 基本的には 最新版 にするのが望ましいです。他の脆弱性も同時に解決される場合が多いです。
    • また、今後更新版が公開される場合、一つ前のバージョンからの動作確認をして提供されることが多いです。その為、なるべく新しいものにしておくことで、動作確認を一部省略可能と考えられます。

備考

以上、大まかな対処フローを記載しましたが、組織のポリシーや運用ポリシーにより、適切ではない場合があります。 以下のような対応も検討が必要です。

  • パッチ提供:☓、緩和策/回避策:☓ の環境でも、攻撃コードあり:○ の場合、注意が必要な場合があります。
    • 攻撃コードは有るが防御策がない、場合があります。
    • しかしながら、「悪用はできない事を確認したため、インパクトは低いと考える。将来のアップデートでこの問題に対処する予定である。」という対応がされている場合もあります(バックポートを利用している、RHELなどで散見されます)。
    • 脆弱性ハンドリングのリソースが潤沢であればここまで確認したほうが良いですが、そうでない場合は一旦はベンダ判断を以てリスク許容としても良いと思います。

FutureVulsでの注意点

  • 対応の抜け漏れ確認は 脆弱性 タブの 未対策あり を利用します。
    • ステータスが NEW 且つ 非表示ではない もの = 検知後に対応を行っていないものが表示されます。
  • サーバ毎に判断する必要の有る脆弱性は、脆弱性 タブではなく、サーバタブ、 ロールタブ、 タスクタブで確認をする。
    • 公開サーバであれば無視してよいが、内部サーバでは無視できない、ような判断が必要な場合があります。
    • その際は、 サーバタブ、 ロールタブ、 タスクタブで対象のCVE-IDを指定し、サーバ毎に非表示設定やステータス変更を行う必要があります。