はじめに
近年、Google社のDMARC強要をきっかけにメールセキュリティに関する注目度が上がってきました。業務でDMARCとBIMIの両方の導入に携わった経験をもとに、両者の役割の違いについて整理してみたいと思います。
本記事ではあくまでも両者の性質と導入目的に絞って整理するため、実際の導入手順や必要以上に技術的な解説を提供するものではありません。
筆者の属性
しがないCSIRT要員(非技術系)です。普段はインシデント対応や脆弱性管理等の業務に従事しています。
DMARCとは
数多の情報がインターネットで見つかりますが、本記事での定義の確認として説明します。
DMARC(Domain-based Message Authentication, Reporting, and Conformance)とは、なりすましメール防止技術の一つです。
1. 前提知識
DMARCを理解するには、メール送信者の認証技術であるSPF(Sender Policy Framework)、DKIM(Domain Keys Identified Mail) の2つの仕組みについて抑える必要があります。詳しくは割愛しますが、SPFはIPアドレスを利用した認証、DKIMはディジタル署名を利用した認証です。
重要なのは、両者とも
「送信元ドメインが企業Aのメールを受信した際、そのメールが本当に企業Aから送信されたものか」
を検証する技術、ということです。
2. DMARCが担うこと
DMARCの役割は下記の2つです。
- 追加認証
- 認証失敗時におけるメール処理の指示
追加認証(いわゆるDMARC認証)とはSPF・DKIM単体ではカバーできていないヘッダーFromに関する認証です。この辺りは少し複雑であり、本題とも逸れるのでこれも割愛します。
重要なのは、認証失敗時におけるメール処理の指示です。
DMARCポリシーと呼ばれる"指示"を企業AのDNSに登録することで、企業Aのなりすましメールを受信したユーザーXでの動作を企業Aが指定することができます。
つまり、企業Aの顧客であるユーザーXが、「SPF・DKIMに失敗した、企業Aのドメインからのメール」を受け取った際、つまりなりすましメールを受信した際に、ユーザーXは企業Aのポリシーに従ってそのメールを扱うことができます。
ポリシー | 受信側の動作 |
---|---|
None(指定なし) | 通常通り受信 |
Quarantine(隔離) | 迷惑メールフォルダに振り分け |
Reject(破棄) | メール受信を拒否 |
これまでユーザー側で委ねられてきたなりすましメールの扱いを、企業側で指定可能としたのがこのDMARCです。
DMARCポリシーをQuarantineもしくはRejectに設定することで、ドメインをなりすましたメールはユーザー画面に表示させないようにすることが可能です。
BIMIとは
少し複雑なDMARCの説明をしましたが、BIMIは単純です。
BIMI(Brand Indicators for Message Identification)とは、DMARC認証に成功したメール、つまりなりすまされていないメールを受信したユーザーのメールボックス上で、自社のブランドアイコンを表示させる仕組みです。
例えば企業AがBIMIを導入した場合、ユーザーXのメールボックスでは企業Aからの正規メールには企業Aのブランドアイコンが表示されることになります。
下記は筆者のGmailの受信ボックスですが、BIMIを導入している楽天からのメールにはアイコンが表示され、反対にBIMIを未導入のじゃらんnetからのメールは人物のようなデフォルトアイコンになっています。
ただし注意点として、表示されるのはあくまで受信者側のメールクライアントがBIMIに対応している場合のみとなっており、BIMIを導入することで全ての顧客へ100%効果があるものではありません。
また、BIMIを有効化するにはDMARCポリシーをQuarantine(隔離)もしくはReject(破棄)まで引き上げていることが前提となります。
本題
ではなぜDMARCとBIMIという両方の仕組みが必要なのでしょうか。といっても簡単な話で、対象としているなりすましメールの性質が異なっているからです。
なりすましメールとは
なりすましメールと一口に言っても、どのようにユーザーに正規メールと誤認させるかによってやり方は異なります。
送信元情報によって、なりすましメールは以下の3種に大別できます。
- ドメインの完全偽装
- 類似ドメインによる偽装
- ドメインを偽装しない
1ではヘッダFrom等を正規のドメインに完全に偽装し、2では正規のドメインと誤認するようなドメイン、例えばcompanyA.comが正規ドメインの場合、company-A.comやcampanyA.com、company-A.com.xyz等を利用します。
3ではドメインの偽装はせず、全く関係ないドメインやランダムな文字列等を利用します。
DMARCとBIMI、それぞれのカバー領域
DMARCでカバーできるのは、あくまで 「ドメインを完全に偽装された場合」、つまり前述の1のみです。これは自社DNSに問い合わせが来る≒送信されたメールに自社のドメイン情報が付与されている場合のみDMARCポリシーの統制が効くためです。
つまり類似ドメインによる偽装やドメインを偽装していないなりすましメールはこれまで通り受信できてしまうということです。
反対に、BIMIは「正規メールにアイコンを表示する仕組み」ですので、非正規のなりすましメール全てを対象とした対策の仕組みと解釈できます。
厳密にはBIMIはなりすましメールの受信を防ぐことはできず、判断がユーザーに委ねられる点はこれまでと同様です。しかしアイコン有無を確認することはユーザーのリテラシーに関わらずある程度容易ですので、ドメインを念入りに確認しなければならない状況から比較すると遥かに判別が簡単になっているのが分かると思います。
このように、DMARCとBIMIの性質の違いを踏まえた上で、実際の導入について検討していくことが重要だと筆者は考えます。
最後に
なりすましメール対策は自社と顧客、その両者を守るための施策です。
サービスの性質に大きく左右される部分ですが、例えば大手金融機関であれば、顧客は年齢や職業に関わらず数十万から数百万、あるいはそれ以上に登るでしょう。
当然顧客のリテラシーにも大きなバラつきがあるため、「ドメインを見分けてなりすましメールをい判別してください」なんてアナウンスはほぼ意味を成しません。反射的に開いてしまうユーザーや、電子メール自体に慣れていないユーザーも沢山いることでしょう。
そんな中で企業ができる最前の取り組みは「仕組みで止める」こと以外になく、いまやDMARCとBIMIはそのゴール的な存在です。
自社になりすましたメールで顧客が大きな損失を負った場合、その責任が自社にないと言い切れるでしょうか。仮に言い切れたとしても、レピュテーションリスクの観点では理論よりも消費者のイメージや先入観が重要視され、ブランドイメージの毀損や信用失墜にも繋がります。
本記事が、DMARCやBIMI導入の一助となれば幸いです。