フォーラム: users (スレッド #13630)

BASE64 のデコードについて (2007-02-12 09:25 by 匿名 #27562)

尾崎です。お世話になります。

bsfilter release - revision 1.82.2.2

bsfilter.exe を使用してコマンドラインから SPAM 判定を行なったときに、
BASE64 がデコードされていないようです。

--debug オプションを指定して確認したところ、
以下のようになりました。

よろしくお願いします。

bsfilter.exe --homedir .\data --method g --refer-header Subject --debug 124491.txt
tokenizer subject Message
tokenizer subject subject
tokenizer C body j5eCzI5xgqqRSYLUj2
tokenizer C body gswNCo9vie
tokenizer C body t4FCDQqCxYLgj2
tokenizer C body J74KijG6CwYLEj2
tokenizer C body C
tokenizer C body l0SXx49vie
tokenizer C body X
tokenizer C body DkIiCyY9vie
tokenizer C body gUCBQIFA
word probability subject subject 0.999900
word probability subject Message 0.999900
word probability body C 0.999900
word probability body X 0.516672
word probability body l0SXx49vie 0.400000
word probability body t4FCDQqCxYLgj2 0.400000
word probability body gUCBQIFA 0.400000
word probability body J74KijG6CwYLEj2 0.400000
word probability body DkIiCyY9vie 0.400000
word probability body gswNCo9vie 0.400000
word probability body j5eCzI5xgqqRSYLUj2 0.400000
combined probability 124491.txt 1 1.000000

メッセージ #27562 への返信×

Wiki文法は使えません
ログインしていません。投稿を区別するために投稿者のニックネームをつけてください(ニックネームの一意性は保証されません。全く別の人も同じ名前を利用することが可能ですので本人であることの特定には利用できません。本人であることを保証したい場合にはログインして投稿を行なってください)。 ログインする

RE: BASE64 のデコードについて (2007-02-12 15:10 by nabeken #27564)

テストケースを送って頂いたので修正しました。
revision 1.84 release-1.0.16.rc2 になります。
#27562 への返信

メッセージ #27564 への返信×

Wiki文法は使えません
ログインしていません。投稿を区別するために投稿者のニックネームをつけてください(ニックネームの一意性は保証されません。全く別の人も同じ名前を利用することが可能ですので本人であることの特定には利用できません。本人であることを保証したい場合にはログインして投稿を行なってください)。 ログインする

RE: BASE64 のデコードについて (2007-02-12 15:18 by 匿名 #27565)

早速の対応、ありがとうございます。
#27564 への返信

メッセージ #27565 への返信×

Wiki文法は使えません
ログインしていません。投稿を区別するために投稿者のニックネームをつけてください(ニックネームの一意性は保証されません。全く別の人も同じ名前を利用することが可能ですので本人であることの特定には利用できません。本人であることを保証したい場合にはログインして投稿を行なってください)。 ログインする

RE: BASE64 のデコードについて (2008-05-06 15:26 by 匿名 #36483)

大変有用に活用させていただいています。

この例と同じかどうかわかりませんが、
以下の2種類の迷惑メールのスコアが学習させても
0.5近辺でよくありません。
何とかなりますでしょうか。

1、Content-Transfer-Encoding: base64で、

GyRCIXkhIT1pGyhCIBskQj13QC1AbE1RN0c8KEhEISEheRsoQg0KDQobJEI9d0AtQGxNUSRORWo5RjdHPChIRCRHJDkhI0NLQC0xXE13Nlg7XyRHJDkhIxsoQg0KGyRCPCtKLCROJSglQyVBJEoyaEF8ISZGMDJoJHI3RzwoSEQkSzpcJDskXiQ7JHMkKyEpISkbKEINChskQjUuPXckTiUqJUolSyE8ISYlOyVVJWwkSCROJTslQyUvJTkhITI/JEckYiNPI0skRyQ5ISMbKEINCmh0dHA6Ly93d3c1Lm1hZGFtLWVyby5jb20vP2JjPXNkJm1lPVBINVNIOEcySGgzQjVIOEdRUDJLSGlpSEJPOEg4NjdINjkyRzJCNUhIaTZhNVFoVlI0RDlIb0g3SDZyMw0KDQoNChskQiF2GyhCMjAbJEI6TUwkS34kTj13QC0hJkNLQC0kTjFcTXckTzZYO18kNyRGJCokaiReJDkhIxsoQg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQobJEIiLiIuIi4iLiIuIi4iLiIuIi4iLiIuIi4iLiIuIi4iLiIuIi4iLiIuIi4iLiIuIi4iLiIuIi4iLiIuIi4iLiIuIi4iLiIuIi4iLiIuIi4iLiIuIi4iLiIuIi4bKEINChskQkNtMFUhJyUiJUAlayVIJTMlcyVGJXMlRCQsNF4kXiRsJEYkJCRrMFkhIiMxIzhMJEt+JE5FajlGISYxXE13JHI2WDtfJDckRiQqJGokXiQ5ISMbKEINChskQj5wSnMlYSE8JWtHWz8uNXFIXSRPJCo8aj90JEckOSQsJDMkQSRpJF4kRyQqNGokJCQ3JF4kOSEjGyhCDQpjYW5jZWxAbWFkYW0tZXJvLmNvbQ0KGyRCPnBKcyVhITwla0dbPy41c!
UhdJE8kKjxqP3QkRyQ5JCwkMyRBJGkkXiRHJCo0aiQkJDckXiQ5ISMbKEINCg==

などの1、2行のメッセージ
内容は掲示板への誘導の中身です。


2、Content-Transfer-Encoding: quoted-printable

カジノ体験を充実さ&=
#12379;る、公正なボーナ&#=
12473;をお探しですか?&#1=
2381;れならロイヤルVIPカ&=
#12472;ノです!
のような形のもの、
内容は、賭博や薬品関係が多いです。


#27562 への返信

メッセージ #36483 への返信×

Wiki文法は使えません
ログインしていません。投稿を区別するために投稿者のニックネームをつけてください(ニックネームの一意性は保証されません。全く別の人も同じ名前を利用することが可能ですので本人であることの特定には利用できません。本人であることを保証したい場合にはログインして投稿を行なってください)。 ログインする

RE: BASE64 のデコードについて (2008-05-15 00:24 by nabeken #36683)

% bsfilter -d ...
で、
word probability body 単語 整数 小数
というように、spamから単語が切り出されていること、1に近い小数が出ていることを確認してください。

単語が切り出されていない場合は、サンプルのメールを下さい。
小数のところの数値が0に近い場合は、
% bsfilter -su ...
で、spamとして学習を繰り返してください。
#36483 への返信

メッセージ #36683 への返信×

Wiki文法は使えません
ログインしていません。投稿を区別するために投稿者のニックネームをつけてください(ニックネームの一意性は保証されません。全く別の人も同じ名前を利用することが可能ですので本人であることの特定には利用できません。本人であることを保証したい場合にはログインして投稿を行なってください)。 ログインする

RE: BASE64 のデコードについて (2008-05-18 18:30 by zxcv3794 #36734)

水口です。

私にも、bsfilter が BASE64 をデコードしなくてCleanに誤判定される Spam が来ました。 規格違反のヘッダがどう解釈されるかの問題に見えます。 少し長くなりますが、内容を報告します。

以下は、メッセージ中の最後の RecievedヘッダからBodyの先頭までです。

/--------------ここから---------------\
Received: from 202.224.159.198 ([59.97.240.161]) by mtag5.hi-ho.ne.jp (8.13.8/8.13.8)
with SMTP id m4CBdwmO026533; Mon, 12 May 2008 20:40:30 +0900
Date: Mon, 12 May 2008 20:41:06 +0900 (JST)
Date-warning: Date header was inserted by smaster4.hi-ho.ne.jp
From: "=?ISO-2022-JP?B?GyRCRURCPEw4OT4bKEIK?=
Message-id: <200805121140.m4CBdwmO026533@mtag5.hi-ho.ne.jp>
MIME-version: 1.0
Content-type: TEXT/PLAIN
Content-transfer-encoding: 8BIT
X-Spam-Revision: bsfilter release 1.0.15 revision 1.82
X-Spam-Flag: No
X-Spam-Probability: 0.295713

" <pixmhsonwwqemc@qu-bit.com>
Reply-to: <pixmhsonwwqemc@qu-bit.com>
To: ***@eva.hi-ho.ne.jp, ****@eva.hi-ho.ne.jp, *****@eva.hi-ho.ne.jp
Subject: アフンフguハ^v
Date: Mon, 12 May 2008 04:40:19 -0800
X-Info: ******@eva.hi-ho.ne.jp
MIME-Version: 1.0
Content-Type: text/plain; charset=unknown-8bit
Content-Transfer-Encoding: base64
X-MIME-Autoconverted: from 8bit to base64 by proc03.hi-ho.ne.jp id m4CBf6227291
X-HIHO-FILTER: Mon, 12 May 2008 20:41:06 +0900 (JST)

DQqBQIGagUCBmYFAgUCBQIFAgUCBQIN6g5ODZ4LMj2+J74Kigs2CsYKxgqmC54FFgUWBRYFA
gUCBQIFAgUCBQIFAgUCBmYFAgZoNCoFAgUCBX4FAgV+BQIFAgUCBQIFAgUCBQIFAgUCBQIFA
gUCBQIFAgUCBQIFAgUCBQIFAgUCBQIFAgUCBQIFAgUCBXoFAgV4NCoFAgZmBQIFfgUCErISq
\--------------ここまで--------------/


bsfilter -d で見ると、「ulfGC8Iz2ikqCs4Lq」 の様な生のBASE64 らしき tokenizer が散見されます。

この「ulfGC8Iz2ikqCs4Lq」はメッセージ中に実在し、先頭の"u"をとってデコードすると「報を公開され」という sjis 文字列になります。 しかし、bsfilter -d の出力中には「公開」という tokenizer はありません。

From ヘッダ中の閉じられていない 「"」が怪しいですね。 あえて規格に反して行を超えて閉じの「"」までを From: の続きと解釈すると、その後に
> Content-Transfer-Encoding: base64
が現われます。


ここ1週間で、この種のメッセージが 5通来ました。 全てに対して -C -s -u を3回程やってもスコアが 0.52程度までしか上りません。

頻度が増えてきたらイヤですね。
#36683 への返信

メッセージ #36734 への返信×

Wiki文法は使えません
ログインしていません。投稿を区別するために投稿者のニックネームをつけてください(ニックネームの一意性は保証されません。全く別の人も同じ名前を利用することが可能ですので本人であることの特定には利用できません。本人であることを保証したい場合にはログインして投稿を行なってください)。 ログインする

RE: BASE64 のデコードについて (2008-05-18 20:25 by zxcv3794 #36735)

すみません、Bsfilter の release 1.0.15 revision 1.82 というのは最新じゃ無かったですね。

CVSの 1.85 のRuby版で試しましたが、1.82 と同様に「ulfGC8Iz2ikqCs4Lq」 という tokenizer が現れました。
#36734 への返信

メッセージ #36735 への返信×

Wiki文法は使えません
ログインしていません。投稿を区別するために投稿者のニックネームをつけてください(ニックネームの一意性は保証されません。全く別の人も同じ名前を利用することが可能ですので本人であることの特定には利用できません。本人であることを保証したい場合にはログインして投稿を行なってください)。 ログインする

RE: BASE64 のデコードについて (2008-05-27 22:58 by nabeken #36906)

貼ってもらったspamと、その説明がマッチしていないように思います。
"ホントの出会いはここから" という内容ではないでしょうか。

ご指摘通り、閉じていないdouble quotationが問題です。
Reply-to の2行上の空行をヘッダと本文の区切りとbsfilterは認識しています。
試しに、double quotationの数を数えて、奇数個の場合はヘッダの終わりではない、というように revision 1.85.2.1で変えてみました。
#36735 への返信

メッセージ #36906 への返信×

Wiki文法は使えません
ログインしていません。投稿を区別するために投稿者のニックネームをつけてください(ニックネームの一意性は保証されません。全く別の人も同じ名前を利用することが可能ですので本人であることの特定には利用できません。本人であることを保証したい場合にはログインして投稿を行なってください)。 ログインする

RE: BASE64 のデコードについて (2008-05-28 13:07 by zxcv3794 #36914)

"ホントの出会いはここから" は、ボディの先頭をデコードした結果ですね。

私が書いた「報を公開され」は、bsfilter -d が出力した tokenizer ulfGC8Iz2ikqCs4Lq の部分列である lfGC8Iz2ikqCs4Lq をデコードした結果です。

bsfilter -d が出力した tokenizer から「デコードしたら日本語tokenizer がでてくるもの」を選んだのが ulfGC8Iz2ikqCs4Lq なんですが、メッセージをこの掲示板に貼り付けた範囲に含まれていませんね。 すみません。


今、CVSリポジトリにアクセスできないので、1.85.2.1 は後程試させて頂きます。

#36906 への返信

メッセージ #36914 への返信×

Wiki文法は使えません
ログインしていません。投稿を区別するために投稿者のニックネームをつけてください(ニックネームの一意性は保証されません。全く別の人も同じ名前を利用することが可能ですので本人であることの特定には利用できません。本人であることを保証したい場合にはログインして投稿を行なってください)。 ログインする

RE: BASE64 のデコードについて (2008-05-29 00:04 by zxcv3794 #36926)

1.85.2.1 で、ベース64デコード後のボディを解析している事が確認できました。

tokenizer にベース64デコード前の文字列は無く「ホント」や「公開」と言った期待された日本語の文字列ばかりです。

これで、この手のSpamが増えても対応可能ですね。 ありがとうございました。
#36914 への返信

メッセージ #36926 への返信×

Wiki文法は使えません
ログインしていません。投稿を区別するために投稿者のニックネームをつけてください(ニックネームの一意性は保証されません。全く別の人も同じ名前を利用することが可能ですので本人であることの特定には利用できません。本人であることを保証したい場合にはログインして投稿を行なってください)。 ログインする

RE: BASE64 のデコードについて (2008-05-29 16:47 by 匿名 #36936)

尾崎です。お世話になります。

経過を読んでまして、素朴な質問です。

revision 1.85.2.1 で、偶数個目の double quotation が現れないメールだった場合は、
ヘッダが終わらず、本文無しになってしまうのでしょうか?
#36906 への返信

メッセージ #36936 への返信×

Wiki文法は使えません
ログインしていません。投稿を区別するために投稿者のニックネームをつけてください(ニックネームの一意性は保証されません。全く別の人も同じ名前を利用することが可能ですので本人であることの特定には利用できません。本人であることを保証したい場合にはログインして投稿を行なってください)。 ログインする

RE: BASE64 のデコードについて (2008-06-01 01:54 by nabeken #36955)

revision 1.85.2.2 で本文無しになってしまうケースを救済するようにしました。
しかし、ヘッダ中に奇数個あり、本文中に偶数個目が出て来るケースは、まだ問題なはずです。
#36936 への返信

メッセージ #36955 への返信×

Wiki文法は使えません
ログインしていません。投稿を区別するために投稿者のニックネームをつけてください(ニックネームの一意性は保証されません。全く別の人も同じ名前を利用することが可能ですので本人であることの特定には利用できません。本人であることを保証したい場合にはログインして投稿を行なってください)。 ログインする

RE: BASE64 のデコードについて (2008-06-08 15:41 by zxcv3794 #37051)

Bsfilterの開発者で無い私が考えても、Spamメッセージのあらゆる規格違反に対応するのは不可能だと思います。

規格違反メッセージへの寛容度合いや得手不得手が MUA によって異るのが現状ですが、そこをスパマーに突かれると、不特定の MUA と連携するフィルターにはつらいですね。

「どんな MUA でもまともに表示されないバグスパム」まで正しく判定するのはさらにムリでしょう。

最低限守るべき規格を定め、それに違反するメッセージは MTA が通さないという方向が理想なんでしょうね、きっと。


現実に戻って今回のパターンへの対応を考えると、「増えて来た特に対応できる準備」をしておくだけで良いんじゃ無いかと私は思っています。

実際、前回のレポート以降に私が受信したうち、Clean判定された同種の Spam は 1件だけでした。 Spamメッセージ生成ソフトのバグと見て良さそうです。
#36955 への返信

メッセージ #37051 への返信×

Wiki文法は使えません
ログインしていません。投稿を区別するために投稿者のニックネームをつけてください(ニックネームの一意性は保証されません。全く別の人も同じ名前を利用することが可能ですので本人であることの特定には利用できません。本人であることを保証したい場合にはログインして投稿を行なってください)。 ログインする