インターネットの電子メール(4)

 インターネットバブル期の2000年にカメラ付き携帯電話が発売され、「写メール」が流行したわけで、メールは非常に役に立つ魅力的なアプリケーションだった。しかし、その普及ゆえの問題点が現れはじめた。それが、スパム (SPAM) メール、迷惑メールである。

 SPAMという語源は、「缶詰の "SPAM" およびコメディ番組『空飛ぶモンティ・パイソン』のスケッチ、『スパム』から来ている。」(Wikipedia)と言われているが、メッセージを繰り返して何かを溢れさせるような迷惑行為を、ハッカー達がスパムと呼ぶようになった、ということだ。

 日本では、総務省が「迷惑メール」という呼称を使ったことから、こう呼ばれることが多い。

 当初は、あらかじめ許可されていない広告メールということで、その内容もナンセンスなものが多かった。私は昔からインターネットを使っているし、メールアドレスもある意味公開されているようなものであったので、こうしたメールをたくさん受け取った。最初は英語のメールばかりだった。

 まず、メールがどのように送られるかということを振り返り、問題点を検証してみる。

 メールをインターネット上の他のサーバと送受信するMTAでは、まず自分が受信するアドレス(ドメイン)が決められている。どのMUAあるいは他のMTAからのメールを受け付けて、中継(送信)するかが、従来は、アドレスやドメインで決められていた。しかし、ダイヤルアップIP技術と、インターネットサービスプロバイダー(ISP) の登場で、ユーザがどこから(どのIPアドレスから)接続するかがわからなくなったために、MTAでのユーザ認証が必要となった。当初MTAにはユーザ認証の機能がなかったために、すでにユーザ認証機能のあった、POPサーバで認証を行うという方式が使われたこともある。POP before SMTPという方法である。その後は、MUA自身での認証である、SMTP AUTHが一般的になった。

 さて、ISPの台頭によって、だれでもインターネットに接続することができるようになり、誰でもMTAを設置してメールを発信できるようになった。MTAは中継は制限するが自分宛のメールは受信する。この場合に認証は行わない。つまり、自分でDNSを引いて、メールを配送すれば、どこにでもメールを送信できる。また、確信犯的にすべてのメールを中継する(オープンリレー)するMTAを設置するというケースもあった。

 インターネット側では、メールを配信する都度料金が発生するということはない。つまりメールを発信するコストはとても低い。広告を発信する側はほとんどコストをかけることなく、メールを送信できるわけである。もちろん、メールは受信者のメールアドレスが分からなければ送信することができない。そのため、さまざまな手段を講じてメールアドレスを収集しようとするということが行われた。乱暴な方法としては、受信側のメールサーバに接続して、辞書を用いてユーザ名を探索するという攻撃も行われた。

 さて、ここでスパムメールの定義を確認しておこう。迷惑メールは、受信者が承諾していないメールすべてを指すものとして使われるが、広告として発信者が自ら名乗っている場合には、そのアドレスからのメールの着信を拒否すればよいだけである。送信者のメールアドレスが決まっている場合、送信者のメールアドレスが正しいものである場合には、フィルタで除去できるので、技術的にはスパムではないとする。

 スパムメールは送信者のメールアドレスや、その他のヘッダ情報で識別して除去できないものを指す。

 スパムメール対策として、まず行われたのは、いわゆる野良MTA対策である。MTA間の通信プロトコルとして、SMTP (TCP/25) が使われるが、個人向けのインターネット接続として提供されるサービスでは、そこから出てくる SMTP を禁止するというものである。OP25B (outbound port 25 blocking) と呼ばれるものである。

 TCP 25番ポートを禁止されることで、ユーザが MUA から MTA へメールを送信する場合には、別のポートを使うことが指定されるようになった。これが、Submission (TCP/587) である。Submission を受け付けるために、MSA (Mail Submission Agent) が設けられ、MUA からは、MSA へ送信し、MSA は MUA に対して認証などを要求するという構造になった。MSA は、承認して受信したメールを MTA に渡し、配送を行う。

 現在、我が国のISPではほとんどすべてで行われており、動的IPアドレスの割りあてを行うサービスでは、行先のポートが25である通信を遮断することが推奨されており、総務省の見解でも正当な業務行為とみなされている。これにより、コンピュータウィルスに感染したりして、メールをまき散らすボットなどを排除することができる。

 しかし、OP25B は世界中すべてで行われているわけではない。そのため、これだけではスパムをすべて排除することができない。

 スパム対策としては、さまざまな手法が試みられてきた。スパムの内容は、概ねが荒唐無稽な広告や、詐欺的内容が多い。そのため、本文の内容を解析することで、スパムと思われるメールを除去する方法である。初期には、多くの場合、ベイジアンフィルタが使われた。

ベイジアンフィルタ (Bayesian Filter) は単純ベイズ分類器を応用し、対象となるデータを解析・学習し分類する為のフィルタ。学習量が増えるとフィルタの分類精度が上昇するという特徴をもつ。個々の判定を間違えた場合には、ユーザが正しい内容に判定し直すことで再学習を行う(Wikipedia)。

ベイジアンフィルタを採用するソフトウエアでは日本語を処理することは工夫が必要である。単純にスペースで分かち書きを行っている言語と違い、語彙を識別することがそのままでは難しいためであるが、一般には、他の日本語を処理するシステムと同様に自然言語処理を加えて利用している。

広告が中心のスパムメールに対して、コンピュータウィルスを蔓延させるメールも存在する。これらは、ウィルス対策ソフトウエアでその内容、特徴を解析して排除を行う。コンピュータウィルスを蔓延させる目的は様々であり、年々巧妙になっている。

コンピュータウィルスは実行可能なファイルを送りつける必要があるため、zip で圧縮するとか、ソフトウエアのアドインや、マクロファイル、さらにそれらの脆弱性を攻撃するというような形態をとる、さまざまな形式で送られてくる。これらの有害なプログラムを総称して、マルウエアと呼ばれるようになった。

また、HTML形式のメールを送ったり、受信者を特定のサイトに誘導し、感染させたり、情報を抜き取ったりする。既存のサービスになりすまし、情報を受信者に入力させるタイプは、フィッシング (Phishing, 詐欺) と呼ばれる。これも、送信者を偽装するという点では、共通性がある。

最近話題になっている標的型メールは、受信者のプロフィールを分析し、受信者がファイルを開くなどのアクションをしなければならないような内容を巧妙に偽装するというもので、これらの有害なメールなメールの中では悪質性の最も高いもので、ウィルス感染や、フィッシングが行われる。

コンピュータウィルスの対策は、ウィルスの特有のパターンをデータベース化し、排除するというものであるが、スパムメール対策としても、こうしたデータベースが作られ対策が行われるようになっている。そのデータベースについては、スパムを送信する IPアドレスの情報、メールアドレス、ドメインなどから構成され、無差別型のスパムに関しては、本文の特性についても情報が保持されている。

こうしたデータベースを共有することで有害なメールをより確実に検出できるようになってきている。

これら対策は、いわゆるブラックリスト型の対策であるが、そもそもアドレス偽装できない、あるいはそのアドレスが正しいものであることを保証することができれば、偽装されたメールを容易に排除することができるのではないか?その目的で提案されて実施されているのが、送信者認証技術である。

送信者認証技術として提案されているのは、現在代表的なものは2つある。それは、SPF と、DKIM である。両方とも、送信者のアドレスのドメインが確かなものであることを証明する仕組みである。両方とも DNS を利用する。

SPF は、送信ドメインのメールを発信するIPアドレスをあらかじめ公開しておく手法であり、そのアドレス以外から発信されたメールは、受信者側で疑わしいものとして扱うことができる情報を提供するものである。

DKIM は電子メールヘッダに電子署名を挿入し、受信サーバでDNSに保持される公開鍵との照合を行うというものである。

現在、SPF は90%以上のドメインで実装されており、DKIM もメールサービスとして提供されているもの、ISPのメールサーバでは実装が進んでいる。ではこれらの情報を利用すれば偽装しているメールを見抜けるかという問題であるが、残念ながらすべてを排除するには至っていない。これはメールの配信システムの問題として、中継や、転送が行われていないかといえば、それを完全に保証できないという問題がある。もちろん最初に SMTP を受信したサーバで、送信者認証をおこない、偽装しているメールを排除するということは可能であるが、その情報が送信者や、受信者に伝わらないという問題がある。

Gmail は受信ポリシーとして、 一括送信ガイドライン というものを公開している。実際、これに合致しないメールは Gmail サーバで受信されないか、迷惑メールに分類されるかが行われる。送信IPアドレスが、DNSで逆引きを設定していることが必要である。さらに IPv6 ではそれが正引きの情報と一致しない場合には、受信が拒否されるか迷惑メールに分類される。IPv4 で正逆一致を求めていないのは、1つのアドレスで多数のドメインを収容しているケースが多いためだろう。そしてそのIPアドレスが、SPFレコードと一致しない場合には、迷惑メールのマークが付けられるというのが概略である。

DNS の設定に関しては、ドメインの管理者の責任であるので、現在の状況でそれができないということはあまり考えられないし、それができないサービスは使用をやめるほうがいいだろう。

ただし、利用者のMUAの設定ミスによって、この基準で迷惑メールに分類されることが残念ながら起こりうるし、メーリングリストなど転送を伴っている場合にも問題がある。それを考えると、完全に捨ててしまうことが難しいわけだ。

そうはいうものの、Gmail や、Office 365 のメールでマルウエアの添付されたメールを見ることは、ほとんどない。古典的なスパムメールが迷惑メールフォルダに入っていることもあるが、Gmail ではそれもない。

こういう点では、Gmail や、Office 365 のような世界的にユーザの多いサービスを利用するメリットは高い。こうしたサービスでは、非常に多くのスパムやマルウエアが集まってくる。つまり、知識も豊富だということだ。もちろん、現在はデータベースとして共有されているので、そうしたデータベースを使うことでかなり正確に排除できるが、完全ではない。

電子メールが、ネットワークに分散したコンピュータを最初に結び付けるアプリケーションとして登場し、普及し、もっとも基本的なサービスと捉えられてきたにもかかわらず、こうした集中型のSaaSシステムで取り扱う方が有利となったというのは、何とも皮肉な話である。

最終更新日: $Date: 2016-11-20 22:02:47+09 $

Copyright (c) 2008-2010 by Shin Yoshimura. All rights reserved.