フィッシング詐欺の仕組みとは？

## はじめに
フィッシング詐欺とは、実在する組織を騙ってログインIDやパスワードなどの個人情報を盗み、金銭をだまし取るネット犯罪の一種です。最近では、SBI証券や楽天証券を装ったフィッシングメールが多数確認され、投資家の資産情報や口座のアクセス情報を窃取する事例が急増しています。2025年3月22日の最新ニュースによると、楽天証券は、同社を装ったメールによるフィッシング被害が急増していると公式に発表しました。偽メールやSMSから誘導された顧客の中には、勝手に株式を売買されるという深刻な被害も確認されています。
「ユーザーはどうやって騙されるのか？」、「攻撃者はどのような仕組みを使っているのか？」、こうしたネット犯罪の背後にある技術や仕組みをまとめました。

## フィッシング（phishing）の語源について
「フィッシング（phishing）」は、「fishing（釣り）」と「sophisticated（洗練された）」を組み合わせた造語です。攻撃者が偽メールやWebサイトを「餌」にして、ユーザーを「魚」のように釣り上げるという仕組みです。なぜ「phishing」なのかを調べてみると、「phishing」の「ph」という表記は、ハッカー文化で「f」を「ph」に置き換える習慣から来ているようです。この表記方法自体が、単純な詐欺ではなく技術的に洗練された手法であることを示唆しています。つまり、ただ引っかけるだけでなく、巧妙な技術を使って騙すという意味合いが込められているわけです。

## フィッシング詐欺の手口
フィッシング詐欺の基本的な手口を図で表すと以下のようになります：

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3958955/934c2f28-5b1a-41d1-bedd-9e88bdb73084.png)

1. 攻撃者が実在する企業を騙って、偽メールやSMSを送信する
1. ユーザーがメールやメッセージ内のURLにアクセスする
1. 偽サイト上にログイン画面や情報入力画面が表示される
1. 入力情報が攻撃者に窃取され、不正利用される

これが基本的なフィッシング詐欺の流れです。この一連の流れは単純に見えますが、裏側では高度な技術的が使われています。

## フィッシング詐欺の技術的手法
フィッシング詐欺の手口の裏側では、複数の技術的手法が組み合わさっています。

### 1. ドメインスプーフィング
ドメインスプーフィングとは、攻撃者が実在する組織になりすますために、本物そっくりのドメイン名を使用する手法です。ユーザーがメールの送信元やURLを一見しただけでは、本物と偽物の区別がつかないように作成されています。

- 文字の見た目を偽装
    - 「O（大文字のO）」と「0（ゼロ）」、「l（小文字のL）」と「 1（数字の1）」など、見た目が似ている文字を使用する
- サブドメインの悪用
    - 正規ドメインをサブドメインの一部として使用する
- DNS内の脆弱性
    - DNSサーバーの設定不備や脆弱性を悪用し、正規のドメイン名へのアクセスを偽サイトに誘導する

これらの技術により、ユーザーは信頼できるサイトやメールだと思い込んで個人情報を入力してしまいます。

### 2. Webサイトクローニング
実在する企業のWebサイトを完全にコピーし、見た目でだます偽サイトを作成します。

- HTML/CSSを完全複製
    - 正規のサイトのソースコードを取得し、視覚的に同一のWebサイトを作成する
- JavaScriptの流用
    - 正規のサイトの動作や機能を模倣するスクリプトをコピーする
- ロゴボタンやレスポンシブデザイン、多言語対応の模倣

### 3. SSL証明書の悪用
偽サイトでも`「https://」`と鍵マークを表示してユーザーに安心感を持たせます。

- 無料SSL証明書の取得
    - Let's Encryptなどで無料SSL証明書を取得する
- DV (Domain Validation) 証明書の悪用
    - ドメイン所有の確認のみで簡単に発行される基本的な証明書を使用する
- EV証明書（Extended Validation Certificate） の悪用
    -  EV証明書とは、ウェブサイトの信頼性を示す最も厳格な認証
    - 緑のアドレスバーや鍵アイコンなどの視覚的要素をCSSで模倣し、信頼を逆手に取る

### 4. データ窃取メカニズム
偽サイトで入力されたIDやパスワードを攻撃者のサーバーに送信する仕組みです。フィッシングサイトでは単にデータを収集するだけでなく、プログラミング技術で情報を盗み出します。

- キーロガー
    - デバイスへの入力操作を記録するソフトウェアやハードウェア
    - JavaScriptを使ってキーボードで入力された文字を一文字ずつリアルタイムで記録する
    - アカウント情報を全部入力する前でも情報が全部漏れている状態
- フォーム入力をリアルタイム傍受
    - ログインボタンをクリックした瞬間、本来のサーバーへの送信を横取りして、攻撃者のサーバーに情報を送る
- WebSocketによる即時送信
    - 入力している最中にもリアルタイムでデータを攻撃者に送信するため、送信ボタンを押さなくても情報が抜き取られてしまう
- フォーム送信後に正規のサイトへ自動リダイレクト
    - データ取得後、気づかれないように正規のサイトに転送される

これらの技術により、ユーザーは自分の情報を盗まれたことに気づかず、被害が拡大してしまうのです。

### 5. 検出回避技術
多くのフィッシングサイトは単に偽サイトを作るだけでなく、セキュリティソフトや研究者に発見されないための巧妙な仕掛けも取り入れています。

- ジオフェンシング（Geofencing）
    - 攻撃対象となる国や地域からのアクセスの場合のみ偽サイトを表示する
    - セキュリティソフトや研究者による検出を回避できる
- ボット・研究者検知
    - セキュリティ企業のクローラーやセキュリティ研究者の特徴的なアクセスを区別し、その場合は通常のページを表示
    - ユーザーだけに偽サイトを表示する
- ワンタイムURL
    - 一度アクセスされたURLは無効化して、証拠を隠滅する
- JavaScriptコードの難読化
    - コードを意図的に難読化させることで、研究者が悪意あるコードを発見したり、分析したりすることを困難にしている
- サーバーサイドレンダリング
    - フィッシングの仕組みをサーバー側で処理をする
    - クライアント側のコード検査では悪意のある動作を検出できないよう回避する

## まとめ
フィッシング詐欺は単なる偽サイトや偽装メールではなく、複数の技術を組み合わせて行われる高度なサイバー攻撃です。特に、金融や証券会社をターゲットにしたフィッシングでは、ログイン情報を盗まれたあと、その情報を使って自動的にお金を動かす仕組みが使われることがあります。つまり、IDとパスワードが盗まれた直後に、本人の知らないうちに株を売買されたり、お金が引き出されたりするのです。技術的な仕組みを知ることは、自分の身を守るためや、システムを安全に設計するうえでも欠かせない知識です。

:::note info
ITスクールRareTECHのLT会で発表させていただきました。（2025/3/28 加筆）

https://www.canva.com/design/DAGi_BEVrJc/4eWdx2lX0-NCcoP6kuW_UQ/edit?utm_content=DAGi_BEVrJc&utm_campaign=designshare&utm_medium=link2&utm_source=sharebutton

:::

https://www.soumu.go.jp/main_sosiki/cybersecurity/kokumin/basic/risk/04/

https://www.antiphishing.jp/consumer/abt_phishing.html

https://xtech.nikkei.com/it/free/ITPro/OPINION/20040306/141018/

https://www.crowdstrike.com/ja-jp/cybersecurity-101/social-engineering/domain-spoofing/

https://www.nikkei.com/nkd/industry/article/?DisplayType=1&n_m_code=122&ng=DGXZQOUB220KC0S5A320C2000000

https://www.sompocybersecurity.com/glossary.html

https://www.cybertrust.co.jp/blog/ssl/knowledge/certificates-types.html

https://ssl.sakura.ad.jp/column/phishing/

https://www.ipa.go.jp/security/10threats/nq6ept000000g22h-att/kaisetsu_2024.pdf