Forums: users (Thread #17369)

数値文字参照への対応について (2008-01-13 11:33 by zxcv3794 #34477)

水口です。 お世話になります。

とうとう来ました、&#nnnn; 形式で日本語文字を表現するSpam。

メール形式は multipart/alternative で、内容は以下です。
第1part: text/plain; charset="iso-8859-1"
第2part: text/html; charset="iso-8859-1"

特徴的なのは、本文中の全ての日本語文字が 多彩 の様に数値文字参照で表現されていること、特に text/plain パートについても数値文字参照が使用されていることです。

Spamフィルターを突破する手段としてこんなヘンな形式にした可能性もあると思います。 今後増えて来る場合に備え、bsfilter 1.0.15 の動作について少し考察してみました。

==========================================
1 html part の処理
何点か見た限り、数値文字参照を解決して正しい bigram 処理がされています。

例えば、以下は html パート中の本文の一部です。

現在最大級のプログレッシブ オンラインジャックポットなど多彩

先頭の「現在最大級」も最後の「多彩」も正しく bigram 処理されています。

==========================================
2 text part の処理

plain text では数値文字参照が定義されていないので、「29694」とかの数値自身が tokenizer になります。 これらの tokenizer は、spam score が非常に低いです。 この手の spam がこれまでは少く、学習されていないからですよね?

==========================================
3 問題点

このメッセージは、最終的に X-Spam-Probability: 0.500000 で clean と判定されてしまいました。 恐らく、text part に大量に含まれる spam度の低い tokenizer に影響されたんですね。

今後、この種の spam が増えてきた場合には、何らかの対策が必要では無いでしょうか?

例えば、多くのユーザーが使用するMUAが text/plain 中の数値文字参照をも処理するならばそれに合わせるのが有効では無いかと思います。

Reply to #34477×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

RE: 数値文字参照への対応について (2008-01-21 00:33 by nabeken #34627)

> 例えば、多くのユーザーが使用するMUAが text/plain 中の数値文字参照をも処理するならばそれに合わせるのが有効では無いかと思います。

おっしゃる通りです。
text/htmlとtext/plainが両方ある場合に、数値文字参照を解釈しつつplainを表示するMUAがメジャーなのでしょうか...
Reply to #34477

Reply to #34627×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

RE: 数値文字参照への対応について (2008-01-21 22:36 by zxcv3794 #34656)

すみません。 私も Mew 以外の MUA にはまるで疎いんですよ。

時期的にも、InternetExploler7 と同世代の Outlook Express の挙動は押えたいところですが、テスト用のパソコンが無いのでちょっと試せないです。


ところで、multipart/alternative なメッセージの場合、普通のユーザーはそのうちのひとつのパートしか見ない訳ですが、スパマーの立場で考えると「HTMLパートを見るユーザーにターゲットを絞り、textパートは Spamフィルターを突破するための煙幕に利用する」という作戦も有りかと思います。 あるいは、その逆のメッセージとの 2本立てかも知れません。

対抗するには、特定パートの内容を最終判定に利用しないとかの工夫が必要かと思います。

もしそれができるなら、今回のtext中の数値文字参照問題も一緒に解決しそうですね。


もちろん、今後もしその様なSpamが増えてきたらという仮定の話なので、現時点では要望はしませんです。
Reply to #34627

Reply to #34656×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

RE: 数値文字参照への対応について (2008-01-28 00:10 by nabeken #34738)

> 特定パートの内容を最終判定に利用しない
htmlを見てplain textは無視する、という組合せのみですが
--ignore-plain-text-part
というオプションがあります。
Reply to #34656

Reply to #34738×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

RE: 数値文字参照への対応について (2008-01-28 21:31 by zxcv3794 #34758)

> --ignore-plain-text-part
> というオプションがあります。

そのとおりですね。 失礼しました。

# 特定パートの無視自体が大変かなと想像してたもので。

それでは、問題の Spam が今後増えてきたら、再度投稿します。
Reply to #34738

Reply to #34758×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login