侵入検知システム(Intrusion Detection System:IDS)は、コンピュータやネットワークに対する不正行為を検出し、警告したり防御を行うための、いわば警報装置です。
現在、インターネットなどの安全ではないネットワークからの侵入や攻撃に対する防御策として、ファイアウォールを用いることは広く知られていますが、一方で、ファイアウォールの性質はあまりよく理解されていません。本来、なんらかの通信をインターネットと行う目的でファイアウォールは設置されますから、当然、ファイアウォールは一部の必要な通信は通過させるように設定されています。もし、そうした許可された形式の通信を使って不正行為が行われたらどうでしょう。たとえば、ファイアウォールはDMZ(緩衝地帯)にあるサーバを保護しますが、それはあくまでも、外部からの不要な通信を排除するに過ぎず、たとえばWebサーバに対するWebのアクセスは許可せざるを得ません。たとえば、Nimda Worm のようなWebサーバのセキュリティホールへの攻撃を、多くの場合通過させてしまいます。
また、ファイアウォールはそれ自身を通過する通信は、ある程度監視できますが、ファイアウォールを経由しない、たとえば、内部のコンピュータ間の通信は監視できません。コンピュータ犯罪の多くがインターネットからではなく、組織内部で発生しているというレポートもあり、コンピュータシステム全体の安全を確保するためには、内部についてもなんらかの方法で監視しておく必要があります。
こうした、ファイアウォールには難しい部分を補完する目的で、最近注目されているのが、いわゆる侵入検知システム(IDS)です。
侵入検知システムには大きくわけて、ふたつのタイプがあります。一つはホスト監視型(ホストベースIDS)といわれるもの、もう一つはネットワーク監視型(ネットワークベースIDS)とよばれるものです。
ホスト監視型は、保護したいコンピュータにインストールされるソフトウエアで、そのコンピュータ内のユーザの挙動や外部からのネットワークを経由した通信などについて、OSからの情報を元に監視を行います。たとえば、外部からの不正な攻撃や、内部のユーザの不正行為、ファイルの改竄などについて、ほぼ確実に検出、対処が行えます。
一方、ネットワーク監視型は、一般には、独立した専用のコンピュータにインストールされたソフトウエアもしくは専用の機器で、複数のコンピュータや機器が接続されたネットワーク全体を監視することができます。ネットワークを流れるパケットを収集・解析して、既知の攻撃パターンに一致する内容を検出し、警告したり、場合によっては通信を妨害します。
このふたつのタイプのIDSには、それぞれ利点、弱点が存在します。ホスト監視型は、それがインストールされたホスト自身に対する攻撃は、ほぼ確実に検出、防御できますが、自分宛でないものは検出できません。このため、保護対象となるすべてのホストにそれぞれインストールする必要があります。ソフトウエアですから、少なくともなんらかの負荷をホストに与えますし、場合によっては、動作しているアプリケーションとの競合の可能性もなくはありません。ちょうど、ウイルス対策ソフトの導入によく似た問題が発生しうるのです。
一方、ネットワーク監視型は、一台で多数の機器への攻撃を監視できますが、一方で、ネットワークをモニタして、パケットの内容を検索する処理のため、ネットワークが混雑した状態だと、検出率が低下する傾向があります。つまり、100%の検出を期待してはいけないわけです。もちろん、多くの攻撃は反復して行われますから、そうした攻撃の兆候をかなりの確度でとらえることは可能です。しかし、完全ではありません。また、あくまで外部から監視をするため、各ホストのローカルユーザの不正行為は監視できません。
このように、それぞれ特徴がある、ふたつのタイプのIDSは、二者択一ではなく、目的に応じて組み合わせて使用するのが最もいい方法でしょう。たとえば、複数のサーバやクライアントが存在するネットワークの全体をネットワーク監視型で監視し、重要なサーバにのみホスト監視型を導入するといった組み合わせです。
IDSは、ただ導入すればいいというものではありません。まず、目的に応じて最大限の能力を発揮するようにチューニングを行う必要があります。IDS多くの項目について監視することができます。メーカ出荷時のIDSは、多くの場合、提供されるほぼすべての項目を検出するよう設定されています。それらのなかには、きわめてマイナーなソフトウエアに対する攻撃パターンや、正常なアクセスと区別ができないパターン、単なるログ取得を目的としたパターンなども多く含まれていて、そのまま導入すると、管理者は警告の嵐に悩まされることになります。
こうした検出項目を、自分の環境に合わせて取捨選択し、また優先度を変更して、最適なものにするのが、IDSのチューニング作業です。こうしたチューニングはある程度の専門的知識を必要とします。導入時にこうした部分について専門家のコンサルテーションやチューニングサービスを受けることも一つの方法でしょう。
とはいえ、日常、IDSが発する警告の中には、不正行為ではないものも含まれます。IDSは、あくまで「疑わしい」として警告を出しますが、管理者は、そのログから、それが通常の通信なのか、不正なものなのかを判断する必要があります。場合によっては、しばらく運用した後に、さらにいくつかの検知項目を削除したり、逆に追加したりする必要が生じるかもしれません。
セキュリティシステム全般、たとえばファイアウォールなどにも言えることですが、導入することでセキュリティ対策が完了したわけではなく、それをうまく運用することが、対策そのものだということを忘れないでください。
Copyright(C) 2001 Masaaki Futagi