メインコンテンツへスキップ

脆弱性とは

この記事は約 2 分で読めます

脆弱性 (Vulnerability) とは、ソフトウェアやシステムに存在するセキュリティ上の欠陥や弱点のことです。攻撃者はこの脆弱性を悪用して不正アクセス、データ窃取、サービス妨害などを行います。脆弱性は設計上の問題、実装上のバグ、設定ミスなどさまざまな原因で生じます。 CVE (Common Vulnerabilities and Exposures) として公開データベースで管理されており、 2024 年には年間 3 万件以上の新規 CVE が登録されるなど、脆弱性の発見ペースは加速しています。

見つけた後に決めることと確かめること

見つかったという報告は、それだけでは何をどの順で扱うかを決めません。深刻度として示される数値は、性質の異なるものを並べて比べられるように条件をそろえて得た目安であり、実際に起こることの大きさをそのまま表したものではありません。同じ数値でも、対象が外から届く位置にあるのか、内側からしか触れられない位置にあるのか、そもそも使っていない機能の中に含まれているのかで、到達のしやすさは変わります。数値だけを基準にすると、数値は低いのに到達しやすいものが後回しになります。直したかどうかも、作業の記録では決まりません。入れ替えを終えた記録が残っていても、動き続けている処理が読み込んだ時点の古い内容を保持したままである場合や、同じ構成から複製された環境の一部にしか反映されていない場合には、記録の上では終わっていて実態としては残ります。完了の判断を扱った件数に置くと、残っているものはその件数の外に出るため見えなくなります。そして影響があるかどうかは、名前が一致するかでは決まりません。同じ名前で呼ばれるものでも、どの版であるか、どの設定で動いているかの組み合わせによって、当てはまる場合と当てはまらない場合があります。名前の一致だけで対象を数えると、当てはまらないものを数え、当てはまるものを見落とします。

歴史的背景

脆弱性管理の歴史は 1988 年の Morris Worm に遡ります。この事件をきっかけに CERT/CC (Computer Emergency Response Team) が設立され、脆弱性の組織的な管理が始まりました。 1999 年に MITRE が CVE 制度を創設し、脆弱性に一意の識別番号を付与する仕組みが確立されました。 2021 年の Log4Shell (CVE-2021-44228) は CVSS スコア 10.0 の最高深刻度で、 Java の広範なライブラリに影響し、世界中の組織が緊急対応を迫られました。この事件はオープンソースソフトウェアの依存関係管理の重要性を改めて浮き彫りにしました。

脆弱性の分類

CVSS (Common Vulnerability Scoring System) は脆弱性の深刻度を 0.0 から 10.0 のスコアで評価する国際標準です。バッファオーバーフロー、SQL インジェクション、XSS、権限昇格など、脆弱性の種類は多岐にわたります。ゼロデイ脆弱性は修正パッチが提供される前に悪用される特に危険な脆弱性です。

ユーザーとしての対策

よくある誤解は「セキュリティソフトを入れていれば脆弱性は問題ない」というものです。セキュリティソフトは既知のマルウェアを検出しますが、脆弱性そのものを修正するわけではありません。 OS やアプリケーションのアップデートを速やかに適用し、既知の脆弱性を修正することが基本です。脆弱性を悪用されてパスワードが漏洩するリスクに備え、サービスごとに固有のランダムパスワードを設定しておくことが重要です。

関連用語

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