鼻水
簡単な背景から始めましょう。 Snortは1998年にMartin Reshemによって作成され、すぐに無料の侵入検知システムとして人気を獲得しました。 基本的に、Snortシグネチャ記述言語は、エンジンで使用する多くの侵入検知システムの事実上の標準になっています。
Snortの基礎は、5つのモジュールで構成されるエンジンです。
- パケットスニファー。 名前が示すように、このモジュールは、デコーダーへの後続の送信のためにネットワークを介して送信されるデータをキャプチャする役割を果たします。 彼はDAQライブラリ(Data AcQuisition)を使用してこれを行います。 このスニファーは、「ブレイク」、パッシブモードで動作するか、事前に準備されたファイルからネットワークデータを読み取ることができます。
- パケットデコーダー。 このモジュールは、キャプチャされたパケットのヘッダーの解析、解析、RFCからの異常と逸脱の検索、TCPフラグの分析、さらなる分析からの個々のプロトコルの除外、およびその他の同様の作業を行います。 このデコーダーは、TCP / IPスタックに焦点を当てています。
- プリプロセッサ。 デコーダーが参照モデルの第2レベルと第3レベルでトラフィックを解析した場合、プリプロセッサーは、第3レベル、第4レベル、および第7レベルのプロトコルのより詳細な分析と正規化のために設計されます。 最も人気のあるプリプロセッサには、frag3(断片化されたトラフィックの処理)、stream5(TCPストリームの再構築)、http_inspect_(HTTPトラフィックの正規化)、DCE / RPC2、sfPortscan(ポートスキャンの検出に使用)、およびTelnet用のさまざまなデコーダ、FTPプロトコルがあります、SMTP、SIP、SSL、SSH、IMAPなど ロシアの一部の開発者は、プリプロセッサを(たとえば、産業用プロトコル用に)作成し、Snortに基づいて構築された独自の侵入検知システム(IDS)に追加します。
- 攻撃検出エンジン このエンジンは2つの部分で構成されています。 ルールデザイナは、さまざまな決定ルール(攻撃シグニチャ)を1つのセットに収集し、さまざまな違反を探してキャプチャおよび処理されたトラフィックの検査サブシステムによる後続の使用に最適化します。
- 出力モジュール。 Snortは、攻撃を検出すると、対応するメッセージをさまざまな形式(ファイル、syslog、ASCII、PCAP、Unified2(より高速で簡単な処理のためのバイナリ形式))で発行(記録または表示)できます。
Snortの前後に攻撃検出システムが登場しましたが、デファクトスタンダードの栄光を勝ち取ったのはSnortでした。これは、 www.snort.orgからのこのソフトウェアの400万ダウンロードと公式コミュニティの50万人以上の登録ユーザーを確認します このSnortの愛の原因は何ですか? その言語は、ネットワークセキュリティポリシー違反を記述しています。 一方では、この言語は非常に単純であり、攻撃またはその他のセキュリティポリシー違反を検出するためのルールは、わずか数分(またはさらに高速)で記述できます。 一方、フィルター、複雑なクエリ、ルールの組み合わせ、しきい値の設定、時間間隔の考慮により、非常に複雑なネットワークイベントハンドラーを作成できます。
2014年の終わりに、Snort 3.0のアルファ版(別名Snort ++)が発表されました。このバージョンでは、以前「棚に」置かれた多くのアイデアが実装されました。 特に、システム設計はよりユーザー指向になるように再設計されました。 また、すべてのポートでプロトコルを自動的に識別するメカニズム、パケットの並列処理のサポート、およびルールを記述するための言語がさらにシンプルになりました。
2014年の終わりに、Snortに別の大きな変更が加えられました。これは、Snort 3.0が実稼働に入るのを待たずに、システムのリリース2.9.7に含まれていました。 OpenAppID、つまりアプリケーションプロトコルを認識し、シスコがApplication Visibility and Controlと呼んでいるものを実装するための言語について話しています。 本質的に、ネイティブアプリケーションの署名を記述し、それらを決定ルール(攻撃署名)で使用するためのメカニズム(別個のプリプロセッサの形式)について話します。 これまでのところ、OpenAppIDを使用したSnortは、この点でCisco FirePOWERよりも優れています。 ここで、Cisco FirePOWERでアプリケーションを説明するには、HEXエディターを使用するか、システム入力に関係するアプリケーションのトラフィックを記録したPCAPファイルを提供する必要があります。 これはあまり便利ではなく、特定のスキルが必要です。 2015年末までにシスコソリューションでサポートされるOpenAppID言語により、このタスクの実装が容易になります。
火力
3年後の2001年に、マーティンレッシュは、3Dセンサー、FirePOWERなどと呼ばれるSnortの商用バージョンが作成されるフレームワーク内で、異なる時期にSourcefireを設立しました。構成と実装に多大な労力が必要です。 2番目の目標は、毎秒数十ギガビットの高速で攻撃を検出できる高性能ソリューションを作成することでした。 これはSourcefireデバイスの第一世代でした。 次に、アプリケーション識別機能(昨年のみSnortに登場)、FireAMPマルウェア検出メカニズム、ファイアウォール、その他多くの機能を備えた2番目のシリーズのデバイスが登場しました。 第3世代では、本格的な次世代ITU(NGFW)が登場しました。 シスコは2011年にSourcefireを買収する意向を発表し(数年前、Check Pointは成功しませんでした)、その瞬間からFirePOWERプラットフォームは新しい生活を始めました。
現在、このプラットフォームは6つの実装オプションの形式で提供されています。
- 個別の高性能Cisco FirePOWERアプライアンスデバイス。 実際、これらはSourcefireがリリースしたのと同じデバイスです。
- FirePOWERサービスファイアウォールを搭載したCisco ASAは、従来のITUおよびVPN(サイト間およびリモートアクセス)の機能に加えて、次世代ITU(NGFW)、侵入防止システム(NGIPS)、コンテンツフィルタリングシステム、悪意のあるコード中和システム、および他の多くの機能。
- ISRルーター用のCisco FirePOWER Threat Defense 。これにより、ルーターに基づいて上記のすべての機能を実行できます。
- VMwareに基づいて起動された上記のすべての機能の仮想バージョン。
- 数百ギガビットの速度で多くのネットワークセキュリティタスク(ITUやVPNから悪意のあるコードやDDoSリフレクションとの戦いまで)を実行できる新しいFirepower 9300ハードウェアプラットフォーム
- Ciscoファイアウォールおよび侵入検知システムCisco ISA 3000およびCisco ISA 4000。
これらの6つのプラットフォームの商用ソフトウェアは、インターネットから無料でダウンロードできるSnortとどう違うのですか?
違いは何ですか?
FirePOWERテクノロジーに存在する主要な機能を強調してみます。
- 2007年に登場した主な変更点の1つはRNA(リアルタイムネットワーク認識)テクノロジーでした。これにより、制御されたネットワークで発生するすべてのアクティブプロファイルを作成し、ネットワークマップを作成し、パッシブトラフィック分析によってホスト、プロトコル、およびアプリケーションを識別できます。 後で、この情報は、攻撃に関するデータやセキュリティポリシーの他の違反と比較されます。
- RNAと同様に、ユーザーデータをネットワークアクティビティに関連付けるRUA(Real-Time User Awareness)テクノロジーがあります。 攻撃がIPアドレス192.168.1.34の偽装ホストではなく、ユーザー「Ivanov II」に対して実行されることを確認することは常に役立ちます。
- 2007年、SourcefireはClamAVの権利を購入しました。ClamAVは、侵入防止システムと統合され、ネットワークパケットや接続ではなく、ネットワーク経由で転送されるファイルを分析します。 その後、2011年のImmunetの買収後、このソリューションはAMP for Networksシステムに発展し、7つの異なるアルゴリズムを使用して悪意のあるコードを識別したり、既にネットワークに入ったファイルの遡及分析(事後分析)を実行したりできます。 ちなみに、Snortでは、バージョン2.9.7以降、ファイルの種類によるファイルの識別とブロックが登場しました。
- Martin Reschは、ファイアウォールの考えに懐疑的で、攻撃者はITUで開いているポートを使用して不正なアクションをカプセル化するだけだと考えています。 そのため、Sourcefireソリューションは、従来のファイアウォールの代わりにアプリケーションレベルのファイアウォールを実装しました。これは次世代ファイアウォール(NGFW)でもあり、アプリケーションの使用の違反を制御したり、禁止されたトラフィックをカプセル化したりできます。 ちなみに、正確にこの理由で、NGFWはITUのロシアの要件に従って認証することはほとんど不可能です-NGFWは単にそのような機能を持っていません。 これは彼らの仕事ではありません。
- NGFW機能を実装するには、ネットワークで実行されているアプリケーションを識別できる必要があります。 これは、前述のOpenAppIDテクノロジーの開発の基本となるAppIDテクノロジーを使用して行われます。 定義済みのアプリケーション検出器に加えて、独自のアプリケーションを記述することができます(これについては上で説明しています)。
- しかし、FirePOWERでのファイアウォール機能の実装には、それだけの価値がありました。 特に、FirePOWERテクノロジーを使用する6つのプラットフォームのいずれかで、セキュリティポリシーを作成するときに、ITUルールでゾーン、VLAN、IP、ポート、およびユーザーとグループを使用できます。
- IPアドレスによるトラフィックのブロックに加えて、FirePOWERはURLフィルタリングテクノロジーも実装しました。 SSLを使用する場合は、その後の検査で解読できます。 現在、SSLインスペクションはFirePOWERアプライアンスでのみ使用できますが、2015年末までに他のプラットフォームに実装される予定です。
- 侵入検知システムだけでなく、ファイアウォール、悪意のあるコードと戦うためのシステム、URLフィルタリングシステム、および他の多くの保護技術も搭載された単一のセンサーを備えているため、妥協インジケーター(IOC)の識別でそれらの機能を組み合わせることが論理的でしたFirePOWERの1つのバージョン。
- センサーの負荷を軽減するために、IPアドレスのブラックリストとホワイトリストを維持する、いわゆるセキュリティインテリジェンス機能を実装しました。 これにより、信頼できるトラフィックを処理せず、最初の悪意のあるトラフィックをブロックできます。 これはデコーダレベルで行われ、最終的にシステム全体のパフォーマンスが向上します。 もう1つの組み込み機能は、位置情報のサポートです。これにより、ネットワークパケットおよびセッションに記録されたアドレスの地理参照が可能になります。
- FirePOWERには、チェックサム(Snort 2.9.7で登場)によって保護されたコンテンツを検出するための組み込み関数があり、DLPシステムの軽量バージョンとして使用できます。
- ネットワーク機能に関して、FirePOWERは、SnortにはないNATおよびルーティングサポートを実装し、パフォーマンスを向上させるためのデバイスのスタック(FirePOWERアプライアンスのみ)およびクラスタリング(FirePOWERサービスを備えたCisco ASAのみ)をサポートします(最大16デバイス)。 クラスタリングの場合、ITUモードでの集約パフォーマンスは640ギガビット/秒、IPSモードでは-160ギガビット/秒になります。
- 商用ソフトウェアコードは最適化され(GCCの代わりにIntel Cが使用されます)、FirePOWERアプライアンスは特別なネットワークカードも使用して、1つのデバイス上の複数のコア間でTCPフローの負荷と処理を分散します。 彼らの助けを借りて、いくつかのデバイスが積み重ねられています。 マルチコアプロセッサのサポートは、Snort 3.0で実装する必要があります。
これでやめ、SnortとFirePOWERに基づいて構築された保護センサーの比較を完了できました。 しかし、特に企業環境において、本格的な保護システムに必要なのはこれだけではありません。 を含む管理機能を見てみましょう 集中化され、SnortまたはFirePOWERとともに提供されます。
Snort自体には制御システムがありません。 ただし、出力モジュールを使用すると、作業の結果を外部システムに送信できます。開発者は、Snortセキュリティイベントを管理、レポート、分析、視覚化するためのいくつかの異なるシステムを市場に提供しました。 その中でも、ACID(非常に長い間更新されていませんでした)、 BASE 、 Snorby 、 Sguil 、 Aanval (商用ソリューション)。 私は、非常に長い時間前に「Detecting Attacks」という本を書いたときにACIDで働いていました。 さらに、BASEと同様に、ACIDにはデータを操作するための高度な分析機能がありません。 私はAanvalとは仕事をしていませんでした。無料のSnort用の商用サードパーティ管理システムは、必要なものではありません(場合によっては可能です)。 しかし、SnorbyとSguilに関しては、2番目の方がより人気があると言えます。 「ネイティブ」のFirePOWERセンサー管理システムであるFireSIGHT Management Center (以前のDefense Centerと呼ばれる)と比較してみましょう。
スギルとは何ですか? 実際、これはSnortのイベント集約システムであり、Snort出力モジュールが外部に出力する内容(アラーム、パケットの内容、その他の関連情報)を視覚化できます。 さらに、Sguilでは、他のツールを実行して、記録されたイベントのより詳細な調査を行うことができます。 これらのツールには以下が含まれます。
- Squertは、クエリを整理し、Squilデータベースに保存されているデータを表示するためのWebアプリケーションです。
- 集中ログ管理システムであるELSAは、軽量のSIEMの一種です。
- NetworkMiner 、スナップショットpcapファイルに基づくネットワーク調査ツール。
- WireShark、導入の必要はありません。
原則として、Sguilやその他の監視ツール(たとえばSecurity Onionに含まれる)の資格と時間がある場合、Snortが提供する優れたイベント管理システムを作成できます。 ただし、...ルールの管理、センサーの構成、ステータスの監視、更新、イベントデータベースのバックアップ、役割ベースのアクセス制御、階層管理システム、レポート生成...これらはすべて、Sguilユーザーにはアクセスできません。
「ネイティブ」のFireSIGHT Management Centerにはこれらの欠点がありません。 その機能の中で:
- 複数のFirePOWERセンサーの集中管理と構成。
- コードを再コンパイルせずにセンサーを更新します(正しいパラメーターを指定することを忘れないでください)。
- 複数のIDSセンサーからだけでなく、さまざまなタイプの保護ツールおよびテクノロジー(ITU、AMP、RNA、RUAなど)からのイベントの相関
- セキュリティポリシーの作成。
- インシデントの調査。
- 各ノード(アドレス、OS、アプリケーション、プロトコル、ユーザー)のプロファイルを管理します。
- ADとの統合および一元化された階層的なユーザー管理。
- リモートセンサーのステータスの監視。
- さまざまな情報を表示するカスタマイズ可能なダッシュボード。
- レポート生成。
- データベースをバックアップします。
- 等
本質的に、FireSIGHTは、インシデントへの対応において非常に貴重であったルーチンタスクを自動化する手段です。 たとえば、SnortとFirePOWERにはHAT(ホスト属性テーブル)があります。これは、Snortで使用されるオペレーティングシステムを各IPアドレスとサービスポートの関連付けに関連付けるXMLファイルです。 Snortでは、このファイルは手動で作成されるため、大規模なネットワークではいくつかの問題が発生する可能性があります。 FirePOWERでは、このファイルはRNAによって自動的に作成され、手作業を必要としません。 そして、そのような例はたくさんあります。
SGUILには、ネイティブFireSIGHT Management Centerと比較して2つの利点があります。 まず、無料です。 次に、センサーからのデータをリアルタイムで表示します。 FireSIGHTの最大データリフレッシュレートは1分に1回です。 ただし、FireSIGHTを使用すると、FirePOWERセンサーを企業セグメントで使用されるさまざまな外部セキュリティシステム(セキュリティスキャナー、ファイアウォール、ルーターおよびスイッチ、パケットキャプチャシステム、セキュリティイベントの視覚化システム、SIEMなど)と統合できます。 これは、同じSnortからも欠落している特別なAPIを介して行われます(ただし、さまざまなスクリプトの助けを借りて、いくつかの同じ無料の保護ツールと統合することができます)。
まとめ
結論として、1つを除いて結論を出したいとは思いません。 以前はSourcefireが所有し、後にシスコが買収したFirePOWERテクノロジーと、かつてSourcefireのソリューションを支えていた無料のSnort攻撃検出システムは同じものではないという声明。 まあ、それはまったく同じことではありません。 はい、Snortは攻撃検出システムの事実上の標準のままですが、Cisco FirePOWERはIDSだけではありません。 ここには、アプリケーションレベルのファイアウォール、URLフィルタリング、悪意のあるコードの中和、イベントの組み込み相関、インシデント調査、セキュリティスキャナーとの統合、およびセキュリティルーチンタスクを自動化する他の多くの機能があります。