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