Apple、Amazon、楽天についで多いのが、LINEのフィッシング詐欺メールです。
これらのメールの特徴は、
- 送信者のアドレスが正規のものと同じ
- DKIMチェックpass
- SPFチェックpass
- 送信元のDNS逆引きok
で、本物と見分けがつかないというのが特徴です。
ユーザーが目にする送信元のメールアドレスは、From:ヘッダの情報ですが、どんなメールアドレスにも書き換え可能です。From:ヘッダは実際のメールの受送信には関与しません。
しかし、実際にサーバ間の送受信に関与するenvelope-fromのアドレスを偽装することは難しいと思います。
envelope-fromのアドレスというのは、送信側と受信側のサーバーが、ヘッダ情報とは別にやり取りする本当の送信元メールアドレスです。
SPFを使えば、envelope-fromアドレスの偽装を見破ることができます。
偽装メールを見分けるには、envelope-fromアドレスが正規のLINEメールアドレスかどうかで判断できます。
それでは、公式のLINEメールはどこから送られてくるのか?
LINEメールの送信アドレス情報を探したのですが、わたしには公式なものを見つけられませんでした。
なので、以下の情報を参考にさせてもらいます。
https://www.weblog-life.net/entry/line_spam
この情報によると、LINEが公式で送信するドメインは以下のとおりです。
@accept.line.me
@naver.jp
@line.me
@noti.naver.jp
whoisで確認すると、
line.me
naver.jp
いずれも、LINEに関係あることがわかります。
$ whois naver.jp Domain Information: [ドメイン情報] [Domain Name] NAVER.JP [登録者名] LINE株式会社 [Registrant] LINE Corporation
$ whois line.me Domain Name: LINE.ME ... Registrant Organization: LINE Corporation Registrant State/Province: TOKYO Registrant Country: JP
これらのドメインのSPF情報はどのように登録されているか、DNSで確認してみましょう。
@accept.line.me $ dig accept.line.me txt 登録なし @naver.jp $ dig naver.jp txt naver.jp. 599 IN TXT "v=spf1 include:naver.com include:spf.naver.jp include:spf03.livedoor.net ~all" @line.me $ dig line.me txt line.me. 599 IN TXT "v=spf1 include:naver.com include:spf.naver.jp include:spf03.livedoor.net ip4:203.104.136.0/24 include:_spfblock_ext.line.me ~all" @noti.naver.jp $ dig noti.naver.jp txt noti.naver.jp. 599 IN TXT "v=spf1 include:naver.com include:spf.naver.jp ~all"
~allがあるので、LINEメールがどこから送られるかを完全に限定できないことがわかります。
※ライブドアはLINEの傘下に入ったんですね。
しかし、送信元が~allにマッチした場合softfailになるので、SpamAssassinのSPF_SOFTFAILで検査することができます。
SPFについての詳しい説明は、有害情報対策ポータルサイトを参照してください。
過去のメールから抽出したSPFのルールは以下のとおりでした。
-0.0 SPF_HELO_PASS SPF: HELO matches SPF record -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_FAIL SPF: HELO does not match SPF record (fail) 0.0 T_SPF_HELO_PERMERROR SPF: test of HELO record failed (permerror) 0.0 T_SPF_HELO_TEMPERROR SPF: test of HELO record failed (temperror) 0.0 T_SPF_PERMERROR SPF: test of record failed (permerror) 0.7 SPF_HELO_SOFTFAIL SPF: HELO does not match SPF record (softfail) 0.7 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 0.8 SPF_NEUTRAL SPF: sender does not match SPF record (neutral) 0.9 SPF_HELO_SOFTFAIL SPF: HELO does not match SPF record (softfail) 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail)
後ほど、これも合わせて検討してみます。
また、LINE@の広告代理店として認定されている会社のサイトに、「LINEからのメールが届かない場合の対処方法」が解説されています。
line.meドメインを受信許可リストへ入力することで、LINEメールを受け取ることができるようです。
これらの情報から、
公式LINEメールはline.meドメインで送信される。
ことは間違いないでしょう。
LINEからの正式なメールのヘッダは以下のようなものでした(nkf出力です)。
Return-Path: <do_not_reply@line.me> Received: from cvowlsmtpjp006.nm.naver.com (cvowlsmtpjp006.nm.naver.com. [125.209.242.239]) by mx.google.com with ESMTPS id w185si1460277pfw.122.2018.11.28.23.30.19 for <username@gmail.com> (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 28 Nov 2018 23:30:19 -0800 (PST) From: LINE <do_not_reply@line.me> Subject: [LINE] メールアドレス登録確認メール
これはgmailのヘッダーです。
Return-Pathのアドレスはenvelope-fromのが使われるので、
envelope-fromはdo_not_reply@line.me
になります。
つぎは偽物です。
Received: from rttasshen.com ([mmm.mmm.mmm.mmm]:50257) by mailsv.arukaisya.co.jp with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from <smxojuspc@rttasshen.com>) id 1hJ2wM-000155-Hq for usernamae@arukaisya.co.jp; Wed, 24 Apr 2019 06:27:02 +0900 From: [LINE] <smxojuspc@rttasshen.com> Subject: [LINE安全認証]
このメールでは、From:は偽装されていませんでした。
素直に、envelope-fromのアドレスが使われています。
詐欺メールに使われている件名には以下のようなものがあります。
- LINE-Corporaionut
- LINE-Corporation
- LINE安全認証
- LINE–安全認証
- [LINE]安全認証
- LINE-安全認証
- LINE緊急問題
- [LINE安全認証]
- [LINE緊急問題]
- LINE【重要情報】
- [LINE] 問題報告
- [LINE]-緊急問題報告
- LINE保護設定
SpamAssassinのルールです。不確かな予測が含まれます。
LINEからのメールであれば、ヘッダのFrom:に@line.meがあります。
From: ****@line.me ならば
Received: from **.naver.comで
envelope-from ****@line.meでなければなりません。
# LINE Mail ##################################################### START # header __HDR_FROM_LINE_ME From =~ /\@line\.me|\@accept\.line\.me/i header __HDR_RCV_FROM_NAVER_COM Received =~ /from.+\.naver\.com/i header __HDR_ENV_FROM_LINE_ME Received =~ /envelope-from.+\@line\.me/i meta AUTHENTICATED_LINE_ME __HDR_FROM_LINE_ME && !(__HDR_RCV_FROM_NAVER_COM || __HDR_ENV_FROM_LINE_ME) # とりあえずorで score AUTHENTICATED_LINE_ME 6.0 describe AUTHENTICATED_LINE_ME From Fake line.me # LINE Mail ##################################################### END #
次に、件名に”LINE”が含まれるメールは、
@accept.line.me
@naver.jp
@line.me
@noti.naver.jp
が送信元でなければ。警戒すべきである。
# OK LINE Subject ################################################ START # header __HDR_SUBJECT_LINE Subject =~ /LINE/ header __HDR_FROM_LINE From =~ /\@accept\.line\.me|\@naver\.jp|\@line\.me|\@noti\.naver\.jp/i meta AUTHENTICATED_LINE __HDR_SUBJECT_LINE && !__HDR_FROM_LINE score AUTHENTICATED_LINE 3.0 describe AUTHENTICATED_LINE Fake LINE Subject # OK LINE Subject ################################################ END #
件名に、安全、認証、重要、情報、緊急、問題、報告、保護、設定、Corpが含まれている場合には警戒を強める。
# OK LINE Subject 1 ############################################## START # header __HDR_SUBJECT_LINE1 Subject =~ /安全|認証|重要|情報|緊急|問題|報告|保護|設定/u header __HDR_SUBJECT_LINE1_2 Subject =~ /Corp/i meta AUTHENTICATED_LINE1 __HDR_SUBJECT_LINE && (__HDR_SUBJECT_LINE1 || __HDR_SUBJECT_LINE1_2) && !__HDR_FROM_LINE score AUTHENTICATED_LINE1 1.0 describe AUTHENTICATED_LINE1 Fake LINE Subject 1 # OK LINE Subject 2 ############################################## END #
件名に、安全認証、緊急問題、重要情報、問題報告、保護設定、Corporationが含まれていて、送信元が正規のものでなければ完全にアウト。
# OK LINE Subject 2 ############################################## START # header __HDR_SUBJECT_LINE2 Subject =~ /安全認証|緊急問題|重要情報|問題報告|保護設定/u header __HDR_SUBJECT_LINE2_2 Subject =~ /Corporation/i meta AUTHENTICATED_LINE2 __HDR_SUBJECT_LINE && (__HDR_SUBJECT_LINE2 || __HDR_SUBJECT_LINE2_2) && !__HDR_FROM_LINE score AUTHENTICATED_LINE2 1.0 describe AUTHENTICATED_LINE2 Fake LINE Subject 2 # OK LINE Subject 2 ############################################## END #
envelope-fromにline.meが含まれても、その情報を送ってきたサーバーが本当に@line.meの送信元たる資格を持っているかわかりません。
それを検査するのがSPFです。
SPFの詳細は理解していなくても、SpamAssassinが検査してくれています。
LINEはSPF情報を公開していっますので、
- SPF_HELO_SOFTFAIL
- SPF_SOFTFAIL
- SPF_NEUTRAL
- SPF_HELO_SOFTFAIL
- SPF_SOFTFAIL
がTRUE(おそらく0以上)なら警戒することにします。
わたしのところでは、デフォルトでSPFのプラグイン(Mail::SpamAssassin::Plugin::SPF)が有効になっていますので、そちらに任せます。
まとめると、ルールは次のようになりました。
# LINE Mail ##################################################### START # header __HDR_FROM_LINE_ME From =~ /\@line\.me|\@accept\.line\.me/i header __HDR_RCV_FROM_NAVER_COM Received =~ /from.+\.naver\.com/i header __HDR_ENV_FROM_LINE_ME Received =~ /envelope-from.+\@line\.me/i meta AUTHENTICATED_LINE_ME __HDR_FROM_LINE_ME && !(__HDR_RCV_FROM_NAVER_COM || __HDR_ENV_FROM_LINE_ME) # とりあえずorで score AUTHENTICATED_LINE_ME 6.0 describe AUTHENTICATED_LINE_ME From Fake line.me # LINE Mail ##################################################### END # # OK LINE Subject ################################################ START # header __HDR_SUBJECT_LINE Subject =~ /LINE/ header __HDR_FROM_LINE From =~ /\@accept\.line\.me|\@naver\.jp|\@line\.me|\@noti\.naver\.jp/i meta AUTHENTICATED_LINE __HDR_SUBJECT_LINE && !__HDR_FROM_LINE score AUTHENTICATED_LINE 3.0 describe AUTHENTICATED_LINE Fake LINE Subject # OK LINE Subject ################################################ END # # OK LINE Subject 1 ############################################## START # header __HDR_SUBJECT_LINE1 Subject =~ /安全|認証|重要|情報|緊急|問題|報告|保護|設定/u header __HDR_SUBJECT_LINE1_2 Subject =~ /Corp/i meta AUTHENTICATED_LINE1 __HDR_SUBJECT_LINE && (__HDR_SUBJECT_LINE1 || __HDR_SUBJECT_LINE1_2) && !__HDR_FROM_LINE score AUTHENTICATED_LINE1 1.0 describe AUTHENTICATED_LINE1 Fake LINE Subject 1 # OK LINE Subject 2 ############################################## END # # OK LINE Subject 2 ############################################## START # header __HDR_SUBJECT_LINE2 Subject =~ /安全認証|緊急問題|重要情報|問題報告|保護設定/u header __HDR_SUBJECT_LINE2_2 Subject =~ /Corporation/i meta AUTHENTICATED_LINE2 __HDR_SUBJECT_LINE && (__HDR_SUBJECT_LINE2 || __HDR_SUBJECT_LINE2_2) && !__HDR_FROM_LINE score AUTHENTICATED_LINE2 1.0 describe AUTHENTICATED_LINE2 Fake LINE Subject 2 # OK LINE Subject 2 ############################################## END #
これで様子を見てみましょう。