迷惑メール調査室
MENU
トップページ
調査方法
調査結果1
迷惑メール対策
関連リンク集
ご意見・ご感想
調査結果1
■2006年5月10日よりおとりメールアドレスの公開を開始し、6月11日にようやく初の迷惑メールが届きました。
▽この「調査結果1」では、追加して行った事前調査と現時点(6月13日)までに収集できた迷惑メールについて報告します。

■調査の目的と方法は調査内容をご覧ください。
事前調査2
調査内容」のページでは、「メールアドレス収集ロボットを使用した収集確認」を使用させていただいて、各種迷惑メール対策手法の効果をチェックしました。

今回はこれに加えていくつかの市販ソフトのお試し版を使って、メールアドレス収集ロボット対策の効果をチェックしてみました。結果を表1に示します。

なお、ここで用いましたAtcopier(アットコピア)というソフトは手持ちのファイルの中からメールアドレスを抽出することを目的としたものですので、迷惑メール送信者が使用するためのソフトではなく、一般のビジネスユースで使われるものです。

その他に用いましたメールアドレス収集ソフト1とメールアドレス収集ソフト2は、ホームページからメールアドレスを収集することを目的としたソフトです。これらは迷惑メール送信者が使用する可能性のあるソフトです。

表1.メールアドレス収集ソフトによる試験結果
mailto本文中アドレス収集ソフト対策結果[1]結果[2]結果[3]結果[4]
(a)ありありなしOKOKOKOK
(b)ありなしなしOKOKOKOK
(c)ありなし@に数値文字参照を利用(@)OK---
(d)ありなしjavascriptで別ファイルから読み込むOK---
(e)ありなしmailto:に数値文字参照を利用OK OK-OK
(f)ありなし?subject=dummyを付加OK*1OKOKOK
(g)ありなし?subject=ダミーを付加OK*1OKOKOK
(h)ありなし改行を挟むOK-OK-
(i)ありありなしOKOKOKOK
(j)なしありなし-OK-OK
(k)なしあり@に数値文字参照を利用(@)----
(l)なしありjavascriptで別ファイルから読み込む----
(m)なしあり文字の置換え(全角@を使用)----
(n)なしあり文字の置換え("あっとまーく"を使用)----
(o)なしありタグで分断する----
(p)ありありなしOKOKOKOK
(q)なしあり@を画像化----
(r)なしありアドレス全体を画像化----
(s)ありなしアドレス暗号化(javascript使用)----
"OK" = メールアドレス収集可能
"-" = メールアドレス収集不可
*1 メールアドレスに余分な文字列(?subject:〜)が付いた状態で取得
結果[1]:「メールアドレス収集ロボットを使用した収集確認」による確認結果
結果[2]:Atcopier(アットコピア)(アクトビーン株式会社さまの製品)の体験版による抽出結果
結果[3]:某メールアドレス収集ソフト1の体験版による収集結果
結果[4]:某メールアドレス収集ソフト2の体験版による収集結果

この結果をみると、以下のことが分かります。

[1]はmailtoリンクを手掛かりにしており、数値文字参照対応、javascript対応
[2]はアットマークを手掛かりにしており、数値文字参照非対応、javascript非対応
[3]はmailtoリンクを手掛かりにしており、数値文字参照非対応、javascript非対応
[4]はアットマークを手掛かりにしており、数値文字参照非対応、javascript非対応


◎事前調査の結論

アドレス収集ソフトのサンプル数が2つしかないため一般的な結論は出せませんが、この事前調査により少なくとも数値文字参照やjavascriptに対応していないメールアドレス収集ソフトが存在していることは確認できました。

また、アドレス収集ソフトの中にはアットマークを手掛かりにして探すものと、mailtoリンクを手掛かりにして探すものの2種類があることも分かりました。

実際に収集した迷惑メールの分析(その1)
2006年5月10日に当ページを開設し、ダミーメールアドレスをトップページに公開しておりましたが、約一ヶ月後の6月11日に、第一通目の迷惑メールが届きました。

それから翌日の6月12日の午前中までに合計38通の迷惑メールを受信しました。これらのメールを分析した結果を以下に示します。


◎迷惑メール収集ロボット対策の効果

受信した迷惑メールのヘッダに含まれているメールアドレスから、どの対策を施したアドレスがメールアドレス収集ロボットによって収集されたのかを調べてみました。その結果を表2に示します。

なお、その本文やヘッダの特徴から、受信した38通の迷惑メールが2種類存在することがわかりました。そこで、この2種類のメールは別々の迷惑メール送信者によって送られたものだと仮定して分析しています。

この2種類の送信者[5]と送信者[6]の送信してきたメールの特徴については後述します。

表2.実際に受信した迷惑メール
mailto本文中アドレス収集ソフト対策送信者[5]送信者[6]
(a)ありありなし
(b)ありなしなし
(c)ありなし@に数値文字参照を利用(@)--
(d)ありなしjavascriptで別ファイルから読み込む--
(e)ありなしmailto:に数値文字参照を利用-
(f)ありなし?subject=dummyを付加
(g)ありなし?subject=ダミーを付加
(h)ありなし改行を挟む--
(i)ありありなし
(j)なしありなし-
(k)なしあり@に数値文字参照を利用(@)--
(l)なしありjavascriptで別ファイルから読み込む--
(m)なしあり文字の置換え(全角@を使用)--
(n)なしあり文字の置換え("あっとまーく"を使用)--
(o)なしありタグで分断する--
(p)ありありなし
(q)なしあり@を画像化--
(r)なしありアドレス全体を画像化--
(s)ありなしアドレス暗号化(javascript使用)--
"○" = 迷惑メールのヘッダ中(ToもしくはDelivered-Toフィールド)に存在を確認

この結果から、以下のことが推測できます。

送信者[5]はアットマークを手掛かりにしており、数値文字参照非対応、javascript非対応
送信者[6]はmailtoリンクを手掛かりにしており、数値文字参照非対応、javascript非対応、mailto内改行非対応

送信者[5]は事前調査で用いた「メールアドレス収集ソフト1の体験版(結果[3])」と同じ機能を持ったメールアドレス収集ロボットを用いたと考えられます。

一方、送信者[6]は事前調査で用いた「メールアドレス収集ソフト2の体験版(結果[4])」に近い機能を持ったロボットを使ったです。ただし(h)のmailto内改行を行ったメールアドレスの収集には失敗していますので、「メールアドレス収集ソフト2の体験版」よりは機能が低いロボットのようです。


◎迷惑メールの本文とヘッダの解析

受け取った38通の迷惑メールが2種類の送信者によるものと考えられることを前項で述べましたが、この2種類の送信者によるメールは、それぞれ以下の特徴を持ちます。

・送信者[5]のメール(合計32通)
(5a)英語の広告メール(内容はまちまち)
(5b)固定IPアドレスのメールサーバではなく動的IPアドレスのPCから送信されている(送信元IPアドレスはまちまち)
(5c)メールヘッダに書かれている発信時刻がすべて「Date: Wed, 26 Apr 2006 12:44:51 +0400」である(こちらのメールサーバが受け取った時刻はまちまち)
(5d)メールヘッダに記述されている項目がすべて同じ
(5e)ホームページへのリンクが掲載されている

・送信者[6]のメール(合計6通)
(6a)日本語の広告メール(内容は同一)
(6b)同一のIPアドレスのPCから送信されている
(6d)同一の時刻に発信され、こちらのサーバでもほぼ同じ時刻に受信している
(6e)メールヘッダに記述されている項目もすべて同じ

このような点から、32通は送信者[5]という迷惑メール送信者が送ったメールで、6通は送信者[6]が送ってきたものと考えました。


今回の調査は迷惑メール収集ロボット対策の効果を実測することにあるのですが、送信者[5]と送信者[6]のメールを分析していると、興味深いことが分かってきました。

まず、送信者[6]についてですが、こちらは本文もヘッダも全て同一メールを、当サイトのトップページから取得できた(a)、(b)、(f)、(g)、(i)、(p)の6つのアドレス宛てに一斉に送信してきました。このため、合計数が6通になっています。

これは非常にシンプルな送信方法で、私が当初抱いていた典型的な迷惑メール送信者と一致していました。

一方、送信者[5]は当サイトのトップページから(a)、(b)、(e)、(f)、(g)、(i)、(j)、(p)の8つのメールアドレスの収集に成功していますが、送信者[6]とは違い、同じメールをこれらのアドレスに一斉に送信してきてはいません。

表3に送信者[5]から届いたメールの情報をまとめてみました。

表3.実際に受信した迷惑メール
IndexToDelivered-ToFromReceived: fromSubject:
1(e)(e)tkueller(*)68-119-(*)cheap oem(*)
2(f)(f)tkwvrobinson(*)61-231-(*)Understanding(*)
3(g)(g)tkysf(*)80-193-(*)Learn to (*)
4(a)(a)tkuehnert(*)arennes-356(*)save up to 7O%(*)
5(a)(b)tkuehnert(*)arennes-356(*)save up to 7O%(*)
6(f)(a)tkrushnn(*)pc-23-10(*)Cialis for (*)
7(f)(b)tkrushnn(*)pc-23-10(*)Cialis for (*)
8(f)(a)tkrushnn(*)pc-23-10(*)Cialis for (*)
9(a)(a)tkwxtpruahxdoaxfkra(*)cpe-67-10(*)ALL MAJOR(*)
10(a)(b)tkwxtpruahxdoaxfkra(*)cpe-67-10(*)ALL MAJOR(*)
11(f)(f)tkutilek(*)248.fib.(*)0ver 3OO(*)
12(g)(g)tkuehnert(*)c4178-123(*)0ver 3OO(*)
13(a)(a)tkuenzlen(*)201-13-(*)cheap oem(*)
14(a)(b)tkuenzlen(*)201-13-(*)cheap oem(*)
15(g)(g)tkrebsbach(*)170.147.(*)75% Off for(*)
16(e)(e)tknowles(*)adsl196-246(*)U want to(*)
17(f)(f)tkrause(*)cpc3-cosh6(*)Software Compatibility(*)
18(f)(f)tkownh(*)201-1-(*)cheap oem(*)
19(e)(e)tkuczura(*)230.red-(*)Learn to (*)
20(i)(i)tknor(*)211-56-(*)Best software(*)
21(i)(j)tknor(*)211-56-(*)Best software(*)
22(f)(f)tkropp(*)28.red-(*)No Forms(*)
23(g)(g)tlab(*)80.178.(*)Check out (*)
24(j)(j)tkowallek(*)82-43-(*)75% off Regular(*)
25(i)(i)tkreckler(*)adsl196-171-(*)/iagra at(*)
26(p)(p)tkopchynski(*)softbank219(*)V1agr@ letter(*)
27(a)(a)tkricken(*)200-215-(*)A Rolex (*)
28(a)(b)tkricken(*)200-215-(*)A Rolex (*)
29(e)(e)tkudary(*)rtr.seba(*)save 90%%% on watches(*)
30(g)(g)tkycxelptrqul(*)201-13-(*)Beautiful quartz(*)
31(j)(j)tkthompson(*)c-69-245(*)replica watches(*)
32(i)(i)tkrueger(*)68-188-(*)High Quality Rolex(*)
(*)メールアドレス、ドメイン名、サブジェクトを省略しています

・メールヘッダ情報がメール毎にばらばらである点から分かること
表を見るとまず分かるように、送信者[5]は複数の送信元メールアドレス、送信元IPアドレスを使い分け、様々なサブジェクトのメールを送信しています。(5c)の共通点が無ければ同一の送信者であることに気づかなかったかもしれません。

送信元メールアドレスが複数ありますが、Fromフィールドには実際に存在しないアドレスを書き込んでも問題ありませんので、送信者にとってここはそれほど手間ではないでしょう。しかし送信元IPアドレスが複数ある点から、送信者[5]はインターネットに接続している複数のPCからメールを送信可能であることが分かります。複数の人物が協力して迷惑メール送信を行っているのかもしれませんし、単独の人物がボットネットを利用しているのかもしれません。

・ときどき同じメールが送信されている点から分かること
表の色分けしている部分を見ると分かるように、送信者、送信元IPアドレス、サブジェクトが同一のメールが一部あります。しかし、取得した8つのアドレスに同時に送信するようなことはしていません。このことから、送信者[5]は収集したメールアドレスのリストからランダムにサブリストを生成して、一種類の迷惑メールを送信する際にはそのサブリストの一つを使っていると考えられます。こうすることで、全てのメールアドレスに送信しないようにしているわけです。その理由ですが、迷惑メール対策技術を回避するためだと考えられます。最近の迷惑メール対策技術の多くはおとりメールアドレスへ届いたメールを迷惑メールと判断して、そのメールとのパターンマッチングで防御したり、迷惑メール送信元IPアドレスからのSMTP通信を遮断したりするため、単純に全てのメールアドレスに対して同じIPアドレスから同じ内容のメールを送信すると、フィルタリングされてしまう可能性が高いのです。

メールindex "4,5"、"6,7,8"、"9,10"、"13,14"、"20,21"、"27,28"の組は、それぞれ同じ内容のメールが同じ送信者メールアドレス、同じIPアドレスから送信されてきています。一方、"11,12"は同じ内容のメールですが、別々の送信者メールアドレス、IPアドレスから送られてきています。これは、送信者がある一種類の迷惑メールをばら撒く際に、複数の(おそらくボットに感染した)PCを利用しており、それぞれのPCには別々のメールアドレスサブリストを渡しているためだと考えられます。

・奇妙な点
ここでちょっと不思議な点を列挙しておきます。メールindex "4,5"、 "6,7,8"、 "9,10"、 "13,14"、 "20,21"、 "27,28"の組は同じPCから送信されてきていると考えられますが、なぜかToフィールドが同一でDelivered-Toがばらばらになっています。実際の送信先はDelivered-Toになり、Toの部分は書き換える必要がないため、送信プログラムの手抜きかもしれません。同様に(5c)のように送信時刻が常に同一である点も、手抜きかもしれません。また、送信元アドレスを自動生成しているようですが、その先頭が必ず"t"で始まっている点も気になります。

・サブジェクトを良く見ると分かること
ここではサブジェクトを省略して書いていますが、実はサブジェクトを良く見ると、新しい事実が分かります。index27〜32のメールのサブジェクトは一見バラバラのものに見えますが、中身を読むと全て時計の話題を扱っています。つまりこれらのメールは全て時計(の中古販売か模造品販売?)の広告メールなのです。表の中には示していませんが、こちらのメールサーバでの受信時刻を見てみると、6月12日の3:00〜3:30の間に届いています。

同様にindex22〜26は有名な薬品の広告であることが分かります。受信時刻を見ても6月12日の1:50〜2:20の間に送られてきています。

このサブジェクトと受信時刻の観点から32通のメールを分類すると、index1〜3、 index4〜8、index9〜12、 index13〜17、 index18〜21、 index22〜26、 index27〜32というグループ分けができます。このグループが送信者[5]のメール送信単位であると考えられます。単純なメール送信者であれば同じサブジェクトで送信するところですが、迷惑メール対策技術を回避するために複数のサブジェクトを使っているのだと考えられます。


以上が6月11日から12日の間に届いた迷惑メールの分析結果です。