脆弱性

攻撃に悪用されうるソフトウェアやシステムの弱点 / 欠陥

セキュリティリスク
脆弱性」の技術書を見る →

脆弱性とは

脆弱性 (Vulnerability) とは、ソフトウェアやシステムに存在する、攻撃に悪用されうる弱点や欠陥のことだ。設計ミス、実装の誤り、設定の不備などが原因で生まれ、放置すると情報漏洩・不正アクセス・サービス停止といった被害につながる。完璧なソフトウェアは存在しないため、脆弱性とどう向き合うかがセキュリティの中心課題になる。

代表的な脆弱性

種類概要
SQL インジェクション不正な入力で DB を操作される
クロスサイトスクリプティング悪意あるスクリプトを埋め込まれる
認証・認可の不備本人確認や権限判定が抜け、他人のデータを読み書きできる
設定ミス公開すべきでない情報が露出する

多くは「入力を信用しすぎる」「権限の確認を怠る」といった、基本的な原則の見落としから生まれる。

識別番号と深刻度の付き方

公開されている製品の脆弱性には CVE 番号が振られるが、これは発見と同時に自動で付くものではない。報告者が MITRE の CVE Assignment Team か、製品ベンダーなどの CNA (CVE Numbering Authority) に採番を依頼する仕組みで、収載するかどうかと何件に分けるかは定められた判定手順で決まる。つまり報告すれば必ず番号が付くとは限らず、対象外と判断されれば REJECTED になる。採番直後は内容が伏せられた RESERVED の状態に置かれ、修正版の公開に合わせて公表するのが通例だ。ベンダーが該当を否定した番号は DISPUTED として扱われる。

CVE 番号自体は識別子と説明文であって、深刻さの点数は別立てになっている。共通の採点尺度が CVSS で、FIRST (Forum of Incident Response and Security Teams) の CVSS SIG が管理し、2026 年 8 月時点の現行版は 2023 年 11 月公開の 4.0 である。基本評価基準 (Base) は 0.0 から 10.0 の値をとり、9.0 以上が Critical、7.0 以上が High という定性区分に対応する。米国 NIST が運営する NVD は、公開情報をもとに CVE へ CVSS と CWE (弱点の種類分類) を関連付ける役割を担う。

優先順位のつけ方

CVSS の Base は「時間が経っても利用環境が変わっても一定な、脆弱性そのものの性質」を表す設計で、実際に悪用されているか (Threat) や自組織のどこで動いているか (Environmental) は織り込まれていない。だから点数の高い順に並べただけの計画は実態から外れる。9 点台でも自社では到達し得ないコード経路にしか存在しないことがあり、逆に 6 点台でも現実に攻撃が観測されていることがある。悪用実績の目安として使われるのが CISA の KEV (Known Exploited Vulnerabilities) カタログで、NVD も KEV に載った CVE は 1 営業日以内に分析対象へ入れる運用にしている。自組織の資産のどこで動いているかと、悪用が現実になっているかを掛け合わせて順序を決めるのが実務の形だ。

攻撃者も公表情報を同じ日に見ているため、公表から対策までの時間がそのまま露出時間になる。利用しているソフトウェアやライブラリに脆弱性が見つかったら、速やかに修正版へ更新することが基本的な防御になる。

向き合い方の要点

脆弱性対策で重要なのは、「完璧に防ぐ」のではなく「リスクを管理する」発想だ。すべての弱点を即座になくすのは現実的でないため、影響度と発生可能性から優先順位をつけて対処する。また、自分が書くコードだけでなく、依存している多数のライブラリにも脆弱性は潜む。使っているものを把握し、更新を追い続ける運用が欠かせない。運用に落とすなら、深刻度ごとに何日以内に更新するかの内部目標を決め、依存ライブラリの脆弱性検査を CI に組み込んで人の記憶に頼らない形にしておく。個々の番号を追いかける手間より、この仕組みがあるかどうかが実際の露出時間を決める。

理解を深めるには関連書籍が役立つ。

この記事は役に立ちましたか?

関連用語

関連する記事