1.3K Views
September 01, 25
スライド概要
【第13回】サイバーセキュリティ勉強会2025夏 in 塩尻
https://shiojiri-cyber.connpass.com/event/348118/
🤔I'm a beginner.
とうとう俺のカードもやられたか... ~メールの真偽ってどうやって見極めてる?~ 信州大学情報基盤センター Takumi Uchiyama ©2025 Takumi Uchiyama
©2025 Takumi Uchiyama 2
それは突然やってきた
©2025 Takumi Uchiyama 4
!!?? ©2025 Takumi Uchiyama 5
最初にやったこと
比べてみた ©2025 Takumi Uchiyama 7
購入履歴の確認 ※ 注文履歴のスクショは後日取得したモノです ©2025 Takumi Uchiyama 8
(- - )。。。 ©2025 Takumi Uchiyama 9
メールから得られる情報 メールヘッダ
メールヘッダを読む メールヘッダ ⚫ メールは「メールヘッダ」と「メール本文」からなる ⚫ メールヘッダには、メールの配送に関する様々な記録が書き込まれる ©2025 Takumi Uchiyama 11
メールヘッダの例 ※ Gmailからucchi.info宛てに送った例です ※ ucchi.infoはさくらインターネットを使っています ©2025 Takumi Uchiyama 12
メールヘッダを読む ©2025 Takumi Uchiyama 13
メールヘッダを読む ©2025 Takumi Uchiyama 14
Received:行 Received:行 ⚫ SMTPサーバがメールを受け取ったときに、そのSMTPサーバがメールヘッダへ書き込む どのSTMPクライアント(どのIPアドレス)から来たか どのSTMPサーバが受け取ったか ©2025 Takumi Uchiyama 15
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
メールヘッダ ④ ③ ② ① ※ Gmailからucchi.info宛てに送った例です ©2025 Takumi Uchiyama 17
Received:行と送信元IPアドレスの確認 2月6日のメール 1月28日のメール ©2025 Takumi Uchiyama 18
IPアドレス調べてみた 2月6日の方のIPアドレス 1月28日の方のIPアドレス ©2025 Takumi Uchiyama 19
迷惑メール対策技術
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
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
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
公開鍵暗号方式(本人証明) 秘密鍵では戻せない 秘密鍵で暗号化したら公開鍵だけで戻せる 戻せた=秘密鍵を持っている人が暗号化した このデータは本人が作成したことで間違いない 平文 暗号文 秘密鍵 本人だけが持つ秘密 公開鍵 世界中の人に教えてOK 2つで1セット ちがう公開鍵 鍵が違うと戻せない ©2025 Takumi Uchiyama 24
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
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
SPFの確認 2月6日のメール 1月28日のメール たまたまエンベロープFromが同じでした (ヘッダのReceived:行に記述されていてラッキー) ©2025 Takumi Uchiyama 27
SPFの確認 2月6日のメールに一致 1月28日のメールに一致 ©2025 Takumi Uchiyama 28
各種ツール ©2025 Takumi Uchiyama 29
メールヘッダ(Gmailで受信した例) ©2025 Takumi Uchiyama 30
結果 ⚫ メール本文 ⚫ メールヘッダのReceived: ⚫ DNSの逆引き ⚫ SPFのチェック ⚫ DKIMのチェック 偽URLなどは無かった IPアドレスは違っていたが... どちらもjcb.co.jp どちらも正しいIP 省略 5,900円の請求、 JCBからの正規メールで確定 ©2025 Takumi Uchiyama 31
結局5,900円の請求はどうなった?
カード会社へ電話する前にググってみた ©2025 Takumi Uchiyama 33
Primeの確認 アカウント&リスト>アカウントサービス>プライム ©2025 Takumi Uchiyama 34
まとめ
不正請求・迷惑メール ⚫ 突然やってくる ⚫ 今回は結果的に正規のメール+正規の請求でしたが... ⚫ やっぱりかなりビビる。焦る。不安になる。 ➡ いざ自分の身に起こるといろいろ大事なことが「すこーん」と頭から飛んで行く ⚫ 人間の心理:不安から早く脱却したい ➡ でもそれに負けて「電話」したり「お金払ったり」すると被害になる ⚫ 他人に聞く(一人で何とかしようとしない) ➡ ググるのでもイイし ➡ 対話型・生成AIでもイイし ⚫ 自分は関係ない!ということはない ⚫ メールのチェック方法=自分の身の守り方 ©2025 Takumi Uchiyama 36
Any Question?