[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[stalk:00142] Re: snort のできなりパッチいりますか?





しかP@なぞが解けた?、です。

On 20 Mar 2001 13:35:50 -0000
minz@xxxxxxxx (Hiroshi Migimatsu ^^;) wrote:
> 	なんか一度行ったことがあるような気がする :-)
なんか一度あったことがあるような気がする;-)

と、なんだかかってに昔に戻っていますが(^^;

パッチ、すぐではないですが、「全面書き直し」します。
やっと転置表現の謎が解けた様な気がします\(^_^)/
#もちろん、単なる誤解の可能性もありますけれど。(^^;
これでやっとこさ、Unicode(UTF-8)をまっとうにデコードして
からチェックする、というまともなコードが書けます。
というわけで、今までのばーたりパッチはそのうちobsoluteに
なります。
#でも、今のパッチも使ってみてくださいね(^^;;;;

せっかくなので、Unicodeのシグネチャに相当する文字列を
列記して、転置表現についての謎についてわかった範囲で書いておきます。
#FW-Wizardに流れていたのでご存じの方も多いとは思いますが。

まずはシグネチャレベルでチェックする場合の文字列です。
UTF-8 -> decode後の順で書いてあります。。
%c0%af->'/'
%c1%9c->'\'
%c0%ae->'.'
%e0%80%af->'/'
%e0%80%9c->'\'
ここまでが、まともなUTF-8コードそのもので、通るのが確認されている
ものです。
%e0%80%ae->'.'
これがまともなコードでたぶん通るんじゃないかと思うものです。
その他、UTF-8は1バイト表現と4バイト表現があるようですが、
少なくとも4バイト表現は問題なし、ということです。
で、問題のUTF-8転置パターンですが、
%c0%9v->'/'
%c0%qf->'/'
%c1%8s->'\'
%c1%pc->'\'
%e0%80%9v->'/'
%e0%80%qf->'/'
%e0%80%8s->'\'
%e0%80%pc->'\'
というパターンがあるようです。これも通るらしい。
上記のパターン(UTF-8)をすべてシグネチャとしてルールセットに
書いておけば、Unicodeで'/','\','.'を書かれた場合を
(ほぼ)チェックできる、ということになります。
#大量のパターンになるのでプリプロセッサにしたのかな>snort

次に、転置行列の謎です。
最後のこのパターンはどうひいき目に見てもHexに見えないので、
うまくアルゴリズムが立てられず、あんなにばっちいパッチに
なってしまったんですが、やっとわかったような気がします。

あらい@ラックさんが[fe-wizard:940]で説明用に書かれた式、
>%c0%9v = %c0%9f + %00%10 = %c0%af = '/'
>%c0%qf = %c0%af + %00%f0 = %c0%af = '/'
>%c1%8s = %c1%8c + %00%10 = %c1%9c = '\'
>%c1%pc = %c1%9c + %00%f0 = %c1%9c = '\'
を一見するとまじでわけわかんないんですが、どうやら
こういう考え方だと説明がつくようです。
1つ目の式で行くと、左辺%c0%9vの'v'って
%c0%9fの'f'の16文字あとの文字ですよね。
2つ目の式の%qfの'q'は%afのaのやっぱり16文字あと。
3つ目も4つ目も同じ16文字。
つまり、変な(Hexの範囲外)の文字の16文字前に
目指す文字がある、と。
で1の位の文字がへんな場合は10(16?)の位をインクリメント。
10の位の文字が変ならそのまんま。

これが本当なら、アルゴリズムの世界に入れるんですけど。
#シグネチャをハードコーディングするだけのパッチとおさらば;-)

ただ、「ほんまかいな?」と思っている自分がいるのも事実。
そこで、教えてください。
本当のことをご存じないですか>All
特にMSにお勤めのお方。(^^;

PS Windowsのpersonal web serverにも同様のバグがあるようですね。
--
- このメイリングリストに関する質問・問い合せ等は
- <security-talk@xxxxxxxxxx>までお知らせください
--
------------------------------------------------------------------------
  カンタン!快速!便利! 毎日更新のインフォシーク不動産 チェック!
      http://house.infoseek.co.jp/House/top?svx=971122