脆弱(ぜいじゃく)性対策とは、OSやアプリケーションソフトウェアなどに存在するセキュリティ上の欠陥を特定し、悪用される可能性を減らすための対策を講じることだ。脆弱性対策の目的は、悪意のある攻撃や不正なアクセスからシステムやデータを保護することにある(続きはページの末尾へ)。
脆弱性対策を実行するには複数の段階を踏む必要がある。まず、自社が利用しているOSやアプリケーションソフトウェアについて名称やバージョン、どこで利用されているのかを調べて表にまとめる必要がある。
次に脆弱性情報を公開している組織の情報を定期的に取得する。国内ではIPA(独立行政法人情報処理推進機構)が「脆弱性対策情報(JVN)」を公開している他、JPCERT/CCも「脆弱性対策情報」を提供している。海外ではサイバーセキュリティ・インフラストラクチャセキュリティ庁(CISA)のKnown Exploited Vulnerabilities Catalogや、米国国立標準技術研究所(NIST)が運営するNational Vulnerability Database(NVD)から脆弱性情報を入手できる。MITREが管理する識別子を一意に割り当てるシステムCommon Vulnerabilities and Exposures(CVE)は脆弱性情報の管理に役立つ。
この他、各セキュリティベンダーやセキュリティ研究者が脆弱性情報を公開している。OSやアプリケーションソフトのベンダーは自社製品の重大な脆弱性について発表する場合が少なくない。
自社が利用するソフトウェアの一覧と脆弱性情報を公開する情報源が固まった後、脆弱性管理計画を策定する。人員配置や予算の獲得、脆弱性の特定(脆弱性スキャンなどのモニタリング)と評価、優先順位付け、修正計画などが含まれる。管理プログラムの策定時や実行時には次のような対策を含める。
(1)パッチの適用 OSやアプリケーションソフトウェアのベンダーから提供されるセキュリティパッチを定期的に適用することで、既知の脆弱性を修正する。その都度、ソフトウェアの一覧表を更新しなければならない。
(2)アップデートとアップグレード OSやアプリケーションソフトウェアが更新された場合、脆弱性について改善を公開していない場合でも実際には改善されていることがある。システムやソフトウェアを最新のバージョンに更新し、セキュリティに関する改善を取り入れる必要がある。
(3)セキュリティ設定 脆弱性対策と併せて、システムやアプリケーションのセキュリティ設定を適切に構成し、不要な機能やサービスを無効化するとよい。利用していないサービスやソフトウェアが攻撃対象から外れるため、防御しなければならない範囲を限定できる。
(4)アクセス制御 脆弱性が残っていて権限昇格を狙った攻撃が成功してしまった場合でも、ユーザーアクセスの制限や適切なアクセス権の付与によって、それ以上の不正アクセスを防止できる場合がある。
(5)ネットワークセキュリティ対策 ファイアウォールや侵入検知システム(IDS)、侵入防御システム(IPS)などのネットワークセキュリティ対策を導入してネットワークトラフィックを監視することで、脆弱性を狙う不正なアクセスを検知・防止できる。
(6)ペネトレーションテスト 脆弱性スキャンと併せてペネトレーションテストを実施し、システムやネットワークに残っている脆弱性を特定する。管理下にないソフトウェアをあぶり出すことが可能で、対策の優先順位を付ける際にも役立つ。
(7)ゼロトラストソリューションの導入 全ての通信を信用できないものとして扱い、誰(デバイス)がどのリソースにアクセス可能なのかをその都度、認証、認可するため、アクセス制御を強化できる。脆弱性対策だけを狙ったソリューションではないものの、脆弱性対策を補完できる。特に脆弱性情報が公開される前に起こるゼロデイ攻撃に対してはゼロトラストソリューションが役立つ。
製品カタログや技術資料、導入事例など、IT導入の課題解決に役立つ資料を簡単に入手できます。