脆弱性管理とは?プロセスと優先順位がすべて

公開: 更新: カテゴリ: セキュリティ系

30秒で結論

脆弱性管理とは(全体像)

脆弱性(ぜいじゃくせい)とは、ソフトやシステムにある「攻撃に使われうる弱点・穴」のこと。脆弱性管理は、その穴を見つけて、危険なものから順に直していく一連の活動を指す。

大事なのは、これが一回きりの作業ではなく、ぐるぐる回し続けるプロセスだということ。新しいソフトを入れれば新しい穴が増えるし、世界では毎日のように新しい弱点が見つかる。だから「見つける→直す→確かめる」を繰り返して、穴の少ない状態を保ち続ける。

そしてもう一つの肝が、「どの穴から直すか」の優先順位の付け方。穴の数は多く、全部を一度には直せない。そこで危険度を測る指標を使うが、1つの指標だけでは判断しないのが現代のやり方。ここが試験でいちばん問われる。


詳しく:プロセスと優先順位がすべて

脆弱性管理の中身は、次の2つの表に全部つまっている。まずは作業の流れ。

脆弱性管理プロセス(回し続ける)

手順やることかみくだくと
①棚卸何を持っているか一覧化(CMDB)まず自分の持ち物リストを作る
②スキャンツールで弱点を自動検出持ち物を機械で点検する
③評価・優先順位危険度を測り順番を決めるどの穴が危ないか見きわめる
④パッチ修正プログラムを当てる危ない穴からふさぐ
⑤検証直ったか確かめるちゃんと直ったか点検する

次に、試験で本命の「優先順位の決め方」。危険度は3つの見方を組み合わせる。

どの穴から直すか=3つを合わせて判断

指標何を表すかひとことで
CVSS弱点そのものの深刻さ(点数)穴の大きさ
EPSS実際に悪用される確率狙われやすさ
CISA KEV「すでに悪用されている」弱点の一覧今まさに使われている

ポイントは、CVSSの点数が高いものから機械的に直す、というやり方をしないこと。点数が高くても実際にはほとんど狙われない弱点もあれば、点数は中くらいでも現実に攻撃で使われている弱点もある。だから、深刻さ(CVSS)に加えて、狙われやすさ(EPSS)と、現に使われているか(CISA KEV)を合わせて順番を決める。

もう一つ覚えるのが、弱点を「いつ気づかれたか」で分けた呼び方。

世の中の被害でいちばん多いのは、実はNデイのほう。「修正は出ているのに当てていなかった」という穴が突かれるケースが最多で、ゼロデイが最多というイメージは正しくない。

わかりやすく言い換えると

要するに、脆弱性管理は「家の戸締まり点検」を毎日くり返す活動だとイメージするとラク。

①窓やドアの一覧を作り(棚卸)、②ゆるんでいる所を点検し(スキャン)、③どこから直すか決め(評価)、④鍵をかけ直し(パッチ)、⑤本当に閉まったか確かめる(検証)。

そして「どこから直すか」は、鍵の弱さ(CVSS)だけでなく、空き巣が狙いやすい場所か(EPSS)、実際にそこから入られた事件があるか(CISA KEV)まで見て決める、というわけ。

つまり、深刻さ・狙われやすさ・現に使われているかの3つをそろえて見ると、本当に急いでふさぐべき穴がはっきりする。


試験のツボ

🔴 一番出る:優先順位はCVSS単独で決めない

①CVSS=弱点の深刻さ(点数)

②EPSS=実際に悪用される確率

③CISA KEV=すでに悪用されている弱点の一覧

→ この3つを合わせて総合判断する

🔴 次に出る:ゼロデイとNデイの違い

①ゼロデイ=修正がまだ無い弱点

②Nデイ=修正はあるのに当てていない弱点(被害は実はこちらが最多

🟡 押さえると安定:プロセスの順番

棚卸→スキャン→評価→パッチ→検証を回し続ける(一回で終わりにしない)。OSSの部品の弱点を自動で見つけて直す手伝いをするのがDependabot(GitHubの機能)。


よくある間違い

「CVSSの点数が高い順に直せばよい」→ ✗  点数だけでは決めない。EPSS(狙われやすさ)やCISA KEV(現に悪用中か)も合わせて総合判断する。

「被害が一番多いのはゼロデイ」→ ✗  最多はNデイ(修正があるのに当てていない弱点)。修正を速やかに当てることが効く。

「脆弱性管理は一度やれば完了」→ ✗  新しい弱点は次々に出るので、棚卸から検証までを止めずに回し続ける活動。


試験での出題パターン

実際の問題でたしかめてみよう。

オリジナル問題1(優先順位の付け方)

📝 オリジナル問題 1 脆弱性の優先順位

脆弱性の対応の優先順位に関する次の記述のうち、最も適切なものはどれか。

  1. CVSSの点数が高い脆弱性から順に対応すれば、それだけで優先順位としては十分なものとされている
  2. CVSSの深刻さに加え、EPSSの悪用確率やCISA KEVの悪用状況も合わせて総合的に判断する
  3. 脆弱性の優先順位は担当者のそのときの印象で決めてよく、指標を使って測る必要はないとされる
  4. 優先順位はEPSSの数値だけで決まり、CVSSやCISA KEVの情報は一切参考にしないものとされている
ピーエムロボ
ピーエムロボ 解答・解説

解答は 2 である。

優先順位は、深刻さを表すCVSSだけで決めない。実際に悪用される確率を示すEPSS、すでに悪用されている弱点の一覧であるCISA KEVまで合わせて、総合的に判断する。本機はこの3点セットでの評価を推奨する。

選択肢1や4のように1つの指標だけで決めるのは早計であり、選択肢3の「印象で決める」も指標を使わない点で誤りである。

選択肢判定理由
1CVSS単独では不十分。狙われやすさや悪用状況も見る
2CVSS+EPSS+CISA KEVの総合判断で正しい
3印象でなく指標で測って優先順位を決める
4EPSS単独でなく複数指標を合わせて判断する

オリジナル問題2(ゼロデイとNデイ)

📝 オリジナル問題 2 ゼロデイとNデイ

ゼロデイ脆弱性とNデイ脆弱性に関する次の記述のうち、正しいものはどれか。

  1. ゼロデイは修正プログラムが世の中にまだ無い脆弱性であり、被害件数でみると最も多いのもゼロデイである
  2. Nデイは修正がまだ提供されていない脆弱性を指し、ゼロデイは修正が済んだ脆弱性のことを指している
  3. ゼロデイは修正がまだ無い脆弱性、Nデイは修正があるのに未適用の脆弱性で、被害が多いのはNデイである
  4. ゼロデイもNデイも意味はまったく同じで、修正プログラムの有無による違いはとくにないものとされる
ピーエムロボ
ピーエムロボ 解答・解説

解答は 3 だ。

ゼロデイは修正プログラムがまだ世に出ていない弱点、Nデイは修正があるのにまだ当てていない弱点を指す。そして現実の被害でみると、最多はNデイのほう。修正が出ているのに当てていなかった穴が突かれるケースが多い、と本機は把握している。

選択肢1は「被害最多がゼロデイ」が誤り、選択肢2はゼロデイとNデイの説明が入れかわっており、選択肢4は両者を同じものとしている点で誤りである。

選択肢判定理由
1被害が最多なのはゼロデイでなくNデイ
2ゼロデイとNデイの説明が逆になっている
3修正の有無で区別し、被害最多はNデイで正しい
4修正の有無で意味が異なる別の言葉

オリジナル問題3(Dependabotとプロセス)

📝 オリジナル問題 3 脆弱性管理のプロセスとツール

脆弱性管理に関する次の記述のうち、正しいものはどれか。

  1. Dependabotは、OSS(公開された部品)の弱点を自動で見つけて、更新を促してくれるしくみである
  2. Dependabotは社内のサーバーの電源を自動で落とすしくみで、脆弱性の検出とは直接の関係がないとされる
  3. 脆弱性管理は一度スキャンして対応すれば完了で、その後にくり返し回し続ける必要はないものとされている
  4. 脆弱性管理のプロセスは、検証から始めてパッチ、棚卸、スキャンの順に一回だけ実施すればよいとされる
ピーエムロボ
ピーエムロボ 解答・解説

解答は 1 だ。

Dependabotは、プログラムが使っているOSS(無料で公開された部品)に弱点が見つかると、自動で知らせて新しい版への更新を促してくれるしくみだ。GitHubで使える。本機はこうした自動化を推奨する。

選択肢2は機能の説明が誤り、選択肢3は「一度で完了」が誤りで実際は回し続ける活動、選択肢4は順番が誤りで、正しくは棚卸→スキャン→評価→パッチ→検証である。

選択肢判定理由
1OSSの弱点を自動検出し更新を促す。GitHubで使えて正しい
2電源を落とすしくみではない
3一度で完了ではなく回し続ける活動
4正しくは棚卸→スキャン→評価→パッチ→検証の順

まとめ

押さえどころ

次に学ぶ


執筆: SikakuQuest編集部

勉強は、クエストになった。

資格の勉強を、冒険に変えるRPG学習アプリ

App Storeで見る