Recently, I've received just a little many phishing mails. But I've also been taking measures for them. For example, I'd never registered the email address any e-commerces nor web-services. Therefore I can recognize those as "phishing mails" clearly. This document introduces some methods against spam and phishing mails.
最近,フィッシングメールが多くてウンザリしている。中に,「以下のお店で決済されました」なんてのがあった。身に覚えがなければ「こりゃタイヘン! 不正利用されたかも! 止めなきゃ!」と,焦ってそこに記載されているリンクをクリックしたくなったりするだろうね。
ただ,筆者はいろいろと予防線を張っている。たとえば,メールアドレスは複数を使い分けていて,そもそもそれらのメールが届いたアドレスというのは,ウェブサービスには一切登録をしていないもの。そう,そこにそんなメールが届くワケないのである。
そうした「使い分け」ができなくても,「ソースを確認する」ということをやれば,ほぼバレバレだ。前述のフィッシングメールも,差出人の表示は実在のカード会社にそっくりだが,ソースで還付先アドレスを見ると差出人と違っていたりする。しかも,送信されたのが日本国内ではなく,詐欺が野放しのあの国だという証拠がボロボロ出てくる。
こうしたメールが絶えないということは,一定割合「引っかかる人」がいるからなのかなと思う。しかし,もういい加減,基本的な対策はある程度周知されていてもよさそうに思うのだが……。
ここでは,簡単にできる対策をまとめて紹介しておきたい。
● ソースを確認しフィッシングを見抜く
I recommend you to investigate the "source" of mail. Hit [Ctrl]+[U] on PC, or select "view (show) source" item from (View) menu on any devices. And watch the values of "return-path" and "received" header fields. If the mail is legit one, those contain the same or near address as the sender ("from" field) and the IP address must be same as the country of the company. If not, the mail is phishing doubtfully. Or read emails in "plain text mode" instead of "HTML mode". Because HTML can show the web-links with scamming URLs different to displayed, therefore most of phishing mails are written in HTML.
メールではこの方法を知っておくべき。
「ソース」とは何かというと,「送られてきたデータ全部」のこと。メールは本文だけでなく,差出人や宛先,返信先,また添付ファイルなど様々な内容を含むが,それら全てを見れるのが「ソース」だ。
本文以外のデータの中で,じつは「差出人」はワリと簡単に偽装できてしまう。一般的に使われるメールソフトでも,「差出人」に勝手なアドレスを設定できることも多い。だから,メールソフトの一覧で差出人として覚えのある金融機関やそのアドレスが表示されているからといって,簡単に信じることはできないと考えたほうがいい。「ソースを見るべき」というのは,その差出人以外の情報も見れるからだ。
「ソース」を見る方法は,以下のとおり。
- パソコンのメールソフト
パソコンのメールソフトでは,たいてい [Ctrl]+[U] と操作すると表示される。他には,「表示(V)」メニュー内に「ソースを表示」の項目があることが多い。 - スマートフォンやブラウザで見るウェブメール
これらでも,多くの場合メニューの中に「ソースを表示」という項目があるので,よく探してほしい。
実際に,筆者の元に届いたフィッシングメールの「ソース」を以下に抜粋する。なお,セキュリティ上,一部改変して掲載している。
01| Return-Path: <admin@miya35.сn> 02| Delivered-To: xxxxxx@treeware.jp-help.net 03| Received: from nnnnn3.localed.com 04| by nnnnn3.localed.com with LMTP :(中略) 08| Return-path: <admin@miya35.сn> :(中略) 11| Received: from [42.240.130.162] (port=47591 helo=mail.miya35.сn) 12| by nnnnn3.localed.com with esmtp (Exim 4.96.2) :(中略) 27| Message-ID: <20240523453018210183@miya35.сn> 28| From: 自動メール通知 <statement@vpass.ne.jp> :(中略) 30| Subject: 【 水井杉友カード 】決済完了のお知らせ 31| Date: Thu, 23 May 2024 23:45:26 +0800 :(後略)
28 行め(From)が「差出人」アドレスを示すが,じつは実際のカード会社のものによく似ている。メールソフトの一覧にはそれが表示されるため,パッと見「フィッシング」とは判断しづらい。巧妙である。
ただ,正規の会社から送信されたものなら,以下の末尾部分もそれと同じく …….ne.jp であってもいいはずが,実際はそうなっていない。これこそ,差出人(From)が偽装されている可能性を示している。
- 一番上と8行めの Return-Path の …….сn
- 11 行めの helo=mail…….сn
- 27 行めの Message-Id の末尾の …….сn
メールの一覧で,「差出人」アドレスがどんなに実際のサービス業者のものに似ていても,「ソース」を見ればバレバレなのである。以降で詳しく見てみる。
◆ まずは return-path を確認
最も分かり易いのは return-path(リターンパス)と呼ばれる項目。たいていは「ソース」の一番上のほうにある。これは,「相手に届かなかった時に通知を返すべきアドレス」で,一般的な手紙の「還付先」に当たる。この項目はたいていメールソフトでは指定できず,勝手なアドレスは設定できないため,簡単には偽装されづらいと考えられる。ある意味「実際の」差出人に一番近い。前述の不正決済を装うフィッシングメールも,差出人は実際のカード会社にありそうな“.jp”だが,この retrun-path に“.сn”といったアドレスが記載されていることから,フィッシングメールの可能性が高いと判断できるわけだ。
◆ 最初の received の IP アドレス
return-path は,「差出人」より偽装されにくいとはいえ,全く偽装されないという保証もない。そこで,可能なら確認しておくといいのは「Received」という項目。これはメールを中継したコンピュータにより付加される項目で,データが何処から来て何処に向けて渡されたか記録される。だから,中継したコンピュータが複数あれば複数の Received
項目が付加される。その中で最も重要なのは一番下にあるもので,それが最初に中継したコンピュータによって付加されたものだから,発信元にいちばん近い。そこが発信者とは関係なさそうな場所……日本企業のはずなのに日本でなかったりすれば「アヤシイ」ということになる。
挙げたソースの例では 11 行めが「最初の中継コンピュータ」が付加した Received になる。そこに以下のような記載がある。
from [42.240.130.162]
この 42.240.130.162 が,最初にそのメールを中継したコンピュータが受け付けた相手の「IP アドレス」と呼ばれるもの。実質的に「発信者」に一番近いと考えられる。もし,日本の会社から正規に送信されたメールなら,これも日本にあるはずだ。
IP アドレスを調べてくれるサービスはあちらこちらにある。ここでは ipinfo.io というサービスを利用してみる。ブラウザのアドレス欄に,以下のように入力する。
https://ipinfo.io/42.240.130.162
すると,以下のような結果が表示される。
そのメールの発信元は日本ではない……つまり,正規の差し出し元ではない可能性が高いということが分かる。
◆ タイムスタンプ(Date)
そして,最後の行(31)は送信した日時だが,普通は日本から送信されれば末尾は「+0900」となるはずなのに,ここもそうなっていない。というわけで,フィッシングメールはほぼ確実というわけだ。
「アカウントが停止しますよ」とか,身に覚えのない「決済されました」なんてメールが届いたら,慌てずに,まず「ソース」を見ることをお勧めしたい。
◆ 普段から「プレーンテキスト表示」にする
メールの記述型式は「HTML」と「プレーンテキスト」の2種類ある。企業などがよく使うのは HTML のほうで,文字の大きさや色指定,画像の埋め込みなどができるため,パッと見で「分かり易い」と感じさせる書面が作れる。ただ,フィッシングにはそれが悪用される。「お手続きはこちらから↓」などと記載して正規 URL を表示しておいて,じつはクリックすると,そこと異なるフィッシングサイトに飛ぶようなメールが簡単に作れる。HTML なら画像も表示できるから,実際の金融機関のロゴ画像なども掲載しておけば,非常に騙し易くなるというわけだ。
だから,筆者が普段使うメールソフトは,画像やリンクを埋め込めない「プレーンテキスト表示」で使っている。述べたように,HTML では表示する URL と実際のリンク先を異なるものにできるが,プレーンテキストではそれができない。つまり,メール本文に実際のリンク先 URL
を正確に記載する必要がある。ましてや,ロゴ画像など表示できないから,明らかに金融機関や通販サイトと異なるリンク先が記載されていれば,「フィッシングだ!」と気づき易くなるわけだ。
最近受信したフィッシングメールをプレーンテキストで表示すると,「お手続きはこちらから↓」とか書いてあるワリに,URL 記載のないものが多かった。そりゃ,「ニセ URL」なんて記載すりゃ即バレちゃうから記載できんわな。でもそれじゃ「(詐欺)手続き」もできないけど。つまり,「プレーンテキスト表示」なら騙されにくいわけだ。
そんなこともあって,筆者がこれまで,障害者をはじめとしてメール設定をお手伝いして来た方は,可能な限り HTML 表示ではなくプレーンテキストで表示するように設定している。
ちなみに,筆者の知る限り,Gmail というのは,強制的に「プレーンテキスト」を扱う方法がなさそうなのである。しかも,Gmail の HTML
を使っている方から受け取ったメールでは,リンクの表示とリンク先が異なることが多発していた。つまり,Gmail でメールを扱っていると,間違ったリンク付きのメールを相手に送ってしまったり,「必ず HTML
表示される」状態では,受信したフィッシングメールに騙され易くなる可能性も高くなるので注意したほうがいい。
そうした意味でも Gmail はオススメできない。
● アドレス使い分けで防犯
For getting mail account, I recommend you to use "mail server (host) rental dealer", instead of using free mail like Gmail. Because the host dealer can make some accounts each situations you want, and dividing to use for families, friends, e-commerces and bankings. For example, when you receive a mail "please refresh your password" but you didn't register the address to the bank, you can get to know it's phishing mail clearly.
だいたい,述べたように例のメールが届いたアドレスは,金融機関,カード会社,通販といったネットサービスには,一切登録していない。「今どきネットサービスを何も利用していないのか!?」とか,そういうことではない。年寄りじゃあるまいし,手元でいろいろできて超便利なサービスを使わない手はない。ではどうしているかというと,ネットサービス専用アドレスを作って登録しているのだ。だから,それ以外のアドレスに「決済完了しました」なんてメールが届けば,フィッシング以外の何者でもないと分かる。いわば,届いた時点でバレる仕組みだ。
「そりゃ,そうしたことができる人はいいよ……」なんて声が聞こえて来そうだが……誰でもできますって。じつはメールアドレスをいくつも作れる環境を提供してくれる業者が存在する。「メールサーバ,レンタル」といった文言で検索すれば,その手の業者がいくつか出てくる。そうした業者と契約して複数のアドレスを作れれば,ネットサービス用のほか,家族用,仕事用……と,いろいろ使い分けることができる。
少々難点なのは,「有料」なところだろうか。とはいえ,そんなにも大容量を必要としなければ,月額換算で百円前後の契約もある。
もしメールソフトで使いたい時は,メールソフトへの「設定」も必要になるが,多くの業者は「ウェブメール」のサービスも提供している。説明をよく読んでそれが利用できる業者を選べば,ブラウザで使う限り「設定」は不要になる。Gmail や Yahoo! メールとほぼ同様に使える。
◆ Gmail や Yahoo! メールのリスク
「だったら,Gmail や Yahoo! メールならば無料じゃん!」と思うかもしれない。今でも「メール」と言えばそれらが主流なのかもしれないが,「それらに頼るのは危険!」と言っておきたい。
まず,Gmail や Yahoo! メールは,メールの内容に合った広告を見せるため内容を「盗み見る」機能があるようなのだ。事実ならその時点で「通信の秘密」が確保できていないことを意味する。憲法違反だ。
とはいえ,「盗み見」自体を承諾の上で使うのなら問題ないのだが,それでも「迷惑メール」としてたまたまエッチ系のものが多めに入って来てしまったりすると,それを「読み取って」そっち系の広告がドカドカ表示されてしまったりする可能性は否定できないと思う。「承諾」したと言うなら,そうしたリスクも含めて考えたうえでだろうか?
しかも Gmail の場合は,筆者が使っているアドレスとの間で不達が多発する。親戚の話では,公立図書館の本返却通知サービスで「Gmail
には届きません」ということになっているらしいから,筆者に限った話ではないと思う。つまり「通信機能を果たさない」こともあるのだ。
「迷惑メールでたいへん」なんて話をよく聞く。幸いにして筆者は,最近少々フィッシングメールがウザくなった程度で,それも,述べたような「使い分け」対策でフィッシングと直ぐ分かるから,無視で済む。まぁ,連絡用に公開しているアドレスであれば,誰でもそのアドレスを知り得る状態なので,そういったメールが入って来易くなるのは仕方ない面もあるが,家族や仲間うちなどで限定的に使っているアドレスで,公開してもいないのに迷惑メールがバカスカ来るような場合は,どこかから「まとまって」漏れている可能性が疑われる。で,思ったのは,そうした迷惑メールに悩まされている方々は,どこのメールを使っているのかという点。Gmail や Yahoo! メールではないだろうか? それらの業者にはアドレスを取得した人が「まとまって」いるから,迷惑メールを撒き散らしたい側としては,それらを漏らしてくれる「内部の人」と仲良くしていると,非常に都合がいい。そうした人から「まとまって」漏れている可能性も考えられるのだ。
他の通信手段として LINE があるが,提供する会社は,数十万件もの個人情報を漏らしたことが事実としてある。そこに登録したメールアドレスが含まれていれば……そう,「まとまって」漏れた可能性は高い。
このような点でも,Gmail や Yahoo! メール,LINE などのように,「まとまって」管理されているものを利用するリスクは高いと思う。
ちなみに,筆者自身は,Gmail や Yahoo! メール,LINE はいずれも登録していない。で,最近少々フィッシングメールがウザい程度だ。
◆ メールサーバを借りるメリット
メールサーバを借りるメリットは何かというと,まずたいていの業者では,1つの契約で複数のアカウントを作れること。そして「ドメイン(@マークより右側)」の一部を利用者が決められることだ。フリーランスや小規模事業者などなら屋号やサービス名など,また家族で使うなら名字や住所などを含むドメインにすれば,Gmail などの「誰でも利用している」ようなドメインのメールアドレスよりずっと分かり易くなるだろう。たとえば,あるメールサーバのレンタル会社が「xxx.jp」というドメインを所有していて,契約するとそのサブドメインが使える時,「NPO さぽさぽ」だと,こんな感じのドメインでアドレスを作れる。
info@npo-saposapo.xxx.jp
この「xxx.jp」の部分は,業者によって,特定のものに限られる場合と,複数の中から選べる場合がある。業者選定の際,ここに気に入ったものが指定可能かどうかで選ぶのも手だ。
@マークの左側はいくつか作れるから,それぞれ「一般用,仕事用,家族用,ネット通販/金融機関/その他ネットサービス用,従業員別,担当部署別……」と使い分けできる。組織なら,ひとつのメールアドレスだけを「代表」として使い,届いたメールを仕分けして担当者に渡すより省力化できるのではないかとも思う。で,ネットサービス用に登録していないアドレスに「サービスご利用の……」うんたらかんたらなんてメールが来れば,迷うことなくフィッシングと判断できるわけだ。
「有料」と言ったって,大容量でなければ月額換算で百円前後で契約できる業者もあるから,大容量が必要でもない限り,たいした負担ではないだろう。何より,その月々百円前後で述べたような自由度が得られて,フィッシング防止対策になり,広告を突っ込んで来る「盗み見」もされなくなると思えば,Gmail や Yahoo! メールと比較しても,安価で安心で安全ではないかと思うのだが,どうだろうか。
こうしたメールの使い方ができるにも関わらず,筆者の自宅にチラシ突っ込んで来る地方議員さん方の Gmail や Yahoo! メール率は異常と言いたくなるレベル。それらのメールのリスクは述べてきたとおりで,政治家はもっと IT に通じたアドバイザを持つべきではないかと思う。ただ,述べてきたような対策を普段からしている筆者としては,現段階で対策していない議員さん方が,理解してメール業者と契約するのかというと,期待薄な感じはスゴくする。述べたように,Gmail や Yahoo! メールは,内容に合った広告を表示するため内容を「盗み見」ていて,「通信の秘密」を厳密に守っていない。そこから様々な情報が漏れている可能性もあるわけだが,みんな「そんなの知ったこっちゃない」状態で使っているのだから。IT に詳しい人がいないリスクは大きい。
◆ GMO は非推奨
なおもうひとつ,GMO のメールサーバ業者はお勧めできない。というのは,ある方が使う GMO のサーバにメールしたところ,「……に転送できませんでした」というエラーが返って来たのだが,この「……」の部分にその転送先アドレスが記載されていたからだ。
「転送」という機能は,直接的にアドレスを伝えることを避けるのに使われることがある。たとえば,メインで使っているアドレスを「直接伝えたくない」相手には,メインのアドレスを転送先に設定した別のアドレスを伝えれば済むわけだ。ところが,その転送先のアドレスが記載されたエラーを送信者に返してしまうと,直接伝えたくなかった「メイン」のアドレスをバラしてしまうことになる。ある意味「個人情報」を外部に伝えてしまったようなもので,転送の目的を果たせなくなっていたことになる。というわけで,GMO は非推奨(2024-05)。
ちなみにその「転送できませんでした」の転送先は Gmail だった。GMO と Gmail の併用により最悪の結果を招いたようなカタチだ。
● ブラウザのスクリプトは無効で使うべき
I recommend to use browsers setting "JavaScript" disable (blocking). Because the script is used to call "malwares". For example, if some illustrations like "Congratulations!" or "Detected virus!" appeared suddenly with no-ideas of relations to the site you're watching just before, it was maybe the operation of a script to let you downloading malwares, on the background. Don't accept them. But setting script disable makes some web-pages invisible. Therefore set the site as "excepting site" at a same time.
筆者は,ブラウザのスクリプト機能は極力無効で使うべきだと思っていて,実際にそうして使っている。なぜかというと,今の主な理由は,悪意を持ったソフトウエアである「マルウエア」を呼び寄せないため。元々は別の目的だったが,その点については後述したい。
「スクリプト」とは何かと言うと,ウェブ記事に便利な機能を付加するための一種のコンピュータプログラムのこと。特にブラウザ上で動作するものは,「JavaScript(ジャヴァスクリプト)」と呼ばれる言語が使用される。単に記事を表示するだけでなく,たとえば地図などは,ピンチアウトやピンチイン操作で縮尺が変わったりするが,そうした機能はスクリプトによって実現される。ある意味,たいへん便利な仕組み。
ただ,最近はあまりにも,その「スクリプト」を必須とするサイトが多くなってしまった。内容を表示するために「スクリプト」を利用する仕組みにしてしまっていたりするから,スクリプトを無効にしてしまうと内容が何も見れなくなったりする。
そこで,もしブラウザに「例外指定」機能があれば,それを利用することをお勧めしたい。「例外指定」とは,全体的にはスクリプト無効で実行しない状態にしておいて,「指定のサイトでのみスクリプトを有効にする」機能のこと。詳細は後述するが,本来読んでいるサイトと関係ないサイトから,スクリプトの脆弱性を悪用して横入りして来て「おめでとうございます!」とか「ウイルスを検知しました!」などと表示して「マルウエア」を読ませようとする,悪意のあるサイトが存在する。全てのスクリプトが実行可能な状態だと,そうしたサイトのスクリプトも実行され,マルウエアをダウンロードしてしまったりするが,信用したサイトのスクリプトのみ実行されるようにしておけば,少なくともその「横入り」するサイトのスクリプトの実行は防げるわけだ。
ただ,そうした機能があるかどうか,ある場合も設定方法はブラウザにより異なるので,それぞれのブラウザのヘルプや,検索などで調べてほしい。たとえば「FireFox」というブラウザでは,直接スクリプトの可否を切り替える機能はないが,「アドオン」と呼ばれる追加機能の中に,それができるものがあるようだ。
一例として,Android の Chrome での設定方法を次節に挙げておく。
◆ Android の Chrome での JavaScript 例外指定
まずメニュー(⋮)から「設定」を選択。
「サイトの設定」を選択(少し下のほうにある)。
「JavaScript」を選択。
最上部,右側のスイッチをオフにして,最下部の「+サイトの例外を追加」を選択。
スクリプトを有効にしたいサイトのホスト名(http://xxxx/ ←この xxxx の部分だけ)を入力して,「追加」を選択する。
あとは,一番左上の「←」をタップして行き,閲覧画面に戻る。
なお,この設定直後は,表示中の記事には有効にならない場合があるので,一旦読み直すとよい。
◆ スクリプトがセキュリティ上の脅威になる理由
筆者がスクリプトを無効で使う元々の理由は「余計なデータを読みたくなかった」こと。じつはプリペイド式の通信手段を使っているため,データ量が少ないほど長く使える。裏を返せば,スクリプトを有効にしていると,余計なデータを読むことが多いのだ。たとえば広告とか。あるウェブ記事を表示させた後,ただその記事だけ見ている間は他のデータを読む必要はなさそうだが,じつは広告表示を別のものに差し替えるためにスクリプトが追加でデータを読み続けたりすることがある。なんでこっちのパケット代で広告を読まされにゃならんのだと思うワケで。スクリプト無効なら,その「追加データ」を読まなくなるわけだ。
そうした使い方をする中で気づいたのは,スクリプトを有効にしているとマルウエアを引き寄せる可能性が高くなること。ある時,たまたまスクリプトを有効にしたままウェブ記事を読んでいたら,突然「おめでとうございます! Chrome ユーザー限定でプレゼント!」と,くす玉が割れるド派手なイラストが現れたのだ。いや,そんなサイトにアスセスした覚えはない。直感的にマルウエアをダウンロードさせる手口を疑って,その画面を閉じ,直ぐにスクリプトを無効に戻したのだった。
これに似た手口は,Edge(エッヂ)でも経験がある。ある施設で使っていたパソコンから突然けたたましいアラーム音が鳴り響き,たまたま居合わせた筆者が対応を相談されたのだ。画面には「ウイルスを検出しました! 今すぐ対策ソフトをダウンロード!」みたいな表示で押しボタン画像が表示されていたが,これまた直感的に「罠」を疑い,「それ押さないでください!」と制止しておいて,別のパソコンからその現象について調べたところ,案の定,マルウエアをダウンロードさせる手口だったようだ。ブラウザを閉じて事なきを得た。
じつは「スクリプト無効」の状態で閲覧している時はそうした画面を見たことがない。つまり,どちらもその「スクリプト」の脆弱性が狙われたと考えられるのだ。
そんな経験もあり,筆者は極力「スクリプト無効」でウェブを閲覧している。裏を返せば,「スクリプトを有効にしてご覧ください」などと促して来るサイトは,運営者のセキュリティ意識が「その程度」と言えるのではないかと思う。スクリプト有効で閲覧すれば,つまり閲覧者がマルウエアを引き寄せてしまうリスクを高めることになるからだ。
しかし,そんなサイトが多くを占めてしまっているのが現状だ。この記事を読んだ方は,前述した「見たいサイトだけスクリプトを有効にする方法」でブラウザを使うようにして,自衛してほしい。
● AI のウラをかけ!
After now, AI will be developed more intelligence, then it's expected phishing mails will be hard to recognize as those. But the 2 methods I introduced, dividing some mail accounts for each purposes and setting script "disable" except some sites you wanna see, are not relating to development of AI. Those basic measures for anti-phishing and crimes on web are important, I think.
最初に挙げたメールによるフィッシングは,数年前に届いたものは,パッと見でアヤシイと分かるヘンテコな文章だったりしたが,今回届いたものはかなりそれっぽくて,実際に金融機関から届いたとしてもおかしくないような文体だった。おまけに「決済が完了しました」といった内容で「悪用されたかも!」と思わせるとか,いわば防犯意識を逆手にとった手法などは,なかなか巧妙。今後,普及しつつある AI が悪用されれば,ますます簡単に見抜けなくなっていくことも予想される。
そこで,思い返して欲しいのは,ここで紹介した下2つの防犯対策。メールアドレスを目的別に使い分けることと,スクリプトを無効化してブラウザを使うこと。どんなにメールでうまく騙そうとしても,届いたアドレスがサービスに利用していないものなら,確実にフィッシングだと分かるし,スクリプトを無効にしてネット閲覧する限り,スクリプトの脆弱性を狙うマルウエアが入り込むスキはない。手口がいかに巧妙になろうと,そもそも「届くはずない」メールとすぐわかる手法や,その「入り口」を塞いでしまう手法で防犯対策をしておけば,どんなに AI
を駆使しようとその効果を帳消しにしてくれるだろう。
ネット犯罪が高度化するほど,基礎的な防犯対策が重要だと思う。