【特集】 不正侵入対策最前線 (後編)
〜侵入検知システムでのトータルセキュリティの構築〜
丸山 龍一郎
ストーンソフト・ジャパン
ネットワークセキュリティーマネージャー
2001/9/15
監視カメラとしてのIDS |
毎日のようにWeb改ざん事件が報じられているが、前回何が要因となるかについて話題にした。今回は、ネットワークの防御という観点から侵入検知システム(以降IDS:Intrusion Detection System)の機能および運用について説明する。
IDSは、現実の世界ではホームセキュリティで導入する監視カメラ的なセキュリティデバイスである。監視カメラは、通過する人間を常に記録しておき、後で必要となった際に確認できるということが目的である。ネットワークを監視するIDSもまさにネットワーク上を流れるパケットを監視して履歴を取ることが1つの役割であるが、すでに認識されている不正アクセスのパターンを参照することによって管理者に異常を通知することが可能である。現実の世界でも住宅の門の前後に監視カメラを置くような形態が取られるが、まさしくネットワーク環境でも門に相当するファイアウォールの前後に設置して、ファイアウォールのアクセス制御機能を補完することでネットワーク全体のセキュリティを強化するのである。
■ネットワーク型IDSとホスト型IDS
IDSは監視する対象によって大きく2つのタイプに分類される。ネットワークセグメントを流れるパケットを監視するネットワーク型IDSと、特定のホストのアクティビティを監視するホスト型IDSである。また、特にホスト型IDSの中で監視対象をそのシステムが送受信するパケットにまで拡張したタイプを、ハイブリッド型IDSと分類しているものもある。この記事では、ハイブリッド型もホスト型タイプとして説明することにする。
IDSの基本的な動作の仕組み |
監視する対象によってネットワーク型とホスト型といった区別はあるが、その基本的な処理の流れは同じと考えてよい。つまり、1.情報収集、2.情報分析、3.対応、4.レポーティングというステップで処理が進められる。
■1.情報収集
ネットワーク型IDSが分析のために使用する情報は監視対象のネットワークセグメントを流れるパケット情報である。主にIPヘッダ、TCP/UDPヘッダの中のソースアドレス/デスティネーションアドレス、ソースポート/デスティネーションポート、あるいはデータなどを分析するために取得する。ホスト型IDSは導入されたシステムが取得するログ情報(ログイン/ログアウトの時間帯やそのホスト上で稼働しているアプリケーションの種類と利用時間など)やレジストリ情報を分析のために取得する。
■2.情報分析
主に2つの手法が存在する。「シグネチャ」ベースと「統計」ベースである(図1参照)。
シグネチャとは、過去に認識された攻撃パターンをデータベース化したものであり、1つの攻撃パターンは1つのシグネチャとして管理される。この手法は、主にネットワーク型IDSによって用いられる分析手法である。また、ハイブリッド型IDSのように自分のシステムに到達したパケットを監視するタイプでも使用されている。この手法は、パケットをキャプチャし、それをシグネチャと比較することによって攻撃パケットであるか否かを判断する。
図1 情報分析手法 |
統計とは、IDSを一定期間運用して通常運用時のシステムのプロファイルを作成することである。プロファイルには、ユーザーのログインした時間帯や利用するアプリケーションタイプ、あるいはトラフィック量などが含まれる。以降運用していく過程で明らかにプロファイルと異なるアクティビティがあった場合に、それを異常事態として検出する手法である。この手法は、主にホスト型IDSによって使用されているが、ネットワーク型IDSでも利用できる製品はある。例えば、あるユーザーのログイン時間が変化した場合やトラフィック量が急激に増加した場合などにアラートを発生させる。
■3.対応
分析した結果、不正アクセスであると認識された場合の対応(アクション)には、以下のような方法がある。
- アラート通知
IDS製品は、監視ポリシーの定義やモニタを行うためのコンソールを装備している。通常は、それらのコンソール端末へ異常を通知する。アラート通知機能のオプションとしては、電子メールやページャ端末への通知やSNMP(簡易ネットワーク管理プロトコル)トラップによるネットワーク管理ソフトウェアへの通知も可能である。
- アプリケーション起動
ネットワーク管理者が攻撃を検出した場合に、製品が持つ機能以外のことを実現したい場合は外付けのアプリケーションを起動することも可能である。
- データ格納
発生したイベントをデータベースに格納する。これらのデータを基にしてレポートを作成し、今後の不正アクセス対応を検討する。
- セッション切断
不正アクセスと判断したセッションの自動切断を行う。
- ファイアウォールとの連携
不正アクセスを検出した際に、独自のプロトコルを使用してファイアウォールのルールベースを一時的に変更し、当該パケットを拒否する。
- ファイル/レジストリの復元
システム中のファイルあるいはレジストリの内容が変更された際に、即座にオリジナルの内容を復元する。
■4.レポーティング
システムが検出した異常なイベントに関するサマリレポートを作成する。通常、エグゼクティブ向けのステータスサマリレポートとエンジニア向けの詳細レポートが作成可能である。
ネットワーク型IDSの特徴 |
■1.導入の目的
- 組織に到達するパケットの監視・記録
組織のネットワークを防御するセキュリティデバイスとしてファイアウォールがある。クラッカーによってポートスキャンが開始されたとする。当然ファイアウォールにおいて自分自身が権限を与えていないユーザーのポートへのアクセスは、異常イベントとしてログ情報に記録される。しかし、その異常イベントが実際にポートスキャンであるかという判断はシステム管理者によって下されることになる。つまり、システム管理者が、連続したポート番号を使用し拒否されているイベントがあることを検出し、その振る舞いをポートスキャンであると判断できる能力が必要となる。
これに対して、IDSはもともとシーケンシャルにポート番号を変更してアクセスしてくるパケットを検出した場合に自動的にポートスキャンであると判断するため、管理者の作業コストは大幅に削減される。組織で送受信されているパケットの中から異常と思われるものを抽出し、後で照会しやすいような形で記録することが導入の目的の1つである。
- 不正アクセスに対するリアルタイムな対応
ネットワーク型IDSは、ネットワーク上を流れるパケットも基にして分析するため、不正パケットを検出した時点で即座に対応が可能である。そのため、実際の攻撃からシステムを防御することが可能である。
- 導入作業の容易性
ホスト型IDSの場合、監視する必要があるすべてのシステムに導入する必要がある。導入の対象となるシステムは当然重要なアプリケーションが稼働している。エンドユーザーとしては余計なソフトウェアをインストールして現行問題なく稼働しているアプリケーションに影響を与えたくない、あるいは、複数台のシステムを管理するよりは、ネットワークレベルで1台を監視した方が容易であるという考えがある。現在日本でネットワーク型IDSが比較的導入されているのはこの理由からである。
■2.データの収集
ネットワーク型IDSを監視対象のネットワークに設置する場合、通常はステルスモードで設置する。ステルスモードとは、ネットワークインターフェイスに対してIPアドレスを定義しない、あるいは、いかなるプロトコルスタックもバインドせず、インターフェイスのモードをPromiscuousモード(無差別モード)に設定して運用する。これにより、外部の攻撃者からネットワーク型IDSの存在を隠しながら、ネットワーク上を流れるすべてのパケットをキャプチャすることが可能となる。逆にステルスモードで運用しないとネットワーク型IDSの存在が既知となり、クラッカーによってIDSが直接の攻撃の対象となってしまう。
■3.データの分析
ネットワーク型IDSの製品のほとんどは、シグネチャベースの分析を行っている。この理由はネットワーク型IDSの監視対象が、ネットワーク上を流れるパケットであることを考えていただければ一目瞭然である。大量の分析対象を処理するためには、個々のパケットに対する処理を最小限に抑える必要がある。それを実現するためには、過去の攻撃パターンが蓄積されているデータベースとのマッピングを行い、そのパターンと一致するか否かの比較処理が最も効率的であるからである。従って、現在提供されている製品の多くにはメーカが作成したシグネチャが添付されている。製品の中にはユーザーの目的に合わせてシグネチャがカテゴリ分けされているものもある。
製品によっては、ネットワーク上を流れるパケットのプロファイリングを可能とするものがある。プロファイリングとは、ある期間中IDSが処理したパケットを基にどのようなシステムに対してどの程度のアクセスがあったかをサマリとして作成する。このプロファイルを使用してネットワーク上を流れるトラフィック状態の変化に基づく不正アクセスを検出することが可能である。特にネットワーク型IDSで検出が困難といわれるDdos Attack(分散型使用不能攻撃)を検出することも可能である。
■4.アクション
ネットワーク型IDSが持つアクションの中で特徴的なものを説明する。“セッション切断”と“セキュリティデバイスとの連携”である。IDSがTCPベースの非常に危険度が高い攻撃を検出した場合、IDS自身がそのパケットのソースアドレスとディステネーションアドレスの両方に対してTCPのRESETパケットを送信し、双方のサイトにセッションが相手によって切断されたかのように見せかける。
また、同じようにIDSが外部からの攻撃を検知した際に、ファイアウォールとリアルタイムに通信して、一時的にファイアウォールのルールベースを変更し、不正アクセスを拒否する。このようなリアルタイム性があるアクションは、ネットワークを防御するという点からすると効果があるように思えるが、このようなアクションが設定可能なケースは、IDSの分析能力がほとんど100%に近い確率で不正パケットを検出するというのが条件である。IDSが通常のトラフィックを攻撃であると誤認した場合、このアクションは正規の利用者に多大な損害を与えてしまうからだ。
■5.設置場所
ネットワーク型IDSは、ネットワークセグメント単位に配置される。設置する場合には、監視の目的により次のようなネットワークのポイントに設置される。
- ファイアウォール外へ設置
組織ネットワークに対する通信を生の状態で監視、記録(ロギング)することが目的である。インターネットからのアクセスのすべてを監視対象とするため、当然すべてのシグネチャを対象とした分析となり、ログ情報も膨大となる傾向がある。そのため、運用するシステムのCPUやディスクリソースの設計には十分検討が必要である。
- DMZ上に設置
公開セグメント上のWebシステムやMailシステムのような特定のシステムに対する通信の監視が目的である。この場合は、ファイアウォールのルールベースによって通過するパケットが制限されるため、アプリケーションに特化したより詳細な分析が可能である。前述のとおり、ファイアウォールによって許可されている通信を利用した攻撃は、ファイアウォールでは検出できないといったセキュリティ上の制限をネットワーク型IDSを利用して補完することが目的である。
- イントラネットへの配置
統計によると不正アクセスの70%以上が組織内部の人間に起因している。つまり、インターネット側よりむしろイントラネット上を重点的に監視する必要がある。特にイントラネット上の重要なネットワークである人事ネットワークや経理ネットワークに導入する。また、インターネットからイントラネットに入ってくるパケットを監視する目的にも利用される場合がある。設置する際に検討すべきもう1つの点は、ネットワーク上に分散配置したネットワーク型IDSをどのように管理するかということである。現在提供されている製品の多くは、複数のIDSを統合的に管理することが可能なソフトウェアを提供している。さらに統合管理ソフトウェアを使用して、よりセキュア(安全)に運用するためには、管理用通信のみを目的としたネットワークを別途構成することである(図2参照)。
図2 ネットワーク上に分散配置したネットワーク型IDSの管理 |
■6.ネットワーク型IDSの限界
監視したいネットワークに設置することで容易に不正アクセスを監視できるように思われやすいが、実際に運用していく場合にあらかじめ認識しておく必要がある点を記述する。
- スイッチング・ネットワーク
監視対象がスイッチングデバイスに接続されている場合、ネットワーク型IDSはIDS自身あてのパケットしか収集できない。そのような環境では、ネットワーク型IDSをスイッチングデバイスのミラーポートへ接続する必要がある。
- 高速ネットワーク
ネットワーク型IDSの分析は、流れるパケットとシグネチャを比較することで行われる。ギガビットネットワークのような高速ネットワークでは、流れるデータ量も膨大となるためシグネチャとの照合処理が追従できない事態となる。
- ハイ・トラフィック
高速ネットワークに限らず、ネットワークのトラフィックが増加してくると上記と同様にパケットの取りこぼしが発生する。
- シグネチャ更新
新しい攻撃が発生した場合に、その攻撃に対する監視が不可能である。攻撃を監視するためには、ベンダが提供する新しいシグネチャを利用する必要がある。しかし、新しいシグネチャのリリースまでにはかなりのタイムラグがある。ベンダによってはシグネチャの更新は月に1回というケースもある。シグネチャの更新に関しては、ウイルス対策ソフトウェアと同様にスケジューラによる自動更新が可能になってきている。
- 暗号化されたパケット
ネットワーク型IDSの分析は、パケット内のデータに基づいているため、VPN環境のようにパケットが暗号化され、トンネリングされるような場合、全く分析処理ができないのである。このような環境でネットワーク型IDSを利用したい場合は、暗号化されたパケットが復号後に通過するネットワーク上に設置する必要がある。そのために、既存のネットワーク構成を変更する必要もあるため、ホスト型IDSを利用したエンドポイントでの監視も検討すべきである。
- IDSに対するDos攻撃
監視セグメント上のパケットすべてに対してリアルタイムに処理するため、トラフィックが増大するとともにIDS自身のシステムリソース(メモリやCPU)が大量に消費され、IDSの機能が停止する場合がある。実際、StickというIDSに対するストレスツールがネットワーク上で公開されており、それを悪用することで開始後わずか2秒でIDSがダウンしたという事実がある。この制限は、監視用インターフェイスがステルスモードに設定されていた場合でも同様である。
- 挿入(Insertion)/ 回避(Evasion)攻撃
IDSでは、パケットを分析する際にエンドポイントが行うようなパケットの整合性チェックや再構築処理を行わない。この動作を利用した攻撃が挿入(Insertion)および回避(Evasion)である。例えば、挿入攻撃では、IDSがシグネチャとのパターンマッチングに失敗するようなパケット(ターゲットのノードでは整合性チェックによって破棄されるような)を攻撃パケットに混在させる。そのようなケースでは、IDSはパケットがシグネチャパターンに合致しないため攻撃として判断しないが、エンドポイントでは、パケットの整合性チェックにより混在させられたゴミパケットが破棄され、最終的に攻撃用のデータが構築されてしまうといった仕組みである。回避攻撃はフラグメント化したパケットを利用し、IDSでの検査をバイパスする手法である。これは、IDSと実際のエンドポイントでのパケットに対する処理が異なることが要因である。
- 誤認
ネットワーク上を流れているパケットをリアルタイムに分析するため、ある程度の誤認を覚悟する必要がある。誤認による異常イベントが多数検出されると、それを分析する管理者の作業がオーバーフローする。
「ホスト型IDSの特徴」へ |
|
||||||||||
|
- Windows起動前後にデバイスを守る工夫、ルートキットを防ぐ (2017/7/24)
Windows 10が備える多彩なセキュリティ対策機能を丸ごと理解するには、5つのスタックに分けて順に押さえていくことが早道だ。連載第1回は、Windows起動前の「デバイスの保護」とHyper-Vを用いたセキュリティ構成について紹介する。 - WannaCryがホンダやマクドにも。中学3年生が作ったランサムウェアの正体も話題に (2017/7/11)
2017年6月のセキュリティクラスタでは、「WannaCry」の残り火にやられたホンダや亜種に感染したマクドナルドに注目が集まった他、ランサムウェアを作成して配布した中学3年生、ランサムウェアに降伏してしまった韓国のホスティング企業など、5月に引き続きランサムウェアの話題が席巻していました。 - Recruit-CSIRTがマルウェアの「培養」用に内製した動的解析環境、その目的と工夫とは (2017/7/10)
代表的なマルウェア解析方法を紹介し、自社のみに影響があるマルウェアを「培養」するために構築した動的解析環境について解説する - 侵入されることを前提に考える――内部対策はログ管理から (2017/7/5)
人員リソースや予算の限られた中堅・中小企業にとって、大企業で導入されがちな、過剰に高機能で管理負荷の高いセキュリティ対策を施すのは現実的ではない。本連載では、中堅・中小企業が目指すべきセキュリティ対策の“現実解“を、特に標的型攻撃(APT:Advanced Persistent Threat)対策の観点から考える。
|
|