IDSの技術的手段は、実際にはそれほど神秘的ではありません。次に、この記事では、「つるをたどる」アプローチを使用して、 IDS の比較的単純な入門レベルのアーキテクチャを紹介します。市場流通や入手の容易さの観点から、導入例として NIDS を選択することがより適切である。この記事では、完全なWindowsプラットフォームを使用して侵入検知プロセス全体を実行します。スペースの制限があるため、定性分析の観点から説明しています。
予備知識
IDS: 侵入検知システム。ネットワーク システム情報を収集して侵入検知と分析を実行するソフトウェアとハードウェアのインテリジェントな組み合わせです。
IDS の標準化作業を実行する組織は 2 つあります。1 つは国際インターネット標準の策定者である IETF の侵入検知ワーキング グループ (IDWG、侵入検知ワーキング グループ)、もう 1 つは共通侵入検知フレームワーク (CIDF、共通侵入検知フレームワーク) です。
IDS 分類: ネットワーク IDS (ネットワークベース)、ホストベース IDS (ホストベース)、ハイブリッド IDS (ハイブリッド)、コンソール IDS (コンソール)、ファイル整合性チェッカー (ファイル整合性チェッカー)、ハニーポット (ハニーポット)。イベント生成システム
CIDF によって説明された侵入検知システム (IDS) の一般的なモデルの概念に従って、すべての要素を備えた最も単純な侵入検知コンポーネントが図に示されています。 CIDF 仕様によれば、IDS が分析する必要があるデータは、ネットワーク内のデータ パケット、またはシステム ログやその他の方法で取得された情報を総称してイベントと呼びます。
データが流入しなければ (またはデータが収集されなければ)、IDS はルートのないツリーとなり、まったく役に立ちません。
IDS の基本的な構成として、イベント生成システムは大きな役割を果たします。定義されたすべてのイベントを収集し、それらを一度に他のコンポーネントに送信します。 Windows 環境では、現在の基本的なアプローチは Winpcap と WinDump を使用することです。
ご存知のとおり、イベント生成およびイベント分析システムでは、Linux および Unix プラットフォームに基づくソフトウェアとプログラムが現在人気があります。実際、Windows プラットフォームには、Libpcap に似たソフトウェアもあります (これは Unix または Unix に必要なソフトウェアです)。 Linux ではカーネルからネットワーク パケットをキャプチャします) ツールは Winpcap です。
Winpcap は、ネットワーク カードを「プロミスキャス」モードに設定し、ネットワークでキャプチャされたパケットをループスルーする、無料の Windows ベースのネットワーク インターフェイス API です。このテクノロジーは実装が簡単で移植性が高く、ネットワーク カードとは関係ありませんが、効率が悪く、100 Mbps 未満のネットワークに適しています。
対応する Windows ベースのネットワーク スニッフィング ツールは WinDump (Windows 上の Linux/Unix プラットフォーム上の Tcpdump の移植版) です。このソフトウェアは Winpcap インターフェイスに基づいている必要があります (ここでは Winpcap: データ スニッフィング ドライバと呼んでいます)。 WinDump を使用すると、ルールに一致するデータ パケットのヘッダーを表示できます。このツールを使用すると、ネットワークの問題を発見したり、ネットワークの状態を監視したりすることができ、ネットワークからの安全な動作と安全でない動作をある程度まで効果的に監視できます。
どちらのソフトウェアもオンラインで無料で入手でき、読者は関連するソフトウェアの使用方法のチュートリアルを参照することもできます。
以下に、イベントの検出と収集を確立する手順を簡単に紹介します。
1. ソフトウェアおよびハードウェア システムを組み立てます。ネットワークの混雑状況に応じて、通常の互換コンピュータを使用するか、よりパフォーマンスの高い専用サーバーを使用するかを決定します。条件が満たされない場合は、Windows Server 2003 Enterprise Edition を使用することをお勧めします。 、Windows 2000 Advanced Server を使用することもできます。パーティション形式はNTFS形式を推奨します。
2. サーバーのスペース分割は、実行プログラムのインストールとデータ ログの保存のために、合理的かつ効果的でなければなりません。2 つのスペースを異なるパーティションに配置するのが最善です。
3. Winpcap の単純な実装。まずドライバーをインストールします。WinPcap 自動インストーラー (ドライバー + DLL) をホームページまたはミラー サイトからダウンロードして、直接インストールできます。
注: 開発に Winpcap を使用する場合は、開発者パックもダウンロードする必要があります。
WinPcap には 3 つのモジュールが含まれています。 最初のモジュール NPF (ネットグループ パケット フィルター) は VxD (仮想デバイス ドライバー) ファイルです。その機能は、データ パケットをフィルタリングし、これらのパケットをそのままの状態でユーザー モード モジュールに渡すことです。 2 番目のモジュール packet.dll は、Win32 プラットフォーム用のパブリック インターフェイスを提供し、packet.dll に基づいて構築されており、より便利で直接的なプログラミング方法を提供します。 3 番目のモジュール Wpcap.dll はオペレーティング システムに依存せず、基礎となるダイナミック リンク ライブラリであり、高レベルの抽象関数を提供します。 Winpcap をより効果的に使用するには、強力な C 環境プログラミング機能が必要です。
4. WinDump の作成。インストール後、Windows コマンド プロンプト モードで実行すると、詳細を確認することなくネットワークの状態を自分で確認できます。
ソフトウェアの互換性の問題がなく、インストールと構成が正しい場合は、イベントの検出と収集を行うことができます。
[カットページ]イベント分析システム
当社のネットワークのほとんどはスイッチド イーサネット スイッチで接続されているため、イベント分析システムを確立する目的は、複数のネットワーク ファイアウォール デバイスを検出し、複数の収集方法 (Snmp および Syslog データ情報に基づく収集など) のログをサポートし、特定のイベントを提供することです。ログ処理、統計、分析、クエリ機能。
イベント分析システムは、さまざまなイベントを分析し、セキュリティ ポリシーに違反する動作を検出することが主な機能です。これをどのように確立するかが重要であり、難しい点です。ソフトウェア システムを自分で、または他の人と協力して作成できる場合は、ネットワーク プロトコル、ハッカー攻撃、システムの脆弱性を明確に理解するなど、開発の初期段階で厳密な準備を行ってから、ルールと戦略の策定を開始する必要があります。標準テクノロジーと仕様に基づいてアルゴリズムを最適化し、実行効率を向上させ、検出モデルを確立し、攻撃と分析のプロセスをシミュレートする必要があります。
イベント分析システムは監視ネットワーク セグメントの検出エンジンに常駐し、通常、パターン マッチング、プロトコル分析、動作分析という 3 つの技術的手段を通じて分析を実行します。特定の誤用パターンが検出されると、対応する警告メッセージが生成され、応答システムに送信されます。現時点では、プロトコル分析を使用することがリアルタイムで検出する最良の方法です。
このシステムの 1 つの可能な方法は、プロトコル アナライザーを本体として使用することです。プロトコル アナライザーは、既製のオープン プロトコル分析ツール キットに基づいて構築でき、パケット レベルのネットワーク送信フローを表示し、自動的に警告を実行できます。ネットワーク プロトコル ルールに基づいた分析により、攻撃の存在を迅速に検出し、ネットワーク プログラマーや管理者がネットワーク アクティビティを監視および分析して、障害を事前に検出および特定できるようにします。ユーザーは、Windows システムをサポートする Ethereal と呼ばれる無料のネットワーク プロトコル アナライザーを試すことができます。ユーザーは、イベント生成システムによってキャプチャされ、ハードディスクに保存されたデータを分析できます。キャプチャされたパケットを対話的に参照し、各パケットの概要と詳細情報を表示できます。 Ethereal には、ほぼすべてのプロトコルのサポート、豊富なフィルタリング言語、TCP セッションの再構成されたデータ ストリームの簡単な表示など、さまざまな強力な機能があります。
応答性の高いシステム
レスポンスシステムは、人や物の対話型システムであり、システム全体の中継局、調整局とも言えます。人はシステム管理者であり、物はその他すべてのコンポーネントです。より具体的に言うと、対応システムのコーディネーターは、セキュリティ イベントの記録、アラーム メッセージ (電子メールなど) の生成、追加ログの記録、侵入者の隔離、プロセスの終了、事前に定義された方法での被害の禁止など、やるべきことがたくさんあります。攻撃者のポートとサービス、または反撃の場合でも、手動応答と自動応答 (機械ベースの応答) を採用できますが、この 2 つを組み合わせた方が効果的です。
レスポンシブ システム設計要素
(1) イベント分析システムによってフィルタリング、分析、再構築されたイベント アラーム情報をイベント生成システムから受信し、ユーザー (管理者) と対話してクエリを実行し、ルールの判断を行い、管理アクションを実行します。
(2) 管理者に、イベント データベース システムを管理するためのインターフェイスを提供します。管理者は、ルール ベースを変更し、さまざまなネットワーク環境に応じてセキュリティ ポリシーを構成し、データベース システムの読み取りと書き込みを行うことができます。
(3) フロントエンド システムで動作する場合、イベント生成および分析システム (総称してイベント ディテクタと呼ばれます) を管理し、システムによって収集、検出、分析されたイベントを分類およびフィルタリングし、次に従ってセキュリティ ルールを再実装できます。さまざまなセキュリティ状況。
応答システムとイベント検出器は通常、アプリケーションとして実装されます。
設計思想: 応答システムは監視と制御の 2 つのプログラム部分に分けることができます。 リスニング部分はアイドル ポートをバインドし、イベント ディテクタから送信された分析結果やその他の情報を受信し、保存されたファイルをイベント データベース システムに変換します。管理者は、それに応じて読み取り専用、変更、特殊な操作を呼び出すことができます。ユーザーの権限に。制御部分は GTK+ を使用して GUI を記述し、より直感的なグラフィカル ユーザー インターフェイスを開発できます。主な目的は、警告情報を閲覧するためのより便利でフレンドリーなインターフェイスをユーザーに提供することです。
イベントデータベースシステム
Windows プラットフォームでは、Access の方が簡単に習得できますが、SQL Server 2000 を使用して構築する方が Access よりも効果的であり、このシステムの主な機能は次のとおりです。イベント情報の記録、保存、再配置。管理者はこれを呼び出して、攻撃レビュー フォレンジックの使用を表示およびレビューできます。
このシステムの構造は比較的単純で、データベース ソフトウェアのいくつかの基本機能のみが必要です。
コンポーネント間の目的のある通信を調整するには、コンポーネント間で渡されるさまざまなデータのセマンティクスをコンポーネントが正しく理解する必要があります。 CIDF の通信メカニズムを参照して 3 層モデルを構築できます。安全性、効率性、スムーズさを確保するために、さまざまなコンポーネント間の相互運用性に注意してください。
今後も統合が進められ、各コンポーネントの機能が向上していきます。 Windows プラットフォームに基づいた基本的な IDS フレームワークが完成しました。インターネットの要件を満たしている場合は、自分でチーズを作ってみてください。苦労した後には、何とも言えない甘みがあります。
[カットページ]イベント分析システム
当社のネットワークのほとんどはスイッチド イーサネット スイッチで接続されているため、イベント分析システムを確立する目的は、複数のネットワーク ファイアウォール デバイスを検出し、複数の収集方法 (Snmp および Syslog データ情報に基づく収集など) のログをサポートし、特定のイベントを提供することです。ログ処理、統計、分析、クエリ機能。
イベント分析システムは、さまざまなイベントを分析し、セキュリティ ポリシーに違反する動作を検出することが主な機能です。これをどのように確立するかが重要であり、難しい点です。ソフトウェア システムを自分で、または他の人と協力して作成できる場合は、ネットワーク プロトコル、ハッカー攻撃、システムの脆弱性を明確に理解するなど、開発の初期段階で厳密な準備を行ってから、ルールと戦略の策定を開始する必要があります。標準テクノロジーと仕様に基づいてアルゴリズムを最適化し、実行効率を向上させ、検出モデルを確立し、攻撃と分析のプロセスをシミュレートする必要があります。
イベント分析システムは監視ネットワーク セグメントの検出エンジンに常駐し、通常、パターン マッチング、プロトコル分析、動作分析という 3 つの技術的手段を通じて分析を実行します。特定の誤用パターンが検出されると、対応する警告メッセージが生成され、応答システムに送信されます。現時点では、プロトコル分析を使用することがリアルタイムで検出する最良の方法です。
このシステムの 1 つの可能な方法は、プロトコル アナライザーを本体として使用することです。プロトコル アナライザーは、既製のオープン プロトコル分析ツール キットに基づいて構築でき、パケット レベルのネットワーク送信フローを表示し、自動的に警告を実行できます。ネットワーク プロトコル ルールに基づいた分析により、攻撃の存在を迅速に検出し、ネットワーク プログラマーや管理者がネットワーク アクティビティを監視および分析して、障害を事前に検出および特定できるようにします。ユーザーは、Windows システムをサポートする Ethereal と呼ばれる無料のネットワーク プロトコル アナライザーを試すことができます。ユーザーは、イベント生成システムによってキャプチャされ、ハードディスクに保存されたデータを分析できます。キャプチャされたパケットを対話的に参照し、各パケットの概要と詳細情報を表示できます。 Ethereal には、ほぼすべてのプロトコルのサポート、豊富なフィルタリング言語、TCP セッションの再構成されたデータ ストリームの簡単な表示など、さまざまな強力な機能があります。
応答性の高いシステム
レスポンスシステムは、人や物の対話型システムであり、システム全体の中継局、調整局とも言えます。人はシステム管理者であり、物はその他すべてのコンポーネントです。より具体的に言うと、対応システムのコーディネーターは、セキュリティ イベントの記録、アラーム メッセージ (電子メールなど) の生成、追加ログの記録、侵入者の隔離、プロセスの終了、事前に定義された方法での被害の禁止など、やるべきことがたくさんあります。攻撃者のポートとサービス、または反撃の場合でも、手動応答と自動応答 (機械ベースの応答) を採用できますが、この 2 つを組み合わせた方が効果的です。
レスポンシブ システム設計要素
(1) イベント分析システムによってフィルタリング、分析、再構築されたイベント アラーム情報をイベント生成システムから受信し、ユーザー (管理者) と対話してクエリを実行し、ルールの判断を行い、管理アクションを実行します。
(2) 管理者に、イベント データベース システムを管理するためのインターフェイスを提供します。管理者は、ルール ベースを変更し、さまざまなネットワーク環境に応じてセキュリティ ポリシーを構成し、データベース システムの読み取りと書き込みを行うことができます。
(3) フロントエンド システムで動作する場合、イベント生成および分析システム (総称してイベント ディテクタと呼ばれます) を管理し、システムによって収集、検出、分析されたイベントを分類およびフィルタリングし、次に従ってセキュリティ ルールを再実装できます。さまざまなセキュリティ状況。
応答システムとイベント検出器は通常、アプリケーションとして実装されます。
設計思想: 応答システムは監視と制御の 2 つのプログラム部分に分けることができます。 リスニング部分はアイドル ポートをバインドし、イベント ディテクタから送信された分析結果やその他の情報を受信し、保存されたファイルをイベント データベース システムに変換します。管理者は、それに応じて読み取り専用、変更、特殊な操作を呼び出すことができます。ユーザーの権限に。制御部分は GTK+ を使用して GUI を記述し、より直感的なグラフィカル ユーザー インターフェイスを開発できます。主な目的は、警告情報を閲覧するためのより便利でフレンドリーなインターフェイスをユーザーに提供することです。
イベントデータベースシステム
Windows プラットフォームでは、Access の方が簡単に習得できますが、SQL Server 2000 を使用して構築する方が Access よりも効果的であり、このシステムの主な機能は次のとおりです。イベント情報の記録、保存、再配置。管理者はこれを呼び出して、攻撃レビュー フォレンジックの使用を表示およびレビューできます。
このシステムの構造は比較的単純で、データベース ソフトウェアのいくつかの基本機能のみが必要です。
コンポーネント間の目的のある通信を調整するには、コンポーネント間で渡されるさまざまなデータのセマンティクスをコンポーネントが正しく理解する必要があります。 CIDF の通信メカニズムを参照して 3 層モデルを構築できます。安全性、効率性、スムーズさを確保するために、さまざまなコンポーネント間の相互運用性に注意してください。
今後も統合が進められ、各コンポーネントの機能が向上していきます。 Windows プラットフォームに基づいた基本的な IDS フレームワークが完成しました。インターネットの要件を満たしている場合は、自分でチーズを作ってみてください。苦労した後には、何とも言えない甘みがあります。