2022年8月、ホームページを全面リニューアルしました! 情報を分かりやすくお伝えできるサイト作りを目指してまいります。

Spamメールを考える!

電子メールはとても便利なツールであるが、悪用することもいとも簡単に出来る。悪用する行為で代表的なのが、Spamメールである。
Spamの語源は、アメリカの豚肉缶詰から来てるらしい。さらに、ひっこいジャンクメールがSpamメールと呼ばれるようになったのは、イギリスのBBC 放送のコント番組の中のエピソードがきっかけだと言われている。Spamメールには二種類有って、

1.人的操作によるSpam
2.ワームによるSpam

がある。ここでは、この二種類のSpamについて俺の主観で話してみたい。


1.人的操作によるSpam
人的操作によるSpamは、そのほとんどがSpam業者(Spammer)による迷惑メールだ。昨今、誰でも迷惑メールの一つや二つ経験してると思う。定 番は、出会い系サイトへの誘いとか、エロ画像サイトへの誘いの内容が多い。何れも、リンクタグを使った巧みな文章が特長である。最近は、件名に女性の個人名を書いて相手を安心させたり、いかにも興味をそそる言葉を巧みに使って目的のサイトへ誘うのがトレンドのようだ。

1)Spam配信の仕組み
Spammerは、Spamの配信にメールマガジンソフトの配送機能をそのまま使う( 図1参照 )。

図1

メールマガジンの仕組みは、メーリングリストに似ているがRcpt-Toが無い。その代わりに、Envelope-Toに宛先のメールアドレスが羅列される訳だ。 つまり、通常のメールの作法で考えるとBCCに宛先のメールアドレスが並べられていのと同じに考えて良いだろう。出すだけ出して知らん顔!と言う訳だ。同報通信の送りっぱなしの無責任メールとでも言おうか。
メールマガジンの仕組みは、専用ソフトが実現してくれるのでSpammerは、ターゲットアドレスを収集するだけで良い。
Spamメールでもう一つ気になるのが、配信ルートだ。一昔前は、他人のメールサーバを勝手に中継( 不正中継 )してターゲットへSpamをばらまいていた( 図2参照 )。Spammerにとって、この方法は足跡が何も残らないので非常に都合がよい。

図2

しかし、最近ではメールサーバサービス(MTA)も初期設定が賢くなり、オープンリレーのサーバが少なくなった。そのため、Spammerも違う方法を考えなければならなくなった。
他人のメールサーバで不正中継が出来なくなったら、今度は自分でメールサーバを独自に立てるか、DNSでターゲットのドメインのMXレコードを問い合わせ て、そのドメインのメールサーバがわかったら、直接Spamをそのメールサーバ宛へ送りつける方法である( 図3参照 )。

図3

非常に強引な方法だが、Fromヘッダはいくらでも偽造できるのでメールの内容では足がつ かない。さらに、一般的なISPの場合は、DynamicDNSでIPアドレスがコロコロ変化するのに加えてDNSへ問い合わせても逆引き情報が無いと来 ればSpammerの存在を特定することは先ず無理だ。しかし、大手のISPからSpamをやらかす馬鹿なSpammerは足が付くのでいないと思うが。

2)ターゲットアドレスの収集方法
では、ターゲットのメールアドレスの収集方法はというと、これも専用ソフトがある。
例えば、2007年2月現在、評価版の置いてあるサイトは閉鎖されているが、MAD Sufferというソフトがある。闇で売られているのかも知れないけ ど、このソフトはインターネット上のWebサイトに存在するメールアドレスを片っ端から収集する。したがって、そのソフトを動かしておけば、何千、何万、 何億ものメールアドレスをゲットできるので世話無しである。
最近では、Blogになってるけど、一昔前はBBSが主流だったので不用意にメールアドレスをネット上へ落としていくユーザは少なくなったに違いない。ま た反面、Webサイトの管理者宛や企業の問い合わせ窓口等で止む負えなくメールアドレスを公開しなければならない場合が有るのも事実だ。また、ドメインが 解ってDNSでMXレコードが引ければメールサーバが存在することが解る。後は、よく使うaliases名をSpammerが予測して、そのターゲット メールアドレスへSpamを送信すると言う方法もある。
例えば、

① admin@hogehoge.co.jp
② info@hogehoge.co.jp
③ webmaster@hogehoge.co.jp
④ root@hogehoge.co.jp

こんな感じのメールアドレスは管理者宛のメールアドレスとして定番だろう。ドメインでMXレコードを検索して、メールサーバが存在すれば、ありがちなユーザ名でSpamを付加してSpam配信を行うプロセスだ。

3)Spam対策としては
それでは、対策としては何をすればよいのか?
まず、Spamを貰いたくなければ、インターネット上にメールアドレスを落としたり、おいといたりしないことだ。どうしても、サイトの管理者宛へのメール アドレスとか問い合わせ先のアドレスを公開しなければならない場合は、公開するメールアドレスを画像にすることだ。こんな サイト もある。サイト上でメールアドレスを画像化してくれる。画像なら、メールアドレス収集ソフトにゲットされずに済むだろう。

Spam対策その1) メールアドレスを公開する場合は、メールアドレスを画像化して公開する

次にメールサーバ側での対策として、Greylistingと言う方法がある。これは、 メールサーバ側のsmtp受信時に必ず初めの一回目の受信を拒否して、二回目にリトライししてきたメールのみを正規のメールとして受信するという動作を行 う。詳しくは、Greylistingを実現している Postgrey を参照して欲しい。
Spammerは、前述したようにメールマガジンのソフトを利用してSpamを配信する。さらに、メールサーバを経由しないでDNSを参照して直接 Spamを配信する場合、Spamメールは一度配信してしまえば、そのメールが相手へ届くか届かないかはほとんどの場合、お構いなしだ。そう言う意味で は、二回目にリトライしてきたメールは正規のメールと判断しても良いだろう。

Spam対策その2) Postgrey を使ってSpamブロック

次もサーバ側での対策だが、ベイジリアンフィルタというのがある。これは、ベイズ理論を応用して文書中の単語の発生頻度によって学習させSpamメールと判断する方法である。このベイジリアンフィルタを使ったモジュールで有名どころは、 SpamAssassin 、 Bogofilter 、 Bsfilter だ。しかし、単語の発生頻度により判断する方法はご認識を招きやすい。したがって、100%ブロックは無理である。必要なメールもブロックされてしまうこ とが有るため、正規のメール、Spamメールと分別して学習させなければSpamのブロック効率を上げることは出来ないので手間が掛かる。このベイジリア ンフィルタでSpamのブロック効率を上げるには、前述したPostgreyと併用すると効果的だ。

Spam対策その3) Postgrey + ベイジリアンフィルタを使ってSpamブロック

さて、メールサーバ側の対策ばかり話してきたが、最後にクライアント側での対策を話そう。 クライアント側でのSpam対策は、メーラーによるフィルタ機能を使っての振り分け処理だ。例えば、Becky !やThunderbirdと言うメーラーにはメールの振り分けフィルタが付いていてヘッダ情報に単語のパターンマッチが掛けられるのでSpamを特定の フォルダへ捨てたり、削除したりすることが出来る。しかし、これはユーザがパターンマッチの条件を設定しなければならない。

Spam対策その4) メーラーの迷惑メール振り分けフィルタを使ってSpamブロック


2.ワームによるSpam
ワームによるSpamは、そのほとんどが自己を媒介する目的である。自分の分身を他人にばらまき、まるでゾンビのようにネズミ算式に増殖する。そのため、 知しらないうちに自分のPCから多量のSpamを送信していたと言うこともある。むしろ、個人のPCが感染して送信するSpamはさほどでもない。しか し、同じプロバイダの回線内のユーザにワームを送信した場合、ゾンビ端末が増殖するので後には何億ものSpamメールを送信していた、と言うことが有る。 そんな場合はプロバイダの回線の帯域を占有してしまうためほとんど回線がパンク状態になり、同じプロバイダ内のユーザに過度の迷惑が掛かることは明らか だ。また、媒介する以外の悪行は、

① PCのシステムを不安定にする
② 侵入するための穴(バックドア)をそのPCに開ける
③ 悪人からそのPC内の信用情報が丸見えになる(スパイウェア)

等がある。

1)メールアドレスの収集方法
ワームがターゲットアドレスをゲットする方法は、感染したPCのキャッシュや感染したPCのメーラーのアドレス帳である。したがって、ワームが自己の分身 を送りつけるターゲットは、感染した人の「知り合い」では無い場合の方が多い。つまり、ブラウザのキャッシュに溜まってるHTMLlの中のメールアドレス を参照するため、赤の他人へワームを送りつけてると言うことだ。

2)ワームの対策
これは、ウィルス対策ソフトで殺すしか手がない。クライアントPCは勿論のこと、出来ればメールサーバにもウィルスゲートウェイ的なソフトを導入することが望ましい。

以上

コメント