SpamChannel: 200万以上のドメインからスプーフィングメールを送り、事実上サタンになる [PDF]
(media.defcon.org)- DEFCON 31 2023の発表 SpamChannel は、Cloudflare Workerでメールを送ろうとする試みの中で、200万以上のドメインを対象としたスプーフィング問題を扱う
- 中核となる実験は、メール送信を手作業ではなく プログラム方式 で処理し、Workerのデプロイフローに接続するところから始まる
- Cloudflare Workersは、JavaScript、TypeScript、WASMベースの サーバーレスコンピューティング 環境として紹介される
- 基本手順は
npm create cloudflare@latestでプロジェクトを作成し、npx wrangler deployでデプロイする流れ - Workersからメールを送る手がかりは、Cloudflareブログの MailChannels連携 の記事へとつながる
SpamChannel発表の出発点
- SpamChannel は、DEFCON 31 2023でMarcello Salvati(@byt3bl33d3r)が発表したPDFで、200万以上のドメインからスプーフィングメールを送るというテーマを扱う
- 発表の目標は、次の条件でメール送信を実装すること
- メールを プログラム方式 で送る
- Cloudflare Worker経由で送る
- 法的責任に関して「犯罪をするな」という 免責事項 が含まれる
Cloudflare Workersとメール送信の手がかり
- Cloudflare Workers はサーバーレスコンピューティング環境として紹介され、JavaScript、TypeScript、WASMを使用する
- 基本的な利用フローは次のとおり
npm create cloudflare@latestworker.jsを作成npx wrangler deploy- デプロイ後、
https://<YOUR_WORKER>.<YOUR_SUBDOMAIN>.workers.dev形式のアドレスでWorkerを利用可能
- スタート文書は Cloudflare Workers Get started guide につながっている
- メール送信の手がかりは、Cloudflareブログの Sending email from Workers with MailChannels で確認できる
1件のコメント
Hacker News のコメント
発表動画: https://www.youtube.com/watch?v=NwnT15q_PS8
またはこちらにもあります。私の Firefox では動画形式が再生できませんでしたが、VLC では再生できました: https://media.defcon.org/DEF%20CON%2031/DEF%20CON%2031%20vid...
https://www.youtube.com/watch?v=61PIOBp30vA
https://www.youtube.com/watch?v=eODw4t4WaCw
SPF は、この発表で扱われたものよりはるかに多くの形で壊れています。メールセキュリティ強化/到達率支援エンジニアとして働いている立場から言うと、助言は常に SPF よりも DKIM + DMARC に集中すべき、というものです
レガシーな理由から SPF は依然として必要ですが、到達率やなりすまし防止でこれに依存すべきではありません
スライド 54 は DKIM + DMARC がこの攻撃には役立たないとしていますが、完全に正しいわけではありません
委任したすべての送信者に DKIM を設定した場合にのみ、DMARC の
p=rejectポリシーを安全に有効化でき、そのレベルに達すれば SPF で?のニュートラル修飾子を使い、サードパーティ送信者について SPF を外し始めることができますたとえば
v=spf1 include:relay.mailchannels.net ~allはv=spf1 ?include:relay.mailchannels.net ~allになりますこうすると MailChannels から来たメールは、DMARC 対応の受信者には SPF がニュートラルとして扱われ、DKIM を使うようになり、古いレガシーメールサービスもニュートラルの結果は受け入れるべきです
完璧な解決策ではありませんが、そもそもメールは 100% 信頼可能にも安全にもなり得ません
私は SPF を
$myIPだけ許可するよう設定してきました。私のドメイン名でスパムを送るには、まず ISP かレジストラを侵害する必要があり、そのレベルなら私のドメインの TLS 証明書も取得できるでしょう複数の送信システムを許可リストに入れなければならない大組織でも、DKIM レコードを偽造できない状況で、正当な SPF 送信者の 1 つになりすます方法が何なのか分かりません
投稿された発表のように、誰でも公開で使える IP 範囲を許可リストに入れるケースは、単に愚かな設定です
メール交換全体を偽装するには、数バイトのメール 1 通にテラバイト級のトラフィックが必要で、STARTTLS が強制されれば不可能になります
私たちは本番環境で Cloudflare Workers + MailChannels を使っています。ぞっとします
すでに CF Workers から実サーバーへ移す作業を進めていましたが、今度は MailChannels からも離れる必要がありそうです
セキュリティリスクは利便性に見合いません
_mailchannelsレコードを公開しない限り、Workers から MailChannels 経由でメールを送れません「DKIM 署名はないが DKIM を実装しているドメインから来たすべてのメールにバナーを表示する」というのは、私の理解ではほとんど不可能です。あるドメインがDKIM を実装しているかを確実に知る方法がないからです
理論上は
"_domainkey.example.com"に DNS クエリを投げて、NXDOMAIN か NOERROR かを見ることはできます。後者は通常、サブドメインが存在することを意味し、したがって DNS に DKIM キーがいくつかあることを意味し得ますしかしセレクタ名は分からず、そのキーが有効状態なのか、後で有効化しようとしているものなのかも分かりません
1 つのドメインに認証済み送信者が複数いて、一部は DKIM 署名を使うが一部は使わない、ということもあり得ます
すべての DNS サーバーが標準をきちんと守っているわけではないため、NXDOMAIN/NOERROR の区別もおおむねしか機能しません
引用された文は、MailChannels から来たメールのうち DKIM 署名のないものを拒否しよう、という意味に見えます
「MailChannels の主要顧客は、自分たちが送信するメールのドメインを所有していない Web ホスティング事業者だ」というのは、ここしばらく聞いた言い訳の中で最もひどいものです
Web ホスティング事業者は通常、ホスティングしているドメインを「所有」してはいませんが、どのドメインをホスティングしているかは明らかに把握しています。ドメインを顧客アカウント/ディレクトリへルーティングすることこそ、Web ホスティングの中核です
必要なのは、cPanel のような統合でドメイン一覧を報告し、各ドメインをランダム生成キーにひも付ける程度です
これはすべて、エンドユーザーを煩わせることなく自動化できるし、そうすべきです
DMARC 仕様が進化して、検証に SPF ではなく DKIM だけを使うようにできる方法があるとよい。残念ながら、Google Calendar の招待のようなものは今でも DKIM に失敗する
https://mailarchive.ietf.org/arch/msg/dmarc/PDktxOYkB28k6ukL...
ドメイン所有者が DMARC を使いながらも、「自分のドメインのトラフィックを本当に認証する仕組みは DKIM だけにしてほしい」と指定できるので、とても良いアイデアだと思う
業界には、SPF の解釈時点でしか分からない基準で認証を動的に調整する SPF マクロのように、SPF と DMARC の弱点を回避する方法が多い
しかし、どんな回避策も「自分のドメインでは DKIM だけを使ってください」と言うことには及ばない
最近、自分のドメインのメール設定を実際に経験した。特に「自分の機器からメールを送るにはビジネスアカウントでなければならない」と決めている ISP のせいで、気が狂いそうなほどもどかしかったので、こういう話は本当に腹が立つ
私はネットワークの責任ある一員になろうと必死に努力し、自分のシステムを正しく整えるために、現在の最新水準まで掘り下げて徹底的に調べた
それなのに、ああいう人たちが存在するだけでなく、事実上 オープンリレーのように軽く運用していて、インターネットのほぼ半分がそのツケを払っているなんて、あきれてしまう
要するに、多くの SPF レコードに含まれている オープンリレーを発見したという話
DEFCON の発表は巨大な穴の存在を証明したのではなく、インターネットメールの初期から存在していた事実を示したものだ
S/MIME や DKIM のようなメッセージ署名を使わなければ、送信者ドメインを十分に認証することはできない
DKIM があっても、DKIM 再送攻撃によって広範な悪用が可能になる
ARC ヘッダーがスパムスコアに与える影響が興味深い。個人メールサーバーを運用している立場としては、意味のない ARC ヘッダー一式を自分のメールに追加するだけで到達率を上げられるのだろうか?
組織的で知識のあるスパマーたちは、この手のものをすべて掘り下げているだろうし、突破に利用しているに違いない
これは 2022 年 5 月にもすでに確認されていたようだ: https://news.ycombinator.com/item?id=30533032
「私たちは広範なスパムおよびフィッシング検出能力を持っており、悪用に対処できる」
ああ、なるほど :D