第18章. 脆弱性管理
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
一部のベンダのマーケティング資料が我々に信じ込ませようとしていることとは裏腹に、侵入の成功の大部分は、職人的なエクスプロイト・ライターが愛情をこめて手作りした複雑なゼロデイ脆弱性のせいではない。そのような攻撃は起こるが、企業環境に対して成功する攻撃のはるかに多い原因は、パッチの適用不足、設定に関するグッドプラクティスの不履行、デフォルトパスワードの変更の怠慢である。インフラに対してオーダーメイドのエクスプロイトをデプロイできる者であっても、一般的にはこの種の脆弱性を利用することを好むだろう。
脆弱性管理とは、、脆弱性のスキャンや検出から修復までを監督する活動プログラム全般を指す言葉である。効果的な脆弱性管理プログラムは、潜在的な欠陥を特定、評価、対処することで、ネットワークのセキュリティを高める。
脆弱性評価は、、侵入テストとは異なる分野であり、通常、異なる人々によって実施される。しかし、この2つの用語は、その違いを知らない人々によって、しばしば同じ意味で使われている。侵入テストとは異なり、脆弱性評価は、自動化または半自動化され、継続的であり、特注のシステムやアプリケーションにはあまり焦点を当てない。脆弱性評価ツールは一般的に、パッチが適用されていない、ソフトウェアが古い、一般的な設定エラー、デフォルトのパスワードなどの欠陥を検索する。脆弱性スキャンは、理想的には、1回限りまたは年1回の評価という形ではなく、継続的に運用される。
脆弱性評価によって発見される問題は、広く配布されているソフトウェアに見られる既知の問題であることが多い。脆弱性スキャナは、あなた自身のコードの脆弱性を発見する可能性は低い。また、これらのツールは環境に適応しようとはしない。むしろ、環境を列挙し、どのソフトウェアがインストールされているか、どのバージョンのソフトウェアが使用されているか、いくつかの設定オプションは何か、デフォルトのアカウントがまだデフォルトのパスワードを使用しているかどうかを発見しようとする。
この章では、技術レベルでの脆弱性スキャンと、環境全体の脆弱性をより適切に管理し、最終的にシステム全体のセキュリティを向上させるために設計された、より大きなプログラムの一部を構成する方法について説明する。
認証スキャンと非認証スキャンの比較
もちろん、脆弱性スキャナーによって使われる正確なテクニックは、ツールによって異なる。特に、情報セキュリティのような業界では、、テクニックはすぐに流行り廃りを繰り返す。しかし、最も単純な形では、脆弱性スキャニング・ツールは、ターゲットにプロービングを行い、ホスト上で実行されているソフトウェアとそのコンフィギュレーションに関する詳細を特定できるようなレスポンスを求めることによって、必要な情報を特定しようとする。これをどのように達成するかは、実行するスキャンのタイプによって異なる。
脆弱性スキャンには、認証されたものと認証されていないものがある。つまり、ターゲットシステムの既知の資格情報のセットを使用して演算子する場合と、そうでない場合がある。認証されたスキャンは通常、偽陽性と偽陰性の両方が少なく、より正確な結果をもたらす。認証されたスキャナは、単にターゲットホストにログインし、インストールされたソフトウェアやパッチのリストを内部データベースにクエリしたり、構成ファイルを開いて構成の詳細を読み取ったり、ローカルユーザのリストを列挙したりするなどのアクションを実行することができる。一旦これらの情報を取得すると、例えば発見されたソフトウェアを調べ、既知の脆弱性の内部データベースと関連付けることができる。このルックアップによって、潜在的な欠陥のかなり質の高いリストが得られ、レポートを作成する前に(使用中のソフトウェアとその構成によって)、さらに検証される場合もあれば、されない場合もある。 ...