パスワード付きファイル送信(PPAP)が何を守っているか脅威分析してみた

こんにちは、Japan Digital Designでセキュリティをやっている唐沢です。ネタもないのにJDD Advent Calendarに手を上げてしまったので、こちらの記事を書いています。
JDD Advent Calendar) https://adventar.org/calendars/5160

平井デジタル改革相の自動暗号化ZIPファイル廃止宣言を皮切りに、パスワード付きファイル送信の問題がにわかに盛り上がりを見せています。せっかくですので、セキュリティに携わる者としてこのトピックを取り上げたいと思います。ここでは以下のように用語を定義します。

パスワード付きファイル(PPAP)とは

この記事では、情報処理学会の座談会で紹介されていた定義を採用させていただきます。ちなみにPPAPの由来は、「(P)パスワード付きZIPファイルを送付 → (P) パスワードを送る → (A)暗号化 → (P) プロトコル」の略です。

1 通目にZIP を暗号化して添付ファイルを送って,2 通目でパスワードを送るというやり方です.2 つの軸があって,パスワードを同じ経路を送るか,違った経路で送るか.もう1 つは,すべての添付ファイルを暗号化するか,自分で判断して特定のファイルだけ暗号化するか.自動で添付ファイルを暗号化して送るソリューションを使うと,すべての添付ファイルを暗号化し,同じ経路でパスワードも送信することになる.これを,この議論ではPPAPと呼びたいと思います.

いまさらPPAPについて何を書くのか

世の中では「何故PPAPが生まれたのか」「何故やめるべきなのか」「どうすればやめられるのか」といった議論が花盛りなわけですが、そういった議論は他に譲りたいと思います。「PPAPはどういった脅威から何を守ろうとしていたのか」ということを考えたいと思います。それを考えることによって、今後PPAPをやめていく多くの組織で「安全に」やめるための参考になると思うからです。

PPAPは何を守ろうとしていたのか

PPAPが守ろうとしていたもの、それはメールによって送信されるファイルです。メールに添付したファイルを暗号化するのは、そのファイルを情報セキュリティ上の脅威から保護するのが目的でしょう。外部組織と共有するファイルと言い換えても良いかもしれませんが、ここではメールで送られるファイルのみを対象にしようと思います。では、メール送信するファイルに対する情報セキュリティ上の脅威とは何でしょうか?それを明らかにすることで、「PPAPはどういった脅威から何を守ろうとしていたのか」を明確にできるはずです。

STRIDEで脅威を分析

情報セキュリティ上の脅威を明らかにするために、すなわち脅威分析(Threat Modeling)を行います。その手法は様々ですが、ここでは脅威を洗い出す手法として代表的なSTRIDEを採用することにします。STRIDEは、Loren Kohnfelder 氏と Praerit Garg氏によって開発された脅威分析手法で、例えばMicrosoft社では同社の製品をセキュアに開発するために活用されています(参考)。
具体的には、脅威を以下の6つの観点で洗いだします。この観点を網羅的に検討することで漏れが少なくなると言われています。それぞれの観点の頭文字をとって「STRIDE」と名付けられています。
1. Spoofing / なりすまし
2. Tampering / 改ざん
3. Repudiation / 否認
4. Information Disclosure / 情報漏洩
5. Denial of Service / サービス妨害
6. Elevation of Privilege / 権限昇格

ファイルの外部共有に対する脅威分析

では、さっそく脅威分析をしてみましょう。本来はデータフロー図(Data Flow Diagram)を作成して要素ごとに分析するなど細かい手順があるのですが、今回は簡易的にやってみます。STRIDEの6つの観点に沿って、メールでファイルを送信する際にどういった脅威がありうるかを整理します。
具体的な検討の前に、以下の前提を置きたいと思います。

  • メールのシステムは信頼できるものとします。「メールシステムが乗っ取られる」等を挙げるときりがないためです。
  • 実際にPPAPによってこれらの脅威から守られていたかどうかは無視します。「PPAPが守ろうとしていた脅威」を挙げるのが目的ですので。
  • 現実的な発生可能性は無視します。例えば現代のメールは多くが暗号化通信されているので途中で盗み取られるという可能性は低いわけですが、可能性としてゼロではないのと、まさにそういった盗聴が怖いという建前でPPAPが生まれた背景もあるため、この前提を置きます。
  • メールを送信する側の組織の立場に立った脅威のみを対象とします。つまり、ファイルを共有された側の脅威については対象外とします。

(余談ですが、PPAPに対する批判の一つに「Emotetなどでメールに添付されるマルウェアがパスワード付き添付ファイルになっていて、ゲートウェイ製品の検知をすり抜けやすくなっているのでPPAPをやめるべきだ」というものがあります。これは個人的には筋の良くない議論だと思っていて、例えばPPAPの代わりにファイル共有サービスによるファイルの授受が一般的になったら、攻撃者はこれを悪用するだけだと思いますし、あまり本質的な議論ではないかなと思うのです。)

  1. Spoofing / なりすまし
    ・メールの送信先がなりすまされている(Aさんに送るつもりだったのに、BさんがAさんになりすましているようなケース)
  2. Tampering / 改ざん
    ・メールで送信したファイルが途中で盗み取られて改ざんされる
  3. Repudiation / 否認
    ・該当なし
    メールを送信したことの否認、ファイルを添付したことの否認ということはあり得ますが、前述したとおり「メールのシステムは信頼できる」という前提を置いているので、メールサーバーなどにログが残っていて送信したことの否認は考える必要はなさそうです。
  4. Information Disclosure / 情報漏洩
    ・メールで送信したファイルが伝送経路上で盗み取られて漏洩する
    ・メールを誤送信してファイルが漏洩する
  5. Denial of Service / サービス妨害
    ・該当なし
    (メールシステムは信頼できる前提のため)
  6. Elevation of Privilege / 権限昇格
    ・ファイルにアクセスする権限を奪取される(例えば、添付ファイルのパスワードが破られるなど。)

まとめ

この記事では、「PPAPはどういった脅威から何を守ろうとしていたのか」を明らかにすることを試みました。そのために、STRIDEという方式でメールでファイルを送信するという行為に対する脅威分析を行いました。結論として、「PPAPは以下の脅威からメールで送信するファイルを守ろうとしていた」ことが言えそうです。

  • 【なりすまし】メールの送信先がなりすまされている(Aさんに送るつもりだったのに、BさんがAさんになりすましているようなケース)
  • 【改ざん】メールで送信したファイルが途中で盗み取られて改ざんされる
  • 【情報漏洩】メールで送信したファイルが伝送経路上で盗み取られて漏洩する
  • 【情報漏洩】メールを誤送信してファイルが漏洩する
  • 【権限昇格】ファイルにアクセスする権限を奪取される(例えば、添付ファイルのパスワードが破られるなど。)

もし現在PPAPの代替サービスを考える場合、以上を参考にしていただき、それぞれの脅威に対してPPAPと比較して同等以上に保護される方式を検討いただくと良いでしょう。

最後に私の雑感としては、ここまで挙げた脅威が発生する可能性は低いのではないかと思います。現在のメールの伝送経路が大多数暗号化されているためです。よって、機密性が相当高いものを除いては、ファイルにパスワードなどつけずに、そのままメールに添付して送付しても良いのではないかと感じます。(元も子もない結論ですが。)

最後まで読んでいただき、ありがとうございました。

--

--

Yusuke Karasawa / 唐沢勇輔
Yusuke Karasawa / 唐沢勇輔

Written by Yusuke Karasawa / 唐沢勇輔

Security Engineer at Japan Digital Design, Inc.

No responses yet