PowerDMARC

DKIM脆弱性とは?DKIM l=タグの制限の説明

DKIMの脆弱性
読書時間 6

DKIMのl=タグ(小文字の "L")は、署名されるべきメッセージ本文の長さを指定するオプションのタグである。l=タグはメッセージ本文の部分的な署名を可能にするので、これはDKIMの脆弱性と考えることができる。これにより、脅威者はDKIM署名メッセージを悪用しやすくなります。 

どのように DKIMの仕組みと、DKIM署名にDKIM l=タグを使うことを推奨しない理由を説明しましょう。

DKIMボディの長さ制限の目的 (l=タグ)

DKIM(DomainKeys Identified Mail)は、メールの内容が送信中に変更されていないことを保証するメール認証プロトコルです。これにより受信者は、メールが確かに送信され、そのドメインの所有者によって承認されたことを確認することができます。

仲介サーバーがあなたのメッセージを転送する際、メッセージ本文を変更することがあります。フッターやメッセージの内容に追加情報を加えるかもしれません。DKIM lタグは、転送中やメーリングリストによって内容が変更された場合に、あなたの正当なメッセージがDKIMに失敗するのを防ぐために導入されました。 

DKIM l=タグの仕組み

  1. 長さの指定:長さの指定 l=タグの後には、DKIM署名でカバーされるメッセージ本文のバイト数を示す整数が続く。
  2. パーシャルボディサイン:長さを指定すると、本文の最初の「n」バイトだけがDKIM署名の生成に使われるハッシュに含まれます。この長さを超えて本文に変更を加えても、DKIM署名の検証には影響しません。

例lタグDKIM脆弱性を使ったDKIM署名

本文が1000バイトで、最初の500バイトだけが署名されている電子メールを考えてみよう:

DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=notify.domain.com; s=selector1; t=1718098168; i=@notify.domain.com; l=500; bh=SF9K/AZh8dO2XDYZlOtjrmHj5txv4H4qjhFr+q3ASuM=; h=件名:Message-ID:To:Date:Content-Type:From:To:Cc:Subject; b=h0Jp5xjZSjUo06er2Gm5k0Fvt0cuC0xOnfobu1oYAFT2ugVxY0h/xly6x/E/pPT2S

この例では l=500は、メール本文の最初の500バイトだけがDKIM署名に含まれることを示しています。

しかし、ヨーロッパを拠点とする大手ドメインレジストラ、 Zone.euのアナリストチームは、DKIMシグネチャのlタグに関連する深刻な脆弱性を発見した。lタグは、メール転送のシナリオにおける利点よりも、DKIMチェックをパスするフィッシングメールを送信するために、サイバー犯罪者によって簡単に悪用される可能性があります。

DKIM l= タグ脆弱性

DKIM l=タグの使用は、セキュリティ体制を弱める可能性があり、メール認証が設定されていてもドメインが攻撃に対して脆弱になるため、お勧めしません。 

攻撃者はメール本文の内容を変更し、"l "タグで定義されたバイト範囲を超えているメールの署名なし部分に悪意のあるファイルやリンクを添付することができます。このメールが受信者に届くと、DKIM検証を通過します。その後、お客様のドメインでDMARCが有効になっていれば、このメールもパスします。 

受信者はあなたのドメイン名を信用してこのメールを開き、また新たなフィッシング攻撃の被害に遭うかもしれません!これは、深刻なプライバシーの侵害、クレデンシャルの盗難、貴社の信頼性の喪失を引き起こす可能性があります。その過程で顧客が金銭的な損失を被った場合、貴社は金銭的な賠償責任を負う可能性さえあります。 

DKIMの脆弱性を悪化させたBIMIの役割 

BIMIは新興のプロトコルであり、電子メールにブランドロゴを付加できることから、セキュリティ業界とマーケティング業界の両方で人気を集めている。少し前に、GmailやApple Mailのような主要な電子メールプロバイダーは、電子メールをプロフェッショナルに見せ、視覚的な検証を通じてセキュリティを強化するために、BIMIのサポートを拡張しました。 

署名にDKIM lタグを使用しているドメインから送信された偽造メッセージがDKIMとDMARCのチェックを通過すると、ブランドのBIMIロゴもこれらの悪意のあるメールに添付されます!これで、あなたのドメイン名から送信されたこの偽メッセージは、すべての認証フィルターをパスするだけでなく、あなたのブランドロゴも添付されることになります!これにより、受信者がその信頼性を信用する可能性がさらに高まります。 

DKIM l=タグは悪用される可能性があるため、GmailのGoogle Admin Workspaceヘルプセンターでは、DKIM l=タグの使用を強く推奨しています。以下は Googleのコメント:

「Google Workspace以外のメールシステムでDKIMを設定している場合は、送信メッセージにDKIMの長さタグ(l=)を使用しないでください。このタグを使用したメッセージは悪用されやすくなります。"

DKIM lタグに関連するリスクは、さらに次の中で強調されている。 RFC 6376セクション8.2Body Length Limits ("l="タグ)の誤用」と題されています。RFCは、DKIM署名にlタグを指定すると、ユーザが警告なしに悪意のある電子メールコンテンツにアクセスする可能性があると警告しています。RFCは、DKIM署名者にこのタグの存在に細心の注意を払うよう促し、また、l=タグが指定されたDKIM署名を完全に無視するようサーバーを評価するよう説いています。

DKIM署名にlタグDKIMの脆弱性がないか確認する 

まず、あなたのドメインが脆弱かどうかを判断することが重要です。そのために利用できる方法を以下にいくつか挙げておく: 

手動の方法:オリジナルのDKIM署名ヘッダーをチェックする 

1.自分宛に空メールを送信する(今回はGmailユーザーを例にしています)。

2.このメールを開いてください。

3.右上にある3つの点で示される "more options "に進む。

4.Show original "をクリックする。

5.オリジナルメッセージページで、下にスクロールして生のヘッダーを見る。 

6.DKIM-Signature:」セクションに移動し、構文を分析する。DKIM l=タグがDKIM署名ヘッダーに存在する場合、あなたのドメインは脆弱である。それがない場合は、問題なく、対策を講じる必要はない。 

自動化された方法メールヘッダー解析ツールの使用

1.PowerDMARC にサインアップして無料トライアルを受ける。分析ツール > MailAuthアナライザーに進みます。 

2.自動生成されたメールアドレスをコピーし、Gmailの新規テストメールの受信者として貼り付けます。テストメールを送信する。 

3.ポータルに戻り、ページを更新する。アクションセクションの「表示」アイコンをクリックし、結果を確認してください。 

4.DKIM、SPF、DMARCのコンフィギュレーションやその他の情報を含む集計レポートを即座に作成します! 

5.スクロールダウンして、DKIM署名ヘッダーを生フォーマットと解析済みフォーマットで表示できます。ここで、あなたの署名にl=タグが存在するかどうかを判断できる。l=タグが存在する場合、この脆弱性を除去するための措置を講じる必要があります。 

例lタグDKIM脆弱性のないDKIM署名

DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=notify.domain.com; s=selector1; t=1718098168; i=@notify.domain.com; bh=SF9K/AZh8dO2XDYZlOtjrmHj5txv4H4qjhFr+q3ASuM=; h=件名:Message-ID:To:Date:Content-Type:From:To:Cc:Subject; b=h0Jp5xjZSjUo06er2Gm5k0Fvt0cuC0xOnfobu1oYAFT2ugVxY0h/xly6x/E/pPT2S

DKIMの脆弱性を防ぐ:DKIMのベストプラクティスとは?

DKIMプロトコルを最大限に活用したい場合、当社の専門家が推奨するヒントをいくつかご紹介します: 

  1. DKIM署名ヘッダーにDKIM l=タグを使うのは避けましょう。 
  2. メールサービスプロバイダに連絡して、DNSに追加する新しいDKIM公開鍵(l=タグなし)を設定してもらいましょう。 
  3. DKIM鍵を定期的にローテーションし、lタグ脆弱性のある古い鍵を、この脆弱性のない新しい鍵に置き換えられるようにする。 
  4. DKIMメールのセキュリティを強化するために、1024ビットの代わりに2048ビットのような強力なDKIMキーを使用することができます。 
  5. ホストされた ホスト型DKIMソリューションを使用して、DKIMセレクタとキーを管理し、単一の集中ダッシュボードからDKIM認証結果を監視します。
  6. 自動DKIM生成ツールを使ってDKIMキーを作成する DKIMジェネレーターツールを使ってDKIMキーを作成してください。こうすることで、見落としがちな構文エラーを避けることができます。

DKIMを補完するプロトコル

DKIMの有効性を高めるには、以下のプロトコルを実装することができます(最後にボーナス勧告もあります!): 

  1. 使用 ARC (認証済み受信チェーン)を使用することで、転送時やメーリングリスト使用時でも、正当なメールが認証チェックを通過するようになります。これにより、DKIM l=タグの必要性が自動的になくなります。ARCは自動的にメッセージのオリジナルヘッダを保存し、誤認識を防ぎます。
  2. SPFやDMARCのようなフォールバック・メカニズムを設定して、認証の精度と全体的なセキュリティを高めましょう。 
  3. 有効にする DMARCレポートを有効にすると、メールチャネルと送信元を追跡できます。DMARCレポートにより、悪意のあるIPアドレスや送信者を検出し、迅速に対策を講じることができます。

これらのベストプラクティスを遵守することで、組織はメールセキュリティ体制を大幅に強化し、ドメインのレピュテーションを保護することができます。l=タグは、送信中に変更される可能性のあるメールを柔軟に処理することができますが、ドメインのセキュリティを弱める可能性があります。そのため、様々なメールプロバイダ、業界の専門家、組織とともに、私たちもl=タグを推奨していません。ドメインセキュリティとメール認証サービスについてもっと知りたい方は お問い合わせまでご連絡ください!

モバイル版を終了する