「とうとう俺のカードもやられたか ~メールヘッダを読んでみよう~」信州大学 情報基盤センター 内山 巧 先生

1.2K Views

September 01, 25

スライド概要

【第13回】サイバーセキュリティ勉強会2025夏 in 塩尻
https://shiojiri-cyber.connpass.com/event/348118/

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

とうとう俺のカードもやられたか... ~メールの真偽ってどうやって見極めてる?~ 信州大学情報基盤センター Takumi Uchiyama ©2025 Takumi Uchiyama

2.

©2025 Takumi Uchiyama 2

3.

それは突然やってきた

4.

©2025 Takumi Uchiyama 4

5.

!!?? ©2025 Takumi Uchiyama 5

6.

最初にやったこと

7.

比べてみた ©2025 Takumi Uchiyama 7

8.

購入履歴の確認 ※ 注文履歴のスクショは後日取得したモノです ©2025 Takumi Uchiyama 8

9.

(- - )。。。 ©2025 Takumi Uchiyama 9

10.

メールから得られる情報 メールヘッダ

11.

メールヘッダを読む メールヘッダ ⚫ メールは「メールヘッダ」と「メール本文」からなる ⚫ メールヘッダには、メールの配送に関する様々な記録が書き込まれる ©2025 Takumi Uchiyama 11

12.

メールヘッダの例 ※ Gmailからucchi.info宛てに送った例です ※ ucchi.infoはさくらインターネットを使っています ©2025 Takumi Uchiyama 12

13.

メールヘッダを読む ©2025 Takumi Uchiyama 13

14.

メールヘッダを読む ©2025 Takumi Uchiyama 14

15.

Received:行 Received:行 ⚫ SMTPサーバがメールを受け取ったときに、そのSMTPサーバがメールヘッダへ書き込む  どのSTMPクライアント(どのIPアドレス)から来たか  どのSTMPサーバが受け取ったか ©2025 Takumi Uchiyama 15

16.

Received:行 追加 Received: from client01(10.0.0.2) by server01 From: [email protected] To: [email protected] Subject: ごあいさつ 追加 こんにちわ内山さん メール本文はろーわーるど From:[email protected] To:[email protected] client01 10.0.0.2 Received: from server01(198.51.100 .2) by server02 Received: from client01(10.0.0.2) by server01 From: [email protected] To: [email protected] Subject: ごあいさつ こんにちわ内山さん メール本文はろーわーるど From:[email protected] To:[email protected] server01 198.51.100.2 server02 203.0.113.1 ©2025 Takumi Uchiyama 16

17.

メールヘッダ ④ ③ ② ① ※ Gmailからucchi.info宛てに送った例です ©2025 Takumi Uchiyama 17

18.

Received:行と送信元IPアドレスの確認 2月6日のメール 1月28日のメール ©2025 Takumi Uchiyama 18

19.

IPアドレス調べてみた 2月6日の方のIPアドレス 1月28日の方のIPアドレス ©2025 Takumi Uchiyama 19

20.

迷惑メール対策技術

21.

SPF/DKIM/DMARC SPF ⚫ Sender Policy Framework ⚫ 「自分のドメインのメールはこのIPから送信される」ということをドメインの 管理者がDNS上のTXTレコードに定義する仕組み ⚫ エンベロープのFromに書かれているドメインについてチェック ⚫ 「正しいIPアドレスから送信されているか?」をチェックする仕組み DKIM ⚫ Domain Keys Identified Mail ⚫ 「自分のドメインのメールはこの公開鍵で署名を検証できるよ」ということを ドメインの管理者がDNSを使って定義する仕組み ⚫ 公開鍵暗号方式(秘密鍵+公開鍵)を使う ⚫ 「正しいメールサーバから送信されているか?」をチェックする仕組み ⚫ 「メールが改ざんされていないか?」をチェックする仕組み DMARC ⚫ Domain-based Message Authentication Reporting and conformance ⚫ DNSを使う ⚫ SPFやDKIMで「正しくない」と判断されたメールをどうするか?を受信 メールサーバ側で判断するのではなくて、ドメインの管理者が指定する 仕組み(+その結果をドメイン管理者へレポートする仕組み) ⚫ 「そのまま送れ」「SPAMボックスへいれろ」「破棄せよ」 ©2025 Takumi Uchiyama 21

22.

SPF (一致=正当なメール) ① @example.comのメールが送信される IPアドレスを、example.comの管理 者がDNSに登録しておく smtp.example.com 198.51.100.25 ②メールが送信される DNS01.example.com mail from: [email protected] rcpt to: [email protected] example.com. IN TXT "v=spf1 ip4:198.51.100.0/24 -all" エンベロープ(envelope) ③エンベロープFromのドメインについて調査 @example.comからメール来たけど 正しいIPアドレスはいくつ? "v=spf1 ip4:198.51.100.0/24 -all" ucchi.info xxx.xxx.128.215 ⑤比較する ④DNSから応答を得る ©2025 Takumi Uchiyama 22

23.

SPF (不一致=迷惑メール) 応答を改ざんするには このDNSを乗っ取る必要がある smtp.example.com 198.51.100.25 よく分からないホスト 203.0.113.25 mail from: [email protected] rcpt to: [email protected] DNS01.example.com example.com. IN TXT "v=spf1 ip4:198.51.100.0/24 -all" エンベロープ(envelope) @example.comからメール来たけど 正しいIPアドレスはいくつ? "v=spf1 ip4:198.51.100.0/24 -all" ucchi.info xxx.xxx.128.215 ©2025 Takumi Uchiyama 23

24.

公開鍵暗号方式(本人証明) 秘密鍵では戻せない 秘密鍵で暗号化したら公開鍵だけで戻せる 戻せた=秘密鍵を持っている人が暗号化した このデータは本人が作成したことで間違いない 平文 暗号文 秘密鍵 本人だけが持つ秘密 公開鍵 世界中の人に教えてOK 2つで1セット ちがう公開鍵 鍵が違うと戻せない ©2025 Takumi Uchiyama 24

25.

DKIM client01.example.com 10.0.0.1 送信側メールサーバがクライアントからメールを 受け取ったタイミングでメールの一部を暗号化 (デジタル署名)し、メールヘッダに追加する 暗号化 (デジタル署名) DKIM-Signature: d=example.com s=sl b=iQIzBAFBCnAdAiEYbZJpuLYkcPPHW8On RAwtqsqi1UMFAuiZy8IWCgjQRGwtssqt1U FWKo//u/gpw= Received: from client01.example. com(10.0.0.1) by smtp.example.com envelope-from [email protected] for [email protected] From: [email protected] To: [email protected] Subject: ごあいさつ こんにちわ内山さん メール本文はろーわーるど smtp.example.com 198.51.100.25 ©2025 Takumi Uchiyama 25

26.

DKIM ① ドメインの管理者は あらかじめ公開鍵を DNSに登録しておく DNS01.example.com smtp.example.com 198.51.100.25 ②メール送信 sl._domainkey.example.com. IN TXT "v=DKIM1;p="scBNCsjpv5RhgLaZ" ③ [email protected]の 公開鍵を取得 ucchi.info xxx.xxx.128.215 p="scBNCsjpv5RhgLaZ" ④ 暗号化(デジタル 署名)を復号して 一致するか検証 一致=正しいメール 不一致=怪しいメール DKIM-Signature: d=example.com s=sl b=iQIzBAFBCnAdAiEYbZJpuLYkcPPHW8On RAwtqsqi1UMFAuiZy8IWCgjQRGwtssqt1U FWKo//u/gpw= Received: from client01.example. com(10.0.0.1) by smtp.example.com envelope-from [email protected] for [email protected] From: [email protected] To: [email protected] Subject: ごあいさつ こんにちわ内山さん メール本文はろーわーるど ©2025 Takumi Uchiyama 26

27.

SPFの確認 2月6日のメール 1月28日のメール たまたまエンベロープFromが同じでした (ヘッダのReceived:行に記述されていてラッキー) ©2025 Takumi Uchiyama 27

28.

SPFの確認 2月6日のメールに一致 1月28日のメールに一致 ©2025 Takumi Uchiyama 28

29.

各種ツール ©2025 Takumi Uchiyama 29

30.

メールヘッダ(Gmailで受信した例) ©2025 Takumi Uchiyama 30

31.

結果 ⚫ メール本文 ⚫ メールヘッダのReceived: ⚫ DNSの逆引き ⚫ SPFのチェック ⚫ DKIMのチェック 偽URLなどは無かった IPアドレスは違っていたが... どちらもjcb.co.jp どちらも正しいIP 省略 5,900円の請求、 JCBからの正規メールで確定 ©2025 Takumi Uchiyama 31

32.

結局5,900円の請求はどうなった?

33.

カード会社へ電話する前にググってみた ©2025 Takumi Uchiyama 33

34.

Primeの確認 アカウント&リスト>アカウントサービス>プライム ©2025 Takumi Uchiyama 34

35.

まとめ

36.

不正請求・迷惑メール ⚫ 突然やってくる ⚫ 今回は結果的に正規のメール+正規の請求でしたが... ⚫ やっぱりかなりビビる。焦る。不安になる。 ➡ いざ自分の身に起こるといろいろ大事なことが「すこーん」と頭から飛んで行く ⚫ 人間の心理:不安から早く脱却したい ➡ でもそれに負けて「電話」したり「お金払ったり」すると被害になる ⚫ 他人に聞く(一人で何とかしようとしない) ➡ ググるのでもイイし ➡ 対話型・生成AIでもイイし ⚫ 自分は関係ない!ということはない ⚫ メールのチェック方法=自分の身の守り方 ©2025 Takumi Uchiyama 36

37.

Any Question?