IDS(アイ・ディー・エス:Intrusion Detection System)は、
ネットワーク上などで、不正なアクセスまたは、
その兆候を検知し、
通報する」機能を持つソフトウェア、またはハードウェアです。
一般には、ファイアウォールと併用して、
よりセキュリティレベルを高めるために使われます。
通常状態との比較で異常を検知するタイプと、
攻撃のパターンを持っていて、そのパターンに合致する
状況を検知するタイプがあります。
後者の異常を検出ルールは「シグネチャ:signature」
と呼ばれることがあります。
機能的に大きく分けると、次のネットワーク型と、
ホストに分類できます。
実際にネットワーク上を流れるパケットを、
リアルタイム的に分析する方法です。
そこで、攻撃など不正アクセスの疑いがあると
判断された時に通知します。
例:snort
設置形態では、ミラーリング構成とインライン構成があります。
監視対象のサーバマシンにインストールする形態で組み込まれ、
そのサーバへの不正アクセスをチェックします。
一般には、パケットやログの異常検出、
ファイルやプロセスの不正改ざんの監視機能などがあります。
ファイルなどの整合性チェックは、
バックドアを含む「rootkit」のインストール検出に有効です。
これには、各初期のファイルに対してMD5などのハッシュを記憶し、
それで、改ざんされていないかを調べます。
例:Tripwire(トリップワイヤ)
導入しただけでは、環境に則した侵入検知はできません。
各種のログを基に、環境に適したシグネチャを作成する必要があります。
システムログやアプリケーションログがあります。
システムログには、ログイン/ログアウトなどのイベントがテキスト形式で出力されます。
アプリケーションログは、Webアプリケーションなどが生成するログです。
システムログやアプリケーションログから攻撃の兆候や痕跡を読み取るには、それなりの知識が必要です
IDSであれば、イベントを検出した際に何らかの方法で管理者にそれを通知する仕組みを持っています。
しかし、通知判定に必要な、シグネチャ作り込まなければなりません。
例えば Snortのシグネチャは、ルールヘッダと括弧でくくられたルールオプションに分かれています。
alert tcp any any -> 192.168.0.100 80 (msg:"WEG-CGI test.cgi access"; uricontent; "test.cgi"; flags:A+; priority:10;)
ルールヘッダの先頭には、そのルールにマッチしたときのアクションを指定します。
アクションは、alertも含めて数種類あります。
そして、IPアドレス、ポート番号とその方向を指定します。
Intrusion Protection System, Intrusion Prevention Systemの略です。 IPSは、IDSの仕組みに似ているが、インライン構成で使われ、防御に重きを置いおり、 誤検出で直接その通信をブロックするため、IDSに比べて甘いルールが適用されがちです。
特定の機能に特化したコンピュータをアプライアンス(appliance)と呼ばれます。
チェック・ポイント・ソフトウェア・テクノロジーズ
などが
これに相当する機器でしょう。
これには、ワームの拡散やアプリケーション層に対する攻撃など、
ネットワーク内部に影響を及ぼす攻撃をブロックするための内部セキュリティ・ゲートウェイです。
検疫ネットワークの機能などもあります。
攻撃パターンは、シグネチャ(signature:サイン,痕跡)と呼ばれる規則で、
IDをつけて管理されているケースがあるようです。
他に攻撃と判断する分析には、次のようなものがあります。
補足
Smurf攻撃(スマーフSmurf attack)
送信元アドレスを偽造したICMP Echo Requestパケットを大量に送りつける攻撃方法。
IPスプーフィング(IP spoofing attack)
偽の送信元IPアドレスを持ったパケットを作成し送ること