徳丸本の中の人 OWASP Japanアドバイザリーボード EGセキュアソリューションズ代表 IPA非常勤職員 脆弱性診断、WAFの販売・導入、セキュリティコンサルティングをやっています。
https://t.co/F0kveu1nJM

メールの添付ファイルを暗号化して、パスワードを別途メールする風習がありますが、セキュリティ対策としてどれほど有効なのでしょうか。
悪意あるものが任意のタイミングで通信を観測できる能力を保有するなら無意味なのは自明ですが、現実的にはどうなのでしょう。
私は手間暇の割に効果が薄いだろうと感じていましたが、IPAが一つの方法として提案していて驚きました。

2020/08/14 12:01

最近PPAP方式と揶揄的に言われる方式へのご質問ですね。すでに「PPAP ZIP」で検索すると優れた記事が読めますのでそちらを読んでいただければと思いますが、徳丸の考えを書きます。

この問題は突き詰めると脅威分析と脅威への対策という話になるのですが、その前提の脅威(メール盗聴に関連する脅威)の話が抜け落ちて対策(PPAP)のみが独り歩きしていると考えられます。

脅威とは何かですが、よく言われるように「メールは平文通信なので盗聴のリスクがある」ということですが、実はそんなに単純な話ではありません。メールが盗聴可能というのは以下の2つの脅威によるものです。

・通信路が平文なので通信路上で盗聴される
・メールメッセージは複数のメールサーバーを経由するので、中継サーバのどれかに悪意や脆弱性があればメールが漏洩する

しかし、歴史的にこれらは改善されつつあります。たとえば、Outlook.comの利用者がGmailの利用者にメールを送信する場合、暗号化された通信路のみを経由してメッセージが送られることを期待できます。なので、MicrosoftやGoogle社がメールを見ようとしなければ(かつNSAなどが盗聴の仕組みを仕込んでいなければ)メールの盗聴リスクはかなり低いと考えられます。

Yahoo!メールの場合はサーバー間のSMTP通信は暗号化されていないようですが、これを盗聴するとなるとかなり難易度が高くなります。おそらく技術的なスキル以外の強力な何か(経路上のネットワーク機器に細工をする等)がなければ、この経路での盗聴は困難だろうと思います。(一応の可能性としてDNSを狙った攻撃というのは考えられますが。)

このように、「メールが盗聴される理由」は改善されつつあり、「そんなに簡単に盗聴できるわけではない」というのが現状です。これはおそらく共通認識となっているはずです。世界的なウェブサービスの多くが、メールだけでパスワードリセットができます。仮に「メール盗聴し放題」なのであれば、第三者が簡単に他人のパスワードをリセットできてしまいますが、パスワードリセットの悪用事例はあものの、その大半が「メールのパスワードが甘かった」等の事由によるものであり、メールが通信路などで盗聴されたことによる事例は記憶にありません。

では、添付ファイルは暗号化しなくてよいのか。私は大抵の場合「暗号化しなくてもよい」と考えます。ウェブサービスのパスワードリセットの情報が平文メールで送られてくるのに、それより機密性の高いファイルがメールで送られてくることはまれでしょう。

最初のご質問の戻って、PPAPに効果があるかというお話でした。「悪意あるものが任意のタイミングで通信を観測できる能力を保有するなら」という前提はあまり意味がないというか、もしこの状況であれば非常に大変なことで、そこまでの事態は想定していないのではないでしょうか。そこまでではないにしても、例えばメールの送信者が誤って別人に送信してしまったなどは考えられます。その場合でも、PPAPにどこまで効果が期待できるかは疑問ですが、「ないよりはマシ」ということはありえます。

ということで、PPAPが想定する脅威と期待できる効果が明確でないまま方法のみが独り歩きしているのが現状だと思います。

ギフトサポートする

徳丸 浩

コメント

継続サポートするとコメントを閲覧、投稿することができます。

その他の投稿
仮想マシンを運用せずとも、WSL2でセキュリティの学習には十分ですか⁉︎
みそ汁は赤味噌と白味噌のどっちが好みですか?
逆にどんな質問をしてもらいたいですか?
ツイッター上で、「filetype 社外秘」と検索して閲覧している人がいましたが、これ不正アクセスでは無いのでしょうか?
先生はどのように思われますか?
ログインユーザ名を間違っただけでエラーにするサイトはセキュリティ的にどうなのでしょうか。

例えば、りそなダイレクトはユーザ名を間違えただけで次に進めなくなります。これだと、ユーザ名としてありうるアカウントを推測するのが容易だと思い心配です。

Unixのログインのように「ユーザ名、パスワード両方入れた上で判断」させた方が、クラッキング可能なユーザ名の特定機会は減らせるとおもいます。

もっとも、ログインインタフェースを作ってる人の一部は、このような思想を知ってても良さそうなのですが、実際はそうではない理由は何かあるのでしょうか。