標的型攻撃への対抗策として、最近は、ある程度のウイルス侵入を前提とした、いわゆる出口対策の有効性が主張されている。出口対策の有効性を否定するものではないが、ここでは出口対策はひとまず置き、標的型攻撃の端緒となる「なりすましメール」を防ぐ入り口対策と、さらには標的型攻撃の発信元にならないための対策という切り口で、安全なメール基盤、システムの実例を解説する。

 第1回で指摘した通り、なりすまし対策に有効な技術は存在しないかというとそんなことはない。まずは、メール送信者を確認するための技術である「送信ドメイン認証」について、その概要と有効性を見てみよう。

なりすまし対策に有効な送信ドメイン認証

 送信ドメイン認証とは、受信されたメールが確実にそのドメインのメールサーバーから発信されているということを受信メールサーバー側で検証するための技術だ。方式としては、メールヘッダに記された電子署名を利用する「DKIM」と、送信元IPアドレスを利用する「SPF/Sender-ID」とがある。

 DKIMは、「RFC6376 DomainKeys Identified Mail(DKIM) Signatures」(Draft Standard:標準化への草稿)として公開されている技術であり、メールヘッダに記載された電子署名とDNS(Domain Name System)上に公開されるそのドメインの公開鍵を基に、送信メールサーバーの正当性と、指定されたメールヘッダおよび本文に改ざんがないことを確認する技術である。

 一方、SPF/Sender-IDは、「RFC4408 Sender Policy Framework(SPF) for Authorizing Use of Domains in E-Mail, Version 1」および「RFC4406 Sender ID: Authentication E-Mail」(Experimental:実験的)として公開されている。メールの送信元ドメインとそのドメインのDNSに公開された「Sender Policy Framework(SPF)レコード」や「テキスト(TXT)レコード」を基に、送信元メールサーバーが正当であるかどうかを確認する。

 このように送信ドメイン認証では、送信側と受信側の対応が相まってその効果を発揮する。どちらか一方が欠けても完全な対応ができなくなる。現在、送信側受信側とも普及促進のための活動が続けられている。

 米国のインターネット・サービス・プロバイダ(ISP)やアプリケーション・サービス・プロバイダ(ASP)では、既に送信ドメイン認証を用いた受信側での優先受信などの仕組みを導入しているところもある。近い将来、送信ドメイン認証技術を正しく利用することにより、企業においても、ドメインの詐称を排除できるようになることを期待したい。

 なりすまし対策としては、DKIMやSPF/Sender-IDなどの送信ドメイン認証の認証結果を用いたフィルタリングが効果を発揮する。

 DKIMの場合、送信側で付けられた「DKIM-Signature」ヘッダを取り出して署名を照合し、その結果を「Authentication-Results」ヘッダに記載する。図1は「dkim=pass」となり認証に成功した際のメールのヘッダの例だ。この「dkim=文字列」の文字列部分が認証結果を表す。passのほかに、「none」「neutral」「policy」「fail」といった文字列が入る(表1)。

図1●メールヘッダに付与された「DKIM-Signature」と「Authentication-Results」の例
図1●メールヘッダに付与された「DKIM-Signature」と「Authentication-Results」の例
[画像のクリックで拡大表示]
表1●DKIMにおけるAuthentication-Resultsヘッダの文字列の意味
表1●DKIMにおけるAuthentication-Resultsヘッダの文字列の意味

 DKIMはSPFとは異なり、そのドメインがメールに署名する際のポリシーを公開する枠組みが存在しない。DKIMの認証結果、特に認証が失敗した場合にその結果を利用するには、送信ドメイン側でメールに署名する際、全メールに署名なのか、一部メールにだけ署名しているのか、署名してなかったら捨てて良いのかなどを知る必要がある。

 これを補足するために、「RFC5617 DomainKeys Identified Mail(DKIM) Author Domain Signing Practices(ADSP)」(Proposed Standard:標準化への提唱)が公開されている。DKIM-ADSPとは、DKIMの認証結果に送信ドメインが公開する署名ポリシー(ADSP)を加味して認証する仕組みである。