Open Source IDS Tools: Suricata、Snort、Bro (Zeek)、Linux

オリジナルは Joe Schreiber が書き、ゲスト ブロガーが書き直し、Rich Langston が再編集して拡大しました

ホストやそれらをつなぐネットワークを監視して最新の脅威を識別する必要があるかどうかにかかわらず、素晴らしいオープン ソース侵入検出 (IDS) ツールがいくつか利用可能になっています。

オープン ソース IDS ツールのリスト

  • Snort
  • Suricata
  • Bro (Zeek)
  • OSSEC
  • Samhain Labs
  • OpenDLP

IDS検出技術

脅威検出技術は主に2種類、シグネチャー ベース検出と異常ベース検出とがあります。 これらの検出技術は、シグネチャまたは異常検出エンジンのどちらを使用するかを決定する際に重要ですが、ベンダーはそれぞれの利点を認識するようになっており、一部の製品では両方を製品に組み込んでいます。

署名ベースの IDS ツール

署名ベースの IDS、別名知識ベースの IDS では、既知の悪意のあるトラフィックのルールまたはパターンが検索されます。 シグニチャに一致するものが見つかると、管理者にアラートが送信されます。 これらのアラートは、既知のマルウェア、ネットワーク スキャンのアクティビティ、およびサーバーに対する攻撃などの問題を発見できます。

統合セキュリティ管理

IDS、資産発見、SIEM ログ管理などの重要なセキュリティ機能を統合した 1 つのプラットフォームです。

詳細

異常ベースの IDS ツール

異常ベースの IDS、別名動作ベースの IDS では、配信されるペイロードよりもトラフィックを生成した動作がはるかに重要です。 異常ベースの IDS ツールは、シグネチャではなくベースラインに依存します。 以前の活動の統計的な平均値や以前見た活動から逸脱した異常な活動を検索します。

シグネチャ ベースと異常ベースの両方の検出技術は、通常、同じ方法で展開されますが、外部で収集したネットフロー データまたは同様のトラフィック情報に基づいて異常ベースの IDS を作成することも可能です (実際、多くの人が作成しています)。

長所と短所

署名ベースの検出では誤検出が少なくなりますが、既知の署名のみがフラグされ、新しい、まだ確認されていない脅威に対してセキュリティ ホールが残されます。

ネットワーク ベースの IDS (NIDS)

ネットワーク ベースの侵入検知システム (NIDS) は、悪意のある活動を検知するために、ネットワーク セグメント上のすべてのトラフィックを検査することによって動作します。 NIDS では、ネットワークを横断するトラフィックのコピーが、スイッチやルーターを横断するトラフィックをミラーリングすることにより NIDS デバイスに配信されます。

NIDS デバイスは、トラフィックのパターンまたはシグネチャを監視して警告を発します。 悪意のあるイベントが NIDS デバイスによってフラグ付けされると、重要な情報がログに記録されます。 このデータは、イベントが起こったことを知るために監視される必要があります。 この情報を他のシステムやデバイスから収集したイベントと組み合わせることで、ネットワークのセキュリティ態勢の全体像を把握することができます。 なお、ここで紹介するツールは、いずれも単独でログを関連付けるものではありません。 これは一般に、セキュリティ情報およびイベント マネージャー (SIEM) の機能です。

Snort

ああ、パケットが大好きな由緒あるブタさんですね。 1998 年は、Windows 98 が発売された年として多くの人が記憶していますが、Martin Roesch が初めて Snort をリリースした年でもあります。 当時、Snortは真のIDSではなかったが、それが彼の運命であった。

重要なのは、Snort には実際の GUI や使いやすい管理コンソールがないことです。 これらのツールは、Snort IDS から来るアラートを照会および分析するための Web フロント エンドを提供します。

Snort の概要

  • Long product life with no signs of going away
  • Great community support
  • Plenty of administrative front-ends
  • Toughfully proven and tested
  • Great community support
  • Snort のウェブサイトによると、特徴は以下のとおりです:
    • Modular design (モジュラー設計):
    • Multi-threading for packet processing
    • Shared configuration and attribute table
    • Use a simple, scriptable configuration
    • Plugin framework, make key components pluggable (and 200+ plugins)
    • Auto-detect services for portless configuration
    • Auto-generate reference documentation
    • Scalable memory profile
    • Rule parser and syntax (support sticky buffers in rules)
  • Documentation:
    • Ruleset Updates
    • Snort FAQ
    • A Snort Cheatsheet
    • A plugin for Snort is available for AlienVault USM Anywhere.

Suricata

What’s the only reason for not running Snort? If you’re using Suricata instead. Although Suricata’s architecture is different than Snort, it behaves the same way as Snort and can use the same signatures. What’s great about Suricata is what else it’s capable of over Snort.

サードパーティのオープン ソース ツールがあり、Suricata IDS からのアラートを照会および分析するための Web フロントエンドを利用できます。

Suricata の概要

  • Multi-Threaded – Snort は単一スレッドで動作し、一度に使用できるCPU (core) は1つだけです。 Suricata は多くのスレッドを実行できるので、利用可能なすべての CPU/コアを活用できます。 Snort は「No」、いくつかのベンチマークは「Yes」と回答しています。
  • 内蔵ハードウェア アクセラレーション – グラフィック カードを使ってネットワーク トラフィックを検査できることをご存知ですか?
  • LuaJIT – 文字数は多いですが、Suricata が検査したパケットからの情報を使って使用できるスクリプト エンジンです。 これにより、複雑なマッチングがさらに簡単になり、複数のルールを 1 つのスクリプトにまとめることで効率を上げることさえできます。
  • Logging more than packets – Suricata は TLS/SSL 証明書、HTTP リクエスト、DNS リクエストといったものを取得しログに残すことができます
  • Great community support
  • Suricataのウェブサイトによると、特徴は以下のとおりです。
    • High performance – multi-threaded, scalable code base
    • Multipurpose Engine – NIDS, NIPS, NSM, offline analysisなどです。
    • クロスプラットフォームのサポート – Linux、Windows、macOS、OpenBSD など
    • 最新の TCP/IP サポート – スケーラブルなフローエンジン、フル IPv4/IPv6、TCP ストリーム、IP パケットデフラグなど
    • プロトコル パーサー – パケットデコード、アプリケーション層デコード
    • HTTP エンジン – HTTP パーサー、リクエストロガー、キーワードマッチなど
    • Http エンジン – HTTP パーサー。
    • Autodetect services for portless configuration
    • Lua scripting (LuaJIT)
    • Application-layer logging and analysis, including TLS/SSL certs, HTTP requests, DNS requests, and more
    • Built-in hardware acceleration (GPU for network sniffing)
    • File extraction
  • Documentation:
    • Suricata User Guide
    • User and Developer Docs
    • Suricata FAQ

Bro (renamed Zeek)

Bro, which was renamed Zeek in late 2018 and is sometimes referred to as Bro-IDS or now Zeek-IDS, is a bit different than Snort and Suricata. In a way, Bro is both a signature and anomaly-based IDS. Its analysis engine will convert traffic captured into a series of events. An event could be a user login to FTP, a connection to a website or practically anything. The power of the system is what comes after the event engine and that’s the Policy Script Interpreter. このポリシー エンジンは独自の言語 (Bro-Script) を持ち、非常に強力で多様なタスクを実行できます。

もしあなたがアナリストで、「どのようにして自分の仕事の一部を自動化できるか」と考えているなら、これはあなたが探していたツールでしょう。 ワイヤ上で見られるファイルをダウンロードし、マルウェア解析のために提出し、問題が見つかったら通知し、ソースをブラックリスト化し、それをダウンロードしたユーザーのコンピューターをシャットダウンしたいと思いませんか?

アナリストでない場合、このツールの学習曲線は難しいでしょう。 調査ツールとして開発されたため、当初は GUI、使いやすさ、インストールの容易さといったことに重点を置いていませんでした。

ネイティブの GUI はありませんが、Bro-IDS からのアラートを照会および分析するための Web フロントエンドとして、サードパーティのオープンソース ツールが利用可能です。 Consider ELK stack.

Bro Summary

  • Complicated to set up
  • Can detect patterns of activity other IDS systems can not
  • Very extensible architecture
  • Good community support
  • According to Bro’s website, features include:
    • Comprehensive traffic logging and analysis
    • Powerful and flexible event-driven scripting language (Bro scripts)
    • Deploys on UNIX-style systems, including Linux, FreeBSD, and MacOS
    • DNS/FTP/HTTP/IRC/SMTP/SSH/SSL/other protocol support
    • Fully passive traffic analysis with network tap or monitoring port
    • Real-time and offline analysis
    • Cluster-support for large-scale deployments
    • Comprehensive IPv6 support
    • IDS-style pattern matching
    • File extraction
    • Extensible architecture
    • Analysts can use Bro for automation (file extraction, malware analysis, blacklisting, track usage patterns, research work, etc.)
  • Documentation:
    • Bro Manual
    • Bro Docs
    • Bro FAQ

ホストベースの IDS (HIDS)

ホストベースの侵入検知システム (HIDS) はエンドポイントのホスト上で内部発生する活動を監視して動作します。 HIDS アプリケーション (ウイルス対策ソフトウェア、スパイウェア検出ソフトウェア、ファイアウォールなど) は、通常、ネットワーク内のすべてのインターネット接続コンピューター、またはサーバーなどの重要なシステムのサブセットにインストールされます。

HIDS は、オペレーティング システムによって作成されたログを調査し、主要なシステム ファイルに加えられた変更を探し、インストールされたソフトウェアを追跡し、時にはホストが行うネットワーク接続を調べることにより、異常または不正な活動を探します。

最初の HIDS システムは、基本的で、通常は定期的にファイルの MD5 ハッシュを作成して不一致を探し、ファイルの完全性監視 (FIM) と呼ばれるプロセスを使用するだけでした。 それ以来、HIDS ははるかに複雑化し、さまざまな有用なセキュリティ機能を実行するようになり、今後も成長し続けることでしょう。

組織に PCI DSS、HIPAA、または ISO 27001 などのコンプライアンス指令がある場合、HIDS にファイル整合性監視 (FIM) とアクティブな脅威監視を実証するよう要求することができます。

OSSEC はほとんどすべての主要なオペレーティング システム上で動作し、HIDS システムで非常に重要なクライアント/サーバー ベースの管理およびログ記録アーキテクチャを備えています。

OSSECのクライアント/サーバー アーキテクチャは、警告とログを中央サーバーに配信し、ホスト システムがオフラインまたは侵害されても、分析および通知を行うことができるこの戦略を組み込んでいます。 クライアント/サーバー アーキテクチャーのもう 1 つの利点は、1 つのサーバーからエージェントを集中的に管理できることです。

OSEC (および他の HIDS) について議論するとき、重要なサーバーにエージェントまたはソフトウェアをインストールすることにしばしば不安を感じます。 OSSEC のインストールは非常に軽く (インストーラーは 1MB 未満) 、分析の大部分は実際にサーバー上で行われるため、ホスト上で OSSEC が消費する CPU はほとんどないことに留意する必要があります。 また、OS のログをサーバーに送信して解析・保存することができるため、ネイティブかつクロスプラットフォームなログ記録メカニズムを持たない Windows マシンで特に役立ちます。

OSSEC の概要:

  • ほとんどすべての OS 用のエージェント
  • Windows 用のコンパイル済みエージェント
  • FIM だけではない多くの機能
  • 堅牢だがシンプルなインストールプロセス
  • 優れたコミュニティ サポート
  • OSEC のウェブサイトによると、機能は以下のとおりです。
    • File integrity monitoring (FIM)
    • Log monitoring collects, analyzes, and correlates system logs
    • Rootkit detection, which searches for system modifications similar to rootkits
    • Active response can invoke automated response action when alerts are triggered
    • Client/Server architecture
    • Multi-platform support (Linux, Solaris, Windows, MacOS, etc.)
    • Supports compliance requirements for FIM
    • Real-time and configurable alerts
    • Integration with current infrastructure
    • Centralized server for mass policy management
    • Agent and agentless monitoring
  • A plugin for OSSEC is available for AlienVault USM Anywhere. To learn more, read here.
  • Documentation:
    • OSSEC Docs
    • OSSEC FAQ
    • OSSEC Github

Samhain Labs

Samhain is probably the only HIDS open-source that gives OSSEC a run for its money. しかし、この 2 つを比較すると、「同じだが異なる」というケースが非常に多いのです。 Samhainは、同じクライアント/サーバーアーキテクチャを持っていますが、OSSECのようにそれを必要としません。 エージェント自体には様々な出力方法があり、1つは中央ログリポジトリですが、Syslog、Email、RDBMSなどの他のものも含まれています。

もう 1 つの重要な違いは、分析が行われる場所です。 OSSEC とは異なり、処理はクライアント自体で行われるため、運用上の影響があります。 From a practical point of view, care must be taken it doesn’t overload a busy server and interfere with operations. From the security point of view, having the brains on the endpoint invites hackers to deactivate the tool so warnings aren’t issued.

Samhain Summary:

  • Harder to install
  • Windows clients require Cygwin
  • Great FIM functionality
  • More flexible client
  • Okay community support
  • According to Samhain’s website, features include:
    • File integrity monitoring (FIM)
    • Log file monitoring and analysis
    • Rootkit detection
    • Port monitoring
    • Detection of rogue SUID executables and hidden processes
    • Multi-platform support
    • Centralized logging and maintenance
    • Client/Server architecture (mostly)
    • Variety of output methods (e.g. syslog, email RDBMS)
    • Can be used as a standalone application on a single host
  • Documentation:
    • Samhain Docs
    • Samhain ユーザー マニュアル
    • Samhain FAQ

    File Integrity Monitoring (FIM Only)

    多くの File Integrity Monitoring (FIM) ツールが HIDS に分類されていますが、FIM には脅威検知が含まれているので、それについて説明します。 FIM は、現在のバージョンと既知の有効なバージョンを比較することにより、オペレーティング システムおよび指定されたアプリケーション ファイルの整合性を検証し、それらが変更されるたびに管理者に警告を発するツールです。 重要なサーバーの変更は、しばしば侵害が発生したことを示すので、これは重要なことです。

    いくつかの FIM は活発に開発されていますが、何年も更新されていない FIM もあります。 オープン ソースの Tripwire と AFICK は、2 つのオープン ソースの FIM 製品の選択肢です。 スタンドアロンの Unix ベースのシステムについては、chkrootkit、rkhunter、または Unhide などのルートキット検出型のファイル整合性チェッカーをチェックすることを検討してください。 独自のルートキット発見メカニズムにより、これらのソリューションは検討する価値がある。

    AlienVault Unified Security Management (USM) Platform は、脅威検出テクノロジーを推進し、サイバーセキュリティ コンプライアンスの取り組みを加速させるために、組み込みの FIM 機能を提供します。 AlienVault USM が FIM を使用して資産を保護する方法の詳細については、こちらをお読みください。

    最後に

    このガイドにより、オープン ソースの選択肢をいくつか理解できたと思います。 ここに示すように、これほど多くの選択肢や利用可能なツールの広範なセットはかつてありませんでした。 慎重な計画と継続的なメンテナンスの計画があれば、これらのツールを使って安全なネットワークを構築することができます。 慎重な計画と継続的なメンテナンスの計画があれば、これらのツールで安全なネットワークを構築することができます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です