SnortML

[名前(Name)]

Snort_ml

タイプ

インスペクタ(パッシブ)

使用方法

検査

インスタンス タイプ

単一

その他のインスペクタが必要

snort_ml_engine、http_inspect

有効

[最大検出(Maximum Detection)] ポリシー

最新の環境の機能に不可欠なソフトウェアでは、毎日新たな脆弱性が検出されています。セキュリティアナリストは、これらの新たな脆弱性を分析してそれらをトリガーするのに必要なものを分離し、それらをターゲットとするエクスプロイトを検出するための署名を作成します。ほとんどの署名は、特定の脆弱性に対してのみ実際に作成できます。

SnortML は、Snort 侵入防御システム用のニューラル ネットワークベースのエクスプロイト検出です。トレーニングデータから既知の攻撃を検出するだけでなく、これまでに確認されたことのない攻撃を検出するように設計されています。

snort_ml インスペクタは、主に HTTP を介した SQL インジェクション攻撃を検索します。このインスペクタはパフォーマンスに影響を与える可能性があるため、[最大検出(Maximum Detection)] ポリシーでのみデフォルトでのみ有効になっています。

Cisco Secure Firewall バージョン 10.0.0 以降、HTTP トラフィックを介したコマンド ライン インジェクション攻撃の検出がサポートされています。コマンド ライン インジェクション攻撃は、攻撃者がホスト OS 上でオペレーティングシステム(OS)コマンドを入力できる場合に発生します。

また、Cisco Secure Firewall バージョン 10.0.0 以降、サイズが 256、512、または 1,024 バイトのニューラル ネットワーク モデルが URI 入力に基づいて自動的に選択されます。トレーニングされたニューラル ネットワーク モデルを小さくすると、有効性に影響を与えることなく、大規模なモデルに比べて短時間で分析を行えます。

SnortML ルール

snort_ml インスペクタルールを有効にし、イベントを生成し、インライン展開では、違反パケットをドロップします。snort_ml インスペクタルールは、[最大検出(Maximum Detection)] 侵入およびネットワーク アクセス ポリシーでのみデフォルトで有効になります。

表 1. Snort ML インスペクタルール

GID:SID

ルール メッセージ

411:1

(snort_ml)ニューラル ネットワーク ベースのエクスプロイト検出を介して HTTP パラメータで潜在的な脅威を検出。

SnortML パラメータ

uri_depth

HTTP URI からスキャンするバイト数を指定します。値 -1 は無制限を意味します。

型:整数

有効な範囲:-12147483648

デフォルト値:-1

client_body_depth

HTTP クライアントボディからスキャンするバイト数を指定します。値 -1 は無制限を意味します。

型:整数

有効な範囲:-12147483648

デフォルト値:0

SnortML ルールの有効化

設定した侵入ポリシーのベースポリシーとして [最大検出(Maximum Detection)] を使用している場合、SnortML ルールはデフォルトで有効になります。ベースポリシーとして [最大検出(Maximum Detection)] を使用していない場合、SnortML ルールはデフォルトで無効になります。SnortML ルールを有効にするには、次の手順を実行します。

手順


ステップ 1

[ポリシー(Policies)] > [侵入(Intrusion)] の順に選択します。.

ステップ 2

[侵入ポリシー(Intrusion Policies)] タブで、SnortML ルールを有効にする侵入ポリシーの [Snort 3バージョン(Snort 3 Version)] をクリックします。 [侵入ポリシーについて(About Intrusion Policies)] ウィンドウが表示されます。

ステップ 3

[侵入ポリシーについて(About Intrusion Policies)] ウィンドウに表示される情報を確認し、[取り消す(Dismiss)] をクリックします。

ステップ 4

[概要(Summary)] タブで、[有効なポリシーを表示(View Effective Policy)] をクリックします。

ステップ 5

[有効なポリシー(Effective Policy)] ウィンドウのフィルタバーに GID=411 と入力し、Enter キーを押します。411:1 ルールが表示されます。

ステップ 6

[ルールアクション(Rule Action)] ドロップダウンリストから、[ブロック(Block)] を選択します。

ステップ 7

表示されるウィンドウで、[オーバーライド(Override)] をクリックします。

ステップ 8

[概要(Summary)] をクリックして [概要(Summary)] ウィンドウに戻り、[オーバーライドされたルール(Overridden Rules)] の数が 1 つ増えているかどうかを確認します。これで SnortML ルールが有効になり、SnortML インスペクタも自動的に有効になります。


SnortML インスペクタの無効化

snort_ml インスペクタを無効にするには、次の手順を実行します。

手順


ステップ 1

[ポリシー(Policies)] > [侵入(Intrusion)] の順に選択します。

ステップ 2

[ネットワーク分析ポリシー(Network Analysis Policies)] タブで、snort_ml インスペクタを無効にするネットワーク分析ポリシーの [Snort 3バージョン(Snort 3 Version)] をクリックします。表示される警告を確認し、[はい(Yes)] をクリックします。

ステップ 3

[インスペクタ(Inspectors)] のリストにある [snort_ml] をクリックします。

ステップ 4

[オーバーライドされた設定(Overridden Configuration)] の横にある [編集(Edit)]編集アイコン アイコンをクリックします。

ステップ 5

[設定のオーバーライド(Override Configuration)] ウィンドウで、[「有効」:true("enabled": true)] を [「有効」:false("enabled": false)] に変更します。

ステップ 6

テキストボックス以外をクリックすると、JSON 形式を確認できます。[JSONシンタックスOK(JSON syntax ok)] と表示されたら、[OK] をクリックして設定を保存します。加えた変更は、[オーバーライドされた設定(Overridden Configuration)] で確認できます。

ステップ 7

[保存(Save)] をクリックし、ネットワーク分析ポリシーに加えた変更を保存します。


次のタスク

アクセス コントロール ポリシーの必要なアクセス制御ルールで、変更された侵入ポリシーを適用していることを確認します。また、アクセス コントロール ポリシーの [詳細設定(Advanced Settings)] にある [ネットワーク分析および侵入ポリシー(Network Analysis and Intrusion Policies)] セクションから、変更したネットワーク アクセス ポリシーを適用します。

統合イベントでの SnortML ルールイベントの表示

手順


ステップ 1

[イベントとログ(Events & Logs)] > [分析(Analysis)] > [統合イベント(Unified Events)] の順に選択します。.

ステップ 2

検索バーに侵入(intrusion)と入力し、[侵入イベント(Intrusion Events)] を選択します。

ステップ 3

検索バーの [追加(Add)] フィールドに snort_ml と入力し、[適用(Apply)] をクリックします。SnortML ルールが原因で生成された侵入イベントが表示されます。

ステップ 4

(任意) 生成されたイベントの詳細を表示するには、[右矢印(right arrow)]([右矢印(right arrow)] アイコン をクリックします。


侵入イベントでの SnortML ルールイベントの表示

手順


ステップ 1

[イベントとログ(Events & Logs)] > [侵入(Intrusions)] > [イベント(Events)] の順に選択します。.

ステップ 2

侵入イベントの詳細ビューについては、[イベントのテーブルビュー(Table View of Events)] をクリックします。

ステップ 3

[検索の編集(Edit Search)] をクリックします。

ステップ 4

[メッセージ(Message)] フィールドに snort_ml と入力し、[検索(Search)] をクリックします。SnortML ルールによって生成されたすべての侵入イベントが表示されます。