開発マトリョーシカ

qq.com からの迷惑メールに困ったら

「この世界から電子メールなんてなくなったらいいのに。」
マトリョーシカです。

社内のやり取りは、Google Hangouts Chatがメインになってきました。
お客様とのやり取りも、ChatWorkなどを活用しています。LINEFacebookなどのSNSを使うこともあります。
個人的にはSlackを使うこともあります。Slackいいですよ。Slack

「パソコンは持っていないけどスマートフォンなら持っている。」
「ていうか、パソコンって必要ですか?」
そういう人が増えてきたように、
「メールアドレスは持っていないけどコミュニケーションの手段は持っている。」
という人がいつか大多数になるんじゃないかと想像しています。
早くそういう時代にならないかな。電子メールという仕組みに付き合い続けるのは、正直しんどいのです。
でも、まだそういう時代になっていないので、仕方なく電子メールのことも考えますよ。

最近、JBN社内で聞くようになってきたのが、
「お客様から、迷惑メールが来るようになった、という問い合わせが来るようになったよね。」
という声。
あるお客様のところには、一日に数千件もの迷惑メールが送られてきたそうです。これでは業務に支障が出てしまいます。

これまで、メールフォームを利用した迷惑メールといえば、
ロボットが自動的にサイトを巡回して見つけたフォームを解析して内容を適当に埋めて送信する
というやり方が主流でした。そのため、送信ボタンの先に確認画面があるだけでつまずいてフォームの最後までたどり着けなかったりします。
JBNが提供しているフォームには、基本的に確認画面があるので、このような巡回型の迷惑メールを防ぐことができています。

しかし、最近、迷惑メールが来るようになってしまっています。
ということは、自動的にサイトを巡回しながらメールを送るという手法ではない、ということになります。

メールの送信履歴などを解析したところ、以下のような手順で送っているようだ、ということがわかりました。

(1) とりあえず、普通にメールフォームを使って送ってみる。
(2) 送信できたことを確認したら、ちょっと違うパターンでまた送ってみる。
(3) 3通ほど送ってみて、送信したときにPOSTしている内容を解析してみる。
......ここまで、人がやっています。ロボットではないので、対策しようがありません。正しく使っている人なのか悪意のある人なのか、判断することが難しいためです。
(4) 送信可能なPOSTのパターンがわかったら、そのパターンを使って大量に送信する。(この大量送信は、プログラムによって行われていると思われます。一秒の間に数百件送られています。)

この手順を防ぐことは困難です。
通常、迷惑メールを防ぐには、途中に壁を設けます。ただし、その壁は、ロボットに対して機能するので、人に対しては効果がありません。
人の手で解析して最後にプログラムによって自動化する、というやり方を防ぐのは、とても難しいと思われます。

難しいので、シンプルに考えましょう。
こういうとき、何を防げばよいか、ということを考えます。

(1) 迷惑メールを送ってくるユーザー
(2) 不正なPOST
(3) 短時間に大量にPOSTする行為

さて、どうやって防ぐか、一つ一つ考えてみましょう。

迷惑メールを送ってくるユーザー

ちょっと想像してみてください。 あなたがスーパーの店員だったとします。お店になんだか怪しい人がやってきました。店の中をやたらとキョロキョロしています。スマートフォンを取り出しました。何かメモしているようです。またキョロキョロし始めました。またメモを取りました。 ......さて、どうしますか? 怪しいから通報しますか? そんなこと、できるわけないですよね。何も悪いことをしていないのに、通報なんてできるわけありません。 それと同じです。 迷惑メールを送るまでは普通のユーザーとの区別がつきません。迷惑メールが送られてきて初めて、このユーザーには出ていってもらおうという判断になります。 そのため、再発を防止することはできますが、事前に防ぐことはできません。

不正なPOST

何をもって不正とすればいいでしょうか。 不正なPOSTの場合、リファラが入っていないことが多いので、リファラで判断することはできそうです。 しかし、リファラでチェックするようにした場合、それを回避したPOSTを作られるかもしれません。 ワンタイムパスワードのようなものをリアルタイムに発行してチェックするという仕組みを作れば解決すると思いますが、そこまでするのはちょっと大掛かりです。 今まで送られてきた迷惑メールに共通する特徴として、メールアドレスが「1234567890@qq.com」となっているということが挙げられます。(数字のところは変わります。) これは中国でメジャーなフリーメールアドレスで、とても簡単に取得することができるみたいです。そのため、このように不正利用されることも多いようです。 だからといって、qq.comのメールアドレスを禁止することは好ましくありません。正しく使用しているユーザーがいるかもしれないためです。

短時間に大量にPOSTする行為

メールフォームを普通に利用する場合、人の手によるものであれば、1秒の間に何件も送ることはできないと思います。 そのため、連続投稿を防止することによって、大量に送りつけられることは防ぐことができそうです。 この方法を選んだ場合、防ぐことができるのは2通目以降になりますので、1通は送られてしまいます。

こういう対処を考えるとき、被害を最小限に留めることを優先します。
また、対処しようとしてかえって別の被害を作ってはなりません。この場合、迷惑メールを送るつもりのないユーザーを遮断することがそれに該当します。

気持ちの上では、迷惑メールを送ってくるようなユーザーなんて遮断してしまいたいと思うかもしれません。
しかし、迷惑メールを送る前に判断することはできませんし、無理に遮断しようとすると、悪意のないユーザーまで遮断することになりかねません。

少しくらいなら迷惑メールは来てもいい、と、割り切ってしまったほうが有効な手段を見出すことができそうです。
本当に迷惑なのは、数千件もの迷惑メールが来てしまうことです。これが数件だったら、業務に支障が出るほどではなくなります。

迷惑メールについて、これまではロボットに対する対処を考えてきたので、対処法も単純でした。
しかし、今は、人に対する対処法を考えなければならなくなってきています。
こちらが対処法を考えれば、向こうもそれを無効にする方法を考えてくるかもしれません。
簡単ではないので、これからも時間をかけて迷惑メールへの対処について検討を続けます。

ていうか、この世界から電子メールなんてなくなったらいいのに。

迷惑メールについてお困りの方はご相談ください

執筆者

マトリョーシカの中の人

マトリョーシカの中の人

株式会社JBN 制作部副部長

「難しそうなことはきっとマトリョーシカがなんとかしてくれるはず。」
そんな都市伝説を形にするため地上に降り立ったクリーチャー。
年齢も性別もみんな不明。一体お前は何なんだ。
手も足も出ないし、首も回らない。
それなのに、いつもどうやって設計しているんだろう。
どうやってプログラム書いているんだろう。
そっちのほうが都市伝説。