II-20-2. ネットワークの脆弱性調査

ネットワーク脆弱性調査の必要性、目的と意義について説明する。また、脆弱性調査に利用できるツールを紹介し、脆弱性調査の実施体制や評価結果をネットワーク設計に反映させる方法について解説する。

【学習の要点】

* ネットワークへの攻撃を試みる者からすると、サービスのタイプや、そのサービスの利用するポートやバージョンを知ることは難しいことではない。通常知られても問題ない情報であっても、ソフトウェアのバグにより危険要素となることがあることを念頭に置いておく必要がある。

* ネットワークの脆弱性を調べるツールを利用すると、広く使用されているソフトウェアの特定のバージョンの含むバグによる危険因子などを突き止めることができる。

* しかし、ツールに頼りすぎることもよくない。管理しているネットワークの特徴を理解し、ツールの検出した危険因子を再度確認することを怠ってはいけない。

図II-20-2. 脆弱性への対応

【解説】

1) ネットワークの脆弱性

* インターネットに対してサービスを公開しているサーバは常に危険と隣り合わせである。ネットワークやシステムが脆弱であれば、クラッカーの手によっていとも簡単に侵入され、root権限を取得されてしまう。

* ネットワークを経路して侵入されてしまうケースで最も多いのは、公開中のサービスを実現するソフトウェアのバグ、脆弱なパスワードの漏洩、設定の誤りなどへの攻撃によるものである。

* Linuxの多くのディストリビューションでは、利便性のため、デフォルトで多くのソフトウェアパッケージがインストールされ、起動された状態になっている。これはまったくの無防備状態であり、必要なデーモンのみを起動するようにしなければならない。

* クラッカーは、ポートスキャンによってそのサーバのオープンしているポートを簡単に知ることができる。Nessusのようなツールを用いて実際に試してみることができるが、使用しているソフトウェアのバージョンや、OSを特定することはとても容易なことである。

* ソフトウェアのバージョンが特定されると、クラッカーはそのバージョンに存在するバグに対して攻撃することができるようになる。一見無害な情報でも、特定の条件下では脆弱性因子になることを知っておく必要がある。

2) ネットワーク脆弱性調査に使用できるツール

* nmap

nmapは、ホストがどのようなタイプのサービスを提供しているかをスキャンするツールである。nmapは、UDP、TCP connect、TCP SYN、ICMPなど、さまざまな種類のリクエストに対応しており、その応答によりサービスの有無を調べることができる。オプションで、OSの推測を行なったり、スキャンするポートの範囲を指定したりといったことが可能である。

* Nessus

Nessusは、脆弱性調査のためのフリーの統合ツール(最新バージョンではソースは非公開)であり、nmapの機能も含んでいる。Nessusは、一般的な情報から、特定のOSの特定のプログラムの持つ脆弱性を知らせてくれる機能を持つ。プラグインをインストールすることで、最新のセキュリティホールに対応することができる。また、実際に侵入を試みる機能も持つ。GUIによるわかりやすいインタフェースを利用することができるという点も特徴のひとつである。

3) 脆弱性に対する考え方

* 公開されている脆弱性に加え、ツールでは発見できない脆弱性も実際には存在する。これらを検知するのは非常に難しいため、ツールでの調査を100%信頼してよいわけではないことを念頭に置いておく必要がある。