Appleの詐欺メイル対策レシピです。
まずは、Apple IDを考えてみます。
正規のメールヘッダを見てみます(nkf出力)。
Received: from mdn-txn-msbadger0901.apple.com ([17.171.37.86]:16447) by mx1.uchinodomein.jp with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from <appleid@id.apple.com>) id 1ggjir-0007Gi-Et for usernamae@uchinodomein.jp; Tue, 08 Jan 2019 14:14:42 +0900 From: Apple <appleid@id.apple.com> Subject: ご利用の Apple ID のパスワードがリセットされました
送信元アドレスは、
****@id.apple.com
Received: fromは
****.apple.com
envelope-fromは 、
****@id.apple.com
この3つがあれば、正規のメールです。
ルールは次のようになります。
# check From: id.apple.com ##################################################### START # header __HDR_FROM_ID_APPLE_COM From =~ /\@id\.apple\.com>?\b/i header __HDR_RCV_FROM_APPLE_COM Received =~ /from.+\.apple\.com\b/i header __HDR_ENV_FROM_ID_APPLE_COM Received =~ /envelope-from.+\@id\.apple\.com>?\)?\b/i meta AUTHENTICATED_ID_APPLE_COM __HDR_FROM_ID_APPLE_COM && __HDR_RCV_FROM_APPLE_COM && __HDR_ENV_FROM_ID_APPLE_COM score AUTHENTICATED_ID_APPLE_COM -1.0 describe AUTHENTICATED_ID_APPLE_COM From authenticated id.apple.com # check From: id.apple.com ##################################################### END #
次はAppleからの宣伝広告メールのヘッダーです。
Received: from rn2-msbadger08103.apple.com ([17.179.250.120]:28579 helo=rn2-msbadger08103.rno.apple.com) by mx1.uchinodomein.jp with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from <n_j_i_bounces@insideapple.apple.com>) id 1g0klr-0004JM-BA for usernamae@uchinodomein.jp; Fri, 14 Sep 2018 18:52:17 +0900 From: Apple <News_Japan@InsideApple.Apple.com> Subject: iPhone XS、iPhone XS Max、Apple Watch Series 4を予約注文できます。
送信元アドレスは、
****@InsideApple.Apple.com
Received: fromは、
****.apple.com
envelope-fromは、
****@insideapple.apple.com
この3つのセットで、正規のメールです。
ルールは、
# check From: insideapple.apple.com ##################################################### START # header __HDR_FROM_INSIDEAPPLE_APPLE_COM From =~ /\@insideapple\.apple\.com>?\b/i # header __HDR_RCV_FROM_APPLE_COM Received =~ /from.+\.apple\.com\b/i header __HDR_ENV_FROM_INSIDEAPPLE_APPLE_COM Received =~ /envelope-from.+\@insideapple\.apple\.com>?\)?\b/i meta AUTHENTICATED_INSIDEAPPLE_APPLE_COM __HDR_FROM_INSIDEAPPLE_APPLE_COM && __HDR_RCV_FROM_APPLE_COM && __HDR_ENV_FROM_INSIDEAPPLE_APPLE_COM score AUTHENTICATED_INSIDEAPPLE_APPLE_COM -1.0 describe AUTHENTICATED_INSIDEAPPLE_APPLE_COM From authenticated insideapple.apple.com # check From: insideapple.apple.com ##################################################### END #
その他のAppleのヘッダーです。
Received: from nwk-txn-msbadger0601.apple.com ([17.151.1.74]:51606) by mx1.uchinodomein.jp with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from <do_not_reply@email.apple.com>) id 1fPoml-0004gZ-Ok for usernamae@uchinodomein.jp; Mon, 04 Jun 2018 21:40:31 +0900 From: Apple <no_reply@email.apple.com> Subject: 登録の確認
送信元アドレスは、
****@email.apple.com
Received: fromは、
****.apple.com
envelope-fromは 、
****@email.apple.com
これはiCloudも同じです。
ルールです。
# check From: mail.apple.com ##################################################### START # header __HDR_FROM_MAIL_APPLE_COM From =~ /\@email\.apple\.com>?\b/i # header __HDR_RCV_FROM_APPLE_COM Received =~ /from.+\.apple\.com\b/i header __HDR_ENV_FROM_MAIL_APPLE_COM Received =~ /envelope-from.+\@email\.apple\.com>?\)?\b/i meta AUTHENTICATED_MAIL_APPLE_COM __HDR_FROM_MAIL_APPLE_COM && __HDR_RCV_FROM_APPLE_COM && __HDR_ENV_FROM_MAIL_APPLE_COM score AUTHENTICATED_MAIL_APPLE_COM -1.0 describe AUTHENTICATED_MAIL_APPLE_COM From authenticated mail.apple.com # check From: mail.apple.com ##################################################### END #
以上が正規のAppleメールを判定するルールです。
正規も詐欺も合わせて、Appleメールは次のいずれかです。
- 送信元メールアドレスにAppleがある。
- 送信元メールアドレスの表示名にAppleあるいはiCloudがある。
- 件名にAppleあるいはiCloudがある。
詐欺メールの場合、送信元メールアドレス自体にAppleの文字が含まれていませんが、<>に挟まれたメールアドレスの前の表示名にAppleが含まれています。
詐欺メールは、送信元メールアドレスの表示名には次のようなものがありました。
- AppIe
- AppIeサービス
- Apple
- Apple – サポート
- Apple ID
- Apple Inc.
- Apple-催促状
- Appleサービス
- Appleサポート
- Appleサポートセンター
- Apple安全な
- apple,inc
- iCloudサポート
- noreply@apple,inc
- support@id.apple.co.jp
- サポートApple
- 確認Apple.com
mimeデコードしたヘッダーにAppleあるいはiCloudがあるかどうかでAppleメールと判定します。
しかし、
全てのヘッダーを検索の対象にすると、問題が出ます。
メーラーがiPhone Mailの場合、
Content-Type: multipart/alternative; boundary=Apple-Mail-1F9********9-4E9A-9045-01A3********E
のように、boundaryにAppleが登場します。
これをAppleメールと検知しないように、全ヘッダーではなく、
- Received
- From
- Subject
を検索の対象にします。
正規、詐欺合わせたAppleメールの中で、上記ルールで正規Appleメールと判定できなかったものを詐欺メールと判定します。
つまり、
正規の
mail.apple.com
または
insideapple.apple.com
または
id.apple.com
からのものでなければ、詐欺メールだと判断します。
SpamAssassinは既存のルールをmetaで再利用することができます。
既存のルールのスコアと真偽の関係は次のとおりです。
0 → 偽 0.0 → 偽 0.000 → 偽
それ以外は真です。
マイナスのスコアも真です。
1.0 → 真 0.01 → 真 -1.0 → 真 -0.01 → 真
これを使ってルールを作ります。
Appleの正規の送信元ではなく、件名にAppleまたはicloudがあれば、警戒します。
# Fake Apple Mail ##################################################### START # header __HDR_SUBJECT_APPLE Subject =~ /apple|iCloud/i #header __HDR_SUBJECT_APPLE_ID Subject =~ /Apple\sID/i meta WARN_APPLE_SUBJECT __HDR_SUBJECT_APPLE && !(AUTHENTICATED_ID_APPLE_COM || AUTHENTICATED_INSIDEAPPLE_APPLE_COM || AUTHENTICATED_MAIL_APPLE_COM) score WARN_APPLE_SUBJECT 3.0 describe WARN_APPLE_SUBJECT Warn Apple Subject # Fake Apple Mail ##################################################### END #
Appleの正規の送信元ではなく、FromやRecievedヘッダーにAppleまたはicloudがあれば詐欺メールです。
# Fake Apple Mail ##################################################### START # header __HDR_FROM_APPLE From =~ /apple|iCloud/i header __HDR_RCV_APPLE Received =~ /apple|iCloud/i meta FAKE_APPLE (__HDR_FROM_APPLE || __HDR_RCV_APPLE) && !(AUTHENTICATED_ID_APPLE_COM || AUTHENTICATED_INSIDEAPPLE_APPLE_COM || AUTHENTICATED_MAIL_APPLE_COM) score FAKE_APPLE 6.0 describe FAKE_APPLE Fake Apple Mail # Fake Apple Mail ##################################################### END #
まとめると、次のようになります。
# check From: id.apple.com ##################################################### START # header __HDR_FROM_ID_APPLE_COM From =~ /\@id\.apple\.com>?\b/i header __HDR_RCV_FROM_APPLE_COM Received =~ /from.+\.apple\.com\b/i header __HDR_ENV_FROM_ID_APPLE_COM Received =~ /envelope-from.+\@id\.apple\.com>?\)?\b/i meta AUTHENTICATED_ID_APPLE_COM __HDR_FROM_ID_APPLE_COM && __HDR_RCV_FROM_APPLE_COM && __HDR_ENV_FROM_ID_APPLE_COM score AUTHENTICATED_ID_APPLE_COM -1.0 describe AUTHENTICATED_ID_APPLE_COM From authenticated id.apple.com # check From: id.apple.com ##################################################### END # # check From: insideapple.apple.com ##################################################### START # header __HDR_FROM_INSIDEAPPLE_APPLE_COM From =~ /\@insideapple\.apple\.com>?\b/i # header __HDR_RCV_FROM_APPLE_COM Received =~ /from.+\.apple\.com\b/i header __HDR_ENV_FROM_INSIDEAPPLE_APPLE_COM Received =~ /envelope-from.+\@insideapple\.apple\.com>?\)?\b/i meta AUTHENTICATED_INSIDEAPPLE_APPLE_COM __HDR_FROM_INSIDEAPPLE_APPLE_COM && __HDR_RCV_FROM_APPLE_COM && __HDR_ENV_FROM_INSIDEAPPLE_APPLE_COM score AUTHENTICATED_INSIDEAPPLE_APPLE_COM -1.0 describe AUTHENTICATED_INSIDEAPPLE_APPLE_COM From authenticated insideapple.apple.com # check From: insideapple.apple.com ##################################################### END # # check From: mail.apple.com ##################################################### START # header __HDR_FROM_MAIL_APPLE_COM From =~ /\@email\.apple\.com>?\b/i # header __HDR_RCV_FROM_APPLE_COM Received =~ /from.+\.apple\.com\b/i header __HDR_ENV_FROM_MAIL_APPLE_COM Received =~ /envelope-from.+\@email\.apple\.com>?\)?\b/i meta AUTHENTICATED_MAIL_APPLE_COM __HDR_FROM_MAIL_APPLE_COM && __HDR_RCV_FROM_APPLE_COM && __HDR_ENV_FROM_MAIL_APPLE_COM score AUTHENTICATED_MAIL_APPLE_COM -1.0 describe AUTHENTICATED_MAIL_APPLE_COM From authenticated mail.apple.com # check From: mail.apple.com ##################################################### END # # Fake Apple Mail ##################################################### START # header __HDR_SUBJECT_APPLE Subject =~ /apple|iCloud/i #header __HDR_SUBJECT_APPLE_ID Subject =~ /Apple\sID/i meta WARN_APPLE_SUBJECT __HDR_SUBJECT_APPLE && !(AUTHENTICATED_ID_APPLE_COM || AUTHENTICATED_INSIDEAPPLE_APPLE_COM || AUTHENTICATED_MAIL_APPLE_COM) score WARN_APPLE_SUBJECT 3.0 describe WARN_APPLE_SUBJECT Warn Apple Subject # Fake Apple Mail ##################################################### END # # Fake Apple Mail ##################################################### START # header __HDR_FROM_APPLE From =~ /apple|iCloud/i header __HDR_RCV_APPLE Received =~ /apple|iCloud/i meta FAKE_APPLE (__HDR_FROM_APPLE || __HDR_RCV_APPLE) && !(AUTHENTICATED_ID_APPLE_COM || AUTHENTICATED_INSIDEAPPLE_APPLE_COM || AUTHENTICATED_MAIL_APPLE_COM) score FAKE_APPLE 6.0 describe FAKE_APPLE Fake Apple Mail # Fake Apple Mail ##################################################### END #
正規のAppleメールの本文中のリンクは、
https://.apple.com/
イメージのリンクは
https://.mzstatic.com/
http://****.mzstatic.com/
です。
icloudメールの本文中のリンクは、
mailto:@icloud.com
https://.icloud.com/
https://****.apple.com/
です。
これらを使ってより厳密なルールができるかもしれません。
今回はこれで、しばらく様子を見てみます。