DKIM リプレイ攻撃に備える(署名ヘッダーを From だけにしない)
正規の DKIM 署名が付いたメールを攻撃者が再送すると、DMARC が p=reject でも認証に通ってしまう。署名対象のヘッダーを From だけにしていると、件名や Content-Type を書き換えたまま「本物」として届き、BIMI のロゴや公式マークまで表示される。
何が起きたか(2026-10 国内の事例)
- 正規企業を装ったフィッシングメールが DMARC を通過し、ドコモメールの公式アカウントマークや BIMI のブランドロゴ付きで表示された。NTT ドコモが「一部企業の送信ドメイン認証の設定に脆弱性がある」と注意喚起し、該当企業の公式表示を一時停止した。
- 公開されたヘッダー分析では、DKIM-Signature の
h=タグがFrom:Fromだけで、Subject や Content-Type が署名対象外だった可能性が指摘されている(関係企業の最終調査結果ではない)。 - DKIM が確かめるのは「署名が正しく、署名した範囲が改変されていないこと」だけで、いま送ってきたサーバーが正規かどうかは見ない。DMARC は SPF か DKIM のどちらかがアライメント付きで通れば成功になるので、SPF が外れていても通る。
やること(送信側)
- 署名ヘッダーを広げる: RFC 6376 は From だけを必須にしているが、表示や処理に影響するヘッダーの署名を強く推奨している。最低限次を
h=に入れる。From,Subject,To,Cc,Date,Message-ID,Reply-To,Content-Type,MIME-Version- あとからヘッダーを足されないよう、重要なヘッダーは 2 回並べる「オーバーサイン」(例:
h=From:From:Subject:Subject:...)も検討する。
- 外部の配信サービスも全部確認する: メルマガ、フォームの自動返信、会員登録通知、請求・決済通知など、自社ドメインで署名している SaaS ごとに署名ヘッダーの設定を確かめる。受信したメールのヘッダーで
DKIM-Signature: ... h=を見るのが一番早い。 - 「任意の宛先に正規署名メールを送らせる」入口を潰す: 問い合わせフォームの自動返信のように、第三者が好きなアドレス宛てに署名付きメールを出させられる機能は、攻撃者が署名済みメールを手に入れる手段になる。重要通知とは送信ドメイン(サブドメイン)を分ける。
- 署名に有効期限を付ける:
x=タグで署名の期限を区切り、古い正規メールを長く使い回されないようにする。鍵の定期ローテーションも合わせて行う。 - DMARC レポートは「成功したメールの送信元」を見る: リプレイでは認証は成功する。DKIM は通っているのに SPF のアライメントが外れている、普段使わない IP から急に大量に出ている、といった偏りを集計レポートと送信ログで追う。
注意点
- 期限付き署名やローテーションだけでは防げない(期限内の再送は通る)。署名範囲・送信経路の管理・監視の組み合わせで考える。
- 正規の転送でも「DKIM 成功・SPF 不一致」は起きるので、IP だけで攻撃と断定しない。
- 受信側・利用者側では、ロゴや公式マークが出ていても安全の保証ではない。リンク先や送信者の振る舞いまで含めて判断する。
出典
- @yousukezan · 2026-10-19
- Proofpoint「DMARCを通過するフィッシングメールの落とし穴:DKIMリプレイ攻撃の仕組みと企業が取るべき対策」(2026-10-18): proofpoint.com