8割解けるCTF「WEST-SEC」

セキュリティ初心者の方でも楽しめるゲーム形式のセキュリティイベント。CTFや勉強会の依頼があればご相談ください。

送信ドメイン認証

1.WEST-SEC セキュリティ勉強会概要

タイトル

「WEST-SEC セキュリティ勉強会概要#10 送信ドメイン認証(軽いハンズオン付き)」
または、「世界一わかりやすい送信ドメイン認証」

以下、ハンズオンの場合
好評をいただいていますWEST-SECのセキュリティ基礎勉強会ですが、今回は、送信ドメイン認証の勉強会を実施します。
ハンズオンと言えるかはわかりませんが、実際にメールを送受信して、メールヘッダにおけるSPFやDKIMなどの結果を確認してもらいたいと思います。
また、nslookupによって、送信元ドメイン認証のDNS設定を確認していただきます。

世界一わかりやすいの方が、集客効果があるかも。
その場合、ハンズオンは弱めで、初心者向けにわかりやすい内容にする(構成はこちらで考えます)

勉強会の目的

・迷惑メール対策としての送信ドメイン認証の理解を深める
・SPF、DKIM、DMARCの概要を理解する
・SPF、DKIMを設定しても、なぜAmazonや楽天などの迷惑メールが来るかを理解する
・SPF、DKIMの認証が、どんなときに失敗するかを理解する
・DMARCがなぜ有効な対策かを理解する
・実際に、ハンズオン(と言えるかわかりませんが)、メールのヘッダを見たり、nslookupを実行してDNS設定を行い、送信ドメイン認証の理解を深める。

参加対象者

・送信ドメイン認証を基礎から学びたい人★重要★
・SPF、DKIM、DMARCの言葉の意味、ITパスポートに登場するセキュリティの用語を概ね知っている(または当日までにさらっと勉強する)
・勉強会の運営に理解をしてくださり、協力していただける人
※2つ目に関しては、知っている前提で講義を進めます。

WEST-SECのこだわり

・初学者向けなので、初歩からしっかりと伝える。難しすぎない。
・ハンズオンによる勉強会。なるべく実機に触れてもらう。

講義スケジュール

適当に入れましたが、要相談

項番 時刻 内容
Program0 18:55~  Web会議の部屋を空けます。
Program1 19:00 ~ 19:30 SPF、DKIM、DMARC概要(30分) t-kasu
Program2 19:30 ~ 19:50 SPF、DKIMの認証が、どんなときに失敗するか(20分)
Program3 19:50 ~ 20:20 実際の設定を紹介(30分)twofive
Program4 20:20 ~ 20:50 ハンズオン?(30分) CATO社のエンジニア
アンケート記入
Program5 20:50 ~ 21:00 対策ソリューション紹介
アンケート記入
Program5 終了後 当日の感想をブログやfacebook、TwitterなどのSNSに投稿願います。

講義は、以下を使うつもりです。御社で公開しているサイトがあればそれを使わせてもらいます。
https://ent.iij.ad.jp/articles/172/

ハンズオンに関して、参加者ができそうな環境に関して、ご相談させていただきたいです。
AWS環境は準備できるので、皆さんにSSHでログインしてもらうことは可能です。
決めるべきは、日程、カリキュラム(特にハンズオン環境をどこまでできるか)、役割分担など

2.確認

・SPFやDKIMなどで言えることは、どこまでが言えるのか。
詳しく記載したい。そもそも送信元ドメイン認証は、「メール送信者がドメインの所有者であるかの確認」だと思っていて、加えて、DKIMだったらメールの改ざんなどになると思う。どこまでが判断できて、どこまではわからないか。Envelop-FromとHeader-Fromの具体的なフィッシングメールをもとに説明したい

・送信ドメイン認証とは何か。言葉の定義からしたほうがいい

・なりすまし対策とあるが、なりすましメールの定義も必要。いろいろななりすまし方法がある。それぞれのなりすましによって、SPFやDKIMなどによって、防げることと防げないことがあるはず。

3.DKIMの具体的なやりかた

Q.DKIM bタグ bh 検証方法 ハンズオンでやりたいが、その前にどういう検証をしているのかの理解が必要

・作成者署名と第三者署名の話
・DKIMの署名のやり方。メールヘッダとメールのボディの両方を署名します。エンベロープの情報は署名の対象外です。正規化方法には、simple relaxedがある。
どういう場合に正規なメールでもDKIMのエラーになるか、など

4.実際のメール

4.1 言葉の確認
送信元メールアドレスの種類 概要 コマンド
Envelope-FROM エンベロ-プの送信者メールアドレス MAIL FROMコマンド
Header-FROM メールデータ内のメールヘッダで指定される送信者メールアドレス DATAコマンド

4.2 攻撃者の考えで考える

たとえば、本物のamazonのメールに見せたいと思ってメールを送る
❶メールの表示名と送信元メールアドレスを偽造する

エンベロープ(Envelope-from) Return-Path:123456@fake.dom
メールヘッダ(Header-From) Subject:アカウント異常
From:Amazon.co.jp <admin@amazon.co.jp>

つまり、Header-Fromが偽物。
・この場合、攻撃者がSPFレコードとして、fake.domのメールサーバのIPアドレスを指定していれば、SPFはエラーにならない。

ゾーンファイル
 $ORIGIN fake.dom.
   IN   TXT  "v=spf1 ip4:203.0.113.25  ~all" ←IPアドレスを指定

・DKIMは、Header-Fromのadmin@amazon.co.jpという情報から、amazon.co.jpというドメインに対してTXTレコードを確認に行くのではなく、DKIM-Signatureの d=で指定している公開鍵で署名検証をします。(攻撃者によ第三者署名)。なので、攻撃者がd=fake.domを指定して第三者署名をしたら、DKIMではなりすましを判断できない。
・認証結果(攻撃者が細工)は以下

spf pass
DKIM pass

であれば、SPFやDKIMでは防げない。Envelope-fromとHeader-Fromを比較するDMARCが必要。

❷メールの表示名を偽装。送信元メールアドレスはもっともらしいドメインを使う(正規に取得)

エンベロープ(Envelope-from) Return-Path:123456@amadon.dom
メールヘッダ(Header-From) Subject:アカウント異常
From:Amazon.co.jp <admin@amadon.dom>

Envelope-from、Header-Fromは、(いかがわしいドメインであるが、)どちらも正規。正規なので、SPFもDKIMもpassしてしまう。
認証結果は以下

spf pass
DKIM pass

このメールは送信元ドメイン認証では防げない。DMARCでも、Envelope-fromとHeader-Fromが一致しているので、防げない。
BIMIという手法がある。
https://www.naritai.jp/technology_bimi.html

4.3 正規メールが届いた場合

本当に正規のメールだが、標的型メール訓練のように、若干あやしい。それと、知らないドメインからのメール

Envelope-from Return-Path:admin@kennko-center.dom
Header-From Subject:健康診断のお知らせ
From:健康センター

5.メーラでできるフィッシングメール対策

ThunderbirdやGmailなどを例に、具体的な設定を解説。Gmailはけっこうしっかりしているので、Thunderbirdでやったほうが、具体的な対策ができて、やりやすいかもしれない。