あっと言う間に2022年も半分が過ぎ、昨年末のHDDのクラッシュとサーバ回りの更新、それに合わせた最新版のSpamAssasinの導入からも約半年が経ったことになります。今回はこの間に得られた知見と最近の迷惑メールについて考えてみましょう。
MewとSpamAssasin
手元では、届いたメールを一覧したり、ざっと流し読みする時はGmailやプロバイダの提供するウェブメールを使っているものの、新たにメールを書いたり返信する際には、未だにEmacsで動くメーラ"Mew(みゅう)"を使っています。Mewで手元に届いた迷惑メールのフォルダを開くと、こんな感じの表示になります。
ご覧のように、Mewのsummary modeでは1行が1つのメールを示し、左から「マーク」「日付」「送信者」「サブジェクト」「メール本文の冒頭行」が並んでいます。このうち、一番左の「マーク」はMewが独自に付ける記号で、何もない空白は通常のテキストメール、
"M"はマルチパートを持ったMIME形式のメール、"-"はマルチパート混合(multipart/alternative)形式のメールを意味します。
本文の冒頭行を見比べれば気づくように、SpamAssasinは迷惑メールにチェック結果のレポートを付けてマルチパート化するので、"M"が付いているのはSpamAssasinが迷惑メールと判定したメール、付いていないのは手動で迷惑メールフォルダに移動したメールとなります。
どれくらいの割合でSpamAssasinが迷惑メールをチェックできるのかを確認するため、2022年5月分の迷惑メールを調べたところ、総数183通のうちSpamAssasinが迷惑メールと判定したのが132件、SpamAssasinの判定をすり抜けたため、手動で迷惑メールフォルダに移したのが41件でした。迷惑メールの検出率は7割強、と言ったところでしょうか。
SpamAssasinの迷惑メール判定
さて、これら迷惑メールをじっくりと眺めてみると「えきねっとアカウント自動退会」や「ETC利用照会」、各種クレジットカードを名乗った「サービス停止警告」など、同じ内容のメールが何度も届いています。ところが同じ内容のメールでも、SpamAssasinが迷惑メールと判定する場合もあれば、判定からすり抜ける場合もあるようです。
たとえば「えきねっとアカウント自動退会処理について」というサブジェクトの迷惑メールが6/20から6/25の間に9通届き、そのうち5通は迷惑メールと判定されたものの、残りの4通はチェックをすり抜けていました。
これらのメールを調べると、サブジェクトには多少バラつきがあるものの、メール本文は同じ内容で、「えきねっと」サービスから自動退会処理されるので、利用を継続したい場合は指定したURLからログインせよ、というものでした。
どうして同じ内容なのにチェックをすり抜ける迷惑メールがあるのだろうと、SpamAssasinのチェックレポートを調べてみたところ、迷惑メールではこのような項目がチェックされていました。
一方、チェックをすり抜けたメールのヘッダはこうなっていました。
両者を比べて検討すると、SpamAssasinの迷惑メール判定には、DKIMやSPFといったメール自身の認証情報よりも、メールの送信や中継時に使われたURIやドメイン名がSpamhausデータベースのブラックリストに載っているかどうかが重視されているようです。実際、Spamhausのデータベースをチェックしてみると、確かに"3obnhi386.ga"というドメインはブラックリストに載っていました。
他の例もあれこれ調べた結果、最近の迷惑メール判定はSpamhaus等のブラックリストに基づくことがほとんどで、メールのサブジェクトや本文に出てくる単語でチェックされた例はごく僅かでした。
最近の迷惑メール
このあたりの状況は、迷惑メールのあり方が従来から変ってきたことに起因するのでしょう。というのも、かつての迷惑メールはいわゆる「SPAM(スパム)」と呼ばれ、「ヘタな鉄砲も数撃ちゃ当たる」的に同じ内容のメールを多数のメールアドレスにバラまくスタイルでした。
このようなタイプの迷惑メールには統計に基づく「ベイジアンフィルタ」が有効です。「ベイジアンフィルタ」では、あらかじめ「スパム(迷惑メール)」と「ハム(受け取りたいメール)」それぞれに現われる単語の頻度をデータベース化しておき、このデータベースに基づいて新たに届いたメールに含まれる単語群のスパムらしさを数値化します。従来のスパムタイプの迷惑メールは、このベイジアンフィルタによって簡単に見つかりブロックできたため、次第に使われなくなりました。
スパムタイプの迷惑メールに代わり、最近では「フィッシング(phising)」と呼ばれるタイプの迷惑メールが主流です。このタイプの迷惑メールは、今回の「えきねっと」の例のように、実在する企業や団体からの警告メールになりすまし、一見、公式のように見えるウェブページに誘導して各種個人情報を盗み取るようになっています。
この「フィッシング」タイプの迷惑メールは、警告メールに偽装するため、実際にその組織から送信されたメールの文言を流用し、画像等も実際に使われているデータを埋め込むなど、工夫を凝らしています。
このタイプの迷惑メールは、本物の警告メールの文言を利用するため、メール中に出現する単語の頻度からの判定は困難で、送信元やリレー元、あるいは誘導しようとしているURIでチェックするしかありません。そのような情勢を踏まえSpamAsassinもドメイン名やURIのブラックリストチェックに軸足を移しているようです。
実のところ、"Mew"ではメール本文を少し上にスクロールすればメールのヘッダ部が表示され、送信元や中継ドメインが一目でわかります。メール本文で発信者を示すFrom:行はメーラ(MUA)でいくらでも詐称できるのに対し、メールサーバ(MTA)が記録するヘッダのReceived:行は実際のドメイン名やIPアドレスが記録されるので簡単には偽装できません。
たとえばこれはAmazonを騙っているフィッシングメールのヘッダ部で、DKIMも付けて、一見amazon.co.jpからのメールに偽装しているものの、Received:行の逆引き結果を見ると、さくらインターネットのVPSから送られていることがわかります。
もっとも、Mewのようなテキストベースのメーラでは、埋め込まれたURLから、ワンクリックでフィッシング用サイトへ飛ぶようなことはできないため、わざわざヘッダ部を調べなくてもフィッシングに引っかかる可能性はまずありません。このような「便利になりすぎて不便」とか「不便な分、便利」といった逆説は、現実世界でもあちこちで目にする気がします。