不備のあるDMARCレポートがインフラストラクチャの全体像を漏洩させる仕組み
セキュリティに関する洞察技術ガイダンス目次
SH Consultingの創業者であるアレックス・シャホフ氏と、dmarcianのプロフェッショナルサービス・ディレクターであるアッシュ・モリン氏が共同で作成したこのガイドでは、レポート送信先アドレスの不備が企業のDMARCレコードに反映されてしまう3つの一般的なケース、そのレポートから読み取れる情報、および自社のレコードを確認する方法について解説しています。
DMARCの集計レポートには、そのドメインを使用してメールを送信したすべてのサーバー、送信量、およびそのメールがSPFとDKIMの検証に合格したかどうかが一覧表示されます。これらのレポートの送信先は、通常、ruaタグで一度設定されると、その後は二度と確認されることはありません。もしそのアドレスに誤りがあったり、会社がもはや所有していないドメイン上に存在したりする場合、レポートはそのドメインを登録している者に送信されてしまいます。
このガイドでは、誤ったレポート先アドレスが企業のDMARCレコードに記録されてしまう3つの一般的なケース、そのレポートから読み取れる情報、および自社のレコードを確認する方法について解説します。 本ガイドの事例は、SH Consultingが誤入力や有効期限切れのレポートドメインについて行った調査に基づいています。いずれの場合も、SH Consultingは当該組織に通知を行い、データを利用することなく、ドメインを返還するか、すべてのメールを拒否するように設定しました。SH Consultingによる事例紹介の後、Ash Morin氏がベンダー側の視点からdmarcianが把握している情報を補足します。
エンドポイントのレポート機能が正常に動作しなくなる原因
以下の3つの失敗事例には、1つの共通点があります。それは、本番環境のDMARCレコードに記載されているレポート用エンドポイントについて、社内の誰もその出所を説明できないという点です。そして、ほとんどの場合、これは組織が利用しているDMARCベンダーとは何の関係もありません。
住所の誤字
DMARCベンダーは通常、各顧客にサブドメイン上のレポート用アドレスを割り当てます。dmarcianを指すレコードは、次のような形式になります:
v=DMARC1; p=reject; rua=mailto:[email protected]
コピー&ペーストではなく、手入力で書き直した場合、同じレコードは次のような形になるかもしれません:
v=DMARC1; p=reject; rua=mailto:[email protected]
dmarcian.com の前にピリオドが 1 つ欠けており、このレコードはdmarcian.com とは全く別のドメインであるagdmarcian.com を指しています。 このようなドメインは通常、誰でも自由に登録できます。もし誰も登録していなければ、レポートはバウンスされ、ダッシュボードには何も表示されなくなります。誰かが登録している場合は、その登録者にこれらのレポートが届きます。この誤入力されたレコードは、構文上の誤りがないため、構文チェックを通過してしまいます。つまり、現在稼働しているどのDMARCバリデータも、これを有効なDMARCレコードとして判定してしまうことになります。
SH Consultingは調査の過程で、agdmarcian. comとfrdmarcian.comが登録可能であることを確認し、これらを登録した上で、両ドメインをdmarcianに移管しました。dmarcianがこれらをどのように扱っているかについては、以下でAshが説明しています。
企業の自社ドメインでも同様の事態が起こり得ます。ドイツのセキュリティベンダーであるAdva Network Security社は、advasecurity.comの スペルミスであるadvasecurtiy.comに報告用アドレスを公開していました。2文字が入れ替わったこのスペルミスドメインは、未登録の状態でした。SH Consulting社はこの誤りを報告した後、予防的にそのドメインを登録し、そこへのすべてのメールをブロックしました。
有効期限が切れてしまった古い会社のドメイン
ブランド変更、合併、買収が行われると、古いドメインが放置されてしまうことがあります。ドメイン登録業者のアカウントは、多くの場合、IT担当者のメールアドレスに紐付けられているため、その担当者が会社を辞めると、ドメインも同時に失効してしまいます。あるいは、登録業者アカウントに登録されたクレジットカードの有効期限が切れても、通知が社内で既に存在しないメールアドレスに送られるため、誰も気づかないままになることもあります。いずれにせよ、そのドメイン名にまだ指し示されているものがないか、DNSを確認する人は誰もいないのです。
JE PistonsとWisecoは、このパターンの典型的な例です。両ブランドはかつて、doverpmi.comを使用していたドーバー・コーポレーション(Dover Corporation)のモータースポーツ部門という親会社に属していました。所有権が変更された後、このドメインは失効しましたが、両ブランドのDMARCレコードは引き続きそのドメイン宛てにレポートを送信し続けていました。 SH Consultingは調査中にこのドメインを登録したところ、現在も営業を続けている2つのブランドからの日次レポートが届き始めました。また、元従業員宛てにメールが依然として送信されていたため、このドメインはすべての受信メールを拒否するように設定されました。その後、2つのブランドのうち1つは当該アドレスを削除しましたが、もう1つは依然としてそのドメインにDMARCレポートを送信し続けています。
外部のITプロバイダーによって追加されたアドレス
DMARCレコードに記載されているアドレスがすべてDMARCベンダーのものであるとは限りません。ITプロバイダーやスパムフィルタリングサービスは、クライアントのレコードに自社のドメインを追加することがあり、そのドメインはサービスが終了した後もレコードに残ったままになります。
これは、ニュージーランドのナショナルスタジアムであるエデン・パークで起きた出来事です。同スタジアムのDMARCレコードには2つの報告先アドレスが記載されていました。1つはDMARCベンダーのもので、期待通りに機能していました。もう1つはspamcontrol.co.nzというアドレスで、これは富士通が2021年6月に運用を終了したスパムフィルタリングサービスのドメインでした。このドメインはいつの間にか有効期限が切れていましたが、そのアドレスはその後も何年もの間、エデン・パークのレコードに残ったままでした。 SHコンサルティングは調査の過程でこのドメインを登録し、約1年間にわたり同スタジアムからのレポートを受信しました。エデン・パークは2026年8月にこのアドレスを削除し、その後、ドメインは富士通に移管されました。
なぜ誰も気づかないのか
こうした誤りは、目に見える不具合が生じないため、DNS内に何年も放置されたままになることがあります。メールの送受信は正常に行われ、DMARCもドメインを保護し続けます。レコードに2つ目のレポート先エンドポイントが記載されている場合、ベンダーのダッシュボードも同様にデータで埋まり続けていきます。この問題を発見する唯一の方法は、レコードそのものを確認することです。
このような事態が起こるもう一つの理由は、多くの組織がDMARCベンダーを利用していないことです。それらのレコードには自社のメールボックスしか記載されておらず、レポートはXMLファイルとしてそこに届きます。セキュリティ監査のためにXMLを手作業で読み解く人はいないため、これらは企業が届くメールの中で最も読まれないものになりがちです。 レポートの受信が途絶えても、特にチーム向けの定期的な更新情報として解析されていなかった場合は、誰も気づかないでしょう。これが、サードパーティ製のDMARCモニタリングを導入すべき最も強力な理由です。つまり、データを実際に理解している担当者に責任が委ねられるからです。
何が危険にさらされているのか
集計レポートはXMLファイルの形式で提供され、送信元IPごとに1行ずつ記載されています。各行には、IPアドレス、メッセージ数、SPFおよびDKIMの結果、各チェックで使用されたドメインが含まれます。1か月分のこれらのレポートを確認すれば、どのメールプラットフォーム、CRM、ヘルプデスク、請求システムがどのドメインに代わってメールを送信しているかが分かります。また、送信量、使用中のサブドメイン、およびどの送信ストリームが認証に失敗しているかも把握できます。
多くの人は、集計レポートには自分の送信元に関する情報しか記載されていないと思い込んでいますが、実際には、こうしたレポートには多くの人が予想する以上の情報が含まれています。マイクロソフトなど一部の受信者は、受信者のドメインを記載したオプションの「envelope_to」フィールドを付加しています。このフィールドが含まれているレポートでは、その企業が顧客、販売代理店、パートナーなど、誰にメールを送信しているかも、ドメイン別および送信量別に確認できます。
rufアドレスに送信される配信失敗レポートは、さらに詳細な情報を含んでいます。個々のメッセージのヘッダーが含まれるほか、場合によっては本文も含まれることがあります。多くの大手メールボックスプロバイダはもはや配信失敗レポートを送信しなくなっていますが、依然として数十の受信者が送信を続けています。
攻撃者にとって、これは、あるドメインに対して送信が許可されているサードパーティ製サービスのリストであり、認証が脆弱であるか、あるいは認証自体が存在しない箇所のリストでもあります。これらのサービスはそれぞれ、価値の高い標的となります。多くの場合、これらのサービスはパスワードのみで保護されており(SSOやMFAは導入されていない)、攻撃者がこれらのサービスのいずれかで企業のアカウントを乗っ取れば、認証を通過したメールを送信することが可能になります。
レポートに受信者ドメインが含まれている場合、それらは組織が取引を行っている顧客、パートナー、ベンダーのリストにもなり、そのそれぞれがフィッシング攻撃の格好の標的となります。送信量、送信日、プラットフォームといった情報は、その企業の通常のメールがどのようなものかを示しており、これにより、攻撃者はそれらの連絡先に対してブランドを装うことが容易になります。これらすべてにより、攻撃者は事前調査の手間を省くことができます。
このケースでは役に立たないにもかかわらず、人々がよく頼りにしている保護策が2つあります:
- p=reject。このポリシーは、受信側に、処理に失敗したメールをどう扱うかを指示するものです。報告機能には影響を与えないため、このポリシーを完全に適用しているドメインでも、p=none を設定しているドメインとまったく同じ程度の情報が漏洩します。
- 外部宛先の検証。別のドメインにレポートを送信する前に、受信側は、そのドメインがレポートの受信を許可するDNSレコードを公開しているかどうかを確認します。入力ミスや有効期限が切れたドメインを登録している者であれば誰でも、そのDNSを管理しており、1分もあればそのレコードを公開することができます。
ベンダーの視点:dmarcian プロフェッショナル・サービス担当ディレクター、アッシュ・モリン氏
ベンダー側から見ると、この問題はめったに起こりません。dmarcianが監視しているすべてのドメインのうち、現在、誤ったdmarcian報告アドレスを公開しているのは1つだけであり、そのアドレスが指し示すドメインは現在、当社が管理しています。しかし、たった1つでもあれば十分です。もし他の誰かがそのドメインを登録していたら、それらの報告はそのままその相手に届いていたでしょう。
dmarcianは、agdmarcian.comおよびfrdmarcian.comを恒久的に登録し続けます。当サイトへのリンクを指定するすべてのレコードが修正された後も、一度起きたミスは再び起こる可能性があるため、その隙を埋めておくことを優先します。他のタイプミスドメインが見つかった場合も、同様の対応を行います。
ただし、ドメインを所有しても、対応できるのは既知のタイプミスに限られます。どのベンダーも自社名のあらゆるスペルミスを登録することはできないため、作業の大部分はミスを未然に防ぐことに費やされています。数年前、当社は「ag.us.dmarcian.com」のような地域別のレポート用アドレスを導入しましたが、これにより顧客による入力ミスが減少していることが確認されています。 当社のオンボーディングでは、お客様がレコードを正しく公開できるよう手順を案内しており、お客様のドメイン上のRUAs()およびRUFs(ruf)アドレスを監査し、それらが正しい場所を指していることを確認しています。
これらの監査は、当社のシステム内のドメインのみを対象としています。お客様がアカウントを解約する際、さまざまな理由によりDNSレコードを更新しない場合があります。その時点で、当社側ではもはや追跡できなくなります。ベンダーを解約する際は、そのベンダーの報告用アドレスを削除してください。そのまま残さないでください。
DMARCデータには個人情報がほとんど含まれていないため、集計レポートは害がないとよく考えられています。しかし、それは本質を見誤っています。リスクは個々の行にあるのではなく、その「パターン」にあるのです。ここ数年、私は100件以上のDMARC導入に携わってきました。 そのすべてにおいて、MFA(多要素認証)やSSO(シングルサインオン)の対象外となっているログインを持つサードパーティ製サービスが、少なくとも1つは存在していました。これらは、IT部門以外で誰かが設定し、誰も管理していないツールであることがよくあります。レポートを解析する攻撃者が真っ先に狙うのは、まさにこうしたアカウントなのです。
レポート用エンドポイントの監査方法
- 所有しているすべてのドメインおよびサブドメインについて、rua および ruf のアドレスを すべてリストアップしてください。パークドメインや、CNAMEを通じて共有レコードを継承しているドメインもすべて含めてください。
- 各ドメインが登録されているか、また登録者が誰であるかを確認してください。所有者の氏名やそのアドレスが記載されている理由が特定できない場合は、そのドメインを無効なものとして扱ってください。SH Consultingの無料サービス「Dangling DNS Check」は、DMARCおよびSPFレコード内に含まれる未登録ドメインを報告します。
- ベンダーの住所を、ベンダー自身の資料と一文字ずつ照合してください。まずは、ピリオドの抜けがないか確認することから始めましょう。
- 誰も閲覧しないアドレスを削除する:これには、もう利用していないサービス、以前の代理店やITプロバイダー、かつての会社のドメインなどが含まれます。
- ドメインの有効期限が切れる前に、DNSを検索してください。そのドメインを指しているレコードがまだある場合は、有効期限が切れる前にレコードを修正するか、ドメインの登録を継続してください。
この監査プロセスは、少なくとも年に1回、またベンダーの変更、ブランド変更、または企業の買収を行う際にも実施してください。
本記事の共著者であるアレックス・シャホフ氏は、メールの配信率とセキュリティに関するコンサルティング会社「SH Consulting」の創業者です。同氏のチームは、スタートアップからマルチテナント型メールプラットフォームに至るまで、さまざまな送信者の受信トレイへの到達率、ブロックリスト登録、認証に関する問題を解決しています。
私たちがサポートします
メールセキュリティのエキスパート集団であるdmarcianは、「ドメインセキュリティを通じて、メールとインターネットをより信頼できるものにする」というミッションを掲げ、お客様の組織のドメイン状況を評価し、長期にわたってDMARCの実装と管理をサポートいたします。
さらに詳しく議論を続けたい方は、ぜひ dmarcian Forum へお越しください。
この記事は気に入っていただけましたか?