なりすましによるフィッシング詐欺が社会問題となっています。典型的な手段で多くの人に知られているにもかかわらず被害は後を絶ちません。どのようにメールが偽装されているかを技術的な観点で調査する方法を紹介します。
近年、なりすましメールによるフィッシング詐欺が社会問題となっています。なりすましメールは、インターネットを利用した詐欺の中でも典型的な攻撃手段として多くの人に認知されているにも関わらず、その被害が後を絶ちません。この記事では、メールが偽装されているかを技術的な観点から調べる方法をいくつか紹介します。なお、一般的なフィッシング(なりすましメール)対策とは内容が異なりますので、そちらについては「利用者向けフィッシング詐欺対策ガイドライン」をご覧ください。
有名企業を装ったなりすましメール
ネットバンキングやクレジットカード会社、有名企業を装ったメールなどに記載されたリンクを巧みにクリックさせ、本物のサイトにそっくりな偽のサイトに利用者を誘導する手口が、なりすましメールの典型的な手法です。そこでクレジットカード番号や口座番号などを入力するよう促し、入力された情報を窃取します。
近年、その手口がより巧妙になってきており、ひと目では判別できないケースが増えています。 Amazonを騙るフィッシングメールが有名な例です。一見、日本語におかしな点は見られず、Amazonからの正規メールであると信じてしまう人もいるかもしれません。しかし、注意深く見てみると、句読点の位置から不自然さを感じられます。このように文面だけで判断がつきにくいものは、ヘッダーを見ることでなりすましメールであるかが分かる場合があります。
なりすましメール文面のURLを調べる
フィッシング詐欺を目的としたなりすましメールには、メール文面に偽サイトへのリンクが含まれています。多くの場合、ドメインを見れば正式なものであるか判別がつきます。しかし、短縮URLが用いられているケースや、HTMLメールでは表示されているURLと実際にアクセスするURLが異なるケースも少なくないため、見ただけでは区別がつかないこともあります。そのため、安易にリンクをクリックせず、まずはそのリンクのURLが悪性でないか確かめることが重要です。
URLを調べる方法として「VirusTotal」を利用するのが便利です。このサービスは、入力されたWebサイトに対し、複数の有力なウイルス対策エンジンやWebサイトスキャン・エンジンで検証を行い、特定のURLに悪意のあるものが含まれていないかを知らせてくれます。またURLだけでなく、ファイルのスキャン※も可能です。
※VirusTotalでスキャンした内容は、研究用の検体として有料会員メンバーに共有されるため、メールに添付された機密情報などのファイルをアップロードすると情報が漏洩してしまう危険性があります。そのため、ファイルをスキャンする際は、ファイルは直接アップロードせず、ハッシュ値での検査を推奨します。
使い方はシンプルで、サイトのURLタブのSearch or scan a URLの欄に調べたいURLを入力して検索するだけです。判定結果の画面左上にある数字は「これを悪性と判定したセキュリティ製品の数」を示しています。攻撃者側もVirusTotalのスキャンで検知されないように注意しているため、スキャン結果を完全に信頼することはできませんが、例示した画像のように悪性情報が多数報告されているようなら、それは危険なサイトだと判断したほうが良いでしょう。また、結果がすべて「Clean」であったとしても、それを鵜呑みにせず、セキュリティソフトによるリアルタイム保護などのセキュリティ対策は必要です。
ヘッダーの情報を確認する
メールには本文とは別に、ヘッダーと呼ばれる様々な情報が記載された領域があります。ヘッダーには受け取ったメールがどこから、どのような経路で送られてきたのかという情報が記録されています。ヘッダーから読み取れる情報として、以下の例があります。
※使用しているメールソフトやメールサーバーによって表記が異なる場合があります。
- 送信元(From)や送信先(to)のメールアドレス
- メールが送信された時刻(Date)
- メールが配送されたルート(Received)
- メールの返信先(Reply-To)やメール配信エラーの際の差し戻し先(Return-Path)
- メールの識別番号(Message-ID)
- 送信元の使用メールソフト(X-Mailer:)
- 送信ドメイン認証結果(Received-SPF、Authentication-Results)
通常、メールの送信者を確認する際には、差出人(Fromアドレス)を見ますが、実はこの情報は容易に改ざんが可能です。そのため、メールが偽装されたものかどうか見破るためには、上記のようなヘッダー情報を確認するというのも1つの手段です。なお、ヘッダーの確認方法はメールソフトによって異なりますので、「Eメールヘッダの確認方法」を参照ください。
※Fromアドレス以外にもヘッダー情報を改ざんすることは可能なため、ヘッダーは必ずしもメールの正当性を保証するものではありません。
では、ヘッダーの中身を見てみましょう。ヘッダーは「ヘッダーフィールド」と呼ばれる情報で構成されており、いくつかのセクションごとに分かれています。以下は実際のメールのヘッダー情報を一部抜粋したものです(ドメインやIPアドレスは架空の文字列に変更)。
見るべきポイントはいくつかありますが、一番分かりやすいのが「Return-Path」です。「Return-Path」は、メールが何らかのエラーで配達されなかった時にその旨を連絡する宛先を指定するもので、通常は差出人のアドレスが設定されます。また、私たちが普段から見ている差出人は、ヘッダーの中にある「From」に書かれている内容をメールソフトが表示したものです。 なりすましメールではこの「From」の部分が偽装され、通常は「From」のアドレスと同じであるはずの「Return-Path」のアドレスが異なったものになります。差出人のアドレスを不審に感じた際は、まずは「Return-Path」のアドレスと一致しているかどうか確認してみてください。
また、図中の赤色で示した「Received」ヘッダーは、メールを扱ったメールサーバーが独自に書き込む情報で、配送経路に関する情報を加えていきます。情報は下から追加されていくので、下から上へ順を追って見ていくことで経路を読み取ることができます。また、「Received」ヘッダーの情報は基本的に以下の構造をしています。
MTAは「Mail Transfer Agent」 または 「Message Transfer Agent」の略称で、ネットワーク上でメールを転送・配送するソフトウェアです。メールサーバーの中核的な機能を担っているため、メールサーバー全体を指してMTAと呼ぶこともあります。
この構造を理解したうえで先ほどのヘッダーを読み解くと、次のようなことが分かります。
BさんがAさん宛に送ったメールは
①2021/7/31 01:33:17(UTC:協定世界時): メールサーバー(smtp.abcd[.]cn)に送信
②2021/7/31 01:33:21(UTC):メールサーバーからにAさんの端末(192.168.aa.aa)に送信され、届いたというわけです。
ここで理解しておきたいのが、「Received」ヘッダーには前後関係があるということです。正規の経路を辿ったメールであれば、基本的には先に付けられた「Received」ヘッダーの「by」と、後から付けられた「Received」ヘッダーの「From」は同じものになります。つまり、裏を返せばこれらが異なっている場合、送信元が偽装されている可能性があるということになります。
今回は情報が少なく、分かりやすい例を取り上げましたが、実際には「Received」ヘッダーがいくつも連なっているような複雑なものも少なくはありません。また、「Received」ヘッダーを読み解くことでメールの真偽を確認すること困難な場合もあります。例えば、送信者が転送メールアドレスを使用している場合や、正規のメールであるのに差出人が意図的に送信元を書き換えた場合などです。そのため、それが信頼できる送信元なのか IPアドレスやドメインから調べてみるなど、色々な視点からヘッダーを見ることが重要です。もし、自身で確認することが難しいと感じた場合は、Aguseなどのヘッダー解析ツールなどを活用してみてはいかがでしょうか。
まとめ
今回は不審なメールについて、URLやヘッダーからそのメールの正当性を判断する方法について紹介しました。冒頭でも述べましたが、これらはあくまでなりすましメールに対する技術的なアプローチの一例に過ぎません。フィッシングの被害に合わないためには、日ごろから新しい情報に関心を向け、常に警戒意識を持つことが重要です。