メールスプーフィングとは?

メールスプーフィングは、攻撃者がメールを改ざんして正当な送信者を騙る場合をいいます。この手口はフィッシング攻撃でよく使われます。

学習目的

この記事を読み終えると、以下のことができるようになります。

  • メールスプーフィングが何かを理解する
  • メールスプーフィングの仕組みを学ぶ
  • メールスプーフィングに対する防御のヒントを得る

記事のリンクをコピーする

メールスプーフィングとは?

メールスプーフィングでは、攻撃者はメールヘッダーを使い、自分のアイデンティティを隠して正当な送信者になりすまします。(メールヘッダーは、送信者、受信者、追跡データなどメッセージに関する重要情報を含んだコードスニペットです。)

メールスプーフィングとは、メールのヘッダー情報を偽造する特殊な手口ですが、攻撃者は他の手口で同様の成果を上げることができます。例えば、攻撃者は、受信者がエラーに気づかないことを期待して、正規の送信者のドメインに酷似したメールドメインを作成することがあります。例えば、「@legitimatecompany.com」ではなく、「@1egitimatecompany.com」というドメインを使用することが挙げられます。攻撃者は、送信者になりすますために表示名を変更することもあります。例えば、「LegitimateCEOName@legitimatecompany.com」ではなく「LegitimateCEOName@gmail.com」から悪意のあるメールを送信するような場合です。

これらの手口の主な相違点は、メールスプーフィングが成功した結果が、スペルミスのあるドメイン(janeexecutive@jan3scompany.com)やドメインとまったく無関係のアドレス(janetherealceo@gmail.com)としてではなく、(cloudflare.comのような)正当なドメインとして見えることです。この記事では、ヘッダーを偽造したメールに特化してお話します。

メールスプーフィングは、ドメインスプーフィングという大きな括りに入ります。ドメインスプーフィングでは、攻撃者は通常フィッシング攻撃の一環としてWebサイト名(またはメールアドレス)を偽造します。ドメインスプーフィングはメール偽造に止まらず、偽のWebサイトや詐欺的な広告を作るのにも使われます。

メールスプーフィングの仕組み

攻撃者はスクリプトを使ってメールの受信者が見るフィールドを偽造します。それらのフィールドはメールヘッダー内にあり、送信者アドレス(“from”)と返信先アドレス(“reply-to”)を含みます。以下の例は、スプーフィングされたメールでそれらのフィールドがどのように見えるかを示しています。

  • 送信者: “Legitimate Sender” email@legitimatecompany.com
  • 返信先: email@legitimatecompany.com

これらのフィールドの偽造が可能なのは、メール伝送プロトコルの 簡易メール転送プロトコル(SMTP)にメールアドレスの認証方式が組み込まれていないからです。実際、送信者と受信者のメールアドレスはメール内の2か所に存在します。ヘッダーとSMTPエンベロープです。メールヘッダーには受信者が見るフィールドが含まれますが、SMTPエンベロープにはメールを正しいアドレスに配信するためにサーバーが使う情報が入っています。ただ、これらのフィールドが一致しなくてもメールの送信は可能です。SMTPエンベロープがヘッダーをチェックすることはなく、受信者はエンベロープ内の情報を見ることができないため、メールスプーフィングは比較的簡単にできるのです。

スプーフィングされたメールは正当な送信者から来たように見えるため、受信者は騙されて、機密情報を漏らしたり、悪意のあるリンクをクリックしたり、本来ならしないようなことをしてしまったりする場合があります。このため、メールスプーフィングはフィッシング攻撃でよく使われます。

中には、攻撃者がスプーフィングしたメールドメインの信ぴょう性を上げようとして他の方法を使うこともあります。たとえば、会社のロゴやブランドアート、その他のデザイン要素をコピーする、なりすまされた会社にふさわしいメッセージや言葉を使うなどです。

メールスプーフィングに対する防御法は?

メールの受信者は、以下のステップによりメールスプーフィングの被害に遭わないようにすることができます。

  • 早急または緊急に行動するよう促すメッセージに注意: 受信者は、予想外のメールや一方的に送られてきたメールで個人情報や支払、その他の行動を求めるものは怪しいと考える必要があります。たとえば、突然にアプリケーションのログイン情報を変更するよう促すメールは怪しむべきでしょう。
  • メールヘッダーをチェック: メールクライアントの多くには、メールヘッダーの表示方法があります。たとえば、Gmailでは<a href='https://it.umn.edu/services-technologies/how-tos/gmail-view-email-headers' 'target=_blank'>で、各メールの“Show original”をクリックすればメールヘッダーが表示されます。ヘッダーが表示されたら、“Received”のセクションを見てください。送信者アドレス(“From”)のドメインと異なるドメインが表示されていれば、そのメールはおそらく偽造されたものです。
  • スプーフィングされたメッセージをフィルターで排除するソフトウェアを使用: アンチスパムソフトウェアは、受信メールの認証を求めることによってスプーフィングをブロックできます。

ドメイン所有者は、自分のドメインから攻撃者がメッセージを送らないように対策を講じることができます。そのために、組織で認証用のドメインネームシステム(DNS)レコードを作成することができます。これには次のものが含まれます。

  • SPFレコード Sender Policy Framework(SPF)レコードは、特定ドメインからのメール送信を許可されたサーバーをリスト化します。誰かがドメインに関連するメールアドレスをでっち上げた場合、そのアドレスはSPFレコードにないため認証に合格しません。
  • DKIMレコード DomainKeys Identified Mail(DKIM)レコードは、ペアの暗号鍵を使って認証を行います。一つは公開鍵で、もう一つは秘密鍵です。公開鍵はDKIMレコードに格納され、秘密鍵でDKIMヘッダーのデジタル署名を行います。DKIMレコードのあるドメインからスプーフィングされたメールが送られてきても、正しい暗号鍵で署名されていないため、認証に合格しません。
  • DMARCレコード Domain-based Message Authentication Reporting and Conformance(DMARC)レコードにDMARCポリシーが含まれており、SPFレコードとDKIMレコードとの照合後どうすべきかをメールサーバーに指示します。ドメイン所有者は、これらの照合結果によってメッセージをブロックするか、許可するか、配信するかに関するルールを設定できます。DMARCポリシーは他の認証ポリシーに照らして評価し、具体的なルールはドメイン所有者が設定できるため、これらのレコードが追加の保護層となってメールスプーフィングから護ります。

組織レベルでも、セキュリティリーダーがフィッシング対策やマルウェア対策を講じることで、従業員をメールスプーフィングから保護できます。

メールセキュリティにおけるメール認証の位置づけ

メール認証はメールスプーフィング対策に役立ちますが、包括的なメールセキュリティソリューションではありません。たとえば、メール認証は他の一般的なフィッシング手法(よく似たドメインや、安全が損なわれた正当なドメインから送られるメールなど)は防げません。

Cloudflare Area 1 Email Securityはもっと総合的なアプローチを提供します。インターネットを事前予防的にクロールして攻撃者のインフラを特定し、それによってフィッシング攻撃を防止し、受信トレイの安全を確保します。