ホーム

SameMail - Anti-Spam tool

English

 SameMail は、他人の受け取ったメールと同じかどうかを判定するツールです。 これはすなわち、スパムかどうかを判定していることになるはずです。 サーバ=クライアント形式で動作します。

 ここでの目的は、メールの中身を他人に知られないようにやりとりし、 しかもスパムを見分けるのに都合がよいプロトコルを提案することです。 オープンソース (GPL) によるサーバ=クライアントプログラムも公開していますが、 これが唯一の実装と言うわけではありません。


スパムの定義

 スパムの定義はいろいろあるでしょうが、ここでは、スパムを 「不特定多数に送りつけられる、ほぼ同一内容の電子メール」 と定義することにします。

 この定義に基づけば、他人の受け取ったメールと比較するだけで、 文章解析やブラックリストを使うことなく、 スパムを見分けることができるようになります。 例外は、メーリングリストから来たメールです。


SameMail のしくみ

 SameMail は協調スパムフィルタに似ていますが、 人間が介在する余地はありません。 全ての動作は自動的に行われます。

 SameMail クライアントが e-mail を受信すると、 SameMail サーバーに他のクライアントがそのメールを受信してるかどうか尋ねます。 プライバシー保護のため、クライアントはメールそのものをサーバーに送ってはいけません。 MD5 のような方法でハッシュにかけた e-mail を送ります。

 SameMail サーバーは、保存しておいたものと比較して返事をします。 そして、次の質問に備えてハッシュにかけられた e-mail を保存します。

 SameMail クライアントはメーラー、POP proxy、MTA などなど、いずれの形態をとってもかまいません。 同じメールを見つけたとき、どのような動作をするかもクライアント次第です。 メールに印をつけてもよいし、消してもよいし、送信者に送り返してもよいでしょう。 我々の実装したクライアントは Java による POP3 proxy であり、 'From' ヘッダーを書き換えます。


hash の作り方(概要)

 spam は他人の受け取ったものとまったく同じと言うわけではありません。 ユーザー名や、ランダムな文字列を含んでいることがあります。 サーバー側でテキスト diff を実行するために、行ごとのハッシュをとることしにます。 メールのヘッダは信用できません。 From, Subject や To には嘘が書かれていることがよくあります。

 まず、メールのヘッダを取り除きます。そして空行を取り除きます。 行ごとに MD5 を計算します。3バイトめと6バイトめを取り出して連結します。

MD5original body
e7a8454eeba72d27616de4ad59979d4b

6b2d6ba175122e506d24b3de372f1517
0f0071ff3f942dfc080907ace298e199
e05ba1e18506890e2c17d7478bf51011

92e1c64e607ef5d692bd7c189fb82b32
bdb775a40155a0f31fbeb3c8dae09869
9f3bee92b3c1d3a5892214f3956508b1
7ba08a27518b1a06971f7387ebc45b53
cef0e4b5ee772745f20ac3a26506ff1e

6b15ef79954297112d78683e157f7be0

771b93b3381347ba7583ce505711e8b4



03c18f72cf5215be855ba0cb53564794
ad49cbf8fcb4b7a810727d1023934d6f
97284a20de7c7c8b8298260802ccad99

Important: Must Read for ALL.

Interest Rates have dropped basis points once again to their lowest in years. We are now 
offering the lowest debt consolidation interest rates in history. Even 
if you just consolidated, we can save you more MONEY, faster! We can:

* Consolidate All Loans Effectively & Efficiently
* Give Loan Advice on the Best courses of Action
* Allow for one New Low monthly payment (saving you even more!)
* 99.9% of all Loans qualify & we do NO CREDIT CHECKS! All are approved 
in our program!

TODAY'S LOW RATE IS 1.9%

http://hogehoge/d1b2t3/?RefID=422904



To be removed from all our future corporate mailings please click 
below.
http://hogehgoe/auto/index.htm

hash = 45a76b127194a106c67e7555eec18a8be477ef4293138f52cbb44a7c

 基本的なアイデアは以上の通りですが、実際はもっと複雑なものになります。 ハッシュにはチェックデジットが必要でしょう。 また衝突を防げるだけ長く、扱いが楽であるように短くあるべきでしょう。


ダウンロード

 クライアントプログラムは POP3 プロキシーとして Java で書かれています。 サーバープログラムは HTTP CGI として C と perl で書かれていて、 このサイトでサービスを提供しています。 誰でも以下のアドレスでアクセスできます。
http://www.misojiro.t.u-tokyo.ac.jp/~tutimura/SameMail/decide.cgi

 クライアント・サーバープログラムとも以下のファイルに含まれています。 使うだけならクライアントプログラムを動かすだけで十分です (Java 2 JRE が必要です)。

 C言語版クライアントもあります。現在はフィルタとして動作します。

screen shot

 ヘッダの橙色にした部分は SameMail クライアントで書き換えたところです。 この例では、ほぼ同じ内容のメールを過去に8回受信しています。


リンク

collaborative spam filter black list 活動

ホーム
土村 展之(tutimura(a)mist.i.u-tokyo.ac.jp) '(a)'は'@'に置き換えて
更新日 1/ 5 13:18, 2004