迷惑メールの拒否から撲滅へ
迷惑メールを拒否する技術について、一般の方むけに、わかりやすく説明……できるかな?
毎日毎日飽きもせず迷惑メールが大量に届くわけですが、これに辟易しているのは決してあなただけではありません。全てのメール利用者が同様に困っており、多くの人により迷惑メール対策の技術もいろいろ考えられているわけです。ここでは、PCに読み込まれる前の、サーバの段階で迷惑メールを拒否する方法について、ちょいと考えてみます。
基本的に、届けられたメールが迷惑メールか否かを判断する材料としては、(1)メールを届けようとする相手のマシン、(2)差出人、(3)メールの中身、があります。
(1)メールを届けようとする相手のマシン
迷惑メール対策として世界的に運用されているブラックリストがいくつか存在するので、これを利用する方法があります。例えば、故意かミスかクラッキングされたのかはともかくとして第三者が外部から自由に利用できてしまうメールサーバのリストとか、世界的に迷惑メールを出しまくっていると認識されているメールサーバのリストとか、一般プロバイダのダイアルアップユーザに割り当てられるIPアドレスのリスト等が世の中には存在します(例えば、DSBLとかSpamCopあたり)。
メールが届けられたとき、相手のマシンのIPアドレス(これは偽装できません)を調べて、ブラックリストに載っていたら受け取りそのものを拒否するわけですな。
(余談ですが、たまに自分の組織のメールサーバが、知らない間にこの手のブラックリストに載ってしまう場合があります。こうなると、そのブラックリストを利用している世界中のメールサーバからメールの受け取りを拒否されて、非常に困ってしまいます)
この他の方法として、相手のマシンの素性を独自に調べる方法があります。メールが届けられたとき、基本的にはDNSを利用して相手のマシンの名前を調べ、名前が無かったり、IPアドレスとの間に不整合があった場合、受け取りを拒否します。これらの情報がきちんと設定されていないということは、まともに管理されていないマシンであるということで、そんなマシンを経由するメールは受け取る必要は無い、というわけですな。
(またまた余談ですが、この方法は世界中でそれなりに利用されているので、自分の組織のメールサーバのDNSの設定を間違えてしまうと、なぜか世界中からメールの受け取りを拒否されて途方に暮れることになったりします。DNSの間違いって、自分ではなかなか気づかないんですよ)
場合によっては、あるIPアドレスの範囲を指定して受け取りを拒否する方法もあります。例えば、迷惑メール発信源として有名な中国や韓国からのメールを問答無用で拒否する場合があります。これらの国とのメールのやりとりが無いことが明かな場合、この方法は結構効果があります。
(2)差出人
届けられたメールの差出人(fromアドレス)が、架空のものであったら拒否する方法です。しかし、差出人が本当に実在するのかどうかを調べるために、サーバの段階で実際に返信してみるわけにもいかないので、これはなかなか難しいわけです。なので、とりあえず差出人のメールアドレスのドメイン(「@」より右側の部分)が実在するかどうかだけを確認する場合が多いです。DNSを利用して調べてみて、実在しなければ受け取りを拒否するわけですな。ただ、差出人が実在するアドレス(なりすましも含めて)の場合には、この方法は意味がありません。
(3)メールの中身による判断
受け取ってしまったメールの中身から迷惑メールを判断するのは、なかなか難しい問題です。メールのタイトルや文言から判断するわけですが、迷惑メールといっても内容は千差万別であり、決まった規則では判断できません。なので、世の中で多く利用されている仕組みは、特有の単語などを文章から認識し、さらに自動的に学習していく仕組みになっています。
また、最近の迷惑メールは、本文の中に相手を誘導したい悪のサイトが記述されている場合が非常に多くなっています。これを利用し、本文からサイトのURLを抜き出して、そのサイトがブラックリストに掲載されていたら迷惑メールと判断する、という方法もあります。
なんにしろ、メールの中身によって判断する方法は、いまだに精度がいまいちであると言えるでしょう。従って、本当は必要なメールを迷惑メールとして削除してしまう可能性を鑑みて、会社等の組織ではあまり利用されていないんじゃないかな?
さて、上にあげた方法は、メールそのものや配送経路の属性を利用して、サーバの段階で迷惑メールを拒否または駆除してしまうためのものでした。しかし、個々のメールサーバが迷惑メールを拒否しても、世の中から迷惑メールは無くなりません。迷惑メール業者の思惑を根本的に挫いてしまう方法はないものでしょうか?
なぜ業者は莫大な量のメールを送るのか? この問いの答えは「メール送信が無料で行えるから」につきます。郵便や宅配便によるダイレクトメールと違い、メールの送信は限りなくコストが安いわけです。どれだけ大量にメールを送っても、基本的に無料です。
仮に郵政民営化に伴って「どれだけ郵便を出しても定額」てな新サービスができる事を想像してみてください。おそらく、業者が莫大な量のダイレクトメールを送りまくり、うちの郵便受けも毎日迷惑ダイレクトメールでいっぱいになる、とても鬱陶しいイヤな世の中になるでしょう。
ならば逆に、メール送信も、一通ごとにコストがかかるようにすればいいかも? ……とは言っても、今のインターネットの仕組みではお金を徴収することは難しい。じゃあどうするか? メモリやCPUのクロック、ネットワーク帯域などの計算機資源のコストが必要となるようにすればいいんじゃないかな。
一般に、迷惑メール業者は、一定時間の間に莫大なメールを発信せねばなりません(そうでなければ迷惑ではありません)。そのため、彼らの利用するメールサーバや、彼らに中継用として操られている一般市民のPCは、ひっきりなしにメール送信の作業を行っています。
これ逆手に取りましょう。こちらのメールサーバの設定をいじくり、メールを届けに来た相手のマシンに対して、通信中に強制的に待ち時間を入れてやります(通信中の呼びかけに対して返事をせず、焦らしてやります)。相手が普通のメールサーバなら、これに応じて待ってくれるはずです。しかし、待たずに力ずくて通信を続けようとした相手に対しては(迷惑メール業者のマシンは、この場合が多いらしい)、問答無用でメール受け取りを拒否します。
待ち時間のかわりに、とにかく一度は居留守を使うという方法もあります。普通のメールサーバなら、一度目はあきらめても、一定時間後にもう一度届けにくるはずなので、二度目は受け取ってやる設定にするわけです(現在の迷惑メール業者のマシンは、一度居留守を使われと送信をあきらめる事が多いそうです)。
このような設定のメールサーバ相手にメールを出そうとした業者は、メール一通送信するための時間が今よりもかなり必要になります。また、待ち時間の間はメールサーバのメモリ等の資源を浪費するため、いっぺんに莫大な量のメールを出すことが物理的に難しくなるはずです。
……てな事を考えている人は世の中に結構いるのですが、世の中のプロバイダも含む多くのメールサーバがこのような設定になったとして、本当に量で勝負の鬱陶しい業者が撲滅できるかどうかはわかりません。個人的にはそれなりに効果あるんじゃないかとおもうんですけどね。
参照。ちょっと身近な場所での迷惑メール対策について
迷惑メールの配送制御(5号館のつぶやき)
2月23日追記
寝る直前にパーッと書いたのですが、起きてから読み直してみると支離滅裂な文章だったので、ちょっとだけ修正しました。
| 固定リンク
この記事へのコメントは終了しました。


コメント