脆弱性
攻撃に悪用されうるソフトウェアやシステムの弱点・欠陥
セキュリティリスク
「脆弱性」の技術書を見る (36 冊) →脆弱性とは
脆弱性 (Vulnerability) とは、ソフトウェアやシステムに存在する、攻撃に悪用されうる弱点や欠陥のことだ。設計ミス、実装の誤り、設定の不備などが原因で生まれ、放置すると情報漏洩・不正アクセス・サービス停止といった被害につながる。完璧なソフトウェアは存在しないため、脆弱性とどう向き合うかがセキュリティの中心課題になる。
代表的な脆弱性
| 種類 | 概要 |
|---|---|
| SQL インジェクション | 不正な入力で DB を操作される |
| クロスサイトスクリプティング | 悪意あるスクリプトを埋め込まれる |
| 認証の不備 | 権限のない操作を許してしまう |
| 設定ミス | 公開すべきでない情報が露出する |
多くは「入力を信用しすぎる」「権限の確認を怠る」といった、基本的な原則の見落としから生まれる。
発見と対応の流れ
脆弱性は、発見されると識別番号 (CVE) が付与され、公表される。攻撃者も同じ情報を見るため、公表から対策までの時間が勝負になる。利用しているソフトウェアやライブラリに脆弱性が見つかったら、速やかに修正版へ更新することが基本的な防御になる。
向き合い方の要点
脆弱性対策で重要なのは、「完璧に防ぐ」のではなく「リスクを管理する」発想だ。すべての弱点を即座になくすのは現実的でないため、影響度と発生可能性から優先順位をつけて対処する。また、自分が書くコードだけでなく、依存している多数のライブラリにも脆弱性は潜む。使っているものを把握し、更新を追い続ける運用が欠かせない。脆弱性は「一度直せば終わり」ではなく、継続的に向き合い続ける対象だと捉えることが大切だ。
理解を深めるには関連書籍が役立つ。
この記事は役に立ちましたか?