シスコ
Snort 3 ブランチでは、製品コンセプトが完全に再考され、アーキテクチャが再設計されました。 Snort 3 の開発の主な分野には、Snort のセットアップと実行の簡素化、構成の自動化、ルールを構築するための言語の簡略化、すべてのプロトコルの自動検出、コマンド ラインから制御するためのシェルの提供、単一構成への異なるプロセッサーの共同アクセスによるマルチスレッド化。
次の重要な革新が実装されました。
- 新しい構成システムへの移行が行われ、簡素化された構文が提供され、スクリプトを使用して設定を動的に生成できるようになりました。 LuaJIT は構成ファイルの処理に使用されます。 LuaJIT ベースのプラグインには、ルールとログ システムの追加オプションの実装が提供されます。
- 攻撃を検出するエンジンが最新化され、ルールが更新され、ルール内でバッファをバインドする機能 (スティッキー バッファ) が追加されました。 Hyperscan 検索エンジンが使用されたため、ルール内の正規表現に基づいて、高速でより正確なテンプレートを使用できるようになりました。
- セッション ステートフルで、テスト スイートでサポートされている状況の 99% をカバーする HTTP の新しいイントロスペクション モードを追加しました。
HTTP エベイダー 。 HTTP/2 トラフィック検査システムを追加しました。 - ディープ パケット インスペクション モードのパフォーマンスが大幅に向上しました。 マルチスレッド パケット処理機能が追加されました。これにより、パケット ハンドラーを使用して複数のスレッドを同時に実行できるようになり、CPU コアの数に応じて線形のスケーラビリティが提供されます。
- 異なるサブシステム間で共有される構成テーブルと属性テーブルの共通リポジトリを実装しました。これにより、情報の重複が排除され、メモリ消費が大幅に削減されました。
- JSON 形式を使用し、Elastic Stack などの外部プラットフォームと簡単に統合できる新しいイベント ログ システム。
- モジュラー アーキテクチャへの移行、プラグインの接続を通じて機能を拡張する機能、および交換可能なプラグインの形式での主要なサブシステムの実装。 現在、Snort 3 には数百のプラグインがすでに実装されており、アプリケーションのさまざまな領域をカバーしています。たとえば、独自のコーデック、イントロスペクション モード、ロギング メソッド、アクション、およびオプションをルールに追加できます。
- 実行中のサービスを自動的に検出するため、アクティブなネットワーク ポートを手動で指定する必要がなくなります。
- デフォルト構成に関連する設定を素早くオーバーライドするためのファイルのサポートが追加されました。 構成を簡素化するために、snort_config.lua および SNORT_LUA_PATH の使用は廃止されました。
設定をオンザフライで再ロードするためのサポートが追加されました。 - このコードは、C++14 標準で定義された C++ コンストラクトを使用する機能を提供します (ビルドには C++14 をサポートするコンパイラが必要です)。
- 新しい VXLAN ハンドラーを追加しました。
- アルゴリズムの更新された代替実装を使用した、コンテンツによるコンテンツ タイプの検索の改善
ボイヤー・ムーア иハイパースキャン ; - ルールのグループをコンパイルするために複数のスレッドを使用するため、起動が高速化されます。
- 新しいログ記録メカニズムを追加しました。
- ネットワーク上で利用可能なリソース、ホスト、アプリケーション、サービスに関する情報を収集する RNA (リアルタイム ネットワーク アウェアネス) 検査システムが追加されました。
出所: オープンネット.ru