2017-12-06 15 views
0

状況:攻撃者がコンテンツサイズが一致しない無効なHTTPパケットを実際のコンテンツサイズに送信する攻撃があります。私はそのようなパケットを釣り上げるためにSnortルールを書く必要があります無効/不一致のHTTPヘッダーコンテンツサイズと実際のコンテンツサイズを検出するためのSnortルール

問題:私が知る限り、SnortはユーザがSnort変数/値( "dsize"など)を使ってルールセットを定義することを許可していません。私がやりたいことの一例は以下の通りです:

alert tcp $EXTERNAL_NET any -> $HOME_NET $HTTP_PORTS (\ 
    msg:"mismatched HTTP header content size vs actual content size"; \ 
    offset: *to http header content field*; \ 
    byte_test: *length of field of content*, !=, dsize; \ 
    gid: 1; sid:1000001;) 

質問:私は上記が動作しないということは非常に認識しています。 Snortルールを使って目的を達成する方法はありますか?

追加情報1:私はSnortの2を使用しています

追加情報2:Snortの2がサポートできる(LUA以外)のスクリプトはありますか?

追加情報3:httpプリプロセッサが存在することを認識していますが、正しく動作させる方法がわかりません。プリプロセッサを使用することを提案する場合は、正しい方向に私を指摘しますか?

答えて

1

短い答えは「いいえ」です。

答えが古ければ、このタイプの検出用のプラグインを作成できます。最初はプラグインフレームワークが気にならないかもしれませんが、リクエストからコンテンツサイズフィールドを簡単に抽出して、それを実際のデータコンテンツのサイズと比較することができます。これは、プラグインの理想的な検出状況です。プラグインが分析しているパケットが気にしないパケットであることをプラグインが認識するとすぐに、すぐに救済できるようにしてください。たとえば、プラグインをポート80に限定するだけでなく、HTTPヘッダーが含まれているパケットを調べることもできます。

関連する問題