
read receipts
みんなが自慢する南京錠は、開いたままのドアにかかっている
あなたの銀行はDMARCを導入している。航空会社も同じだ。でもほぼ何の役にも立っていない。その証拠は、たった一語の設定に隠されている。
DMARCレコードを公開しているドメインのほぼ9割が、p=noneに設定されている。これはあなたのドメインを詐称している者が誰かを世界に教え、その者をそのまま通す設定だ。Red Siftが過去ten年間を分析した結果、実際にDMARCを厳格に運用しているのは数年間にわたって一桁のパーセンテージにすぎず、楽観的なベンダー数値でさえ大多数のレコードがnoneのままだ。
その単語に隠された冗談がここだ。RFC 7489で規定されるDMARCは、受信メールサーバーが、あなたのドメインを名乗るメッセージが基礎となるチェックに失敗した場合に「何をすべきか」を決める機能だ。そのチェックとはSPF(このサーバーはあなたの代わりに送信する権限があるか?)とDKIM(このメッセージはあなたによって暗号学的に署名されているか?)のことだ。DMARCはこの上に座って判定を下す。p=noneは判定ではない判定だ。こう言っている:詐欺に気付きなさい、詐欺をログに記録しなさい、詐欺についてのレポートを私に送りなさい——そしてとにかく配信しなさい。
電池を抜かれた火災報知機は天井にかかったままだ。保護に見える。保護に写る。ただ台所が火事になっても鳴らないだけだ。
実際に効く設定は二つある。p=quarantineは不正なメールをスパムに移動させ、p=rejectは受信者に到着前にそれをバウンスするよう指示する。これがすべてだ。billing@yourbank.exampleを詐称したスパマーは、その銀行がrejectを公開している場合にだけ壁にぶつかる。銀行がnoneを公開していたなら——ほとんどがそうだったのだが——その詐称メールはまるで本物そっくりに見えながら受信箱に滑り込む。本物のウェブサイトから直接引っ張ってきた本物のロゴまで付けて。
なぜみんなnoneで立ち止まるのか。noneが安全な最初のステップだからであり、安全な最初のステップは永住地になってしまう傾向があるからだ。あなたはそこから始めて、レポートを読み、あなたに代わって送信している正当なサービスのすべて——給与計算ベンダー、マーケティングプラットフォーム、誰も書き留めていないチケッティングツール——を見つけて、すべてが正しく署名するようにしてから、その後rejectに厳格化するはずだった。その最後の移行が怖いのだ。まだ認証されていない送信者が世の中に残っているままrejectに切り替えると、自分たちの請求書をブラックホール化させてしまう。だからチームはレコードを公開し、監査人に対応済みだと伝え、二度と仕上げに戻ることはない。レポートメールは未読のままたまる。電池は入ったままだ。
被害を受けるのはあなただ。メッセージを読んでいるあなただ。信頼できるブランドがDMARCをnoneのままにしておくと、「それは彼らの本物のドメインから来た」という意味は何もなくなる。なぜなら犯罪者の詐称メールが同じ目視テストを通るからだ。これはまさにxmailが受信側で目を光らせている隙間だ:メッセージが認証に完全に失敗していても、そのユーティリティ会社を装って到着できるのは、そのユーティリティ会社が偽物を拒否するよう取引先に伝えたことがないからだ。
こんなテストをわずかな時間で実行できる。あなたを怖がらせた「不審なアクティビティ」メールを送ってきたどのブランドでもいい。公開DMARC検索を引き出して、そのドメインを貼り付ける。ポリシーがp=noneと表示されたなら、その会社は受信者に詐称をコピーしてそれについて何もしないよう求めているのだ。何百万ものドメインが毎日そっと同じリクエストを行っている。
修正はもっと多くのテクノロジーではない。noneからrejectに一語を変える勇気だ。アラームはすでに煙を見ている。誰かが電池をもう一度入れるだけいい。